From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Braun =?UTF-8?Q?G=C3=A1bor?= Newsgroups: gmane.emacs.bugs Subject: bug#70122: 29.3.50; transpose-regions can crash Emacs Date: Mon, 01 Apr 2024 12:02:35 +0200 Message-ID: <2318820.ElGaqSPkdT@gabor> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="nextPart4879618.GXAFRqVoOG" Content-Transfer-Encoding: 7Bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15714"; mail-complaints-to="usenet@ciao.gmane.io" To: 70122@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Apr 01 12:04:16 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 1rrEWV-0003mH-2v for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 01 Apr 2024 12:04:15 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rrEWH-0007HR-EI; Mon, 01 Apr 2024 06:04:01 -0400 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 1rrEWF-0007H5-UC for bug-gnu-emacs@gnu.org; Mon, 01 Apr 2024 06:03:59 -0400 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 1rrEWF-0002pv-FH for bug-gnu-emacs@gnu.org; Mon, 01 Apr 2024 06:03:59 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rrEWI-0004bw-Eu for bug-gnu-emacs@gnu.org; Mon, 01 Apr 2024 06:04:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Braun =?UTF-8?Q?G=C3=A1bor?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 01 Apr 2024 10:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 70122 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.171196581117678 (code B ref -1); Mon, 01 Apr 2024 10:04:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 1 Apr 2024 10:03:31 +0000 Original-Received: from localhost ([127.0.0.1]:49597 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rrEVl-0004b2-OW for submit@debbugs.gnu.org; Mon, 01 Apr 2024 06:03:31 -0400 Original-Received: from lists.gnu.org ([2001:470:142::17]:45518) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rrEVh-0004al-So for submit@debbugs.gnu.org; Mon, 01 Apr 2024 06:03:27 -0400 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 1rrEVX-000771-Jb for bug-gnu-emacs@gnu.org; Mon, 01 Apr 2024 06:03:16 -0400 Original-Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rrEVS-0002o3-9w for bug-gnu-emacs@gnu.org; Mon, 01 Apr 2024 06:03:14 -0400 Original-Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-a4715d4c2cbso503324366b.1 for ; Mon, 01 Apr 2024 03:03:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711965788; x=1712570588; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=LVQ8zYiM5gyw4Zi0IATmg3sD1TLWzRA204wrKMKxExE=; b=UiUWkk8eMjP1qRIxITc/dwCfIaP0Ihs7MkxoMv53A++YML/5tovw5SyFexd0MrbYvF BImkEoumhcFUgYyXwGJC6jDOZFN+lXexvYLBnNo5sb0sWW08FJfgK4EsiFnbueTMrDBF 3s5pV7F52HgCF/n+h3SRTK8lfu477BlRpJ0WmRbaDHI518WEo0oG1IVPZFOYuOu5zjEJ oDeg1Awr6LNQHoMTaMEdg7UdOus3GxYyonEwVuRSlzsu+J/PqGJZXo/tMzzdCjboMrxx akDGReVmBihdA3DHE6hsNHXk4EQ6fQ4S3xF8mIZ5Nt5Uo+8sOPWAeeopRexDiUuGO2/B Xrcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711965788; x=1712570588; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=LVQ8zYiM5gyw4Zi0IATmg3sD1TLWzRA204wrKMKxExE=; b=BlSSVCHccWp1jLBD7z28a+iud+1C/g6ISHoDJ4xhfuBa60/0nKseV1Gr/0z8DBFxAf Ir0zalBA9KpoOSbodNhtiniWf1sfcT3scnfeU4R6mgW5CxX8yVaz9h9SU5iB26EGf3yK K06SqLAsz7WAJZ2H3hvCA+psIpGs6gGjOOh4yNLiAToXTOJMcSdiRRW+gA4osE6Nnzj3 3nGRcEtryjfi6FhPAhJx+TdOEG7m67S736nqmsbZA58t3oiVKBa2+yio7RFcP8YR7AIN oXEatLCUkO3eFyg1TFG6pZWwuSiUxOZ/kBRLt7SaK5TTWxETO8c4jDh1fkazp1kSSrZ/ cFjw== X-Gm-Message-State: AOJu0YzX9KmMoLypNp5u5xdaWiQO/ao+BBOq8UZPML3piLRVTwR92I9F TIbFvj9WOORt+Wue8hIJu9N2n7juhGVHIe+W5yieoK+pmir+OU05Z3IpTpfA X-Google-Smtp-Source: AGHT+IG4/hqpJ5Y7diVNpff3AjGxSd2YGXmzHk9MXkdgkhp8nHZxeetFyYyUYg0RA+K5pelxfUpp7w== X-Received: by 2002:a17:907:8686:b0:a4e:5b16:e2dc with SMTP id qa6-20020a170907868600b00a4e5b16e2dcmr2918800ejc.4.1711965788250; Mon, 01 Apr 2024 03:03:08 -0700 (PDT) Original-Received: from gabor.localnet ([2001:9e8:1577:be00:e9eb:aba6:d290:d015]) by smtp.gmail.com with ESMTPSA id bn25-20020a170906c0d900b00a4e23400982sm4994570ejb.95.2024.04.01.03.03.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 03:03:07 -0700 (PDT) Received-SPF: pass client-ip=2a00:1450:4864:20::62f; envelope-from=braungb88@gmail.com; helo=mail-ej1-x62f.google.com 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_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham 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:282464 Archived-At: This is a multi-part message in MIME format. --nextPart4879618.GXAFRqVoOG Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8" SGksCgpJIGhhdmUgdGhlIGZvbGxvd2luZyBmaWxlOgoKRmlsZSB+Ly5lbWFjcy5kL3RyYW5zLXJl Z2lvbnMtYnVnLmVsOgoKKHdpdGgtdGVtcC1idWZmZXIKICAoaW5zZXJ0IChwcm9wZXJ0aXplICJh IiAnZmFjZSAnZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpCiAgKGluc2VydCAiOlxuIikK ICAoaW5zZXJ0IChwcm9wZXJ0aXplICJiIiAnZmFjZSAnZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUt ZmFjZSkpCiAgKGluc2VydCAiOiBceDIxMTNceDIwODBcbiIpCiAgKGluc2VydCAocHJvcGVydGl6 ZSAidiIgJ2ZhY2UgJ2ZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKQogIChpbnNlcnQgIjog c2NhbGluZ1xuIikKICA7OyBNb3ZlIGxhc3QgbGluZSB0byB0aGUgYmVnaW5uaW5nCiAgKHRyYW5z cG9zZS1yZWdpb25zIDEgMSAxMCAyMSkpCgpFbmQgb2YgZmlsZSB+Ly5lbWFjcy5kL3RyYW5zLXJl Z2lvbnMtYnVnLmVsOgoKCkFmdGVyIGJ1aWxkaW5nIEVtYWNzIGFzIGRlc2NyaWJlZCBpbiB0aGUg SU5TVEFMTCBmaWxlLCB0aGUgZm9sbG93aW5nCmNvbW1hbmQgY3Jhc2hlcyBFbWFjczoKCiAgc3Jj L2VtYWNzIC1RIC0tYmF0Y2ggLWwgfi8uZW1hY3MuZC90cmFucy1yZWdpb25zLWJ1Zy5lbAoKVGhl IGZvbGxvd2luZyBhcHBlYXJzOgoKRmF0YWwgZXJyb3IgMTE6IFNlZ21lbnRhdGlvbiBmYXVsdAoK ClNlZSBiZWxvdyBmb3IgZGVidWdnaW5nIGluZm9ybWF0aW9uLgoKUGxlYXNlIGZpbmQgYXR0YWNo ZWQgYSBwYXRjaCB0byB0cmFuc3Bvc2UtcmVnaW9ucwp3aXRoIGFkZGVkIHRlc3RzLiAgKFRoZSBw YXRjaCBpbnRlbmRzIHRvIGZpeCB0eXBvczoKbWFrZXMgc3VyZSBsZW5ndGhzIGluIGJ5dGVzIGFu ZCBjaGFyYWN0ZXJzIGFyZSBub3QgY29uZnVzZWQuCk9uZSBjYXNlIChsaWtlbHkgZm9yIG9wdGlt aXphdGlvbiBvbmx5KSBoYXMgYmVlbiByZW1vdmVkLApzZWVtZWQgdG9vIG11Y2ggdHJvdWJsZSB0 byBnZXQgaXQgcmlnaHQuKQoKCmdkYiBzZXNzaW9uIHdpdGggbm9uLXNlc3Npb24gc3BlY2lmaWMg bWF0ZXJpYWwgKGhlbHAsIGNvcHlyaWdodC4uLikgcmVtb3ZlZDoKCkN1cnJlbnQgZGlyZWN0b3J5 IGlzIC9ob21lL2dhYm9yL3NyYy9idWlsZC9lbWFjcy0yOS4zL3NyYy8KR05VIGdkYiAoRGViaWFu IDEzLjEtMykgMTMuMQpSZWFkaW5nIHN5bWJvbHMgZnJvbSAvaG9tZS9nYWJvci9zcmMvYnVpbGQv ZW1hY3MtMjkuMy9zcmMvZW1hY3MuLi4KU0lHSU5UIGlzIHVzZWQgYnkgdGhlIGRlYnVnZ2VyLgpB cmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2hhbmdlIGl0PyAoeSBvciBuKSBbYW5zd2VyZWQgWTsg aW5wdXQgbm90IGZyb20gdGVybWluYWxdCkRJU1BMQVkgPSA6MApURVJNID0gZHVtYgpCcmVha3Bv aW50IDIgYXQgMHgxM2E0ODA6IGZpbGUgLi4vLi4vLi4vZW1hY3Mvc3JjL3h0ZXJtLmMsIGxpbmUg MjYxMzYuCi5nZGJpbml0OjE6IEVycm9yIGluIHNvdXJjZWQgY29tbWFuZCBmaWxlOgovaG9tZS9n YWJvci9zcmMvYnVpbGQvZW1hY3MtMjkuMy8uLi8uLi9lbWFjcy9zcmMvLmdkYmluaXQ6MTM3NTog RXJyb3IgaW4gc291cmNlZCBjb21tYW5kIGZpbGU6ClNjcmlwdGluZyBpbiB0aGUgIlB5dGhvbiIg bGFuZ3VhZ2UgaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGNvcHkgb2YgR0RCLgpEb3dubG9hZGlu ZyBzb3VyY2UgZmlsZSAvaG9tZS9nYWJvci9zcmMvYnVpbGQvZW1hY3MtMjkuMy9zcmMvPGJ1aWx0 LWluPi4uLgooZ2RiKSBydW4KU3RhcnRpbmcgcHJvZ3JhbTogL2hvbWUvZ2Fib3Ivc3JjL2J1aWxk L2VtYWNzLTI5LjMvc3JjL2VtYWNzIC1RIC0tYmF0Y2ggLWwgXH4vLmVtYWNzLmQvdHJhbnMtcmVn aW9ucy1idWcuZWwKRG93bmxvYWRpbmcgc2VwYXJhdGUgZGVidWcgaW5mbyBmb3IgL2xpYjY0L2xk LWxpbnV4LXg4Ni02NC5zby4yLi4uCkRvd25sb2FkaW5nIHNlcGFyYXRlIGRlYnVnIGluZm8gZm9y IHN5c3RlbS1zdXBwbGllZCBEU08gYXQgMHg3ZmZmZjdmYzkwMDAuLi4KRG93bmxvYWRpbmcgc2Vw YXJhdGUgZGVidWcgaW5mbyBmb3IgL2xpYi94ODZfNjQtbGludXgtZ251L2xpYmRidXMtMS5zby4z Li4uCkRvd25sb2FkaW5nIHNlcGFyYXRlIGRlYnVnIGluZm8gZm9yIC9saWIveDg2XzY0LWxpbnV4 LWdudS9saWJjLnNvLjYuLi4KW1RocmVhZCBkZWJ1Z2dpbmcgdXNpbmcgbGlidGhyZWFkX2RiIGVu YWJsZWRdClVzaW5nIGhvc3QgbGlidGhyZWFkX2RiIGxpYnJhcnkgIi9saWIveDg2XzY0LWxpbnV4 LWdudS9saWJ0aHJlYWRfZGIuc28uMSIuCkRvd25sb2FkaW5nIHNlcGFyYXRlIGRlYnVnIGluZm8g Zm9yIC91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvbGliZnJpYmlkaS5zby4wLi4uCgpQcm9ncmFt IHJlY2VpdmVkIHNpZ25hbCBTSUdTRUdWLCBTZWdtZW50YXRpb24gZmF1bHQuCjB4MDAwMDU1NTU1 NTdjNDdiMyBpbiBncmFmdF9pbnRlcnZhbHNfaW50b19idWZmZXIgKHNvdXJjZT1zb3VyY2VAZW50 cnk9MHg1NTU1NTVlMmI1NjgsIHBvc2l0aW9uPXBvc2l0aW9uQGVudHJ5PTEyLCBsZW5ndGg9bGVu Z3RoQGVudHJ5PTEzLCBidWZmZXI9MHg1NTU1NTVlZDExNzAsIGluaGVyaXQ9aW5oZXJpdEBlbnRy eT1mYWxzZSkgYXQgLi4vLi4vLi4vZW1hY3Mvc3JjL2ludGVydmFscy5jOjE2NjkKMTY2OQkgICAg ICBpZiAoTEVOR1RIIChvdmVyKSAtIG92ZXJfdXNlZCA8IExFTkdUSCAodW5kZXIpKQooZ2RiKSBi dCBmdWxsCiMwICAweDAwMDA1NTU1NTU3YzQ3YjMgaW4gZ3JhZnRfaW50ZXJ2YWxzX2ludG9fYnVm ZmVyIChzb3VyY2U9c291cmNlQGVudHJ5PTB4NTU1NTU1ZTJiNTY4LCBwb3NpdGlvbj1wb3NpdGlv bkBlbnRyeT0xMiwgbGVuZ3RoPWxlbmd0aEBlbnRyeT0xMywgYnVmZmVyPTB4NTU1NTU1ZWQxMTcw LCBpbmhlcml0PWluaGVyaXRAZW50cnk9ZmFsc2UpIGF0IC4uLy4uLy4uL2VtYWNzL3NyYy9pbnRl cnZhbHMuYzoxNjY5CiAgICAgICAgdHJlZSA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHVuZGVy ID0gMHgwCiAgICAgICAgb3ZlciA9IDB4NTU1NTU1ZTJiNWEwCiAgICAgICAgdGhpcyA9IDxvcHRp bWl6ZWQgb3V0PgogICAgICAgIG92ZXJfdXNlZCA9IDAKIzEgIDB4MDAwMDU1NTU1NTc1MTk0YiBp biBGdHJhbnNwb3NlX3JlZ2lvbnMgKHN0YXJ0cjE9PG9wdGltaXplZCBvdXQ+LCBlbmRyMT08b3B0 aW1pemVkIG91dD4sIHN0YXJ0cjI9PG9wdGltaXplZCBvdXQ+LCBlbmRyMj08b3B0aW1pemVkIG91 dD4sIGxlYXZlX21hcmtlcnM9MHgwKSBhdCAuLi8uLi8uLi9lbWFjcy9zcmMvZWRpdGZucy5jOjQ3 NTEKICAgICAgICBzYV9hdmFpbCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHNhX2NvdW50ID0g PG9wdGltaXplZCBvdXQ+CiAgICAgICAgc3RhcnQxID0gMQogICAgICAgIGVuZDEgPSAxCiAgICAg ICAgc3RhcnQyID0gMTAKICAgICAgICBlbmQyID0gMjEKICAgICAgICBzdGFydDFfYnl0ZSA9IDxv cHRpbWl6ZWQgb3V0PgogICAgICAgIHN0YXJ0Ml9ieXRlID0gMTQKICAgICAgICBsZW4xX2J5dGUg PSAwCiAgICAgICAgbGVuMl9ieXRlID0gMTEKICAgICAgICBlbmQyX2J5dGUgPSAyNQogICAgICAg IGdhcCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIGxlbjEgPSAwCiAgICAgICAgbGVuX21pZCA9 IDEzCiAgICAgICAgbGVuMiA9IDExCiAgICAgICAgc3RhcnQxX2FkZHIgPSA8b3B0aW1pemVkIG91 dD4KICAgICAgICBzdGFydDJfYWRkciA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHRlbXAgPSAw eDdmZmZmZmZmZDgzMCAidjogc2NhbGluZ1xuVVVVIgogICAgICAgIGN1cl9pbnR2ID0gPG9wdGlt aXplZCBvdXQ+CiAgICAgICAgdG1wX2ludGVydmFsMSA9IDB4MAogICAgICAgIHRtcF9pbnRlcnZh bF9taWQgPSAweDU1NTU1NWUyYjU2OAogICAgICAgIHRtcF9pbnRlcnZhbDIgPSAweDU1NTU1NWUy YjY0OAogICAgICAgIHRtcF9pbnRlcnZhbDMgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBidWYg PSA8b3B0aW1pemVkIG91dD4KIzIgIDB4MDAwMDU1NTU1NTc2MDE0NyBpbiBldmFsX3N1YiAoZm9y bT08b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uLy4uL2VtYWNzL3NyYy9ldmFsLmM6MjUxNgogICAg ICAgIGkgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBtYXhhcmdzID0gNQogICAgICAgIGFyZ3Nf bGVmdCA9IDB4MAogICAgICAgIG51bWFyZ3MgPSA0CiAgICAgICAgb3JpZ2luYWxfZnVuID0gPG9w dGltaXplZCBvdXQ+CiAgICAgICAgb3JpZ2luYWxfYXJncyA9IDB4NTU1NTU1ZWI0OGYzCiAgICAg ICAgY291bnQgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBmdW4gPSA8b3B0aW1pemVkIG91dD4K ICAgICAgICB2YWwgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBmdW5jYXIgPSA8b3B0aW1pemVk IG91dD4KICAgICAgICBhcmd2YWxzID0gezB4NiwgMHg2LCAweDJhLCAweDU2LCAweDAsIDB4MTAw MDAwMDAxMCwgMHgxMDAwMDAwMDAzLCAweGUwMDAwMDAxMH0KICAgICAgICByZXRyeSA9IDxvcHRp bWl6ZWQgb3V0PgojMyAgMHgwMDAwNTU1NTU1NzYwNDNkIGluIEZwcm9nbiAoYm9keT0weDApIGF0 IC4uLy4uLy4uL2VtYWNzL3NyYy9ldmFsLmM6NDM2CiAgICAgICAgZm9ybSA9IDxvcHRpbWl6ZWQg b3V0PgogICAgICAgIHZhbCA9IDB4MAojNCAgMHgwMDAwNTU1NTU1NzVmZWY3IGluIGV2YWxfc3Vi IChmb3JtPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vLi4vZW1hY3Mvc3JjL2V2YWwuYzoyNDUz CiAgICAgICAgYXJnc19sZWZ0ID0gMHg1NTU1NTVlYjQ5YjMKICAgICAgICBudW1hcmdzID0gNwog ICAgICAgIG9yaWdpbmFsX2Z1biA9IDB4ZDY1MAogICAgICAgIG9yaWdpbmFsX2FyZ3MgPSAweDU1 NTU1NWViNDliMwogICAgICAgIGNvdW50ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgZnVuID0g PG9wdGltaXplZCBvdXQ+CiAgICAgICAgdmFsID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgZnVu Y2FyID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgYXJndmFscyA9IHsweDU1NTU1NWVhZTQ0MCwg MHg3ZmZmZjFhN2U3MDgsIDB4N2ZmZmYxYTdlNzA4LCAweDU1NTU1NWQ3ZTc4MCA8bGlzcHN5bT4s IDB4MSwgMHg1NTU1NTU3NDg3MzkgPGZpbmRfc3ltYm9sX3ZhbHVlKzE4NT4sIDB4MmFhYTliZGMy YjUwLCAweDU1NTU1NTc0ODc3OSA8RnN5bWJvbF92YWx1ZSs5Pn0KICAgICAgICByZXRyeSA9IDxv cHRpbWl6ZWQgb3V0PgojNSAgMHgwMDAwNTU1NTU1NzYyMTY3IGluIEZ1bndpbmRfcHJvdGVjdCAo YXJncz0weDU1NTU1NWViNGE3MykgYXQgLi4vLi4vLi4vZW1hY3Mvc3JjL2xpc3AuaDoxNTIzCiAg ICAgICAgdmFsID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgY291bnQgPSA8b3B0aW1pemVkIG91 dD4KIzYgIDB4MDAwMDU1NTU1NTc1ZmVmNyBpbiBldmFsX3N1YiAoZm9ybT08b3B0aW1pemVkIG91 dD4pIGF0IC4uLy4uLy4uL2VtYWNzL3NyYy9ldmFsLmM6MjQ1MwogICAgICAgIGFyZ3NfbGVmdCA9 IDB4NTU1NTU1ZWI0YTczCiAgICAgICAgbnVtYXJncyA9IDIKICAgICAgICBvcmlnaW5hbF9mdW4g PSAweDJhYWE5YmQyNTY4MAogICAgICAgIG9yaWdpbmFsX2FyZ3MgPSAweDU1NTU1NWViNGE3Mwog ICAgICAgIGNvdW50ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgZnVuID0gPG9wdGltaXplZCBv dXQ+CiAgICAgICAgdmFsID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgZnVuY2FyID0gPG9wdGlt aXplZCBvdXQ+CiAgICAgICAgYXJndmFscyA9IHsweDU1NTU1NWVkMTE3NSwgMHgwLCAweDdmZmZm ZmZmZGJjMCwgMHgzMCwgMHgyLCAweDdmZmZmZmZmZGI1MCwgMHg0NjAsIDB4NTU1NTU1NzYxNjRj IDxhcHBseV9sYW1iZGErMjA0Pn0KICAgICAgICByZXRyeSA9IDxvcHRpbWl6ZWQgb3V0PgojNyAg MHgwMDAwNTU1NTU1NzYwNDNkIGluIEZwcm9nbiAoYm9keT0weDAsIGJvZHlAZW50cnk9MHg1NTU1 NTVlYjRiZDMpIGF0IC4uLy4uLy4uL2VtYWNzL3NyYy9ldmFsLmM6NDM2CiAgICAgICAgZm9ybSA9 IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHZhbCA9IDB4NTU1NTU1ZWQxMTc1CiM4ICAweDAwMDA1 NTU1NTU3NGNhZTcgaW4gRnNhdmVfY3VycmVudF9idWZmZXIgKGFyZ3M9MHg1NTU1NTVlYjRiZDMp IGF0IC4uLy4uLy4uL2VtYWNzL3NyYy9lZGl0Zm5zLmM6ODc1CiAgICAgICAgY291bnQgPSA8b3B0 aW1pemVkIG91dD4KIzkgIDB4MDAwMDU1NTU1NTc1ZmVmNyBpbiBldmFsX3N1YiAoZm9ybT08b3B0 aW1pemVkIG91dD4pIGF0IC4uLy4uLy4uL2VtYWNzL3NyYy9ldmFsLmM6MjQ1MwogICAgICAgIGFy Z3NfbGVmdCA9IDB4NTU1NTU1ZWI0YmQzCiAgICAgICAgbnVtYXJncyA9IDIKICAgICAgICBvcmln aW5hbF9mdW4gPSAweDJhYWE5YmQyNTVjMAogICAgICAgIG9yaWdpbmFsX2FyZ3MgPSAweDU1NTU1 NWViNGJkMwogICAgICAgIGNvdW50ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgZnVuID0gPG9w dGltaXplZCBvdXQ+CiAgICAgICAgdmFsID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgZnVuY2Fy ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgYXJndmFscyA9IHsweDdmZmZmMWE3ZTcwZCwgMHg1 NTU1NTU3NWMxZjIgPHVuYmluZF90bys1OTQ+LCAweDU1NTU1NWViNDAwMCwgMHg1NTU1NTU3NmEz YTQgPEZuY29uYysyNDQ+LCAweGIsIDB4ZDUwMCwgMHgwLCAweDdmZmZmMWE3ZTcwZH0KICAgICAg ICByZXRyeSA9IDxvcHRpbWl6ZWQgb3V0PgojMTAgMHgwMDAwNTU1NTU1NzYxYmU1IGluIEZwcm9n biAoYm9keT0weDApIGF0IC4uLy4uLy4uL2VtYWNzL3NyYy9ldmFsLmM6NDM2CiAgICAgICAgZm9y bSA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHZhbCA9IDB4MAogICAgICAgIHZhbCA9IDxvcHRp bWl6ZWQgb3V0PgogICAgICAgIGZvcm0gPSA8b3B0aW1pemVkIG91dD4KIzExIEZsZXQgKGFyZ3M9 MHg1NTU1NTVlYjQwYTMpIGF0IC4uLy4uLy4uL2VtYWNzL3NyYy9ldmFsLmM6MTAyNgogICAgICAg IHRlbXBzID0gMHg3ZmZmZmZmZmRjODAKICAgICAgICB0ZW0gPSA8b3B0aW1pemVkIG91dD4KICAg ICAgICBsZXhlbnYgPSAweDAKICAgICAgICBlbHQgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBj b3VudCA9IHsKICAgICAgICAgIGJ5dGVzID0gMTEyMAogICAgICAgIH0KICAgICAgICBhcmdudW0g PSA8b3B0aW1pemVkIG91dD4KICAgICAgICBzYV9hdmFpbCA9IDxvcHRpbWl6ZWQgb3V0PgogICAg ICAgIHNhX2NvdW50ID0gewogICAgICAgICAgYnl0ZXMgPSAxMTIwCiAgICAgICAgfQogICAgICAg IHZhcmxpc3QgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICB2YXJsaXN0X2xlbiA9IDxvcHRpbWl6 ZWQgb3V0PgogICAgICAgIG52YXJzID0gPG9wdGltaXplZCBvdXQ+CiMxMiAweDAwMDA1NTU1NTU3 NWZlZjcgaW4gZXZhbF9zdWIgKGZvcm09PG9wdGltaXplZCBvdXQ+KSBhdCAuLi8uLi8uLi9lbWFj cy9zcmMvZXZhbC5jOjI0NTMKICAgICAgICBhcmdzX2xlZnQgPSAweDU1NTU1NWViNDBhMwogICAg ICAgIG51bWFyZ3MgPSAyCiAgICAgICAgb3JpZ2luYWxfZnVuID0gMHhhNTYwCiAgICAgICAgb3Jp Z2luYWxfYXJncyA9IDB4NTU1NTU1ZWI0MGEzCiAgICAgICAgY291bnQgPSA8b3B0aW1pemVkIG91 dD4KICAgICAgICBmdW4gPSA8b3B0aW1pemVkIG91dD4KICAgICAgICB2YWwgPSA8b3B0aW1pemVk IG91dD4KICAgICAgICBmdW5jYXIgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBhcmd2YWxzID0g ezB4MCwgMHg1NTU1NTU3ODY5NTQgPHJlYWRldmFsbG9vcF9lYWdlcl9leHBhbmRfZXZhbCszNDA+ LCAweDI5LCAweDEsIDB4MmFhYTljMGQ3NjkwLCAweDU1NTU1NWViNGFlMywgMHgzMCwgMHg3ZmZm ZmZmZmRlMDB9CiAgICAgICAgcmV0cnkgPSA8b3B0aW1pemVkIG91dD4KIzEzIDB4MDAwMDU1NTU1 NTc4ZTg2OSBpbiByZWFkZXZhbGxvb3AgKHJlYWRjaGFyZnVuPXJlYWRjaGFyZnVuQGVudHJ5PTB4 NTU1NTU1ZWM2ZjhkLCBpbmZpbGUwPWluZmlsZTBAZW50cnk9MHgwLCBzb3VyY2VuYW1lPXNvdXJj ZW5hbWVAZW50cnk9MHg1NTU1NTVlY2ZkMTQsIHByaW50ZmxhZz1wcmludGZsYWdAZW50cnk9ZmFs c2UsIHVuaWJ5dGU9dW5pYnl0ZUBlbnRyeT0weDAsIHJlYWRmdW49cmVhZGZ1bkBlbnRyeT0weDAs IHN0YXJ0PTB4MCwgZW5kPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vLi4vZW1hY3Mvc3JjL2xy ZWFkLmM6MjM0OAogICAgICAgIGNvdW50MSA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIGMgPSA8 b3B0aW1pemVkIG91dD4KICAgICAgICB2YWwgPSAweDU1NTU1NWViNGUxMwogICAgICAgIGNvdW50 ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgYiA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIGNv bnRpbnVlX3JlYWRpbmdfcCA9IHRydWUKICAgICAgICBsZXhfYm91bmQgPSA8b3B0aW1pemVkIG91 dD4KICAgICAgICB3aG9sZV9idWZmZXIgPSB0cnVlCiAgICAgICAgZmlyc3Rfc2V4cCA9IDxvcHRp bWl6ZWQgb3V0PgogICAgICAgIG1hY3JvZXhwYW5kID0gMHgyYWFhOWMwZDc2OTAKIzE0IDB4MDAw MDU1NTU1NTc4Zjk2NyBpbiBGZXZhbF9idWZmZXIgKGJ1ZmZlcj08b3B0aW1pemVkIG91dD4sIHBy aW50ZmxhZz0weDAsIGZpbGVuYW1lPTB4NTU1NTU1ZWNmZDE0LCB1bmlieXRlPTB4MCwgZG9fYWxs b3dfcHJpbnQ9PG9wdGltaXplZCBvdXQ+KSBhdCAuLi8uLi8uLi9lbWFjcy9zcmMvbHJlYWQuYzoy NDIxCiAgICAgICAgY291bnQgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICB0ZW0gPSA8b3B0aW1p emVkIG91dD4KICAgICAgICBidWYgPSAweDU1NTU1NWVjNmY4ZAojMTUgMHgwMDAwNTU1NTU1N2E0 ZTkyIGluIGV4ZWNfYnl0ZV9jb2RlIChmdW49PG9wdGltaXplZCBvdXQ+LCBhcmdzX3RlbXBsYXRl PTxvcHRpbWl6ZWQgb3V0PiwgbmFyZ3M9PG9wdGltaXplZCBvdXQ+LCBhcmdzPTxvcHRpbWl6ZWQg b3V0PikgYXQgLi4vLi4vLi4vZW1hY3Mvc3JjL2J5dGVjb2RlLmM6ODA5CiAgICAgICAgY2FsbF9u YXJncyA9IDUKICAgICAgICBjYWxsX2Z1biA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIGNvdW50 MSA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHRlbXBsYXRlID0gPG9wdGltaXplZCBvdXQ+CiAg ICAgICAgdmFsID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgY2FsbF9hcmdzID0gMHg3ZmZmZjEx ZmYyOTAKICAgICAgICBvcmlnaW5hbF9mdW4gPSAweDJhYWE5YmZlOWQ0MAogICAgICAgIGJ5dGVj b2RlID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgb3AgPSA1CiAgICAgICAgdHlwZSA9IDxvcHRp bWl6ZWQgb3V0PgogICAgICAgIHRhcmdldHMgPSB7MHg1NTU1NTU1YTRlNmEgPGV4ZWNfYnl0ZV9j b2RlLTIwOTYyMTQ+LCAweDU1NTU1NTdhNTI3ZCA8ZXhlY19ieXRlX2NvZGUrMTk4MT4sIDB4NTU1 NTU1N2E1Mjc4IDxleGVjX2J5dGVfY29kZSsxOTc2PiwgMHg1NTU1NTU3YTUyNzMgPGV4ZWNfYnl0 ZV9jb2RlKzE5NzE+LCAweDU1NTU1NTdhNGM4ZSA8ZXhlY19ieXRlX2NvZGUrNDYyPiwgMHg1NTU1 NTU3YTRjOGUgPGV4ZWNfYnl0ZV9jb2RlKzQ2Mj4sIDB4NTU1NTU1N2E1MjNmIDxleGVjX2J5dGVf Y29kZSsxOTE5PiwgMHg1NTU1NTU3YTUyMGIgPGV4ZWNfYnl0ZV9jb2RlKzE4Njc+LCAweDU1NTU1 NTdhNTllMSA8ZXhlY19ieXRlX2NvZGUrMzg3Mz4sIDB4NTU1NTU1N2E1OWRjIDxleGVjX2J5dGVf Y29kZSszODY4PiwgMHg1NTU1NTU3YTU5ZDcgPGV4ZWNfYnl0ZV9jb2RlKzM4NjM+LCAweDU1NTU1 NTdhNTlkMiA8ZXhlY19ieXRlX2NvZGUrMzg1OD4sIDB4NTU1NTU1N2E0Y2JkIDxleGVjX2J5dGVf Y29kZSs1MDk+LCAweDU1NTU1NTdhNGNjMCA8ZXhlY19ieXRlX2NvZGUrNTEyPiwgMHg1NTU1NTU3 YTU5YzQgPGV4ZWNfYnl0ZV9jb2RlKzM4NDQ+LCAweDU1NTU1NTdhNTllNiA8ZXhlY19ieXRlX2Nv ZGUrMzg3OD4sIDB4NTU1NTU1N2E1YTcxIDxleGVjX2J5dGVfY29kZSs0MDE3PiwgMHg1NTU1NTU3 YTVhNmMgPGV4ZWNfYnl0ZV9jb2RlKzQwMTI+LCAweDU1NTU1NTdhNWE2NyA8ZXhlY19ieXRlX2Nv ZGUrNDAwNz4sIDB4NTU1NTU1N2E1YTYyIDxleGVjX2J5dGVfY29kZSs0MDAyPiwgMHg1NTU1NTU3 YTRjMWEgPGV4ZWNfYnl0ZV9jb2RlKzM0Nj4sIDB4NTU1NTU1N2E0YzIwIDxleGVjX2J5dGVfY29k ZSszNTI+LCAweDU1NTU1NTdhNWE0NiA8ZXhlY19ieXRlX2NvZGUrMzk3ND4sIDB4NTU1NTU1N2E1 YTU0IDxleGVjX2J5dGVfY29kZSszOTg4PiwgMHg1NTU1NTU3YTU5ZjkgPGV4ZWNfYnl0ZV9jb2Rl KzM4OTc+LCAweDU1NTU1NTdhNTlmNCA8ZXhlY19ieXRlX2NvZGUrMzg5Mj4sIDB4NTU1NTU1N2E1 ZmI1IDxleGVjX2J5dGVfY29kZSs1MzY1PiwgMHg1NTU1NTU3YTVmYjAgPGV4ZWNfYnl0ZV9jb2Rl KzUzNjA+LCAweDU1NTU1NTdhNGYxYSA8ZXhlY19ieXRlX2NvZGUrMTExND4sIDB4NTU1NTU1N2E0 ZjIwIDxleGVjX2J5dGVfY29kZSsxMTIwPiwgMHg1NTU1NTU3YTVhMGMgPGV4ZWNfYnl0ZV9jb2Rl KzM5MTY+LCAweDU1NTU1NTdhNTlmZSA8ZXhlY19ieXRlX2NvZGUrMzkwMj4sIDB4NTU1NTU1N2E1 ZjhmIDxleGVjX2J5dGVfY29kZSs1MzI3PiwgMHg1NTU1NTU3YTVmOGEgPGV4ZWNfYnl0ZV9jb2Rl KzUzMjI+LCAweDU1NTU1NTdhNWY4NSA8ZXhlY19ieXRlX2NvZGUrNTMxNz4sIDB4NTU1NTU1N2E1 ZjgwIDxleGVjX2J5dGVfY29kZSs1MzEyPiwgMHg1NTU1NTU3YTRkMmIgPGV4ZWNfYnl0ZV9jb2Rl KzYxOT4sIDB4NTU1NTU1N2E0ZDMwIDxleGVjX2J5dGVfY29kZSs2MjQ+LCAweDU1NTU1NTdhNWZh MiA8ZXhlY19ieXRlX2NvZGUrNTM0Nj4sIDB4NTU1NTU1N2E1Zjk0IDxleGVjX2J5dGVfY29kZSs1 MzMyPiwgMHg1NTU1NTU3YTVmNWYgPGV4ZWNfYnl0ZV9jb2RlKzUyNzk+LCAweDU1NTU1NTdhNWY1 YSA8ZXhlY19ieXRlX2NvZGUrNTI3ND4sIDB4NTU1NTU1N2E1ZjU1IDxleGVjX2J5dGVfY29kZSs1 MjY5PiwgMHg1NTU1NTU3YTVmNTAgPGV4ZWNfYnl0ZV9jb2RlKzUyNjQ+LCAweDU1NTU1NTdhNGY2 MyA8ZXhlY19ieXRlX2NvZGUrMTE4Nz4sIDB4NTU1NTU1N2E0ZjY4IDxleGVjX2J5dGVfY29kZSsx MTkyPiwgMHg1NTU1NTU3YTVmNzIgPGV4ZWNfYnl0ZV9jb2RlKzUyOTg+LCAweDU1NTU1NTdhNWY2 NCA8ZXhlY19ieXRlX2NvZGUrNTI4ND4sIDB4NTU1NTU1N2E1YmM5IDxleGVjX2J5dGVfY29kZSs0 MzYxPiwgMHg1NTU1NTU3YTViZjYgPGV4ZWNfYnl0ZV9jb2RlKzQ0MDY+LCAweDU1NTU1NTdhNWM2 MCA8ZXhlY19ieXRlX2NvZGUrNDUxMj4sIDB4NTU1NTU1NWE0ZTZhIDxleGVjX2J5dGVfY29kZS0y MDk2MjE0PiwgMHg1NTU1NTU1YTRlNmEgPGV4ZWNfYnl0ZV9jb2RlLTIwOTYyMTQ+LCAweDU1NTU1 NTVhNGU2YSA8ZXhlY19ieXRlX2NvZGUtMjA5NjIxND4sIDB4NTU1NTU1NWE0ZTZhIDxleGVjX2J5 dGVfY29kZS0yMDk2MjE0PiwgMHg1NTU1NTU1YTRlNmEgPGV4ZWNfYnl0ZV9jb2RlLTIwOTYyMTQ+ LCAweDU1NTU1NTdhNmRkZiA8ZXhlY19ieXRlX2NvZGUrODk5MT4sIDB4NTU1NTU1N2E2ZDczIDxl eGVjX2J5dGVfY29kZSs4ODgzPiwgMHg1NTU1NTU3YTZkMzcgPGV4ZWNfYnl0ZV9jb2RlKzg4MjM+ LCAweDU1NTU1NTdhNmNmYiA8ZXhlY19ieXRlX2NvZGUrODc2Mz4sIDB4NTU1NTU1N2E2Y2JkIDxl eGVjX2J5dGVfY29kZSs4NzAxPiwgMHg1NTU1NTU3YTVhZTMgPGV4ZWNfYnl0ZV9jb2RlKzQxMzE+ LCAweDU1NTU1NTdhNWFhYSA8ZXhlY19ieXRlX2NvZGUrNDA3ND4sIDB4NTU1NTU1N2E2YzkyIDxl eGVjX2J5dGVfY29kZSs4NjU4PiwgMHg1NTU1NTU3YTViOTUgPGV4ZWNfYnl0ZV9jb2RlKzQzMDk+ LCAweDU1NTU1NTdhNWE3NiA8ZXhlY19ieXRlX2NvZGUrNDAyMj4sIDB4NTU1NTU1N2E2YzU5IDxl eGVjX2J5dGVfY29kZSs4NjAxPiwgMHg1NTU1NTU3YTZjMzAgPGV4ZWNfYnl0ZV9jb2RlKzg1NjA+ LCAweDU1NTU1NTdhNmJmNyA8ZXhlY19ieXRlX2NvZGUrODUwMz4sIDB4NTU1NTU1N2E2YmMxIDxl eGVjX2J5dGVfY29kZSs4NDQ5PiwgMHg1NTU1NTU3YTZiODcgPGV4ZWNfYnl0ZV9jb2RlKzgzOTE+ LCAweDU1NTU1NTdhNmIyMiA8ZXhlY19ieXRlX2NvZGUrODI5MD4sIDB4NTU1NTU1N2E2YWI0IDxl eGVjX2J5dGVfY29kZSs4MTgwPiwgMHg1NTU1NTU3YTZhM2YgPGV4ZWNfYnl0ZV9jb2RlKzgwNjM+ LCAweDU1NTU1NTdhNmExNiA8ZXhlY19ieXRlX2NvZGUrODAyMj4sIDB4NTU1NTU1N2E2OWVkIDxl eGVjX2J5dGVfY29kZSs3OTgxPiwgMHg1NTU1NTU3YTY5YjQgPGV4ZWNfYnl0ZV9jb2RlKzc5MjQ+ LCAweDU1NTU1NTdhNjk3YiA8ZXhlY19ieXRlX2NvZGUrNzg2Nz4sIDB4NTU1NTU1N2E2OTQyIDxl eGVjX2J5dGVfY29kZSs3ODEwPiwgMHg1NTU1NTU3YTY5MDUgPGV4ZWNfYnl0ZV9jb2RlKzc3NDk+ LCAweDU1NTU1NTdhNjhkMiA8ZXhlY19ieXRlX2NvZGUrNzY5OD4sIDB4NTU1NTU1N2E2ODlmIDxl eGVjX2J5dGVfY29kZSs3NjQ3PiwgMHg1NTU1NTU3YTY4NmMgPGV4ZWNfYnl0ZV9jb2RlKzc1OTY+ LCAweDU1NTU1NTdhNjdkYiA8ZXhlY19ieXRlX2NvZGUrNzQ1MT4sIDB4NTU1NTU1N2E2Nzg2IDxl eGVjX2J5dGVfY29kZSs3MzY2PiwgMHg1NTU1NTU3YTY3M2MgPGV4ZWNfYnl0ZV9jb2RlKzcyOTI+ LCAweDU1NTU1NTdhNjZlZiA8ZXhlY19ieXRlX2NvZGUrNzIxNT4sIDB4NTU1NTU1N2E2NmEyIDxl eGVjX2J5dGVfY29kZSs3MTM4PiwgMHg1NTU1NTU3YTY2NTUgPGV4ZWNfYnl0ZV9jb2RlKzcwNjE+ LCAweDU1NTU1NTdhNjYwOCA8ZXhlY19ieXRlX2NvZGUrNjk4ND4sIDB4NTU1NTU1N2E2NWI3IDxl eGVjX2J5dGVfY29kZSs2OTAzPiwgMHg1NTU1NTU3YTY1NjEgPGV4ZWNfYnl0ZV9jb2RlKzY4MTc+ LCAweDU1NTU1NTdhNjUxMCA8ZXhlY19ieXRlX2NvZGUrNjczNj4sIDB4NTU1NTU1N2E2NGJmIDxl eGVjX2J5dGVfY29kZSs2NjU1PiwgMHg1NTU1NTU3YTY0NmUgPGV4ZWNfYnl0ZV9jb2RlKzY1NzQ+ LCAweDU1NTU1NTdhNjQxYyA8ZXhlY19ieXRlX2NvZGUrNjQ5Mj4sIDB4NTU1NTU1N2E2MzQwIDxl eGVjX2J5dGVfY29kZSs2MjcyPiwgMHg1NTU1NTU3YTRmYTkgPGV4ZWNfYnl0ZV9jb2RlKzEyNTc+ LCAweDU1NTU1NTdhNjMxNyA8ZXhlY19ieXRlX2NvZGUrNjIzMT4sIDB4NTU1NTU1N2E2MmU5IDxl eGVjX2J5dGVfY29kZSs2MTg1PiwgMHg1NTU1NTU3YTYyNmEgPGV4ZWNfYnl0ZV9jb2RlKzYwNTg+ LCAweDU1NTU1NTdhNjIyNyA8ZXhlY19ieXRlX2NvZGUrNTk5MT4sIDB4NTU1NTU1N2E2MWZlIDxl eGVjX2J5dGVfY29kZSs1OTUwPiwgMHg1NTU1NTU3YTYxZDMgPGV4ZWNfYnl0ZV9jb2RlKzU5MDc+ LCAweDU1NTU1NTdhNjFhOCA8ZXhlY19ieXRlX2NvZGUrNTg2ND4sIDB4NTU1NTU1N2E2MTc1IDxl eGVjX2J5dGVfY29kZSs1ODEzPiwgMHg1NTU1NTU3YTYxNGEgPGV4ZWNfYnl0ZV9jb2RlKzU3NzA+ LCAweDU1NTU1NTVhNGU2YSA8ZXhlY19ieXRlX2NvZGUtMjA5NjIxND4sIDB4NTU1NTU1N2E2MTFm IDxleGVjX2J5dGVfY29kZSs1NzI3PiwgMHg1NTU1NTU3YTYwZjQgPGV4ZWNfYnl0ZV9jb2RlKzU2 ODQ+LCAweDU1NTU1NTdhNjBjOSA8ZXhlY19ieXRlX2NvZGUrNTY0MT4sIDB4NTU1NTU1N2E2MDll IDxleGVjX2J5dGVfY29kZSs1NTk4PiwgMHg1NTU1NTU3YTYwNzMgPGV4ZWNfYnl0ZV9jb2RlKzU1 NTU+LCAweDU1NTU1NTdhNjA0YSA8ZXhlY19ieXRlX2NvZGUrNTUxND4sIDB4NTU1NTU1N2E0ZmE5 IDxleGVjX2J5dGVfY29kZSsxMjU3PiwgMHg1NTU1NTU1YTRlNmEgPGV4ZWNfYnl0ZV9jb2RlLTIw OTYyMTQ+LCAweDU1NTU1NTdhNjAwYyA8ZXhlY19ieXRlX2NvZGUrNTQ1Mj4sIDB4NTU1NTU1N2E1 ZmUzIDxleGVjX2J5dGVfY29kZSs1NDExPiwgMHg1NTU1NTU3YTVmYmEgPGV4ZWNfYnl0ZV9jb2Rl KzUzNzA+LCAweDU1NTU1NTdhNThjYiA8ZXhlY19ieXRlX2NvZGUrMzU5NT4sIDB4NTU1NTU1N2E1 ODkyIDxleGVjX2J5dGVfY29kZSszNTM4PiwgMHg1NTU1NTU3YTU4NjkgPGV4ZWNfYnl0ZV9jb2Rl KzM0OTc+LCAweDU1NTU1NTdhNTg0MCA8ZXhlY19ieXRlX2NvZGUrMzQ1Nj4sIDB4NTU1NTU1N2E1 ODA3IDxleGVjX2J5dGVfY29kZSszMzk5PiwgMHg1NTU1NTU3YTU3Y2UgPGV4ZWNfYnl0ZV9jb2Rl KzMzNDI+LCAweDU1NTU1NTdhNTc5NSA8ZXhlY19ieXRlX2NvZGUrMzI4NT4sIDB4NTU1NTU1N2E1 NzZhIDxleGVjX2J5dGVfY29kZSszMjQyPiwgMHg1NTU1NTU3YTU3NDEgPGV4ZWNfYnl0ZV9jb2Rl KzMyMDE+LCAweDU1NTU1NTVhNGU2YSA8ZXhlY19ieXRlX2NvZGUtMjA5NjIxND4sIDB4NTU1NTU1 N2E1ZDUwIDxleGVjX2J5dGVfY29kZSs0NzUyPiwgMHg1NTU1NTU3YTVlZTEgPGV4ZWNfYnl0ZV9j b2RlKzUxNTM+LCAweDU1NTU1NTdhNTk4YSA8ZXhlY19ieXRlX2NvZGUrMzc4Nj4sIDB4NTU1NTU1 N2E1ZWE3IDxleGVjX2J5dGVfY29kZSs1MDk1PiwgMHg1NTU1NTU3YTVlNzAgPGV4ZWNfYnl0ZV9j b2RlKzUwNDA+LCAweDU1NTU1NTdhNWUzOSA8ZXhlY19ieXRlX2NvZGUrNDk4NT4sIDB4NTU1NTU1 N2E1ZGEyIDxleGVjX2J5dGVfY29kZSs0ODM0PiwgMHg1NTU1NTU3YTVkODQgPGV4ZWNfYnl0ZV9j b2RlKzQ4MDQ+LCAweDU1NTU1NTdhNWExYSA8ZXhlY19ieXRlX2NvZGUrMzkzMD4sIDB4NTU1NTU1 N2E1ZDMyIDxleGVjX2J5dGVfY29kZSs0NzIyPiwgMHg1NTU1NTU3YTVjZDYgPGV4ZWNfYnl0ZV9j b2RlKzQ2MzA+LCAweDU1NTU1NTdhNWNhOCA8ZXhlY19ieXRlX2NvZGUrNDU4ND4sIDB4NTU1NTU1 N2E1YzY4IDxleGVjX2J5dGVfY29kZSs0NTIwPiwgMHg1NTU1NTU3YTZlZmIgPGV4ZWNfYnl0ZV9j b2RlKzkyNzU+LCAweDU1NTU1NTdhNmViZSA8ZXhlY19ieXRlX2NvZGUrOTIxND4sIDB4NTU1NTU1 N2E2ZTdiIDxleGVjX2J5dGVfY29kZSs5MTQ3PiwgMHg1NTU1NTU3YTZlMjUgPGV4ZWNfYnl0ZV9j b2RlKzkwNjE+LCAweDU1NTU1NTVhNGU2YSA8ZXhlY19ieXRlX2NvZGUtMjA5NjIxND4sIDB4NTU1 NTU1N2E1NzA0IDxleGVjX2J5dGVfY29kZSszMTQwPiwgMHg1NTU1NTU3YTU2ZGIgPGV4ZWNfYnl0 ZV9jb2RlKzMwOTk+LCAweDU1NTU1NTdhNTZiMiA8ZXhlY19ieXRlX2NvZGUrMzA1OD4sIDB4NTU1 NTU1N2E1Njg5IDxleGVjX2J5dGVfY29kZSszMDE3PiwgMHg1NTU1NTU3YTU2NjAgPGV4ZWNfYnl0 ZV9jb2RlKzI5NzY+LCAweDU1NTU1NTdhNTYyNyA8ZXhlY19ieXRlX2NvZGUrMjkxOT4sIDB4NTU1 NTU1N2E1NWVlIDxleGVjX2J5dGVfY29kZSsyODYyPiwgMHg1NTU1NTU3YTU1YjUgPGV4ZWNfYnl0 ZV9jb2RlKzI4MDU+LCAweDU1NTU1NTdhNTU3YyA8ZXhlY19ieXRlX2NvZGUrMjc0OD4sIDB4NTU1 NTU1N2E1NTJmIDxleGVjX2J5dGVfY29kZSsyNjcxPiwgMHg1NTU1NTU3YTU0ZjYgPGV4ZWNfYnl0 ZV9jb2RlKzI2MTQ+LCAweDU1NTU1NTdhNTRiZCA8ZXhlY19ieXRlX2NvZGUrMjU1Nz4sIDB4NTU1 NTU1N2E1NDk3IDxleGVjX2J5dGVfY29kZSsyNTE5PiwgMHg1NTU1NTU3YTU0M2MgPGV4ZWNfYnl0 ZV9jb2RlKzI0Mjg+LCAweDU1NTU1NTdhNTNlMSA8ZXhlY19ieXRlX2NvZGUrMjMzNz4sIDB4NTU1 NTU1N2E1M2FlIDxleGVjX2J5dGVfY29kZSsyMjg2PiwgMHg1NTU1NTU3YTUzN2IgPGV4ZWNfYnl0 ZV9jb2RlKzIyMzU+LCAweDU1NTU1NTdhNTM0YiA8ZXhlY19ieXRlX2NvZGUrMjE4Nz4sIDB4NTU1 NTU1N2E2M2NiIDxleGVjX2J5dGVfY29kZSs2NDExPiwgMHg1NTU1NTU3YTYzODMgPGV4ZWNfYnl0 ZV9jb2RlKzYzMzk+LCAweDU1NTU1NTdhNTJlNSA8ZXhlY19ieXRlX2NvZGUrMjA4NT4sIDB4NTU1 NTU1N2E1MjgyIDxleGVjX2J5dGVfY29kZSsxOTg2PiwgMHg1NTU1NTU1YTRlNmEgPGV4ZWNfYnl0 ZV9jb2RlLTIwOTYyMTQ+LCAweDU1NTU1NTVhNGU2YSA8ZXhlY19ieXRlX2NvZGUtMjA5NjIxND4s IDB4NTU1NTU1NWE0ZTZhIDxleGVjX2J5dGVfY29kZS0yMDk2MjE0PiwgMHg1NTU1NTU1YTRlNmEg PGV4ZWNfYnl0ZV9jb2RlLTIwOTYyMTQ+LCAweDU1NTU1NTVhNGU2YSA8ZXhlY19ieXRlX2NvZGUt MjA5NjIxND4sIDB4NTU1NTU1NWE0ZTZhIDxleGVjX2J5dGVfY29kZS0yMDk2MjE0PiwgMHg1NTU1 NTU3YTZiNGIgPGV4ZWNfYnl0ZV9jb2RlKzgzMzE+LCAweDU1NTU1NTdhNjgzMCA8ZXhlY19ieXRl X2NvZGUrNzUzNj4sIDB4NTU1NTU1N2E2MmFkIDxleGVjX2J5dGVfY29kZSs2MTI1PiwgMHg1NTU1 NTU3YTUxY2YgPGV4ZWNfYnl0ZV9jb2RlKzE4MDc+LCAweDU1NTU1NTdhNTE5MyA8ZXhlY19ieXRl X2NvZGUrMTc0Nz4sIDB4NTU1NTU1NWE0ZTZhIDxleGVjX2J5dGVfY29kZS0yMDk2MjE0PiwgMHg1 NTU1NTU1YTRlNmEgPGV4ZWNfYnl0ZV9jb2RlLTIwOTYyMTQ+LCAweDU1NTU1NTdhNTE2NCA8ZXhl Y19ieXRlX2NvZGUrMTcwMD4sIDB4NTU1NTU1N2E1OTM0IDxleGVjX2J5dGVfY29kZSszNzAwPiwg MHg1NTU1NTU1YTRlNmEgPGV4ZWNfYnl0ZV9jb2RlLTIwOTYyMTQ+LCAweDU1NTU1NTVhNGU2YSA8 ZXhlY19ieXRlX2NvZGUtMjA5NjIxND4sIDB4NTU1NTU1NWE0ZTZhIDxleGVjX2J5dGVfY29kZS0y MDk2MjE0PiwgMHg1NTU1NTU1YTRlNmEgPGV4ZWNfYnl0ZV9jb2RlLTIwOTYyMTQ+LCAweDU1NTU1 NTVhNGU2YSA8ZXhlY19ieXRlX2NvZGUtMjA5NjIxND4sIDB4NTU1NTU1NWE0ZTZhIDxleGVjX2J5 dGVfY29kZS0yMDk2MjE0PiwgMHg1NTU1NTU1YTRlNmEgPGV4ZWNfYnl0ZV9jb2RlLTIwOTYyMTQ+ LCAweDU1NTU1NTVhNGU2YSA8ZXhlY19ieXRlX2NvZGUtMjA5NjIxND4sIDB4NTU1NTU1N2E1OTA0 IDxleGVjX2J5dGVfY29kZSszNjUyPiA8cmVwZWF0cyA2NCB0aW1lcz59CiAgICAgICAgcXVpdGNv dW50ZXIgPSAxICdcMDAxJwogICAgICAgIGJjID0gMHg1NTU1NTVjZjNlNzAgPG1haW5fdGhyZWFk KzQ5Nj4KICAgICAgICB0b3AgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBwYyA9IDxvcHRpbWl6 ZWQgb3V0PgogICAgICAgIGJ5dGVzdHIgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICB2ZWN0b3Ig PSA8b3B0aW1pemVkIG91dD4KICAgICAgICBtYXhkZXB0aCA9IDxvcHRpbWl6ZWQgb3V0PgogICAg ICAgIGNvbnN0X2xlbmd0aCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIGJ5dGVzdHJfbGVuZ3Ro ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgdmVjdG9ycCA9IDB4N2ZmZmYxZDY4NWM4CiAgICAg ICAgbWF4X3N0YWNrID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgZnJhbWVfYmFzZSA9IDxvcHRp bWl6ZWQgb3V0PgogICAgICAgIGZwID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgYnl0ZXN0cl9k YXRhID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgcmVzdCA9IDxvcHRpbWl6ZWQgb3V0PgogICAg ICAgIG1hbmRhdG9yeSA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIG5vbnJlc3QgPSA8b3B0aW1p emVkIG91dD4KICAgICAgICBwdXNoZWRhcmdzID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgcmVz dWx0ID0gPG9wdGltaXplZCBvdXQ+CiMxNiAweDAwMDA1NTU1NTU3NWM2MjYgaW4gRmZ1bmNhbGwg KG5hcmdzPW5hcmdzQGVudHJ5PTUsIGFyZ3M9YXJnc0BlbnRyeT0weDdmZmZmZmZmZTA0MCkgYXQg Li4vLi4vLi4vZW1hY3Mvc3JjL2V2YWwuYzoyOTk5CiAgICAgICAgY291bnQgPSA8b3B0aW1pemVk IG91dD4KICAgICAgICB2YWwgPSA8b3B0aW1pemVkIG91dD4KIzE3IDB4MDAwMDU1NTU1NTc4ZjVl ZCBpbiBjYWxsNCAoYXJnND0weDMwLCBhcmczPTxvcHRpbWl6ZWQgb3V0PiwgYXJnMj0weDU1NTU1 NWVjZmQxNCwgYXJnMT08b3B0aW1pemVkIG91dD4sIGZuPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4v Li4vLi4vZW1hY3Mvc3JjL2xpc3AuaDozMjcwCk5vIGxvY2Fscy4KIzE4IEZsb2FkIChmaWxlPTB4 NTU1NTU1ZWNmYTM0LCBub2Vycm9yPTxvcHRpbWl6ZWQgb3V0Piwgbm9tZXNzYWdlPTxvcHRpbWl6 ZWQgb3V0Piwgbm9zdWZmaXg9PG9wdGltaXplZCBvdXQ+LCBtdXN0X3N1ZmZpeD08b3B0aW1pemVk IG91dD4pIGF0IC4uLy4uLy4uL2VtYWNzL3NyYy9scmVhZC5jOjE0ODQKICAgICAgICB2YWwgPSA8 b3B0aW1pemVkIG91dD4KICAgICAgICBzdHJlYW0gPSAweDAKICAgICAgICBmZCA9IDQKICAgICAg ICBmZF9pbmRleCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIGNvdW50ID0gPG9wdGltaXplZCBv dXQ+CiAgICAgICAgZm91bmQgPSAweDU1NTU1NWVjZmQxNAogICAgICAgIGVmb3VuZCA9IDxvcHRp bWl6ZWQgb3V0PgogICAgICAgIGhpc3RfZmlsZV9uYW1lID0gMHg1NTU1NTVlY2ZkMTQKICAgICAg ICBuZXdlciA9IGZhbHNlCiAgICAgICAgY29tcGlsZWQgPSBmYWxzZQogICAgICAgIGhhbmRsZXIg PSA8b3B0aW1pemVkIG91dD4KICAgICAgICBmbW9kZSA9IDB4NTU1NTU1ODM0YTliICJyIgogICAg ICAgIHZlcnNpb24gPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBub19uYXRpdmUgPSA8b3B0aW1p emVkIG91dD4KICAgICAgICBpc19tb2R1bGUgPSBmYWxzZQogICAgICAgIGlzX25hdGl2ZV9lbGlz cCA9IGZhbHNlCiAgICAgICAgZm91bmRfZWZmID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgaXNf ZWxjID0gZmFsc2UKICAgICAgICBpbnB1dCA9IHsKICAgICAgICAgIHN0cmVhbSA9IDB4NTU1NTU1 ZWNmYTM0LAogICAgICAgICAgbG9va2FoZWFkID0gOTYgJ2AnLAogICAgICAgICAgYnVmID0gIlww MDFcMDAwXDAwMCIKICAgICAgICB9CiMxOSAweDAwMDA1NTU1NTU3YTRlOTIgaW4gZXhlY19ieXRl X2NvZGUgKGZ1bj08b3B0aW1pemVkIG91dD4sIGFyZ3NfdGVtcGxhdGU9PG9wdGltaXplZCBvdXQ+ LCBuYXJncz08b3B0aW1pemVkIG91dD4sIGFyZ3M9PG9wdGltaXplZCBvdXQ+KSBhdCAuLi8uLi8u Li9lbWFjcy9zcmMvYnl0ZWNvZGUuYzo4MDkKICAgICAgICBjYWxsX25hcmdzID0gMwogICAgICAg IGNhbGxfZnVuID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgY291bnQxID0gPG9wdGltaXplZCBv dXQ+CiAgICAgICAgdGVtcGxhdGUgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICB2YWwgPSA8b3B0 aW1pemVkIG91dD4KICAgICAgICBjYWxsX2FyZ3MgPSAweDdmZmZmMTFmZjFiMAogICAgICAgIG9y aWdpbmFsX2Z1biA9IDB4YTliMAogICAgICAgIGJ5dGVjb2RlID0gPG9wdGltaXplZCBvdXQ+CiAg ICAgICAgb3AgPSAzCiAgICAgICAgdHlwZSA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHRhcmdl dHMgPSB7MHg1NTU1NTU1YTRlNmEgPGV4ZWNfYnl0ZV9jb2RlLTIwOTYyMTQ+LCAweDU1NTU1NTdh NTI3ZCA8ZXhlY19ieXRlX2NvZGUrMTk4MT4sIDB4NTU1NTU1N2E1Mjc4IDxleGVjX2J5dGVfY29k ZSsxOTc2PiwgMHg1NTU1NTU3YTUyNzMgPGV4ZWNfYnl0ZV9jb2RlKzE5NzE+LCAweDU1NTU1NTdh NGM4ZSA8ZXhlY19ieXRlX2NvZGUrNDYyPiwgMHg1NTU1NTU3YTRjOGUgPGV4ZWNfYnl0ZV9jb2Rl KzQ2Mj4sIDB4NTU1NTU1N2E1MjNmIDxleGVjX2J5dGVfY29kZSsxOTE5PiwgMHg1NTU1NTU3YTUy MGIgPGV4ZWNfYnl0ZV9jb2RlKzE4Njc+LCAweDU1NTU1NTdhNTllMSA8ZXhlY19ieXRlX2NvZGUr Mzg3Mz4sIDB4NTU1NTU1N2E1OWRjIDxleGVjX2J5dGVfY29kZSszODY4PiwgMHg1NTU1NTU3YTU5 ZDcgPGV4ZWNfYnl0ZV9jb2RlKzM4NjM+LCAweDU1NTU1NTdhNTlkMiA8ZXhlY19ieXRlX2NvZGUr Mzg1OD4sIDB4NTU1NTU1N2E0Y2JkIDxleGVjX2J5dGVfY29kZSs1MDk+LCAweDU1NTU1NTdhNGNj MCA8ZXhlY19ieXRlX2NvZGUrNTEyPiwgMHg1NTU1NTU3YTU5YzQgPGV4ZWNfYnl0ZV9jb2RlKzM4 NDQ+LCAweDU1NTU1NTdhNTllNiA8ZXhlY19ieXRlX2NvZGUrMzg3OD4sIDB4NTU1NTU1N2E1YTcx IDxleGVjX2J5dGVfY29kZSs0MDE3PiwgMHg1NTU1NTU3YTVhNmMgPGV4ZWNfYnl0ZV9jb2RlKzQw MTI+LCAweDU1NTU1NTdhNWE2NyA8ZXhlY19ieXRlX2NvZGUrNDAwNz4sIDB4NTU1NTU1N2E1YTYy IDxleGVjX2J5dGVfY29kZSs0MDAyPiwgMHg1NTU1NTU3YTRjMWEgPGV4ZWNfYnl0ZV9jb2RlKzM0 Nj4sIDB4NTU1NTU1N2E0YzIwIDxleGVjX2J5dGVfY29kZSszNTI+LCAweDU1NTU1NTdhNWE0NiA8 ZXhlY19ieXRlX2NvZGUrMzk3ND4sIDB4NTU1NTU1N2E1YTU0IDxleGVjX2J5dGVfY29kZSszOTg4 PiwgMHg1NTU1NTU3YTU5ZjkgPGV4ZWNfYnl0ZV9jb2RlKzM4OTc+LCAweDU1NTU1NTdhNTlmNCA8 ZXhlY19ieXRlX2NvZGUrMzg5Mj4sIDB4NTU1NTU1N2E1ZmI1IDxleGVjX2J5dGVfY29kZSs1MzY1 PiwgMHg1NTU1NTU3YTVmYjAgPGV4ZWNfYnl0ZV9jb2RlKzUzNjA+LCAweDU1NTU1NTdhNGYxYSA8 ZXhlY19ieXRlX2NvZGUrMTExND4sIDB4NTU1NTU1N2E0ZjIwIDxleGVjX2J5dGVfY29kZSsxMTIw PiwgMHg1NTU1NTU3YTVhMGMgPGV4ZWNfYnl0ZV9jb2RlKzM5MTY+LCAweDU1NTU1NTdhNTlmZSA8 ZXhlY19ieXRlX2NvZGUrMzkwMj4sIDB4NTU1NTU1N2E1ZjhmIDxleGVjX2J5dGVfY29kZSs1MzI3 PiwgMHg1NTU1NTU3YTVmOGEgPGV4ZWNfYnl0ZV9jb2RlKzUzMjI+LCAweDU1NTU1NTdhNWY4NSA8 ZXhlY19ieXRlX2NvZGUrNTMxNz4sIDB4NTU1NTU1N2E1ZjgwIDxleGVjX2J5dGVfY29kZSs1MzEy PiwgMHg1NTU1NTU3YTRkMmIgPGV4ZWNfYnl0ZV9jb2RlKzYxOT4sIDB4NTU1NTU1N2E0ZDMwIDxl eGVjX2J5dGVfY29kZSs2MjQ+LCAweDU1NTU1NTdhNWZhMiA8ZXhlY19ieXRlX2NvZGUrNTM0Nj4s IDB4NTU1NTU1N2E1Zjk0IDxleGVjX2J5dGVfY29kZSs1MzMyPiwgMHg1NTU1NTU3YTVmNWYgPGV4 ZWNfYnl0ZV9jb2RlKzUyNzk+LCAweDU1NTU1NTdhNWY1YSA8ZXhlY19ieXRlX2NvZGUrNTI3ND4s IDB4NTU1NTU1N2E1ZjU1IDxleGVjX2J5dGVfY29kZSs1MjY5PiwgMHg1NTU1NTU3YTVmNTAgPGV4 ZWNfYnl0ZV9jb2RlKzUyNjQ+LCAweDU1NTU1NTdhNGY2MyA8ZXhlY19ieXRlX2NvZGUrMTE4Nz4s IDB4NTU1NTU1N2E0ZjY4IDxleGVjX2J5dGVfY29kZSsxMTkyPiwgMHg1NTU1NTU3YTVmNzIgPGV4 ZWNfYnl0ZV9jb2RlKzUyOTg+LCAweDU1NTU1NTdhNWY2NCA8ZXhlY19ieXRlX2NvZGUrNTI4ND4s IDB4NTU1NTU1N2E1YmM5IDxleGVjX2J5dGVfY29kZSs0MzYxPiwgMHg1NTU1NTU3YTViZjYgPGV4 ZWNfYnl0ZV9jb2RlKzQ0MDY+LCAweDU1NTU1NTdhNWM2MCA8ZXhlY19ieXRlX2NvZGUrNDUxMj4s IDB4NTU1NTU1NWE0ZTZhIDxleGVjX2J5dGVfY29kZS0yMDk2MjE0PiwgMHg1NTU1NTU1YTRlNmEg PGV4ZWNfYnl0ZV9jb2RlLTIwOTYyMTQ+LCAweDU1NTU1NTVhNGU2YSA8ZXhlY19ieXRlX2NvZGUt MjA5NjIxND4sIDB4NTU1NTU1NWE0ZTZhIDxleGVjX2J5dGVfY29kZS0yMDk2MjE0PiwgMHg1NTU1 NTU1YTRlNmEgPGV4ZWNfYnl0ZV9jb2RlLTIwOTYyMTQ+LCAweDU1NTU1NTdhNmRkZiA8ZXhlY19i eXRlX2NvZGUrODk5MT4sIDB4NTU1NTU1N2E2ZDczIDxleGVjX2J5dGVfY29kZSs4ODgzPiwgMHg1 NTU1NTU3YTZkMzcgPGV4ZWNfYnl0ZV9jb2RlKzg4MjM+LCAweDU1NTU1NTdhNmNmYiA8ZXhlY19i eXRlX2NvZGUrODc2Mz4sIDB4NTU1NTU1N2E2Y2JkIDxleGVjX2J5dGVfY29kZSs4NzAxPiwgMHg1 NTU1NTU3YTVhZTMgPGV4ZWNfYnl0ZV9jb2RlKzQxMzE+LCAweDU1NTU1NTdhNWFhYSA8ZXhlY19i eXRlX2NvZGUrNDA3ND4sIDB4NTU1NTU1N2E2YzkyIDxleGVjX2J5dGVfY29kZSs4NjU4PiwgMHg1 NTU1NTU3YTViOTUgPGV4ZWNfYnl0ZV9jb2RlKzQzMDk+LCAweDU1NTU1NTdhNWE3NiA8ZXhlY19i eXRlX2NvZGUrNDAyMj4sIDB4NTU1NTU1N2E2YzU5IDxleGVjX2J5dGVfY29kZSs4NjAxPiwgMHg1 NTU1NTU3YTZjMzAgPGV4ZWNfYnl0ZV9jb2RlKzg1NjA+LCAweDU1NTU1NTdhNmJmNyA8ZXhlY19i eXRlX2NvZGUrODUwMz4sIDB4NTU1NTU1N2E2YmMxIDxleGVjX2J5dGVfY29kZSs4NDQ5PiwgMHg1 NTU1NTU3YTZiODcgPGV4ZWNfYnl0ZV9jb2RlKzgzOTE+LCAweDU1NTU1NTdhNmIyMiA8ZXhlY19i eXRlX2NvZGUrODI5MD4sIDB4NTU1NTU1N2E2YWI0IDxleGVjX2J5dGVfY29kZSs4MTgwPiwgMHg1 NTU1NTU3YTZhM2YgPGV4ZWNfYnl0ZV9jb2RlKzgwNjM+LCAweDU1NTU1NTdhNmExNiA8ZXhlY19i eXRlX2NvZGUrODAyMj4sIDB4NTU1NTU1N2E2OWVkIDxleGVjX2J5dGVfY29kZSs3OTgxPiwgMHg1 NTU1NTU3YTY5YjQgPGV4ZWNfYnl0ZV9jb2RlKzc5MjQ+LCAweDU1NTU1NTdhNjk3YiA8ZXhlY19i eXRlX2NvZGUrNzg2Nz4sIDB4NTU1NTU1N2E2OTQyIDxleGVjX2J5dGVfY29kZSs3ODEwPiwgMHg1 NTU1NTU3YTY5MDUgPGV4ZWNfYnl0ZV9jb2RlKzc3NDk+LCAweDU1NTU1NTdhNjhkMiA8ZXhlY19i eXRlX2NvZGUrNzY5OD4sIDB4NTU1NTU1N2E2ODlmIDxleGVjX2J5dGVfY29kZSs3NjQ3PiwgMHg1 NTU1NTU3YTY4NmMgPGV4ZWNfYnl0ZV9jb2RlKzc1OTY+LCAweDU1NTU1NTdhNjdkYiA8ZXhlY19i eXRlX2NvZGUrNzQ1MT4sIDB4NTU1NTU1N2E2Nzg2IDxleGVjX2J5dGVfY29kZSs3MzY2PiwgMHg1 NTU1NTU3YTY3M2MgPGV4ZWNfYnl0ZV9jb2RlKzcyOTI+LCAweDU1NTU1NTdhNjZlZiA8ZXhlY19i eXRlX2NvZGUrNzIxNT4sIDB4NTU1NTU1N2E2NmEyIDxleGVjX2J5dGVfY29kZSs3MTM4PiwgMHg1 NTU1NTU3YTY2NTUgPGV4ZWNfYnl0ZV9jb2RlKzcwNjE+LCAweDU1NTU1NTdhNjYwOCA8ZXhlY19i eXRlX2NvZGUrNjk4ND4sIDB4NTU1NTU1N2E2NWI3IDxleGVjX2J5dGVfY29kZSs2OTAzPiwgMHg1 NTU1NTU3YTY1NjEgPGV4ZWNfYnl0ZV9jb2RlKzY4MTc+LCAweDU1NTU1NTdhNjUxMCA8ZXhlY19i eXRlX2NvZGUrNjczNj4sIDB4NTU1NTU1N2E2NGJmIDxleGVjX2J5dGVfY29kZSs2NjU1PiwgMHg1 NTU1NTU3YTY0NmUgPGV4ZWNfYnl0ZV9jb2RlKzY1NzQ+LCAweDU1NTU1NTdhNjQxYyA8ZXhlY19i eXRlX2NvZGUrNjQ5Mj4sIDB4NTU1NTU1N2E2MzQwIDxleGVjX2J5dGVfY29kZSs2MjcyPiwgMHg1 NTU1NTU3YTRmYTkgPGV4ZWNfYnl0ZV9jb2RlKzEyNTc+LCAweDU1NTU1NTdhNjMxNyA8ZXhlY19i eXRlX2NvZGUrNjIzMT4sIDB4NTU1NTU1N2E2MmU5IDxleGVjX2J5dGVfY29kZSs2MTg1PiwgMHg1 NTU1NTU3YTYyNmEgPGV4ZWNfYnl0ZV9jb2RlKzYwNTg+LCAweDU1NTU1NTdhNjIyNyA8ZXhlY19i eXRlX2NvZGUrNTk5MT4sIDB4NTU1NTU1N2E2MWZlIDxleGVjX2J5dGVfY29kZSs1OTUwPiwgMHg1 NTU1NTU3YTYxZDMgPGV4ZWNfYnl0ZV9jb2RlKzU5MDc+LCAweDU1NTU1NTdhNjFhOCA8ZXhlY19i eXRlX2NvZGUrNTg2ND4sIDB4NTU1NTU1N2E2MTc1IDxleGVjX2J5dGVfY29kZSs1ODEzPiwgMHg1 NTU1NTU3YTYxNGEgPGV4ZWNfYnl0ZV9jb2RlKzU3NzA+LCAweDU1NTU1NTVhNGU2YSA8ZXhlY19i eXRlX2NvZGUtMjA5NjIxND4sIDB4NTU1NTU1N2E2MTFmIDxleGVjX2J5dGVfY29kZSs1NzI3Piwg MHg1NTU1NTU3YTYwZjQgPGV4ZWNfYnl0ZV9jb2RlKzU2ODQ+LCAweDU1NTU1NTdhNjBjOSA8ZXhl Y19ieXRlX2NvZGUrNTY0MT4sIDB4NTU1NTU1N2E2MDllIDxleGVjX2J5dGVfY29kZSs1NTk4Piwg MHg1NTU1NTU3YTYwNzMgPGV4ZWNfYnl0ZV9jb2RlKzU1NTU+LCAweDU1NTU1NTdhNjA0YSA8ZXhl Y19ieXRlX2NvZGUrNTUxND4sIDB4NTU1NTU1N2E0ZmE5IDxleGVjX2J5dGVfY29kZSsxMjU3Piwg MHg1NTU1NTU1YTRlNmEgPGV4ZWNfYnl0ZV9jb2RlLTIwOTYyMTQ+LCAweDU1NTU1NTdhNjAwYyA8 ZXhlY19ieXRlX2NvZGUrNTQ1Mj4sIDB4NTU1NTU1N2E1ZmUzIDxleGVjX2J5dGVfY29kZSs1NDEx PiwgMHg1NTU1NTU3YTVmYmEgPGV4ZWNfYnl0ZV9jb2RlKzUzNzA+LCAweDU1NTU1NTdhNThjYiA8 ZXhlY19ieXRlX2NvZGUrMzU5NT4sIDB4NTU1NTU1N2E1ODkyIDxleGVjX2J5dGVfY29kZSszNTM4 PiwgMHg1NTU1NTU3YTU4NjkgPGV4ZWNfYnl0ZV9jb2RlKzM0OTc+LCAweDU1NTU1NTdhNTg0MCA8 ZXhlY19ieXRlX2NvZGUrMzQ1Nj4sIDB4NTU1NTU1N2E1ODA3IDxleGVjX2J5dGVfY29kZSszMzk5 PiwgMHg1NTU1NTU3YTU3Y2UgPGV4ZWNfYnl0ZV9jb2RlKzMzNDI+LCAweDU1NTU1NTdhNTc5NSA8 ZXhlY19ieXRlX2NvZGUrMzI4NT4sIDB4NTU1NTU1N2E1NzZhIDxleGVjX2J5dGVfY29kZSszMjQy PiwgMHg1NTU1NTU3YTU3NDEgPGV4ZWNfYnl0ZV9jb2RlKzMyMDE+LCAweDU1NTU1NTVhNGU2YSA8 ZXhlY19ieXRlX2NvZGUtMjA5NjIxND4sIDB4NTU1NTU1N2E1ZDUwIDxleGVjX2J5dGVfY29kZSs0 NzUyPiwgMHg1NTU1NTU3YTVlZTEgPGV4ZWNfYnl0ZV9jb2RlKzUxNTM+LCAweDU1NTU1NTdhNTk4 YSA8ZXhlY19ieXRlX2NvZGUrMzc4Nj4sIDB4NTU1NTU1N2E1ZWE3IDxleGVjX2J5dGVfY29kZSs1 MDk1PiwgMHg1NTU1NTU3YTVlNzAgPGV4ZWNfYnl0ZV9jb2RlKzUwNDA+LCAweDU1NTU1NTdhNWUz OSA8ZXhlY19ieXRlX2NvZGUrNDk4NT4sIDB4NTU1NTU1N2E1ZGEyIDxleGVjX2J5dGVfY29kZSs0 ODM0PiwgMHg1NTU1NTU3YTVkODQgPGV4ZWNfYnl0ZV9jb2RlKzQ4MDQ+LCAweDU1NTU1NTdhNWEx YSA8ZXhlY19ieXRlX2NvZGUrMzkzMD4sIDB4NTU1NTU1N2E1ZDMyIDxleGVjX2J5dGVfY29kZSs0 NzIyPiwgMHg1NTU1NTU3YTVjZDYgPGV4ZWNfYnl0ZV9jb2RlKzQ2MzA+LCAweDU1NTU1NTdhNWNh OCA8ZXhlY19ieXRlX2NvZGUrNDU4ND4sIDB4NTU1NTU1N2E1YzY4IDxleGVjX2J5dGVfY29kZSs0 NTIwPiwgMHg1NTU1NTU3YTZlZmIgPGV4ZWNfYnl0ZV9jb2RlKzkyNzU+LCAweDU1NTU1NTdhNmVi ZSA8ZXhlY19ieXRlX2NvZGUrOTIxND4sIDB4NTU1NTU1N2E2ZTdiIDxleGVjX2J5dGVfY29kZSs5 MTQ3PiwgMHg1NTU1NTU3YTZlMjUgPGV4ZWNfYnl0ZV9jb2RlKzkwNjE+LCAweDU1NTU1NTVhNGU2 YSA8ZXhlY19ieXRlX2NvZGUtMjA5NjIxND4sIDB4NTU1NTU1N2E1NzA0IDxleGVjX2J5dGVfY29k ZSszMTQwPiwgMHg1NTU1NTU3YTU2ZGIgPGV4ZWNfYnl0ZV9jb2RlKzMwOTk+LCAweDU1NTU1NTdh NTZiMiA8ZXhlY19ieXRlX2NvZGUrMzA1OD4sIDB4NTU1NTU1N2E1Njg5IDxleGVjX2J5dGVfY29k ZSszMDE3PiwgMHg1NTU1NTU3YTU2NjAgPGV4ZWNfYnl0ZV9jb2RlKzI5NzY+LCAweDU1NTU1NTdh NTYyNyA8ZXhlY19ieXRlX2NvZGUrMjkxOT4sIDB4NTU1NTU1N2E1NWVlIDxleGVjX2J5dGVfY29k ZSsyODYyPiwgMHg1NTU1NTU3YTU1YjUgPGV4ZWNfYnl0ZV9jb2RlKzI4MDU+LCAweDU1NTU1NTdh NTU3YyA8ZXhlY19ieXRlX2NvZGUrMjc0OD4sIDB4NTU1NTU1N2E1NTJmIDxleGVjX2J5dGVfY29k ZSsyNjcxPiwgMHg1NTU1NTU3YTU0ZjYgPGV4ZWNfYnl0ZV9jb2RlKzI2MTQ+LCAweDU1NTU1NTdh NTRiZCA8ZXhlY19ieXRlX2NvZGUrMjU1Nz4sIDB4NTU1NTU1N2E1NDk3IDxleGVjX2J5dGVfY29k ZSsyNTE5PiwgMHg1NTU1NTU3YTU0M2MgPGV4ZWNfYnl0ZV9jb2RlKzI0Mjg+LCAweDU1NTU1NTdh NTNlMSA8ZXhlY19ieXRlX2NvZGUrMjMzNz4sIDB4NTU1NTU1N2E1M2FlIDxleGVjX2J5dGVfY29k ZSsyMjg2PiwgMHg1NTU1NTU3YTUzN2IgPGV4ZWNfYnl0ZV9jb2RlKzIyMzU+LCAweDU1NTU1NTdh NTM0YiA8ZXhlY19ieXRlX2NvZGUrMjE4Nz4sIDB4NTU1NTU1N2E2M2NiIDxleGVjX2J5dGVfY29k ZSs2NDExPiwgMHg1NTU1NTU3YTYzODMgPGV4ZWNfYnl0ZV9jb2RlKzYzMzk+LCAweDU1NTU1NTdh NTJlNSA8ZXhlY19ieXRlX2NvZGUrMjA4NT4sIDB4NTU1NTU1N2E1MjgyIDxleGVjX2J5dGVfY29k ZSsxOTg2PiwgMHg1NTU1NTU1YTRlNmEgPGV4ZWNfYnl0ZV9jb2RlLTIwOTYyMTQ+LCAweDU1NTU1 NTVhNGU2YSA8ZXhlY19ieXRlX2NvZGUtMjA5NjIxND4sIDB4NTU1NTU1NWE0ZTZhIDxleGVjX2J5 dGVfY29kZS0yMDk2MjE0PiwgMHg1NTU1NTU1YTRlNmEgPGV4ZWNfYnl0ZV9jb2RlLTIwOTYyMTQ+ LCAweDU1NTU1NTVhNGU2YSA8ZXhlY19ieXRlX2NvZGUtMjA5NjIxND4sIDB4NTU1NTU1NWE0ZTZh IDxleGVjX2J5dGVfY29kZS0yMDk2MjE0PiwgMHg1NTU1NTU3YTZiNGIgPGV4ZWNfYnl0ZV9jb2Rl KzgzMzE+LCAweDU1NTU1NTdhNjgzMCA8ZXhlY19ieXRlX2NvZGUrNzUzNj4sIDB4NTU1NTU1N2E2 MmFkIDxleGVjX2J5dGVfY29kZSs2MTI1PiwgMHg1NTU1NTU3YTUxY2YgPGV4ZWNfYnl0ZV9jb2Rl KzE4MDc+LCAweDU1NTU1NTdhNTE5MyA8ZXhlY19ieXRlX2NvZGUrMTc0Nz4sIDB4NTU1NTU1NWE0 ZTZhIDxleGVjX2J5dGVfY29kZS0yMDk2MjE0PiwgMHg1NTU1NTU1YTRlNmEgPGV4ZWNfYnl0ZV9j b2RlLTIwOTYyMTQ+LCAweDU1NTU1NTdhNTE2NCA8ZXhlY19ieXRlX2NvZGUrMTcwMD4sIDB4NTU1 NTU1N2E1OTM0IDxleGVjX2J5dGVfY29kZSszNzAwPiwgMHg1NTU1NTU1YTRlNmEgPGV4ZWNfYnl0 ZV9jb2RlLTIwOTYyMTQ+LCAweDU1NTU1NTVhNGU2YSA8ZXhlY19ieXRlX2NvZGUtMjA5NjIxND4s IDB4NTU1NTU1NWE0ZTZhIDxleGVjX2J5dGVfY29kZS0yMDk2MjE0PiwgMHg1NTU1NTU1YTRlNmEg PGV4ZWNfYnl0ZV9jb2RlLTIwOTYyMTQ+LCAweDU1NTU1NTVhNGU2YSA8ZXhlY19ieXRlX2NvZGUt MjA5NjIxND4sIDB4NTU1NTU1NWE0ZTZhIDxleGVjX2J5dGVfY29kZS0yMDk2MjE0PiwgMHg1NTU1 NTU1YTRlNmEgPGV4ZWNfYnl0ZV9jb2RlLTIwOTYyMTQ+LCAweDU1NTU1NTVhNGU2YSA8ZXhlY19i eXRlX2NvZGUtMjA5NjIxND4sIDB4NTU1NTU1N2E1OTA0IDxleGVjX2J5dGVfY29kZSszNjUyPiA8 cmVwZWF0cyA2NCB0aW1lcz59CiAgICAgICAgcXVpdGNvdW50ZXIgPSAzOCAnJicKICAgICAgICBi YyA9IDB4NTU1NTU1Y2YzZTcwIDxtYWluX3RocmVhZCs0OTY+CiAgICAgICAgdG9wID0gPG9wdGlt aXplZCBvdXQ+CiAgICAgICAgcGMgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBieXRlc3RyID0g PG9wdGltaXplZCBvdXQ+CiAgICAgICAgdmVjdG9yID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAg bWF4ZGVwdGggPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBjb25zdF9sZW5ndGggPSA8b3B0aW1p emVkIG91dD4KICAgICAgICBieXRlc3RyX2xlbmd0aCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAg IHZlY3RvcnAgPSAweDdmZmZmMWQ1YmFjMAogICAgICAgIG1heF9zdGFjayA9IDxvcHRpbWl6ZWQg b3V0PgogICAgICAgIGZyYW1lX2Jhc2UgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBmcCA9IDxv cHRpbWl6ZWQgb3V0PgogICAgICAgIGJ5dGVzdHJfZGF0YSA9IDxvcHRpbWl6ZWQgb3V0PgogICAg ICAgIHJlc3QgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBtYW5kYXRvcnkgPSA8b3B0aW1pemVk IG91dD4KICAgICAgICBub25yZXN0ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgcHVzaGVkYXJn cyA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHJlc3VsdCA9IDxvcHRpbWl6ZWQgb3V0PgojMjAg MHgwMDAwNTU1NTU1NzYxNjRjIGluIGFwcGx5X2xhbWJkYSAoZnVuPWZ1bkBlbnRyeT0weDdmZmZm MWQ0Mzg0ZCwgYXJncz08b3B0aW1pemVkIG91dD4sIGNvdW50PWNvdW50QGVudHJ5PS4uLikgYXQg Li4vLi4vLi4vZW1hY3Mvc3JjL2V2YWwuYzozMTA3CiAgICAgICAgYXJnX3ZlY3RvciA9IDB4N2Zm ZmZmZmZlMWEwCiAgICAgICAgdGVtID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgc2FfYXZhaWwg PSA8b3B0aW1pemVkIG91dD4KICAgICAgICBzYV9jb3VudCA9IHsKICAgICAgICAgIGJ5dGVzID0g MTYwCiAgICAgICAgfQogICAgICAgIG51bWFyZ3MgPSAwCiAgICAgICAgYXJnc19sZWZ0ID0gMHgw CiMyMSAweDAwMDA1NTU1NTU3NWZjMDMgaW4gZXZhbF9zdWIgKGZvcm09Zm9ybUBlbnRyeT0weDdm ZmZmMjIwNmVmYikgYXQgLi4vLi4vLi4vZW1hY3Mvc3JjL2V2YWwuYzoyNTkyCiAgICAgICAgb3Jp Z2luYWxfZnVuID0gMHgyYWFhOWJmYzUwOTgKICAgICAgICBvcmlnaW5hbF9hcmdzID0gMHgwCiAg ICAgICAgY291bnQgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBmdW4gPSA8b3B0aW1pemVkIG91 dD4KICAgICAgICB2YWwgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBmdW5jYXIgPSA8b3B0aW1p emVkIG91dD4KICAgICAgICBhcmd2YWxzID0gezB4MTIsIDB4ZmZmZmZmZmZmZmZmZmI5MCwgMHg5 MCwgMHg1LCAweDdmZmZmZmZmZTk2MCwgMHg3ZmZmZjU3NTg5ZmEgPG1hbGxvYys0MTA+LCAweDYw LCAweDU1NTU1NWU4ZTYyM30KICAgICAgICByZXRyeSA9IDxvcHRpbWl6ZWQgb3V0PgojMjIgMHgw MDAwNTU1NTU1NzYyNzA2IGluIEZldmFsIChmb3JtPTB4N2ZmZmYyMjA2ZWZiLCBsZXhpY2FsPTxv cHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vLi4vZW1hY3Mvc3JjL2V2YWwuYzoyMzY1CiAgICAgICAg Y291bnQgPSA8b3B0aW1pemVkIG91dD4KIzIzIDB4MDAwMDU1NTU1NTc1YWQzNyBpbiBpbnRlcm5h bF9jb25kaXRpb25fY2FzZSAoYmZ1bj1iZnVuQGVudHJ5PTB4NTU1NTU1NmNlZDQwIDx0b3BfbGV2 ZWxfMj4sIGhhbmRsZXJzPWhhbmRsZXJzQGVudHJ5PTB4OTAsIGhmdW49aGZ1bkBlbnRyeT0weDU1 NTU1NTZkNWY5MCA8Y21kX2Vycm9yPikgYXQgLi4vLi4vLi4vZW1hY3Mvc3JjL2V2YWwuYzoxNDc0 CiAgICAgICAgdmFsID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgYyA9IDB4NTU1NTU1ZTkzMWQw CiMyNCAweDAwMDA1NTU1NTU2Y2Y2ODYgaW4gdG9wX2xldmVsXzEgKGlnbm9yZT1pZ25vcmVAZW50 cnk9MHgwKSBhdCAuLi8uLi8uLi9lbWFjcy9zcmMva2V5Ym9hcmQuYzoxMTUwCk5vIGxvY2Fscy4K IzI1IDB4MDAwMDU1NTU1NTc1YWM5MSBpbiBpbnRlcm5hbF9jYXRjaCAodGFnPXRhZ0BlbnRyeT0w eDEwMDgwLCBmdW5jPWZ1bmNAZW50cnk9MHg1NTU1NTU2Y2Y2NjAgPHRvcF9sZXZlbF8xPiwgYXJn PWFyZ0BlbnRyeT0weDApIGF0IC4uLy4uLy4uL2VtYWNzL3NyYy9ldmFsLmM6MTE5NwogICAgICAg IHZhbCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIGMgPSAweDU1NTU1NWU3NDQ0MAojMjYgMHgw MDAwNTU1NTU1NmNlY2JmIGluIGNvbW1hbmRfbG9vcCAoKSBhdCAuLi8uLi8uLi9lbWFjcy9zcmMv a2V5Ym9hcmQuYzoxMTEwCk5vIGxvY2Fscy4KIzI3IDB4MDAwMDU1NTU1NTZkNWI0MSBpbiByZWN1 cnNpdmVfZWRpdF8xICgpIGF0IC4uLy4uLy4uL2VtYWNzL3NyYy9rZXlib2FyZC5jOjcyMAogICAg ICAgIGNvdW50ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgdmFsID0gPG9wdGltaXplZCBvdXQ+ CiMyOCAweDAwMDA1NTU1NTU2ZDVlYzAgaW4gRnJlY3Vyc2l2ZV9lZGl0ICgpIGF0IC4uLy4uLy4u L2VtYWNzL3NyYy9rZXlib2FyZC5jOjgwMwogICAgICAgIGNvdW50ID0gPG9wdGltaXplZCBvdXQ+ CiAgICAgICAgYnVmZmVyID0gPG9wdGltaXplZCBvdXQ+CiMyOSAweDAwMDA1NTU1NTU1YTg5Nzcg aW4gbWFpbiAoYXJnYz01LCBhcmd2PTB4N2ZmZmZmZmZlNjI4KSBhdCAuLi8uLi8uLi9lbWFjcy9z cmMvZW1hY3MuYzoyNTIxCiAgICAgICAgc3RhY2tfYm90dG9tX3ZhcmlhYmxlID0gMHgwCiAgICAg ICAgbm9fbG9hZHVwID0gZmFsc2UKICAgICAgICBqdW5rID0gMHgwCiAgICAgICAgZG5hbWVfYXJn ID0gMHgwCiAgICAgICAgY2hfdG9fZGlyID0gMHgwCiAgICAgICAgb3JpZ2luYWxfcHdkID0gPG9w dGltaXplZCBvdXQ+CiAgICAgICAgZHVtcF9tb2RlID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAg c2tpcF9hcmdzID0gMQogICAgICAgIHRlbWFjcyA9IDB4MAogICAgICAgIGF0dGVtcHRfbG9hZF9w ZHVtcCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIG9ubHlfdmVyc2lvbiA9IGZhbHNlCiAgICAg ICAgcmxpbSA9IHsKICAgICAgICAgIHJsaW1fY3VyID0gMTAwMjI5MTIsCiAgICAgICAgICBybGlt X21heCA9IDE4NDQ2NzQ0MDczNzA5NTUxNjE1CiAgICAgICAgfQogICAgICAgIGxjX2FsbCA9IDxv cHRpbWl6ZWQgb3V0PgogICAgICAgIHNvY2tmZCA9IC0xCiAgICAgICAgbW9kdWxlX2Fzc2VydGlv bnMgPSA8b3B0aW1pemVkIG91dD4KCkxpc3AgQmFja3RyYWNlOgoidHJhbnNwb3NlLXJlZ2lvbnMi ICgweGZmZmZkOTcwKQoicHJvZ24iICgweGZmZmZkYTMwKQoidW53aW5kLXByb3RlY3QiICgweGZm ZmZkYjAwKQoic2F2ZS1jdXJyZW50LWJ1ZmZlciIgKDB4ZmZmZmRiZjApCiJsZXQiICgweGZmZmZk ZDIwKQoiZXZhbC1idWZmZXIiICgweGYxMWZmMjkwKQoibG9hZC13aXRoLWNvZGUtY29udmVyc2lv biIgKDB4ZmZmZmUwNDgpCiJsb2FkIiAoMHhmMTFmZjFiMCkKImNvbW1hbmQtbGluZS0xIiAoMHhm MTFmZjBiOCkKImNvbW1hbmQtbGluZSIgKDB4ZjExZmYwNDApCiJub3JtYWwtdG9wLWxldmVsIiAo MHhmZmZmZTFhMCkKKGdkYikgcXVpdApEZWJ1Z2dlciBmaW5pc2hlZAoKRW5kIG9mIGdkYiBzZXNz aW9uLgoKSW4gR05VIEVtYWNzIDI5LjMuNTAgKGJ1aWxkIDUsIHg4Nl82NC1wYy1saW51eC1nbnUs IEdUSysgVmVyc2lvbgogMy4yNC4zOCwgY2Fpcm8gdmVyc2lvbiAxLjE2LjApIG9mIDIwMjQtMDQt MDEgYnVpbHQgb24gZ2Fib3IKUmVwb3NpdG9yeSByZXZpc2lvbjogOTQ2ZDRhYWQxZGZiMjQ0MzUy ZGZkMDg0NWE4YmMzMDc4ZmU5YmNhNApSZXBvc2l0b3J5IGJyYW5jaDogZW1hY3MtMjkKV2luZG93 aW5nIHN5c3RlbSBkaXN0cmlidXRvciAnVGhlIFguT3JnIEZvdW5kYXRpb24nLCB2ZXJzaW9uIDEx LjAuMTIxMDEwMDcKU3lzdGVtIERlc2NyaXB0aW9uOiBEZXZ1YW4gR05VL0xpbnV4IDUgKGRhZWRh bHVzKQoKQ29uZmlndXJlZCB1c2luZzoKICdjb25maWd1cmUgLS13aXRob3V0LWxpYnN5c3RlbWQg LS13aXRob3V0LXBvcCAtLXdpdGhvdXQtc291bmQKIC0td2l0aG91dC1nY29uZiAtLXdpdGhvdXQt bWFpbHV0aWxzIC0td2l0aG91dC1uYXRpdmUtY29tcGlsYXRpb24KIC0td2l0aC1jYWlybyAtLXdp dGgteD15ZXMgLS13aXRoLXgtdG9vbGtpdD1ndGszCiAtLXdpdGgtdG9vbGtpdC1zY3JvbGwtYmFy cycKCkNvbmZpZ3VyZWQgZmVhdHVyZXM6CkNBSVJPIERCVVMgRlJFRVRZUEUgR0lGIEdMSUIgR01Q IEdOVVRMUyBHU0VUVElOR1MgSEFSRkJVWlogSlBFRyBKU09OCkxJQlNFTElOVVggTElCWE1MMiBN T0RVTEVTIE5PVElGWSBJTk9USUZZIFBEVU1QRVIgUE5HIFJTVkcgU0VDQ09NUApTUUxJVEUzIFRI UkVBRFMgVElGRiBUT09MS0lUX1NDUk9MTF9CQVJTIFRSRUVfU0lUVEVSIFdFQlAgWDExIFhEQkUg WElNClhJTlBVVDIgWFBNIEdUSzMgWkxJQgoKSW1wb3J0YW50IHNldHRpbmdzOgogIHZhbHVlIG9m ICRMQU5HOiBodV9IVS5VVEYtOAogIGxvY2FsZS1jb2Rpbmctc3lzdGVtOiB1dGYtOC11bml4CgpC ZXN0IHdpc2hlcywKCiAgICAgR8OhYm9yCg== --nextPart4879618.GXAFRqVoOG Content-Disposition: attachment; filename="0001-transpose-regions-fix-crash-add-tests-for-text-prope.patch" Content-Transfer-Encoding: 7Bit Content-Type: text/x-patch; charset="unicode-2-0-utf-8"; name="0001-transpose-regions-fix-crash-add-tests-for-text-prope.patch" >From 4f27eb41c638270a2c421126382cbb5073986288 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Braun?= Date: Sun, 31 Mar 2024 12:54:33 +0200 Subject: [PATCH] transpose-regions: fix crash, add tests for text properties. The tests contain non-ASCII characters and text properties, and crash previous Emacs versions. No longer confuse lengths in bytes and characters: 1. For consistent naming split len_mid into len_mid and len_mid_byte. 2. Remove the case len1_byte == len2_byte: only one memmove() could be optimized out compared to the other cases. Even tmp_interval_mid is necessary, as the intervals need position adjustments. Don't bother with different undo records in this case. --- src/editfns.c | 52 +++++++++----------------------------- test/src/editfns-tests.el | 53 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 40 deletions(-) diff --git a/src/editfns.c b/src/editfns.c index 85f7739df07..ba589ee497e 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -4495,6 +4495,7 @@ DEFUN ("transpose-regions", Ftranspose_regions, Stranspose_regions, 4, 5, { register ptrdiff_t start1, end1, start2, end2; ptrdiff_t start1_byte, start2_byte, len1_byte, len2_byte, end2_byte; + ptrdiff_t len_mid_byte; ptrdiff_t gap, len1, len_mid, len2; unsigned char *start1_addr, *start2_addr, *temp; @@ -4653,42 +4654,10 @@ DEFUN ("transpose-regions", Ftranspose_regions, Stranspose_regions, 4, 5, /* Non-adjacent regions, because end1 != start2, bleagh... */ else { - len_mid = start2_byte - (start1_byte + len1_byte); + len_mid_byte = start2_byte - (start1_byte + len1_byte); + len_mid = start2 - end1; - if (len1_byte == len2_byte) - /* Regions are same size, though, how nice. */ - { - USE_SAFE_ALLOCA; - - modify_text (start1, end2); - record_change (start1, len1); - record_change (start2, len2); - tmp_interval1 = copy_intervals (cur_intv, start1, len1); - tmp_interval2 = copy_intervals (cur_intv, start2, len2); - - tmp_interval3 = validate_interval_range (buf, &startr1, &endr1, 0); - if (tmp_interval3) - set_text_properties_1 (startr1, endr1, Qnil, buf, tmp_interval3); - - tmp_interval3 = validate_interval_range (buf, &startr2, &endr2, 0); - if (tmp_interval3) - set_text_properties_1 (startr2, endr2, Qnil, buf, tmp_interval3); - - temp = SAFE_ALLOCA (len1_byte); - start1_addr = BYTE_POS_ADDR (start1_byte); - start2_addr = BYTE_POS_ADDR (start2_byte); - memcpy (temp, start1_addr, len1_byte); - memcpy (start1_addr, start2_addr, len2_byte); - memcpy (start2_addr, temp, len1_byte); - SAFE_FREE (); - - graft_intervals_into_buffer (tmp_interval1, start2, - len1, current_buffer, 0); - graft_intervals_into_buffer (tmp_interval2, start1, - len2, current_buffer, 0); - } - - else if (len1_byte < len2_byte) /* Second region larger than first */ + if (len1_byte < len2_byte) /* Second region larger than first */ /* Non-adjacent & unequal size, area between must also be shifted. */ { USE_SAFE_ALLOCA; @@ -4708,8 +4677,8 @@ DEFUN ("transpose-regions", Ftranspose_regions, Stranspose_regions, 4, 5, start1_addr = BYTE_POS_ADDR (start1_byte); start2_addr = BYTE_POS_ADDR (start2_byte); memcpy (temp, start2_addr, len2_byte); - memcpy (start1_addr + len_mid + len2_byte, start1_addr, len1_byte); - memmove (start1_addr + len2_byte, start1_addr + len1_byte, len_mid); + memcpy (start1_addr + len_mid_byte + len2_byte, start1_addr, len1_byte); + memmove (start1_addr + len2_byte, start1_addr + len1_byte, len_mid_byte); memcpy (start1_addr, temp, len2_byte); SAFE_FREE (); @@ -4721,7 +4690,10 @@ DEFUN ("transpose-regions", Ftranspose_regions, Stranspose_regions, 4, 5, len2, current_buffer, 0); } else - /* Second region smaller than first. */ + /* Second region not larger than first. */ + /* The equal-length case is not simpler, + the position stored in intervals for the text inbetween + still needs adjustment. */ { USE_SAFE_ALLOCA; @@ -4742,8 +4714,8 @@ DEFUN ("transpose-regions", Ftranspose_regions, Stranspose_regions, 4, 5, start2_addr = BYTE_POS_ADDR (start2_byte); memcpy (temp, start1_addr, len1_byte); memcpy (start1_addr, start2_addr, len2_byte); - memmove (start1_addr + len2_byte, start1_addr + len1_byte, len_mid); - memcpy (start1_addr + len2_byte + len_mid, temp, len1_byte); + memmove (start1_addr + len2_byte, start1_addr + len1_byte, len_mid_byte); + memcpy (start1_addr + len2_byte + len_mid_byte, temp, len1_byte); SAFE_FREE (); graft_intervals_into_buffer (tmp_interval1, end2 - len1, diff --git a/test/src/editfns-tests.el b/test/src/editfns-tests.el index b3b7da65ad3..82f0bcd1e71 100644 --- a/test/src/editfns-tests.el +++ b/test/src/editfns-tests.el @@ -132,6 +132,59 @@ propertize/error-even-number-of-args "Number of args for `propertize' must be odd." (should-error (propertize "foo" 'bar) :type 'wrong-number-of-arguments)) +;; Tests for `transpose-region' + +(ert-deftest transpose-regions-text-properties2 () + "Test `transpose-regions' thoroughly with text properties." + (let* ((string1pre (propertize "a\x2013" :test 1)) + (middle (propertize "c\x00e9h" :test 0)) + (string2 (propertize "\x25cf\x25cb" :test 2)) + (bytes1 (string-bytes string1pre)) + (bytes2 (string-bytes string2))) + ;; (cl-assert (< bytes1 bytes2)) + (dotimes (i (+ 3 (- bytes2 bytes1))) + (let ((string1 (concat string1pre + (propertize (make-string i ?X) + :test t)))) + (with-temp-buffer + (insert string1 middle string2) + (buffer-enable-undo) + (transpose-regions + 1 (1+ (length string1)) + (- (point) (length string2)) (point)) + (should (equal-including-properties + (buffer-string) + (concat string2 middle string1))) + (undo-boundary) + (let ((this-command #'undo) + (last-command #'ert)) ; anything but undo + (undo)) + (should (equal-including-properties + (buffer-string) + (concat string1 middle string2)))))))) + +(ert-deftest transpose-regions-text-properties () + "Test `transpose-regions' with text properties. +This test is known to crash Emacs 28.2, 29.2, 29.3." + (with-temp-buffer + (insert (propertize "a" 'face 'font-lock-variable-name-face)) + (insert ":\n") + (insert (propertize "b" 'face 'font-lock-variable-name-face)) + (insert ": \x2113\x2080\n") + (insert (propertize "v" 'face 'font-lock-variable-name-face)) + (insert ": scaling\n") + ;; Move last line to the beginning + (transpose-regions 1 1 10 21) + (should (equal-including-properties + (buffer-string) + (concat + (propertize "v" 'face 'font-lock-variable-name-face) + ": scaling\n" + (propertize "a" 'face 'font-lock-variable-name-face) + ":\n" + (propertize "b" 'face 'font-lock-variable-name-face) + ": \x2113\x2080\n"))))) + ;; Tests for bug#5131. (defun transpose-test-reverse-word (start end) "Reverse characters in a word by transposing pairs of characters." -- 2.39.2 --nextPart4879618.GXAFRqVoOG--