From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.bugs Subject: bug#51296: [PATCH] Add WebP format support Date: Wed, 20 Oct 2021 08:22:44 -0700 Message-ID: References: <837de7bzy0.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000916a0505ceca5995" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22776"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 51296@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Oct 20 17:23:11 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mdDQs-0005gw-T0 for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 20 Oct 2021 17:23:11 +0200 Original-Received: from localhost ([::1]:60332 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mdDQr-0006L2-U4 for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 20 Oct 2021 11:23:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34084) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mdDQk-0006Kk-L1 for bug-gnu-emacs@gnu.org; Wed, 20 Oct 2021 11:23:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:43670) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mdDQk-0000Tx-D2 for bug-gnu-emacs@gnu.org; Wed, 20 Oct 2021 11:23:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mdDQk-0002ge-9J for bug-gnu-emacs@gnu.org; Wed, 20 Oct 2021 11:23:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 20 Oct 2021 15:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51296 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 51296-submit@debbugs.gnu.org id=B51296.163474337910290 (code B ref 51296); Wed, 20 Oct 2021 15:23:02 +0000 Original-Received: (at 51296) by debbugs.gnu.org; 20 Oct 2021 15:22:59 +0000 Original-Received: from localhost ([127.0.0.1]:55212 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mdDQb-0002fh-RK for submit@debbugs.gnu.org; Wed, 20 Oct 2021 11:22:59 -0400 Original-Received: from mail-pl1-f170.google.com ([209.85.214.170]:41865) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mdDQY-0002fL-Oh for 51296@debbugs.gnu.org; Wed, 20 Oct 2021 11:22:52 -0400 Original-Received: by mail-pl1-f170.google.com with SMTP id e10so11485637plh.8 for <51296@debbugs.gnu.org>; Wed, 20 Oct 2021 08:22:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=rLDc7r7Dj0VaZyHKiZzoPzcElVTrCdG3XBUH+sqw9XY=; b=gUhXsdhELr96smKy0CKX0OyRs5c5mnytofMGmnwwrqyNY97+ahr32D5ZRd2T61JZ8y 5EYLUyAhye1z9oc5xI83GegURcpsic66ItP4lQfFkL8kQrkMx8XoeVZWdgb1LEA3qbI5 An3WG4k8kRlhBRvYtwj9z0LEe0RovKpNCOnt0aqG5Ahy1XLeqv8Guk0pi5dhJKk8uCFr V5Wp5BksHzpIGIy38HxvYb0v1hkKRYVGrn2c2C6gFvz6/QBmvR9BliTN0Y05ety4AezP Te5RPuPfQ8YqaVls0YASzEDTMDEO+jmqQcUug1lhcKOLCUBzrYVwJRMEKyPMewX92kHx 7U+g== X-Gm-Message-State: AOAM532123BvrDtkrBUwHBD6VlJxdgUQ5X+m0w2KmPFttY/MwT9otAmo fX40gBmZLpljZKZzv28amSBx25MfEtznUFb2Bto7r60c X-Google-Smtp-Source: ABdhPJxc6vboX6OfOTC8c9wFcefwTz1WaWA/1CxhgqSn7NrMwVJ+Oq/1yqN3Zl2LtRLIed0TPogfydT2WlI41KX/9Ig= X-Received: by 2002:a17:902:b691:b029:12d:2b6:d116 with SMTP id c17-20020a170902b691b029012d02b6d116mr39306929pls.71.1634743364964; Wed, 20 Oct 2021 08:22:44 -0700 (PDT) Original-Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Wed, 20 Oct 2021 08:22:44 -0700 In-Reply-To: <837de7bzy0.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:217681 Archived-At: --000000000000916a0505ceca5995 Content-Type: text/plain; charset="UTF-8" Eli Zaretskii writes: > You missed the fact that the MW-Windows build loads image libraries > on-demand, when/if the library is first required. That affects the > way we support these in configure.ac, and it also needs an addition to > dynamic-library-alist in w32-win.el. > > It should be easy to add those nits (assuming the code works ;-) I attempted to add the `dynamic-library-alist' part in the attached, and I also added a NEWS item. I suppose someone who actually knows MS-Windows stuff and can test it should take a look. --000000000000916a0505ceca5995 Content-Type: text/x-diff; charset="US-ASCII"; name="0001-Add-WebP-format-support.patch" Content-Disposition: attachment; filename="0001-Add-WebP-format-support.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 80c823afe7a5c4d6_0.1 RnJvbSA1NzdhYTQyZGEwZTBiYzFhMzBjOTM0Nzc5MDM4NTU2YWY3OTg1YzUyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW4gS2FuZ2FzIDxzdGVmYW5AbWFyeGlzdC5zZT4KRGF0 ZTogRnJpLCAxNSBPY3QgMjAyMSAwNToyNTozOSArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBX ZWJQIGZvcm1hdCBzdXBwb3J0CgoqIGNvbmZpZ3VyZS5hYyAoLS13aXRoLXdlYnApOiBOZXcgb3B0 aW9uLgooSEFWRV9XRUJQKTogTmV3IHZhcmlhYmxlLgoqIHNyYy9pbWFnZS5jIChlbnVtIHdlYnBf a2V5d29yZF9pbmRleCkgW0hBVkVfV0VCUF06IE5ldyBlbnVtLgood2VicF9mb3JtYXQpIFtIQVZF X1dFQlBdOiBOZXcgdmFyaWFibGUuCih3ZWJwX2ltYWdlX3AsIGluaXRfd2VicF9mdW5jdGlvbnMs IHdlYnBfbG9hZCkgW0hBVkVfV0VCUF06IE5ldwpmdW5jdGlvbnMgZm9yIFdlYlAgc3VwcG9ydC4K KGltYWdlX3R5cGVzKSBbSEFWRV9XRUJQXTogRGVmaW5lIFdlYlAgZm9ybWF0Lgooc3ltc19vZl9p bWFnZSkgPFF3ZWJwPiBbSEFWRV9XRUJQXTogTmV3IERFRlNZTS4gIEFkZCBpbWFnZSB0eXBlIFF3 ZWJwLgoqIHNyYy9NYWtlZmlsZS5pbiAoTElCSU1BR0UpOiBBZGQgV0VCUF9MSUJTLgoKKiBsaXNw L2ZpbGVzLmVsIChhdXRvLW1vZGUtYWxpc3QpOgoqIGxpc3AvaW1hZ2UtZmlsZS5lbCAoaW1hZ2Ut ZmlsZS1uYW1lLWV4dGVuc2lvbnMpOgoqIGxpc3AvaW1hZ2UuZWwgKGltYWdlLXR5cGUtaGVhZGVy LXJlZ2V4cHMpCihpbWFnZS10eXBlLWZpbGUtbmFtZS1yZWdleHBzLCBpbWFnZS10eXBlLWF1dG8t ZGV0ZWN0YWJsZSk6IEFkZCBXZWJQCnN1cHBvcnQuCiogbGlzcC90ZXJtL3czMi13aW4uZWwgKGR5 bmFtaWMtbGlicmFyeS1hbGlzdCk6IEFkZCB0aGUgbGlid2VicCBETEwuCgoqIElOU1RBTEw6Ciog YWRtaW4vQ1BQLURFRklORVM6CiogZG9jL2xpc3ByZWYvZGlzcGxheS50ZXhpIChJbWFnZSBGb3Jt YXRzLCBPdGhlciBJbWFnZSBUeXBlcyk6CiogbnQvSU5TVEFMTDogRG9jdW1lbnQgV2ViUCBzdXBw b3J0LgoKKiB0ZXN0L2xpc3AvaW1hZ2UtdGVzdHMuZWwgKGltYWdlLWZpbmQtaW1hZ2UpCihpbWFn ZS10eXBlLWZyb20tZmlsZS1uYW1lKTogRXhwYW5kIHRlc3RzLgoqIHRlc3Qvc3JjL2ltYWdlLXRl c3RzLmVsIChpbWFnZS10ZXN0cy0tZmlsZXMpOiBBZGQgV2ViUC4KKGltYWdlLXRlc3RzLWltYWdl LXNpemUvd2VicCwgaW1hZ2UtdGVzdHMtaW1hZ2UtbWFzay1wL3dlYnApCihpbWFnZS10ZXN0cy1p bWFnZS1tZXRhZGF0YS93ZWJwKTogTmV3IHRlc3RzLgoqIHRlc3QvZGF0YS9pbWFnZS9ibGFjay53 ZWJwOiBOZXcgZmlsZS4KLS0tCiBJTlNUQUxMICAgICAgICAgICAgICAgICAgICB8ICAgMiArCiBh ZG1pbi9DUFAtREVGSU5FUyAgICAgICAgICB8ICAgMSArCiBjb25maWd1cmUuYWMgICAgICAgICAg ICAgICB8ICAxOSArKysKIGRvYy9saXNwcmVmL2Rpc3BsYXkudGV4aSAgIHwgIDExICstCiBldGMv TkVXUyAgICAgICAgICAgICAgICAgICB8ICAgNSArCiBsaXNwL2ZpbGVzLmVsICAgICAgICAgICAg ICB8ICAgMSArCiBsaXNwL2ltYWdlLWZpbGUuZWwgICAgICAgICB8ICAgMiArLQogbGlzcC9pbWFn ZS5lbCAgICAgICAgICAgICAgfCAgIDMgKwogbGlzcC90ZXJtL3czMi13aW4uZWwgICAgICAgfCAg IDEgKwogbnQvSU5TVEFMTCAgICAgICAgICAgICAgICAgfCAgIDkgKy0KIHNyYy9NYWtlZmlsZS5p biAgICAgICAgICAgIHwgICAyICstCiBzcmMvaW1hZ2UuYyAgICAgICAgICAgICAgICB8IDI4NSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB0ZXN0L2RhdGEvaW1hZ2UvYmxh Y2sud2VicCB8IEJpbiAwIC0+IDM3NzgwIGJ5dGVzCiB0ZXN0L2xpc3AvaW1hZ2UtdGVzdHMuZWwg ICB8ICAgOCArLQogdGVzdC9zcmMvaW1hZ2UtdGVzdHMuZWwgICAgfCAgMjMgKystCiAxNSBmaWxl cyBjaGFuZ2VkLCAzNTkgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9k ZSAxMDA2NDQgdGVzdC9kYXRhL2ltYWdlL2JsYWNrLndlYnAKCmRpZmYgLS1naXQgYS9JTlNUQUxM IGIvSU5TVEFMTAppbmRleCA2MjA3ZjQzY2VjLi4yMTI5ODQyMmFmIDEwMDY0NAotLS0gYS9JTlNU QUxMCisrKyBiL0lOU1RBTEwKQEAgLTE4Nyw2ICsxODcsNyBAQCBYMTEgaXMgYmVpbmcgdXNlZC4K ICAgWCBsaWJ0aWZmIGZvciBUSUZGOiBodHRwOi8vd3d3LnNpbXBsZXN5c3RlbXMub3JnL2xpYnRp ZmYvCiAgIFggbGliZ2lmIGZvciBHSUY6ICAgaHR0cDovL2dpZmxpYi5zb3VyY2Vmb3JnZS5uZXQv CiAgICAgbGlicnN2ZzIgZm9yIFNWRzogaHR0cHM6Ly93aWtpLmdub21lLm9yZy9Qcm9qZWN0cy9M aWJSc3ZnCisgICAgbGlid2VicCBmb3IgV2ViUDogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5j b20vc3BlZWQvd2VicC8KIAogSWYgeW91IHN1cHBseSB0aGUgYXBwcm9wcmlhdGUgLS13aXRob3V0 LUxJQiBvcHRpb24sICdjb25maWd1cmUnIHdpbGwKIG9taXQgdGhlIGNvcnJlc3BvbmRpbmcgbGli cmFyeSBmcm9tIEVtYWNzLCBldmVuIGlmIHRoYXQgbWFrZXMgZm9yIGEKQEAgLTMxMyw2ICszMTQs NyBAQCBvciBtb3JlIG9mIHRoZXNlIG9wdGlvbnM6CiAgIC0td2l0aG91dC1naWYgICAgICAgICAg Zm9yIEdJRiBpbWFnZSBzdXBwb3J0CiAgIC0td2l0aG91dC1wbmcgICAgICAgICAgZm9yIFBORyBp bWFnZSBzdXBwb3J0CiAgIC0td2l0aG91dC1yc3ZnICAgICAgICAgZm9yIFNWRyBpbWFnZSBzdXBw b3J0CisgIC0td2l0aG91dC13ZWJwICAgICAgICAgZm9yIFdlYlAgaW1hZ2Ugc3VwcG9ydAogCiBB bHRob3VnaCBJbWFnZU1hZ2ljayBzdXBwb3J0IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgZHVlIHRv IHNlY3VyaXR5CiBhbmQgc3RhYmlsaXR5IGNvbmNlcm5zLCB5b3UgY2FuIGVuYWJsZSBpdCB3aXRo IC0td2l0aC1pbWFnZW1hZ2ljay4KZGlmZiAtLWdpdCBhL2FkbWluL0NQUC1ERUZJTkVTIGIvYWRt aW4vQ1BQLURFRklORVMKaW5kZXggNjhjMTI0MzhmNS4uNjM0ZDZmM2YzYiAxMDA2NDQKLS0tIGEv YWRtaW4vQ1BQLURFRklORVMKKysrIGIvYWRtaW4vQ1BQLURFRklORVMKQEAgLTI4Nyw2ICsyODcs NyBAQCBIQVZFX1VUSU1FTlNBVAogSEFWRV9VVE1QX0gKIEhBVkVfVkZPUksKIEhBVkVfVkZPUktf SAorSEFWRV9XRUJQCiBIQVZFX1dDSEFSX0gKIEhBVkVfV0NIQVJfVAogSEFWRV9XSU5ET1dfU1lT VEVNCmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggOWFiMDMx NDQyOC4uMTdhYzEwNmQ4NCAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3Vy ZS5hYwpAQCAtNDQ3LDYgKzQ0Nyw3IEBAIEFDX0RFRlVOCiBPUFRJT05fREVGQVVMVF9PTihbZ2lm XSxbZG9uJ3QgY29tcGlsZSB3aXRoIEdJRiBpbWFnZSBzdXBwb3J0XSkKIE9QVElPTl9ERUZBVUxU X09OKFtwbmddLFtkb24ndCBjb21waWxlIHdpdGggUE5HIGltYWdlIHN1cHBvcnRdKQogT1BUSU9O X0RFRkFVTFRfT04oW3JzdmddLFtkb24ndCBjb21waWxlIHdpdGggU1ZHIGltYWdlIHN1cHBvcnRd KQorT1BUSU9OX0RFRkFVTFRfT04oW3dlYnBdLFtkb24ndCBjb21waWxlIHdpdGggV2ViUCBpbWFn ZSBzdXBwb3J0XSkKIE9QVElPTl9ERUZBVUxUX09OKFtsY21zMl0sW2Rvbid0IGNvbXBpbGUgd2l0 aCBMaXR0bGUgQ01TIHN1cHBvcnRdKQogT1BUSU9OX0RFRkFVTFRfT04oW2xpYnN5c3RlbWRdLFtk b24ndCBjb21waWxlIHdpdGggbGlic3lzdGVtZCBzdXBwb3J0XSkKIE9QVElPTl9ERUZBVUxUX09O KFtjYWlyb10sW2Rvbid0IGNvbXBpbGUgd2l0aCBDYWlybyBkcmF3aW5nXSkKQEAgLTI1ODgsNiAr MjU4OSwyMyBAQCBBQ19ERUZVTgogICBmaQogZmkKIAorSEFWRV9XRUJQPW5vCitpZiB0ZXN0ICIk e0hBVkVfWDExfSIgPSAieWVzIiB8fCB0ZXN0ICIke0hBVkVfTlN9IiA9ICJ5ZXMiIHx8IHRlc3Qg IiR7b3BzeXN9IiA9ICJtaW5ndzMyIjsgdGhlbgorICAgaWYgdGVzdCAiJHt3aXRoX3dlYnB9IiAh PSAibm8iOyB0aGVuCisgICAgICBXRUJQX1JFUVVJUkVEPTAuNi4wCisgICAgICBXRUJQX01PRFVM RT0ibGlid2VicCA+PSAkV0VCUF9SRVFVSVJFRCIKKworICAgICAgRU1BQ1NfQ0hFQ0tfTU9EVUxF UyhbV0VCUF0sIFskV0VCUF9NT0RVTEVdKQorICAgICAgQUNfU1VCU1QoV0VCUF9DRkxBR1MpCisg ICAgICBBQ19TVUJTVChXRUJQX0xJQlMpCisKKyAgICAgIGlmIHRlc3QgJEhBVkVfV0VCUCA9IHll czsgdGhlbgorICAgICAgICBBQ19ERUZJTkUoSEFWRV9XRUJQLCAxLCBbRGVmaW5lIHRvIDEgaWYg dXNpbmcgbGlid2VicC5dKQorICAgICAgICBDRkxBR1M9IiRDRkxBR1MgJFdFQlBfQ0ZMQUdTIgor ICAgICAgZmkKKyAgIGZpCitmaQorCiBIQVZFX0lNQUdFTUFHSUNLPW5vCiBpZiB0ZXN0ICIke0hB VkVfWDExfSIgPSAieWVzIiB8fCB0ZXN0ICIke0hBVkVfTlN9IiA9ICJ5ZXMiIHx8IHRlc3QgIiR7 SEFWRV9XMzJ9IiA9ICJ5ZXMiOyB0aGVuCiAgIGlmIHRlc3QgIiR7d2l0aF9pbWFnZW1hZ2lja30i ICE9ICJubyI7IHRoZW4KQEAgLTU5MjgsNiArNTk0Niw3IEBAIEFDX0RFRlVOCiAgIERvZXMgRW1h Y3MgdXNlIGEgZ2lmIGxpYnJhcnk/ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtIQVZFX0dJ Rn0gJExJQkdJRgogICBEb2VzIEVtYWNzIHVzZSBhIHBuZyBsaWJyYXJ5PyAgICAgICAgICAgICAg ICAgICAgICAgICAgICR7SEFWRV9QTkd9ICRMSUJQTkcKICAgRG9lcyBFbWFjcyB1c2UgLWxyc3Zn LTI/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke0hBVkVfUlNWR30KKyAgRG9lcyBF bWFjcyB1c2UgLWx3ZWJwPyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke0hBVkVf V0VCUH0KICAgRG9lcyBFbWFjcyB1c2UgY2Fpcm8/ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAke0hBVkVfQ0FJUk99CiAgIERvZXMgRW1hY3MgdXNlIC1sbGNtczI/ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJHtIQVZFX0xDTVMyfQogICBEb2VzIEVtYWNzIHVzZSBp bWFnZW1hZ2ljaz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7SEFWRV9JTUFHRU1BR0lD S30KZGlmZiAtLWdpdCBhL2RvYy9saXNwcmVmL2Rpc3BsYXkudGV4aSBiL2RvYy9saXNwcmVmL2Rp c3BsYXkudGV4aQppbmRleCAxNjU3N2QxM2MxLi45YzM3OGEzMDI3IDEwMDY0NAotLS0gYS9kb2Mv bGlzcHJlZi9kaXNwbGF5LnRleGkKKysrIGIvZG9jL2xpc3ByZWYvZGlzcGxheS50ZXhpCkBAIC01 MjY0LDEzICs1MjY0LDEzIEBAIEltYWdlIEZvcm1hdHMKICAgU3VwcG9ydGVkIGltYWdlIGZvcm1h dHMgKGFuZCB0aGUgcmVxdWlyZWQgc3VwcG9ydCBsaWJyYXJpZXMpIGluY2x1ZGUKIFBCTSBhbmQg WEJNICh3aGljaCBkbyBub3QgZGVwZW5kIG9uIHN1cHBvcnQgbGlicmFyaWVzIGFuZCBhcmUgYWx3 YXlzCiBhdmFpbGFibGUpLCBYUE0gKEBjb2Rle2xpYlhwbX0pLCBHSUYgKEBjb2Rle2xpYmdpZn0g b3IKLUBjb2Rle2xpYnVuZ2lmfSksIEpQRUcgKEBjb2Rle2xpYmpwZWd9KSwgVElGRgotKEBjb2Rl e2xpYnRpZmZ9KSwgUE5HIChAY29kZXtsaWJwbmd9KSwgYW5kIFNWRyAoQGNvZGV7bGlicnN2Z30p LgorQGNvZGV7bGlidW5naWZ9KSwgSlBFRyAoQGNvZGV7bGlianBlZ30pLCBUSUZGIChAY29kZXts aWJ0aWZmfSksIFBORworKEBjb2Rle2xpYnBuZ30pLCBTVkcgKEBjb2Rle2xpYnJzdmd9KSwgYW5k IFdlYlAgKEBjb2Rle2xpYndlYnB9KS4KIAogICBFYWNoIG9mIHRoZXNlIGltYWdlIGZvcm1hdHMg aXMgYXNzb2NpYXRlZCB3aXRoIGFuIEBkZm57aW1hZ2UgdHlwZQogc3ltYm9sfS4gIFRoZSBzeW1i b2xzIGZvciB0aGUgYWJvdmUgZm9ybWF0cyBhcmUsIHJlc3BlY3RpdmVseSwKLUBjb2Rle3BibX0s IEBjb2Rle3hibX0sIEBjb2Rle3hwbX0sIEBjb2Rle2dpZn0sCi1AY29kZXtqcGVnfSwgQGNvZGV7 dGlmZn0sIEBjb2Rle3BuZ30sIGFuZCBAY29kZXtzdmd9LgorQGNvZGV7cGJtfSwgQGNvZGV7eGJt fSwgQGNvZGV7eHBtfSwgQGNvZGV7Z2lmfSwgQGNvZGV7anBlZ30sCitAY29kZXt0aWZmfSwgQGNv ZGV7cG5nfSwgQGNvZGV7c3ZnfSwgYW5kIEBjb2Rle3dlYnB9LgogCiAgIEZ1cnRoZXJtb3JlLCBp ZiB5b3UgYnVpbGQgRW1hY3Mgd2l0aCBJbWFnZU1hZ2ljawogKEBjb2Rle2xpYk1hZ2lja1dhbmR9 KSBzdXBwb3J0LCBFbWFjcyBjYW4gZGlzcGxheSBhbnkgaW1hZ2UgZm9ybWF0CkBAIC02Mjc0LDYg KzYyNzQsOSBAQCBPdGhlciBJbWFnZSBUeXBlcwogQGl0ZW0gVElGRgogSW1hZ2UgdHlwZSBAY29k ZXt0aWZmfS4KIFN1cHBvcnRzIHRoZSBAY29kZXs6aW5kZXh9IHByb3BlcnR5LiAgQHhyZWZ7TXVs dGktRnJhbWUgSW1hZ2VzfS4KKworQGl0ZW0gV2ViUAorSW1hZ2UgdHlwZSBAY29kZXt3ZWJwfS4K IEBlbmQgdGFibGUKIAogQG5vZGUgRGVmaW5pbmcgSW1hZ2VzCmRpZmYgLS1naXQgYS9ldGMvTkVX UyBiL2V0Yy9ORVdTCmluZGV4IGY5ZmU3MmU5MWYuLjBhNDRlNjg4NWYgMTAwNjQ0Ci0tLSBhL2V0 Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC01Myw2ICs1MywxMSBAQCB0aW1lLgogSnVtcGluZyB0 byBzb3VyY2UgZnJvbSAiKkhlbHAqIiBidWZmZXIgbW92ZXMgdGhlIHBvaW50IHdoZW4gdGhlIHNv dXJjZQogYnVmZmVyIGlzIGFscmVhZHkgb3Blbi4gIE5vdywgdGhlIG9sZCBwb2ludCBpcyBwdXNo ZWQgdG8gbWFyayByaW5nLgogCisqKiBTdXBwb3J0IGZvciB0aGUgV2ViUCBpbWFnZSBmb3JtYXQu CitUaGlzIHN1cHBvcnQgaXMgYnVpbHQgYnkgZGVmYXVsdCB3aGVuIHRoZSBsaWJ3ZWJwIGxpYnJh cnkgaXMKK2F2YWlsYWJsZS4gIFRvIGRpc2FibGUgaXQsIHVzZSB0aGUgJy0td2l0aG91dC13ZWJw JyBjb25maWd1cmUgZmxhZy4KK0ltYWdlIHNwZWNpZmllcnMgY2FuIG5vdyB1c2UgJzp0eXBlIHdl YnAnLgorCiAMCiAqIEVkaXRpbmcgQ2hhbmdlcyBpbiBFbWFjcyAyOS4xCiAKZGlmZiAtLWdpdCBh L2xpc3AvZmlsZXMuZWwgYi9saXNwL2ZpbGVzLmVsCmluZGV4IDVhNmEzMzcyMWIuLmU2Yjk0YTRh MWEgMTAwNjQ0Ci0tLSBhL2xpc3AvZmlsZXMuZWwKKysrIGIvbGlzcC9maWxlcy5lbApAQCAtMjc1 OCw2ICsyNzU4LDcgQEAgYXV0by1tb2RlLWFsaXN0CiAgICAgICgiXFwuZ2lmXFwnIiAuIGltYWdl LW1vZGUpCiAgICAgICgiXFwucG5nXFwnIiAuIGltYWdlLW1vZGUpCiAgICAgICgiXFwuanBlP2dc XCciIC4gaW1hZ2UtbW9kZSkKKyAgICAgKCJcXC53ZWJwXFwnIiAuIGltYWdlLW1vZGUpCiAgICAg ICgiXFwudGU/eHRcXCciIC4gdGV4dC1tb2RlKQogICAgICAoIlxcLlt0VF1lW3hYXVxcJyIgLiB0 ZXgtbW9kZSkKICAgICAgKCJcXC5pbnNcXCciIC4gdGV4LW1vZGUpCQk7SW5zdGFsbGF0aW9uIGZp bGVzIGZvciBUZVggcGFja2FnZXMuCmRpZmYgLS1naXQgYS9saXNwL2ltYWdlLWZpbGUuZWwgYi9s aXNwL2ltYWdlLWZpbGUuZWwKaW5kZXggZmJjOWVhYWY5NC4uNmRmNDNmNzM3ZCAxMDA2NDQKLS0t IGEvbGlzcC9pbWFnZS1maWxlLmVsCisrKyBiL2xpc3AvaW1hZ2UtZmlsZS5lbApAQCAtMzcsNyAr MzcsNyBAQAogCiA7OzsjIyNhdXRvbG9hZAogKGRlZmN1c3RvbSBpbWFnZS1maWxlLW5hbWUtZXh0 ZW5zaW9ucwotICAocHVyZWNvcHkgJygicG5nIiAianBlZyIgImpwZyIgImdpZiIgInRpZmYiICJ0 aWYiICJ4Ym0iICJ4cG0iICJwYm0iICJwZ20iICJwcG0iICJwbm0iICJzdmciKSkKKyAgKHB1cmVj b3B5ICcoInBuZyIgImpwZWciICJqcGciICJnaWYiICJ0aWZmIiAidGlmIiAieGJtIiAieHBtIiAi cGJtIiAicGdtIiAicHBtIiAicG5tIiAic3ZnIiAid2VicCIpKQogICAiQSBsaXN0IG9mIGltYWdl LWZpbGUgZmlsZW5hbWUgZXh0ZW5zaW9ucy4KIEZpbGVuYW1lcyBoYXZpbmcgb25lIG9mIHRoZXNl IGV4dGVuc2lvbnMgYXJlIGNvbnNpZGVyZWQgaW1hZ2UgZmlsZXMsCiBpbiBhZGRpdGlvbiB0byB0 aG9zZSBtYXRjaGluZyBgaW1hZ2UtZmlsZS1uYW1lLXJlZ2V4cHMnLgpkaWZmIC0tZ2l0IGEvbGlz cC9pbWFnZS5lbCBiL2xpc3AvaW1hZ2UuZWwKaW5kZXggMjAyMmI0MWQxZi4uNTM0M2UyNmQwMyAx MDA2NDQKLS0tIGEvbGlzcC9pbWFnZS5lbAorKysgYi9saXNwL2ltYWdlLmVsCkBAIC00OCw2ICs0 OCw3IEBAIGltYWdlLXR5cGUtaGVhZGVyLXJlZ2V4cHMKICAgICAoIlxcYFxcKD86TU1cMFxcKlxc fElJXFwqXDBcXCkiIC4gdGlmZikKICAgICAoIlxcYFtcdFxuXHIgXSolIVBTIiAuIHBvc3RzY3Jp cHQpCiAgICAgKCJcXGBceGZmXHhkOCIgLiBqcGVnKSAgICA7IHVzZWQgdG8gYmUgKGltYWdlLWpw ZWctcCAuIGpwZWcpCisgICAgKCJcXGBSSUZGLi4uLldFQlBWUDgiIC4gd2VicCkKICAgICAoLChs ZXQqICgoaW5jb21tZW50LXJlICJcXCg/OlteLV1cXHwtW14tXVxcKSIpCiAJICAgICAoY29tbWVu dC1yZSAoY29uY2F0ICJcXCg/OiEtLSIgaW5jb21tZW50LXJlICIqLS0+WyBcdFxyXG5dKjxcXCki KSkpCiAJKGNvbmNhdCAiXFwoPzo8XFw/eG1sWyBcdFxyXG5dK1tePl0qPlxcKT9bIFx0XHJcbl0q PCIKQEAgLTY3LDYgKzY4LDcgQEAgaW1hZ2UtdHlwZS1maWxlLW5hbWUtcmVnZXhwcwogICAnKCgi XFwucG5nXFwnIiAuIHBuZykKICAgICAoIlxcLmdpZlxcJyIgLiBnaWYpCiAgICAgKCJcXC5qcGU/ Z1xcJyIgLiBqcGVnKQorICAgICgiXFwud2VicFxcJyIgLiB3ZWJwKQogICAgICgiXFwuYm1wXFwn IiAuIGJtcCkKICAgICAoIlxcLnhwbVxcJyIgLiB4cG0pCiAgICAgKCJcXC5wYm1cXCciIC4gcGJt KQpAQCAtOTIsNiArOTQsNyBAQCBpbWFnZS10eXBlLWF1dG8tZGV0ZWN0YWJsZQogICAgIChqcGVn IC4gbWF5YmUpCiAgICAgKHRpZmYgLiBtYXliZSkKICAgICAoc3ZnIC4gbWF5YmUpCisgICAgKHdl YnAgLiBtYXliZSkKICAgICAocG9zdHNjcmlwdCAuIG5pbCkpCiAgICJBbGlzdCBvZiAoSU1BR0Ut VFlQRSAuIEFVVE9ERVRFQ1QpIHBhaXJzIHVzZWQgdG8gYXV0by1kZXRlY3QgaW1hZ2UgZmlsZXMu CiBcKFNlZSBgaW1hZ2UtdHlwZS1hdXRvLWRldGVjdGVkLXAnKS4KZGlmZiAtLWdpdCBhL2xpc3Av dGVybS93MzItd2luLmVsIGIvbGlzcC90ZXJtL3czMi13aW4uZWwKaW5kZXggNWQxZGM2MDY2Ny4u MDRkYTUzMGRhNSAxMDA2NDQKLS0tIGEvbGlzcC90ZXJtL3czMi13aW4uZWwKKysrIGIvbGlzcC90 ZXJtL3czMi13aW4uZWwKQEAgLTI3NCw2ICsyNzQsNyBAQCBsaWJnbnV0bHMtdmVyc2lvbgogCSAg ICAgJyhnaWYgImxpYmdpZi02LmRsbCIgImdpZmxpYjUuZGxsIiAiZ2lmLmRsbCIpCiAJICcoZ2lm ICJsaWJnaWYtNS5kbGwiICJnaWZsaWI0LmRsbCIgImxpYnVuZ2lmNC5kbGwiICJsaWJ1bmdpZi5k bGwiKSkpCiAgICAgICAgJyhzdmcgImxpYnJzdmctMi0yLmRsbCIpCisgICAgICAgJyhsaWJ3ZWJw ICJsaWJ3ZWJwLmRsbCIpCiAgICAgICAgJyhnZGstcGl4YnVmICJsaWJnZGtfcGl4YnVmLTIuMC0w LmRsbCIpCiAgICAgICAgJyhnbGliICJsaWJnbGliLTIuMC0wLmRsbCIpCiAgICAgICAgJyhnaW8g ImxpYmdpby0yLjAtMC5kbGwiKQpkaWZmIC0tZ2l0IGEvbnQvSU5TVEFMTCBiL250L0lOU1RBTEwK aW5kZXggOWY1NDMxNTFhOS4uYTM5MDU3YzY2YyAxMDA2NDQKLS0tIGEvbnQvSU5TVEFMTAorKysg Yi9udC9JTlNUQUxMCkBAIC00ODgsNiArNDg4LDcgQEAgYnVpbGQgd2lsbCBydW4gb24gV2luZG93 cyA5WCBhbmQgbmV3ZXIgc3lzdGVtcykuCiAgICAgICAgRG9lcyBFbWFjcyB1c2UgYSBnaWYgbGli cmFyeT8gICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMKICAgICAgICBEb2VzIEVtYWNzIHVz ZSBhIHBuZyBsaWJyYXJ5PyAgICAgICAgICAgICAgICAgICAgICAgICAgIHllcwogICAgICAgIERv ZXMgRW1hY3MgdXNlIC1scnN2Zy0yPyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVz CisgICAgICAgRG9lcyBFbWFjcyB1c2UgLWx3ZWJwPyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB5ZXMKICAgICAgICBEb2VzIEVtYWNzIHVzZSBjYWlybz8gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG5vCiAgICAgICAgRG9lcyBFbWFjcyB1c2UgLWxsY21zMj8gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMKICAgICAgICBEb2VzIEVtYWNzIHVzZSBp bWFnZW1hZ2ljaz8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vCkBAIC01OTcsOCArNTk4 LDggQEAgYnVpbGQgd2lsbCBydW4gb24gV2luZG93cyA5WCBhbmQgbmV3ZXIgc3lzdGVtcykuCiAq IE9wdGlvbmFsIGltYWdlIGxpYnJhcnkgc3VwcG9ydAogCiAgIEluIGFkZGl0aW9uIHRvIGl0cyAi bmF0aXZlIiBpbWFnZSBmb3JtYXRzIChwYm0gYW5kIHhibSksIEVtYWNzIGNhbgotICBoYW5kbGUg b3RoZXIgaW1hZ2UgdHlwZXM6IHhwbSwgdGlmZiwgZ2lmLCBwbmcsIGpwZWcgYW5kIGV4cGVyaW1l bnRhbAotICBzdXBwb3J0IGZvciBzdmcuCisgIGhhbmRsZSBvdGhlciBpbWFnZSB0eXBlczogeHBt LCB0aWZmLCBnaWYsIHBuZywganBlZywgd2VicCBhbmQKKyAgZXhwZXJpbWVudGFsIHN1cHBvcnQg Zm9yIHN2Zy4KIAogICBUbyBidWlsZCBFbWFjcyB3aXRoIHN1cHBvcnQgZm9yIHRoZW0sIHRoZSBj b3JyZXNwb25kaW5nIGhlYWRlcnMgbXVzdAogICBiZSBpbiB0aGUgaW5jbHVkZSBwYXRoIGFuZCBs aWJyYXJpZXMgc2hvdWxkIGJlIHdoZXJlIHRoZSBsaW5rZXIKQEAgLTczNiw2ICs3MzcsMTAgQEAg YnVpbGQgd2lsbCBydW4gb24gV2luZG93cyA5WCBhbmQgbmV3ZXIgc3lzdGVtcykuCiAgIHdpdGhv dXQgaXQgYnkgc3BlY2lmeWluZyB0aGUgLS13aXRob3V0LXJzdmcgc3dpdGNoIHRvIHRoZSBjb25m aWd1cmUKICAgc2NyaXB0LgogCisgIEZvciBXZWJQIGltYWdlcyB5b3Ugd2lsbCBuZWVkIGxpYndl YnA6CisKKyAgICBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9zcGVlZC93ZWJwLworCiAg IEJpbmFyaWVzIGZvciB0aGUgb3RoZXIgaW1hZ2UgbGlicmFyaWVzIGNhbiBiZSBmb3VuZCBvbiB0 aGUKICAgZXp3aW5wb3J0cyBzaXRlIG9yIGF0IHRoZSBHbnVXaW4zMiBwcm9qZWN0ICh0aGUgbGF0 dGVyIGFyZSBnZW5lcmFsbHkKICAgdmVyeSBvbGQsIHNvIG5vdCByZWNvbW1lbmRlZCkuICBOb3Rl IHNwZWNpZmljYWxseSB0aGF0LCBkdWUgdG8gc29tZQpkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxl LmluIGIvc3JjL01ha2VmaWxlLmluCmluZGV4IDZkNzVlMzUzN2EuLjdjOTc3ZTM0ZWEgMTAwNjQ0 Ci0tLSBhL3NyYy9NYWtlZmlsZS5pbgorKysgYi9zcmMvTWFrZWZpbGUuaW4KQEAgLTEyNCw3ICsx MjQsNyBAQCBMSUJfTUFUSD0KICMjIC1scHRocmVhZCwgb3IgZW1wdHkuCiBMSUJfUFRIUkVBRD1A TElCX1BUSFJFQURACiAKLUxJQklNQUdFPUBMSUJUSUZGQCBATElCSlBFR0AgQExJQlBOR0AgQExJ QkdJRkAgQExJQlhQTUAKK0xJQklNQUdFPUBMSUJUSUZGQCBATElCSlBFR0AgQExJQlBOR0AgQExJ QkdJRkAgQExJQlhQTUAgQFdFQlBfTElCU0AKIAogWENCX0xJQlM9QFhDQl9MSUJTQAogWEZUX0xJ QlM9QFhGVF9MSUJTQApkaWZmIC0tZ2l0IGEvc3JjL2ltYWdlLmMgYi9zcmMvaW1hZ2UuYwppbmRl eCBmZjA1NzQxYjJjLi42ZmYxNzI1MDRmIDEwMDY0NAotLS0gYS9zcmMvaW1hZ2UuYworKysgYi9z cmMvaW1hZ2UuYwpAQCAtODczOSw4ICs4NzM5LDI4NCBAQCBnaWZfbG9hZCAoc3RydWN0IGZyYW1l ICpmLCBzdHJ1Y3QgaW1hZ2UgKmltZykKICNlbmRpZiAvKiBIQVZFX0dJRiAqLwogCiAKKyNpZmRl ZiBIQVZFX1dFQlAKKworDAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisJCQkJIFdlYlAKKyAqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKi8KKworI2luY2x1ZGUgIndlYnAvZGVjb2RlLmgiCisKKy8qIEluZGljZXMgb2YgaW1hZ2Ug c3BlY2lmaWNhdGlvbiBmaWVsZHMgaW4gd2VicF9mb3JtYXQsIGJlbG93LiAgKi8KKworZW51bSB3 ZWJwX2tleXdvcmRfaW5kZXgKK3sKKyAgV0VCUF9UWVBFLAorICBXRUJQX0RBVEEsCisgIFdFQlBf RklMRSwKKyAgV0VCUF9BU0NFTlQsCisgIFdFQlBfTUFSR0lOLAorICBXRUJQX1JFTElFRiwKKyAg V0VCUF9BTEdPUklUSE0sCisgIFdFQlBfSEVVUklTVElDX01BU0ssCisgIFdFQlBfTUFTSywKKyAg V0VCUF9CQUNLR1JPVU5ELAorICBXRUJQX0xBU1QKK307CisKKy8qIFZlY3RvciBvZiBpbWFnZV9r ZXl3b3JkIHN0cnVjdHVyZXMgZGVzY3JpYmluZyB0aGUgZm9ybWF0CisgICBvZiB2YWxpZCB1c2Vy LWRlZmluZWQgaW1hZ2Ugc3BlY2lmaWNhdGlvbnMuICAqLworCitzdGF0aWMgY29uc3Qgc3RydWN0 IGltYWdlX2tleXdvcmQgd2VicF9mb3JtYXRbV0VCUF9MQVNUXSA9Cit7CisgIHsiOnR5cGUiLAkJ SU1BR0VfU1lNQk9MX1ZBTFVFLAkJCTF9LAorICB7IjpkYXRhIiwJCUlNQUdFX1NUUklOR19WQUxV RSwJCQkwfSwKKyAgeyI6ZmlsZSIsCQlJTUFHRV9TVFJJTkdfVkFMVUUsCQkJMH0sCisgIHsiOmFz Y2VudCIsCQlJTUFHRV9BU0NFTlRfVkFMVUUsCQkJMH0sCisgIHsiOm1hcmdpbiIsCQlJTUFHRV9O T05fTkVHQVRJVkVfSU5URUdFUl9WQUxVRV9PUl9QQUlSLCAwfSwKKyAgeyI6cmVsaWVmIiwJCUlN QUdFX0lOVEVHRVJfVkFMVUUsCQkJMH0sCisgIHsiOmNvbnZlcnNpb24iLAlJTUFHRV9ET05UX0NI RUNLX1ZBTFVFX1RZUEUsCQkwfSwKKyAgeyI6aGV1cmlzdGljLW1hc2siLAlJTUFHRV9ET05UX0NI RUNLX1ZBTFVFX1RZUEUsCQkwfSwKKyAgeyI6bWFzayIsCQlJTUFHRV9ET05UX0NIRUNLX1ZBTFVF X1RZUEUsCQkwfSwKKyAgeyI6YmFja2dyb3VuZCIsCUlNQUdFX1NUUklOR19PUl9OSUxfVkFMVUUs CQkwfQorfTsKKworLyogUmV0dXJuIHRydWUgaWYgT0JKRUNUIGlzIGEgdmFsaWQgV2ViUCBpbWFn ZSBzcGVjaWZpY2F0aW9uLiAgKi8KKworc3RhdGljIGJvb2wKK3dlYnBfaW1hZ2VfcCAoTGlzcF9P YmplY3Qgb2JqZWN0KQoreworICBzdHJ1Y3QgaW1hZ2Vfa2V5d29yZCBmbXRbV0VCUF9MQVNUXTsK KyAgbWVtY3B5IChmbXQsIHdlYnBfZm9ybWF0LCBzaXplb2YgZm10KTsKKworICBpZiAoIXBhcnNl X2ltYWdlX3NwZWMgKG9iamVjdCwgZm10LCBXRUJQX0xBU1QsIFF3ZWJwKSkKKyAgICByZXR1cm4g ZmFsc2U7CisKKyAgLyogTXVzdCBzcGVjaWZ5IGVpdGhlciB0aGUgOmRhdGEgb3IgOmZpbGUga2V5 d29yZC4gICovCisgIHJldHVybiBmbXRbV0VCUF9GSUxFXS5jb3VudCArIGZtdFtXRUJQX0RBVEFd LmNvdW50ID09IDE7Cit9CisKKyNpZmRlZiBXSU5ET1dTTlQKKworLyogV2ViUCBsaWJyYXJ5IGRl dGFpbHMuICAqLworCitERUZfRExMX0ZOIChpbnQsIFdlYlBHZXRJbmZvLCAoY29uc3QgdWludDhf dCogZGF0YSwgc2l6ZV90IGRhdGFfc2l6ZSwgaW50KiB3aWR0aCwgaW50KiBoZWlnaHQpKTsKK0RF Rl9ETExfRk4gKFZQOFN0YXR1c0NvZGUsIFdlYlBHZXRGZWF0dXJlcywKKwkgICAgKGNvbnN0IHVp bnQ4X3QqIGRhdGEsIHNpemVfdCBkYXRhX3NpemUsIFdlYlBCaXRzdHJlYW1GZWF0dXJlcyogZmVh dHVyZXMpKTsKK0RFRl9ETExfRk4gKHVpbnQ4X3QqLCBXZWJQRGVjb2RlUkdCLAorCSAgICAoY29u c3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFfc2l6ZSwgaW50KiB3aWR0aCwgaW50KiBoZWln aHQpKTsKK0RFRl9ETExfRk4gKHVpbnQ4X3QqLCBXZWJQRGVjb2RlQkdSLAorCSAgICAoY29uc3Qg dWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFfc2l6ZSwgaW50KiB3aWR0aCwgaW50KiBoZWlnaHQp KTsKK0RFRl9ETExfRk4gKHZvaWQsIFdlYlBGcmVlRGVjQnVmZmVyCisJICAgIChXZWJQRGVjQnVm ZmVyKiBidWZmZXIpKTsKKworc3RhdGljIGJvb2wKK2luaXRfd2VicF9mdW5jdGlvbnMgKHZvaWQp Cit7CisgIEhNT0RVTEUgbGlicmFyeTsKKworICBpZiAoIShsaWJyYXJ5ID0gdzMyX2RlbGF5ZWRf bG9hZCAoUXdlYnApKSkKKyAgICByZXR1cm4gMDsKKworICBMT0FEX0RMTF9GTiAobGlicmFyeSwg V2ViUEdldEluZm8pOworICBMT0FEX0RMTF9GTiAobGlicmFyeSwgV2ViUEdldEZlYXR1cmVzKTsK KyAgTE9BRF9ETExfRk4gKGxpYnJhcnksIFdlYlBEZWNvZGVSR0JBKTsKKyAgTE9BRF9ETExfRk4g KGxpYnJhcnksIFdlYlBEZWNvZGVSR0IpOworICBMT0FEX0RMTF9GTiAobGlicmFyeSwgV2ViUEZy ZWUpOworICByZXR1cm4gdHJ1ZTsKK30KKworI3VuZGVmIFdlYlBHZXRJbmZvCisjdW5kZWYgV2Vi UEdldEZlYXR1cmVzCisjdW5kZWYgV2ViUERlY29kZVJHQkEKKyN1bmRlZiBXZWJQRGVjb2RlUkdC CisjdW5kZWYgV2ViUEZyZWUKKworI2RlZmluZSBXZWJQR2V0SW5mbyBmbl9XZWJQR2V0SW5mbwor I2RlZmluZSBXZWJQR2V0RmVhdHVyZXMgZm5fV2ViUEdldEZlYXR1cmVzCisjZGVmaW5lIFdlYlBE ZWNvZGVSR0JBIGZuX1dlYlBEZWNvZGVSR0JBCisjZGVmaW5lIFdlYlBEZWNvZGVSR0IgZm5fV2Vi UERlY29kZVJHQgorI2RlZmluZSBXZWJQRnJlZSBmbl9XZWJQRnJlZQorCisjZW5kaWYgLyogV0lO RE9XU05UICovCisKKy8qIExvYWQgV2ViUCBpbWFnZSBJTUcgZm9yIHVzZSBvbiBmcmFtZSBGLiAg VmFsdWUgaXMgdHJ1ZSBpZgorICAgc3VjY2Vzc2Z1bC4gICovCisKK3N0YXRpYyBib29sCit3ZWJw X2xvYWQgKHN0cnVjdCBmcmFtZSAqZiwgc3RydWN0IGltYWdlICppbWcpCit7CisgIHB0cmRpZmZf dCBzaXplID0gMDsKKyAgdWludDhfdCAqY29udGVudHM7CisgIExpc3BfT2JqZWN0IGZpbGU7CisK KyAgLyogT3BlbiB0aGUgV2ViUCBmaWxlLiAgKi8KKyAgTGlzcF9PYmplY3Qgc3BlY2lmaWVkX2Zp bGUgPSBpbWFnZV9zcGVjX3ZhbHVlIChpbWctPnNwZWMsIFFDZmlsZSwgTlVMTCk7CisgIExpc3Bf T2JqZWN0IHNwZWNpZmllZF9kYXRhID0gaW1hZ2Vfc3BlY192YWx1ZSAoaW1nLT5zcGVjLCBRQ2Rh dGEsIE5VTEwpOworCisgIGlmIChOSUxQIChzcGVjaWZpZWRfZGF0YSkpCisgICAgeworICAgICAg aW50IGZkOworICAgICAgZmlsZSA9IGltYWdlX2ZpbmRfaW1hZ2VfZmQgKHNwZWNpZmllZF9maWxl LCAmZmQpOworICAgICAgaWYgKCFTVFJJTkdQIChmaWxlKSkKKwl7CisJICBpbWFnZV9lcnJvciAo IkNhbm5vdCBmaW5kIGltYWdlIGZpbGUgYCVzJyIsIHNwZWNpZmllZF9maWxlKTsKKwkgIHJldHVy biBmYWxzZTsKKwl9CisKKyAgICAgIGNvbnRlbnRzID0gKHVpbnQ4X3QgKikgc2x1cnBfZmlsZSAo ZmQsICZzaXplKTsKKyAgICAgIGlmIChjb250ZW50cyA9PSBOVUxMKQorCXsKKwkgIGltYWdlX2Vy cm9yICgiRXJyb3IgbG9hZGluZyBXZWJQIGltYWdlIGAlcyciLCBmaWxlKTsKKwkgIHJldHVybiBm YWxzZTsKKwl9CisgICAgfQorICBlbHNlCisgICAgeworICAgICAgaWYgKCFTVFJJTkdQIChzcGVj aWZpZWRfZGF0YSkpCisJeworCSAgaW1hZ2VfZXJyb3IgKCJJbnZhbGlkIGltYWdlIGRhdGEgYCVz JyIsIHNwZWNpZmllZF9kYXRhKTsKKwkgIHJldHVybiBmYWxzZTsKKwl9CisgICAgICBjb250ZW50 cyA9ICh1aW50OF90KikgU1NEQVRBIChzcGVjaWZpZWRfZGF0YSk7CisgICAgICBzaXplID0gU0JZ VEVTIChzcGVjaWZpZWRfZGF0YSk7CisgICAgfQorCisgIC8qIFZhbGlkYXRlIHRoZSBXZWJQIGlt YWdlIGhlYWRlci4gICovCisgIGlmICghV2ViUEdldEluZm8gKGNvbnRlbnRzLCBzaXplLCBOVUxM LCBOVUxMKSkKKyAgICB7CisgICAgICBpZiAoIU5JTFAgKHNwZWNpZmllZF9kYXRhKSkKKwlpbWFn ZV9lcnJvciAoIk5vdCBhIFdlYlAgZmlsZTogYCVzJyIsIGZpbGUpOworICAgICAgZWxzZQorCWlt YWdlX2Vycm9yICgiSW52YWxpZCBXZWJQIGRhdGEiKTsKKyAgICAgIGdvdG8gd2VicF9lcnJvcjE7 CisgICAgfQorCisgIC8qIEdldCBXZWJQIGZlYXR1cmVzLiAgKi8KKyAgV2ViUEJpdHN0cmVhbUZl YXR1cmVzIGZlYXR1cmVzOworICBWUDhTdGF0dXNDb2RlIHJlc3VsdCA9IFdlYlBHZXRGZWF0dXJl cyAoY29udGVudHMsIHNpemUsICZmZWF0dXJlcyk7CisgIHN3aXRjaCAocmVzdWx0KQorICAgIHsK KyAgICBjYXNlIFZQOF9TVEFUVVNfT0s6CisgICAgICBicmVhazsKKyAgICBjYXNlIFZQOF9TVEFU VVNfTk9UX0VOT1VHSF9EQVRBOgorICAgIGNhc2UgVlA4X1NUQVRVU19PVVRfT0ZfTUVNT1JZOgor ICAgIGNhc2UgVlA4X1NUQVRVU19JTlZBTElEX1BBUkFNOgorICAgIGNhc2UgVlA4X1NUQVRVU19C SVRTVFJFQU1fRVJST1I6CisgICAgY2FzZSBWUDhfU1RBVFVTX1VOU1VQUE9SVEVEX0ZFQVRVUkU6 CisgICAgY2FzZSBWUDhfU1RBVFVTX1NVU1BFTkRFRDoKKyAgICBjYXNlIFZQOF9TVEFUVVNfVVNF Ul9BQk9SVDoKKyAgICBkZWZhdWx0OgorICAgICAgLyogRXJyb3Igb3V0IGluIGFsbCBvdGhlciBj YXNlcy4gICovCisgICAgICBpZiAoIU5JTFAgKHNwZWNpZmllZF9kYXRhKSkKKwlpbWFnZV9lcnJv ciAoIkVycm9yIHdoZW4gaW50ZXJwcmV0aW5nIFdlYlAgZGF0YTogYCVzJyIsIGZpbGUpOworICAg ICAgZWxzZQorCWltYWdlX2Vycm9yICgiRXJyb3Igd2hlbiBpbnRlcnByZXRpbmcgV2ViUCBkYXRh Iik7CisgICAgICBnb3RvIHdlYnBfZXJyb3IxOworICAgIH0KKworICAvKiBEZWNvZGUgV2ViUCBk YXRhLiAgKi8KKyAgdWludDhfdCAqZGVjb2RlZDsKKyAgaW50IHdpZHRoLCBoZWlnaHQ7CisgIGlm IChmZWF0dXJlcy5oYXNfYWxwaGEpCisgICAgLyogTGluZWFyIFtyMCwgZzAsIGIwLCBhMCwgcjEs IGcxLCBiMSwgYTEsIC4uLl0gb3JkZXIuICAqLworICAgIGRlY29kZWQgPSBXZWJQRGVjb2RlUkdC QSAoY29udGVudHMsIHNpemUsICZ3aWR0aCwgJmhlaWdodCk7CisgIGVsc2UKKyAgICAvKiBMaW5l YXIgW3IwLCBnMCwgYjAsIHIxLCBnMSwgYjEsIC4uLl0gb3JkZXIuICAqLworICAgIGRlY29kZWQg PSBXZWJQRGVjb2RlUkdCIChjb250ZW50cywgc2l6ZSwgJndpZHRoLCAmaGVpZ2h0KTsKKworICBp ZiAoISh3aWR0aCA8PSBJTlRfTUFYICYmIGhlaWdodCA8PSBJTlRfTUFYCisJJiYgY2hlY2tfaW1h Z2Vfc2l6ZSAoZiwgd2lkdGgsIGhlaWdodCkpKQorICAgIHsKKyAgICAgIGltYWdlX3NpemVfZXJy b3IgKCk7CisgICAgICBnb3RvIHdlYnBfZXJyb3IyOworICAgIH0KKworICAvKiBDcmVhdGUgdGhl IHggaW1hZ2UgYW5kIHBpeG1hcC4gICovCisgIEVtYWNzX1BpeF9Db250YWluZXIgeGltZywgbWFz a19pbWc7CisgIGlmICghaW1hZ2VfY3JlYXRlX3hfaW1hZ2VfYW5kX3BpeG1hcCAoZiwgaW1nLCB3 aWR0aCwgaGVpZ2h0LCAwLCAmeGltZywgZmFsc2UpKQorICAgIGdvdG8gd2VicF9lcnJvcjI7CisK KyAgLyogQ3JlYXRlIGFuIGltYWdlIGFuZCBwaXhtYXAgc2VydmluZyBhcyBtYXNrIGlmIHRoZSBX ZWJQIGltYWdlCisgICAgIGNvbnRhaW5zIGFuIGFscGhhIGNoYW5uZWwuICAqLworICBpZiAoZmVh dHVyZXMuaGFzX2FscGhhCisgICAgICAmJiAhaW1hZ2VfY3JlYXRlX3hfaW1hZ2VfYW5kX3BpeG1h cCAoZiwgaW1nLCB3aWR0aCwgaGVpZ2h0LCAxLCAmbWFza19pbWcsIHRydWUpKQorICAgIHsKKyAg ICAgIGltYWdlX2Rlc3Ryb3lfeF9pbWFnZSAoeGltZyk7CisgICAgICBpbWFnZV9jbGVhcl9pbWFn ZV8xIChmLCBpbWcsIENMRUFSX0lNQUdFX1BJWE1BUCk7CisgICAgICBnb3RvIHdlYnBfZXJyb3Iy OworICAgIH0KKworICAvKiBGaWxsIHRoZSBYIGltYWdlIGFuZCBtYXNrIGZyb20gV2ViUCBkYXRh LiAgKi8KKyAgaW5pdF9jb2xvcl90YWJsZSAoKTsKKworICB1aW50OF90ICpwID0gZGVjb2RlZDsK KyAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7ICsreSkKKyAgICB7CisgICAgICBmb3IgKGlu dCB4ID0gMDsgeCA8IHdpZHRoOyArK3gpCisJeworCSAgaW50IHIgPSAqcCsrIDw8IDg7CisJICBp bnQgZyA9ICpwKysgPDwgODsKKwkgIGludCBiID0gKnArKyA8PCA4OworCSAgUFVUX1BJWEVMICh4 aW1nLCB4LCB5LCBsb29rdXBfcmdiX2NvbG9yIChmLCByLCBnLCBiKSk7CisKKwkgIC8qIEFuIGFs cGhhIGNoYW5uZWwgYXNzb2NpYXRlcyB2YXJpYWJsZSB0cmFuc3BhcmVuY3kgd2l0aCBhbgorCSAg ICAgaW1hZ2UuICBXZWJQIGFsbG93cyB1cCB0byAyNTYgbGV2ZWxzIG9mIHBhcnRpYWwgdHJhbnNw YXJlbmN5LgorCSAgICAgV2UgaGFuZGxlIHRoaXMgbGlrZSB3aXRoIFBORyAod2hpY2ggc2VlKSwg dXNpbmcgdGhlIGZyYW1lJ3MKKwkgICAgIGJhY2tncm91bmQgY29sb3IgdG8gY29tYmluZSB0aGUg aW1hZ2Ugd2l0aC4gICovCisJICBpZiAoZmVhdHVyZXMuaGFzX2FscGhhKQorCSAgICB7CisJICAg ICAgaWYgKG1hc2tfaW1nKQorCQlQVVRfUElYRUwgKG1hc2tfaW1nLCB4LCB5LCAqcCA+IDAgPyBQ SVhfTUFTS19EUkFXIDogUElYX01BU0tfUkVUQUlOKTsKKwkgICAgICArK3A7CisJICAgIH0KKwl9 CisgICAgfQorCisjaWZkZWYgQ09MT1JfVEFCTEVfU1VQUE9SVAorICAvKiBSZW1lbWJlciBjb2xv cnMgYWxsb2NhdGVkIGZvciB0aGlzIGltYWdlLiAgKi8KKyAgaW1nLT5jb2xvcnMgPSBjb2xvcnNf aW5fY29sb3JfdGFibGUgKCZpbWctPm5jb2xvcnMpOworICBmcmVlX2NvbG9yX3RhYmxlICgpOwor I2VuZGlmIC8qIENPTE9SX1RBQkxFX1NVUFBPUlQgKi8KKworICAvKiBQdXQgeGltZyBpbnRvIHRo ZSBpbWFnZS4gICovCisgIGltYWdlX3B1dF94X2ltYWdlIChmLCBpbWcsIHhpbWcsIDApOworCisg IC8qIFNhbWUgZm9yIHRoZSBtYXNrLiAgKi8KKyAgaWYgKG1hc2tfaW1nKQorICAgIHsKKyAgICAg IC8qIEZpbGwgaW4gdGhlIGJhY2tncm91bmRfdHJhbnNwYXJlbnQgZmllbGQgd2hpbGUgd2UgaGF2 ZSB0aGUKKwkgbWFzayBoYW5keS4gIENhc3RpbmcgYXZvaWRzIGEgR0NDIHdhcm5pbmcuICAqLwor ICAgICAgaW1hZ2VfYmFja2dyb3VuZF90cmFuc3BhcmVudCAoaW1nLCBmLCAoRW1hY3NfUGl4X0Nv bnRleHQpbWFza19pbWcpOworCisgICAgICBpbWFnZV9wdXRfeF9pbWFnZSAoZiwgaW1nLCBtYXNr X2ltZywgMSk7CisgICAgfQorCisgIGltZy0+d2lkdGggPSB3aWR0aDsKKyAgaW1nLT5oZWlnaHQg PSBoZWlnaHQ7CisKKyAgLyogQ2xlYW4gdXAuICAqLworICBXZWJQRnJlZSAoZGVjb2RlZCk7Cisg IGlmIChOSUxQIChzcGVjaWZpZWRfZGF0YSkpCisgICAgeGZyZWUgKGNvbnRlbnRzKTsKKyAgcmV0 dXJuIHRydWU7CisKKyB3ZWJwX2Vycm9yMjoKKyAgV2ViUEZyZWUgKGRlY29kZWQpOworCisgd2Vi cF9lcnJvcjE6CisgIGlmIChOSUxQIChzcGVjaWZpZWRfZGF0YSkpCisgICAgeGZyZWUgKGNvbnRl bnRzKTsKKyAgcmV0dXJuIGZhbHNlOworfQorCisjZW5kaWYgLyogSEFWRV9XRUJQICovCisKKwog I2lmZGVmIEhBVkVfSU1BR0VNQUdJQ0sKIAorDAogLyoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAJCQkJIEltYWdl TWFnaWNrCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKi8KQEAgLTEwNzI1LDYgKzExMDAxLDEwIEBAIGluaXRpYWxp emVfaW1hZ2VfdHlwZSAoc3RydWN0IGltYWdlX3R5cGUgY29uc3QgKnR5cGUpCiAjaWYgZGVmaW5l ZCBIQVZFX1hQTSB8fCBkZWZpbmVkIEhBVkVfTlMKICB7IFNZTUJPTF9JTkRFWCAoUXhwbSksIHhw bV9pbWFnZV9wLCB4cG1fbG9hZCwgaW1hZ2VfY2xlYXJfaW1hZ2UsCiAgICBJTUFHRV9UWVBFX0lO SVQgKGluaXRfeHBtX2Z1bmN0aW9ucykgfSwKKyNlbmRpZgorI2lmIGRlZmluZWQgSEFWRV9XRUJQ CisgeyBTWU1CT0xfSU5ERVggKFF3ZWJwKSwgd2VicF9pbWFnZV9wLCB3ZWJwX2xvYWQsIGltYWdl X2NsZWFyX2ltYWdlLAorICAgSU1BR0VfVFlQRV9JTklUIChpbml0X3dlYnBfZnVuY3Rpb25zKSB9 LAogI2VuZGlmCiAgeyBTWU1CT0xfSU5ERVggKFF4Ym0pLCB4Ym1faW1hZ2VfcCwgeGJtX2xvYWQs IGltYWdlX2NsZWFyX2ltYWdlIH0sCiAgeyBTWU1CT0xfSU5ERVggKFFwYm0pLCBwYm1faW1hZ2Vf cCwgcGJtX2xvYWQsIGltYWdlX2NsZWFyX2ltYWdlIH0sCkBAIC0xMDg5MSw2ICsxMTE3MSwxMSBA QCBzeW1zX29mX2ltYWdlICh2b2lkKQogICBhZGRfaW1hZ2VfdHlwZSAoUXBuZyk7CiAjZW5kaWYK IAorI2lmIGRlZmluZWQgKEhBVkVfV0VCUCkKKyAgREVGU1lNIChRd2VicCwgIndlYnAiKTsKKyAg YWRkX2ltYWdlX3R5cGUgKFF3ZWJwKTsKKyNlbmRpZgorCiAjaWYgZGVmaW5lZCAoSEFWRV9JTUFH RU1BR0lDSykKICAgREVGU1lNIChRaW1hZ2VtYWdpY2ssICJpbWFnZW1hZ2ljayIpOwogICBhZGRf aW1hZ2VfdHlwZSAoUWltYWdlbWFnaWNrKTsKZGlmZiAtLWdpdCBhL3Rlc3QvZGF0YS9pbWFnZS9i bGFjay53ZWJwIGIvdGVzdC9kYXRhL2ltYWdlL2JsYWNrLndlYnAKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWRiZTcx NjQxNWIxNmU2MTExYWM5MmVjMzk3ODQxMWQ5NWJlMDhlMwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVy YWwgMzc3ODAKemNtZUh3NHxwNUpuZkpTK149YyQ1X0Y3U2RWcTYlPmlYKXBpa3NaZnpUdFpqMlc4 XmRlQ3ZpaWRsdUdgUyRSVitmCno/ZmZDN2JnZH1ITnorc3FIPjQ/MDxFQ2ohSVdBQzJJbSVIZDFQ QztSQFRaaD1KdWM5ZXFySEFUdUdqMUpgV15CMgp6OCVhKS1rYUc5KnlRZzxnJiU2RjwtPF5HRD1B QyFtZDFyUVpjZjdLeHYycGh1TUFzfi1ZaEstNHYmSyREYkFVRlkKenI5QDVqXzA2TFVyXkg0I3Z+ QkVEZ0czdjxgZz5QaVN0cig5ZCE0WlVqTzxpRUdpVnlra0dBI29ncW9YfE4kdn04Cnp6a1FWeWRG QUREbmJ3N1F7JFN7fF9LclJYcjNpMnNaOVRwSHBkK0JHeEFnWiZkTEwrNFRQKWZSYGhMKUpkTGJh Xwp6KkpPQlduKk9EdipRTXhHcDxLTiFFOSs0PDdzQUU1RVY/eXxaajFHOTFXeSVze091ZE5rVW0/ SnJyUlpiaT07UGgKeiphWD45bj1HTkRxdzhhPGFQJEwzYlJ7Kj5hJXZfKXQrYV9jWCNAM0JJZ1ZX aj43JGpuVWlTeSQ3cENHakJVVVM3CnpiKXIlUEhCZEtncS1aS1ckdk9aSnd6SW5KVFJYb3A2e0kt b2g7clZUbkUyO2VMe2AtQ2QmIUIzfDlrSm0jQ3V+egp6bUxDKDFjYiQjakp4V3liRjk9VmI0ZkI3 UUNfaDI7JGcjNnd0Iz1aQWAhKnVhazl3bEwoTnNQYntJYSFjaUdLWXgKenFHe0k+TytRSXd8OUR6 JnhGKWFEU0FJeTswJG5acEtHN0hWNlAydCgrU21WcWEmdHNEcXFoJl8kPjxOM0UyPEh4CnolMGhR NVckcEEpJmB4QTlZaSNLd2VXeGNAe190eGo/eH1oYCRiO2lfYHQoMUh6VlpfP3Vscm01NkpNel8h QU1LaQp6RyZNZHkwQmRoNUJibGBodnIkdX5pVjd3ckwoNFJvVm80Un1kQz5VXmdZZ3IrMF9kUCsl cl5paGNvWkJaM1lEREgKekBvbXItWFhzeW40ckYrdzY7PmViRyNxfm1SRHpicXMzUClvbVFGfFZi bCNTaENrOT05Xl9aMlFWRGY8SHJLY0kwCnpweCopZ0dIOTd1NDJOSFFpWGV+Tm8xPE9QelY1RWhI Zm1VMlV3Jm57aVhIfCgqdj1mVVkrQndkRCg2LU49VF5kUQp6RHViMDN3SDNrSWliYk13ZXI/c0Yr UkJDMCt9cWpKLT9XXjlsPyV9Ul5BT3ZPVUNKZFpTTCg9YHFOTjZpWV5oKFYKejhLUFgwUDBeOH1X Zl43Y1dBWHI5Ozc1Xmk9ISVKN1RMR3hxaD5AUUAtVSRZSWVpKF8kcWYoU1UtaGdjN2BEYk5KCno5 S1EjUiRtN3AwUDlHOGNBOHRZTS1ANE8oWXdyS09XdFh8ckVaUUdXd35JMj1eNCVHXzYwfnBWWX09 V2dwLXFAaQp6RmV7dnJSI0gqTiFPSG5UT0VUU0ZZN3RrPiZ7dSgwWmNwPGxYaFpEd2JZODhKWFZ7 Knl7cT4tOGhTVEFfcHNtQnsKemRfZlk9KDkoPS04NSRtZT4+MilUVjdnYDROfERWKDVTXjA0RUde SFg4b0U3Ozk/cWdeRyRWNkdGc097NEVoOElFCnp3YCtrJFc2OTkzWCsjJXxvbylOezY+Q2FuPXwr X2RFISZOOUFrNzFrU2NhRDJtYUs1fkspUUA/ITVgI2chYWQ7OAp6dlVzYytUREU3TjY+aUktP084 T35RaHg4R1JYWFczVF5YIWNSMnpofHMxT3led1V3MiU3NHpYcS1YQTlHUDBBPVkKej17SGkmNmFp YTdOez9+WVRTMmVuIXt0ZnQqOyh8dzNAeHVNZ2RkV3JSeFZnYkhLMWlGV2NPRX1NUEhxdjtrQFck Cno4TSpAVzhxbV5iSE4oUGckazF5KmU9PFd5Syh9Uys4MFoqaW5aOFZDZUhPaFRpfCkjelo8NT4p dklsV3t2JT5xYgp6PT45QnZReD81Qml7Nj89Wl9BPVRsU0wxSlBDfjk4eFk+QXloTz8jWjg5RTYl aylae0E+PC1YVXchQCVyMH1aMzIKeiEhWXlEZn1Ta25hMjk9TTdYOEk2ZFZod05gdXF9VHNuMTd7 Jk00QHNLdEJRY1VlS3UpSjE8QkZHeUZrWmB4QHdSCnpXYkE8TkthPl56XihefVNFYyExJXJfekJC YEFnOFVyI3h7SDxPVkl9S0x6XjFFZEdiRz14PTZkRGQpcGtedFY5RQp6eE5qcndCY1BASHpYYmo1 NDNDdWF1ZC07MVY2WmN5LSsrZ2lYPGYtUUVnNCRjVVBZRkQ9MG5MK3A5c1Z0RmVnUk4KektAPEYz aFVaQD1pMXVYWThLe3JsOEN1M14wa0BScmFgM01MRXFsLWcoMktMdTdnX3hDITZTOUQ1PEkkQHJx X2FBCnppfmlYX18lX2Y+R1c8QkR2TWhRXzdYNWsxRVpkZyFoOHF6I2pOQGE3WWk0TFI2Q047Jnwx MDI+ezdWclkkYmAlRAp6JH1GQ1M0QlozMCZCQHxma1ZTVzkocUQ7bXlyNmw2WGd9eEAoNVpUXzNm NWMmeChzUUwtQW90K1RXSkxKM0Q2KE8KeiU4TzxBcCQtaGVjfWgwMHAmViFaaVBjUWdRY2kwb1Q8 Wkx1RVNfYl5SYkgxe1ZKMkw5O2c0cDgtPC13WTFNVyV3Cnp5RThoOFkkTm57UnluNG04MGM9JENn YG84QmE/RHMpVkM3Q04pUHh1Z3MlViVINCVmP1VJIWluYlJwPWJPa1BzWAp6cUFaJXMkPTs9XnJh VmlZc3RoZTwrTD1ZKW99c3MpRnFkYSYqfj07IVRCZWBPKDZedioxVChadSRIPnFpTmlvbXIKemI4 WiZUV20pPiFtQms7KnFBJChSeGslXkJTPlpSTHl3Y3ZUTHdQQCgzNzdkXmt3dFUhWX45KGk9K2Vv MipBbmZgCnpzKjg/ezQjJHdASCF8clVOdmg3ITZLSTJ0Uz5hYl4oVkNnZyVZeG82Q3FwOX1RWnd8 b1d6VVVXJHx6QnJNRiZNPwp6WVBeI2s/XlJHeys7eyNfXjg5YnlDLXZ8QHJSLURrZH5pKW4+RjB5 Pl5RWFFfKWU5RVBVcUhCfW08UH4mdUBEa2UKenJCRzJiVW5+O3U0X04/QFI5VXI5UkVXdzJScnN2 e0F1YmUxfDBfTXhwU2xMOEB8KTdZbG1AMFdGcnxWMlk3THctCnpgP01mNEJlZnVpam5jaGt4X18m bl5aVThWMT9VYngwMnpMb3okT1IkbFNpMn1Ib0VIU0A9JCZLbDJ4bSZVVUBDaQp6QjVidihLTUBT cHJ2NUclaDh1XmU/RV5IPnV2JWVEbnUqPz5Yc0drcy08PTNHd2tvNmY3Uk9rQXd8Tzkra19SITEK el47fmB9b3loLSFfSTc/dyZPNzs9YSg8RWpfd3lkaHpoOFlrenE8R2RUPm19cjdIfHI5Q3xAeGoj X2B7UWR3QGd2CnpgP1VNPXlHeChXfEpkeH5gVHN6Izw/bTV7bmc1QmhOQWo8dU19ZDkkM2hmNzsm LVpJRDx1ZnsmLSUwbzkyV15NKgp6byVCSGQ1JXg7ezN6cHlIVXJXRXZaPVYpSGRhWGJedW9qMmA+ d3loRzd0ak9yMHt5XmRVQE5jPHhDT1dzRm84SWIKejAwd359VT5DMygqYUlaPENua28wNW53T3kr a0VvPDNnUGJweldrWlJ7YEAhbkNIV1BCME9Xcil8NUI+U3xIdDEyCnpeV1J+V2BEQ2ZlQUYpPVc5 OU13JTBvP0gpYzElbj5neVh7d2xvZmFzY25wQXNtcHJZK0dfdEpNJGhIQjtFKnlJPwp6N3I/WH0k XipDdD5qJihCMTVoPUViVT8kazFLX0xGP2pSUlgxaH09Z2ZBMGhld1F1QkhxUzVJeEBZUUhQU04k NjAKelUhamV0YjJUZG88bClvYVZMfFE3Zm0rU040a0M+Ynp5I3ZKQVRTRHkwfHhISnBUT303OTF9 UG0xJEZeUlU8P1EmCnp7NHBHZGZaZmB9IzJ5QG5hb21zTlVCTGFvQXorYERQeG9sMXFaPDRJQEJ4 MEgjT2s2bFlrPWxqWWJqdCYoaXxXTgp6Uk5+c0BLbyFza3RPbCtGKSZMRGFvamh1a2dFXkRAVFk7 c1ozbFlgYEk7e1BqZEtMODR0Zl9QWkA/SFpORDA3fG0KejRlTTRNeDhkanBAQWNZKD5GdjFJM2FC YEw2dndxMXFoJmFAMEkhNFokNEtgTEBZJGBBSlF2YCFVWkhGZ1MxNHE0Cno1PVJgfXN1SHR1e19l eXpidFROcnppbGh6N09SSm9URXU1N20rKl5+d1V9MG4wUFIyclNJT1lfUTYydiNIU29fWAp6alhi MWBeMXN1QF8oeVVOQE9pZF95dnc9fGVFV2dCZk9+KT5GYnM/VWR4MDNSOXcyVEk7fGQpRGVJSWEp fDdQTEAKekZRVFdwUFJ8NDVKVkQzIzJwIzFJPXtiSEVgTUZPaTtaOCtCRSs2RSZBSUFyOXRVfXhY UD1AUHNhRDZXNUFtfmNhCnpEcmsqPWkjVUlwIWhERjlhKzctYUE/ayh2VFhFY208MUh4OXR2TDRN eEVWKGlhcEZKJTd6Qm9aVUJHVCY1QWJgOwp6OztnfihJLW14cTEjU1NZMEEyLU4xNn5KeTQ3PnE2 JW1xQ0hFSk5PcEA9PHo+JjswUD9wcjYzQz53I1laY0VBRFQKejBuZ2NIRDxeQ2hFNj9NMjYzM1Uy QUQoUWtlVGJYcEU0R1A9U0FvfW4qTVQxY3I9YShAUCt2YTwtaUgzKTtsJHB5CnorcFhgfFJyTUZa RllWKkRVKWxkdnNwY2Yhd2Rje1ZGP0lNR3lPbi14Y2hUPX57KEdHTkpJK3R6e0JXK1NKX0l9cgp6 Sk9WcmxKTyhAdEpPUjhyKGIoXyt5I2MkQyZwVFFISVRzaVE2MktyWjFuZEhLMUFCbFpGYnM/VWR4 M3F4ZSY4PFAKejk+NChWZkNpdXUybT8hald4IVF7ZUJRRFdYYVFDT0B8bndaITFjZmx6KU16Pmp6 T0xpITFJODcoKTY2UW9zSl4+CnotSEJCI201T31HRVQ1VkFmYT9IMTVDRj02OSZwZFdhVmApOUR1 RjdYOG1Jd2tmeTtwXzAwVXNhUlh7VmE1QC1QOwp6S3N5aXZUN2s4fGRZfWlgMkhYTnsyMzcrbHoj MlRoLWhnOGxhMHZPfDJrWnE3MDApNmxVX1dwZGZYQTB8IWp8R2QKejB2SDVfZkwqfERVPU0pRGkh PWk0MUlCPVJmQyRoRXRPYTV+SkZwKHUzVHl6bmZOajduel4lWSRwY25HSUpGI1J7CnpFJE57MDAy aSFGITt1M3t6eWE4U041SzZrQEVHdG9AQzVNZyNJXlBDRHd2e1d4ZUJTZDI1R3FnOzwrQk89aiFD aAp6Yng8Q3o+M3xiKDBkQndwNmFxIUxmLVY3ezBHfCklZXhNfEc7dilnejJCY0F6WWpuKVhVQXVh Mj8jQ0t9eG1DckwKeiRZWUlOclIoc0JfSWx0MypsQCZkbnlvOyktUSFzYyMxT1hMWm4xMkB1P3Ja dEQ8bHhkMmlneW0qekZYc3t8JU1kCnoxPGdTTm9ORzVKaTExNEwxWGJDQ1JFXl9YSVI3YmQ4dUFk VmpSN2o0MFVXUmM0aj5RRTBWbSlCKzwqcnQxZDQhNQp6ZkpjJHZWYHlpT0JkO2YqI3ZkY2lILU13 TGM3e0gqckgoRUttazttKkJ8cmN1MUxncDhmZ24lYFF+fWpNNE53YlEKejBsWWlXNmRJJmEpWXVx czA1fUw3MGAzRnUyT2E8cDB9bFpZMUNJY1kwKj9XWTE1V0BaWUJ2cmZmSShtZyphYWtrCnpWUEgz fjJOKGhOMHtlamR6K0ojUzBMRU9hOHU3WnojNihnNCVaJWFaMFdKWWxLbSN+bjJPS35pUHpkT042 TDB9Owp6MEEqUWFyKDUkRihweT1OQ3hkUWk5Izg9ZEZ4PloybyVeRm9nWnI/dihmeFd9KnhsTUU1 YmtzNWxpJSY2NStMQXEKelE8PU1yPF5YZnVeQ3s/Vk17NCFVb3YxVm5Ee1RIP2szSUV9PjtwIVVR PHRWUkZyfFNoNE5QZlpOJnswR245eyhNCnoyQnRKSHJHWTY4T2xlP0IxNStCOSghaTdrclpoMDZm aGk0NFg8JGtOUXlRNGt6PzI1MkclJSVzREdmfCVVYGhqMQp6OGtvfCtwTyokMlJARkRocXVMVE9S MytnaEx5KzErSGREQjJyanY+QC1HflBVOHc4bSl8OX09NUY3QFJja1lBU3sKej1iZ09zRnV0RjNR ZUNLX1kxTHtAbTFubGcmdXFRO2trbkorIUVmUGc5bHU0aEZUb3FybShGPkVlbjRWdzdybTxaCno9 S2soOVMmSFhFdENtQEZiKy0xait5OHIoSURPRzlDdEZLM0h9NnRQbCR4OUdRPGhXaCo4TkkrO198 Smg9eHdfRQp6PHswPUYtI2opITdHdStITzByTnRXN2dBRVRWM3EjaUpIeFkkbV8hJmRrdU5qdH5B KXVpQUJ2ZkQ5MHZobVlkNEkKelFTfnlKU01eNnZBbTdAaTxFTXZOWklpSjAtQERANEEtMylHO3go QCpDUGZFIUR+Qmxabll+SXF3U0tBeT18cGRTCnpwMzBUeio0MnBId3o9aXNlZVpTTmdmRzE8OCt3 WV5ScXNXSUVAODdLSn5fQXRHOFpreyUwPyRIUz9xQGxlan4xJgp6b0c3YHt1Q3l0RVdwP0dYYUBw MEBoJkF0T0RafjckMVV2UUslJkpAMnNuZG5rWXVScEV4Vj9sNFcjTSlRSXx6Q2sKekA/QTlHUihe b3JUSlYyKDs0YkI+TzZiPHpwcyhFS1hYRWNKT2RNcF9vVVlsdm8yQHdRRUI+a1NnVlNETEE/ckVx CnpeYDQ7TWd6KDs/eFJndTFaLWY2KmslWD07eT4jcDg2VXdFUm52Q0FfNiZHNTVpKGk5JXBWb3g/ bUgkSmwhWkJxVAp6VUVMX2x5UjZ9dHIqfnJZcns0ZDJFeFdRVntDbCM1PiFpLVpeKjY5PC0pbWlW bjd3PVk2SFV7JnFhZkdMYjlFYjYKemQ5S2Erc1NUUVNhckg7JEYxZSE2VW1iTWhkSX5TalF8LT4m U3BfLU1eN0F3JiYmJGNyPDwzdUVITiVeS1FCVnxECnptZT89N3hRM1MlY3dDTylecUkzaTxQOXZX blVoeWtJNzc0V2kkOWJYeHpXbnomR1h0XmIzWmhGUE87UEcoV21FSAp6UlgkeXg9RnN4M3MjU0he RVI2QjF3JmtlV2hZSSFsYH50aH5iWCVSPUcwbVEqYyY4SXgtTCZlO2MmOTJqZEdJd2wKelVLdVNt NGJ4Jk9jbyE7Y2hGSGljY3RYOE55aFNsbjNEJW55TWJSQVlVX3NnTmRWNmRjaTUpRUpBWUVtSzM5 QmJoCnojQXwjdFpuJXYmSXFoVVBMeFVlRHkzODs9XytXWDE5KTFPX2c7dHUlVjh9RyZxQmdWSzBW aHZkXmluRWRme3BEOQp6ailrdlJiXytHXjV7Wno/aFlkcEJZfGZ9SGVwQTlvM056dnM9NSh5eTZX WFFrNGpvVnVyQWNFJXprXktPQig7PmgKejQ5aG98b3Z0UUxOcGpRaGpNc1ZOVlQkTlZxMVEjT2tS X3hwaStle3FYR0JQRzIxWEw0ZHVgNTs4RFlrNUM0dHhJCnpiaDI9RHoyMkBsOyljV1A0Q3pDOTBw bTs9N0J4Mj5fQStKQWRzbD9LVzkwSF9WJVNJK1NsN1QxVVVQe1djOUtlfQp6JDRVTipHTWdUYk1f bHhmSTVfU3tjJW9GWiNaUkheT15eNlM4c2JneUNPelYkVTNsJkRmVXMlQTFRc3p1VmA4PTwKeiRV N1cxZDdNO1Q8JHwwQThYcStGOHFBeEZudDA8YiZyZTMmN0ZRVHw4WjwrciFBU0I9bSNgbD8oZC1Q M2RISVgyCnp5NkwmRWJhIX1IQiEwdiFKO3FJQyMyRUN0YmtxQSNpMExqZFhmUTAlcTw1STF2MzYh X0VZPDU+bnhiQWlOWTFoYgp6fDhROTIyYW1XRVF9OWtHKlNwc2tpajNGflNOSiZ1OGxXSm0jJkZx Mlg1RHteTWRJUDAlOUxjZ1gqQldATW5ZSE8KenE7dk85RG02KGp6KX1KdCZYMVBqWjkzUylOWFYt RFgte359TlkpU0d3ZFokQGN4aSh7VlZ3YD02dlpsWnV8SVN5CnozP3FZdSNEJlMzZ1ZFbG91aWND I01WdzM7P28xazI4UHFFTGNwV2NmWD1acldwN0JId05rYFo/WVpAVTkhYW0oVgp6aW5+Y2AhZlNI SVV7aXc8cFhPNUJWUTQ5fHE7NUgzbl9PPXx1MHRXfF4hZ2EtRlZXPyU0M30zSlN5RCRkWkVUV0QK enAzNXVwSVFqTHVOO3prKSRaeSZ3ISFePiozNVJQLXJEOG9WSmV8NlFJOVpYPldEWVZIeGxNKm9v PT9oLUglcWFuCnooQFpnQGUkc0t5b35KMlVsRjRse3pDMXJtUGpXRDdVYig3ZTI8c1NwcDA7N05q UlNOYWVHQEI9QnghKUlxZDB2QQp6RF9kLSVGVkdrMWZ6KkNDIVZ8RkdVMDcpQ0hYNmJANUQjSExN NUE7a1Z0KkN1T2woRTllSUNAOHV7T3hwQGNTaVAKemBBZSliRm9eSWs7QX10Z2NvNkZnak4kNT9O VC1XNzxMVXNZQTtpOER4RXJnaFlAdXRoMjJHNFVPKmJPezBsRkVvCno/ODBKaE9SK2wwM2Rwbi05 R2tGTyUlPyRyN0F1WVQ7SjUxT1lBZ1dQTUlIRVUkTTFVUipHZUJrY3E3KVp4aDkyPQp6VitEeSVy Wm5OZ2BXaGRoNUVoKWZueXk1ZVlkfWw9SU9xfnVLeV9HXldpfEZOUnVuT2lfdmF6flBEdTY7cjJZ blUKekd5PDhycG48S0Jad3RjNXB0Vk8oPk14PGh3fUpsX3RjY1QzSkhZcHMyJGtqRDNCNyVkPyFY bGo1fDFHanNrYUJ7CnpFNzB7Zj15cUphMUxAb2tQMk5ZfUxGaSRgeWF6aHpMbW9wJjtxJWJrSi05 ank/d2U0KVBlQTUlJGgjTUVCJXFeQgp6JG1eMz53PEg4YVFUN3tBTHp9VXROZWBye3JBdHchUm5Q PClIYGVmcEspTSo+VEN0WUtFTkd6fllwN2ZVZUp7dGcKelBhPS1BIVdtU0JsJHZtNTRSQUg7TCQx QXtLfGZ4c2hTNVlITjlaYkNUWjh6MilNaVhxZFBxPUYodHN+aHdIaX0oCnpEM0JnVGV6PnV8ZXpp Y04tUzhxOC1hYihfdnNodEs3TkFpUEYre3dITUZyUUZGJD9ge19HY35Xe1pWPzNqPy1WJAp6X3B1 SiMzM15GTUA5b2VgQy1rPXdURCVEaDRDPzFLcTBpNiRqM3ZFNE1iOUZJV0FxSC17fTd8Rl51Nyk7 Wi1rRHoKejVXRHZSQG9RJnF4MXskYz15fTlfOTVURUw4RDNWPmRrNW1MTDtNWWh5JUYqOElgPXUt JnFebHFLWj07Zz0/UXZ+CnpVWiZVU3E+fHB7IWlYfTNacDZQKHsoRE58bWh9RHxkSl4lVWYpcG4o bEFKN20yV3RNdFJRI0pAVGtrTGJxTE5BWgp6cEczXjNYJmhSMzJAKmBeQTRBREVBZE4xPm1odGd3 YDhuSDlYTU1fJi1rKEM9LT1pYXR8SFo4UUo1IWJed2F8KykKemx2Q2IkQCVQTXslPk8ma3tgMDg2 cnxDODFLUGk4RXN7QXRrT3xiMjlucyMzTk1ZRmJBKCkpSyU/a0RMbnIxQXNRCno7SDNPZ15Yc0Fp amZtWmFffit+WUM7bVo4ZFZkMWFLWipLKDh1NEdDQTFkaXgpX2Y9UXcqbTJge085TXQkM0xuNgp6 emxQPmNwI0dtbD9TRyRNUk1OWF9rP1dEZDJFPjs3Z1ZDUn0pJVlqTkZLaDF6Xm5aZVcxcDlrTU4k PX5SelptNTIKemYmU3pJbmZPZllvYjlkUm49UkA2RENHWWhlOH53JkBGS21TcjF3c2dULXRBVSMo dk13fDh2RVk/UG5hO0l9UW42Cnprayg1LVB8fn1NellnQkRKMC0jVTx6SEJRbjxjJH03Y3JrbDNO UGFLbHs1MFVxd0h6Pj5yMXUyXll1NWdfKlA0TAp6fDcrQ1RHcUNAWXNyczkmfDgpNX5Rbn0wYT5w SExlODtmdFRyMXZMTD94Kk94RGVYVWhQVyRVaj1gWEdTXlh2YXUKekB2dFNtZTs0X0dBTShFZEV4 dkgze0w9RSpxWHdrQEU+IT04U0AhYmBaMDg3NGRHI0ZxLUg3PD5rVkB8YiVpcmJTCnpZKVM4cnJ8 ZUpHfEgtV1F0dGsxMVJRIz9CPTZ9ckpYRyFuVWU7cjVwV3FlNEdAanVkWHJUeG5HQmtre2VgKVFw dQp6PjNfYjkqaGtUUmV1KHx0YGl+KWdIPn5lTT9KdWB2dmkoMVV7R1VNIWRLbnJ4VG1OIUZTNlAx OXt4PjIyXlpvQiUKem8kKzVzQV5CNiM7MHV1Y3RwQW9SU0lSSC1jT219fm9qdXc5ekpzPj1FYkBP THJON0RjQmlxMDlVKCRjZF9HM05JCnpleD9ObUViMDlTJH1jdFdCSytTQVhZNXpucE9qelB6cyYh OWAqfCNvLVR0MHx7PVd6TmVmZjw0a2RuKDV5ZkchZwp6YF4oPX15MzNOQEE0bDFyTGk+RlZKMXBR I3xGSXRPY09hRlgzKSlZOVM7Q1V1cE1teXxMSF80YTBfKys4bGtVR2QKemskWWROez82Q2BDKDk8 PS0/eCRQUTs3Y3hPOEAqQmAlbWp7OXJFc24ySClUUTMoSSFvcnVWMVZIYHh+VTd3bTdACnpjaTlW VXlPIVNmRDBgSHNWayE/UmdVVml8b1Z3TD4rIXNBbmRWZyt1ZjBSQVBaZSExfjd1Zl5zM0FSczU/ fFlSeQp6bCRpMjQ8JCR0TnhlTV8+YjYpJWR2KXs9fUBCaHAkdyM+QyRYMVV1Xlh0fmt5SGMjKTVL QFlEaGZ8YXVxJUQqSDIKejgjKDlaQTIlNjNtS3gkNE1WP3xCI3V8QkY+azJqTmdCVE8zUkdfcXcy cndIWHp3I344TEs7MnxheCUreShyPmRoCnpsTnNBaENSU28ydFc8V21seVpifVJHM0U2OUtxeXs4 Rk1BfG90bFluRWJBMX0mfEROXitYcTRlQm5FdGUwNnVzawp6Rzc8P188bz1tU01lQSZjQm4ockg+ bXVTMzxIUU89U1l1TnFqQnMlQ3RPd1hRS0RVfn5nclNjTGJ2JlZ8M01FdjIKejRCdWp6NCYxfkZq cEdLTHN8TjFtPHIyOThFbUVOSGY7aTRAQlZ7U2c3JV9BfmlZaykzXytXJU42MiF1XiEqV1FrCnpp Nzd+RjdSfSpBcDtwb3FWWj49MV9rP0MtXnZHejlzVzlKYS03ZGNlZ0RnbGJrYHZBZWdhI1BDajN1 OFRNa3ZwMgp6M0pUOXFSQVgzWlVOY08+JkRGNH5tfUN6UFFAbU1+My14aTwwY3wqI1phNTYkRX1M QTZ1Uig3WnBoTlhVckFqKykKekJJJWdOKWtAOEVVdit0TGskREUjXmt5MTF3MjB7eSRvdDRGU0hR SFhNfElzQyFVfSVlOzJQVnBZK099MnlAZ3coCnpkc2lPTCR1JENie15YZUlXeH0qTVhgb1VLUCUt Zyl4dF4/Qm1aTGJEaTRXMlVHeGktZmgjOUN2Jmd1eGg9c01naAp6Q3w7QiZZfDYxR0I7dGF4SSpX UzV1VkNKUzV7NFZCeGNrUjRhfFExKGkqSU9HNmEjRnw4cHNzJmBUP2hAbEY1P3kKempUQCU5TG4h MyoheG9mZzJ5SW9BXnt6dCZIciEkYXh6e2o+N2FTTFFAeS1DdmRZYVY8b3F7U0BlWUA8Yzc+fTVL CnpJVEI3NzhyS2NiN2wla3Q8c2xNMmdTQkRGSjdaaTNNb3x8JiUrJENFOEhxI09UKEA4ckdvVE1K b3ExVi1gN0NjdQp6amktMCZ0KEZII0Y+VERJMlVKJmw+NXpDPmtUMyslbzFENEVSSEx9ITtoaSk8 N00tZExTMCEkR09zOEBueiktTE8KejB+MGYpb3wtVDBSSm5eKHR9OGtaQEktRVBJUWVzWWpBb2R8 SHpSZVg0dnxvOEo7UnRrOFJmMks0ZDx7aE9oU3B+CnpjeTRvdWorPG5KJC1faUVPZT5qUzJMPW9H aVgxRT4/SGZqSjBhdzZQbXE2TjNAS1NzUjlgTV5KUHs/djlzaT5HVgp6WHp1T3gpa1NyIzM3MUo7 NyZLUmZpVnAtcUElOzdyJUdZUkxWRzlVJU5EYj51YyZzNn1fbXkjLVE+XjlHQ311WmMKejdLZTAj XmtpfiM3bUx5TXhQbzx+Rj12NiN0WDt3IS01WVRRPklVXkFEdmZ4WlE4Qkk+bV5+dnM7MmgtIXNm Skp3Cnp2eithZ1FKdXpBbn5zP0BPbkpsLU1Ce0o9ZncteUtPdjVuPjwzSk4wUlpYVXcmUjdIKUIk ZyomM1ZNVkw3RnQ2VAp6VlhFZHxEQWI/PHhmeHBXRi0zNzwoTTNscU5sVXxgdGdNWnBEdCl1TFp3 cn0yMUFIaWVQbFBSWEF5PVQ7T0owK1kKem1MKWlPZUY1VkJoJD5LZjE4NiM8QmdCTlpPSHFlTU5n UytETytBM3lLU2lDbm9BZ1J1Q0AzPSore0RhV1NqVHRaCnpPci18WmF4eE0jezZyOEVZQjVGUCVe Y0FqZmFmPyZURyhibUU3YSFALUR5e2lYSGgxS2Mlc3Q2c3RvPE9UR25XPwp6eik4Z3c5Ki1DU2NO fFRvbG1ZQCVWXnF3X1Qle3lYcV9EMj1DTmU2QXhiR0ZyJCZIV15RNGdyWDYpfndVP3Alc0UKeis+ QUhfJDhBZyhDNzYzbmh5ciN9c00zcEl7WkdUQUQjT1l7aEk2KlRVOWt7ZmpfVGdRNk18fj9xQWpZ XyUhZV5BCnpMPTBYRlpBcGhzUXJIdkZWfE4rSDJnZEJ2Y2R8JXdrbSt0K0g3XlA8UU54UVlfXzk7 clRVQkchPWJBJGl2clkrXwp6JDJIV1ZSS1V0bllCMTVwRmVVZWohUnF+UmRNPC1KSXl1UUNIS2dr Pj9VTDFERHk9Kz4lQ1RNWjVOd14jdjwxRFkKeiRNbnk1WFRaPldZNz97UDxiWTQzSUVwWiZvMnJs VEFrNEhSezM9KTJFNk5EOTJyQF8rOWE1PVlEeEd3cHFLaGJTCnpaKlFVTnowO1lZam5DMTRAKF8w bE5EOSsxMS1gU3NqTT4/fUk4KD9NfEI1PUtCOC13Vlh3WG1fO0p5VmEpblh1Mwp6b2prPXp1dFA2 KDVEUDQmZ2tweCpxTURnd1NjekxibXxTJm5RIWhBNHJXZnw0I28hM3JUNVNVJjRsZj5ZTG1LQVEK enllQEozV2kmPyh2dTJlaSZ8Zz52UCNSS1dCVFhrd2hAPSFuJFU9ZUxpZisrT1UxJDM4KFBYJlVM Yyt4R0tuPDkhCnpoUn10OCplWDd4U0w+WEZJNEg1fG8ybHNEQnZqX0tCcDRZNlNgSGV0SnBsX3Q5 a0peZyVjXjNlK2M2eiVraFNHRAp6KEwrMVhFcn1zQzR+eGQqIW8oRHV0NCF5NlduNGpKRCh3YFE+ WTJIWj4yfT5EUjF1eithRnRhWSFtN1M/MXx+UmwKeiVvM1VINHhke2FwZW11OElqbGpKcV9hVndm ZkRuKExlUSs9cGNRNk5wdDlnTWhZQTlrNHJkWHJAO1FsTj40aFlJCnozcnY7djtqKVZ3NzFRSTc9 KiRndzxmT3JjPlAqYm8zTyhmWnh4XkAxdU5rSTxabzBebUNrNk18cytYRXhUX2oyTQp6UnpgRzxO Xlh5PXUmYG9VcW0hP1c+Ul8ke2VZWTFNNH51YkZJKGhJJkFuNGI1PChTem52czJaQkQzJDZfJDZi TTgKenp2P0xBUjY/U0hCSUlKST5vU1hPRi1VTzNnJXg+bmAxci1neXFxT09QQFhHRThrI2ZDQ30h ey1XPHE+eCRRNm5FCnpPIVVAaFhNUSFWSHRRaD00ZndHPj1NY2R5a2hjTSUqbUJVcU98STRAVmth cTRnTzlCRjA2WlQ/OCFhdzVFZ0xJRgp6JjV9YG9aWE0zWDVDZC1FN0NvYWItVCl0IzVIOSVnNUYz eVMxVFlwYjZuJG17TG0zYGE7bE5rbWskfH1+NWxGYEgKenBsa3FYKGc8JFdUNipBMTF+QG1EYys2 OUpVPFE5QWExcGNjNXAkNVkxYSFyRWVVY0ptJXYkRldSSlJuJHZZPUFwCnopSCpLcypMNmJgJkJW JmspUCN4M3ojMTE9LSZHZXcoTF4yUm9gNFgwMSlNTSU3RUZLPVFOdChjTE9qI1pFOSpXLQp6d3Qr ZEpTUjlVUWA8dHJMVCElSWoyPFVkRnkjRVkyQG5OKUtwbkxuTThSNWxEYilsdWtMcS1KczwpfDQ1 a0Q5X04Kell6OEF8ME54VFUwYmNad3syZHJfa3JGfFZJY2hEe1ZAWkRlcWJvPVcxUE5BZCtmbTlR eD1sZSg7cnRuNk5XVCpPCnojdF9WSilKMGw9YmVGJFF1YURiTW10flFfZlptVzhSPmwjV29RYmt8 OCYlRng3RVRBbT9VWkFvQGcpNHR4RVZuVQp6d3lGRiFsKyl4JipyflZ6JVBoP1UzOGdAMTBUciFZ JnFYX2RAdXxXUEpjKEF0ZWF4amBJU2BIfkI7PHdiTVZncUoKend9bilqOFdRVGJYK1dLSTJedFRm KTQtNlBMSkhiMzhXIXFRcDlQaGRBdUZNY2p0cFI9Rj5zNiorTCVhc0M5a15fCnpvKVVKJSFAfT82 JGw3K0dVTng+bll9WEZoTSsxZGFZVD5MNSpedyR1YHZAYEBfQHYrRjs+e2chUCQ1TSNZME97Xwp6 RyYhdjBQVHt+SWloSVh3KWFtUnEhXnlCcHF3cnFoRHFXZ3U2RWhrcHV7MyRnb2JAQ1Boa3tZWiZs IWZxc091QUkKeiU9OUhoanZ0PXYoVil5TXNOMlN6bT4wbjRTMllldCV5UWpKMXQ/QztqMDlwN00p UmBFXit1YChOKXdYM003MzNrCnoxWT9mODBsaGl0aGR4NV5ReztnYjRoZGR3d3hYMjtSaiheRHRj VihvNUBGUnk3KEAqTHE+cENnaFJmbmBKWFNXWQp6RVRhfVkrSk1RSD5ZO1ktM0tqWUF1JUwmTHNS V3hAeXtrZkZYaG5FVFkkfG9lcHR2KEpmRyRRNUQtejU7UWBTcz8KelZrMzV5Q3VpeDRiVDJwVEde bVYoJGFXRXBNdyQxcHV5Z21PdkIoSVQ1X2xWWSM8MURFejUhS0c8YlYtLWghNG9vCnpDMDZ7ezdp UWRnPlpuKFojVS1uYSNkZz5uSmtqRFJvdnpGeCV+aSFPO152JUAmUT1qRExkXygmc1p3QzIkWX10 Iwp6cGVOeV9Lb2w1XipPa3hValMoI1dHREk8eFQoUCg8KiMhT0lwXiFSbzhFMj4+d0sjI3ttQDVv ezNYKzZncCZAPlYKekw/SVZRT0N2MFBWXkojJUpPJiQ5UlpNVnVENm1zZ1FkNVJRZXZZQSVVWFJy amFCbD5BXntQSEhiUEkreyspakNMCnpPP1UqUHNFVEd3QFkkUmphY3dYNmkjKCZDZ3Vsb2RubUhF UVJeOHFQM3xseik9ZnRCVmxJP05Zejc+KVdITlhAeAp6QWNsMz1EZShAditMK1QmNFd7ZWo+R2xV SEF4eSh7ZH5kX2kkajIqe2w1aVhrSUBKYWs2MEM5OUshOyttUFE2TD4KekNjUyRDcnBsVzJvNnUh YWI3QGt6MUZBdDBsLVpqY3BqP1lsTF9XQ2hXRXJ+WGtZYnBuOShlYWUydCh2PnE3TF5iCnphNlVo ZElNSGRGMSFtOFg1P0F5SDMrZE9JQS15cTRrcjtIMD1XcEo8Vk4pPjtaaDFJfD5kWXBTbTxXY05P PXp6KQp6aj1OOzJgbFdhY3ZWfjxONiV2RH1wZ1ZHYEZSR0Q4MCRQWm9XLTAzI3ZXJTcqclFGYmN5 VTYpPEk0R2ZgV2g3eCkKem5zUDgjSChDXm4hdF5wV2pBfjB6R1Q7aiZta2pibVhUcmJCd0UybUdh YnNWVHZ8eCgqQFdfTE5BQ0VISm9MODdwCnopKE1lOTxRVC1RNWdkQG0pNUt6Qz42Tnk8b059Nk5h b0AwXzVmOFooYiZhPzs+QSVFNnpQJG97Y0VuO307MVY3Jgp6NT5YLXB0LWtXPkkpKmgpbjxsIytW Ukd7VWNSKyNiIylEMmdUZztWZllAa35sSiNxd0lkNnZOZ3chP2ZsbXl+MzkKenVYeFZtNGtiZzNm fVc+c05vaklvY3AwOFNxU1lgZVMhJX1eKHVAcHxZR1lYQ0NUfTNZaHVTY2JvVm5sVD5qe2M0Cnph Oz9jezcpfFBPM15gJCgrXk0zczcqdz5ebDB0ZnFRTVdRMnZ2O34oUDx2cHlIfHx3QTZYLU9TOz1W SypDcHxKfgp6TlhQVDQ7U1MrdU0+QH1kY15xfihQREBKbyghZnFJbkB1Vm5qSC1HdilEbFRWRmYk ZHlQJFV3XlAmSjlCdUJkOSUKekJuPnckTzBoRms9PCoyKUJAeyFqa2VrUShwcHskJDxQfFV+UWBj aERIVjlTMGpkezlZSXU/cDZHfEZRN2I4JFI+CnokSXhuKUlRNHcjVTxCJVdpaVItdUhOYjFyUkRE b2ErKzxTMXUlTlRoWT0+dlk0Ri1jUHpUTF80TEx4Uk9oR3Y3OAp6UURfKklhZmZXRyFyLUd7Kkpy e0FQMEw4SSFNfkdNTSY/NlUlQGZES09TZDxLXnF8P352TkBaRShFR0U5WD1ufXgKeikxLVNqeW51 cFhCPWJAZTkqby1AIXI3cFA3XmdCXyUoU3MrIWYpYDtEaDtLQjkmUCN2SWRlPjhIZjlXQzRrOFlo Cno4QEs3QiF2c150dnV6NGtjdVUrYzlsS1NnbjlLQSkoek5fZT1XfSN0MUBVO2BfVCRyRm5QWjk+ aCZRbTFEKGlicgp6SlZLR1VSfncpKWxpJUd5OXRlYz9rJnZxIzRKZHtfJlB1VkNlfUVTfURieG5I WmlXJihWY2dNNHhLfCR9bis7cnMKelFqPWBVMkBlVkMqQFpjclR8Ujs0QmJiVzJLKGI/JDVme1Q0 K2A2RUFiUTBiWW81SkA4cllsWl5NdSo0PHE1dEMlCnpxayUmb0F5d0hHcGF6byotNUV9bi1ybChx NkBXaTgqO0kqelZ7KktLQSFkKyplcU9qZWQoak1RMnNnOTFVdVFBKwp6JHNTITRhTlJwPkNXNEwl RlNYKUU2Tn13Y25yNVVIRkQrb35TLUB9N1ktVXVPTEFifFo1IUtNUFpWdzh0Sjdsc0UKemc+SGhl M1VwQSk+ZDwoXnNfY3EhYTw9Mnl2eXRkSU4tJDEhN0hoMDYmdD0/PWFxbkk7UGI0Q204MD0mUWg5 ZVBGCnpGZyZIdG8yMTYzb0s3JEpJfT9zTElSd080VTUxe1VZO0lgNUY9Qj5ZO2JDZ0luVCl7fDZm bjVremA5cSpHMGIhNQp6Xk09Y2tMWFheIV9lNkhoRyRWfkQ1Pyo8THRaXkVwTTNZOE9kcmJwbER1 Iyt8aVd8UGJqQytJMkg2bXxQej58KTsKek05ezskUE8/Vmdoc2psM2h0ZFEpcD5SJmhra0YhVm1W NyZqTlBfbW89LSNfdkVUKTQweDhXYEgjelhTZkdKeWYpCnoydTVgPlhAbHhldE5KbF5nejg3ZWhl PEtmUDhPXiRySTQkbWpATCFXMmk8dX5hRUY7SlckRzE2Zjk9Sj5iS3dHbQp6XmtKWGImK3RDWjha LTJ6cmk1QHRPLX4lLVU8ZVYzdys9Kz42aWpYQCZFYkw+V159TXIhTmRrJGFMflE2IUJFbjAKeikj MFRQTXt9dHdmfXR0fkBFbVA9a09VM0opTEZqJGlaVTJaOFhgbkY0S14pRzd6PmFYO2FWdDNaVUp9 VEp6MXlFCnpMRW5YODlPVzI/SWVMZXNqT0RmPDw3T2pxcnYrQWV4ZyF1YVQrZUVQX30rKmE5N1Ry I3I7RWx6cjZvbCRTS1RhMgp6K0xGaTc2JnB9OSkrYl5DSnJxfiRGPzZ5Ymh0TnxoT2dMa01SayRB d25fPHtXQVRpRUQ3P2NFUGlTciQrO3hEQnIKelF7cEUlZ0k1Xjk5cXVWKklKe31wRyk+TTVedVRf Mj0tV2NAUStUaHo0NH04O0htfX1KSnpBOGxQLWktMHg5OHY7CnozfVpXSzdFUylRc1V+PGpiazw4 YVokJnFTfEdoQSVuNWVVYXp+QyVxUUQ2fjxLVEh1K24kNlA/WiptQztXYjhvOwp6ISgxa0wqP35P OFFrTSk1aHkwLShaPmotQjN9UUs+ZnRhJkFYKTwlenJfKmpCLSQheFREOGdjQGhySmQ9KkRHSzAK enAlcilecnllQ0dQdEAjV1ZofXhkaz5SdUAmPF4jO3g5Z3hXUHpod3NYcT89MXo+RUdjO1BlbVhr T1JWQGtoQ04rCnpOSishWkVreHdEc20oaVYkKUZSWmFuK2NTYyFrPlBuKVlrS09iVzBfMGBLMlk5 c1heYk0rPSR2Pm9BfU0lQCY5agp6YWgteWRrNzdKR2pZUyF7VVJHQyl3dmp+TlcpYDZyMl81cUBG fkljQHAkfnhIUko1a3lBdzhAfCtAJCMoY2JJdDMKeiRUJEA3Wk4wekxHQFFhfG09UjFfaiNIRi1i TSM7K3J5dz1MNiVWMVJiZD9QMHh5TGNteUEzJXZsZiE0eTs1KFJBCnpeTFglYmpIPV8rczFSe1gw OzBkP2ItS3xnTV99UTIkUU5fVEFxX19TPS1POyhPdCRONiEoXkkxPlFySClUNFY8JQp6VEorRmZ4 fXlUUWMofnkrRXpHP0pINzF5RzUhOHk7R1pxYj1HUm9vK2paYElXbkRDQGYyWTJUJUJRQUVNaDZ8 ISgKeihAeVpFYWlKUWNPMHEhcE1NOE1yM2QxKSV4ZF4qcjJYZ1BTP1hgSENSdiZRJkN+JG5hanhx Nmd6e0tkTCsofXg1CnpEJmhna0tAVTk7Q3BCIUQxQEVAI24hNVZ5UHxUQHFOJnswR245eyhNMkJ0 SkhyR1k2OE9sZT9CMU9IPCthQWp6RAp6e2U5PGI7c2RzfFRUPEs1KDlqcFpffUJeZV5iJjhPJDM1 TXQ9U18zdSZUIV5DYSYzQl4hPUNSRSk2ZUJ9Nl5Ob2oKendgK1FlKEdHcmFJYGdPSDdSKGUqMXot OHRUSz8tNGJmTiN1QElrNW5TTWkoM1dLRzNfaW1Ia1Z7NVIhYmEzTmphCnp7ejNXdkRYeFg7N3RG Ni1TV3tDJlMxLUdFZEdwNnNpUkUpRUQkQT5hOCNqdV4lREglV19VRSk9ejdDVFRuNmU8Owp6Piow dk0zX1hyaCsrJml3WkVuNT0/fX4kI0plb3VuSnRJUilLODI7elNxKi1jcHx8QVYweWE3OCFmRTJR aUJxSTYKelpFVjV8STVJUHQ8aXl8TDRJSGolUnhPOEh0eVlfaitaYF5uaiRGcX49ayRFbmhZQnlm PFVAcjtNWiFPS3coIWo8CnpFLURIdkVTKGRxc0gmPkVib1FkZkhJPGpvb25LV2M2SCNuNzh5NGRC T3E9R1peY0ghfmUxIUwoQ01MJElmYTZeIwp6NnhONkx1QHA7ekdJMCFWKSNFPk9FMiVBQTZqQE08 bnhrMnsmN0tRfVp8UER+N04lTnFhI1ImcEtQfl4mdlJhVmkKel5qM3RsPV97Z0UtJVlOe2YhcHVw I2RReEpuWCZUNGNtNEJRZCplMntgeSRXRyFkV0c9MUVwbkUzdCk3TVlVPi04CnpHK3I1UVREcSNg VzI+KmhLYm1pQT9ed0dvKjE1aX5mNzlrSVRXe1hCSitXaSh3eE9ON2hWS35wIXJuWGdlUjJRVAp6 Un1Pc2o7TVdkKXtsMTYzYFM3PE1gU3pvS18xTXVUazNJR0RHc21CTz94bU1zYE42OXtlQzxjQ3p4 bWNyZSlfWXcKenxOZm55fEtndjF7bTtNb20qNCpEQEJaIWd2UnR5OWxVdXJFPWFzN2Y8emxMOFFM VkNFM2ZtJEpVWkNjOUQ+UD9sCnpnKkFIOWJZSkJGY2glaX4/fUpCZCNxKEZiSkVPSnRNWjRReV8y I1U5bDB7M0U+XzFucV8jYWlXR1gqPGF1R2goNwp6IUsqZ35tSThkVEBVQWBKWUYzdUdSPy0temE+ c1UrbmskeUwlKXI+TGgtPHxYVkdvUiU9VjQhdFlla3N0M0xIZUYKeld+SiQpTzkrZS03aCptP0Bg Y1ZQNkM2ZE5lKztBYGxoVnIpe0hidzlWKzVgSkY7Sm1BJVh3UDlrZlEhdiF+VEJeCnpBWj4rOVg1 c3ohS2g2cX5gTzBTTiNFKXByQEBEWk05PUJmcGsqeihed2lgUzhNUWd7cCZhVEQyZkJlcE9lV0o1 ewp6dkcxQSUlWSh+JT5Oe2VjO2NkTWd0Rn5SJCh6Zmwhd25nb31rNmEteC0mKHRNVzYjRXB7OzFm eGFZSSpNP2JnTTwKelhuU3tTTT1mWD5Ka0tYbUVkNGh3X1F8YTN5TCZyQykhZUdOIVNXP3JKMnpN UWtWYkYmK1MtKjNqaFBnMXclOFp6CnpAOShMZEh4QzEoeG0pSlg/ZTFNU3VMNDdoZEJNdGdtNmhl LUREUyh1dDNTSDZ5c05LeEdLR2VZelA4QFpwOG40Ngp6RStKRWx3c3Zwb1UraEV2RFp5fjFaT0sq eVdSak5Xc2Y3RmIrdmhkbXF6Vk5BIUBTQzF1JTxqJVN6ZnRGJUFQTE4KeiMtOFFOJiYySE5vMH1A KStfdnRHXlJgQk49MmdyTSZmQj4wNDBtN3VsRmV1SHhnZDk2JWdzRjxeSHo1QmIjTGx6Cno+c1ll NnFwUURvR1A5bHlvQkZjeitTSnp9Z0hwMD9Ya1ItSVZ5MUdPPGlFME1kR2leNXNqempPOCslZ1Js NT4pKQp6ejNtSzcmISpsRHNxNWArXkV4KGtZKChhTE5VYEQhWi0zfDd2c0d9OHtQTX48bklucmM+ N0sobXNUWXwpbHZtcigKei1MXl5RKVlQIXBDazNvKz97NGRDdVQ3Q18rZ21GWkVUe15XUzF4UjhG UiR0VndQQGttMT8zJlZudT5+IWl0NHNTCnozeGJwQkc8RWckTjR3Zk9XSTlOQlpZTDYxK2E2dUNV X3R4QkA8c0VqN001NDdVRFFfSXg9MUZ7ejk9fDxRQl82Tgp6K0tUOTh7SHVGQVZjcFJVKzQ5SkEr TDJDOHV6SnlnKXthSHhINUNnV00+TmA2VWVuZ0d3bWpIWUdydUFqNE9VbVIKelJ7NGF+Y1d0UC1Y fGI8ekYycVdtSGdBYWJ1a0cmTHhZKU8+dnVvNFZPbFY4eiMqUzZ9UUtfUGU+aUpkR0hObEY3Cnoz I3R+P0VMPlFiO2FKXyMrWHM3PE5tVF5yUndCNSl0K28qZk1QV2RsOD44enc9NTZVez9lUGh6Xyol I2c0TXdHZgp6QmdJc1NZVV9KRHFXI155RSMySzQ3Vzw/dUxNQTJLTThARTJtdnkoTHFORiVHK0I1 Qn5GMWxfVyRhI081Pi07T0wKelYlPU4xeyk1PClKZDwlbHo1UUZkZHZDbkRfditVNTljfSU4QW9s eVlDZ1pQIUU5JmQteX05V1JpRzI9MytTMDteCnooY09EPENhK1o7SClXXnxvZyZwVFlvbCN4NGZh SmhjZU1MNWZvLXY5KlNaZFBKRzZve1RqdkVWWkdQKmJnPjRJaQp6IVNZfm1lcnRKRVRrSEp0WG0k MDFAJiY9Rl9KdGtNPlA2TVQxKFdnbnk0VXReaVN+QWMpfWhpK0ghJThDLUgxVFMKek1vSzY3dyF9 SjZvdEZoR0BzSUMoc1hDRn5EPW9LZD59V2heaXpHY2taSWQqTlJoeFF4SGd0Q01vLUpvOD9nYmdu CnoyND45VjRATnFCSnIkP0V5WFImIW17fFlTVGU+Y3MpJSFTN0BzQFNBYiMoUTBVckBOTFl4ODdE di1+IzFOKEdAYQp1a21RLVo8JSRvdWk9TWhQckdZNjhPbGU/QjE1K0I5KCFpZ3EyRn43e2M2NEVv d2d2WnxeIzFfWFhXc3xfCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS90ZXN0 L2xpc3AvaW1hZ2UtdGVzdHMuZWwgYi90ZXN0L2xpc3AvaW1hZ2UtdGVzdHMuZWwKaW5kZXggYWE4 NjAwNjA5Yy4uYzM0YzE1MmNjOSAxMDA2NDQKLS0tIGEvdGVzdC9saXNwL2ltYWdlLXRlc3RzLmVs CisrKyBiL3Rlc3QvbGlzcC9pbWFnZS10ZXN0cy5lbApAQCAtNDksMTIgKzQ5LDE0IEBAIGltYWdl LS1zZXQtcHJvcGVydHkKICAgICAoc2hvdWxkIChlcXVhbCBpbWFnZSAnKGltYWdlKSkpKSkKIAog KGVydC1kZWZ0ZXN0IGltYWdlLWZpbmQtaW1hZ2UgKCkKLSAgKGZpbmQtaW1hZ2UgJygoOnR5cGUg eHBtIDpmaWxlICJ1bmRvLnhwbSIpKSkKLSAgKGZpbmQtaW1hZ2UgJygoOnR5cGUgcG5nIDpmaWxl ICJuZXdzdGlja2VyL3Jzcy1mZWVkLnBuZyIgOmFzY2VudCBjZW50ZXIpKSkpCisgIChzaG91bGQg KGxpc3RwIChmaW5kLWltYWdlICcoKDp0eXBlIHhwbSA6ZmlsZSAidW5kby54cG0iKSkpKSkKKyAg KHNob3VsZCAobGlzdHAgKGZpbmQtaW1hZ2UgJygoOnR5cGUgcG5nIDpmaWxlICJuZXdzdGlja2Vy L3Jzcy1mZWVkLnBuZyIgOmFzY2VudCBjZW50ZXIpKSkpKQorICAoc2hvdWxkLW5vdCAoZmluZC1p bWFnZSAnKCg6dHlwZSBwbmcgOmZpbGUgImRvZXMtbm90LWV4aXN0LWZvby1iYXIucG5nIikpKSkp CiAKIChlcnQtZGVmdGVzdCBpbWFnZS10eXBlLWZyb20tZmlsZS1uYW1lICgpCiAgIChzaG91bGQg KGVxIChpbWFnZS10eXBlLWZyb20tZmlsZS1uYW1lICJmb28uanBnIikgJ2pwZWcpKQotICAoc2hv dWxkIChlcSAoaW1hZ2UtdHlwZS1mcm9tLWZpbGUtbmFtZSAiZm9vLnBuZyIpICdwbmcpKSkKKyAg KHNob3VsZCAoZXEgKGltYWdlLXR5cGUtZnJvbS1maWxlLW5hbWUgImZvby5wbmciKSAncG5nKSkK KyAgKHNob3VsZCAoZXEgKGltYWdlLXR5cGUtZnJvbS1maWxlLW5hbWUgImZvby53ZWJwIikgJ3dl YnApKSkKIAogKGVydC1kZWZ0ZXN0IGltYWdlLXR5cGUvZnJvbS1maWxlbmFtZSAoKQogICA7OyBP biBlbWJhLCBgaW1hZ2UtdHlwZXMnIGFuZCBgaW1hZ2UtbG9hZC1wYXRoJyBkbyBub3QgZXhpc3Qu CmRpZmYgLS1naXQgYS90ZXN0L3NyYy9pbWFnZS10ZXN0cy5lbCBiL3Rlc3Qvc3JjL2ltYWdlLXRl c3RzLmVsCmluZGV4IGQ1ZTNhN2NjNWMuLmI5MjE3MzlhMDUgMTAwNjQ0Ci0tLSBhL3Rlc3Qvc3Jj L2ltYWdlLXRlc3RzLmVsCisrKyBiL3Rlc3Qvc3JjL2ltYWdlLXRlc3RzLmVsCkBAIC00NCw2ICs0 NCw4IEBAIGltYWdlLXRlc3RzLS1maWxlcwogICAgICh0aWZmIC4gLChleHBhbmQtZmlsZS1uYW1l CiAgICAgICAgICAgICAgICJuZXh0c3RlcC9HTlVzdGVwL0VtYWNzLmJhc2UvUmVzb3VyY2VzL2Vt YWNzLnRpZmYiCiAgICAgICAgICAgICAgIHNvdXJjZS1kaXJlY3RvcnkpKQorICAgICh3ZWJwIC4g LChleHBhbmQtZmlsZS1uYW1lICJ0ZXN0L2RhdGEvaW1hZ2UvYmxhY2sud2VicCIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UtZGlyZWN0b3J5KSkKICAgICAoeGJtIC4gLChm aW5kLWltYWdlICcoKDpmaWxlICJnbnVzL2dudXMueGJtIiA6dHlwZSB4Ym0pKSkpCiAgICAgKHhw bSAuICwoZmluZC1pbWFnZSAnKCg6ZmlsZSAic3BsYXNoLnhwbSIgOnR5cGUgeHBtKSkpKQogICAg IDs7IFRPRE86IGdpZgpAQCAtODYsNiArODgsMTMgQEAgaW1hZ2UtdGVzdHMtaW1hZ2Utc2l6ZS90 aWZmCiAgICAgIChzaG91bGQgKGZsb2F0cCBhKSkKICAgICAgKHNob3VsZCAoZmxvYXRwIGIpKSkp KQogCisoZXJ0LWRlZnRlc3QgaW1hZ2UtdGVzdHMtaW1hZ2Utc2l6ZS93ZWJwICgpCisgIChpbWFn ZS1za2lwLXVubGVzcyAnd2VicCkKKyAgKHBjYXNlIChpbWFnZS1zaXplIChjcmVhdGUtaW1hZ2Ug KGNkciAoYXNzcSAnd2VicCBpbWFnZS10ZXN0cy0tZmlsZXMpKSkpCisgICAgKGAoLGEgLiAsYikK KyAgICAgKHNob3VsZCAoZmxvYXRwIGEpKQorICAgICAoc2hvdWxkIChmbG9hdHAgYikpKSkpCisK IChlcnQtZGVmdGVzdCBpbWFnZS10ZXN0cy1pbWFnZS1zaXplL3hibSAoKQogICAoaW1hZ2Utc2tp cC11bmxlc3MgJ3hibSkKICAgKHBjYXNlIChpbWFnZS1zaXplIChjZHIgKGFzc3EgJ3hibSBpbWFn ZS10ZXN0cy0tZmlsZXMpKSkKQEAgLTEzMCw3ICsxMzksMTIgQEAgaW1hZ2UtdGVzdHMtaW1hZ2Ut bWFzay1wL3N2ZwogKGVydC1kZWZ0ZXN0IGltYWdlLXRlc3RzLWltYWdlLW1hc2stcC90aWZmICgp CiAgIChpbWFnZS1za2lwLXVubGVzcyAndGlmZikKICAgKHNob3VsZC1ub3QgKGltYWdlLW1hc2st cCAoY3JlYXRlLWltYWdlCi0JCQkgICAgIChjZHIgKGFzc3EgJ3RpZmYgaW1hZ2UtdGVzdHMtLWZp bGVzKSkpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjZHIgKGFzc3EgJ3RpZmYg aW1hZ2UtdGVzdHMtLWZpbGVzKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBpbWFnZS10ZXN0cy1pbWFn ZS1tYXNrLXAvd2VicCAoKQorICAoaW1hZ2Utc2tpcC11bmxlc3MgJ3dlYnApCisgIChzaG91bGQt bm90IChpbWFnZS1tYXNrLXAgKGNyZWF0ZS1pbWFnZQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoY2RyIChhc3NxICd3ZWJwIGltYWdlLXRlc3RzLS1maWxlcykpKSkpKQogCiAoZXJ0LWRl ZnRlc3QgaW1hZ2UtdGVzdHMtaW1hZ2UtbWFzay1wL3hibSAoKQogICAoaW1hZ2Utc2tpcC11bmxl c3MgJ3hibSkKQEAgLTE3Myw3ICsxODcsMTIgQEAgaW1hZ2UtdGVzdHMtaW1hZ2UtbWV0YWRhdGEv c3ZnCiAoZXJ0LWRlZnRlc3QgaW1hZ2UtdGVzdHMtaW1hZ2UtbWV0YWRhdGEvdGlmZiAoKQogICAo aW1hZ2Utc2tpcC11bmxlc3MgJ3RpZmYpCiAgIChzaG91bGQtbm90IChpbWFnZS1tZXRhZGF0YQot CSAgICAgICAoY3JlYXRlLWltYWdlIChjZHIgKGFzc3EgJ3RpZmYgaW1hZ2UtdGVzdHMtLWZpbGVz KSkpKSkpCisgICAgICAgICAgICAgICAoY3JlYXRlLWltYWdlIChjZHIgKGFzc3EgJ3RpZmYgaW1h Z2UtdGVzdHMtLWZpbGVzKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBpbWFnZS10ZXN0cy1pbWFnZS1t ZXRhZGF0YS93ZWJwICgpCisgIChpbWFnZS1za2lwLXVubGVzcyAnd2VicCkKKyAgKHNob3VsZC1u b3QgKGltYWdlLW1ldGFkYXRhCisgICAgICAgICAgICAgICAoY3JlYXRlLWltYWdlIChjZHIgKGFz c3EgJ3dlYnAgaW1hZ2UtdGVzdHMtLWZpbGVzKSkpKSkpCiAKIChlcnQtZGVmdGVzdCBpbWFnZS10 ZXN0cy1pbWFnZS1tZXRhZGF0YS94Ym0gKCkKICAgKGltYWdlLXNraXAtdW5sZXNzICd4Ym0pCi0t IAoyLjMwLjIKCg== --000000000000916a0505ceca5995--