From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Vili Aapro Newsgroups: gmane.emacs.bugs Subject: bug#75224: RNG validation unnecessarily marks buffer as changed Date: Tue, 31 Dec 2024 14:31:27 +0200 Message-ID: <20241231143127.1fd67698@vilij-LIFEBOOK-E744> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/K=DxxEZ1mhwf7.1B8QAtPdD" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17436"; mail-complaints-to="usenet@ciao.gmane.io" To: 75224@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Dec 31 13:33:25 2024 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 1tSbR6-0004M4-Am for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 31 Dec 2024 13:33:24 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tSbQo-0002O9-7K; Tue, 31 Dec 2024 07:33:06 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tSbQl-0002NV-Lb for bug-gnu-emacs@gnu.org; Tue, 31 Dec 2024 07:33:03 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tSbQl-0000KC-BG for bug-gnu-emacs@gnu.org; Tue, 31 Dec 2024 07:33:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:From:Date:To:Subject; bh=s0Ee06JGBvpKnRzor3HiZCR7i1Dxl9XoMChaUbnUtPA=; b=NNBbtM1bgAbfUaNjp6NqXOfRluaEMsolFBxBFlxwsZ/KDlvmdiwLXyw7bf0ktg598mGEjoiOMtE015S8UKBgxFdrEnyDQ5MptFXN61dSvU4s15bq0hPnN/YWExq2Ha9x0el3Ah3guN2eGU57WuWl1AorD0xwv9HJhTgQp+tM8wCN9NLZ8rIY9F1sHxOH0qFJrWyh0PUsqqMISvNW2ynpMBi87DMzahj8/nCNRnTmXAUU2NNOGQCdjfv2tnMQPl/3umnMVEvC7jyD9/jZ/0PJUD2j4IBI/jwgXhWBx99ON5QaspomZdDAdHyH4ngo2iT1z+i0HgdxPfCt3h/s4D8fKA==; Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tSbQk-0000nH-4Z for bug-gnu-emacs@gnu.org; Tue, 31 Dec 2024 07:33:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Vili Aapro Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 31 Dec 2024 12:33:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 75224 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.17356483352992 (code B ref -1); Tue, 31 Dec 2024 12:33:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 31 Dec 2024 12:32:15 +0000 Original-Received: from localhost ([127.0.0.1]:34127 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tSbPy-0000mB-P2 for submit@debbugs.gnu.org; Tue, 31 Dec 2024 07:32:15 -0500 Original-Received: from lists.gnu.org ([209.51.188.17]:43118) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tSbPw-0000lw-H2 for submit@debbugs.gnu.org; Tue, 31 Dec 2024 07:32:13 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tSbPs-0002GB-NA for bug-gnu-emacs@gnu.org; Tue, 31 Dec 2024 07:32:08 -0500 Original-Received: from mail-auth.kapsi.fi ([91.232.154.24] helo=mail.kapsi.fi) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tSbPm-0008TH-OW for bug-gnu-emacs@gnu.org; Tue, 31 Dec 2024 07:32:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kapsi.fi; s=20161220; h=Content-Type:MIME-Version:Message-ID:Subject:To:From:Date: Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=s0Ee06JGBvpKnRzor3HiZCR7i1Dxl9XoMChaUbnUtPA=; b=kr5a0x5XQVjyQUWJ23gFStZ1GD Pp2CWjQGcJkYvc0/NLiO0mXz7kavil7sHdc1L+ISzNKi/TgtVJ/ux8n0aHiOsXtPxa+Fjn/Y7dmbE vD/PFU/W/IF9aFC/sfaIyh9wIgnqFYUx/RbvmoNl7vdlU4OdQahIXVYCsQgxGnKmQuV38OpYnwLB1 +rgFtPqzbguFr+5wSHCcxvI8/Vl+xJ7YfmA4q4797zTZBD8UAZcvDhPK5ugT3yYPehx3wlbdSwKPy XH0E/rrygAkyTmBbI7RB3jnf6/qteykfmAYBtGZ/t3wGR0tak72vjZBCch4Xf/o+8xFjuoLG7iLA1 2tzJMrpg==; Original-Received: from 2001-14bb-63b-ede9-e539-d357-6fda-9cca.rev.dnainternet.fi ([2001:14bb:63b:ede9:e539:d357:6fda:9cca] helo=vilij-LIFEBOOK-E744) by mail.kapsi.fi with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tSbPJ-00AuLo-13 for bug-gnu-emacs@gnu.org; Tue, 31 Dec 2024 14:31:33 +0200 X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) X-SA-Exim-Connect-IP: 2001:14bb:63b:ede9:e539:d357:6fda:9cca X-SA-Exim-Mail-From: vili.aapro@iki.fi X-SA-Exim-Scanned: No (on mail.kapsi.fi); SAEximRunCond expanded to false Received-SPF: pass client-ip=91.232.154.24; envelope-from=vilij@kapsi.fi; helo=mail.kapsi.fi X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.199, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:298040 Archived-At: --MP_/K=DxxEZ1mhwf7.1B8QAtPdD Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Gentle people, I found a bug in RNG Validation mode in the file `nxml/rng-valid.el' that unnecessarily marks buffer as changed. The bug can be fixed with a simple application of `with-silent-modifications' in the function `rng-do-some-validation-1'. I've attached a patch that does so. However, in the long run, in my opinion the application of `with-silent-modifications' should be moved to `rng-clear-cached-state'; that is where it properly belongs. Perhaps this has been left undone because of efficiency reasons; perhaps there is work to be done to make `with-silent-modifications' less expensive. To reproduce, visit a big enough RNG-validatable XML file, such as the included `rdfxml.rng'; goto and end-tag, say on line 22; kill it; undo. Undo runs `after-change-functions' and thus `rng-after-change-function' and thus `rng-do-some-validation-1', reproducing the bug. Best regards and thank you, Vili Aapro --MP_/K=DxxEZ1mhwf7.1B8QAtPdD Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0001-Fix-bug-in-rng-valid-that-unnecessarily-marks-buffer.patch >From b5f7706165cfd2ef2c865303fe4530699d33d41b Mon Sep 17 00:00:00 2001 From: viliaapro Date: Tue, 31 Dec 2024 14:07:43 +0200 Subject: [PATCH] Fix bug in rng-valid that unnecessarily marks buffer as changed --- lisp/nxml/rng-valid.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/nxml/rng-valid.el b/lisp/nxml/rng-valid.el index 9a44356835e..b533545c52c 100644 --- a/lisp/nxml/rng-valid.el +++ b/lisp/nxml/rng-valid.el @@ -545,7 +545,8 @@ rng-do-some-validation-1 ((or (>= pos next-cache-point) (not continue)) (setq next-cache-point (+ pos rng-state-cache-distance)) - (rng-clear-cached-state remove-start pos) + (with-silent-modifications + (rng-clear-cached-state remove-start pos)) (when have-remaining-chars (rng-cache-state (1- pos))) (setq remove-start pos) -- 2.34.1 --MP_/K=DxxEZ1mhwf7.1B8QAtPdD Content-Type: application/xml Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=rdfxml.rng PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLQogIFJFTEFYIE5HIENv bXBhY3QgU2NoZW1hIGZvciBSREYvWE1MIFN5bnRheAogIAogIENvcHlyaWdodCAoQykgMjAwMS0y MDA4IFdvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0sIChNYXNzYWNodXNldHRzCiAgSW5zdGl0dXRl IG9mIFRlY2hub2xvZ3ksIEV1cm9wZWFuIFJlc2VhcmNoIENvbnNvcnRpdW0gZm9yCiAgSW5mb3Jt YXRpY3MgYW5kIE1hdGhlbWF0aWNzLCBLZWlvIFVuaXZlcnNpdHkpLiAgQWxsIFJpZ2h0cyBSZXNl cnZlZC4KICBUaGlzIHdvcmsgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFczQyhSKSBTb2Z0d2Fy ZSBMaWNlbnNlIGluIHRoZQogIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4KICB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAgUFVSUE9TRS4KICAK ICBUaGlzIHNjaGVtYSBpcyBmb3IgaW5mb3JtYXRpb24gb25seSBhbmQgTk9OLU5PUk1BVElWRQog IAogIEl0IGlzIGJhc2VkIG9uIG9uZSBvcmlnaW5hbGx5IHdyaXR0ZW4gYnkgSmFtZXMgQ2xhcmsg aW4KICBodHRwOi8vbGlzdHMudzMub3JnL0FyY2hpdmVzL1B1YmxpYy93d3ctcmRmLWNvbW1lbnRz LzIwMDFKdWxTZXAvMDI0OC5odG1sCiAgYW5kIHVwZGF0ZWQgd2l0aCBsYXRlciBjaGFuZ2VzLgot LT4KPGdyYW1tYXIgbnM9Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIgeG1s bnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxu cz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIGRhdGF0eXBlTGlicmFyeT0i aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KICA8c3RhcnQ+CiAg ICA8cmVmIG5hbWU9ImRvYyIvPgogIDwvc3RhcnQ+CiAgPCEtLSBJIGNhbm5vdCBzZWVtIHRvIGRv IHRoaXMgaW4gUk5HQyBzbyB0aGV5IGFyZSBleHBhbmRlZCBpbi1saW5lIC0tPgogIDwhLS0KICAg IGNvcmVTeW50YXhUZXJtcyA9IHJkZjpSREYgfCByZGY6SUQgfCByZGY6YWJvdXQgfCByZGY6cGFy c2VUeXBlIHwgcmRmOnJlc291cmNlIHwgcmRmOm5vZGVJRCB8IHJkZjpkYXRhdHlwZQogICAgc3lu dGF4VGVybXMgPSBjb3JlU3ludGF4VGVybXMgfCByZGY6RGVzY3JpcHRpb24gfCByZGY6bGkKICAg IG9sZFRlcm1zICAgID0gcmRmOmFib3V0RWFjaCB8IHJkZjphYm91dEVhY2hQcmVmaXggfCByZGY6 YmFnSUQKICAgIG5vZGVFbGVtZW50VVJJcyAgICAgICA9ICogLSAoIGNvcmVTeW50YXhUZXJtcyB8 IHJkZjpsaSB8IG9sZFRlcm1zICkKICAgIHByb3BlcnR5RWxlbWVudFVSSXMgICA9ICogLSAoIGNv cmVTeW50YXhUZXJtcyB8IHJkZjpEZXNjcmlwdGlvbiB8IG9sZFRlcm1zICkKICAgIHByb3BlcnR5 QXR0cmlidXRlVVJJcyA9ICogLSAoIGNvcmVTeW50YXhUZXJtcyB8IHJkZjpEZXNjcmlwdGlvbiB8 IHJkZjpsaSB8IG9sZFRlcm1zICkKICAtLT4KICA8IS0tCiAgICBBbHNvIG5lZWRlZCB0byBhbGxv dyByZGY6bGkgb24gYWxsIHByb3BlcnR5IGVsZW1lbnQgcHJvZHVjdGlvbnMKICAgIHNpbmNlIHdl IGNhbid0IGNhcHR1cmUgdGhlIHJkZjpsaSByZXdyaXRpbmcgdG8gcmRmXzxuPiBpbiByZWxheG5n CiAgLS0+CiAgPCEtLSBOZWVkIHRvIGFkZCB0aGVzZSBleHBsaWNpdGx5IC0tPgogIDxkZWZpbmUg bmFtZT0ieG1sbGFuZyI+CiAgICA8YXR0cmlidXRlIG5hbWU9InhtbDpsYW5nIi8+CiAgPC9kZWZp bmU+CiAgPGRlZmluZSBuYW1lPSJ4bWxiYXNlIj4KICAgIDxhdHRyaWJ1dGUgbmFtZT0ieG1sOmJh c2UiLz4KICA8L2RlZmluZT4KICA8IS0tIGFuZCB0byBmb3JiaWQgZXZlcnkgb3RoZXIgeG1sOiog YXR0cmlidXRlLCBlbGVtZW50IC0tPgogIDxkZWZpbmUgbmFtZT0iZG9jIj4KICAgIDxyZWYgbmFt ZT0iUkRGIi8+CiAgPC9kZWZpbmU+CiAgPGRlZmluZSBuYW1lPSJSREYiPgogICAgPGVsZW1lbnQg bmFtZT0icmRmOlJERiI+CiAgICAgIDxvcHRpb25hbD4KICAgICAgICA8cmVmIG5hbWU9InhtbGxh bmciLz4KICAgICAgPC9vcHRpb25hbD4KICAgICAgPG9wdGlvbmFsPgogICAgICAgIDxyZWYgbmFt ZT0ieG1sYmFzZSIvPgogICAgICA8L29wdGlvbmFsPgogICAgICA8cmVmIG5hbWU9Im5vZGVFbGVt ZW50TGlzdCIvPgogICAgPC9lbGVtZW50PgogIDwvZGVmaW5lPgogIDxkZWZpbmUgbmFtZT0ibm9k ZUVsZW1lbnRMaXN0Ij4KICAgIDx6ZXJvT3JNb3JlPgogICAgICA8cmVmIG5hbWU9Im5vZGVFbGVt ZW50Ii8+CiAgICA8L3plcm9Pck1vcmU+CiAgPC9kZWZpbmU+CiAgPCEtLQogICAgU2hvdWxkIGJl IHNvbWV0aGluZyBsaWtlOgogICAgIHdzKiAsICggIG5vZGVFbGVtZW50ICwgd3MqICkqCiAgICBi dXQgUkVMQVhORyBkb2VzIHRoaXMgYnkgZGVmYXVsdCwgaWdub3Jpbmcgd2hpdGVzcGFjZSBzZXBh cmF0aW5nIHRhZ3MuCiAgLS0+CiAgPGRlZmluZSBuYW1lPSJub2RlRWxlbWVudCI+CiAgICA8ZWxl bWVudD4KICAgICAgPGFueU5hbWU+CiAgICAgICAgPGV4Y2VwdD4KICAgICAgICAgIDxuc05hbWUg bnM9IiIvPgogICAgICAgICAgPG5hbWU+cmRmOlJERjwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJk ZjpJRDwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJkZjphYm91dDwvbmFtZT4KICAgICAgICAgIDxu YW1lPnJkZjpwYXJzZVR5cGU8L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6cmVzb3VyY2U8L25h bWU+CiAgICAgICAgICA8bmFtZT5yZGY6bm9kZUlEPC9uYW1lPgogICAgICAgICAgPG5hbWU+cmRm OmRhdGF0eXBlPC9uYW1lPgogICAgICAgICAgPG5hbWU+cmRmOmxpPC9uYW1lPgogICAgICAgICAg PG5hbWU+cmRmOmFib3V0RWFjaDwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJkZjphYm91dEVhY2hQ cmVmaXg8L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6YmFnSUQ8L25hbWU+CiAgICAgICAgPC9l eGNlcHQ+CiAgICAgIDwvYW55TmFtZT4KICAgICAgPG9wdGlvbmFsPgogICAgICAgIDxjaG9pY2U+ CiAgICAgICAgICA8cmVmIG5hbWU9ImlkQXR0ciIvPgogICAgICAgICAgPHJlZiBuYW1lPSJub2Rl SWRBdHRyIi8+CiAgICAgICAgICA8cmVmIG5hbWU9ImFib3V0QXR0ciIvPgogICAgICAgIDwvY2hv aWNlPgogICAgICA8L29wdGlvbmFsPgogICAgICA8b3B0aW9uYWw+CiAgICAgICAgPHJlZiBuYW1l PSJ4bWxsYW5nIi8+CiAgICAgIDwvb3B0aW9uYWw+CiAgICAgIDxvcHRpb25hbD4KICAgICAgICA8 cmVmIG5hbWU9InhtbGJhc2UiLz4KICAgICAgPC9vcHRpb25hbD4KICAgICAgPHplcm9Pck1vcmU+ CiAgICAgICAgPHJlZiBuYW1lPSJwcm9wZXJ0eUF0dHIiLz4KICAgICAgPC96ZXJvT3JNb3JlPgog ICAgICA8cmVmIG5hbWU9InByb3BlcnR5RWx0TGlzdCIvPgogICAgPC9lbGVtZW50PgogIDwvZGVm aW5lPgogIDwhLS0KICAgIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBzYXkgImFuZCBub3QgdGhpbmdz CiAgICBiZWdpbm5pbmcgd2l0aCBfIGluIHRoZSByZGY6IG5hbWVzcGFjZSIgaW4gUkVMQVggTkcu CiAgLS0+CiAgPGRlZmluZSBuYW1lPSJ3cyI+CiAgICA8dmFsdWU+IDwvdmFsdWU+CiAgPC9kZWZp bmU+CiAgPCEtLQogICAgTm90IHVzZWQgaW4gdGhpcyBSRUxBWCBORyBzY2hlbWE7IGJ1dCBzaG91 bGQgYmUgYW55IGxlZ2FsIFhNTAogICAgd2hpdGVzcGFjZSBkZWZpbmVkIGJ5IGh0dHA6Ly93d3cu dzMub3JnL1RSLzIwMDAvUkVDLXhtbC0yMDAwMTAwNiNOVC1TCiAgLS0+CiAgPGRlZmluZSBuYW1l PSJwcm9wZXJ0eUVsdExpc3QiPgogICAgPHplcm9Pck1vcmU+CiAgICAgIDxyZWYgbmFtZT0icHJv cGVydHlFbHQiLz4KICAgIDwvemVyb09yTW9yZT4KICA8L2RlZmluZT4KICA8IS0tCiAgICBTaG91 bGQgYmUgc29tZXRoaW5nIGxpa2U6CiAgICAgd3MqICwgKCBwcm9wZXJ0eUVsdCAsIHdzKiApKgog ICAgYnV0IFJFTEFYTkcgZG9lcyB0aGlzIGJ5IGRlZmF1bHQsIGlnbm9yaW5nIHdoaXRlc3BhY2Ug c2VwYXJhdGluZyB0YWdzLgogIC0tPgogIDxkZWZpbmUgbmFtZT0icHJvcGVydHlFbHQiPgogICAg PGNob2ljZT4KICAgICAgPHJlZiBuYW1lPSJyZXNvdXJjZVByb3BlcnR5RWx0Ii8+CiAgICAgIDxy ZWYgbmFtZT0ibGl0ZXJhbFByb3BlcnR5RWx0Ii8+CiAgICAgIDxyZWYgbmFtZT0icGFyc2VUeXBl TGl0ZXJhbFByb3BlcnR5RWx0Ii8+CiAgICAgIDxyZWYgbmFtZT0icGFyc2VUeXBlUmVzb3VyY2VQ cm9wZXJ0eUVsdCIvPgogICAgICA8cmVmIG5hbWU9InBhcnNlVHlwZUNvbGxlY3Rpb25Qcm9wZXJ0 eUVsdCIvPgogICAgICA8cmVmIG5hbWU9InBhcnNlVHlwZU90aGVyUHJvcGVydHlFbHQiLz4KICAg ICAgPHJlZiBuYW1lPSJlbXB0eVByb3BlcnR5RWx0Ii8+CiAgICA8L2Nob2ljZT4KICA8L2RlZmlu ZT4KICA8ZGVmaW5lIG5hbWU9InJlc291cmNlUHJvcGVydHlFbHQiPgogICAgPGVsZW1lbnQ+CiAg ICAgIDxhbnlOYW1lPgogICAgICAgIDxleGNlcHQ+CiAgICAgICAgICA8bnNOYW1lIG5zPSIiLz4K ICAgICAgICAgIDxuYW1lPnJkZjpSREY8L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6SUQ8L25h bWU+CiAgICAgICAgICA8bmFtZT5yZGY6YWJvdXQ8L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6 cGFyc2VUeXBlPC9uYW1lPgogICAgICAgICAgPG5hbWU+cmRmOnJlc291cmNlPC9uYW1lPgogICAg ICAgICAgPG5hbWU+cmRmOm5vZGVJRDwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJkZjpkYXRhdHlw ZTwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJkZjpEZXNjcmlwdGlvbjwvbmFtZT4KICAgICAgICAg IDxuYW1lPnJkZjphYm91dEVhY2g8L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6YWJvdXRFYWNo UHJlZml4PC9uYW1lPgogICAgICAgICAgPG5hbWU+cmRmOmJhZ0lEPC9uYW1lPgogICAgICAgICAg PG5zTmFtZS8+CiAgICAgICAgPC9leGNlcHQ+CiAgICAgIDwvYW55TmFtZT4KICAgICAgPG9wdGlv bmFsPgogICAgICAgIDxyZWYgbmFtZT0iaWRBdHRyIi8+CiAgICAgIDwvb3B0aW9uYWw+CiAgICAg IDxvcHRpb25hbD4KICAgICAgICA8cmVmIG5hbWU9InhtbGxhbmciLz4KICAgICAgPC9vcHRpb25h bD4KICAgICAgPG9wdGlvbmFsPgogICAgICAgIDxyZWYgbmFtZT0ieG1sYmFzZSIvPgogICAgICA8 L29wdGlvbmFsPgogICAgICA8cmVmIG5hbWU9Im5vZGVFbGVtZW50Ii8+CiAgICA8L2VsZW1lbnQ+ CiAgPC9kZWZpbmU+CiAgPGRlZmluZSBuYW1lPSJsaXRlcmFsUHJvcGVydHlFbHQiPgogICAgPGVs ZW1lbnQ+CiAgICAgIDxhbnlOYW1lPgogICAgICAgIDxleGNlcHQ+CiAgICAgICAgICA8bnNOYW1l IG5zPSIiLz4KICAgICAgICAgIDxuYW1lPnJkZjpSREY8L25hbWU+CiAgICAgICAgICA8bmFtZT5y ZGY6SUQ8L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6YWJvdXQ8L25hbWU+CiAgICAgICAgICA8 bmFtZT5yZGY6cGFyc2VUeXBlPC9uYW1lPgogICAgICAgICAgPG5hbWU+cmRmOnJlc291cmNlPC9u YW1lPgogICAgICAgICAgPG5hbWU+cmRmOm5vZGVJRDwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJk ZjpkYXRhdHlwZTwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJkZjpEZXNjcmlwdGlvbjwvbmFtZT4K ICAgICAgICAgIDxuYW1lPnJkZjphYm91dEVhY2g8L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6 YWJvdXRFYWNoUHJlZml4PC9uYW1lPgogICAgICAgICAgPG5hbWU+cmRmOmJhZ0lEPC9uYW1lPgog ICAgICAgICAgPG5zTmFtZS8+CiAgICAgICAgPC9leGNlcHQ+CiAgICAgIDwvYW55TmFtZT4KICAg ICAgPG9wdGlvbmFsPgogICAgICAgIDxjaG9pY2U+CiAgICAgICAgICA8cmVmIG5hbWU9ImlkQXR0 ciIvPgogICAgICAgICAgPHJlZiBuYW1lPSJkYXRhdHlwZUF0dHIiLz4KICAgICAgICA8L2Nob2lj ZT4KICAgICAgPC9vcHRpb25hbD4KICAgICAgPG9wdGlvbmFsPgogICAgICAgIDxyZWYgbmFtZT0i eG1sbGFuZyIvPgogICAgICA8L29wdGlvbmFsPgogICAgICA8b3B0aW9uYWw+CiAgICAgICAgPHJl ZiBuYW1lPSJ4bWxiYXNlIi8+CiAgICAgIDwvb3B0aW9uYWw+CiAgICAgIDx0ZXh0Lz4KICAgIDwv ZWxlbWVudD4KICA8L2RlZmluZT4KICA8ZGVmaW5lIG5hbWU9InBhcnNlVHlwZUxpdGVyYWxQcm9w ZXJ0eUVsdCI+CiAgICA8ZWxlbWVudD4KICAgICAgPGFueU5hbWU+CiAgICAgICAgPGV4Y2VwdD4K ICAgICAgICAgIDxuc05hbWUgbnM9IiIvPgogICAgICAgICAgPG5hbWU+cmRmOlJERjwvbmFtZT4K ICAgICAgICAgIDxuYW1lPnJkZjpJRDwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJkZjphYm91dDwv bmFtZT4KICAgICAgICAgIDxuYW1lPnJkZjpwYXJzZVR5cGU8L25hbWU+CiAgICAgICAgICA8bmFt ZT5yZGY6cmVzb3VyY2U8L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6bm9kZUlEPC9uYW1lPgog ICAgICAgICAgPG5hbWU+cmRmOmRhdGF0eXBlPC9uYW1lPgogICAgICAgICAgPG5hbWU+cmRmOkRl c2NyaXB0aW9uPC9uYW1lPgogICAgICAgICAgPG5hbWU+cmRmOmFib3V0RWFjaDwvbmFtZT4KICAg ICAgICAgIDxuYW1lPnJkZjphYm91dEVhY2hQcmVmaXg8L25hbWU+CiAgICAgICAgICA8bmFtZT5y ZGY6YmFnSUQ8L25hbWU+CiAgICAgICAgICA8bnNOYW1lLz4KICAgICAgICA8L2V4Y2VwdD4KICAg ICAgPC9hbnlOYW1lPgogICAgICA8b3B0aW9uYWw+CiAgICAgICAgPHJlZiBuYW1lPSJpZEF0dHIi Lz4KICAgICAgPC9vcHRpb25hbD4KICAgICAgPHJlZiBuYW1lPSJwYXJzZUxpdGVyYWwiLz4KICAg ICAgPG9wdGlvbmFsPgogICAgICAgIDxyZWYgbmFtZT0ieG1sbGFuZyIvPgogICAgICA8L29wdGlv bmFsPgogICAgICA8b3B0aW9uYWw+CiAgICAgICAgPHJlZiBuYW1lPSJ4bWxiYXNlIi8+CiAgICAg IDwvb3B0aW9uYWw+CiAgICAgIDxyZWYgbmFtZT0ibGl0ZXJhbCIvPgogICAgPC9lbGVtZW50Pgog IDwvZGVmaW5lPgogIDxkZWZpbmUgbmFtZT0icGFyc2VUeXBlUmVzb3VyY2VQcm9wZXJ0eUVsdCI+ CiAgICA8ZWxlbWVudD4KICAgICAgPGFueU5hbWU+CiAgICAgICAgPGV4Y2VwdD4KICAgICAgICAg IDxuc05hbWUgbnM9IiIvPgogICAgICAgICAgPG5hbWU+cmRmOlJERjwvbmFtZT4KICAgICAgICAg IDxuYW1lPnJkZjpJRDwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJkZjphYm91dDwvbmFtZT4KICAg ICAgICAgIDxuYW1lPnJkZjpwYXJzZVR5cGU8L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6cmVz b3VyY2U8L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6bm9kZUlEPC9uYW1lPgogICAgICAgICAg PG5hbWU+cmRmOmRhdGF0eXBlPC9uYW1lPgogICAgICAgICAgPG5hbWU+cmRmOkRlc2NyaXB0aW9u PC9uYW1lPgogICAgICAgICAgPG5hbWU+cmRmOmFib3V0RWFjaDwvbmFtZT4KICAgICAgICAgIDxu YW1lPnJkZjphYm91dEVhY2hQcmVmaXg8L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6YmFnSUQ8 L25hbWU+CiAgICAgICAgICA8bnNOYW1lLz4KICAgICAgICA8L2V4Y2VwdD4KICAgICAgPC9hbnlO YW1lPgogICAgICA8b3B0aW9uYWw+CiAgICAgICAgPHJlZiBuYW1lPSJpZEF0dHIiLz4KICAgICAg PC9vcHRpb25hbD4KICAgICAgPHJlZiBuYW1lPSJwYXJzZVJlc291cmNlIi8+CiAgICAgIDxvcHRp b25hbD4KICAgICAgICA8cmVmIG5hbWU9InhtbGxhbmciLz4KICAgICAgPC9vcHRpb25hbD4KICAg ICAgPG9wdGlvbmFsPgogICAgICAgIDxyZWYgbmFtZT0ieG1sYmFzZSIvPgogICAgICA8L29wdGlv bmFsPgogICAgICA8cmVmIG5hbWU9InByb3BlcnR5RWx0TGlzdCIvPgogICAgPC9lbGVtZW50Pgog IDwvZGVmaW5lPgogIDxkZWZpbmUgbmFtZT0icGFyc2VUeXBlQ29sbGVjdGlvblByb3BlcnR5RWx0 Ij4KICAgIDxlbGVtZW50PgogICAgICA8YW55TmFtZT4KICAgICAgICA8ZXhjZXB0PgogICAgICAg ICAgPG5zTmFtZSBucz0iIi8+CiAgICAgICAgICA8bmFtZT5yZGY6UkRGPC9uYW1lPgogICAgICAg ICAgPG5hbWU+cmRmOklEPC9uYW1lPgogICAgICAgICAgPG5hbWU+cmRmOmFib3V0PC9uYW1lPgog ICAgICAgICAgPG5hbWU+cmRmOnBhcnNlVHlwZTwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJkZjpy ZXNvdXJjZTwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJkZjpub2RlSUQ8L25hbWU+CiAgICAgICAg ICA8bmFtZT5yZGY6ZGF0YXR5cGU8L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6RGVzY3JpcHRp b248L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6YWJvdXRFYWNoPC9uYW1lPgogICAgICAgICAg PG5hbWU+cmRmOmFib3V0RWFjaFByZWZpeDwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJkZjpiYWdJ RDwvbmFtZT4KICAgICAgICAgIDxuc05hbWUvPgogICAgICAgIDwvZXhjZXB0PgogICAgICA8L2Fu eU5hbWU+CiAgICAgIDxvcHRpb25hbD4KICAgICAgICA8cmVmIG5hbWU9ImlkQXR0ciIvPgogICAg ICA8L29wdGlvbmFsPgogICAgICA8b3B0aW9uYWw+CiAgICAgICAgPHJlZiBuYW1lPSJ4bWxsYW5n Ii8+CiAgICAgIDwvb3B0aW9uYWw+CiAgICAgIDxvcHRpb25hbD4KICAgICAgICA8cmVmIG5hbWU9 InhtbGJhc2UiLz4KICAgICAgPC9vcHRpb25hbD4KICAgICAgPHJlZiBuYW1lPSJwYXJzZUNvbGxl Y3Rpb24iLz4KICAgICAgPHJlZiBuYW1lPSJub2RlRWxlbWVudExpc3QiLz4KICAgIDwvZWxlbWVu dD4KICA8L2RlZmluZT4KICA8ZGVmaW5lIG5hbWU9InBhcnNlVHlwZU90aGVyUHJvcGVydHlFbHQi PgogICAgPGVsZW1lbnQ+CiAgICAgIDxhbnlOYW1lPgogICAgICAgIDxleGNlcHQ+CiAgICAgICAg ICA8bnNOYW1lIG5zPSIiLz4KICAgICAgICAgIDxuYW1lPnJkZjpSREY8L25hbWU+CiAgICAgICAg ICA8bmFtZT5yZGY6SUQ8L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6YWJvdXQ8L25hbWU+CiAg ICAgICAgICA8bmFtZT5yZGY6cGFyc2VUeXBlPC9uYW1lPgogICAgICAgICAgPG5hbWU+cmRmOnJl c291cmNlPC9uYW1lPgogICAgICAgICAgPG5hbWU+cmRmOm5vZGVJRDwvbmFtZT4KICAgICAgICAg IDxuYW1lPnJkZjpkYXRhdHlwZTwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJkZjpEZXNjcmlwdGlv bjwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJkZjphYm91dEVhY2g8L25hbWU+CiAgICAgICAgICA8 bmFtZT5yZGY6YWJvdXRFYWNoUHJlZml4PC9uYW1lPgogICAgICAgICAgPG5hbWU+cmRmOmJhZ0lE PC9uYW1lPgogICAgICAgICAgPG5zTmFtZS8+CiAgICAgICAgPC9leGNlcHQ+CiAgICAgIDwvYW55 TmFtZT4KICAgICAgPG9wdGlvbmFsPgogICAgICAgIDxyZWYgbmFtZT0iaWRBdHRyIi8+CiAgICAg IDwvb3B0aW9uYWw+CiAgICAgIDxvcHRpb25hbD4KICAgICAgICA8cmVmIG5hbWU9InhtbGxhbmci Lz4KICAgICAgPC9vcHRpb25hbD4KICAgICAgPG9wdGlvbmFsPgogICAgICAgIDxyZWYgbmFtZT0i eG1sYmFzZSIvPgogICAgICA8L29wdGlvbmFsPgogICAgICA8cmVmIG5hbWU9InBhcnNlT3RoZXIi Lz4KICAgICAgPHJlZiBuYW1lPSJhbnkiLz4KICAgIDwvZWxlbWVudD4KICA8L2RlZmluZT4KICA8 ZGVmaW5lIG5hbWU9ImVtcHR5UHJvcGVydHlFbHQiPgogICAgPGVsZW1lbnQ+CiAgICAgIDxhbnlO YW1lPgogICAgICAgIDxleGNlcHQ+CiAgICAgICAgICA8bnNOYW1lIG5zPSIiLz4KICAgICAgICAg IDxuYW1lPnJkZjpSREY8L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6SUQ8L25hbWU+CiAgICAg ICAgICA8bmFtZT5yZGY6YWJvdXQ8L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6cGFyc2VUeXBl PC9uYW1lPgogICAgICAgICAgPG5hbWU+cmRmOnJlc291cmNlPC9uYW1lPgogICAgICAgICAgPG5h bWU+cmRmOm5vZGVJRDwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJkZjpkYXRhdHlwZTwvbmFtZT4K ICAgICAgICAgIDxuYW1lPnJkZjpEZXNjcmlwdGlvbjwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJk ZjphYm91dEVhY2g8L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6YWJvdXRFYWNoUHJlZml4PC9u YW1lPgogICAgICAgICAgPG5hbWU+cmRmOmJhZ0lEPC9uYW1lPgogICAgICAgICAgPG5zTmFtZS8+ CiAgICAgICAgPC9leGNlcHQ+CiAgICAgIDwvYW55TmFtZT4KICAgICAgPG9wdGlvbmFsPgogICAg ICAgIDxyZWYgbmFtZT0iaWRBdHRyIi8+CiAgICAgIDwvb3B0aW9uYWw+CiAgICAgIDxvcHRpb25h bD4KICAgICAgICA8Y2hvaWNlPgogICAgICAgICAgPHJlZiBuYW1lPSJyZXNvdXJjZUF0dHIiLz4K ICAgICAgICAgIDxyZWYgbmFtZT0ibm9kZUlkQXR0ciIvPgogICAgICAgIDwvY2hvaWNlPgogICAg ICA8L29wdGlvbmFsPgogICAgICA8b3B0aW9uYWw+CiAgICAgICAgPHJlZiBuYW1lPSJ4bWxsYW5n Ii8+CiAgICAgIDwvb3B0aW9uYWw+CiAgICAgIDxvcHRpb25hbD4KICAgICAgICA8cmVmIG5hbWU9 InhtbGJhc2UiLz4KICAgICAgPC9vcHRpb25hbD4KICAgICAgPHplcm9Pck1vcmU+CiAgICAgICAg PHJlZiBuYW1lPSJwcm9wZXJ0eUF0dHIiLz4KICAgICAgPC96ZXJvT3JNb3JlPgogICAgPC9lbGVt ZW50PgogIDwvZGVmaW5lPgogIDxkZWZpbmUgbmFtZT0iaWRBdHRyIj4KICAgIDxhdHRyaWJ1dGUg bmFtZT0icmRmOklEIj4KICAgICAgPHJlZiBuYW1lPSJJRHN5bWJvbCIvPgogICAgPC9hdHRyaWJ1 dGU+CiAgPC9kZWZpbmU+CiAgPGRlZmluZSBuYW1lPSJub2RlSWRBdHRyIj4KICAgIDxhdHRyaWJ1 dGUgbmFtZT0icmRmOm5vZGVJRCI+CiAgICAgIDxyZWYgbmFtZT0iSURzeW1ib2wiLz4KICAgIDwv YXR0cmlidXRlPgogIDwvZGVmaW5lPgogIDxkZWZpbmUgbmFtZT0iYWJvdXRBdHRyIj4KICAgIDxh dHRyaWJ1dGUgbmFtZT0icmRmOmFib3V0Ij4KICAgICAgPHJlZiBuYW1lPSJVUkktcmVmZXJlbmNl Ii8+CiAgICA8L2F0dHJpYnV0ZT4KICA8L2RlZmluZT4KICA8ZGVmaW5lIG5hbWU9InByb3BlcnR5 QXR0ciI+CiAgICA8YXR0cmlidXRlPgogICAgICA8YW55TmFtZT4KICAgICAgICA8ZXhjZXB0Pgog ICAgICAgICAgPG5zTmFtZSBucz0iIi8+CiAgICAgICAgICA8bmFtZT5yZGY6UkRGPC9uYW1lPgog ICAgICAgICAgPG5hbWU+cmRmOklEPC9uYW1lPgogICAgICAgICAgPG5hbWU+cmRmOmFib3V0PC9u YW1lPgogICAgICAgICAgPG5hbWU+cmRmOnBhcnNlVHlwZTwvbmFtZT4KICAgICAgICAgIDxuYW1l PnJkZjpyZXNvdXJjZTwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJkZjpub2RlSUQ8L25hbWU+CiAg ICAgICAgICA8bmFtZT5yZGY6ZGF0YXR5cGU8L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6bGk8 L25hbWU+CiAgICAgICAgICA8bmFtZT5yZGY6RGVzY3JpcHRpb248L25hbWU+CiAgICAgICAgICA8 bmFtZT5yZGY6YWJvdXRFYWNoPC9uYW1lPgogICAgICAgICAgPG5hbWU+cmRmOmFib3V0RWFjaFBy ZWZpeDwvbmFtZT4KICAgICAgICAgIDxuYW1lPnJkZjpiYWdJRDwvbmFtZT4KICAgICAgICAgIDxu c05hbWUvPgogICAgICAgIDwvZXhjZXB0PgogICAgICA8L2FueU5hbWU+CiAgICAgIDxkYXRhIHR5 cGU9InN0cmluZyIgZGF0YXR5cGVMaWJyYXJ5PSIiLz4KICAgIDwvYXR0cmlidXRlPgogIDwvZGVm aW5lPgogIDxkZWZpbmUgbmFtZT0icmVzb3VyY2VBdHRyIj4KICAgIDxhdHRyaWJ1dGUgbmFtZT0i cmRmOnJlc291cmNlIj4KICAgICAgPHJlZiBuYW1lPSJVUkktcmVmZXJlbmNlIi8+CiAgICA8L2F0 dHJpYnV0ZT4KICA8L2RlZmluZT4KICA8ZGVmaW5lIG5hbWU9ImRhdGF0eXBlQXR0ciI+CiAgICA8 YXR0cmlidXRlIG5hbWU9InJkZjpkYXRhdHlwZSI+CiAgICAgIDxyZWYgbmFtZT0iVVJJLXJlZmVy ZW5jZSIvPgogICAgPC9hdHRyaWJ1dGU+CiAgPC9kZWZpbmU+CiAgPGRlZmluZSBuYW1lPSJwYXJz ZUxpdGVyYWwiPgogICAgPGF0dHJpYnV0ZSBuYW1lPSJyZGY6cGFyc2VUeXBlIj4KICAgICAgPHZh bHVlPkxpdGVyYWw8L3ZhbHVlPgogICAgPC9hdHRyaWJ1dGU+CiAgPC9kZWZpbmU+CiAgPGRlZmlu ZSBuYW1lPSJwYXJzZVJlc291cmNlIj4KICAgIDxhdHRyaWJ1dGUgbmFtZT0icmRmOnBhcnNlVHlw ZSI+CiAgICAgIDx2YWx1ZT5SZXNvdXJjZTwvdmFsdWU+CiAgICA8L2F0dHJpYnV0ZT4KICA8L2Rl ZmluZT4KICA8ZGVmaW5lIG5hbWU9InBhcnNlQ29sbGVjdGlvbiI+CiAgICA8YXR0cmlidXRlIG5h bWU9InJkZjpwYXJzZVR5cGUiPgogICAgICA8dmFsdWU+Q29sbGVjdGlvbjwvdmFsdWU+CiAgICA8 L2F0dHJpYnV0ZT4KICA8L2RlZmluZT4KICA8ZGVmaW5lIG5hbWU9InBhcnNlT3RoZXIiPgogICAg PGF0dHJpYnV0ZSBuYW1lPSJyZGY6cGFyc2VUeXBlIi8+CiAgPC9kZWZpbmU+CiAgPGRlZmluZSBu YW1lPSJVUkktcmVmZXJlbmNlIj4KICAgIDxkYXRhIHR5cGU9InN0cmluZyIgZGF0YXR5cGVMaWJy YXJ5PSIiLz4KICA8L2RlZmluZT4KICA8ZGVmaW5lIG5hbWU9ImxpdGVyYWwiPgogICAgPHJlZiBu YW1lPSJhbnkiLz4KICA8L2RlZmluZT4KICA8ZGVmaW5lIG5hbWU9IklEc3ltYm9sIj4KICAgIDxk YXRhIHR5cGU9Ik5NVE9LRU4iLz4KICA8L2RlZmluZT4KICA8ZGVmaW5lIG5hbWU9ImFueSI+CiAg ICA8bWl4ZWQ+CiAgICAgIDx6ZXJvT3JNb3JlPgogICAgICAgIDxlbGVtZW50PgogICAgICAgICAg PGFueU5hbWUvPgogICAgICAgICAgPHplcm9Pck1vcmU+CiAgICAgICAgICAgIDxhdHRyaWJ1dGU+ CiAgICAgICAgICAgICAgPGFueU5hbWUvPgogICAgICAgICAgICA8L2F0dHJpYnV0ZT4KICAgICAg ICAgIDwvemVyb09yTW9yZT4KICAgICAgICAgIDxyZWYgbmFtZT0iYW55Ii8+CiAgICAgICAgPC9l bGVtZW50PgogICAgICA8L3plcm9Pck1vcmU+CiAgICA8L21peGVkPgogIDwvZGVmaW5lPgo8L2dy YW1tYXI+Cg== --MP_/K=DxxEZ1mhwf7.1B8QAtPdD--