From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH] KVM: fix calculation of initial value of rdx register Date: Tue, 14 Nov 2006 12:55:10 +0200 Message-ID: <4559A08E.7050206@qumranet.com> References: <20061106131502.BD90D2500A7@cleopatra.q> <200611091310.25066.mail@earthworm.de> <455326C3.90601@qumranet.com> <200611100909.32168.mail@earthworm.de> <45549FF0.8070207@qumranet.com> <45599D57.2090001@qumranet.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------000008070408000406050005" Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Return-path: To: "Hesse, Christian" In-Reply-To: <45599D57.2090001-atKUWr5tajBWk0Htik3J/w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org This is a multi-part message in MIME format. --------------000008070408000406050005 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Avi Kivity wrote: > > Please unpack the attached user.tar.gz, and: > > Now really attached. -- error compiling committee.c: too many arguments to function --------------000008070408000406050005 Content-Type: application/x-gzip; name="user.tar.gz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="user.tar.gz" dXNlci8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA3NTUA MDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMDAwADEwNTI2MzIwMTY2ADAxMDY1NwAgNQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyLy5rdm1jdGwuZAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDAxMjEA MTA1MjYzMTYxNTUAMDEyMzc3ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABk aXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGt2 bWN0bC5vOiBrdm1jdGwuYyBrdm1jdGwuaCBcCiAgL2hvbWUvYXZpL2t2bS1yZWxlYXNlL2tl cm5lbC9pbmNsdWRlL2xpbnV4L2t2bS5oCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci9jb25maWd1cmV+AAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMDEzADEw NTI0NjI0NTQ3ADAxMjc2MwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlz dGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIS9i aW4vc2gKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvdGVzdC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAwMDAwNzU1ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDAwMAAxMDUy NjMyMDE2NgAwMTE2MzYAIDUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3Rj YwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci90 ZXN0L3ZtLmMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMDc2 NAAwMDAwNzY0ADAwMDAwMDExMTQ1ADEwNTIyMzMwMDQ0ADAxMjQxNgAgMAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAKI2RlZmluZSBQQUdFX1NJWkUgNDA5NnVsCiNkZWZpbmUg TEFSR0VfUEFHRV9TSVpFICg1MTIgKiBQQUdFX1NJWkUpCgpzdGF0aWMgdm9pZCAqZnJlZSA9 IDA7CnN0YXRpYyB2b2lkICp2ZnJlZV90b3AgPSAwOwoKc3RhdGljIHVuc2lnbmVkIGxvbmcg dmlydF90b19waHlzKGNvbnN0IHZvaWQgKnZpcnQpIAp7IAogICAgcmV0dXJuICh1bnNpZ25l ZCBsb25nKXZpcnQ7Cn0KCnN0YXRpYyB2b2lkICpwaHlzX3RvX3ZpcnQodW5zaWduZWQgbG9u ZyBwaHlzKQp7CiAgICByZXR1cm4gKHZvaWQgKilwaHlzOwp9Cgp2b2lkICptZW1zZXQodm9p ZCAqZGF0YSwgaW50IGMsIHVuc2lnbmVkIGxvbmcgbGVuKQp7CiAgICBjaGFyICpzID0gZGF0 YTsKCiAgICB3aGlsZSAobGVuLS0pCgkqcysrID0gYzsKCiAgICByZXR1cm4gZGF0YTsKfQoK c3RhdGljIHZvaWQgZnJlZV9tZW1vcnkodm9pZCAqbWVtLCB1bnNpZ25lZCBsb25nIHNpemUp CnsKICAgIHdoaWxlIChzaXplID49IFBBR0VfU0laRSkgewoJKih2b2lkICoqKW1lbSA9IGZy ZWU7CglmcmVlID0gbWVtOwoJbWVtICs9IFBBR0VfU0laRTsKCXNpemUgLT0gUEFHRV9TSVpF OwogICAgfQp9Cgp2b2lkICphbGxvY19wYWdlKCkKewogICAgdm9pZCAqcDsKCiAgICBpZiAo IWZyZWUpCglyZXR1cm4gMDsKICAgIAogICAgcCA9IGZyZWU7CiAgICBmcmVlID0gKih2b2lk ICoqKWZyZWU7CgogICAgcmV0dXJuIHA7Cn0KCnZvaWQgZnJlZV9wYWdlKHZvaWQgKnBhZ2Up CnsKICAgICoodm9pZCAqKilwYWdlID0gZnJlZTsKICAgIGZyZWUgPSBwYWdlOwp9CgpleHRl cm4gY2hhciBlZGF0YSwgZW5kX29mX21lbW9yeTsKCiNkZWZpbmUgUFRFX1BSRVNFTlQgKDF1 bGwgPDwgMCkKI2RlZmluZSBQVEVfUFNFICAgICAoMXVsbCA8PCA3KQojZGVmaW5lIFBURV9X UklURSAgICgxdWxsIDw8IDEpCiNkZWZpbmUgUFRFX0FERFIgICAgKDB4ZmZmZmZmZmZmZjAw MHVsbCkKCnN0YXRpYyB2b2lkIGluc3RhbGxfcHRlKHVuc2lnbmVkIGxvbmcgKmNyMywgCgkJ CWludCBwdGVfbGV2ZWwsIAoJCQl2b2lkICp2aXJ0LAoJCQl1bnNpZ25lZCBsb25nIHB0ZSkK ewogICAgaW50IGxldmVsOwogICAgdW5zaWduZWQgbG9uZyAqcHQgPSBjcjM7CiAgICB1bnNp Z25lZCBvZmZzZXQ7CgogICAgZm9yIChsZXZlbCA9IDQ7IGxldmVsID4gcHRlX2xldmVsOyAt LWxldmVsKSB7CglvZmZzZXQgPSAoKHVuc2lnbmVkIGxvbmcpdmlydCA+PiAoKGxldmVsLTEp ICogOSArIDEyKSkgJiA1MTE7CglpZiAoIShwdFtvZmZzZXRdICYgUFRFX1BSRVNFTlQpKSB7 CgkgICAgdW5zaWduZWQgbG9uZyAqbmV3X3B0ID0gYWxsb2NfcGFnZSgpOwoJICAgIG1lbXNl dChuZXdfcHQsIDAsIFBBR0VfU0laRSk7CgkgICAgcHRbb2Zmc2V0XSA9IHZpcnRfdG9fcGh5 cyhuZXdfcHQpIHwgUFRFX1BSRVNFTlQgfCBQVEVfV1JJVEU7Cgl9CglwdCA9IHBoeXNfdG9f dmlydChwdFtvZmZzZXRdICYgMHhmZmZmZmZmZmZmMDAwdWxsKTsKICAgIH0KICAgIG9mZnNl dCA9ICgoKHVuc2lnbmVkIGxvbmcpdmlydCA+PiAoKGxldmVsLTEpICogOSkgKyAxMikpICYg NTExOwogICAgcHRbb2Zmc2V0XSA9IHB0ZTsKfQoKc3RhdGljIHVuc2lnbmVkIGxvbmcgZ2V0 X3B0ZSh1bnNpZ25lZCBsb25nICpjcjMsIHZvaWQgKnZpcnQpCnsKICAgIGludCBsZXZlbDsK ICAgIHVuc2lnbmVkIGxvbmcgKnB0ID0gY3IzLCBwdGU7CiAgICB1bnNpZ25lZCBvZmZzZXQ7 CgogICAgZm9yIChsZXZlbCA9IDQ7IGxldmVsID4gMTsgLS1sZXZlbCkgewoJb2Zmc2V0ID0g KCh1bnNpZ25lZCBsb25nKXZpcnQgPj4gKChsZXZlbC0xKSAqIDkgKyAxMikpICYgNTExOwoJ cHRlID0gcHRbb2Zmc2V0XTsKCWlmICghKHB0ZSAmIFBURV9QUkVTRU5UKSkKCSAgICByZXR1 cm4gMDsKCWlmIChsZXZlbCA9PSAyICYmIChwdGUgJiBQVEVfUFNFKSkKCSAgICByZXR1cm4g cHRlOwoJcHQgPSBwaHlzX3RvX3ZpcnQocHRlICYgMHhmZmZmZmZmZmZmMDAwdWxsKTsKICAg IH0KICAgIG9mZnNldCA9ICgoKHVuc2lnbmVkIGxvbmcpdmlydCA+PiAoKGxldmVsLTEpICog OSkgKyAxMikpICYgNTExOwogICAgcHRlID0gcHRbb2Zmc2V0XTsKICAgIHJldHVybiBwdGU7 Cn0KCnN0YXRpYyB2b2lkIGluc3RhbGxfbGFyZ2VfcGFnZSh1bnNpZ25lZCBsb25nICpjcjMs IAoJCQkgICAgICAgdW5zaWduZWQgbG9uZyBwaHlzLAoJCQkgICAgICAgdm9pZCAqdmlydCkK ewogICAgaW5zdGFsbF9wdGUoY3IzLCAyLCB2aXJ0LCBwaHlzIHwgUFRFX1BSRVNFTlQgfCBQ VEVfV1JJVEUgfCBQVEVfUFNFKTsKfQoKc3RhdGljIHZvaWQgaW5zdGFsbF9wYWdlKHVuc2ln bmVkIGxvbmcgKmNyMywgCgkJCSB1bnNpZ25lZCBsb25nIHBoeXMsCgkJCSB2b2lkICp2aXJ0 KQp7CiAgICBpbnN0YWxsX3B0ZShjcjMsIDEsIHZpcnQsIHBoeXMgfCBQVEVfUFJFU0VOVCB8 IFBURV9XUklURSk7Cn0KCnN0YXRpYyB2b2lkIGxvYWRfY3IzKHVuc2lnbmVkIGxvbmcgY3Iz KQp7CiAgICBhc20gKCAibW92ICUwLCAlJWNyMyIgOiA6ICJyIihjcjMpICk7Cn0KCnN0YXRp YyB1bnNpZ25lZCBsb25nIHJlYWRfY3IzKCkKewogICAgdW5zaWduZWQgbG9uZyBjcjM7Cgog ICAgYXNtIHZvbGF0aWxlICggIm1vdiAlJWNyMywgJTAiIDogIj1yIihjcjMpICk7CiAgICBy ZXR1cm4gY3IzOwp9CgpzdGF0aWMgdm9pZCBsb2FkX2NyMCh1bnNpZ25lZCBsb25nIGNyMCkK ewogICAgYXNtIHZvbGF0aWxlICggIm1vdiAlMCwgJSVjcjAiIDogOiAiciIoY3IwKSApOwp9 CgpzdGF0aWMgdW5zaWduZWQgbG9uZyByZWFkX2NyMCgpCnsKICAgIHVuc2lnbmVkIGxvbmcg Y3IwOwoKICAgIGFzbSB2b2xhdGlsZSAoICJtb3YgJSVjcjAsICUwIiA6ICI9ciIoY3IwKSAp OwogICAgcmV0dXJuIGNyMDsKfQoKc3RhdGljIHZvaWQgbG9hZF9jcjQodW5zaWduZWQgbG9u ZyBjcjQpCnsKICAgIGFzbSB2b2xhdGlsZSAoICJtb3YgJTAsICUlY3I0IiA6IDogInIiKGNy NCkgKTsKfQoKc3RhdGljIHVuc2lnbmVkIGxvbmcgcmVhZF9jcjQoKQp7CiAgICB1bnNpZ25l ZCBsb25nIGNyNDsKCiAgICBhc20gdm9sYXRpbGUgKCAibW92ICUlY3I0LCAlMCIgOiAiPXIi KGNyNCkgKTsKICAgIHJldHVybiBjcjQ7Cn0KCnN0cnVjdCBnZHRfdGFibGVfZGVzY3IKewog ICAgdW5zaWduZWQgc2hvcnQgbGVuOwogICAgdW5zaWduZWQgbG9uZyAqdGFibGU7Cn0gX19h dHRyaWJ1dGVfXygocGFja2VkKSk7CgpzdGF0aWMgdm9pZCBsb2FkX2dkdCh1bnNpZ25lZCBs b25nICp0YWJsZSwgaW50IG5lbnQpCnsKICAgIHN0cnVjdCBnZHRfdGFibGVfZGVzY3IgZGVz Y3I7CgogICAgZGVzY3IubGVuID0gbmVudCAqIDggLSAxOwogICAgZGVzY3IudGFibGUgPSB0 YWJsZTsKICAgIGFzbSB2b2xhdGlsZSAoICJsZ2R0ICUwIiA6IDogIm0iKGRlc2NyKSApOwp9 CgojZGVmaW5lIFNFR19DU18zMiA4CiNkZWZpbmUgU0VHX0NTXzY0IDE2CgpzdHJ1Y3QgbGpt cCB7CiAgICB2b2lkICpvZnM7CiAgICB1bnNpZ25lZCBzaG9ydCBzZWc7Cn07CgpzdGF0aWMg dm9pZCBzZXR1cF9tbXUodW5zaWduZWQgbG9uZyBsZW4pCnsKICAgIHVuc2lnbmVkIGxvbmcg KmNyMyA9IGFsbG9jX3BhZ2UoKTsKICAgIHVuc2lnbmVkIGxvbmcgcGh5cyA9IDA7CgogICAg bWVtc2V0KGNyMywgMCwgUEFHRV9TSVpFKTsKICAgIHdoaWxlIChwaHlzICsgTEFSR0VfUEFH RV9TSVpFIDw9IGxlbikgewoJaW5zdGFsbF9sYXJnZV9wYWdlKGNyMywgcGh5cywgKHZvaWQg KilwaHlzKTsKCXBoeXMgKz0gTEFSR0VfUEFHRV9TSVpFOwogICAgfQogICAgd2hpbGUgKHBo eXMgKyBQQUdFX1NJWkUgPD0gbGVuKSB7CglpbnN0YWxsX3BhZ2UoY3IzLCBwaHlzLCAodm9p ZCAqKXBoeXMpOwoJcGh5cyArPSBQQUdFX1NJWkU7CiAgICB9CiAgICAKICAgIGxvYWRfY3Iz KHZpcnRfdG9fcGh5cyhjcjMpKTsKICAgIHByaW50KCJwYWdpbmcgZW5hYmxlZFxuIik7Cn0K CnZvaWQgc2V0dXBfdm0oKQp7CiAgICBmcmVlX21lbW9yeSgmZWRhdGEsICZlbmRfb2ZfbWVt b3J5IC0gJmVkYXRhKTsKICAgIHNldHVwX21tdSgobG9uZykmZW5kX29mX21lbW9yeSk7Cn0K CnZvaWQgKnZtYWxsb2ModW5zaWduZWQgbG9uZyBzaXplKQp7CiAgICB2b2lkICptZW0sICpw OwogICAgdW5zaWduZWQgcGFnZXM7CgogICAgc2l6ZSArPSBzaXplb2YodW5zaWduZWQgbG9u Zyk7CiAgICAKICAgIHNpemUgPSAoc2l6ZSArIFBBR0VfU0laRSAtIDEpICYgfihQQUdFX1NJ WkUgLSAxKTsKICAgIHZmcmVlX3RvcCAtPSBzaXplOwogICAgbWVtID0gcCA9IHZmcmVlX3Rv cDsKICAgIHBhZ2VzID0gc2l6ZSAvIFBBR0VfU0laRTsKICAgIHdoaWxlIChwYWdlcy0tKSB7 CglpbnN0YWxsX3BhZ2UocGh5c190b192aXJ0KHJlYWRfY3IzKCkpLCB2aXJ0X3RvX3BoeXMo YWxsb2NfcGFnZSgpKSwgcCk7CglwICs9IFBBR0VfU0laRTsKICAgIH0KICAgICoodW5zaWdu ZWQgbG9uZyAqKW1lbSA9IHNpemU7CiAgICBtZW0gKz0gc2l6ZW9mKHVuc2lnbmVkIGxvbmcp OwogICAgcmV0dXJuIG1lbTsKfQoKdm9pZCAqdmZyZWUodm9pZCAqbWVtKQp7CiAgICB1bnNp Z25lZCBsb25nIHNpemUgPSAoKHVuc2lnbmVkIGxvbmcgKiltZW0pWy0xXTsKICAgIAogICAg d2hpbGUgKHNpemUpIHsKCWZyZWVfcGFnZShwaHlzX3RvX3ZpcnQoZ2V0X3B0ZShwaHlzX3Rv X3ZpcnQocmVhZF9jcjMoKSksIG1lbSkgJiBQVEVfQUREUikpOwoJbWVtICs9IFBBR0VfU0la RTsKCXNpemUgLT0gUEFHRV9TSVpFOwogICAgfQp9CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAHVzZXIvdGVzdC9zaW1wbGUuUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAwMDAwNjQ0ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDE3MwAxMDUyMjMzMDA0NAAwMTMy NDQAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0 YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgkudGV4dAoKCW1vdiAkMCwg JWFsCgltb3YgJDEwMDAwLCAlZWJ4CjE6Cgltb3YgJXJieCwgJXJjeAoyOgkKCWxvb3AgMmIK CW91dCAlYWwsICQweDgwCglpbmMgJWFsCglhZGQgJDEwMDAwLCAlcmJ4CglqbXAgMWIKAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAB1c2VyL3Rlc3QvaXJxLlMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA MDAwMDY0NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDMwMTcAMTA1MjIzMzAwNDQAMDEyNTQ2 ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFy ICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8vIGlycSB0ZXN0IHByb2dyYW0u ICBhc3N1bWVzIG91dGIgJGlycSwgJDB4ZmYgZ2VuZXJhdGVzIGFuIGludGVycnVwdCAkaXJx LgoKI2luY2x1ZGUgInByaW50LmgiCgkKLnRleHQKCVBSSU5UICJpcnEgdGVzdCIKCW1vdiAk c3RhY2tfdG9wLCAlcnNwCgoJY2FsbCBzZXR1cF9nZHQKCQoJbW92ICVkcywgJWF4Cgltb3Yg JWF4LCAlZHMgIC8vIGNoZWNrIGRzIGRlc2NyaXB0b3IgaXMgb2theQoKCW1vdiAkaXJxX2hh bmRsZXIsICVyZHgKCW1vdiAkMHgyMCwgJWVheAoJY2FsbCBzZXR1cF9pZHRfZW50cnkKCgls aWR0IGlkdF9kZXNjcmlwdG9yCgoJUFJJTlQgInNvZnR3YXJlIGludGVycnVwdCIKCWludCAk MHgyMAoKCXN0aQoJbm9wCgoJUFJJTlQgImluamVjdGluZyBpbnRlcnJ1cHQgd2l0aCBpbnRl cnJ1cHRzIGVuYWJsZWQiCgkKCW1vdiAkMHgyMCwgJWFsCglvdXRiICVhbCwgJDB4ZmYgLy8g aW5qZWN0IGludGVycnVwdAoKCW5vcAoJbm9wCglub3AKCVBSSU5UICJhZnRlciBpbmplY3Rp b24iCgoJY2xpCgoJUFJJTlQgImluamVjdGluZyBpbnRlcnJ1cHQgd2l0aCBpbnRlcnJ1cHRz IGRpc2FibGVkIgoJCgltb3YgJDB4MjAsICVhbAoJb3V0YiAlYWwsICQweGZmIC8vIGluamVj dCBpbnRlcnJ1cHQKCgkvLyBubyBpbnRlcnJ1cHQgaGVyZSAoZGlzYWJsZWQpCglub3AKCW5v cAoJUFJJTlQgImVuYWJsaW5nIGludGVycnVwdHMiCglub3AKCW5vcAoJc3RpCglvdXQgJWFs LCAkMHg4MCAvLyBibG9ja2VkIGJ5IHN0aQoJLy8gaW50ZXJydXB0IGhlcmUKCW91dCAlYWws ICQweDgwIAoKCVBSSU5UICJhZnRlciBpbmplY3Rpb24iCglub3AKCW5vcAoJCglobHQKCQpp cnFfaGFuZGxlcjoKCVBSSU5UICJpbnRlcnJ1cHQgaGFuZGxlciIKCWlyZXRxCgkKc2V0dXBf aWR0X2VudHJ5OgkvLyAlcmF4OiBpcnEgJXJkeDogaGFuZGxlcgoJc2hsICQ0LCAlcmF4Cglt b3YgJWR4LCBpZHQoJXJheCkKCXNociAkMTYsICVyZHgKCW1vdiAlY3MsIDIraWR0KCVyYXgp Cgltb3YgJWR4LCA2K2lkdCglcmF4KQoJc2hyICQxNiwgJXJkeAoJbW92ICVlZHgsIDgraWR0 KCVyYXgpCgltb3Z3ICQweDhlMDAsIDQraWR0KCVyYXgpCglyZXQKCnNldHVwX2dkdDoKCW1v diAkMCwgJWVheAoJbW92ICVjcywgJWF4CglhbmRsICR+NywgJWVheAoJbW92bCAkMHhmZmZm LCBnZHQoJXJheCkKCW1vdmwgJDB4YWY5YjAwLCA0K2dkdCglcmF4KQoKCW1vdiAkMCwgJWVh eAoJbW92ICVkcywgJWF4CglhbmRsICR+NywgJWVheAoJbW92bCAkMHhmZmZmLCBnZHQoJXJh eCkKCW1vdmwgJDB4OGY5MzAwLCA0K2dkdCglcmF4KQoKCWxnZHQgZ2R0X2Rlc2NyaXB0b3IK CXJldAoJCi5kYXRhCgkKLmFsaWduIDE2CgppZHQ6CQoJLiA9IC4gKyAyNTYgKiAxNgoKaWR0 X2Rlc2NyaXB0b3I6Cgkud29yZCAuIC0gaWR0IC0gMQoJLnF1YWQgaWR0CgouYWxpZ24gOAoJ CmdkdDoKCS4gPSAuICsgMjU2ICogOAoKZ2R0X2Rlc2NyaXB0b3I6Cgkud29yZCAuIC0gZ2R0 IC0gMQoJLnF1YWQgZ2R0IAoKCQouYWxpZ24gNDA5NgpzdGFja19iYXNlOgoJLiA9IC4gKyA0 MDk2CnN0YWNrX3RvcDoKCQoKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci90ZXN0Ly52bS5kAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAw MDI1ADEwNTIyMzMxMjI3ADAxMjQ3NAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAB0ZXN0L3ZtLm86IHRlc3Qvdm0uYwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvdGVzdC9wcmludC5oAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDIz NQAxMDUyMjMzMDA0NAAwMTMxMzMAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA I2lmbmRlZiBQUklOVF9ICiNkZWZpbmUgUFJJTlRfSAoKLm1hY3JvIFBSSU5UIHRleHQKCi5k YXRhCgozMzM6IC5hc2NpeiAiXHRleHRcbiIKCi5wcmV2aW91cwoKCXB1c2ggJXJkaQoJbGVh IDMzM2IsICVyZGkKCWNhbGwgcHJpbnQKCXBvcCAlcmRpCgouZW5kbQoKI2VuZGlmCgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyL3Rlc3QvbWVtdGVzdDEuUwAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDEyMDAA MTA1MjIzMzAwNDQAMDEzNTAyACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABk aXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50 ZXh0CgkKc3RhcnQ6Cgltb3YgICAgJDB4MTAwMCwlcjgKCW1vdiAgICAkMHgwYSwlZWN4Cgpp bml0X3BhZ2U6CglkZWMgICAgJWVjeAoJam5lICAgIG5vX2lvCgltb3YgICAgJDB4MCwlYWwK CW91dCAgICAlYWwsJDB4ODAKCW1vdiAgICAkMHgwYSwlZWN4Cgpub19pbzoKCW1vdiAgICAl cjgsKCVyOCkKCWFkZCAgICAkMHgxMDAwLCVyOAoJY21wICAgICQweDgwMDAwMDAsJXI4Cglq bmUgICAgaW5pdF9wYWdlCgltb3YgICAgJDB4MTAwMCwlcjgKCW1vdiAgICAkMHgwYSwlZWN4 Cgp0ZXN0X2xvb3A6CglkZWMgICAgJWVjeAoJam5lICAgIG5vX2lvMgoJbW92ICAgICQweDAs JWFsCglvdXQgICAgJWFsLCQweDgwCgltb3YgICAgJDB4MGEsJWVjeAoKbm9faW8yOgoJbW92 ICAgICglcjgpLCVyOQoJY21wICAgICVyOCwlcjkKCWpuZSAgICBlcnIKCWFkZCAgICAkMHgx MDAwLCVyOAoJY21wICAgICQweDgwMDAwMDAsJXI4CglqbmUgICAgdGVzdF9sb29wCgltb3Yg ICAgJDB4MTAwMCwlcjgKCWptcCAgICB0ZXN0X2xvb3AKCmVycjoKCW1vdiAgICAkMHhmZmZm ZmZmZmZmZmZmZmZmLCVyMTIKCW1vdiAgICAkMHhmZmZmZmZmZmZmZmZmZmZmLCVyMTMKCW1v diAgICAkMHgwLCVhbAoJb3V0ICAgICVhbCwkMHg4MAoJam1wICAgIGVycgoAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2Vy L3Rlc3QvdGVzdDMyLlMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAw NzY0ADAwMDA3NjQAMDAwMDAwMDAwNzMAMTA1MjYzMTQxMzAAMDEzMTAwACAwAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5jb2RlMzIKCi50ZXh0CgoxOgoJbW92ICQweDEyLCAl YWwKCW91dCAlYWwsICQweDgwCglqbXAgMWIKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci90 ZXN0Ly5zdm4vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA3NTUAMDAwMDc2 NAAwMDAwNzY0ADAwMDAwMDAwMDAwADEwNTI2MzE3NDAxADAxMjUyMAAgNQAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyL3Rlc3QvLnN2bi9SRUFETUUudHh0AAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDAxNjYAMTA1MjIz MzAwNDQAMDE0MjExACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFRoaXMgaXMg YSBTdWJ2ZXJzaW9uIHdvcmtpbmcgY29weSBhZG1pbmlzdHJhdGl2ZSBkaXJlY3RvcnkuClZp c2l0IGh0dHA6Ly9zdWJ2ZXJzaW9uLnRpZ3Jpcy5vcmcvIGZvciBtb3JlIGluZm9ybWF0aW9u LgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAdXNlci90ZXN0Ly5zdm4vdGV4dC1iYXNlLwAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAADAwMDA3NTUAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMDAwADEwNTI2MzE3 NDAwADAxNDQxMwAgNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyL3Rlc3Qv LnN2bi90ZXh0LWJhc2Uvc2lldmUuYy5zdm4tYmFzZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAwNzY0ADAw MDA3NjQAMDAwMDAwMDIzNjMAMTA1MjIzMzAwNDQAMDE3NDA0ACAwAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAACNpbmNsdWRlICJ2bS5oIgoKdm9pZCBwcmludChjb25zdCBjaGFy ICp0ZXh0KTsKCnZvaWQgcHJpbnRpKGludCBuKQp7CiAgICBjaGFyIGJ1ZlsxMF0sICpwID0g YnVmOwogICAgaW50IHMgPSAwLCBpOwogICAgCiAgICBpZiAobiA8IDApIHsKCW4gPSAtbjsK CXMgPSAxOwogICAgfQoKICAgIHdoaWxlIChuKSB7CgkqcCsrID0gJzAnICsgbiAlIDEwOwoJ biAvPSAxMDsKICAgIH0KICAgIAogICAgaWYgKHMpCgkqcCsrID0gJy0nOwoKICAgIGlmIChw ID09IGJ1ZikKCSpwKysgPSAnMCc7CiAgICAKICAgIGZvciAoaSA9IDA7IGkgPCAocCAtIGJ1 ZikgLyAyOyArK2kpIHsKCWNoYXIgdG1wOwoKCXRtcCA9IGJ1ZltpXTsKCWJ1ZltpXSA9IHBb LTEtaV07CglwWy0xLWldID0gdG1wOwogICAgfQoKICAgICpwID0gMDsKCiAgICBwcmludChi dWYpOwp9CgppbnQgc2lldmUoY2hhciogZGF0YSwgaW50IHNpemUpCnsKICAgIGludCBpLCBq LCByID0gMDsKCiAgICBmb3IgKGkgPSAwOyBpIDwgc2l6ZTsgKytpKQoJZGF0YVtpXSA9IDE7 CgogICAgZGF0YVswXSA9IGRhdGFbMV0gPSAwOwoKICAgIGZvciAoaSA9IDI7IGkgPCBzaXpl OyArK2kpCglpZiAoZGF0YVtpXSkgewoJICAgICsrcjsKCSAgICBmb3IgKGogPSBpKjI7IGog PCBzaXplOyBqICs9IGkpCgkJZGF0YVtqXSA9IDA7Cgl9CiAgICByZXR1cm4gcjsKfQoKdm9p ZCB0ZXN0X3NpZXZlKGNvbnN0IGNoYXIgKm1zZywgY2hhciAqZGF0YSwgaW50IHNpemUpCnsK ICAgIGludCByOwoKICAgIHByaW50KG1zZyk7CiAgICBwcmludCgiOiAiKTsKICAgIHIgPSBz aWV2ZShkYXRhLCBzaXplKTsKICAgIHByaW50aShyKTsKICAgIHByaW50KCJcbiIpOwp9Cgoj ZGVmaW5lIFNUQVRJQ19TSVpFIDEwMDAwMDAKI2RlZmluZSBWU0laRSAxMDAwMDAwMDAKY2hh ciBzdGF0aWNfZGF0YVtTVEFUSUNfU0laRV07CgppbnQgbWFpbigpCnsKICAgIHZvaWQgKnY7 CiAgICBpbnQgaTsKCiAgICBwcmludCgic3RhcnRpbmcgc2lldmVcbiIpOwogICAgdGVzdF9z aWV2ZSgic3RhdGljIiwgc3RhdGljX2RhdGEsIFNUQVRJQ19TSVpFKTsKICAgIHNldHVwX3Zt KCk7CiAgICBwcmludCgibWFwcGVkOiAiKTsKICAgIHRlc3Rfc2lldmUoIm1hcHBlZCIsIHN0 YXRpY19kYXRhLCBTVEFUSUNfU0laRSk7CiAgICBmb3IgKGkgPSAwOyBpIDwgMzA7ICsraSkg ewoJdiA9IHZtYWxsb2MoVlNJWkUpOwoJdGVzdF9zaWV2ZSgidmlydHVhbCIsIHYsIFZTSVpF KTsKCXZmcmVlKHYpOwogICAgfQogICAgCiAgICByZXR1cm4gMDsKfQoAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvdGVzdC8uc3Zu L3RleHQtYmFzZS9wcmludC5oLnN2bi1iYXNlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNDQ0ADAwMDA3NjQAMDAwMDc2 NAAwMDAwMDAwMDIzNQAxMDUyMjMzMDA0NAAwMTc0MjYAIDAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAI2lmbmRlZiBQUklOVF9ICiNkZWZpbmUgUFJJTlRfSAoKLm1hY3JvIFBS SU5UIHRleHQKCi5kYXRhCgozMzM6IC5hc2NpeiAiXHRleHRcbiIKCi5wcmV2aW91cwoKCXB1 c2ggJXJkaQoJbGVhIDMzM2IsICVyZGkKCWNhbGwgcHJpbnQKCXBvcCAlcmRpCgouZW5kbQoK I2VuZGlmCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyL3Rlc3QvLnN2bi90 ZXh0LWJhc2Uvc2ltcGxlLlMuc3ZuLWJhc2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAwNzY0ADAwMDA3NjQA MDAwMDAwMDAxNzMAMTA1MjIzMzAwNDQAMDE3NTM3ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAoJLnRleHQKCgltb3YgJDAsICVhbAoJbW92ICQxMDAwMCwgJWVieAoxOgoJ bW92ICVyYngsICVyY3gKMjoJCglsb29wIDJiCglvdXQgJWFsLCAkMHg4MAoJaW5jICVhbAoJ YWRkICQxMDAwMCwgJXJieAoJam1wIDFiCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci90ZXN0Ly5zdm4vdGV4 dC1iYXNlL2NzdGFydC5TLnN2bi1iYXNlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA0NDQAMDAwMDc2NAAwMDAwNzY0ADAw MDAwMDAwMTU0ADEwNTIyMzMwMDQ0ADAxNzU0NQAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAKCi5ic3MKCgkuID0gLiArIDQwOTYKCS5hbGlnbiAxNgpzdGFja3RvcDoKCi5z ZWN0aW9uIC5pbml0CglsZWEgc3RhY2t0b3AsICVyc3AKCWNhbGwgbWFpbgoxOglobHQKCWpt cCAxYgoJCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvdGVzdC8uc3ZuL3RleHQt YmFzZS9tZW10ZXN0MS5TLnN2bi1iYXNlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNDQ0ADAwMDA3NjQAMDAwMDc2NAAwMDAw MDAwMTIwMAAxMDUyMjMzMDA0NAAwMTc3NzUAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAALnRleHQKCQpzdGFydDoKCW1vdiAgICAkMHgxMDAwLCVyOAoJbW92ICAgICQweDBh LCVlY3gKCmluaXRfcGFnZToKCWRlYyAgICAlZWN4CglqbmUgICAgbm9faW8KCW1vdiAgICAk MHgwLCVhbAoJb3V0ICAgICVhbCwkMHg4MAoJbW92ICAgICQweDBhLCVlY3gKCm5vX2lvOgoJ bW92ICAgICVyOCwoJXI4KQoJYWRkICAgICQweDEwMDAsJXI4CgljbXAgICAgJDB4ODAwMDAw MCwlcjgKCWpuZSAgICBpbml0X3BhZ2UKCW1vdiAgICAkMHgxMDAwLCVyOAoJbW92ICAgICQw eDBhLCVlY3gKCnRlc3RfbG9vcDoKCWRlYyAgICAlZWN4CglqbmUgICAgbm9faW8yCgltb3Yg ICAgJDB4MCwlYWwKCW91dCAgICAlYWwsJDB4ODAKCW1vdiAgICAkMHgwYSwlZWN4Cgpub19p bzI6Cgltb3YgICAgKCVyOCksJXI5CgljbXAgICAgJXI4LCVyOQoJam5lICAgIGVycgoJYWRk ICAgICQweDEwMDAsJXI4CgljbXAgICAgJDB4ODAwMDAwMCwlcjgKCWpuZSAgICB0ZXN0X2xv b3AKCW1vdiAgICAkMHgxMDAwLCVyOAoJam1wICAgIHRlc3RfbG9vcAoKZXJyOgoJbW92ICAg ICQweGZmZmZmZmZmZmZmZmZmZmYsJXIxMgoJbW92ICAgICQweGZmZmZmZmZmZmZmZmZmZmYs JXIxMwoJbW92ICAgICQweDAsJWFsCglvdXQgICAgJWFsLCQweDgwCglqbXAgICAgZXJyCgAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAHVzZXIvdGVzdC8uc3ZuL3RleHQtYmFzZS9zdHJpbmdpby5TLnN2bi1iYXNlAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAw NDQ0ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDQ2NwAxMDUyMjMzMDA0NAAwMjAxMTIAIDAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABh dmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACi5kYXRhCgoubWFjcm8gc3RyIG5hbWUs IHZhbHVlCgpcbmFtZSA6CS5sb25nIDFmLTJmCjI6CS5hc2NpaSAiXHZhbHVlIgoxOgkKLmVu ZG0JCgoJc3RyICJmb3J3YXJkIiwgImZvcndhcmQiCglzdHIgImJhY2t3YXJkIiwgImJhY2t3 YXJkIgoJCQoudGV4dAoKCgljbGQKCW1vdmwgZm9yd2FyZCwgJWVjeAoJbGVhICA0K2Zvcndh cmQsICVyc2kKCW1vdncgJDEsICVkeAoJcmVwIG91dHNiCgoJc3RkCgltb3ZsIGJhY2t3YXJk LCAlZWN4CglsZWEgNCtiYWNrd2FyZC0xKCVyY3gpLCAlcnNpCgltb3Z3ICQyLCAlZHgKCXJl cCBvdXRzYgoJCglobHQKCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAB1c2VyL3Rlc3QvLnN2bi90ZXh0LWJhc2Uvdm0uaC5zdm4tYmFzZQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDQ0 NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDAxNTcAMTA1MjIzMzAwNDQAMDE2NzE3ACAwAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZp AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACNpZm5kZWYgVk1fSAojZGVmaW5lIFZNX0gK CnZvaWQgc2V0dXBfdm0oKTsKCnZvaWQgKnZtYWxsb2ModW5zaWduZWQgbG9uZyBzaXplKTsK dm9pZCB2ZnJlZSh2b2lkICptZW0pOwoKI2VuZGlmCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA dXNlci90ZXN0Ly5zdm4vdGV4dC1iYXNlL2lycS5TLnN2bi1iYXNlAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA0NDQA MDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAzMDE3ADEwNTIyMzMwMDQ0ADAxNzA0MQAgMAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvLyBpcnEgdGVzdCBwcm9ncmFtLiAgYXNzdW1l cyBvdXRiICRpcnEsICQweGZmIGdlbmVyYXRlcyBhbiBpbnRlcnJ1cHQgJGlycS4KCiNpbmNs dWRlICJwcmludC5oIgoJCi50ZXh0CglQUklOVCAiaXJxIHRlc3QiCgltb3YgJHN0YWNrX3Rv cCwgJXJzcAoKCWNhbGwgc2V0dXBfZ2R0CgkKCW1vdiAlZHMsICVheAoJbW92ICVheCwgJWRz ICAvLyBjaGVjayBkcyBkZXNjcmlwdG9yIGlzIG9rYXkKCgltb3YgJGlycV9oYW5kbGVyLCAl cmR4Cgltb3YgJDB4MjAsICVlYXgKCWNhbGwgc2V0dXBfaWR0X2VudHJ5CgoJbGlkdCBpZHRf ZGVzY3JpcHRvcgoKCVBSSU5UICJzb2Z0d2FyZSBpbnRlcnJ1cHQiCglpbnQgJDB4MjAKCglz dGkKCW5vcAoKCVBSSU5UICJpbmplY3RpbmcgaW50ZXJydXB0IHdpdGggaW50ZXJydXB0cyBl bmFibGVkIgoJCgltb3YgJDB4MjAsICVhbAoJb3V0YiAlYWwsICQweGZmIC8vIGluamVjdCBp bnRlcnJ1cHQKCglub3AKCW5vcAoJbm9wCglQUklOVCAiYWZ0ZXIgaW5qZWN0aW9uIgoKCWNs aQoKCVBSSU5UICJpbmplY3RpbmcgaW50ZXJydXB0IHdpdGggaW50ZXJydXB0cyBkaXNhYmxl ZCIKCQoJbW92ICQweDIwLCAlYWwKCW91dGIgJWFsLCAkMHhmZiAvLyBpbmplY3QgaW50ZXJy dXB0CgoJLy8gbm8gaW50ZXJydXB0IGhlcmUgKGRpc2FibGVkKQoJbm9wCglub3AKCVBSSU5U ICJlbmFibGluZyBpbnRlcnJ1cHRzIgoJbm9wCglub3AKCXN0aQoJb3V0ICVhbCwgJDB4ODAg Ly8gYmxvY2tlZCBieSBzdGkKCS8vIGludGVycnVwdCBoZXJlCglvdXQgJWFsLCAkMHg4MCAK CglQUklOVCAiYWZ0ZXIgaW5qZWN0aW9uIgoJbm9wCglub3AKCQoJaGx0CgkKaXJxX2hhbmRs ZXI6CglQUklOVCAiaW50ZXJydXB0IGhhbmRsZXIiCglpcmV0cQoJCnNldHVwX2lkdF9lbnRy eToJLy8gJXJheDogaXJxICVyZHg6IGhhbmRsZXIKCXNobCAkNCwgJXJheAoJbW92ICVkeCwg aWR0KCVyYXgpCglzaHIgJDE2LCAlcmR4Cgltb3YgJWNzLCAyK2lkdCglcmF4KQoJbW92ICVk eCwgNitpZHQoJXJheCkKCXNociAkMTYsICVyZHgKCW1vdiAlZWR4LCA4K2lkdCglcmF4KQoJ bW92dyAkMHg4ZTAwLCA0K2lkdCglcmF4KQoJcmV0CgpzZXR1cF9nZHQ6Cgltb3YgJDAsICVl YXgKCW1vdiAlY3MsICVheAoJYW5kbCAkfjcsICVlYXgKCW1vdmwgJDB4ZmZmZiwgZ2R0KCVy YXgpCgltb3ZsICQweGFmOWIwMCwgNCtnZHQoJXJheCkKCgltb3YgJDAsICVlYXgKCW1vdiAl ZHMsICVheAoJYW5kbCAkfjcsICVlYXgKCW1vdmwgJDB4ZmZmZiwgZ2R0KCVyYXgpCgltb3Zs ICQweDhmOTMwMCwgNCtnZHQoJXJheCkKCglsZ2R0IGdkdF9kZXNjcmlwdG9yCglyZXQKCQou ZGF0YQoJCi5hbGlnbiAxNgoKaWR0OgkKCS4gPSAuICsgMjU2ICogMTYKCmlkdF9kZXNjcmlw dG9yOgoJLndvcmQgLiAtIGlkdCAtIDEKCS5xdWFkIGlkdAoKLmFsaWduIDgKCQpnZHQ6Cgku ID0gLiArIDI1NiAqIDgKCmdkdF9kZXNjcmlwdG9yOgoJLndvcmQgLiAtIGdkdCAtIDEKCS5x dWFkIGdkdCAKCgkKLmFsaWduIDQwOTYKc3RhY2tfYmFzZToKCS4gPSAuICsgNDA5NgpzdGFj a190b3A6CgkKCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvdGVzdC8uc3ZuL3RleHQtYmFzZS9wcmludC5T LnN2bi1iYXNlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAwMDAwNDQ0ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDQ0NAAxMDUy MjMzMDA0NAAwMTc0MDMAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3Rj YwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACiNpbmNs dWRlICJwcmludC5oIgoKI2RlZmluZSBQU0VVRE9fU0VSSUFMX1BPUlQgMHhmMQoKCQoudGV4 dAoJUFJJTlQgImJvbyIKCWhsdAoxOglqbXAgMWIKCQouZ2xvYmwgcHJpbnQKcHJpbnQ6Cglw dXNoICVyYXgKCXB1c2ggJXJzaQoJcHVzaCAlcmR4CgoJbW92ICVyZGksICVyc2kKCW1vdiAk UFNFVURPX1NFUklBTF9QT1JULCAlZWR4CgpwdXRjaGFyOgoJY21wYiAkMCwgKCVyc2kpCglq eiBkb25lCglvdXRzYgoJam1wIHB1dGNoYXIKZG9uZToKCQoJcG9wICVyZHgKCXBvcCAlcnNp Cglwb3AgJXJheAoJcmV0CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyL3Rlc3QvLnN2bi90ZXh0LWJhc2UvYm9vdHN0cmFw LlMuc3ZuLWJhc2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDEyMDUAMTA1MjIz MzAwNDQAMDIwMjYwACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMKIyBtaW5p bWFsIGJvb3RzdHJhcCB0byBzZXQgdXAgZmxhdCAzMi1iaXQgcHJvdGVjdGVkIG1vZGUKIwoJ CmJzdGFydCA9IDB4ZjAwMDAKCQouY29kZTE2CgpzdGFydDoKCWNzIGxpZHRsIGlkdF9kZXNj CgljcyBsZ2R0bCBnZHRfZGVzYwoJbW92ICVjcjAsICVlYXgKCW9yICQxLCAlZWF4Cgltb3Yg JWVheCwgJWNyMAoJbGptcGwgJDgsICRwbW9kZSArIGJzdGFydApwbW9kZToKLmNvZGUzMgkK CW1vdiAkMHgxMCwgJWF4Cgltb3YgJWF4LCAlZHMKCW1vdiAlYXgsICVlcwoJbW92ICVheCwg JWZzCgltb3YgJWF4LCAlZ3MKCW1vdiAlYXgsICVzcwoJbW92ICQweGEwMDAwLCAlZXNwCgls am1wICQ4LCAkMHgxMDAwMDAKCi5hbGlnbiAxNgoJCmlkdF9kZXNjOgoJLndvcmQgMAoJLmxv bmcgMAoKZ2R0X2Rlc2M6Cgkud29yZCBnZHRfZW5kIC0gZ2R0IC0gMQoJLmxvbmcgZ2R0ICsg YnN0YXJ0CgouYWxpZ24gMTYKCmdkdDoKCS5xdWFkIDAKCS5xdWFkIDB4MDBjZjliMDAwMDAw ZmZmZiAjIGZsYXQgMzItYml0IGNvZGUgc2VnbWVudAoJLnF1YWQgMHgwMGNmOTMwMDAwMDBm ZmZmICMgZmxhdCAzMi1iaXQgZGF0YSBzZWdtZW50CmdkdF9lbmQ6CgkKLiA9IDB4ZmZmMAoJ LmNvZGUxNgoJbGptcCAkMHhmMDAwLCAkc3RhcnQKLmFsaWduIDY1NTM2CgAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyL3Rlc3Qv LnN2bi90ZXh0LWJhc2UvdGVzdDMyLlMuc3ZuLWJhc2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAwNzY0ADAw MDA3NjQAMDAwMDAwMDAwNzMAMTA1MjYzMTczNzcAMDE3NDEzACAwAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAC5jb2RlMzIKCi50ZXh0CgoxOgoJbW92ICQweDEyLCAlYWwKCW91 dCAlYWwsICQweDgwCglqbXAgMWIKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci90ZXN0Ly5z dm4vdGV4dC1iYXNlL2NzdGFydDY0LlMuc3ZuLWJhc2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA0NDQAMDAwMDc2NAAwMDAw NzY0ADAwMDAwMDAxMjY1ADEwNTIyMzMwMDQ0ADAxNzcyMwAgMAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAKCi5ic3MKCgkuID0gLiArIDQwOTYKCS5hbGlnbiAxNgpzdGFja3Rv cDoKCi5kYXRhCgkJCi5hbGlnbiA0MDk2CnB0bDI6CmkgPSAwCgkucmVwdCA1MTIKCS5xdWFk IDB4MWUzIHwgKGkgPDwgMjEpCglpID0gaSArIDEKCS5lbmRyCgouYWxpZ24gNDA5NgpwdGwz OgoJLnF1YWQgcHRsMiArIDMKCi5hbGlnbiA0MDk2CnB0bDQ6CgkucXVhZCBwdGwzICsgMwoJ Ci5hbGlnbiA0MDk2CgpnZHQ2NF9kZXNjOgoJLndvcmQgZ2R0NjRfZW5kIC0gZ2R0NjQgLSAx CgkucXVhZCBnZHQ2NAoKZ2R0NjQ6CgkucXVhZCAwCgkucXVhZCAweDAwYWY5YjAwMDAwMGZm ZmYgIyA2NC1iaXQgY29kZSBzZWdtZW50CmdkdDY0X2VuZDoKCQouc2VjdGlvbiAuaW5pdAoK LmNvZGUzMgoJbGdkdCBnZHQ2NF9kZXNjCgkKCW1vdiAlY3I0LCAlZWF4CglidHMgJDUsICVl YXggICMgcGFlCgltb3YgJWVheCwgJWNyNAoKCW1vdiAkcHRsNCwgJWVheAoJbW92ICVlYXgs ICVjcjMKCmVmZXIgPSAweGMwMDAwMDgwCgltb3YgJGVmZXIsICVlY3gKCXJkbXNyCglidHMg JDgsICVlYXgKCXdybXNyCgoJbW92ICVjcjAsICVlYXgKCWJ0cyAkMCwgJWVheAoJYnRzICQz MSwgJWVheAoJbW92ICVlYXgsICVjcjAKCQoJam1wbCAkOCwgJHN0YXJ0NjQKCi5jb2RlNjQK c3RhcnQ2NDoJCglsZWEgc3RhY2t0b3AsICVyc3AKCWNhbGwgbWFpbgoxOglobHQKCWptcCAx YgoJCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAdXNlci90ZXN0Ly5zdm4vdGV4dC1iYXNlL3ZtLmMuc3ZuLWJhc2UAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAADAwMDA0NDQAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDExMTQ1ADEwNTIyMzMwMDQ0ADAx NjcxMQAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1 c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKI2RlZmluZSBQQUdFX1NJ WkUgNDA5NnVsCiNkZWZpbmUgTEFSR0VfUEFHRV9TSVpFICg1MTIgKiBQQUdFX1NJWkUpCgpz dGF0aWMgdm9pZCAqZnJlZSA9IDA7CnN0YXRpYyB2b2lkICp2ZnJlZV90b3AgPSAwOwoKc3Rh dGljIHVuc2lnbmVkIGxvbmcgdmlydF90b19waHlzKGNvbnN0IHZvaWQgKnZpcnQpIAp7IAog ICAgcmV0dXJuICh1bnNpZ25lZCBsb25nKXZpcnQ7Cn0KCnN0YXRpYyB2b2lkICpwaHlzX3Rv X3ZpcnQodW5zaWduZWQgbG9uZyBwaHlzKQp7CiAgICByZXR1cm4gKHZvaWQgKilwaHlzOwp9 Cgp2b2lkICptZW1zZXQodm9pZCAqZGF0YSwgaW50IGMsIHVuc2lnbmVkIGxvbmcgbGVuKQp7 CiAgICBjaGFyICpzID0gZGF0YTsKCiAgICB3aGlsZSAobGVuLS0pCgkqcysrID0gYzsKCiAg ICByZXR1cm4gZGF0YTsKfQoKc3RhdGljIHZvaWQgZnJlZV9tZW1vcnkodm9pZCAqbWVtLCB1 bnNpZ25lZCBsb25nIHNpemUpCnsKICAgIHdoaWxlIChzaXplID49IFBBR0VfU0laRSkgewoJ Kih2b2lkICoqKW1lbSA9IGZyZWU7CglmcmVlID0gbWVtOwoJbWVtICs9IFBBR0VfU0laRTsK CXNpemUgLT0gUEFHRV9TSVpFOwogICAgfQp9Cgp2b2lkICphbGxvY19wYWdlKCkKewogICAg dm9pZCAqcDsKCiAgICBpZiAoIWZyZWUpCglyZXR1cm4gMDsKICAgIAogICAgcCA9IGZyZWU7 CiAgICBmcmVlID0gKih2b2lkICoqKWZyZWU7CgogICAgcmV0dXJuIHA7Cn0KCnZvaWQgZnJl ZV9wYWdlKHZvaWQgKnBhZ2UpCnsKICAgICoodm9pZCAqKilwYWdlID0gZnJlZTsKICAgIGZy ZWUgPSBwYWdlOwp9CgpleHRlcm4gY2hhciBlZGF0YSwgZW5kX29mX21lbW9yeTsKCiNkZWZp bmUgUFRFX1BSRVNFTlQgKDF1bGwgPDwgMCkKI2RlZmluZSBQVEVfUFNFICAgICAoMXVsbCA8 PCA3KQojZGVmaW5lIFBURV9XUklURSAgICgxdWxsIDw8IDEpCiNkZWZpbmUgUFRFX0FERFIg ICAgKDB4ZmZmZmZmZmZmZjAwMHVsbCkKCnN0YXRpYyB2b2lkIGluc3RhbGxfcHRlKHVuc2ln bmVkIGxvbmcgKmNyMywgCgkJCWludCBwdGVfbGV2ZWwsIAoJCQl2b2lkICp2aXJ0LAoJCQl1 bnNpZ25lZCBsb25nIHB0ZSkKewogICAgaW50IGxldmVsOwogICAgdW5zaWduZWQgbG9uZyAq cHQgPSBjcjM7CiAgICB1bnNpZ25lZCBvZmZzZXQ7CgogICAgZm9yIChsZXZlbCA9IDQ7IGxl dmVsID4gcHRlX2xldmVsOyAtLWxldmVsKSB7CglvZmZzZXQgPSAoKHVuc2lnbmVkIGxvbmcp dmlydCA+PiAoKGxldmVsLTEpICogOSArIDEyKSkgJiA1MTE7CglpZiAoIShwdFtvZmZzZXRd ICYgUFRFX1BSRVNFTlQpKSB7CgkgICAgdW5zaWduZWQgbG9uZyAqbmV3X3B0ID0gYWxsb2Nf cGFnZSgpOwoJICAgIG1lbXNldChuZXdfcHQsIDAsIFBBR0VfU0laRSk7CgkgICAgcHRbb2Zm c2V0XSA9IHZpcnRfdG9fcGh5cyhuZXdfcHQpIHwgUFRFX1BSRVNFTlQgfCBQVEVfV1JJVEU7 Cgl9CglwdCA9IHBoeXNfdG9fdmlydChwdFtvZmZzZXRdICYgMHhmZmZmZmZmZmZmMDAwdWxs KTsKICAgIH0KICAgIG9mZnNldCA9ICgoKHVuc2lnbmVkIGxvbmcpdmlydCA+PiAoKGxldmVs LTEpICogOSkgKyAxMikpICYgNTExOwogICAgcHRbb2Zmc2V0XSA9IHB0ZTsKfQoKc3RhdGlj IHVuc2lnbmVkIGxvbmcgZ2V0X3B0ZSh1bnNpZ25lZCBsb25nICpjcjMsIHZvaWQgKnZpcnQp CnsKICAgIGludCBsZXZlbDsKICAgIHVuc2lnbmVkIGxvbmcgKnB0ID0gY3IzLCBwdGU7CiAg ICB1bnNpZ25lZCBvZmZzZXQ7CgogICAgZm9yIChsZXZlbCA9IDQ7IGxldmVsID4gMTsgLS1s ZXZlbCkgewoJb2Zmc2V0ID0gKCh1bnNpZ25lZCBsb25nKXZpcnQgPj4gKChsZXZlbC0xKSAq IDkgKyAxMikpICYgNTExOwoJcHRlID0gcHRbb2Zmc2V0XTsKCWlmICghKHB0ZSAmIFBURV9Q UkVTRU5UKSkKCSAgICByZXR1cm4gMDsKCWlmIChsZXZlbCA9PSAyICYmIChwdGUgJiBQVEVf UFNFKSkKCSAgICByZXR1cm4gcHRlOwoJcHQgPSBwaHlzX3RvX3ZpcnQocHRlICYgMHhmZmZm ZmZmZmZmMDAwdWxsKTsKICAgIH0KICAgIG9mZnNldCA9ICgoKHVuc2lnbmVkIGxvbmcpdmly dCA+PiAoKGxldmVsLTEpICogOSkgKyAxMikpICYgNTExOwogICAgcHRlID0gcHRbb2Zmc2V0 XTsKICAgIHJldHVybiBwdGU7Cn0KCnN0YXRpYyB2b2lkIGluc3RhbGxfbGFyZ2VfcGFnZSh1 bnNpZ25lZCBsb25nICpjcjMsIAoJCQkgICAgICAgdW5zaWduZWQgbG9uZyBwaHlzLAoJCQkg ICAgICAgdm9pZCAqdmlydCkKewogICAgaW5zdGFsbF9wdGUoY3IzLCAyLCB2aXJ0LCBwaHlz IHwgUFRFX1BSRVNFTlQgfCBQVEVfV1JJVEUgfCBQVEVfUFNFKTsKfQoKc3RhdGljIHZvaWQg aW5zdGFsbF9wYWdlKHVuc2lnbmVkIGxvbmcgKmNyMywgCgkJCSB1bnNpZ25lZCBsb25nIHBo eXMsCgkJCSB2b2lkICp2aXJ0KQp7CiAgICBpbnN0YWxsX3B0ZShjcjMsIDEsIHZpcnQsIHBo eXMgfCBQVEVfUFJFU0VOVCB8IFBURV9XUklURSk7Cn0KCnN0YXRpYyB2b2lkIGxvYWRfY3Iz KHVuc2lnbmVkIGxvbmcgY3IzKQp7CiAgICBhc20gKCAibW92ICUwLCAlJWNyMyIgOiA6ICJy IihjcjMpICk7Cn0KCnN0YXRpYyB1bnNpZ25lZCBsb25nIHJlYWRfY3IzKCkKewogICAgdW5z aWduZWQgbG9uZyBjcjM7CgogICAgYXNtIHZvbGF0aWxlICggIm1vdiAlJWNyMywgJTAiIDog Ij1yIihjcjMpICk7CiAgICByZXR1cm4gY3IzOwp9CgpzdGF0aWMgdm9pZCBsb2FkX2NyMCh1 bnNpZ25lZCBsb25nIGNyMCkKewogICAgYXNtIHZvbGF0aWxlICggIm1vdiAlMCwgJSVjcjAi IDogOiAiciIoY3IwKSApOwp9CgpzdGF0aWMgdW5zaWduZWQgbG9uZyByZWFkX2NyMCgpCnsK ICAgIHVuc2lnbmVkIGxvbmcgY3IwOwoKICAgIGFzbSB2b2xhdGlsZSAoICJtb3YgJSVjcjAs ICUwIiA6ICI9ciIoY3IwKSApOwogICAgcmV0dXJuIGNyMDsKfQoKc3RhdGljIHZvaWQgbG9h ZF9jcjQodW5zaWduZWQgbG9uZyBjcjQpCnsKICAgIGFzbSB2b2xhdGlsZSAoICJtb3YgJTAs ICUlY3I0IiA6IDogInIiKGNyNCkgKTsKfQoKc3RhdGljIHVuc2lnbmVkIGxvbmcgcmVhZF9j cjQoKQp7CiAgICB1bnNpZ25lZCBsb25nIGNyNDsKCiAgICBhc20gdm9sYXRpbGUgKCAibW92 ICUlY3I0LCAlMCIgOiAiPXIiKGNyNCkgKTsKICAgIHJldHVybiBjcjQ7Cn0KCnN0cnVjdCBn ZHRfdGFibGVfZGVzY3IKewogICAgdW5zaWduZWQgc2hvcnQgbGVuOwogICAgdW5zaWduZWQg bG9uZyAqdGFibGU7Cn0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CgpzdGF0aWMgdm9pZCBs b2FkX2dkdCh1bnNpZ25lZCBsb25nICp0YWJsZSwgaW50IG5lbnQpCnsKICAgIHN0cnVjdCBn ZHRfdGFibGVfZGVzY3IgZGVzY3I7CgogICAgZGVzY3IubGVuID0gbmVudCAqIDggLSAxOwog ICAgZGVzY3IudGFibGUgPSB0YWJsZTsKICAgIGFzbSB2b2xhdGlsZSAoICJsZ2R0ICUwIiA6 IDogIm0iKGRlc2NyKSApOwp9CgojZGVmaW5lIFNFR19DU18zMiA4CiNkZWZpbmUgU0VHX0NT XzY0IDE2CgpzdHJ1Y3QgbGptcCB7CiAgICB2b2lkICpvZnM7CiAgICB1bnNpZ25lZCBzaG9y dCBzZWc7Cn07CgpzdGF0aWMgdm9pZCBzZXR1cF9tbXUodW5zaWduZWQgbG9uZyBsZW4pCnsK ICAgIHVuc2lnbmVkIGxvbmcgKmNyMyA9IGFsbG9jX3BhZ2UoKTsKICAgIHVuc2lnbmVkIGxv bmcgcGh5cyA9IDA7CgogICAgbWVtc2V0KGNyMywgMCwgUEFHRV9TSVpFKTsKICAgIHdoaWxl IChwaHlzICsgTEFSR0VfUEFHRV9TSVpFIDw9IGxlbikgewoJaW5zdGFsbF9sYXJnZV9wYWdl KGNyMywgcGh5cywgKHZvaWQgKilwaHlzKTsKCXBoeXMgKz0gTEFSR0VfUEFHRV9TSVpFOwog ICAgfQogICAgd2hpbGUgKHBoeXMgKyBQQUdFX1NJWkUgPD0gbGVuKSB7CglpbnN0YWxsX3Bh Z2UoY3IzLCBwaHlzLCAodm9pZCAqKXBoeXMpOwoJcGh5cyArPSBQQUdFX1NJWkU7CiAgICB9 CiAgICAKICAgIGxvYWRfY3IzKHZpcnRfdG9fcGh5cyhjcjMpKTsKICAgIHByaW50KCJwYWdp bmcgZW5hYmxlZFxuIik7Cn0KCnZvaWQgc2V0dXBfdm0oKQp7CiAgICBmcmVlX21lbW9yeSgm ZWRhdGEsICZlbmRfb2ZfbWVtb3J5IC0gJmVkYXRhKTsKICAgIHNldHVwX21tdSgobG9uZykm ZW5kX29mX21lbW9yeSk7Cn0KCnZvaWQgKnZtYWxsb2ModW5zaWduZWQgbG9uZyBzaXplKQp7 CiAgICB2b2lkICptZW0sICpwOwogICAgdW5zaWduZWQgcGFnZXM7CgogICAgc2l6ZSArPSBz aXplb2YodW5zaWduZWQgbG9uZyk7CiAgICAKICAgIHNpemUgPSAoc2l6ZSArIFBBR0VfU0la RSAtIDEpICYgfihQQUdFX1NJWkUgLSAxKTsKICAgIHZmcmVlX3RvcCAtPSBzaXplOwogICAg bWVtID0gcCA9IHZmcmVlX3RvcDsKICAgIHBhZ2VzID0gc2l6ZSAvIFBBR0VfU0laRTsKICAg IHdoaWxlIChwYWdlcy0tKSB7CglpbnN0YWxsX3BhZ2UocGh5c190b192aXJ0KHJlYWRfY3Iz KCkpLCB2aXJ0X3RvX3BoeXMoYWxsb2NfcGFnZSgpKSwgcCk7CglwICs9IFBBR0VfU0laRTsK ICAgIH0KICAgICoodW5zaWduZWQgbG9uZyAqKW1lbSA9IHNpemU7CiAgICBtZW0gKz0gc2l6 ZW9mKHVuc2lnbmVkIGxvbmcpOwogICAgcmV0dXJuIG1lbTsKfQoKdm9pZCAqdmZyZWUodm9p ZCAqbWVtKQp7CiAgICB1bnNpZ25lZCBsb25nIHNpemUgPSAoKHVuc2lnbmVkIGxvbmcgKilt ZW0pWy0xXTsKICAgIAogICAgd2hpbGUgKHNpemUpIHsKCWZyZWVfcGFnZShwaHlzX3RvX3Zp cnQoZ2V0X3B0ZShwaHlzX3RvX3ZpcnQocmVhZF9jcjMoKSksIG1lbSkgJiBQVEVfQUREUikp OwoJbWVtICs9IFBBR0VfU0laRTsKCXNpemUgLT0gUEFHRV9TSVpFOwogICAgfQp9CgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvdGVzdC8uc3ZuL3Byb3AtYmFzZS8A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNzU1ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDAw MAAxMDUyMjMzMDA0NAAwMTQ0MDIAIDUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA dXNlci90ZXN0Ly5zdm4vcHJvcC1iYXNlL3NpZXZlLmMuc3ZuLWJhc2UAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA0NDQA MDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMDAwADEwNTIyMzMwMDQ0ADAxNzM2MgAgMAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyL3Rlc3QvLnN2bi9wcm9wLWJhc2UvcHJp bnQuaC5zdm4tYmFzZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDAwMDAA MTA1MjIzMzAwNDQAMDE3NDEwACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABk aXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVz ZXIvdGVzdC8uc3ZuL3Byb3AtYmFzZS9zaW1wbGUuUy5zdm4tYmFzZQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNDQ0ADAw MDA3NjQAMDAwMDc2NAAwMDAwMDAwMDAwMAAxMDUyMjMzMDA0NAAwMTc1MjAAIDAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABhdmkAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci90ZXN0Ly5zdm4vcHJvcC1iYXNlL2NzdGFy dC5TLnN2bi1iYXNlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAADAwMDA0NDQAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMDAwADEw NTIyMzMwMDQ0ADAxNzUyNwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlz dGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2Vy L3Rlc3QvLnN2bi9wcm9wLWJhc2UvbWVtdGVzdDEuUy5zdm4tYmFzZQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAw NzY0ADAwMDA3NjQAMDAwMDAwMDAwMDAAMTA1MjIzMzAwNDQAMDE3NzY2ACAwAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvdGVzdC8uc3ZuL3Byb3AtYmFzZS9zdHJpbmdp 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAHVzZXIvdGVzdC8uc3ZuL3Byb3AtYmFzZS92bS5jLnN2bi1iYXNl AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAwMDAwNDQ0ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDAwMAAxMDUyMjMzMDA0 NAAwMTY2NzEAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci90ZXN0Ly5z dm4vZm9ybWF0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA0NDQAMDAwMDc2NAAwMDAw NzY0ADAwMDAwMDAwMDAyADEwNTIyMzMwMDQ0ADAxMzcxMwAgMAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA0CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvdGVzdC8uc3Zu L3RtcC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNzU1ADAwMDA3NjQAMDAwMDc2 NAAwMDAwMDAwMDAwMAAxMDUyNjMxNzQwMAAwMTMzMTcAIDUAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAdXNlci90ZXN0Ly5zdm4vdG1wL3RleHQtYmFzZS8AAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAADAwMDA3NTUAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMDAwADEwNTI2MzE3NDAwADAx NTIxMwAgNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1 c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyL3Rlc3QvLnN2bi90 bXAvcHJvcC1iYXNlLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDc1NQAwMDAwNzY0ADAwMDA3NjQA MDAwMDAwMDAwMDAAMTA1MjIzMzAwNDQAMDE1MjAyACA1AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAHVzZXIvdGVzdC8uc3ZuL3RtcC93Y3Byb3BzLwAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAwMDAwNzU1ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDAwMAAxMDUyMjMzMDA0NAAwMTUw MDcAIDUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0 YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci90ZXN0Ly5zdm4vdG1w L3Byb3BzLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA3NTUAMDAwMDc2NAAwMDAwNzY0ADAw MDAwMDAwMDAwADEwNTIyMzMwMDQ0ADAxNDQ1NQAgNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAB1c2VyL3Rlc3QvLnN2bi9lbnRyaWVzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA MDAwMDQ0NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDczNzYAMTA1MjYzMTc0MDAAMDE0MTI2 ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFy ICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADw/eG1sIHZlcnNpb249IjEuMCIg ZW5jb2Rpbmc9InV0Zi04Ij8+Cjx3Yy1lbnRyaWVzCiAgIHhtbG5zPSJzdm46Ij4KPGVudHJ5 CiAgIGNvbW1pdHRlZC1yZXY9IjMyNTAiCiAgIG5hbWU9IiIKICAgY29tbWl0dGVkLWRhdGU9 IjIwMDYtMTAtMjNUMTA6NTA6NTMuNzQxOTA5WiIKICAgdXJsPSJzdm46Ly9jbGVvcGF0cmEu cS9zdm4va3ZtL2JyYW5jaGVzL3JlbGVhc2UvdXNlci90ZXN0IgogICBsYXN0LWF1dGhvcj0i YXZpIgogICBraW5kPSJkaXIiCiAgIHV1aWQ9IjFlMzk0NGVlLTIwZjctMDMxMC1iMzYwLWMw Njk4OWVmNzliZSIKICAgcmVwb3M9InN2bjovL2NsZW9wYXRyYS5xL3N2biIKICAgcmV2aXNp b249IjM1MzkiLz4KPGVudHJ5CiAgIGNvbW1pdHRlZC1yZXY9IjIzNDUiCiAgIG5hbWU9InN0 cmluZ2lvLlMiCiAgIHRleHQtdGltZT0iMjAwNi0xMS0wMlQwODo0NToyNC4wMDAwMDBaIgog ICBjb21taXR0ZWQtZGF0ZT0iMjAwNi0wNy0xMFQxNDoyMToxNy4wOTMyMjVaIgogICBjaGVj a3N1bT0iMWFhODViZmE4MjdmYjliMDExNGQ0OTU0NjFjYmI1OWIiCiAgIGxhc3QtYXV0aG9y PSJhdmkiCiAgIGtpbmQ9ImZpbGUiCiAgIHByb3AtdGltZT0iMjAwNi0xMS0wMlQwODo0NToy NC4wMDAwMDBaIi8+CjxlbnRyeQogICBjb21taXR0ZWQtcmV2PSIyMzQ1IgogICBuYW1lPSJt ZW10ZXN0MS5TIgogICB0ZXh0LXRpbWU9IjIwMDYtMTEtMDJUMDg6NDU6MjQuMDAwMDAwWiIK ICAgY29tbWl0dGVkLWRhdGU9IjIwMDYtMDctMTBUMTQ6MjE6MTcuMDkzMjI1WiIKICAgY2hl Y2tzdW09IjIwNGRlOWJhMmYxZDIzMjk2Y2E3NThmOWViNzIxOGQwIgogICBsYXN0LWF1dGhv cj0iYXZpIgogICBraW5kPSJmaWxlIgogICBwcm9wLXRpbWU9IjIwMDYtMTEtMDJUMDg6NDU6 MjQuMDAwMDAwWiIvPgo8ZW50cnkKICAgY29tbWl0dGVkLXJldj0iMjg5NiIKICAgbmFtZT0i Y3N0YXJ0LlMiCiAgIHRleHQtdGltZT0iMjAwNi0xMS0wMlQwODo0NToyNC4wMDAwMDBaIgog ICBjb21taXR0ZWQtZGF0ZT0iMjAwNi0wOS0wNFQwODo0ODo1Ny43NDYzMzBaIgogICBjaGVj a3N1bT0iMzUzOGIyM2JlNTVlYjJlODA4NTE2NTQwODY3NzVjMTAiCiAgIGxhc3QtYXV0aG9y PSJhdmkiCiAgIGtpbmQ9ImZpbGUiCiAgIHByb3AtdGltZT0iMjAwNi0xMS0wMlQwODo0NToy NC4wMDAwMDBaIi8+CjxlbnRyeQogICBjb21taXR0ZWQtcmV2PSIyNzM1IgogICBuYW1lPSJw cmludC5oIgogICB0ZXh0LXRpbWU9IjIwMDYtMTEtMDJUMDg6NDU6MjQuMDAwMDAwWiIKICAg Y29tbWl0dGVkLWRhdGU9IjIwMDYtMDgtMTVUMTQ6NTE6NTIuMjM2NTY2WiIKICAgY2hlY2tz dW09ImJlNmZmYTZlMDg0MTA0OWEzMTljYzJiZDQ3M2NjYjAwIgogICBsYXN0LWF1dGhvcj0i YXZpIgogICBraW5kPSJmaWxlIgogICBwcm9wLXRpbWU9IjIwMDYtMTEtMDJUMDg6NDU6MjQu MDAwMDAwWiIvPgo8ZW50cnkKICAgY29tbWl0dGVkLXJldj0iMzI1MCIKICAgbmFtZT0idm0u YyIKICAgdGV4dC10aW1lPSIyMDA2LTExLTAyVDA4OjQ1OjI0LjAwMDAwMFoiCiAgIGNvbW1p dHRlZC1kYXRlPSIyMDA2LTEwLTIzVDEwOjUwOjUzLjc0MTkwOVoiCiAgIGNoZWNrc3VtPSJl NjI1Y2M4NThjM2FlNmI1NDljNmRjMThlYTBhZjQ3ZiIKICAgbGFzdC1hdXRob3I9ImF2aSIK ICAga2luZD0iZmlsZSIKICAgcHJvcC10aW1lPSIyMDA2LTExLTAyVDA4OjQ1OjI0LjAwMDAw MFoiLz4KPGVudHJ5CiAgIGNvbW1pdHRlZC1yZXY9IjM3MjIiCiAgIG5hbWU9InRlc3QzMi5T IgogICB0ZXh0LXRpbWU9IjIwMDYtMTEtMTRUMTA6MjA6MDguMDAwMDAwWiIKICAgY29tbWl0 dGVkLWRhdGU9IjIwMDYtMTEtMTRUMTA6NDg6MzEuOTY3NTAwWiIKICAgY2hlY2tzdW09IjEx ZjQwYzM1YzUzYTllZWViM2E4NGRkZTYzOTk3YWM4IgogICBsYXN0LWF1dGhvcj0iYXZpIgog ICBraW5kPSJmaWxlIgogICByZXZpc2lvbj0iMzcyMiIvPgo8ZW50cnkKICAgY29tbWl0dGVk LXJldj0iMjc1NCIKICAgbmFtZT0idm0uaCIKICAgdGV4dC10aW1lPSIyMDA2LTExLTAyVDA4 OjQ1OjI0LjAwMDAwMFoiCiAgIGNvbW1pdHRlZC1kYXRlPSIyMDA2LTA4LTE2VDE0OjQ3OjIy LjQ4NjU0MVoiCiAgIGNoZWNrc3VtPSI1NjBmZTI3MzJkM2JiNDZiYTgzZTZmMmMzOWE4MzEx ZiIKICAgbGFzdC1hdXRob3I9ImF2aSIKICAga2luZD0iZmlsZSIKICAgcHJvcC10aW1lPSIy MDA2LTExLTAyVDA4OjQ1OjI0LjAwMDAwMFoiLz4KPGVudHJ5CiAgIGNvbW1pdHRlZC1yZXY9 IjIzNDUiCiAgIG5hbWU9InNpbXBsZS5TIgogICB0ZXh0LXRpbWU9IjIwMDYtMTEtMDJUMDg6 NDU6MjQuMDAwMDAwWiIKICAgY29tbWl0dGVkLWRhdGU9IjIwMDYtMDctMTBUMTQ6MjE6MTcu MDkzMjI1WiIKICAgY2hlY2tzdW09ImIzZGE5MjE1Y2RlMmQ1MGY3Y2E2OWIxYmFhYTBkMThm IgogICBsYXN0LWF1dGhvcj0iYXZpIgogICBraW5kPSJmaWxlIgogICBwcm9wLXRpbWU9IjIw MDYtMTEtMDJUMDg6NDU6MjQuMDAwMDAwWiIvPgo8ZW50cnkKICAgY29tbWl0dGVkLXJldj0i MzI0OSIKICAgbmFtZT0iY3N0YXJ0NjQuUyIKICAgdGV4dC10aW1lPSIyMDA2LTExLTAyVDA4 OjQ1OjI0LjAwMDAwMFoiCiAgIGNvbW1pdHRlZC1kYXRlPSIyMDA2LTEwLTIzVDEwOjQ5OjI3 LjkzNDA1OFoiCiAgIGNoZWNrc3VtPSI3MTVhNzA2ZjkzODI4NjgyODViYTgyOWFhNzFmZGMz MCIKICAgbGFzdC1hdXRob3I9ImF2aSIKICAga2luZD0iZmlsZSIKICAgcHJvcC10aW1lPSIy MDA2LTExLTAyVDA4OjQ1OjI0LjAwMDAwMFoiLz4KPGVudHJ5CiAgIGNvbW1pdHRlZC1yZXY9 IjI2MzMiCiAgIG5hbWU9ImlycS5TIgogICB0ZXh0LXRpbWU9IjIwMDYtMTEtMDJUMDg6NDU6 MjQuMDAwMDAwWiIKICAgY29tbWl0dGVkLWRhdGU9IjIwMDYtMDgtMDNUMTI6MTc6MDQuMjUz NzYwWiIKICAgY2hlY2tzdW09Ijc4NTc4YjFlZjI4YTcyOTJjMjM0MDJlNzdlMThhOGViIgog ICBsYXN0LWF1dGhvcj0iYXZpIgogICBraW5kPSJmaWxlIgogICBwcm9wLXRpbWU9IjIwMDYt MTEtMDJUMDg6NDU6MjQuMDAwMDAwWiIvPgo8ZW50cnkKICAgY29tbWl0dGVkLXJldj0iMjc1 NyIKICAgbmFtZT0ic2lldmUuYyIKICAgdGV4dC10aW1lPSIyMDA2LTExLTAyVDA4OjQ1OjI0 LjAwMDAwMFoiCiAgIGNvbW1pdHRlZC1kYXRlPSIyMDA2LTA4LTE2VDE1OjA1OjQyLjg1OTE4 N1oiCiAgIGNoZWNrc3VtPSJmODc2NjFjYjVmOTNkZWYyNWExMmU4NmJhMDAwZjg4NSIKICAg bGFzdC1hdXRob3I9ImF2aSIKICAga2luZD0iZmlsZSIKICAgcHJvcC10aW1lPSIyMDA2LTEx LTAyVDA4OjQ1OjI0LjAwMDAwMFoiLz4KPGVudHJ5CiAgIGNvbW1pdHRlZC1yZXY9IjI3MzUi CiAgIG5hbWU9InByaW50LlMiCiAgIHRleHQtdGltZT0iMjAwNi0xMS0wMlQwODo0NToyNC4w MDAwMDBaIgogICBjb21taXR0ZWQtZGF0ZT0iMjAwNi0wOC0xNVQxNDo1MTo1Mi4yMzY1NjZa IgogICBjaGVja3N1bT0iMDg4NjM3OWIyMTI3YjMzNjQzZjk4NmUzZTk1ZjViZTEiCiAgIGxh c3QtYXV0aG9yPSJhdmkiCiAgIGtpbmQ9ImZpbGUiCiAgIHByb3AtdGltZT0iMjAwNi0xMS0w MlQwODo0NToyNC4wMDAwMDBaIi8+CjxlbnRyeQogICBjb21taXR0ZWQtcmV2PSIzMjQ4Igog ICBuYW1lPSJib290c3RyYXAuUyIKICAgdGV4dC10aW1lPSIyMDA2LTExLTAyVDA4OjQ1OjI0 LjAwMDAwMFoiCiAgIGNvbW1pdHRlZC1kYXRlPSIyMDA2LTEwLTIzVDEwOjQ4OjUwLjM2NDk1 MVoiCiAgIGNoZWNrc3VtPSI5MDY2MjhmNTAzOGQ1ZTJmMTZhYjVhODdlY2ZiZWZkNSIKICAg bGFzdC1hdXRob3I9ImF2aSIKICAga2luZD0iZmlsZSIKICAgcHJvcC10aW1lPSIyMDA2LTEx LTAyVDA4OjQ1OjI0LjAwMDAwMFoiLz4KPC93Yy1lbnRyaWVzPgoAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyL3Rlc3QvLnN2bi9lbXB0eS1maWxlAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDAwMDAA MTA1MjIzMzAwNDQAMDE0NDc0ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABk aXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVz ZXIvdGVzdC8uc3ZuL3djcHJvcHMvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNzU1ADAw MDA3NjQAMDAwMDc2NAAwMDAwMDAwMDAwMAAxMDUyMjMzMDA0NAAwMTQyMDcAIDUAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABhdmkAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci90ZXN0Ly5zdm4vcHJvcHMvAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAADAwMDA3NTUAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMDAwADEw NTIyMzMwMDQ0ADAxMzY1NQAgNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlz dGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2Vy L3Rlc3QvLnN2bi9wcm9wcy9wcmludC5TLnN2bi13b3JrAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAw NzY0ADAwMDA3NjQAMDAwMDAwMDAwMDAAMTA1MjIzMzAwNDQAMDE2NzA2ACAwAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvdGVzdC8uc3ZuL3Byb3BzL3ZtLmguc3ZuLXdv cmsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAwMDAwNDQ0ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDAwMAAxMDUy MjMzMDA0NAAwMTYyMjEAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3Rj YwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci90 ZXN0Ly5zdm4vcHJvcHMvaXJxLlMuc3ZuLXdvcmsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA0NDQAMDAwMDc2 NAAwMDAwNzY0ADAwMDAwMDAwMDAwADEwNTIyMzMwMDQ0ADAxNjM0NQAgMAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyL3Rlc3QvLnN2bi9wcm9wcy9ib290c3RyYXAuUy5z dm4td29yawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDAwMDAAMTA1MjIz MzAwNDQAMDE3NTY3ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvdGVz dC8uc3ZuL3Byb3BzL3ByaW50Lmguc3ZuLXdvcmsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNDQ0ADAwMDA3NjQA MDAwMDc2NAAwMDAwMDAwMDAwMAAxMDUyMjMzMDA0NAAwMTY3MzMAIDAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABhdmkAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAdXNlci90ZXN0Ly5zdm4vcHJvcHMvY3N0YXJ0LlMuc3ZuLXdv cmsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAADAwMDA0NDQAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMDAwADEwNTIyMzMw MDQ0ADAxNzA1MgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyL3Rlc3Qv LnN2bi9wcm9wcy9zaWV2ZS5jLnN2bi13b3JrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAwNzY0ADAw MDA3NjQAMDAwMDAwMDAwMDAAMTA1MjIzMzAwNDQAMDE2NzA1ACAwAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAHVzZXIvdGVzdC8uc3ZuL3Byb3BzL21lbXRlc3QxLlMuc3ZuLXdv cmsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAwMDAwNDQ0ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDAwMAAxMDUyMjMzMDA0 NAAwMTczMTEAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci90ZXN0Ly5z dm4vcHJvcHMvY3N0YXJ0NjQuUy5zdm4td29yawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA0NDQAMDAwMDc2NAAwMDAw NzY0ADAwMDAwMDAwMDAwADEwNTIyMzMwMDQ0ADAxNzIyNAAgMAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAB1c2VyL3Rlc3QvLnN2bi9wcm9wcy9zdHJpbmdpby5TLnN2bi13b3Jr AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAMDAwMDQ0NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDAwMDAAMTA1MjIzMzAwNDQA MDE3NDEwACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvdGVzdC8uc3Zu L3Byb3BzL3ZtLmMuc3ZuLXdvcmsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNDQ0ADAwMDA3NjQAMDAwMDc2 NAAwMDAwMDAwMDAwMAAxMDUyMjMzMDA0NAAwMTYyMTQAIDAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAdXNlci90ZXN0Ly5zdm4vcHJvcHMvc2ltcGxlLlMuc3ZuLXdvcmsAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAADAwMDA0NDQAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMDAwADEwNTIyMzMwMDQ0ADAx NzA0MwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1 c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyL3Rlc3QvY3N0YXJ0 LlMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAwNzY0ADAwMDA3NjQA MDAwMDAwMDAxNTQAMTA1MjIzMzAwNDQAMDEzMjUyACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAoKLmJzcwoKCS4gPSAuICsgNDA5NgoJLmFsaWduIDE2CnN0YWNrdG9wOgoK LnNlY3Rpb24gLmluaXQKCWxlYSBzdGFja3RvcCwgJXJzcAoJY2FsbCBtYWluCjE6CWhsdAoJ am1wIDFiCgkKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci90ZXN0L2NzdGFydDY0 LlMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMDc2NAAwMDAwNzY0ADAw MDAwMDAxMjY1ADEwNTIyMzMwMDQ0ADAxMzQzMAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAKCi5ic3MKCgkuID0gLiArIDQwOTYKCS5hbGlnbiAxNgpzdGFja3RvcDoKCi5k YXRhCgkJCi5hbGlnbiA0MDk2CnB0bDI6CmkgPSAwCgkucmVwdCA1MTIKCS5xdWFkIDB4MWUz IHwgKGkgPDwgMjEpCglpID0gaSArIDEKCS5lbmRyCgouYWxpZ24gNDA5NgpwdGwzOgoJLnF1 YWQgcHRsMiArIDMKCi5hbGlnbiA0MDk2CnB0bDQ6CgkucXVhZCBwdGwzICsgMwoJCi5hbGln biA0MDk2CgpnZHQ2NF9kZXNjOgoJLndvcmQgZ2R0NjRfZW5kIC0gZ2R0NjQgLSAxCgkucXVh ZCBnZHQ2NAoKZ2R0NjQ6CgkucXVhZCAwCgkucXVhZCAweDAwYWY5YjAwMDAwMGZmZmYgIyA2 NC1iaXQgY29kZSBzZWdtZW50CmdkdDY0X2VuZDoKCQouc2VjdGlvbiAuaW5pdAoKLmNvZGUz MgoJbGdkdCBnZHQ2NF9kZXNjCgkKCW1vdiAlY3I0LCAlZWF4CglidHMgJDUsICVlYXggICMg cGFlCgltb3YgJWVheCwgJWNyNAoKCW1vdiAkcHRsNCwgJWVheAoJbW92ICVlYXgsICVjcjMK CmVmZXIgPSAweGMwMDAwMDgwCgltb3YgJGVmZXIsICVlY3gKCXJkbXNyCglidHMgJDgsICVl YXgKCXdybXNyCgoJbW92ICVjcjAsICVlYXgKCWJ0cyAkMCwgJWVheAoJYnRzICQzMSwgJWVh eAoJbW92ICVlYXgsICVjcjAKCQoJam1wbCAkOCwgJHN0YXJ0NjQKCi5jb2RlNjQKc3RhcnQ2 NDoJCglsZWEgc3RhY2t0b3AsICVyc3AKCWNhbGwgbWFpbgoxOglobHQKCWptcCAxYgoJCgoA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAdXNlci90ZXN0L3ZtLmgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAw MDA2NDQAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMTU3ADEwNTIyMzMwMDQ0ADAxMjQyNAAg MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAg AGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjaWZuZGVmIFZNX0gKI2RlZmluZSBW TV9ICgp2b2lkIHNldHVwX3ZtKCk7Cgp2b2lkICp2bWFsbG9jKHVuc2lnbmVkIGxvbmcgc2l6 ZSk7CnZvaWQgdmZyZWUodm9pZCAqbWVtKTsKCiNlbmRpZgoAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAHVzZXIvdGVzdC9wcmludC5TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAw NjQ0ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDQ0NAAxMDUyMjMzMDA0NAAwMTMxMTAAIDAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABh dmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACiNpbmNsdWRlICJwcmludC5oIgoKI2Rl ZmluZSBQU0VVRE9fU0VSSUFMX1BPUlQgMHhmMQoKCQoudGV4dAoJUFJJTlQgImJvbyIKCWhs dAoxOglqbXAgMWIKCQouZ2xvYmwgcHJpbnQKcHJpbnQ6CglwdXNoICVyYXgKCXB1c2ggJXJz aQoJcHVzaCAlcmR4CgoJbW92ICVyZGksICVyc2kKCW1vdiAkUFNFVURPX1NFUklBTF9QT1JU LCAlZWR4CgpwdXRjaGFyOgoJY21wYiAkMCwgKCVyc2kpCglqeiBkb25lCglvdXRzYgoJam1w IHB1dGNoYXIKZG9uZToKCQoJcG9wICVyZHgKCXBvcCAlcnNpCglwb3AgJXJheAoJcmV0CgAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAB1c2VyL3Rlc3QvdGVzdDMyLlN+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0 NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDAwNzMAMTA1MjYzMTQwNDAAMDEzMjc2ACAwAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZp AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5jb2RlMzIKCi50ZXh0CgoxOgkKCW1vdiAk MHgxMiwgJWFsCglvdXQgJWFsLCAkMHg4MAoJam1wIDFiAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA dXNlci90ZXN0L3NpZXZlLmMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQA MDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAyMzYzADEwNTIyMzMwMDQ0ADAxMzExMQAgMAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjaW5jbHVkZSAidm0uaCIKCnZvaWQgcHJpbnQo Y29uc3QgY2hhciAqdGV4dCk7Cgp2b2lkIHByaW50aShpbnQgbikKewogICAgY2hhciBidWZb MTBdLCAqcCA9IGJ1ZjsKICAgIGludCBzID0gMCwgaTsKICAgIAogICAgaWYgKG4gPCAwKSB7 CgluID0gLW47CglzID0gMTsKICAgIH0KCiAgICB3aGlsZSAobikgewoJKnArKyA9ICcwJyAr IG4gJSAxMDsKCW4gLz0gMTA7CiAgICB9CiAgICAKICAgIGlmIChzKQoJKnArKyA9ICctJzsK CiAgICBpZiAocCA9PSBidWYpCgkqcCsrID0gJzAnOwogICAgCiAgICBmb3IgKGkgPSAwOyBp IDwgKHAgLSBidWYpIC8gMjsgKytpKSB7CgljaGFyIHRtcDsKCgl0bXAgPSBidWZbaV07Cgli dWZbaV0gPSBwWy0xLWldOwoJcFstMS1pXSA9IHRtcDsKICAgIH0KCiAgICAqcCA9IDA7Cgog ICAgcHJpbnQoYnVmKTsKfQoKaW50IHNpZXZlKGNoYXIqIGRhdGEsIGludCBzaXplKQp7CiAg ICBpbnQgaSwgaiwgciA9IDA7CgogICAgZm9yIChpID0gMDsgaSA8IHNpemU7ICsraSkKCWRh dGFbaV0gPSAxOwoKICAgIGRhdGFbMF0gPSBkYXRhWzFdID0gMDsKCiAgICBmb3IgKGkgPSAy OyBpIDwgc2l6ZTsgKytpKQoJaWYgKGRhdGFbaV0pIHsKCSAgICArK3I7CgkgICAgZm9yIChq ID0gaSoyOyBqIDwgc2l6ZTsgaiArPSBpKQoJCWRhdGFbal0gPSAwOwoJfQogICAgcmV0dXJu IHI7Cn0KCnZvaWQgdGVzdF9zaWV2ZShjb25zdCBjaGFyICptc2csIGNoYXIgKmRhdGEsIGlu dCBzaXplKQp7CiAgICBpbnQgcjsKCiAgICBwcmludChtc2cpOwogICAgcHJpbnQoIjogIik7 CiAgICByID0gc2lldmUoZGF0YSwgc2l6ZSk7CiAgICBwcmludGkocik7CiAgICBwcmludCgi XG4iKTsKfQoKI2RlZmluZSBTVEFUSUNfU0laRSAxMDAwMDAwCiNkZWZpbmUgVlNJWkUgMTAw MDAwMDAwCmNoYXIgc3RhdGljX2RhdGFbU1RBVElDX1NJWkVdOwoKaW50IG1haW4oKQp7CiAg ICB2b2lkICp2OwogICAgaW50IGk7CgogICAgcHJpbnQoInN0YXJ0aW5nIHNpZXZlXG4iKTsK ICAgIHRlc3Rfc2lldmUoInN0YXRpYyIsIHN0YXRpY19kYXRhLCBTVEFUSUNfU0laRSk7CiAg ICBzZXR1cF92bSgpOwogICAgcHJpbnQoIm1hcHBlZDogIik7CiAgICB0ZXN0X3NpZXZlKCJt YXBwZWQiLCBzdGF0aWNfZGF0YSwgU1RBVElDX1NJWkUpOwogICAgZm9yIChpID0gMDsgaSA8 IDMwOyArK2kpIHsKCXYgPSB2bWFsbG9jKFZTSVpFKTsKCXRlc3Rfc2lldmUoInZpcnR1YWwi LCB2LCBWU0laRSk7Cgl2ZnJlZSh2KTsKICAgIH0KICAgIAogICAgcmV0dXJuIDA7Cn0KAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2Vy L3Rlc3Qvc3RyaW5naW8uUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAw NzY0ADAwMDA3NjQAMDAwMDAwMDA0NjcAMTA1MjIzMzAwNDQAMDEzNjE3ACAwAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAouZGF0YQoKLm1hY3JvIHN0ciBuYW1lLCB2YWx1ZQoK XG5hbWUgOgkubG9uZyAxZi0yZgoyOgkuYXNjaWkgIlx2YWx1ZSIKMToJCi5lbmRtCQoKCXN0 ciAiZm9yd2FyZCIsICJmb3J3YXJkIgoJc3RyICJiYWNrd2FyZCIsICJiYWNrd2FyZCIKCQkK LnRleHQKCgoJY2xkCgltb3ZsIGZvcndhcmQsICVlY3gKCWxlYSAgNCtmb3J3YXJkLCAlcnNp Cgltb3Z3ICQxLCAlZHgKCXJlcCBvdXRzYgoKCXN0ZAoJbW92bCBiYWNrd2FyZCwgJWVjeAoJ bGVhIDQrYmFja3dhcmQtMSglcmN4KSwgJXJzaQoJbW92dyAkMiwgJWR4CglyZXAgb3V0c2IK CQoJaGx0CgoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci90 ZXN0L2Jvb3RzdHJhcC5TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMDc2 NAAwMDAwNzY0ADAwMDAwMDAxMjA1ADEwNTIyMzMwMDQ0ADAxMzc2NQAgMAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAjCiMgbWluaW1hbCBib290c3RyYXAgdG8gc2V0IHVwIGZs YXQgMzItYml0IHByb3RlY3RlZCBtb2RlCiMKCQpic3RhcnQgPSAweGYwMDAwCgkKLmNvZGUx NgoKc3RhcnQ6CgljcyBsaWR0bCBpZHRfZGVzYwoJY3MgbGdkdGwgZ2R0X2Rlc2MKCW1vdiAl Y3IwLCAlZWF4CglvciAkMSwgJWVheAoJbW92ICVlYXgsICVjcjAKCWxqbXBsICQ4LCAkcG1v ZGUgKyBic3RhcnQKcG1vZGU6Ci5jb2RlMzIJCgltb3YgJDB4MTAsICVheAoJbW92ICVheCwg JWRzCgltb3YgJWF4LCAlZXMKCW1vdiAlYXgsICVmcwoJbW92ICVheCwgJWdzCgltb3YgJWF4 LCAlc3MKCW1vdiAkMHhhMDAwMCwgJWVzcAoJbGptcCAkOCwgJDB4MTAwMDAwCgouYWxpZ24g MTYKCQppZHRfZGVzYzoKCS53b3JkIDAKCS5sb25nIDAKCmdkdF9kZXNjOgoJLndvcmQgZ2R0 X2VuZCAtIGdkdCAtIDEKCS5sb25nIGdkdCArIGJzdGFydAoKLmFsaWduIDE2CgpnZHQ6Cgku cXVhZCAwCgkucXVhZCAweDAwY2Y5YjAwMDAwMGZmZmYgIyBmbGF0IDMyLWJpdCBjb2RlIHNl Z21lbnQKCS5xdWFkIDB4MDBjZjkzMDAwMDAwZmZmZiAjIGZsYXQgMzItYml0IGRhdGEgc2Vn bWVudApnZHRfZW5kOgoJCi4gPSAweGZmZjAKCS5jb2RlMTYKCWxqbXAgJDB4ZjAwMCwgJHN0 YXJ0Ci5hbGlnbiA2NTUzNgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAdXNlci90ZXN0Ly5zaWV2ZS5kAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAADAwMDA2NDQAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMDQ1ADEwNTIyMzMx MjI3ADAxMzE2NwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0ZXN0L3NpZXZl Lm86IHRlc3Qvc2lldmUuYyB0ZXN0L3ZtLmgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAHVzZXIva3ZtY3RsLmMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAwMDAwNjQ0ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAyNDU1MwAxMDUyMjMzMDA0 NQAwMTIzMjUAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2luY2x1ZGUgPHVu aXN0ZC5oPgojaW5jbHVkZSA8ZmNudGwuaD4KI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRl IDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN5cy9tbWFuLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4K I2luY2x1ZGUgPGVycm5vLmg+CiNpbmNsdWRlICJrdm1jdGwuaCIKCiNkZWZpbmUgUEFHRV9T SVpFIDQwOTZ1bAoKc3RydWN0IGt2bV9jb250ZXh0IHsKCWludCBmZDsKCXN0cnVjdCBrdm1f Y2FsbGJhY2tzICpjYWxsYmFja3M7Cgl2b2lkICpvcGFxdWU7Cgl2b2lkICpwaHlzaWNhbF9t ZW1vcnk7Cn07CgpzdHJ1Y3QgdHJhbnNsYXRpb25fY2FjaGUgewoJdW5zaWduZWQgbG9uZyBs aW5lYXI7Cgl2b2lkICpwaHlzaWNhbDsKfTsKCnN0YXRpYyB2b2lkIHRyYW5zbGF0aW9uX2Nh Y2hlX2luaXQoc3RydWN0IHRyYW5zbGF0aW9uX2NhY2hlICp0cikKewoJdHItPnBoeXNpY2Fs ID0gMDsKfQoKc3RhdGljIGludCB0cmFuc2xhdGUoa3ZtX2NvbnRleHRfdCBrdm0sIGludCB2 Y3B1LCBzdHJ1Y3QgdHJhbnNsYXRpb25fY2FjaGUgKnRyLAoJCSAgICAgdW5zaWduZWQgbG9u ZyBsaW5lYXIsIHZvaWQgKipwaHlzaWNhbCkKewoJdW5zaWduZWQgbG9uZyBwYWdlID0gbGlu ZWFyICYgfihQQUdFX1NJWkUtMSk7Cgl1bnNpZ25lZCBsb25nIG9mZnNldCA9IGxpbmVhciAm IChQQUdFX1NJWkUtMSk7CgoJaWYgKCEodHItPnBoeXNpY2FsICYmIHRyLT5saW5lYXIgPT0g cGFnZSkpIHsKCQlzdHJ1Y3Qga3ZtX3RyYW5zbGF0aW9uIGt2bV90cjsKCQlpbnQgcjsKCgkJ a3ZtX3RyLmxpbmVhcl9hZGRyZXNzID0gcGFnZTsKCQlrdm1fdHIudmNwdSA9IHZjcHU7CgkJ CgkJciA9IGlvY3RsKGt2bS0+ZmQsIEtWTV9UUkFOU0xBVEUsICZrdm1fdHIpOwoJCWlmIChy ID09IC0xKQoJCQlyZXR1cm4gLWVycm5vOwoKCQlpZiAoIWt2bV90ci52YWxpZCkKCQkJcmV0 dXJuIC1FRkFVTFQ7CgoJCXRyLT5saW5lYXIgPSBwYWdlOwoJCXRyLT5waHlzaWNhbCA9IGt2 bS0+cGh5c2ljYWxfbWVtb3J5ICsga3ZtX3RyLnBoeXNpY2FsX2FkZHJlc3M7Cgl9CgkqcGh5 c2ljYWwgPSB0ci0+cGh5c2ljYWwgKyBvZmZzZXQ7CglyZXR1cm4gMDsKfQoKa3ZtX2NvbnRl eHRfdCBrdm1faW5pdChzdHJ1Y3Qga3ZtX2NhbGxiYWNrcyAqY2FsbGJhY2tzLAoJCSAgICAg ICB2b2lkICpvcGFxdWUpCnsKCWludCBmZDsKCWt2bV9jb250ZXh0X3Qga3ZtOwoKCWZkID0g b3BlbigiL2Rldi9rdm0iLCBPX1JEV1IpOwoJaWYgKGZkID09IC0xKSB7CgkJcHJpbnRmKCJv cGVuOiAlbVxuIik7CgkJZXhpdCgxKTsKCX0KCWt2bSA9IG1hbGxvYyhzaXplb2YoKmt2bSkp OwoJa3ZtLT5mZCA9IGZkOwoJa3ZtLT5jYWxsYmFja3MgPSBjYWxsYmFja3M7Cglrdm0tPm9w YXF1ZSA9IG9wYXF1ZTsKCXJldHVybiBrdm07Cn0KCmludCBrdm1fY3JlYXRlKGt2bV9jb250 ZXh0X3Qga3ZtLCB1bnNpZ25lZCBsb25nIG1lbW9yeSwgdm9pZCAqKnZtX21lbSkKewoJdW5z aWduZWQgbG9uZyBkb3NtZW0gPSAweGEwMDAwOwoJdW5zaWduZWQgbG9uZyBleG1lbSA9IDB4 YzAwMDA7CglpbnQgZmQgPSBrdm0tPmZkOwoJaW50IHI7CglzdHJ1Y3Qga3ZtX21lbW9yeV9y ZWdpb24gbG93X21lbW9yeSA9IHsKCQkuc2xvdCA9IDMsCgkJLm1lbW9yeV9zaXplID0gbWVt b3J5ICA8IGRvc21lbSA/IG1lbW9yeSA6IGRvc21lbSwKCQkuZ3Vlc3RfcGh5c19hZGRyID0g MCwKCX07CglzdHJ1Y3Qga3ZtX21lbW9yeV9yZWdpb24gZXh0ZW5kZWRfbWVtb3J5ID0gewoJ CS5zbG90ID0gMCwKCQkubWVtb3J5X3NpemUgPSBtZW1vcnkgPCBleG1lbSA/IDAgOiBtZW1v cnkgLSBleG1lbSwKCQkuZ3Vlc3RfcGh5c19hZGRyID0gZXhtZW0sCgl9OwoKCS8qIDY0MEsg c2hvdWxkIGJlIGVub3VnaC4gKi8KCXIgPSBpb2N0bChmZCwgS1ZNX1NFVF9NRU1PUllfUkVH SU9OLCAmbG93X21lbW9yeSk7CglpZiAociA9PSAtMSkgewoJCXByaW50Zigia3ZtX2NyZWF0 ZV9tZW1vcnlfcmVnaW9uOiAlbVxuIik7CgkJZXhpdCgxKTsKCX0KCWlmIChleHRlbmRlZF9t ZW1vcnkubWVtb3J5X3NpemUpIHsKCQlyID0gaW9jdGwoZmQsIEtWTV9TRVRfTUVNT1JZX1JF R0lPTiwgJmV4dGVuZGVkX21lbW9yeSk7CgkJaWYgKHIgPT0gLTEpIHsKCQkJcHJpbnRmKCJr dm1fY3JlYXRlX21lbW9yeV9yZWdpb246ICVtXG4iKTsKCQkJZXhpdCgxKTsKCQl9Cgl9CgoJ KnZtX21lbSA9IG1tYXAoMCwgbWVtb3J5LCBQUk9UX1JFQUR8UFJPVF9XUklURSwgTUFQX1NI QVJFRCwgZmQsIDApOwoJaWYgKCp2bV9tZW0gPT0gTUFQX0ZBSUxFRCkgewoJCXByaW50Zigi bW1hcDogJW1cbiIpOwoJCWV4aXQoMSk7Cgl9Cglrdm0tPnBoeXNpY2FsX21lbW9yeSA9ICp2 bV9tZW07CgoJciA9IGlvY3RsKGZkLCBLVk1fQ1JFQVRFX1ZDUFUsIDApOwoJaWYgKHIgPT0g LTEpIHsKCQlwcmludGYoImt2bV9jcmVhdGVfdmNwdTogJW1cbiIpOwoJCWV4aXQoMSk7Cgl9 CglyZXR1cm4gMDsKfQoKdm9pZCAqa3ZtX2NyZWF0ZV9waHlzX21lbShrdm1fY29udGV4dF90 IGt2bSwgdW5zaWduZWQgbG9uZyBwaHlzX3N0YXJ0LCAKCQkJICB1bnNpZ25lZCBsb25nIGxl biwgaW50IHNsb3QsIGludCBsb2csIGludCB3cml0YWJsZSkKewoJdm9pZCAqcHRyOwoJaW50 IHI7CglpbnQgZmQgPSBrdm0tPmZkOwoJaW50IHByb3QgPSBQUk9UX1JFQUQ7CglzdHJ1Y3Qg a3ZtX21lbW9yeV9yZWdpb24gbWVtb3J5ID0gewoJCS5zbG90ID0gc2xvdCwKCQkubWVtb3J5 X3NpemUgPSBsZW4sCgkJLmd1ZXN0X3BoeXNfYWRkciA9IHBoeXNfc3RhcnQsCgkJLmZsYWdz ID0gbG9nID8gS1ZNX01FTV9MT0dfRElSVFlfUEFHRVMgOiAwLAoJfTsKCglyID0gaW9jdGwo ZmQsIEtWTV9TRVRfTUVNT1JZX1JFR0lPTiwgJm1lbW9yeSk7CglpZiAociA9PSAtMSkKCSAg ICByZXR1cm4gMDsKCglpZiAod3JpdGFibGUpCgkJcHJvdCB8PSBQUk9UX1dSSVRFOwoKCXB0 ciA9IG1tYXAoMCwgbGVuLCBwcm90LCBNQVBfU0hBUkVELCBmZCwgcGh5c19zdGFydCk7Cglp ZiAocHRyID09IE1BUF9GQUlMRUQpCgkJcmV0dXJuIDA7CglyZXR1cm4gcHRyOwp9Cgp2b2lk IGt2bV9kZXN0cm95X3BoeXNfbWVtKGt2bV9jb250ZXh0X3Qga3ZtLCB1bnNpZ25lZCBsb25n IHBoeXNfc3RhcnQsIAoJCQkgIHVuc2lnbmVkIGxvbmcgbGVuKQp7CglwcmludGYoImt2bV9k ZXN0cm95X3BoeXNfbWVtOiBpbXBsZW1lbnQgbWVcbiIpOwoJZXhpdCgxKTsKfQoKCnZvaWQg a3ZtX2dldF9kaXJ0eV9wYWdlcyhrdm1fY29udGV4dF90IGt2bSwgaW50IHNsb3QsIHZvaWQg KmJ1ZikKewoJaW50IHI7CglzdHJ1Y3Qga3ZtX2RpcnR5X2xvZyBsb2cgPSB7CgkJLnNsb3Qg PSBzbG90LAoJfTsKCglsb2cuZGlydHlfYml0bWFwID0gYnVmOwoKCXIgPSBpb2N0bChrdm0t PmZkLCBLVk1fR0VUX0RJUlRZX0xPRywgJmxvZyk7CglpZiAociA9PSAtMSkKCQlleGl0KDEp Owp9CgpzdGF0aWMgaW50IG1vcmVfaW8oc3RydWN0IGt2bV9ydW4gKnJ1biwgaW50IGZpcnN0 X3RpbWUpCnsKCWlmICghcnVuLT5pby5yZXApCgkJcmV0dXJuIGZpcnN0X3RpbWU7CgllbHNl CgkJcmV0dXJuIHJ1bi0+aW8uY291bnQgIT0gMDsKfQoKaW50IGhhbmRsZV9pbyhrdm1fY29u dGV4dF90IGt2bSwgc3RydWN0IGt2bV9ydW4gKnJ1bikKewoJdWludDE2X3QgYWRkciA9IHJ1 bi0+aW8ucG9ydDsKCXN0cnVjdCBrdm1fcmVncyByZWdzOwoJaW50IGZpcnN0X3RpbWUgPSAx OwoJaW50IGRlbHRhOwoJc3RydWN0IHRyYW5zbGF0aW9uX2NhY2hlIHRyOwoKCXRyYW5zbGF0 aW9uX2NhY2hlX2luaXQoJnRyKTsKCglyZWdzLnZjcHUgPSBydW4tPnZjcHU7Cglpb2N0bChr dm0tPmZkLCBLVk1fR0VUX1JFR1MsICZyZWdzKTsKCglkZWx0YSA9IHJ1bi0+aW8uc3RyaW5n X2Rvd24gPyAtcnVuLT5pby5zaXplIDogcnVuLT5pby5zaXplOwoKCXdoaWxlIChtb3JlX2lv KHJ1biwgZmlyc3RfdGltZSkpIHsKCQl2b2lkICp2YWx1ZV9hZGRyOwoJCWludCByOwoKCQlp ZiAoIXJ1bi0+aW8uc3RyaW5nKQoJCQl2YWx1ZV9hZGRyID0gJnJlZ3MucmF4OwoJCWVsc2Ug ewoJCQlyID0gdHJhbnNsYXRlKGt2bSwgcnVuLT52Y3B1LCAmdHIsIHJ1bi0+aW8uYWRkcmVz cywgCgkJCQkgICAgICAmdmFsdWVfYWRkcik7CgkJCWlmIChyKSB7CgkJCQlwcmludGYoImZh aWxlZCB0cmFuc2xhdGluZyBJL08gYWRkcmVzcyAleFxuIiwKCQkJCSAgICAgICBydW4tPmlv LmFkZHJlc3MpOwoJCQkJZXhpdCgxKTsKCQkJfQoJCX0KCgkJc3dpdGNoIChydW4tPmlvLmRp cmVjdGlvbikgewoJCWNhc2UgS1ZNX0VYSVRfSU9fSU46IHsKCQkJc3dpdGNoIChydW4tPmlv LnNpemUpIHsKCQkJY2FzZSAxOiB7CgkJCQl1aW50OF90IHZhbHVlOwoJCQkJciA9IGt2bS0+ Y2FsbGJhY2tzLT5pbmIoa3ZtLT5vcGFxdWUsIGFkZHIsICZ2YWx1ZSk7CgkJCQkqKHVpbnQ4 X3QgKil2YWx1ZV9hZGRyID0gdmFsdWU7CgkJCQlicmVhazsKCQkJfQoJCQljYXNlIDI6IHsK CQkJCXVpbnQxNl90IHZhbHVlOwoJCQkJciA9IGt2bS0+Y2FsbGJhY2tzLT5pbncoa3ZtLT5v cGFxdWUsIGFkZHIsICZ2YWx1ZSk7CgkJCQkqKHVpbnQxNl90ICopdmFsdWVfYWRkciA9IHZh bHVlOwoJCQkJYnJlYWs7CgkJCX0KCQkJY2FzZSA0OiB7CgkJCQl1aW50MzJfdCB2YWx1ZTsK CQkJCXIgPSBrdm0tPmNhbGxiYWNrcy0+aW5sKGt2bS0+b3BhcXVlLCBhZGRyLCAmdmFsdWUp OwoJCQkJKih1aW50MzJfdCAqKXZhbHVlX2FkZHIgPSB2YWx1ZTsKCQkJCWJyZWFrOwoJCQl9 CgkJCWRlZmF1bHQ6CgkJCQlwcmludGYoImJhZCBJL08gc2l6ZVxuIik7CgkJCQlleGl0KDEp OwoJCQl9CgkJCWJyZWFrOwoJCX0KCQljYXNlIEtWTV9FWElUX0lPX09VVDoKCQkJc3dpdGNo IChydW4tPmlvLnNpemUpIHsKCQkJY2FzZSAxOgoJCQkJciA9IGt2bS0+Y2FsbGJhY2tzLT5v dXRiKGt2bS0+b3BhcXVlLCBhZGRyLAoJCQkJCQkgICAgICoodWludDhfdCAqKXZhbHVlX2Fk ZHIpOwoJCQkJYnJlYWs7CgkJCWNhc2UgMjoKCQkJCXIgPSBrdm0tPmNhbGxiYWNrcy0+b3V0 dyhrdm0tPm9wYXF1ZSwgYWRkciwKCQkJCQkJICAgICAqKHVpbnQxNl90ICopdmFsdWVfYWRk cik7CgkJCQlicmVhazsKCQkJY2FzZSA0OgoJCQkJciA9IGt2bS0+Y2FsbGJhY2tzLT5vdXRs KGt2bS0+b3BhcXVlLCBhZGRyLAoJCQkJCQkgICAgICoodWludDMyX3QgKil2YWx1ZV9hZGRy KTsKCQkJCWJyZWFrOwoJCQlkZWZhdWx0OgoJCQkJcHJpbnRmKCJiYWQgSS9PIHNpemVcbiIp OwoJCQkJZXhpdCgxKTsKCQkJfQoJCQlicmVhazsKCQlkZWZhdWx0OgoJCQlwcmludGYoImJh ZCBJL08gc2l6ZVxuIik7CgkJCWV4aXQoMSk7CgkJfQoJCWlmIChydW4tPmlvLnN0cmluZykg ewoJCQlydW4tPmlvLmFkZHJlc3MgKz0gZGVsdGE7CgkJCXN3aXRjaCAocnVuLT5pby5kaXJl Y3Rpb24pIHsKCQkJY2FzZSBLVk1fRVhJVF9JT19JTjogIHJlZ3MucmRpICs9IGRlbHRhOyBi cmVhazsKCQkJY2FzZSBLVk1fRVhJVF9JT19PVVQ6IHJlZ3MucnNpICs9IGRlbHRhOyBicmVh azsKCQkJfQoJCQlpZiAocnVuLT5pby5yZXApIHsKCQkJCS0tcmVncy5yY3g7CgkJCQktLXJ1 bi0+aW8uY291bnQ7CgkJCX0KCQl9CgkJZmlyc3RfdGltZSA9IDA7CgkJaWYgKHIpIHsKCQkJ aW9jdGwoa3ZtLT5mZCwgS1ZNX1NFVF9SRUdTLCAmcmVncyk7CgkJCXJldHVybiByOwoJCX0K CX0KCglpb2N0bChrdm0tPmZkLCBLVk1fU0VUX1JFR1MsICZyZWdzKTsKCXJ1bi0+ZW11bGF0 ZWQgPSAxOwoJcmV0dXJuIDA7Cn0KCmludCBoYW5kbGVfZGVidWcoa3ZtX2NvbnRleHRfdCBr dm0sIHN0cnVjdCBrdm1fcnVuICpydW4pCnsKCXJldHVybiBrdm0tPmNhbGxiYWNrcy0+ZGVi dWcoa3ZtLT5vcGFxdWUsIHJ1bi0+dmNwdSk7Cn0KCmludCBrdm1fZ2V0X3JlZ3Moa3ZtX2Nv bnRleHRfdCBrdm0sIGludCB2Y3B1LCBzdHJ1Y3Qga3ZtX3JlZ3MgKnJlZ3MpCnsKICAgIHJl Z3MtPnZjcHUgPSB2Y3B1OwogICAgcmV0dXJuIGlvY3RsKGt2bS0+ZmQsIEtWTV9HRVRfUkVH UywgcmVncyk7Cn0KCmludCBrdm1fc2V0X3JlZ3Moa3ZtX2NvbnRleHRfdCBrdm0sIGludCB2 Y3B1LCBzdHJ1Y3Qga3ZtX3JlZ3MgKnJlZ3MpCnsKICAgIHJlZ3MtPnZjcHUgPSB2Y3B1Owog ICAgcmV0dXJuIGlvY3RsKGt2bS0+ZmQsIEtWTV9TRVRfUkVHUywgcmVncyk7Cn0KCmludCBr dm1fZ2V0X3NyZWdzKGt2bV9jb250ZXh0X3Qga3ZtLCBpbnQgdmNwdSwgc3RydWN0IGt2bV9z cmVncyAqc3JlZ3MpCnsKICAgIHNyZWdzLT52Y3B1ID0gdmNwdTsKICAgIHJldHVybiBpb2N0 bChrdm0tPmZkLCBLVk1fR0VUX1NSRUdTLCBzcmVncyk7Cn0KCmludCBrdm1fc2V0X3NyZWdz KGt2bV9jb250ZXh0X3Qga3ZtLCBpbnQgdmNwdSwgc3RydWN0IGt2bV9zcmVncyAqc3JlZ3Mp CnsKICAgIHNyZWdzLT52Y3B1ID0gdmNwdTsKICAgIHJldHVybiBpb2N0bChrdm0tPmZkLCBL Vk1fU0VUX1NSRUdTLCBzcmVncyk7Cn0KCnZvaWQga3ZtX3Nob3dfcmVncyhrdm1fY29udGV4 dF90IGt2bSwgaW50IHZjcHUpCnsKCWludCBmZCA9IGt2bS0+ZmQ7CglzdHJ1Y3Qga3ZtX3Jl Z3MgcmVnczsKCWludCByOwoKCXJlZ3MudmNwdSA9IHZjcHU7CglyID0gaW9jdGwoZmQsIEtW TV9HRVRfUkVHUywgJnJlZ3MpOwoJaWYgKHIgPT0gLTEpIHsKCQlwZXJyb3IoIktWTV9HRVRf UkVHUyIpOwoJCWV4aXQoMSk7Cgl9CglwcmludGYoInJheCAlMDE2bGx4IHJieCAlMDE2bGx4 IHJjeCAlMDE2bGx4IHJkeCAlMDE2bGx4XG4iCgkgICAgICAgInJzaSAlMDE2bGx4IHJkaSAl MDE2bGx4IHJzcCAlMDE2bGx4IHJicCAlMDE2bGx4XG4iCgkgICAgICAgInI4ICAlMDE2bGx4 IHI5ICAlMDE2bGx4IHIxMCAlMDE2bGx4IHIxMSAlMDE2bGx4XG4iCgkgICAgICAgInIxMiAl MDE2bGx4IHIxMyAlMDE2bGx4IHIxNCAlMDE2bGx4IHIxNSAlMDE2bGx4XG4iCgkgICAgICAg InJpcCAlMDE2bGx4IHJmbGFncyAlMDhsbHhcbiIsCgkgICAgICAgcmVncy5yYXgsIHJlZ3Mu cmJ4LCByZWdzLnJjeCwgcmVncy5yZHgsCgkgICAgICAgcmVncy5yc2ksIHJlZ3MucmRpLCBy ZWdzLnJzcCwgcmVncy5yYnAsCgkgICAgICAgcmVncy5yOCwgIHJlZ3MucjksICByZWdzLnIx MCwgcmVncy5yMTEsCgkgICAgICAgcmVncy5yMTIsIHJlZ3MucjEzLCByZWdzLnIxNCwgcmVn cy5yMTUsCgkgICAgICAgcmVncy5yaXAsIHJlZ3MucmZsYWdzKTsKfQoKc3RhdGljIGludCBo YW5kbGVfY3B1aWQoa3ZtX2NvbnRleHRfdCBrdm0sIHN0cnVjdCBrdm1fcnVuICpydW4pCnsK CXN0cnVjdCBrdm1fcmVncyByZWdzOwoJdWludDMyX3Qgb3JpZ19lYXg7CglpbnQgcjsKCglr dm1fZ2V0X3JlZ3Moa3ZtLCBydW4tPnZjcHUsICZyZWdzKTsKCW9yaWdfZWF4ID0gcmVncy5y YXg7CglyID0ga3ZtLT5jYWxsYmFja3MtPmNwdWlkKGt2bS0+b3BhcXVlLCAKCQkJICAgICAg JnJlZ3MucmF4LCAmcmVncy5yYngsICZyZWdzLnJjeCwgJnJlZ3MucmR4KTsKCWlmIChvcmln X2VheCA9PSAxKQoJCXJlZ3MucmR4ICY9IH4oMXVsbCA8PCAxMik7IC8qIGRpc2FibGUgbXRy ciBzdXBwb3J0ICovCglrdm1fc2V0X3JlZ3Moa3ZtLCBydW4tPnZjcHUsICZyZWdzKTsKCXJ1 bi0+ZW11bGF0ZWQgPSAxOwoJcmV0dXJuIHI7Cn0KCnN0YXRpYyBpbnQgaGFuZGxlX21taW8o a3ZtX2NvbnRleHRfdCBrdm0sIHN0cnVjdCBrdm1fcnVuICprdm1fcnVuKQp7Cgl1bnNpZ25l ZCBsb25nIGFkZHIgPSBrdm1fcnVuLT5tbWlvLnBoeXNfYWRkcjsKCXZvaWQgKmRhdGEgPSBr dm1fcnVuLT5tbWlvLmRhdGE7CglpbnQgciA9IC0xOwoKCWlmIChrdm1fcnVuLT5tbWlvLmlz X3dyaXRlKSB7CgkJc3dpdGNoIChrdm1fcnVuLT5tbWlvLmxlbikgewoJCWNhc2UgMToKCQkJ ciA9IGt2bS0+Y2FsbGJhY2tzLT53cml0ZWIoa3ZtLT5vcGFxdWUsIGFkZHIsICoodWludDhf dCAqKWRhdGEpOwoJCQlicmVhazsKCQljYXNlIDI6CgkJCXIgPSBrdm0tPmNhbGxiYWNrcy0+ d3JpdGV3KGt2bS0+b3BhcXVlLCBhZGRyLCAqKHVpbnQxNl90ICopZGF0YSk7CgkJCWJyZWFr OwoJCWNhc2UgNDoKCQkJciA9IGt2bS0+Y2FsbGJhY2tzLT53cml0ZWwoa3ZtLT5vcGFxdWUs IGFkZHIsICoodWludDMyX3QgKilkYXRhKTsKCQkJYnJlYWs7CgkJY2FzZSA4OgoJCQlyID0g a3ZtLT5jYWxsYmFja3MtPndyaXRlcShrdm0tPm9wYXF1ZSwgYWRkciwgKih1aW50NjRfdCAq KWRhdGEpOwoJCQlicmVhazsKCQl9Cgl9IGVsc2UgewoJCXN3aXRjaCAoa3ZtX3J1bi0+bW1p by5sZW4pIHsKCQljYXNlIDE6CgkJCXIgPSBrdm0tPmNhbGxiYWNrcy0+cmVhZGIoa3ZtLT5v cGFxdWUsIGFkZHIsICh1aW50OF90ICopZGF0YSk7CgkJCWJyZWFrOwoJCWNhc2UgMjoKCQkJ ciA9IGt2bS0+Y2FsbGJhY2tzLT5yZWFkdyhrdm0tPm9wYXF1ZSwgYWRkciwgKHVpbnQxNl90 ICopZGF0YSk7CgkJCWJyZWFrOwoJCWNhc2UgNDoKCQkJciA9IGt2bS0+Y2FsbGJhY2tzLT5y ZWFkbChrdm0tPm9wYXF1ZSwgYWRkciwgKHVpbnQzMl90ICopZGF0YSk7CgkJCWJyZWFrOwoJ CWNhc2UgODoKCQkJciA9IGt2bS0+Y2FsbGJhY2tzLT5yZWFkcShrdm0tPm9wYXF1ZSwgYWRk ciwgKHVpbnQ2NF90ICopZGF0YSk7CgkJCWJyZWFrOwoJCX0KCQlrdm1fcnVuLT5tbWlvX2Nv bXBsZXRlZCA9IDE7Cgl9CglyZXR1cm4gcjsKfQoKc3RhdGljIGludCBoYW5kbGVfaW9fd2lu ZG93KGt2bV9jb250ZXh0X3Qga3ZtLCBzdHJ1Y3Qga3ZtX3J1biAqa3ZtX3J1bikKewoJcmV0 dXJuIGt2bS0+Y2FsbGJhY2tzLT5pb193aW5kb3coa3ZtLT5vcGFxdWUpOwp9CgpzdGF0aWMg aW50IGhhbmRsZV9oYWx0KGt2bV9jb250ZXh0X3Qga3ZtLCBzdHJ1Y3Qga3ZtX3J1biAqa3Zt X3J1bikKewoJcmV0dXJuIGt2bS0+Y2FsbGJhY2tzLT5oYWx0KGt2bS0+b3BhcXVlLCBrdm1f cnVuLT52Y3B1KTsKfQoKaW50IGt2bV9ydW4oa3ZtX2NvbnRleHRfdCBrdm0sIGludCB2Y3B1 KQp7CglpbnQgcjsKCWludCBmZCA9IGt2bS0+ZmQ7CglzdHJ1Y3Qga3ZtX3J1biBrdm1fcnVu ID0gewoJCS52Y3B1ID0gdmNwdSwKCQkuZW11bGF0ZWQgPSAwLAoJCS5tbWlvX2NvbXBsZXRl ZCA9IDAsCgl9OwoKYWdhaW46CglyID0gaW9jdGwoZmQsIEtWTV9SVU4sICZrdm1fcnVuKTsK CWt2bV9ydW4uZW11bGF0ZWQgPSAwOwoJa3ZtX3J1bi5tbWlvX2NvbXBsZXRlZCA9IDA7Cglp ZiAociA9PSAtMSAmJiBlcnJubyAhPSBFSU5UUikgewoJCXByaW50Zigia3ZtX3J1bjogJW1c biIpOwoJCWV4aXQoMSk7Cgl9CglpZiAociA9PSAtMSkgewoJCXIgPSBoYW5kbGVfaW9fd2lu ZG93KGt2bSwgJmt2bV9ydW4pOwoJCWdvdG8gbW9yZTsKCX0KCXN3aXRjaCAoa3ZtX3J1bi5l eGl0X3R5cGUpIHsKCWNhc2UgS1ZNX0VYSVRfVFlQRV9GQUlMX0VOVFJZOgoJCXByaW50Zigi a3ZtX3J1bjogZmFpbGVkIGVudHJ5LCByZWFzb24gJXVcbiIsIAoJCSAgICAgICBrdm1fcnVu LmV4aXRfcmVhc29uICYgMHhmZmZmKTsKCQlleGl0KDEpOwoJCWJyZWFrOwoJY2FzZSBLVk1f RVhJVF9UWVBFX1ZNX0VYSVQ6CgkJc3dpdGNoIChrdm1fcnVuLmV4aXRfcmVhc29uKSB7CgkJ Y2FzZSBLVk1fRVhJVF9VTktOT1dOOgoJCQlwcmludGYoInVuaGFuZGxlZCB2bSBleGl0OiAg MHgleFxuIiwgCgkJCSAgICAgICBrdm1fcnVuLmh3LmhhcmR3YXJlX2V4aXRfcmVhc29uKTsK CQkJa3ZtX3Nob3dfcmVncyhrdm0sIHZjcHUpOwoJCQlhYm9ydCgpOwoJCQlicmVhazsKCQlj YXNlIEtWTV9FWElUX0VYQ0VQVElPTjoKCQkJcHJpbnRmKCJleGNlcHRpb24gJWQgKCV4KVxu IiwgCgkJCSAgICAgICBrdm1fcnVuLmV4LmV4Y2VwdGlvbiwKCQkJICAgICAgIGt2bV9ydW4u ZXguZXJyb3JfY29kZSk7CgkJCWFib3J0KCk7CgkJCWJyZWFrOwoJCWNhc2UgS1ZNX0VYSVRf SU86CgkJCXIgPSBoYW5kbGVfaW8oa3ZtLCAma3ZtX3J1bik7CgkJCWJyZWFrOwoJCWNhc2Ug S1ZNX0VYSVRfQ1BVSUQ6CgkJCXIgPSBoYW5kbGVfY3B1aWQoa3ZtLCAma3ZtX3J1bik7CgkJ CWJyZWFrOwoJCWNhc2UgS1ZNX0VYSVRfREVCVUc6CgkJCXIgPSBoYW5kbGVfZGVidWcoa3Zt LCAma3ZtX3J1bik7CgkJCWJyZWFrOwoJCWNhc2UgS1ZNX0VYSVRfTU1JTzoKCQkJciA9IGhh bmRsZV9tbWlvKGt2bSwgJmt2bV9ydW4pOwoJCQlicmVhazsKCQljYXNlIEtWTV9FWElUX0hM VDoKCQkJciA9IGhhbmRsZV9oYWx0KGt2bSwgJmt2bV9ydW4pOwoJCQlicmVhazsKCQlkZWZh dWx0OgoJCQlwcmludGYoInVuaGFuZGxlZCB2bSBleGl0OiAweCV4XG4iLCBrdm1fcnVuLmV4 aXRfcmVhc29uKTsKCQkJa3ZtX3Nob3dfcmVncyhrdm0sIHZjcHUpOwoJCQlhYm9ydCgpOwoJ CQlicmVhazsKCQl9Cgl9Cm1vcmU6CglpZiAoIXIpCgkJZ290byBhZ2FpbjsKCXJldHVybiBy Owp9CgppbnQga3ZtX2luamVjdF9pcnEoa3ZtX2NvbnRleHRfdCBrdm0sIGludCB2Y3B1LCB1 bnNpZ25lZCBpcnEpCnsKCXN0cnVjdCBrdm1faW50ZXJydXB0IGludHI7CgoJaW50ci52Y3B1 ID0gdmNwdTsKCWludHIuaXJxID0gaXJxOwoJcmV0dXJuIGlvY3RsKGt2bS0+ZmQsIEtWTV9J TlRFUlJVUFQsICZpbnRyKTsKfQoKaW50IGt2bV9ndWVzdF9kZWJ1Zyhrdm1fY29udGV4dF90 IGt2bSwgaW50IHZjcHUsIHN0cnVjdCBrdm1fZGVidWdfZ3Vlc3QgKmRiZykKewoJZGJnLT52 Y3B1ID0gdmNwdTsKCglyZXR1cm4gaW9jdGwoa3ZtLT5mZCwgS1ZNX0RFQlVHX0dVRVNULCBk YmcpOwp9CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci9l bXVsYXRvci8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA3NTUAMDAwMDc2 NAAwMDAwNzY0ADAwMDAwMDAwMDAwADEwNTIyMzMwMDQ1ADAxMjUwMAAgNQAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyL2VtdWxhdG9yLy5zdm4vAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAMDAwMDc1NQAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDAwMDAAMTA1MjYz MTc0MDEAMDEzMzcxACA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvZW11 bGF0b3IvLnN2bi9SRUFETUUudHh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNDQ0ADAwMDA3NjQA MDAwMDc2NAAwMDAwMDAwMDE2NgAxMDUyMjMzMDA0NQAwMTUwNjMAIDAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABhdmkAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAVGhpcyBpcyBhIFN1YnZlcnNpb24gd29ya2luZyBjb3B5IGFk bWluaXN0cmF0aXZlIGRpcmVjdG9yeS4KVmlzaXQgaHR0cDovL3N1YnZlcnNpb24udGlncmlz Lm9yZy8gZm9yIG1vcmUgaW5mb3JtYXRpb24uCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyL2VtdWxh dG9yLy5zdm4vdGV4dC1iYXNlLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDc1NQAwMDAwNzY0ADAw MDA3NjQAMDAwMDAwMDAwMDAAMTA1MjIzMzAwNDUAMDE1MjYwACA1AAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAHVzZXIvZW11bGF0b3IvLnN2bi9wcm9wLWJhc2UvAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAwMDAwNzU1ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDAwMAAxMDUyMjMzMDA0 NQAwMTUyNTQAIDUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci9lbXVsYXRv ci8uc3ZuL2Zvcm1hdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA0NDQAMDAwMDc2NAAwMDAw NzY0ADAwMDAwMDAwMDAyADEwNTIyMzMwMDQ1ADAxNDU2NQAgMAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA0CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvZW11bGF0b3Iv LnN2bi90bXAvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNzU1ADAwMDA3NjQAMDAwMDc2 NAAwMDAwMDAwMDAwMAAxMDUyNDMxMjQ0NAAwMTQxNzEAIDUAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAdXNlci9lbXVsYXRvci8uc3ZuL3RtcC90ZXh0LWJhc2UvAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAADAwMDA3NTUAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMDAwADEwNTIyMzMwMDQ1ADAx NjA2MAAgNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1 c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyL2VtdWxhdG9yLy5z dm4vdG1wL3Byb3AtYmFzZS8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDc1NQAwMDAwNzY0ADAwMDA3NjQA MDAwMDAwMDAwMDAAMTA1MjIzMzAwNDUAMDE2MDU0ACA1AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAHVzZXIvZW11bGF0b3IvLnN2bi90bXAvd2Nwcm9wcy8AAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAwMDAwNzU1ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDAwMAAxMDUyMjMzMDA0NQAwMTU2 NjEAIDUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0 YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci9lbXVsYXRvci8uc3Zu L3RtcC9wcm9wcy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA3NTUAMDAwMDc2NAAwMDAwNzY0ADAw MDAwMDAwMDAwADEwNTIyMzMwMDQ1ADAxNTMyNwAgNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAB1c2VyL2VtdWxhdG9yLy5zdm4vZW50cmllcwAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA MDAwMDQ0NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDA1NjYAMTA1MjQzMTI0NDQAMDE0Nzcy ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFy ICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADw/eG1sIHZlcnNpb249IjEuMCIg ZW5jb2Rpbmc9InV0Zi04Ij8+Cjx3Yy1lbnRyaWVzCiAgIHhtbG5zPSJzdm46Ij4KPGVudHJ5 CiAgIGNvbW1pdHRlZC1yZXY9IjIxOTAiCiAgIG5hbWU9IiIKICAgY29tbWl0dGVkLWRhdGU9 IjIwMDYtMDctMDRUMDg6NDU6MzcuMzYwNjcyWiIKICAgdXJsPSJzdm46Ly9jbGVvcGF0cmEu cS9zdm4va3ZtL2JyYW5jaGVzL3JlbGVhc2UvdXNlci9lbXVsYXRvciIKICAgbGFzdC1hdXRo b3I9ImF2aSIKICAga2luZD0iZGlyIgogICB1dWlkPSIxZTM5NDRlZS0yMGY3LTAzMTAtYjM2 MC1jMDY5ODllZjc5YmUiCiAgIHJlcG9zPSJzdm46Ly9jbGVvcGF0cmEucS9zdm4iCiAgIHJl dmlzaW9uPSIzNTM5Ii8+Cjwvd2MtZW50cmllcz4KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAdXNlci9lbXVsYXRvci8uc3ZuL2VtcHR5LWZpbGUAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAw MDA0NDQAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMDAwADEwNTIyMzMwMDQ1ADAxNTM0NgAg MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAg AGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyL2VtdWxhdG9yLy5zdm4vd2Nw cm9wcy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDc1NQAwMDAwNzY0ADAwMDA3NjQAMDAwMDAw MDAwMDAAMTA1MjIzMzAwNDUAMDE1MDYxACA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAHVzZXIvZW11bGF0b3IvLnN2bi9wcm9wcy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAw NzU1ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDAwMAAxMDUyMjMzMDA0NQAwMTQ1MjcAIDUA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABh dmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci9jb25maWd1cmUAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA3NTUAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAx MjMwADEwNTI0NjI2MjI0ADAxMjU2NAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAjIS9iaW4vc2gKCnByZWZpeD0vdXNyL2xvY2FsCmtlcm5lbGRpcj0vbGliL21vZHVsZXMv JCh1bmFtZSAtcikvYnVpbGQKCnVzYWdlKCkgewogICAgY2F0IDw8LUVPRgoJVXNhZ2U6ICQw IFtvcHRpb25zXQoKCU9wdGlvbnMgaW5jbHVkZToKCgkgICAgLS1wcmVmaXg9UFJFRklYICAg ICAgICB3aGVyZSB0byBpbnN0YWxsIHRoaW5ncyAoJHByZWZpeCkKCSAgICAtLWtlcm5lbGRp cj1ESVIgICAgICAgIGtlcm5lbCBidWlsZCBkaXJlY3RvcnkgZm9yIGt2bS5oICgka2VybmVs ZGlyKQpFT0YKICAgIGV4aXQgMQp9Cgp3aGlsZSBbWyAiJDEiID0gLSogXV07IGRvCiAgICBv cHQ9IiQxIjsgc2hpZnQKICAgIGFyZz0KICAgIGlmIFtbICIkb3B0IiA9ICo9KiBdXTsgdGhl bgoJYXJnPSIke29wdCMqPX0iCglvcHQ9IiR7b3B0JSU9Kn0iCiAgICBmaQogICAgY2FzZSAi JG9wdCIgaW4KCS0tcHJlZml4KQoJICAgIHByZWZpeD0iJGFyZyIKCSAgICA7OwoJLS1rZXJu ZWxkaXIpCgkgICAga2VybmVsZGlyPSIkYXJnIgoJICAgIDs7CgktLWhlbHApCgkgICAgdXNh Z2UKCSAgICA7OwoJKikKCSAgICB1c2FnZQoJICAgIDs7CiAgICBlc2FjCmRvbmUKCmNhdCA8 PEVPRiA+IGNvbmZpZy5tYWsKUFJFRklYPSRwcmVmaXgKS0VSTkVMRElSPSQocmVhZGxpbmsg LWYgJGtlcm5lbGRpcikKRU9GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA dXNlci8uc3ZuLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA3NTUA MDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMDAwADEwNTI2MzE3NDAxADAxMTU0MQAgNQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyLy5zdm4vUkVBRE1FLnR4dAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDAxNjYA MTA1MjIzMzAwNDQAMDEzMjMyACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABk aXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFRo aXMgaXMgYSBTdWJ2ZXJzaW9uIHdvcmtpbmcgY29weSBhZG1pbmlzdHJhdGl2ZSBkaXJlY3Rv cnkuClZpc2l0IGh0dHA6Ly9zdWJ2ZXJzaW9uLnRpZ3Jpcy5vcmcvIGZvciBtb3JlIGluZm9y bWF0aW9uLgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci8uc3ZuL3RleHQtYmFzZS8AAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAADAwMDA3NTUAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMDAwADEw NTI0NjI2MzYyADAxMzQ0NAAgNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlz dGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2Vy Ly5zdm4vdGV4dC1iYXNlL01ha2VmaWxlLnN2bi1iYXNlAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAw NzY0ADAwMDA3NjQAMDAwMDAwMDE3MzEAMTA1MjYzMTczNzcAMDE2NjI2ACAwAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAppbmNsdWRlIGNvbmZpZy5tYWsKCkNGTEFHUyA9IC1J ICQoS0VSTkVMRElSKS9pbmNsdWRlICQoYXV0b2RlcGVuZC1mbGFncykgLWcKQ1hYRkxBR1Mg PSAkKGF1dG9kZXBlbmQtZmxhZ3MpIAoKYXV0b2RlcGVuZC1mbGFncyA9IC1NTUQgLU1GICQo ZGlyICQqKS4kKG5vdGRpciAkKikuZAoKREVTVERJUiA9IAoKaWZlcSAoJChzaGVsbCB1bmFt ZSAtbSksIHg4Nl82NCkKTElCRElSID0gL2xpYjY0CmVsc2UKTElCRElSID0gL2xpYgplbmRp ZgoKYWxsOiBrdm1jdGwgbGlia3ZtLmEKCmt2bWN0bDoga3ZtY3RsLm8gbWFpbi5vCgpsaWJr dm0uYToga3ZtY3RsLm8KCSQoQVIpIHJjcyAkQCAkXgoKZmxhdGZpbGVzOiB0ZXN0L3NpbXBs ZS5mbGF0IHRlc3Qvc3RyaW5naW8uZmxhdCB0ZXN0L21lbXRlc3QxLmZsYXQgXAoJdGVzdC9p cnEuZmxhdCB0ZXN0L3NpZXZlLmZsYXQgdGVzdC9ib290c3RyYXAKCmluc3RhbGw6CglpbnN0 YWxsIC1EIGt2bWN0bC5oICQoREVTVERJUikvJChQUkVGSVgpL2luY2x1ZGUva3ZtY3RsLmgK CWluc3RhbGwgLUQgJChLRVJORUxESVIpL2luY2x1ZGUvbGludXgva3ZtLmggXAoJCSQoREVT VERJUikvJChQUkVGSVgpL2luY2x1ZGUvbGludXgva3ZtLmgKCWluc3RhbGwgLUQgbGlia3Zt LmEgJChERVNURElSKS8kKFBSRUZJWCkvJChMSUJESVIpL2xpYmt2bS5hCgolLmZsYXQ6ICUu bwoJZ2NjIC1ub3N0ZGxpYiAtbyAkQCAtV2wsLVQsZmxhdC5sZHMgJF4KCnRlc3QvYm9vdHN0 cmFwOiB0ZXN0L2Jvb3RzdHJhcC5vCglnY2MgLW5vc3RkbGliIC1vICRAIC1XbCwtVCxib290 c3RyYXAubGRzICReCgolLm86ICUuUwoJZ2NjIC1jIC1ub3N0ZGxpYiAtbyAkQCAkXgoKdGVz dC9pcnEuZmxhdDogdGVzdC9wcmludC5vCgp0ZXN0L3NpZXZlLmZsYXQ6IHRlc3QvY3N0YXJ0 NjQubyB0ZXN0L3NpZXZlLm8gdGVzdC9wcmludC5vIHRlc3Qvdm0ubwoKdGVzdC90ZXN0MzIu ZmxhdDogdGVzdC90ZXN0MzIubwoKLWluY2x1ZGUgLiouZAoAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyLy5zdm4vdGV4dC1iYXNlL2Jvb3RzdHJhcC5sZHMu c3ZuLWJhc2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDAzMzEAMTA1MjIz MzAwNDUAMDE3NjYxACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE9VVFBVVF9G T1JNQVQoYmluYXJ5KQoKU0VDVElPTlMKewogICAgLiA9IDA7CiAgICBzdGV4dCA9IC47CiAg ICAudGV4dCA6IHsgKiguaW5pdCkgKigudGV4dCkgfQogICAgLiA9IEFMSUdOKDRLKTsKICAg IC5kYXRhIDogeyAqKC5kYXRhKSB9CiAgICAuID0gQUxJR04oMTYpOwogICAgLmJzcyA6IHsg KiguYnNzKSB9CiAgICAuID0gQUxJR04oNEspOwogICAgZWRhdGEgPSAuOwp9CgoAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAdXNlci8uc3ZuL3RleHQtYmFzZS9rdm1jdGwuYy5zdm4tYmFz ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAADAwMDA0NDQAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDI0NTUzADEwNTIyMzMw MDQ0ADAxNjYxNwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjaW5jbHVkZSA8 dW5pc3RkLmg+CiNpbmNsdWRlIDxmY250bC5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1 ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3lzL21tYW4uaD4KI2luY2x1ZGUgPHN0cmluZy5o PgojaW5jbHVkZSA8ZXJybm8uaD4KI2luY2x1ZGUgImt2bWN0bC5oIgoKI2RlZmluZSBQQUdF X1NJWkUgNDA5NnVsCgpzdHJ1Y3Qga3ZtX2NvbnRleHQgewoJaW50IGZkOwoJc3RydWN0IGt2 bV9jYWxsYmFja3MgKmNhbGxiYWNrczsKCXZvaWQgKm9wYXF1ZTsKCXZvaWQgKnBoeXNpY2Fs X21lbW9yeTsKfTsKCnN0cnVjdCB0cmFuc2xhdGlvbl9jYWNoZSB7Cgl1bnNpZ25lZCBsb25n IGxpbmVhcjsKCXZvaWQgKnBoeXNpY2FsOwp9OwoKc3RhdGljIHZvaWQgdHJhbnNsYXRpb25f Y2FjaGVfaW5pdChzdHJ1Y3QgdHJhbnNsYXRpb25fY2FjaGUgKnRyKQp7Cgl0ci0+cGh5c2lj YWwgPSAwOwp9CgpzdGF0aWMgaW50IHRyYW5zbGF0ZShrdm1fY29udGV4dF90IGt2bSwgaW50 IHZjcHUsIHN0cnVjdCB0cmFuc2xhdGlvbl9jYWNoZSAqdHIsCgkJICAgICB1bnNpZ25lZCBs b25nIGxpbmVhciwgdm9pZCAqKnBoeXNpY2FsKQp7Cgl1bnNpZ25lZCBsb25nIHBhZ2UgPSBs aW5lYXIgJiB+KFBBR0VfU0laRS0xKTsKCXVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0gbGluZWFy ICYgKFBBR0VfU0laRS0xKTsKCglpZiAoISh0ci0+cGh5c2ljYWwgJiYgdHItPmxpbmVhciA9 PSBwYWdlKSkgewoJCXN0cnVjdCBrdm1fdHJhbnNsYXRpb24ga3ZtX3RyOwoJCWludCByOwoK CQlrdm1fdHIubGluZWFyX2FkZHJlc3MgPSBwYWdlOwoJCWt2bV90ci52Y3B1ID0gdmNwdTsK CQkKCQlyID0gaW9jdGwoa3ZtLT5mZCwgS1ZNX1RSQU5TTEFURSwgJmt2bV90cik7CgkJaWYg KHIgPT0gLTEpCgkJCXJldHVybiAtZXJybm87CgoJCWlmICgha3ZtX3RyLnZhbGlkKQoJCQly ZXR1cm4gLUVGQVVMVDsKCgkJdHItPmxpbmVhciA9IHBhZ2U7CgkJdHItPnBoeXNpY2FsID0g a3ZtLT5waHlzaWNhbF9tZW1vcnkgKyBrdm1fdHIucGh5c2ljYWxfYWRkcmVzczsKCX0KCSpw aHlzaWNhbCA9IHRyLT5waHlzaWNhbCArIG9mZnNldDsKCXJldHVybiAwOwp9Cgprdm1fY29u dGV4dF90IGt2bV9pbml0KHN0cnVjdCBrdm1fY2FsbGJhY2tzICpjYWxsYmFja3MsCgkJICAg ICAgIHZvaWQgKm9wYXF1ZSkKewoJaW50IGZkOwoJa3ZtX2NvbnRleHRfdCBrdm07CgoJZmQg PSBvcGVuKCIvZGV2L2t2bSIsIE9fUkRXUik7CglpZiAoZmQgPT0gLTEpIHsKCQlwcmludGYo Im9wZW46ICVtXG4iKTsKCQlleGl0KDEpOwoJfQoJa3ZtID0gbWFsbG9jKHNpemVvZigqa3Zt KSk7Cglrdm0tPmZkID0gZmQ7Cglrdm0tPmNhbGxiYWNrcyA9IGNhbGxiYWNrczsKCWt2bS0+ b3BhcXVlID0gb3BhcXVlOwoJcmV0dXJuIGt2bTsKfQoKaW50IGt2bV9jcmVhdGUoa3ZtX2Nv bnRleHRfdCBrdm0sIHVuc2lnbmVkIGxvbmcgbWVtb3J5LCB2b2lkICoqdm1fbWVtKQp7Cgl1 bnNpZ25lZCBsb25nIGRvc21lbSA9IDB4YTAwMDA7Cgl1bnNpZ25lZCBsb25nIGV4bWVtID0g MHhjMDAwMDsKCWludCBmZCA9IGt2bS0+ZmQ7CglpbnQgcjsKCXN0cnVjdCBrdm1fbWVtb3J5 X3JlZ2lvbiBsb3dfbWVtb3J5ID0gewoJCS5zbG90ID0gMywKCQkubWVtb3J5X3NpemUgPSBt ZW1vcnkgIDwgZG9zbWVtID8gbWVtb3J5IDogZG9zbWVtLAoJCS5ndWVzdF9waHlzX2FkZHIg PSAwLAoJfTsKCXN0cnVjdCBrdm1fbWVtb3J5X3JlZ2lvbiBleHRlbmRlZF9tZW1vcnkgPSB7 CgkJLnNsb3QgPSAwLAoJCS5tZW1vcnlfc2l6ZSA9IG1lbW9yeSA8IGV4bWVtID8gMCA6IG1l bW9yeSAtIGV4bWVtLAoJCS5ndWVzdF9waHlzX2FkZHIgPSBleG1lbSwKCX07CgoJLyogNjQw SyBzaG91bGQgYmUgZW5vdWdoLiAqLwoJciA9IGlvY3RsKGZkLCBLVk1fU0VUX01FTU9SWV9S RUdJT04sICZsb3dfbWVtb3J5KTsKCWlmIChyID09IC0xKSB7CgkJcHJpbnRmKCJrdm1fY3Jl YXRlX21lbW9yeV9yZWdpb246ICVtXG4iKTsKCQlleGl0KDEpOwoJfQoJaWYgKGV4dGVuZGVk X21lbW9yeS5tZW1vcnlfc2l6ZSkgewoJCXIgPSBpb2N0bChmZCwgS1ZNX1NFVF9NRU1PUllf UkVHSU9OLCAmZXh0ZW5kZWRfbWVtb3J5KTsKCQlpZiAociA9PSAtMSkgewoJCQlwcmludGYo Imt2bV9jcmVhdGVfbWVtb3J5X3JlZ2lvbjogJW1cbiIpOwoJCQlleGl0KDEpOwoJCX0KCX0K Cgkqdm1fbWVtID0gbW1hcCgwLCBtZW1vcnksIFBST1RfUkVBRHxQUk9UX1dSSVRFLCBNQVBf U0hBUkVELCBmZCwgMCk7CglpZiAoKnZtX21lbSA9PSBNQVBfRkFJTEVEKSB7CgkJcHJpbnRm KCJtbWFwOiAlbVxuIik7CgkJZXhpdCgxKTsKCX0KCWt2bS0+cGh5c2ljYWxfbWVtb3J5ID0g KnZtX21lbTsKCglyID0gaW9jdGwoZmQsIEtWTV9DUkVBVEVfVkNQVSwgMCk7CglpZiAociA9 PSAtMSkgewoJCXByaW50Zigia3ZtX2NyZWF0ZV92Y3B1OiAlbVxuIik7CgkJZXhpdCgxKTsK CX0KCXJldHVybiAwOwp9Cgp2b2lkICprdm1fY3JlYXRlX3BoeXNfbWVtKGt2bV9jb250ZXh0 X3Qga3ZtLCB1bnNpZ25lZCBsb25nIHBoeXNfc3RhcnQsIAoJCQkgIHVuc2lnbmVkIGxvbmcg bGVuLCBpbnQgc2xvdCwgaW50IGxvZywgaW50IHdyaXRhYmxlKQp7Cgl2b2lkICpwdHI7Cglp bnQgcjsKCWludCBmZCA9IGt2bS0+ZmQ7CglpbnQgcHJvdCA9IFBST1RfUkVBRDsKCXN0cnVj dCBrdm1fbWVtb3J5X3JlZ2lvbiBtZW1vcnkgPSB7CgkJLnNsb3QgPSBzbG90LAoJCS5tZW1v cnlfc2l6ZSA9IGxlbiwKCQkuZ3Vlc3RfcGh5c19hZGRyID0gcGh5c19zdGFydCwKCQkuZmxh Z3MgPSBsb2cgPyBLVk1fTUVNX0xPR19ESVJUWV9QQUdFUyA6IDAsCgl9OwoKCXIgPSBpb2N0 bChmZCwgS1ZNX1NFVF9NRU1PUllfUkVHSU9OLCAmbWVtb3J5KTsKCWlmIChyID09IC0xKQoJ ICAgIHJldHVybiAwOwoKCWlmICh3cml0YWJsZSkKCQlwcm90IHw9IFBST1RfV1JJVEU7CgoJ cHRyID0gbW1hcCgwLCBsZW4sIHByb3QsIE1BUF9TSEFSRUQsIGZkLCBwaHlzX3N0YXJ0KTsK CWlmIChwdHIgPT0gTUFQX0ZBSUxFRCkKCQlyZXR1cm4gMDsKCXJldHVybiBwdHI7Cn0KCnZv aWQga3ZtX2Rlc3Ryb3lfcGh5c19tZW0oa3ZtX2NvbnRleHRfdCBrdm0sIHVuc2lnbmVkIGxv bmcgcGh5c19zdGFydCwgCgkJCSAgdW5zaWduZWQgbG9uZyBsZW4pCnsKCXByaW50Zigia3Zt X2Rlc3Ryb3lfcGh5c19tZW06IGltcGxlbWVudCBtZVxuIik7CglleGl0KDEpOwp9CgoKdm9p ZCBrdm1fZ2V0X2RpcnR5X3BhZ2VzKGt2bV9jb250ZXh0X3Qga3ZtLCBpbnQgc2xvdCwgdm9p ZCAqYnVmKQp7CglpbnQgcjsKCXN0cnVjdCBrdm1fZGlydHlfbG9nIGxvZyA9IHsKCQkuc2xv dCA9IHNsb3QsCgl9OwoKCWxvZy5kaXJ0eV9iaXRtYXAgPSBidWY7CgoJciA9IGlvY3RsKGt2 bS0+ZmQsIEtWTV9HRVRfRElSVFlfTE9HLCAmbG9nKTsKCWlmIChyID09IC0xKQoJCWV4aXQo MSk7Cn0KCnN0YXRpYyBpbnQgbW9yZV9pbyhzdHJ1Y3Qga3ZtX3J1biAqcnVuLCBpbnQgZmly c3RfdGltZSkKewoJaWYgKCFydW4tPmlvLnJlcCkKCQlyZXR1cm4gZmlyc3RfdGltZTsKCWVs c2UKCQlyZXR1cm4gcnVuLT5pby5jb3VudCAhPSAwOwp9CgppbnQgaGFuZGxlX2lvKGt2bV9j b250ZXh0X3Qga3ZtLCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKQp7Cgl1aW50MTZfdCBhZGRyID0g cnVuLT5pby5wb3J0OwoJc3RydWN0IGt2bV9yZWdzIHJlZ3M7CglpbnQgZmlyc3RfdGltZSA9 IDE7CglpbnQgZGVsdGE7CglzdHJ1Y3QgdHJhbnNsYXRpb25fY2FjaGUgdHI7CgoJdHJhbnNs YXRpb25fY2FjaGVfaW5pdCgmdHIpOwoKCXJlZ3MudmNwdSA9IHJ1bi0+dmNwdTsKCWlvY3Rs KGt2bS0+ZmQsIEtWTV9HRVRfUkVHUywgJnJlZ3MpOwoKCWRlbHRhID0gcnVuLT5pby5zdHJp bmdfZG93biA/IC1ydW4tPmlvLnNpemUgOiBydW4tPmlvLnNpemU7CgoJd2hpbGUgKG1vcmVf aW8ocnVuLCBmaXJzdF90aW1lKSkgewoJCXZvaWQgKnZhbHVlX2FkZHI7CgkJaW50IHI7CgoJ CWlmICghcnVuLT5pby5zdHJpbmcpCgkJCXZhbHVlX2FkZHIgPSAmcmVncy5yYXg7CgkJZWxz ZSB7CgkJCXIgPSB0cmFuc2xhdGUoa3ZtLCBydW4tPnZjcHUsICZ0ciwgcnVuLT5pby5hZGRy ZXNzLCAKCQkJCSAgICAgICZ2YWx1ZV9hZGRyKTsKCQkJaWYgKHIpIHsKCQkJCXByaW50Zigi ZmFpbGVkIHRyYW5zbGF0aW5nIEkvTyBhZGRyZXNzICV4XG4iLAoJCQkJICAgICAgIHJ1bi0+ aW8uYWRkcmVzcyk7CgkJCQlleGl0KDEpOwoJCQl9CgkJfQoKCQlzd2l0Y2ggKHJ1bi0+aW8u ZGlyZWN0aW9uKSB7CgkJY2FzZSBLVk1fRVhJVF9JT19JTjogewoJCQlzd2l0Y2ggKHJ1bi0+ aW8uc2l6ZSkgewoJCQljYXNlIDE6IHsKCQkJCXVpbnQ4X3QgdmFsdWU7CgkJCQlyID0ga3Zt LT5jYWxsYmFja3MtPmluYihrdm0tPm9wYXF1ZSwgYWRkciwgJnZhbHVlKTsKCQkJCSoodWlu dDhfdCAqKXZhbHVlX2FkZHIgPSB2YWx1ZTsKCQkJCWJyZWFrOwoJCQl9CgkJCWNhc2UgMjog ewoJCQkJdWludDE2X3QgdmFsdWU7CgkJCQlyID0ga3ZtLT5jYWxsYmFja3MtPmludyhrdm0t Pm9wYXF1ZSwgYWRkciwgJnZhbHVlKTsKCQkJCSoodWludDE2X3QgKil2YWx1ZV9hZGRyID0g dmFsdWU7CgkJCQlicmVhazsKCQkJfQoJCQljYXNlIDQ6IHsKCQkJCXVpbnQzMl90IHZhbHVl OwoJCQkJciA9IGt2bS0+Y2FsbGJhY2tzLT5pbmwoa3ZtLT5vcGFxdWUsIGFkZHIsICZ2YWx1 ZSk7CgkJCQkqKHVpbnQzMl90ICopdmFsdWVfYWRkciA9IHZhbHVlOwoJCQkJYnJlYWs7CgkJ CX0KCQkJZGVmYXVsdDoKCQkJCXByaW50ZigiYmFkIEkvTyBzaXplXG4iKTsKCQkJCWV4aXQo MSk7CgkJCX0KCQkJYnJlYWs7CgkJfQoJCWNhc2UgS1ZNX0VYSVRfSU9fT1VUOgoJCQlzd2l0 Y2ggKHJ1bi0+aW8uc2l6ZSkgewoJCQljYXNlIDE6CgkJCQlyID0ga3ZtLT5jYWxsYmFja3Mt Pm91dGIoa3ZtLT5vcGFxdWUsIGFkZHIsCgkJCQkJCSAgICAgKih1aW50OF90ICopdmFsdWVf YWRkcik7CgkJCQlicmVhazsKCQkJY2FzZSAyOgoJCQkJciA9IGt2bS0+Y2FsbGJhY2tzLT5v dXR3KGt2bS0+b3BhcXVlLCBhZGRyLAoJCQkJCQkgICAgICoodWludDE2X3QgKil2YWx1ZV9h ZGRyKTsKCQkJCWJyZWFrOwoJCQljYXNlIDQ6CgkJCQlyID0ga3ZtLT5jYWxsYmFja3MtPm91 dGwoa3ZtLT5vcGFxdWUsIGFkZHIsCgkJCQkJCSAgICAgKih1aW50MzJfdCAqKXZhbHVlX2Fk ZHIpOwoJCQkJYnJlYWs7CgkJCWRlZmF1bHQ6CgkJCQlwcmludGYoImJhZCBJL08gc2l6ZVxu Iik7CgkJCQlleGl0KDEpOwoJCQl9CgkJCWJyZWFrOwoJCWRlZmF1bHQ6CgkJCXByaW50Zigi YmFkIEkvTyBzaXplXG4iKTsKCQkJZXhpdCgxKTsKCQl9CgkJaWYgKHJ1bi0+aW8uc3RyaW5n KSB7CgkJCXJ1bi0+aW8uYWRkcmVzcyArPSBkZWx0YTsKCQkJc3dpdGNoIChydW4tPmlvLmRp cmVjdGlvbikgewoJCQljYXNlIEtWTV9FWElUX0lPX0lOOiAgcmVncy5yZGkgKz0gZGVsdGE7 IGJyZWFrOwoJCQljYXNlIEtWTV9FWElUX0lPX09VVDogcmVncy5yc2kgKz0gZGVsdGE7IGJy ZWFrOwoJCQl9CgkJCWlmIChydW4tPmlvLnJlcCkgewoJCQkJLS1yZWdzLnJjeDsKCQkJCS0t cnVuLT5pby5jb3VudDsKCQkJfQoJCX0KCQlmaXJzdF90aW1lID0gMDsKCQlpZiAocikgewoJ CQlpb2N0bChrdm0tPmZkLCBLVk1fU0VUX1JFR1MsICZyZWdzKTsKCQkJcmV0dXJuIHI7CgkJ fQoJfQoKCWlvY3RsKGt2bS0+ZmQsIEtWTV9TRVRfUkVHUywgJnJlZ3MpOwoJcnVuLT5lbXVs YXRlZCA9IDE7CglyZXR1cm4gMDsKfQoKaW50IGhhbmRsZV9kZWJ1Zyhrdm1fY29udGV4dF90 IGt2bSwgc3RydWN0IGt2bV9ydW4gKnJ1bikKewoJcmV0dXJuIGt2bS0+Y2FsbGJhY2tzLT5k ZWJ1Zyhrdm0tPm9wYXF1ZSwgcnVuLT52Y3B1KTsKfQoKaW50IGt2bV9nZXRfcmVncyhrdm1f Y29udGV4dF90IGt2bSwgaW50IHZjcHUsIHN0cnVjdCBrdm1fcmVncyAqcmVncykKewogICAg cmVncy0+dmNwdSA9IHZjcHU7CiAgICByZXR1cm4gaW9jdGwoa3ZtLT5mZCwgS1ZNX0dFVF9S RUdTLCByZWdzKTsKfQoKaW50IGt2bV9zZXRfcmVncyhrdm1fY29udGV4dF90IGt2bSwgaW50 IHZjcHUsIHN0cnVjdCBrdm1fcmVncyAqcmVncykKewogICAgcmVncy0+dmNwdSA9IHZjcHU7 CiAgICByZXR1cm4gaW9jdGwoa3ZtLT5mZCwgS1ZNX1NFVF9SRUdTLCByZWdzKTsKfQoKaW50 IGt2bV9nZXRfc3JlZ3Moa3ZtX2NvbnRleHRfdCBrdm0sIGludCB2Y3B1LCBzdHJ1Y3Qga3Zt X3NyZWdzICpzcmVncykKewogICAgc3JlZ3MtPnZjcHUgPSB2Y3B1OwogICAgcmV0dXJuIGlv Y3RsKGt2bS0+ZmQsIEtWTV9HRVRfU1JFR1MsIHNyZWdzKTsKfQoKaW50IGt2bV9zZXRfc3Jl Z3Moa3ZtX2NvbnRleHRfdCBrdm0sIGludCB2Y3B1LCBzdHJ1Y3Qga3ZtX3NyZWdzICpzcmVn cykKewogICAgc3JlZ3MtPnZjcHUgPSB2Y3B1OwogICAgcmV0dXJuIGlvY3RsKGt2bS0+ZmQs IEtWTV9TRVRfU1JFR1MsIHNyZWdzKTsKfQoKdm9pZCBrdm1fc2hvd19yZWdzKGt2bV9jb250 ZXh0X3Qga3ZtLCBpbnQgdmNwdSkKewoJaW50IGZkID0ga3ZtLT5mZDsKCXN0cnVjdCBrdm1f cmVncyByZWdzOwoJaW50IHI7CgoJcmVncy52Y3B1ID0gdmNwdTsKCXIgPSBpb2N0bChmZCwg S1ZNX0dFVF9SRUdTLCAmcmVncyk7CglpZiAociA9PSAtMSkgewoJCXBlcnJvcigiS1ZNX0dF VF9SRUdTIik7CgkJZXhpdCgxKTsKCX0KCXByaW50ZigicmF4ICUwMTZsbHggcmJ4ICUwMTZs bHggcmN4ICUwMTZsbHggcmR4ICUwMTZsbHhcbiIKCSAgICAgICAicnNpICUwMTZsbHggcmRp ICUwMTZsbHggcnNwICUwMTZsbHggcmJwICUwMTZsbHhcbiIKCSAgICAgICAicjggICUwMTZs bHggcjkgICUwMTZsbHggcjEwICUwMTZsbHggcjExICUwMTZsbHhcbiIKCSAgICAgICAicjEy ICUwMTZsbHggcjEzICUwMTZsbHggcjE0ICUwMTZsbHggcjE1ICUwMTZsbHhcbiIKCSAgICAg ICAicmlwICUwMTZsbHggcmZsYWdzICUwOGxseFxuIiwKCSAgICAgICByZWdzLnJheCwgcmVn cy5yYngsIHJlZ3MucmN4LCByZWdzLnJkeCwKCSAgICAgICByZWdzLnJzaSwgcmVncy5yZGks IHJlZ3MucnNwLCByZWdzLnJicCwKCSAgICAgICByZWdzLnI4LCAgcmVncy5yOSwgIHJlZ3Mu cjEwLCByZWdzLnIxMSwKCSAgICAgICByZWdzLnIxMiwgcmVncy5yMTMsIHJlZ3MucjE0LCBy ZWdzLnIxNSwKCSAgICAgICByZWdzLnJpcCwgcmVncy5yZmxhZ3MpOwp9CgpzdGF0aWMgaW50 IGhhbmRsZV9jcHVpZChrdm1fY29udGV4dF90IGt2bSwgc3RydWN0IGt2bV9ydW4gKnJ1bikK ewoJc3RydWN0IGt2bV9yZWdzIHJlZ3M7Cgl1aW50MzJfdCBvcmlnX2VheDsKCWludCByOwoK CWt2bV9nZXRfcmVncyhrdm0sIHJ1bi0+dmNwdSwgJnJlZ3MpOwoJb3JpZ19lYXggPSByZWdz LnJheDsKCXIgPSBrdm0tPmNhbGxiYWNrcy0+Y3B1aWQoa3ZtLT5vcGFxdWUsIAoJCQkgICAg ICAmcmVncy5yYXgsICZyZWdzLnJieCwgJnJlZ3MucmN4LCAmcmVncy5yZHgpOwoJaWYgKG9y aWdfZWF4ID09IDEpCgkJcmVncy5yZHggJj0gfigxdWxsIDw8IDEyKTsgLyogZGlzYWJsZSBt dHJyIHN1cHBvcnQgKi8KCWt2bV9zZXRfcmVncyhrdm0sIHJ1bi0+dmNwdSwgJnJlZ3MpOwoJ cnVuLT5lbXVsYXRlZCA9IDE7CglyZXR1cm4gcjsKfQoKc3RhdGljIGludCBoYW5kbGVfbW1p byhrdm1fY29udGV4dF90IGt2bSwgc3RydWN0IGt2bV9ydW4gKmt2bV9ydW4pCnsKCXVuc2ln bmVkIGxvbmcgYWRkciA9IGt2bV9ydW4tPm1taW8ucGh5c19hZGRyOwoJdm9pZCAqZGF0YSA9 IGt2bV9ydW4tPm1taW8uZGF0YTsKCWludCByID0gLTE7CgoJaWYgKGt2bV9ydW4tPm1taW8u aXNfd3JpdGUpIHsKCQlzd2l0Y2ggKGt2bV9ydW4tPm1taW8ubGVuKSB7CgkJY2FzZSAxOgoJ CQlyID0ga3ZtLT5jYWxsYmFja3MtPndyaXRlYihrdm0tPm9wYXF1ZSwgYWRkciwgKih1aW50 OF90ICopZGF0YSk7CgkJCWJyZWFrOwoJCWNhc2UgMjoKCQkJciA9IGt2bS0+Y2FsbGJhY2tz LT53cml0ZXcoa3ZtLT5vcGFxdWUsIGFkZHIsICoodWludDE2X3QgKilkYXRhKTsKCQkJYnJl YWs7CgkJY2FzZSA0OgoJCQlyID0ga3ZtLT5jYWxsYmFja3MtPndyaXRlbChrdm0tPm9wYXF1 ZSwgYWRkciwgKih1aW50MzJfdCAqKWRhdGEpOwoJCQlicmVhazsKCQljYXNlIDg6CgkJCXIg PSBrdm0tPmNhbGxiYWNrcy0+d3JpdGVxKGt2bS0+b3BhcXVlLCBhZGRyLCAqKHVpbnQ2NF90 ICopZGF0YSk7CgkJCWJyZWFrOwoJCX0KCX0gZWxzZSB7CgkJc3dpdGNoIChrdm1fcnVuLT5t bWlvLmxlbikgewoJCWNhc2UgMToKCQkJciA9IGt2bS0+Y2FsbGJhY2tzLT5yZWFkYihrdm0t Pm9wYXF1ZSwgYWRkciwgKHVpbnQ4X3QgKilkYXRhKTsKCQkJYnJlYWs7CgkJY2FzZSAyOgoJ CQlyID0ga3ZtLT5jYWxsYmFja3MtPnJlYWR3KGt2bS0+b3BhcXVlLCBhZGRyLCAodWludDE2 X3QgKilkYXRhKTsKCQkJYnJlYWs7CgkJY2FzZSA0OgoJCQlyID0ga3ZtLT5jYWxsYmFja3Mt PnJlYWRsKGt2bS0+b3BhcXVlLCBhZGRyLCAodWludDMyX3QgKilkYXRhKTsKCQkJYnJlYWs7 CgkJY2FzZSA4OgoJCQlyID0ga3ZtLT5jYWxsYmFja3MtPnJlYWRxKGt2bS0+b3BhcXVlLCBh ZGRyLCAodWludDY0X3QgKilkYXRhKTsKCQkJYnJlYWs7CgkJfQoJCWt2bV9ydW4tPm1taW9f Y29tcGxldGVkID0gMTsKCX0KCXJldHVybiByOwp9CgpzdGF0aWMgaW50IGhhbmRsZV9pb193 aW5kb3coa3ZtX2NvbnRleHRfdCBrdm0sIHN0cnVjdCBrdm1fcnVuICprdm1fcnVuKQp7Cgly ZXR1cm4ga3ZtLT5jYWxsYmFja3MtPmlvX3dpbmRvdyhrdm0tPm9wYXF1ZSk7Cn0KCnN0YXRp YyBpbnQgaGFuZGxlX2hhbHQoa3ZtX2NvbnRleHRfdCBrdm0sIHN0cnVjdCBrdm1fcnVuICpr dm1fcnVuKQp7CglyZXR1cm4ga3ZtLT5jYWxsYmFja3MtPmhhbHQoa3ZtLT5vcGFxdWUsIGt2 bV9ydW4tPnZjcHUpOwp9CgppbnQga3ZtX3J1bihrdm1fY29udGV4dF90IGt2bSwgaW50IHZj cHUpCnsKCWludCByOwoJaW50IGZkID0ga3ZtLT5mZDsKCXN0cnVjdCBrdm1fcnVuIGt2bV9y dW4gPSB7CgkJLnZjcHUgPSB2Y3B1LAoJCS5lbXVsYXRlZCA9IDAsCgkJLm1taW9fY29tcGxl dGVkID0gMCwKCX07CgphZ2FpbjoKCXIgPSBpb2N0bChmZCwgS1ZNX1JVTiwgJmt2bV9ydW4p OwoJa3ZtX3J1bi5lbXVsYXRlZCA9IDA7Cglrdm1fcnVuLm1taW9fY29tcGxldGVkID0gMDsK CWlmIChyID09IC0xICYmIGVycm5vICE9IEVJTlRSKSB7CgkJcHJpbnRmKCJrdm1fcnVuOiAl bVxuIik7CgkJZXhpdCgxKTsKCX0KCWlmIChyID09IC0xKSB7CgkJciA9IGhhbmRsZV9pb193 aW5kb3coa3ZtLCAma3ZtX3J1bik7CgkJZ290byBtb3JlOwoJfQoJc3dpdGNoIChrdm1fcnVu LmV4aXRfdHlwZSkgewoJY2FzZSBLVk1fRVhJVF9UWVBFX0ZBSUxfRU5UUlk6CgkJcHJpbnRm KCJrdm1fcnVuOiBmYWlsZWQgZW50cnksIHJlYXNvbiAldVxuIiwgCgkJICAgICAgIGt2bV9y dW4uZXhpdF9yZWFzb24gJiAweGZmZmYpOwoJCWV4aXQoMSk7CgkJYnJlYWs7CgljYXNlIEtW TV9FWElUX1RZUEVfVk1fRVhJVDoKCQlzd2l0Y2ggKGt2bV9ydW4uZXhpdF9yZWFzb24pIHsK CQljYXNlIEtWTV9FWElUX1VOS05PV046CgkJCXByaW50ZigidW5oYW5kbGVkIHZtIGV4aXQ6 ICAweCV4XG4iLCAKCQkJICAgICAgIGt2bV9ydW4uaHcuaGFyZHdhcmVfZXhpdF9yZWFzb24p OwoJCQlrdm1fc2hvd19yZWdzKGt2bSwgdmNwdSk7CgkJCWFib3J0KCk7CgkJCWJyZWFrOwoJ CWNhc2UgS1ZNX0VYSVRfRVhDRVBUSU9OOgoJCQlwcmludGYoImV4Y2VwdGlvbiAlZCAoJXgp XG4iLCAKCQkJICAgICAgIGt2bV9ydW4uZXguZXhjZXB0aW9uLAoJCQkgICAgICAga3ZtX3J1 bi5leC5lcnJvcl9jb2RlKTsKCQkJYWJvcnQoKTsKCQkJYnJlYWs7CgkJY2FzZSBLVk1fRVhJ VF9JTzoKCQkJciA9IGhhbmRsZV9pbyhrdm0sICZrdm1fcnVuKTsKCQkJYnJlYWs7CgkJY2Fz ZSBLVk1fRVhJVF9DUFVJRDoKCQkJciA9IGhhbmRsZV9jcHVpZChrdm0sICZrdm1fcnVuKTsK CQkJYnJlYWs7CgkJY2FzZSBLVk1fRVhJVF9ERUJVRzoKCQkJciA9IGhhbmRsZV9kZWJ1Zyhr dm0sICZrdm1fcnVuKTsKCQkJYnJlYWs7CgkJY2FzZSBLVk1fRVhJVF9NTUlPOgoJCQlyID0g aGFuZGxlX21taW8oa3ZtLCAma3ZtX3J1bik7CgkJCWJyZWFrOwoJCWNhc2UgS1ZNX0VYSVRf SExUOgoJCQlyID0gaGFuZGxlX2hhbHQoa3ZtLCAma3ZtX3J1bik7CgkJCWJyZWFrOwoJCWRl ZmF1bHQ6CgkJCXByaW50ZigidW5oYW5kbGVkIHZtIGV4aXQ6IDB4JXhcbiIsIGt2bV9ydW4u ZXhpdF9yZWFzb24pOwoJCQlrdm1fc2hvd19yZWdzKGt2bSwgdmNwdSk7CgkJCWFib3J0KCk7 CgkJCWJyZWFrOwoJCX0KCX0KbW9yZToKCWlmICghcikKCQlnb3RvIGFnYWluOwoJcmV0dXJu IHI7Cn0KCmludCBrdm1faW5qZWN0X2lycShrdm1fY29udGV4dF90IGt2bSwgaW50IHZjcHUs IHVuc2lnbmVkIGlycSkKewoJc3RydWN0IGt2bV9pbnRlcnJ1cHQgaW50cjsKCglpbnRyLnZj cHUgPSB2Y3B1OwoJaW50ci5pcnEgPSBpcnE7CglyZXR1cm4gaW9jdGwoa3ZtLT5mZCwgS1ZN X0lOVEVSUlVQVCwgJmludHIpOwp9CgppbnQga3ZtX2d1ZXN0X2RlYnVnKGt2bV9jb250ZXh0 X3Qga3ZtLCBpbnQgdmNwdSwgc3RydWN0IGt2bV9kZWJ1Z19ndWVzdCAqZGJnKQp7CglkYmct PnZjcHUgPSB2Y3B1OwoKCXJldHVybiBpb2N0bChrdm0tPmZkLCBLVk1fREVCVUdfR1VFU1Qs IGRiZyk7Cn0KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2Vy Ly5zdm4vdGV4dC1iYXNlL2NvbmZpZ3VyZS5zdm4tYmFzZQAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAw NzY0ADAwMDA3NjQAMDAwMDAwMDEyMzAAMTA1MjQ2MjYzNjIAMDE3MDU3ACAwAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAACMhL2Jpbi9zaAoKcHJlZml4PS91c3IvbG9jYWwKa2Vy bmVsZGlyPS9saWIvbW9kdWxlcy8kKHVuYW1lIC1yKS9idWlsZAoKdXNhZ2UoKSB7CiAgICBj YXQgPDwtRU9GCglVc2FnZTogJDAgW29wdGlvbnNdCgoJT3B0aW9ucyBpbmNsdWRlOgoKCSAg ICAtLXByZWZpeD1QUkVGSVggICAgICAgIHdoZXJlIHRvIGluc3RhbGwgdGhpbmdzICgkcHJl Zml4KQoJICAgIC0ta2VybmVsZGlyPURJUiAgICAgICAga2VybmVsIGJ1aWxkIGRpcmVjdG9y eSBmb3Iga3ZtLmggKCRrZXJuZWxkaXIpCkVPRgogICAgZXhpdCAxCn0KCndoaWxlIFtbICIk MSIgPSAtKiBdXTsgZG8KICAgIG9wdD0iJDEiOyBzaGlmdAogICAgYXJnPQogICAgaWYgW1sg IiRvcHQiID0gKj0qIF1dOyB0aGVuCglhcmc9IiR7b3B0Iyo9fSIKCW9wdD0iJHtvcHQlJT0q fSIKICAgIGZpCiAgICBjYXNlICIkb3B0IiBpbgoJLS1wcmVmaXgpCgkgICAgcHJlZml4PSIk YXJnIgoJICAgIDs7CgktLWtlcm5lbGRpcikKCSAgICBrZXJuZWxkaXI9IiRhcmciCgkgICAg OzsKCS0taGVscCkKCSAgICB1c2FnZQoJICAgIDs7CgkqKQoJICAgIHVzYWdlCgkgICAgOzsK ICAgIGVzYWMKZG9uZQoKY2F0IDw8RU9GID4gY29uZmlnLm1hawpQUkVGSVg9JHByZWZpeApL RVJORUxESVI9JChyZWFkbGluayAtZiAka2VybmVsZGlyKQpFT0YAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyLy5zdm4vdGV4dC1iYXNlL21haW4uYy5zdm4tYmFz ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDY0NjYAMTA1MjYz MTczMjUAMDE2MjYxACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACNpbmNsdWRl ICJrdm1jdGwuaCIKCiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8dW5pc3RkLmg+CiNp bmNsdWRlIDxmY250bC5oPgojaW5jbHVkZSA8c3RkbGliLmg+Cgprdm1fY29udGV4dF90IGt2 bTsKCnN0YXRpYyBpbnQgdGVzdF9jcHVpZCh2b2lkICpvcGFxdWUsIHVpbnQ2NF90ICpyYXgs IHVpbnQ2NF90ICpyYngsIAoJCSAgICAgICB1aW50NjRfdCAqcmN4LCB1aW50NjRfdCAqcmR4 KQp7CiAgICBwcmludGYoImNwdWlkIDB4JWx4XG4iLCAodWludDMyX3QpKnJheCk7CiAgICBy ZXR1cm4gMDsKfQoKc3RhdGljIGludCB0ZXN0X2luYih2b2lkICpvcGFxdWUsIHVpbnQxNl90 IGFkZHIsIHVpbnQ4X3QgKnZhbHVlKQp7CiAgICBwcmludGYoImluYiAweCV4XG4iLCBhZGRy KTsKICAgIHJldHVybiAwOwp9CgpzdGF0aWMgaW50IHRlc3RfaW53KHZvaWQgKm9wYXF1ZSwg dWludDE2X3QgYWRkciwgdWludDE2X3QgKnZhbHVlKQp7CiAgICBwcmludGYoImludyAweCV4 XG4iLCBhZGRyKTsKICAgIHJldHVybiAwOwp9CgpzdGF0aWMgaW50IHRlc3RfaW5sKHZvaWQg Km9wYXF1ZSwgdWludDE2X3QgYWRkciwgdWludDMyX3QgKnZhbHVlKQp7CiAgICBwcmludGYo ImlubCAweCV4XG4iLCBhZGRyKTsKICAgIHJldHVybiAwOwp9CgpzdGF0aWMgaW50IHRlc3Rf b3V0Yih2b2lkICpvcGFxdWUsIHVpbnQxNl90IGFkZHIsIHVpbnQ4X3QgdmFsdWUpCnsKICAg IHN0YXRpYyBpbnQgbmV3bGluZSA9IDE7CgogICAgc3dpdGNoIChhZGRyKSB7CiAgICBjYXNl IDB4ZmY6IC8vIGlycSBpbmplY3RvcgoJcHJpbnRmKCJpbmplY3RpbmcgaW50ZXJydXB0IDB4 JXhcbiIsIHZhbHVlKTsKCWt2bV9pbmplY3RfaXJxKGt2bSwgMCwgdmFsdWUpOwoJYnJlYWs7 CiAgICBjYXNlIDB4ZjE6IC8vIHNlcmlhbAoJaWYgKG5ld2xpbmUpCgkgICAgZnB1dHMoIkdV RVNUOiAiLCBzdGRvdXQpOwoJcHV0Y2hhcih2YWx1ZSk7CgluZXdsaW5lID0gdmFsdWUgPT0g J1xuJzsKCWJyZWFrOwogICAgZGVmYXVsdDoKCXByaW50Zigib3V0YiAkMHgleCwgMHgleFxu IiwgdmFsdWUsIGFkZHIpOwogICAgfQogICAgcmV0dXJuIDA7Cn0KCnN0YXRpYyBpbnQgdGVz dF9vdXR3KHZvaWQgKm9wYXF1ZSwgdWludDE2X3QgYWRkciwgdWludDE2X3QgdmFsdWUpCnsK ICAgIHByaW50Zigib3V0dyAkMHgleCwgMHgleFxuIiwgdmFsdWUsIGFkZHIpOwogICAgcmV0 dXJuIDA7Cn0KCnN0YXRpYyBpbnQgdGVzdF9vdXRsKHZvaWQgKm9wYXF1ZSwgdWludDE2X3Qg YWRkciwgdWludDMyX3QgdmFsdWUpCnsKICAgIHByaW50Zigib3V0bCAkMHgleCwgMHgleFxu IiwgdmFsdWUsIGFkZHIpOwogICAgcmV0dXJuIDA7Cn0KCnN0YXRpYyBpbnQgdGVzdF9kZWJ1 Zyh2b2lkICpvcGFxdWUsIGludCB2Y3B1KQp7CiAgICBwcmludGYoInRlc3RfZGVidWdcbiIp OwogICAgcmV0dXJuIDA7Cn0KCnN0YXRpYyBpbnQgdGVzdF9oYWx0KHZvaWQgKm9wYXF1ZSwg aW50IHZjcHUpCnsKICAgIHByaW50ZigidGVzdF9oYWx0XG4iKTsKICAgIHJldHVybiAwOwp9 CgpzdGF0aWMgaW50IHRlc3RfaW9fd2luZG93KHZvaWQgKm9wYXF1ZSkKewogICAgcHJpbnRm KCJ0ZXN0X2lvX3dpbmRvd1xuIik7CiAgICByZXR1cm4gMDsKfQoKc3RhdGljIHN0cnVjdCBr dm1fY2FsbGJhY2tzIHRlc3RfY2FsbGJhY2tzID0gewogICAgLmNwdWlkICAgICAgID0gdGVz dF9jcHVpZCwKICAgIC5pbmIgICAgICAgICA9IHRlc3RfaW5iLAogICAgLmludyAgICAgICAg ID0gdGVzdF9pbncsCiAgICAuaW5sICAgICAgICAgPSB0ZXN0X2lubCwKICAgIC5vdXRiICAg ICAgICA9IHRlc3Rfb3V0YiwKICAgIC5vdXR3ICAgICAgICA9IHRlc3Rfb3V0dywKICAgIC5v dXRsICAgICAgICA9IHRlc3Rfb3V0bCwKICAgIC5kZWJ1ZyAgICAgICA9IHRlc3RfZGVidWcs CiAgICAuaGFsdCAgICAgICAgPSB0ZXN0X2hhbHQsCiAgICAuaW9fd2luZG93ID0gdGVzdF9p b193aW5kb3csCn07CiAKCnN0YXRpYyB2b2lkIGxvYWRfZmlsZSh2b2lkICptZW0sIGNvbnN0 IGNoYXIgKmZuYW1lKQp7CiAgICBpbnQgcjsKICAgIGludCBmZDsKCiAgICBmZCA9IG9wZW4o Zm5hbWUsIE9fUkRPTkxZKTsKICAgIGlmIChmZCA9PSAtMSkgewoJcGVycm9yKCJvcGVuIik7 CglleGl0KDEpOwogICAgfQogICAgd2hpbGUgKChyID0gcmVhZChmZCwgbWVtLCA0MDk2KSkg IT0gLTEgJiYgciAhPSAwKQoJbWVtICs9IHI7CiAgICBpZiAociA9PSAtMSkgewoJcGVycm9y KCJyZWFkIik7CglleGl0KDEpOwogICAgfQp9CgpzdGF0aWMgdm9pZCBlbnRlcl8zMihrdm1f Y29udGV4dF90IGt2bSkKewogICAgc3RydWN0IGt2bV9yZWdzIHJlZ3MgPSB7CgkucnNwID0g MHg4MDAwMCwgIC8qIDUxMktCICovCgkucmlwID0gMHgxMDAwMDAsIC8qIDFNQiAqLwoJLnJm bGFncyA9IDIsCiAgICB9OwogICAgc3RydWN0IGt2bV9zcmVncyBzcmVncyA9IHsKCS5jcyA9 IHsgMCwgLTF1LCAgOCwgMTEsIDEsIDAsIDEsIDEsIDAsIDEsIDAsIDAgfSwKCS5kcyA9IHsg MCwgLTF1LCAxNiwgIDMsIDEsIDAsIDEsIDEsIDAsIDEsIDAsIDAgfSwKCS5lcyA9IHsgMCwg LTF1LCAxNiwgIDMsIDEsIDAsIDEsIDEsIDAsIDEsIDAsIDAgfSwKCS5mcyA9IHsgMCwgLTF1 LCAxNiwgIDMsIDEsIDAsIDEsIDEsIDAsIDEsIDAsIDAgfSwKCS5ncyA9IHsgMCwgLTF1LCAx NiwgIDMsIDEsIDAsIDEsIDEsIDAsIDEsIDAsIDAgfSwKCS5zcyA9IHsgMCwgLTF1LCAxNiwg IDMsIDEsIDAsIDEsIDEsIDAsIDEsIDAsIDAgfSwKCgkudHIgPSB7IDAsIDEwMDAwLCAyNCwg MTEsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAgfSwKCS5sZHQgPSB7IDAsIDAsIDAsIDAsIDAs IDAsIDAsIDAsIDAsIDAsIDAsIDEgfSwKCS5nZHQgPSB7IDAsIDAgfSwKCS5pZHQgPSB7IDAs IDAgfSwKCS5jcjAgPSAweDM3LAoJLmNyMyA9IDAsCgkuY3I0ID0gMCwKCS5lZmVyID0gMCwK CS5hcGljX2Jhc2UgPSAwLAoJLnBlbmRpbmdfaW50ID0gMCwKICAgIH07CgogICAga3ZtX3Nl dF9yZWdzKGt2bSwgMCwgJnJlZ3MpOwogICAga3ZtX3NldF9zcmVncyhrdm0sIDAsICZzcmVn cyk7Cn0KCmludCBtYWluKGludCBhYywgY2hhciAqKmF2KQp7Cgl2b2lkICp2bV9tZW07CgoJ a3ZtID0ga3ZtX2luaXQoJnRlc3RfY2FsbGJhY2tzLCAwKTsKCWt2bV9jcmVhdGUoa3ZtLCAx MjggKiAxMDI0ICogMTAyNCwgJnZtX21lbSk7CglpZiAoYWMgPiAxKQoJICAgIGlmIChzdHJj bXAoYXZbMV0sICItMzIiKSAhPSAwKQoJCWxvYWRfZmlsZSh2bV9tZW0gKyAweGYwMDAwLCBh dlsxXSk7CgkgICAgZWxzZQoJCWVudGVyXzMyKGt2bSk7CglpZiAoYWMgPiAyKQoJICAgIGxv YWRfZmlsZSh2bV9tZW0gKyAweDEwMDAwMCwgYXZbMl0pOwoJa3ZtX3Nob3dfcmVncyhrdm0s IDApOwoKCWt2bV9ydW4oa3ZtLCAwKTsKfQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAdXNlci8uc3ZuL3RleHQtYmFzZS9mbGF0Lmxkcy5zdm4tYmFzZQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAADAwMDA0NDQAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMzY0ADEwNTIyMzMwMDQ1ADAx NjYwMAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1 c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPVVRQVVRfRk9STUFUKGJp bmFyeSkKClNFQ1RJT05TCnsKICAgIC4gPSAxTTsKICAgIHN0ZXh0ID0gLjsKICAgIC50ZXh0 IDogeyAqKC5pbml0KSAqKC50ZXh0KSB9CiAgICAuID0gQUxJR04oNEspOwogICAgLmRhdGEg OiB7ICooLmRhdGEpIH0KICAgIC4gPSBBTElHTigxNik7CiAgICAuYnNzIDogeyAqKC5ic3Mp IH0KICAgIC4gPSBBTElHTig0Syk7CiAgICBlZGF0YSA9IC47CiAgICBlbmRfb2ZfbWVtb3J5 ID0gMTI4TTsKfQoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAHVzZXIvLnN2bi90ZXh0LWJhc2Uva3ZtY3RsLmguc3ZuLWJhc2UAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAwMDAwNDQ0ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwNDM1MgAxMDUyMjMzMDA0NQAwMTY2 MjAAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0 YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2lmbmRlZiBLVk1DVExfSAoj ZGVmaW5lIEtWTUNUTF9ICgojZGVmaW5lIF9fdXNlciAvKiB0ZW1wb3JhcnksIHVudGlsIGlu c3RhbGxlZCB2aWEgbWFrZSBoZWFkZXJzX2luc3RhbGwgKi8KI2luY2x1ZGUgPGxpbnV4L2t2 bS5oPgojaW5jbHVkZSA8c3RkaW50Lmg+CgpzdHJ1Y3Qga3ZtX2NvbnRleHQ7Cgp0eXBlZGVm IHN0cnVjdCBrdm1fY29udGV4dCAqa3ZtX2NvbnRleHRfdDsKCnN0cnVjdCBrdm1fY2FsbGJh Y2tzIHsKICAgIGludCAoKmNwdWlkKSh2b2lkICpvcGFxdWUsIAoJCSAgdWludDY0X3QgKnJh eCwgdWludDY0X3QgKnJieCwgdWludDY0X3QgKnJjeCwgdWludDY0X3QgKnJkeCk7CiAgICBp bnQgKCppbmIpKHZvaWQgKm9wYXF1ZSwgdWludDE2X3QgYWRkciwgdWludDhfdCAqZGF0YSk7 CiAgICBpbnQgKCppbncpKHZvaWQgKm9wYXF1ZSwgdWludDE2X3QgYWRkciwgdWludDE2X3Qg KmRhdGEpOwogICAgaW50ICgqaW5sKSh2b2lkICpvcGFxdWUsIHVpbnQxNl90IGFkZHIsIHVp bnQzMl90ICpkYXRhKTsKICAgIGludCAoKm91dGIpKHZvaWQgKm9wYXF1ZSwgdWludDE2X3Qg YWRkciwgdWludDhfdCBkYXRhKTsKICAgIGludCAoKm91dHcpKHZvaWQgKm9wYXF1ZSwgdWlu dDE2X3QgYWRkciwgdWludDE2X3QgZGF0YSk7CiAgICBpbnQgKCpvdXRsKSh2b2lkICpvcGFx dWUsIHVpbnQxNl90IGFkZHIsIHVpbnQzMl90IGRhdGEpOwogICAgaW50ICgqcmVhZGIpKHZv aWQgKm9wYXF1ZSwgdWludDY0X3QgYWRkciwgdWludDhfdCAqZGF0YSk7CiAgICBpbnQgKCpy ZWFkdykodm9pZCAqb3BhcXVlLCB1aW50NjRfdCBhZGRyLCB1aW50MTZfdCAqZGF0YSk7CiAg ICBpbnQgKCpyZWFkbCkodm9pZCAqb3BhcXVlLCB1aW50NjRfdCBhZGRyLCB1aW50MzJfdCAq ZGF0YSk7CiAgICBpbnQgKCpyZWFkcSkodm9pZCAqb3BhcXVlLCB1aW50NjRfdCBhZGRyLCB1 aW50NjRfdCAqZGF0YSk7CiAgICBpbnQgKCp3cml0ZWIpKHZvaWQgKm9wYXF1ZSwgdWludDY0 X3QgYWRkciwgdWludDhfdCBkYXRhKTsKICAgIGludCAoKndyaXRldykodm9pZCAqb3BhcXVl LCB1aW50NjRfdCBhZGRyLCB1aW50MTZfdCBkYXRhKTsKICAgIGludCAoKndyaXRlbCkodm9p ZCAqb3BhcXVlLCB1aW50NjRfdCBhZGRyLCB1aW50MzJfdCBkYXRhKTsKICAgIGludCAoKndy aXRlcSkodm9pZCAqb3BhcXVlLCB1aW50NjRfdCBhZGRyLCB1aW50NjRfdCBkYXRhKTsKICAg IGludCAoKmRlYnVnKSh2b2lkICpvcGFxdWUsIGludCB2Y3B1KTsKICAgIGludCAoKmhhbHQp KHZvaWQgKm9wYXF1ZSwgaW50IHZjcHUpOwogICAgaW50ICgqaW9fd2luZG93KSh2b2lkICpv cGFxdWUpOwp9OwoKa3ZtX2NvbnRleHRfdCBrdm1faW5pdChzdHJ1Y3Qga3ZtX2NhbGxiYWNr cyAqY2FsbGJhY2tzLAoJCSAgICAgICB2b2lkICpvcGFxdWUpOwppbnQga3ZtX2NyZWF0ZShr dm1fY29udGV4dF90IGt2bSwKCSAgICAgICB1bnNpZ25lZCBsb25nIHBoeXNfbWVtX2J5dGVz LAoJICAgICAgIHZvaWQgKipwaHlzX21lbSk7CmludCBrdm1fcnVuKGt2bV9jb250ZXh0X3Qg a3ZtLCBpbnQgdmNwdSk7CmludCBrdm1fZ2V0X3JlZ3Moa3ZtX2NvbnRleHRfdCwgaW50IHZj cHUsIHN0cnVjdCBrdm1fcmVncyAqcmVncyk7CmludCBrdm1fc2V0X3JlZ3Moa3ZtX2NvbnRl eHRfdCwgaW50IHZjcHUsIHN0cnVjdCBrdm1fcmVncyAqcmVncyk7CmludCBrdm1fZ2V0X3Ny ZWdzKGt2bV9jb250ZXh0X3QsIGludCB2Y3B1LCBzdHJ1Y3Qga3ZtX3NyZWdzICpyZWdzKTsK aW50IGt2bV9zZXRfc3JlZ3Moa3ZtX2NvbnRleHRfdCwgaW50IHZjcHUsIHN0cnVjdCBrdm1f c3JlZ3MgKnJlZ3MpOwppbnQga3ZtX2luamVjdF9pcnEoa3ZtX2NvbnRleHRfdCwgaW50IHZj cHUsIHVuc2lnbmVkIGlycSk7CmludCBrdm1fZ3Vlc3RfZGVidWcoa3ZtX2NvbnRleHRfdCwg aW50IHZjcHUsIHN0cnVjdCBrdm1fZGVidWdfZ3Vlc3QgKmRiZyk7CnZvaWQga3ZtX3Nob3df cmVncyhrdm1fY29udGV4dF90LCBpbnQgdmNwdSk7CnZvaWQgKmt2bV9jcmVhdGVfcGh5c19t ZW0oa3ZtX2NvbnRleHRfdCwgdW5zaWduZWQgbG9uZyBwaHlzX3N0YXJ0LCAKCQkJICB1bnNp Z25lZCBsb25nIGxlbiwgaW50IHNsb3QsIGludCBsb2csIGludCB3cml0YWJsZSk7CnZvaWQg a3ZtX2Rlc3Ryb3lfcGh5c19tZW0oa3ZtX2NvbnRleHRfdCwgdW5zaWduZWQgbG9uZyBwaHlz X3N0YXJ0LCAKCQkJICB1bnNpZ25lZCBsb25nIGxlbik7CnZvaWQga3ZtX2dldF9kaXJ0eV9w YWdlcyhrdm1fY29udGV4dF90LCBpbnQgc2xvdCwgdm9pZCAqYnVmKTsKCiNlbmRpZgoAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAHVzZXIvLnN2bi9wcm9wLWJhc2UvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAw NzU1ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDAwMAAxMDUyNDYyNjM2MgAwMTM0NDAAIDUA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABh dmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci8uc3ZuL3Byb3AtYmFzZS9NYWtl ZmlsZS5zdm4tYmFzZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA0NDQAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAw MDAwADEwNTIyMzMwMDQ1ADAxNjU2NQAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAB1c2VyLy5zdm4vcHJvcC1iYXNlL2Jvb3RzdHJhcC5sZHMuc3ZuLWJhc2UAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDQ0 NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDAwMDAAMTA1MjIzMzAwNDUAMDE3NjQ2ACAwAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZp AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvLnN2bi9wcm9wLWJhc2Uva3ZtY3Rs LmMuc3ZuLWJhc2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNDQ0ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDAw MAAxMDUyMjMzMDA0NAAwMTY1NzAAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA dXNlci8uc3ZuL3Byb3AtYmFzZS9jb25maWd1cmUuc3ZuLWJhc2UAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA0NDQA MDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMDM2ADEwNTI0NjI2MzYyADAxNzA1NgAgMAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLIDE0CnN2bjpleGVjdXRhYmxlClYgMQoqCkVO RAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVz ZXIvLnN2bi9wcm9wLWJhc2UvbWFpbi5jLnN2bi1iYXNlAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNDQ0ADAw MDA3NjQAMDAwMDc2NAAwMDAwMDAwMDAwMAAxMDUyMjMzMDA0NQAwMTYyMTUAIDAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABhdmkAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci8uc3ZuL3Byb3AtYmFzZS9mbGF0Lmxkcy5z dm4tYmFzZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAADAwMDA0NDQAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMDAwADEw NTIyMzMwMDQ1ADAxNjU1NwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlz dGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2Vy Ly5zdm4vcHJvcC1iYXNlL2t2bWN0bC5oLnN2bi1iYXNlAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAw NzY0ADAwMDA3NjQAMDAwMDAwMDAwMDAAMTA1MjIzMzAwNDUAMDE2NTc2ACAwAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvLnN2bi9mb3JtYXQAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAwMDAwNDQ0ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDAwMgAxMDUy MjMzMDA0NAAwMTI3MzQAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3Rj YwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAoAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyLy5zdm4vdG1wLwAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAMDAwMDc1NQAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDAwMDAAMTA1MjYz MTc0MDAAMDEyMzQwACA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvLnN2 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci8uc3ZuL2Vu dHJpZXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA0NDQAMDAwMDc2NAAwMDAw NzY0ADAwMDAwMDA0NTI1ADEwNTI2MzE3NDAwADAxMzE0MAAgMAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/Pgo8 d2MtZW50cmllcwogICB4bWxucz0ic3ZuOiI+CjxlbnRyeQogICBjb21taXR0ZWQtcmV2PSIz NDA2IgogICBuYW1lPSIiCiAgIGNvbW1pdHRlZC1kYXRlPSIyMDA2LTExLTAyVDA5OjExOjQ2 LjQ3NzgyMVoiCiAgIHVybD0ic3ZuOi8vY2xlb3BhdHJhLnEvc3ZuL2t2bS9icmFuY2hlcy9y ZWxlYXNlL3VzZXIiCiAgIGxhc3QtYXV0aG9yPSJhdmkiCiAgIGtpbmQ9ImRpciIKICAgdXVp ZD0iMWUzOTQ0ZWUtMjBmNy0wMzEwLWIzNjAtYzA2OTg5ZWY3OWJlIgogICByZXBvcz0ic3Zu Oi8vY2xlb3BhdHJhLnEvc3ZuIgogICByZXZpc2lvbj0iMzUzOSIvPgo8ZW50cnkKICAgbmFt ZT0idGVzdCIKICAga2luZD0iZGlyIi8+CjxlbnRyeQogICBjb21taXR0ZWQtcmV2PSIzMTA1 IgogICBuYW1lPSJrdm1jdGwuYyIKICAgdGV4dC10aW1lPSIyMDA2LTExLTAyVDA4OjQ1OjI1 LjAwMDAwMFoiCiAgIGNvbW1pdHRlZC1kYXRlPSIyMDA2LTEwLTA5VDEzOjI0OjUzLjQ5NTI4 NloiCiAgIGNoZWNrc3VtPSJmMDQ3NDQxZWRlZjY5ODQzMjI1NTRhOTc0YWE5YTRjNSIKICAg bGFzdC1hdXRob3I9ImF2aSIKICAga2luZD0iZmlsZSIKICAgcHJvcC10aW1lPSIyMDA2LTEx LTAyVDA4OjQ1OjI0LjAwMDAwMFoiLz4KPGVudHJ5CiAgIGNvbW1pdHRlZC1yZXY9IjM1Nzki CiAgIG5hbWU9ImNvbmZpZ3VyZSIKICAgdGV4dC10aW1lPSIyMDA2LTExLTA5VDEzOjI2OjQ0 LjAwMDAwMFoiCiAgIGNvbW1pdHRlZC1kYXRlPSIyMDA2LTExLTA5VDEzOjI4OjE4LjUwODY5 NloiCiAgIGNoZWNrc3VtPSJiOWE3NTMzMzJkYWIzNGNiZjQ1NTQ5NjcyOWUzYTQzZSIKICAg bGFzdC1hdXRob3I9ImF2aSIKICAga2luZD0iZmlsZSIKICAgcHJvcC10aW1lPSIyMDA2LTEx LTA5VDEzOjE5OjQ5LjAwMDAwMFoiCiAgIHJldmlzaW9uPSIzNTc5Ii8+CjxlbnRyeQogICBj b21taXR0ZWQtcmV2PSIzNzIxIgogICBuYW1lPSJtYWluLmMiCiAgIHRleHQtdGltZT0iMjAw Ni0xMS0xNFQxMDozNzowNC4wMDAwMDBaIgogICBjb21taXR0ZWQtZGF0ZT0iMjAwNi0xMS0x NFQxMDo0Nzo0OS45NzExNDJaIgogICBjaGVja3N1bT0iOTNhOWQzZmU4ZmEzOTAxYTJiNmJl MTlmMWQ1YzNjZmUiCiAgIGxhc3QtYXV0aG9yPSJhdmkiCiAgIGtpbmQ9ImZpbGUiCiAgIHBy b3AtdGltZT0iMjAwNi0xMS0wMlQwODo0NToyNS4wMDAwMDBaIgogICByZXZpc2lvbj0iMzcy MSIvPgo8ZW50cnkKICAgY29tbWl0dGVkLXJldj0iMzIyNCIKICAgbmFtZT0ia3ZtY3RsLmgi CiAgIHRleHQtdGltZT0iMjAwNi0xMS0wMlQwODo0NToyNS4wMDAwMDBaIgogICBjb21taXR0 ZWQtZGF0ZT0iMjAwNi0xMC0yMlQwOTozOTo0Mi4yMDE5OThaIgogICBjaGVja3N1bT0iYWEy MWVlYTBiY2YzODQ0MDA0ZjhiMzg0NWM2ZmQ2MjciCiAgIGxhc3QtYXV0aG9yPSJhdmkiCiAg IGtpbmQ9ImZpbGUiCiAgIHByb3AtdGltZT0iMjAwNi0xMS0wMlQwODo0NToyNS4wMDAwMDBa Ii8+CjxlbnRyeQogICBjb21taXR0ZWQtcmV2PSIzMjQ4IgogICBuYW1lPSJmbGF0LmxkcyIK ICAgdGV4dC10aW1lPSIyMDA2LTExLTAyVDA4OjQ1OjI1LjAwMDAwMFoiCiAgIGNvbW1pdHRl ZC1kYXRlPSIyMDA2LTEwLTIzVDEwOjQ4OjUwLjM2NDk1MVoiCiAgIGNoZWNrc3VtPSI3NGYw ZDRhYjg1NTAwMDRmYjg5NzZmNzNkYWZiMzJhMSIKICAgbGFzdC1hdXRob3I9ImF2aSIKICAg a2luZD0iZmlsZSIKICAgcHJvcC10aW1lPSIyMDA2LTExLTAyVDA4OjQ1OjI1LjAwMDAwMFoi Lz4KPGVudHJ5CiAgIG5hbWU9ImVtdWxhdG9yIgogICBraW5kPSJkaXIiLz4KPGVudHJ5CiAg IGNvbW1pdHRlZC1yZXY9IjM3MjIiCiAgIG5hbWU9Ik1ha2VmaWxlIgogICB0ZXh0LXRpbWU9 IjIwMDYtMTEtMTRUMTA6MTk6NDIuMDAwMDAwWiIKICAgY29tbWl0dGVkLWRhdGU9IjIwMDYt MTEtMTRUMTA6NDg6MzEuOTY3NTAwWiIKICAgY2hlY2tzdW09IjgwNmM4YzVlYjVhYjg5NDYy MmE1NWYwOTRkMjJmMDY4IgogICBsYXN0LWF1dGhvcj0iYXZpIgogICBraW5kPSJmaWxlIgog ICBwcm9wLXRpbWU9IjIwMDYtMTEtMDJUMDg6NDU6MjUuMDAwMDAwWiIKICAgcmV2aXNpb249 IjM3MjIiLz4KPGVudHJ5CiAgIGNvbW1pdHRlZC1yZXY9IjMyNDAiCiAgIG5hbWU9ImJvb3Rz dHJhcC5sZHMiCiAgIHRleHQtdGltZT0iMjAwNi0xMS0wMlQwODo0NToyNS4wMDAwMDBaIgog ICBjb21taXR0ZWQtZGF0ZT0iMjAwNi0xMC0yM1QwODoyMzo0Ny4zNjYzODhaIgogICBjaGVj a3N1bT0iOTZhNjVkNGFmMjMyZTIxYzAzZjZjMmNkOWFhMjQzNmQiCiAgIGxhc3QtYXV0aG9y PSJhdmkiCiAgIGtpbmQ9ImZpbGUiCiAgIHByb3AtdGltZT0iMjAwNi0xMS0wMlQwODo0NToy NS4wMDAwMDBaIi8+Cjwvd2MtZW50cmllcz4KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci8uc3ZuL2VtcHR5LWZp bGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA0NDQAMDAwMDc2NAAwMDAwNzY0ADAw MDAwMDAwMDAwADEwNTIyMzMwMDQ0ADAxMzUxNQAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAB1c2VyLy5zdm4vd2Nwcm9wcy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA MDAwMDc1NQAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDAwMDAAMTA1MjIzMzAwNDQAMDEzMjMw ACA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFy ICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvLnN2bi9wcm9wcy8AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNzU1ADAwMDA3NjQAMDAwMDc2NAAwMDAw MDAwMDAwMAAxMDUyNDYyNTM2NQAwMTI3MTUAIDUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAdXNlci8uc3ZuL3Byb3BzL2Jvb3RzdHJhcC5sZHMuc3ZuLXdvcmsAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAw MDA0NDQAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAwMDAwADEwNTIyMzMwMDQ1ADAxNzE3MQAg MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAg AGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyLy5zdm4vcHJvcHMva3ZtY3Rs Lmguc3ZuLXdvcmsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAw MDAwMDAAMTA1MjIzMzAwNDUAMDE2MTIxACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAHVzZXIvLnN2bi9wcm9wcy9tYWluLmMuc3ZuLXdvcmsAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAw NDQ0ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDAwMAAxMDUyMjMzMDA0NQAwMTU1NDAAIDAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABh dmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci8uc3ZuL3Byb3BzL01ha2VmaWxl LnN2bi13b3JrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA0NDQAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAw MDAwADEwNTIyMzMwMDQ1ADAxNjExMAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAB1c2VyLy5zdm4vcHJvcHMva3ZtY3RsLmMuc3ZuLXdvcmsAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDQ0 NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDAwMDAAMTA1MjIzMzAwNDQAMDE2MTEzACAwAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZp AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvLnN2bi9wcm9wcy9jb25maWd1cmUu c3ZuLXdvcmsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNDQ0ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDAz NgAxMDUyNDYyNTM2NQAwMTY0MDMAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA SyAxNApzdm46ZXhlY3V0YWJsZQpWIDEKKgpFTkQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyLy5zdm4vcHJvcHMvZmxhdC5sZHMuc3Zu LXdvcmsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAMDAwMDQ0NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDAwMDAA MTA1MjIzMzAwNDUAMDE2MTAyACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABk aXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVz ZXIvc3ZuLWNvbW1pdC50bXB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAw MDA3NjQAMDAwMDc2NAAwMDAwMDAwMDA3NgAxMDUyNjMxNzMwNAAwMTM2NzYAIDAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABhdmkAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACi0tVGhpcyBsaW5lLCBhbmQgdGhvc2UgYmVsb3cs IHdpbGwgYmUgaWdub3JlZC0tCgpNICAgIG1haW4uYwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2Vy L2Jvb3RzdHJhcC5sZHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAw NzY0ADAwMDA3NjQAMDAwMDAwMDAzMzEAMTA1MjIzMzAwNDUAMDEzMzY2ACAwAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkaXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAE9VVFBVVF9GT1JNQVQoYmluYXJ5KQoKU0VDVElPTlMK ewogICAgLiA9IDA7CiAgICBzdGV4dCA9IC47CiAgICAudGV4dCA6IHsgKiguaW5pdCkgKigu dGV4dCkgfQogICAgLiA9IEFMSUdOKDRLKTsKICAgIC5kYXRhIDogeyAqKC5kYXRhKSB9CiAg ICAuID0gQUxJR04oMTYpOwogICAgLmJzcyA6IHsgKiguYnNzKSB9CiAgICAuID0gQUxJR04o NEspOwogICAgZWRhdGEgPSAuOwp9CgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci9r dm1jdGwuaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMDc2 NAAwMDAwNzY0ADAwMDAwMDA0MzUyADEwNTIyMzMwMDQ1ADAxMjMyNQAgMAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAjaWZuZGVmIEtWTUNUTF9ICiNkZWZpbmUgS1ZNQ1RMX0gK CiNkZWZpbmUgX191c2VyIC8qIHRlbXBvcmFyeSwgdW50aWwgaW5zdGFsbGVkIHZpYSBtYWtl IGhlYWRlcnNfaW5zdGFsbCAqLwojaW5jbHVkZSA8bGludXgva3ZtLmg+CiNpbmNsdWRlIDxz dGRpbnQuaD4KCnN0cnVjdCBrdm1fY29udGV4dDsKCnR5cGVkZWYgc3RydWN0IGt2bV9jb250 ZXh0ICprdm1fY29udGV4dF90OwoKc3RydWN0IGt2bV9jYWxsYmFja3MgewogICAgaW50ICgq Y3B1aWQpKHZvaWQgKm9wYXF1ZSwgCgkJICB1aW50NjRfdCAqcmF4LCB1aW50NjRfdCAqcmJ4 LCB1aW50NjRfdCAqcmN4LCB1aW50NjRfdCAqcmR4KTsKICAgIGludCAoKmluYikodm9pZCAq b3BhcXVlLCB1aW50MTZfdCBhZGRyLCB1aW50OF90ICpkYXRhKTsKICAgIGludCAoKmludyko dm9pZCAqb3BhcXVlLCB1aW50MTZfdCBhZGRyLCB1aW50MTZfdCAqZGF0YSk7CiAgICBpbnQg KCppbmwpKHZvaWQgKm9wYXF1ZSwgdWludDE2X3QgYWRkciwgdWludDMyX3QgKmRhdGEpOwog ICAgaW50ICgqb3V0Yikodm9pZCAqb3BhcXVlLCB1aW50MTZfdCBhZGRyLCB1aW50OF90IGRh dGEpOwogICAgaW50ICgqb3V0dykodm9pZCAqb3BhcXVlLCB1aW50MTZfdCBhZGRyLCB1aW50 MTZfdCBkYXRhKTsKICAgIGludCAoKm91dGwpKHZvaWQgKm9wYXF1ZSwgdWludDE2X3QgYWRk ciwgdWludDMyX3QgZGF0YSk7CiAgICBpbnQgKCpyZWFkYikodm9pZCAqb3BhcXVlLCB1aW50 NjRfdCBhZGRyLCB1aW50OF90ICpkYXRhKTsKICAgIGludCAoKnJlYWR3KSh2b2lkICpvcGFx dWUsIHVpbnQ2NF90IGFkZHIsIHVpbnQxNl90ICpkYXRhKTsKICAgIGludCAoKnJlYWRsKSh2 b2lkICpvcGFxdWUsIHVpbnQ2NF90IGFkZHIsIHVpbnQzMl90ICpkYXRhKTsKICAgIGludCAo KnJlYWRxKSh2b2lkICpvcGFxdWUsIHVpbnQ2NF90IGFkZHIsIHVpbnQ2NF90ICpkYXRhKTsK ICAgIGludCAoKndyaXRlYikodm9pZCAqb3BhcXVlLCB1aW50NjRfdCBhZGRyLCB1aW50OF90 IGRhdGEpOwogICAgaW50ICgqd3JpdGV3KSh2b2lkICpvcGFxdWUsIHVpbnQ2NF90IGFkZHIs IHVpbnQxNl90IGRhdGEpOwogICAgaW50ICgqd3JpdGVsKSh2b2lkICpvcGFxdWUsIHVpbnQ2 NF90IGFkZHIsIHVpbnQzMl90IGRhdGEpOwogICAgaW50ICgqd3JpdGVxKSh2b2lkICpvcGFx dWUsIHVpbnQ2NF90IGFkZHIsIHVpbnQ2NF90IGRhdGEpOwogICAgaW50ICgqZGVidWcpKHZv aWQgKm9wYXF1ZSwgaW50IHZjcHUpOwogICAgaW50ICgqaGFsdCkodm9pZCAqb3BhcXVlLCBp bnQgdmNwdSk7CiAgICBpbnQgKCppb193aW5kb3cpKHZvaWQgKm9wYXF1ZSk7Cn07Cgprdm1f Y29udGV4dF90IGt2bV9pbml0KHN0cnVjdCBrdm1fY2FsbGJhY2tzICpjYWxsYmFja3MsCgkJ ICAgICAgIHZvaWQgKm9wYXF1ZSk7CmludCBrdm1fY3JlYXRlKGt2bV9jb250ZXh0X3Qga3Zt LAoJICAgICAgIHVuc2lnbmVkIGxvbmcgcGh5c19tZW1fYnl0ZXMsCgkgICAgICAgdm9pZCAq KnBoeXNfbWVtKTsKaW50IGt2bV9ydW4oa3ZtX2NvbnRleHRfdCBrdm0sIGludCB2Y3B1KTsK aW50IGt2bV9nZXRfcmVncyhrdm1fY29udGV4dF90LCBpbnQgdmNwdSwgc3RydWN0IGt2bV9y ZWdzICpyZWdzKTsKaW50IGt2bV9zZXRfcmVncyhrdm1fY29udGV4dF90LCBpbnQgdmNwdSwg c3RydWN0IGt2bV9yZWdzICpyZWdzKTsKaW50IGt2bV9nZXRfc3JlZ3Moa3ZtX2NvbnRleHRf dCwgaW50IHZjcHUsIHN0cnVjdCBrdm1fc3JlZ3MgKnJlZ3MpOwppbnQga3ZtX3NldF9zcmVn cyhrdm1fY29udGV4dF90LCBpbnQgdmNwdSwgc3RydWN0IGt2bV9zcmVncyAqcmVncyk7Cmlu dCBrdm1faW5qZWN0X2lycShrdm1fY29udGV4dF90LCBpbnQgdmNwdSwgdW5zaWduZWQgaXJx KTsKaW50IGt2bV9ndWVzdF9kZWJ1Zyhrdm1fY29udGV4dF90LCBpbnQgdmNwdSwgc3RydWN0 IGt2bV9kZWJ1Z19ndWVzdCAqZGJnKTsKdm9pZCBrdm1fc2hvd19yZWdzKGt2bV9jb250ZXh0 X3QsIGludCB2Y3B1KTsKdm9pZCAqa3ZtX2NyZWF0ZV9waHlzX21lbShrdm1fY29udGV4dF90 LCB1bnNpZ25lZCBsb25nIHBoeXNfc3RhcnQsIAoJCQkgIHVuc2lnbmVkIGxvbmcgbGVuLCBp bnQgc2xvdCwgaW50IGxvZywgaW50IHdyaXRhYmxlKTsKdm9pZCBrdm1fZGVzdHJveV9waHlz X21lbShrdm1fY29udGV4dF90LCB1bnNpZ25lZCBsb25nIHBoeXNfc3RhcnQsIAoJCQkgIHVu c2lnbmVkIGxvbmcgbGVuKTsKdm9pZCBrdm1fZ2V0X2RpcnR5X3BhZ2VzKGt2bV9jb250ZXh0 X3QsIGludCBzbG90LCB2b2lkICpidWYpOwoKI2VuZGlmCgAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci9NYWtlZmls ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMDc2NAAwMDAw NzY0ADAwMDAwMDAxNzMxADEwNTI2MzE0MDc2ADAxMjMyNAAgMAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAKaW5jbHVkZSBjb25maWcubWFrCgpDRkxBR1MgPSAtSSAkKEtFUk5F TERJUikvaW5jbHVkZSAkKGF1dG9kZXBlbmQtZmxhZ3MpIC1nCkNYWEZMQUdTID0gJChhdXRv ZGVwZW5kLWZsYWdzKSAKCmF1dG9kZXBlbmQtZmxhZ3MgPSAtTU1EIC1NRiAkKGRpciAkKiku JChub3RkaXIgJCopLmQKCkRFU1RESVIgPSAKCmlmZXEgKCQoc2hlbGwgdW5hbWUgLW0pLCB4 ODZfNjQpCkxJQkRJUiA9IC9saWI2NAplbHNlCkxJQkRJUiA9IC9saWIKZW5kaWYKCmFsbDog a3ZtY3RsIGxpYmt2bS5hCgprdm1jdGw6IGt2bWN0bC5vIG1haW4ubwoKbGlia3ZtLmE6IGt2 bWN0bC5vCgkkKEFSKSByY3MgJEAgJF4KCmZsYXRmaWxlczogdGVzdC9zaW1wbGUuZmxhdCB0 ZXN0L3N0cmluZ2lvLmZsYXQgdGVzdC9tZW10ZXN0MS5mbGF0IFwKCXRlc3QvaXJxLmZsYXQg dGVzdC9zaWV2ZS5mbGF0IHRlc3QvYm9vdHN0cmFwCgppbnN0YWxsOgoJaW5zdGFsbCAtRCBr dm1jdGwuaCAkKERFU1RESVIpLyQoUFJFRklYKS9pbmNsdWRlL2t2bWN0bC5oCglpbnN0YWxs IC1EICQoS0VSTkVMRElSKS9pbmNsdWRlL2xpbnV4L2t2bS5oIFwKCQkkKERFU1RESVIpLyQo UFJFRklYKS9pbmNsdWRlL2xpbnV4L2t2bS5oCglpbnN0YWxsIC1EIGxpYmt2bS5hICQoREVT VERJUikvJChQUkVGSVgpLyQoTElCRElSKS9saWJrdm0uYQoKJS5mbGF0OiAlLm8KCWdjYyAt bm9zdGRsaWIgLW8gJEAgLVdsLC1ULGZsYXQubGRzICReCgp0ZXN0L2Jvb3RzdHJhcDogdGVz dC9ib290c3RyYXAubwoJZ2NjIC1ub3N0ZGxpYiAtbyAkQCAtV2wsLVQsYm9vdHN0cmFwLmxk cyAkXgoKJS5vOiAlLlMKCWdjYyAtYyAtbm9zdGRsaWIgLW8gJEAgJF4KCnRlc3QvaXJxLmZs YXQ6IHRlc3QvcHJpbnQubwoKdGVzdC9zaWV2ZS5mbGF0OiB0ZXN0L2NzdGFydDY0Lm8gdGVz dC9zaWV2ZS5vIHRlc3QvcHJpbnQubyB0ZXN0L3ZtLm8KCnRlc3QvdGVzdDMyLmZsYXQ6IHRl c3QvdGVzdDMyLm8KCi1pbmNsdWRlIC4qLmQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAdXNlci9NYWtlZmlsZX4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAADAwMDA2NDQAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAxNjQ3ADEwNTIyMzMzMTAzADAx MjUxNAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1 c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKS0VSTkVMRElSID0gLi4v a2VybmVsCgpDRkxBR1MgPSAtSSAkKEtFUk5FTERJUikvaW5jbHVkZSAkKGF1dG9kZXBlbmQt ZmxhZ3MpIC1nCkNYWEZMQUdTID0gJChhdXRvZGVwZW5kLWZsYWdzKSAKCmF1dG9kZXBlbmQt ZmxhZ3MgPSAtTU1EIC1NRiAkKGRpciAkKikuJChub3RkaXIgJCopLmQKCkRFU1RESVIgPSAv dXNyL2xvY2FsCgppZmVxICgkKHNoZWxsIHVuYW1lIC1tKSwgeDg2XzY0KQpMSUJESVIgPSAv bGliNjQKZWxzZQpMSUJESVIgPSAvbGliCmVuZGlmCgphbGw6IGt2bWN0bCBsaWJrdm0uYQoK a3ZtY3RsOiBrdm1jdGwubyBtYWluLm8KCmxpYmt2bS5hOiBrdm1jdGwubwoJJChBUikgcmNz ICRAICReCgpmbGF0ZmlsZXM6IHRlc3Qvc2ltcGxlLmZsYXQgdGVzdC9zdHJpbmdpby5mbGF0 IHRlc3QvbWVtdGVzdDEuZmxhdCBcCgl0ZXN0L2lycS5mbGF0IHRlc3Qvc2lldmUuZmxhdCB0 ZXN0L2Jvb3RzdHJhcAoKaW5zdGFsbDoKCWluc3RhbGwgLUQga3ZtY3RsLmggJChERVNURElS KS9pbmNsdWRlL2t2bWN0bC5oCglpbnN0YWxsIC1EICQoS0VSTkVMRElSKS9pbmNsdWRlL2xp bnV4L2t2bS5oIFwKCQkkKERFU1RESVIpL2luY2x1ZGUvbGludXgva3ZtLmgKCWluc3RhbGwg LUQgbGlia3ZtLmEgJChERVNURElSKS8kKExJQkRJUikvbGlia3ZtLmEKCiUuZmxhdDogJS5v CglnY2MgLW5vc3RkbGliIC1vICRAIC1XbCwtVCxmbGF0LmxkcyAkXgoKdGVzdC9ib290c3Ry YXA6IHRlc3QvYm9vdHN0cmFwLm8KCWdjYyAtbm9zdGRsaWIgLW8gJEAgLVdsLC1ULGJvb3Rz dHJhcC5sZHMgJF4KCiUubzogJS5TCglnY2MgLWMgLW5vc3RkbGliIC1vICRAICReCgp0ZXN0 L2lycS5mbGF0OiB0ZXN0L3ByaW50Lm8KCnRlc3Qvc2lldmUuZmxhdDogdGVzdC9jc3RhcnQ2 NC5vIHRlc3Qvc2lldmUubyB0ZXN0L3ByaW50Lm8gdGVzdC92bS5vCgotaW5jbHVkZSAuKi5k CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci9tYWluLmN+AAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMDc2NAAwMDAwNzY0ADAw MDAwMDA0NzQ2ADEwNTIyMzMwMDQ1ADAxMjE1MQAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAjaW5jbHVkZSAia3ZtY3RsLmgiCgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1 ZGUgPHVuaXN0ZC5oPgojaW5jbHVkZSA8ZmNudGwuaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoK a3ZtX2NvbnRleHRfdCBrdm07CgpzdGF0aWMgaW50IHRlc3RfY3B1aWQodm9pZCAqb3BhcXVl LCB1aW50NjRfdCAqcmF4LCB1aW50NjRfdCAqcmJ4LCAKCQkgICAgICAgdWludDY0X3QgKnJj eCwgdWludDY0X3QgKnJkeCkKewogICAgcHJpbnRmKCJjcHVpZCAweCVseFxuIiwgKHVpbnQz Ml90KSpyYXgpOwogICAgcmV0dXJuIDA7Cn0KCnN0YXRpYyBpbnQgdGVzdF9pbmIodm9pZCAq b3BhcXVlLCB1aW50MTZfdCBhZGRyLCB1aW50OF90ICp2YWx1ZSkKewogICAgcHJpbnRmKCJp bmIgMHgleFxuIiwgYWRkcik7CiAgICByZXR1cm4gMDsKfQoKc3RhdGljIGludCB0ZXN0X2lu dyh2b2lkICpvcGFxdWUsIHVpbnQxNl90IGFkZHIsIHVpbnQxNl90ICp2YWx1ZSkKewogICAg cHJpbnRmKCJpbncgMHgleFxuIiwgYWRkcik7CiAgICByZXR1cm4gMDsKfQoKc3RhdGljIGlu dCB0ZXN0X2lubCh2b2lkICpvcGFxdWUsIHVpbnQxNl90IGFkZHIsIHVpbnQzMl90ICp2YWx1 ZSkKewogICAgcHJpbnRmKCJpbmwgMHgleFxuIiwgYWRkcik7CiAgICByZXR1cm4gMDsKfQoK c3RhdGljIGludCB0ZXN0X291dGIodm9pZCAqb3BhcXVlLCB1aW50MTZfdCBhZGRyLCB1aW50 OF90IHZhbHVlKQp7CiAgICBzdGF0aWMgaW50IG5ld2xpbmUgPSAxOwoKICAgIHN3aXRjaCAo YWRkcikgewogICAgY2FzZSAweGZmOiAvLyBpcnEgaW5qZWN0b3IKCXByaW50ZigiaW5qZWN0 aW5nIGludGVycnVwdCAweCV4XG4iLCB2YWx1ZSk7Cglrdm1faW5qZWN0X2lycShrdm0sIDAs IHZhbHVlKTsKCWJyZWFrOwogICAgY2FzZSAweGYxOiAvLyBzZXJpYWwKCWlmIChuZXdsaW5l KQoJICAgIGZwdXRzKCJHVUVTVDogIiwgc3Rkb3V0KTsKCXB1dGNoYXIodmFsdWUpOwoJbmV3 bGluZSA9IHZhbHVlID09ICdcbic7CglicmVhazsKICAgIGRlZmF1bHQ6CglwcmludGYoIm91 dGIgJDB4JXgsIDB4JXhcbiIsIHZhbHVlLCBhZGRyKTsKICAgIH0KICAgIHJldHVybiAwOwp9 CgpzdGF0aWMgaW50IHRlc3Rfb3V0dyh2b2lkICpvcGFxdWUsIHVpbnQxNl90IGFkZHIsIHVp bnQxNl90IHZhbHVlKQp7CiAgICBwcmludGYoIm91dHcgJDB4JXgsIDB4JXhcbiIsIHZhbHVl LCBhZGRyKTsKICAgIHJldHVybiAwOwp9CgpzdGF0aWMgaW50IHRlc3Rfb3V0bCh2b2lkICpv cGFxdWUsIHVpbnQxNl90IGFkZHIsIHVpbnQzMl90IHZhbHVlKQp7CiAgICBwcmludGYoIm91 dGwgJDB4JXgsIDB4JXhcbiIsIHZhbHVlLCBhZGRyKTsKICAgIHJldHVybiAwOwp9CgpzdGF0 aWMgaW50IHRlc3RfZGVidWcodm9pZCAqb3BhcXVlLCBpbnQgdmNwdSkKewogICAgcHJpbnRm KCJ0ZXN0X2RlYnVnXG4iKTsKICAgIHJldHVybiAwOwp9CgpzdGF0aWMgaW50IHRlc3RfaGFs dCh2b2lkICpvcGFxdWUsIGludCB2Y3B1KQp7CiAgICBwcmludGYoInRlc3RfaGFsdFxuIik7 CiAgICByZXR1cm4gMDsKfQoKc3RhdGljIGludCB0ZXN0X2lvX3dpbmRvdyh2b2lkICpvcGFx dWUpCnsKICAgIHByaW50ZigidGVzdF9pb193aW5kb3dcbiIpOwogICAgcmV0dXJuIDA7Cn0K CnN0YXRpYyBzdHJ1Y3Qga3ZtX2NhbGxiYWNrcyB0ZXN0X2NhbGxiYWNrcyA9IHsKICAgIC5j cHVpZCAgICAgICA9IHRlc3RfY3B1aWQsCiAgICAuaW5iICAgICAgICAgPSB0ZXN0X2luYiwK ICAgIC5pbncgICAgICAgICA9IHRlc3RfaW53LAogICAgLmlubCAgICAgICAgID0gdGVzdF9p bmwsCiAgICAub3V0YiAgICAgICAgPSB0ZXN0X291dGIsCiAgICAub3V0dyAgICAgICAgPSB0 ZXN0X291dHcsCiAgICAub3V0bCAgICAgICAgPSB0ZXN0X291dGwsCiAgICAuZGVidWcgICAg ICAgPSB0ZXN0X2RlYnVnLAogICAgLmhhbHQgICAgICAgID0gdGVzdF9oYWx0LAogICAgLmlv X3dpbmRvdyA9IHRlc3RfaW9fd2luZG93LAp9OwogCgpzdGF0aWMgdm9pZCBsb2FkX2ZpbGUo dm9pZCAqbWVtLCBjb25zdCBjaGFyICpmbmFtZSkKewogICAgaW50IHI7CiAgICBpbnQgZmQ7 CgogICAgZmQgPSBvcGVuKGZuYW1lLCBPX1JET05MWSk7CiAgICBpZiAoZmQgPT0gLTEpIHsK CXBlcnJvcigib3BlbiIpOwoJZXhpdCgxKTsKICAgIH0KICAgIHdoaWxlICgociA9IHJlYWQo ZmQsIG1lbSwgNDA5NikpICE9IC0xICYmIHIgIT0gMCkKCW1lbSArPSByOwogICAgaWYgKHIg PT0gLTEpIHsKCXBlcnJvcigicmVhZCIpOwoJZXhpdCgxKTsKICAgIH0KfQoKaW50IG1haW4o aW50IGFjLCBjaGFyICoqYXYpCnsKCXZvaWQgKnZtX21lbTsKCglrdm0gPSBrdm1faW5pdCgm dGVzdF9jYWxsYmFja3MsIDApOwoJa3ZtX2NyZWF0ZShrdm0sIDEyOCAqIDEwMjQgKiAxMDI0 LCAmdm1fbWVtKTsKCWlmIChhYyA+IDEpCgkgICAgbG9hZF9maWxlKHZtX21lbSArIDB4ZjAw MDAsIGF2WzFdKTsKCWlmIChhYyA+IDIpCgkgICAgbG9hZF9maWxlKHZtX21lbSArIDB4MTAw MDAwLCBhdlsyXSk7Cglrdm1fc2hvd19yZWdzKGt2bSwgMCk7CgoJa3ZtX3J1bihrdm0sIDAp Owp9CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXNlci9mbGF0LmxkcwAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMDc2NAAwMDAwNzY0ADAwMDAwMDAw MzY0ADEwNTIyMzMwMDQ1ADAxMjMwNQAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAGF2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAZGlzdGNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AABPVVRQVVRfRk9STUFUKGJpbmFyeSkKClNFQ1RJT05TCnsKICAgIC4gPSAxTTsKICAgIHN0 ZXh0ID0gLjsKICAgIC50ZXh0IDogeyAqKC5pbml0KSAqKC50ZXh0KSB9CiAgICAuID0gQUxJ R04oNEspOwogICAgLmRhdGEgOiB7ICooLmRhdGEpIH0KICAgIC4gPSBBTElHTigxNik7CiAg ICAuYnNzIDogeyAqKC5ic3MpIH0KICAgIC4gPSBBTElHTig0Syk7CiAgICBlZGF0YSA9IC47 CiAgICBlbmRfb2ZfbWVtb3J5ID0gMTI4TTsKfQoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzZXIvLm1haW4uZAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDA3NjQAMDAwMDc2NAAwMDAwMDAwMDEx MQAxMDUyNjMxNjE1NQAwMTIwMjIAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAdXN0YXIgIABhdmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AGRpc3RjYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA bWFpbi5vOiBtYWluLmMga3ZtY3RsLmggL2hvbWUvYXZpL2t2bS1yZWxlYXNlL2tlcm5lbC9p bmNsdWRlL2xpbnV4L2t2bS5oCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c2VyL21haW4uYwAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAwNzY0ADAwMDA3NjQAMDAwMDAwMDY0NjYA MTA1MjYzMTYxMjAAMDExNzU2ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAHVzdGFyICAAYXZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABk aXN0Y2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACNp bmNsdWRlICJrdm1jdGwuaCIKCiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8dW5pc3Rk Lmg+CiNpbmNsdWRlIDxmY250bC5oPgojaW5jbHVkZSA8c3RkbGliLmg+Cgprdm1fY29udGV4 dF90IGt2bTsKCnN0YXRpYyBpbnQgdGVzdF9jcHVpZCh2b2lkICpvcGFxdWUsIHVpbnQ2NF90 ICpyYXgsIHVpbnQ2NF90ICpyYngsIAoJCSAgICAgICB1aW50NjRfdCAqcmN4LCB1aW50NjRf dCAqcmR4KQp7CiAgICBwcmludGYoImNwdWlkIDB4JWx4XG4iLCAodWludDMyX3QpKnJheCk7 CiAgICByZXR1cm4gMDsKfQoKc3RhdGljIGludCB0ZXN0X2luYih2b2lkICpvcGFxdWUsIHVp bnQxNl90IGFkZHIsIHVpbnQ4X3QgKnZhbHVlKQp7CiAgICBwcmludGYoImluYiAweCV4XG4i LCBhZGRyKTsKICAgIHJldHVybiAwOwp9CgpzdGF0aWMgaW50IHRlc3RfaW53KHZvaWQgKm9w YXF1ZSwgdWludDE2X3QgYWRkciwgdWludDE2X3QgKnZhbHVlKQp7CiAgICBwcmludGYoImlu dyAweCV4XG4iLCBhZGRyKTsKICAgIHJldHVybiAwOwp9CgpzdGF0aWMgaW50IHRlc3RfaW5s KHZvaWQgKm9wYXF1ZSwgdWludDE2X3QgYWRkciwgdWludDMyX3QgKnZhbHVlKQp7CiAgICBw cmludGYoImlubCAweCV4XG4iLCBhZGRyKTsKICAgIHJldHVybiAwOwp9CgpzdGF0aWMgaW50 IHRlc3Rfb3V0Yih2b2lkICpvcGFxdWUsIHVpbnQxNl90IGFkZHIsIHVpbnQ4X3QgdmFsdWUp CnsKICAgIHN0YXRpYyBpbnQgbmV3bGluZSA9IDE7CgogICAgc3dpdGNoIChhZGRyKSB7CiAg ICBjYXNlIDB4ZmY6IC8vIGlycSBpbmplY3RvcgoJcHJpbnRmKCJpbmplY3RpbmcgaW50ZXJy dXB0IDB4JXhcbiIsIHZhbHVlKTsKCWt2bV9pbmplY3RfaXJxKGt2bSwgMCwgdmFsdWUpOwoJ YnJlYWs7CiAgICBjYXNlIDB4ZjE6IC8vIHNlcmlhbAoJaWYgKG5ld2xpbmUpCgkgICAgZnB1 dHMoIkdVRVNUOiAiLCBzdGRvdXQpOwoJcHV0Y2hhcih2YWx1ZSk7CgluZXdsaW5lID0gdmFs dWUgPT0gJ1xuJzsKCWJyZWFrOwogICAgZGVmYXVsdDoKCXByaW50Zigib3V0YiAkMHgleCwg MHgleFxuIiwgdmFsdWUsIGFkZHIpOwogICAgfQogICAgcmV0dXJuIDA7Cn0KCnN0YXRpYyBp bnQgdGVzdF9vdXR3KHZvaWQgKm9wYXF1ZSwgdWludDE2X3QgYWRkciwgdWludDE2X3QgdmFs dWUpCnsKICAgIHByaW50Zigib3V0dyAkMHgleCwgMHgleFxuIiwgdmFsdWUsIGFkZHIpOwog ICAgcmV0dXJuIDA7Cn0KCnN0YXRpYyBpbnQgdGVzdF9vdXRsKHZvaWQgKm9wYXF1ZSwgdWlu dDE2X3QgYWRkciwgdWludDMyX3QgdmFsdWUpCnsKICAgIHByaW50Zigib3V0bCAkMHgleCwg MHgleFxuIiwgdmFsdWUsIGFkZHIpOwogICAgcmV0dXJuIDA7Cn0KCnN0YXRpYyBpbnQgdGVz dF9kZWJ1Zyh2b2lkICpvcGFxdWUsIGludCB2Y3B1KQp7CiAgICBwcmludGYoInRlc3RfZGVi dWdcbiIpOwogICAgcmV0dXJuIDA7Cn0KCnN0YXRpYyBpbnQgdGVzdF9oYWx0KHZvaWQgKm9w YXF1ZSwgaW50IHZjcHUpCnsKICAgIHByaW50ZigidGVzdF9oYWx0XG4iKTsKICAgIHJldHVy biAwOwp9CgpzdGF0aWMgaW50IHRlc3RfaW9fd2luZG93KHZvaWQgKm9wYXF1ZSkKewogICAg cHJpbnRmKCJ0ZXN0X2lvX3dpbmRvd1xuIik7CiAgICByZXR1cm4gMDsKfQoKc3RhdGljIHN0 cnVjdCBrdm1fY2FsbGJhY2tzIHRlc3RfY2FsbGJhY2tzID0gewogICAgLmNwdWlkICAgICAg ID0gdGVzdF9jcHVpZCwKICAgIC5pbmIgICAgICAgICA9IHRlc3RfaW5iLAogICAgLmludyAg ICAgICAgID0gdGVzdF9pbncsCiAgICAuaW5sICAgICAgICAgPSB0ZXN0X2lubCwKICAgIC5v dXRiICAgICAgICA9IHRlc3Rfb3V0YiwKICAgIC5vdXR3ICAgICAgICA9IHRlc3Rfb3V0dywK ICAgIC5vdXRsICAgICAgICA9IHRlc3Rfb3V0bCwKICAgIC5kZWJ1ZyAgICAgICA9IHRlc3Rf ZGVidWcsCiAgICAuaGFsdCAgICAgICAgPSB0ZXN0X2hhbHQsCiAgICAuaW9fd2luZG93ID0g dGVzdF9pb193aW5kb3csCn07CiAKCnN0YXRpYyB2b2lkIGxvYWRfZmlsZSh2b2lkICptZW0s IGNvbnN0IGNoYXIgKmZuYW1lKQp7CiAgICBpbnQgcjsKICAgIGludCBmZDsKCiAgICBmZCA9 IG9wZW4oZm5hbWUsIE9fUkRPTkxZKTsKICAgIGlmIChmZCA9PSAtMSkgewoJcGVycm9yKCJv cGVuIik7CglleGl0KDEpOwogICAgfQogICAgd2hpbGUgKChyID0gcmVhZChmZCwgbWVtLCA0 MDk2KSkgIT0gLTEgJiYgciAhPSAwKQoJbWVtICs9IHI7CiAgICBpZiAociA9PSAtMSkgewoJ cGVycm9yKCJyZWFkIik7CglleGl0KDEpOwogICAgfQp9CgpzdGF0aWMgdm9pZCBlbnRlcl8z Mihrdm1fY29udGV4dF90IGt2bSkKewogICAgc3RydWN0IGt2bV9yZWdzIHJlZ3MgPSB7Cgku cnNwID0gMHg4MDAwMCwgIC8qIDUxMktCICovCgkucmlwID0gMHgxMDAwMDAsIC8qIDFNQiAq LwoJLnJmbGFncyA9IDIsCiAgICB9OwogICAgc3RydWN0IGt2bV9zcmVncyBzcmVncyA9IHsK CS5jcyA9IHsgMCwgLTF1LCAgOCwgMTEsIDEsIDAsIDEsIDEsIDAsIDEsIDAsIDAgfSwKCS5k cyA9IHsgMCwgLTF1LCAxNiwgIDMsIDEsIDAsIDEsIDEsIDAsIDEsIDAsIDAgfSwKCS5lcyA9 IHsgMCwgLTF1LCAxNiwgIDMsIDEsIDAsIDEsIDEsIDAsIDEsIDAsIDAgfSwKCS5mcyA9IHsg MCwgLTF1LCAxNiwgIDMsIDEsIDAsIDEsIDEsIDAsIDEsIDAsIDAgfSwKCS5ncyA9IHsgMCwg LTF1LCAxNiwgIDMsIDEsIDAsIDEsIDEsIDAsIDEsIDAsIDAgfSwKCS5zcyA9IHsgMCwgLTF1 LCAxNiwgIDMsIDEsIDAsIDEsIDEsIDAsIDEsIDAsIDAgfSwKCgkudHIgPSB7IDAsIDEwMDAw LCAyNCwgMTEsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAgfSwKCS5sZHQgPSB7IDAsIDAsIDAs IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEgfSwKCS5nZHQgPSB7IDAsIDAgfSwKCS5pZHQg PSB7IDAsIDAgfSwKCS5jcjAgPSAweDM3LAoJLmNyMyA9IDAsCgkuY3I0ID0gMCwKCS5lZmVy ID0gMCwKCS5hcGljX2Jhc2UgPSAwLAoJLnBlbmRpbmdfaW50ID0gMCwKICAgIH07CgogICAg a3ZtX3NldF9yZWdzKGt2bSwgMCwgJnJlZ3MpOwogICAga3ZtX3NldF9zcmVncyhrdm0sIDAs ICZzcmVncyk7Cn0KCmludCBtYWluKGludCBhYywgY2hhciAqKmF2KQp7Cgl2b2lkICp2bV9t ZW07CgoJa3ZtID0ga3ZtX2luaXQoJnRlc3RfY2FsbGJhY2tzLCAwKTsKCWt2bV9jcmVhdGUo a3ZtLCAxMjggKiAxMDI0ICogMTAyNCwgJnZtX21lbSk7CglpZiAoYWMgPiAxKQoJICAgIGlm IChzdHJjbXAoYXZbMV0sICItMzIiKSAhPSAwKQoJCWxvYWRfZmlsZSh2bV9tZW0gKyAweGYw MDAwLCBhdlsxXSk7CgkgICAgZWxzZQoJCWVudGVyXzMyKGt2bSk7CglpZiAoYWMgPiAyKQoJ ICAgIGxvYWRfZmlsZSh2bV9tZW0gKyAweDEwMDAwMCwgYXZbMl0pOwoJa3ZtX3Nob3dfcmVn cyhrdm0sIDApOwoKCWt2bV9ydW4oa3ZtLCAwKTsKfQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAA== --------------000008070408000406050005 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 --------------000008070408000406050005 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kvm-devel mailing list kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org https://lists.sourceforge.net/lists/listinfo/kvm-devel --------------000008070408000406050005--