From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail202.messagelabs.com (mail202.messagelabs.com [216.82.254.227]) by kanga.kvack.org (Postfix) with ESMTP id 54A1C6B0088 for ; Sat, 7 Mar 2009 15:25:03 -0500 (EST) Date: Sat, 7 Mar 2009 12:24:52 -0800 From: Andrew Morton Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-Id: <20090307122452.bf43fbe4.akpm@linux-foundation.org> In-Reply-To: References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org List-ID: (switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface). On Sat, 7 Mar 2009 11:27:12 -0800 (PST) bugme-daemon@bugzilla.kernel.org wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=12832 > > Summary: kernel leaks a lot of memory > Product: Memory Management > Version: 2.5 > KernelVersion: 2.6.27 > Platform: All > OS/Version: Linux > Tree: Mainline > Status: NEW > Severity: high > Priority: P1 > Component: Other > AssignedTo: akpm@osdl.org > ReportedBy: drzeus-bugzilla@drzeus.cx > > > Latest working kernel version: 2.6.26 > Earliest failing kernel version: 2.6.27 > Distribution: Fedora > Hardware Environment: x86_64 > Software Environment: Fedora 9 & 10 > Problem Description: > > Starting from 2.6.27, the kernel eats up a whole lot more of memory (hundreds > of MB) at no gain. > > I've compared what I can from 2.6.26 and so far haven't found where this > missing memory has disappeared. > > Original bug in RH's bugzilla: > > https://bugzilla.redhat.com/show_bug.cgi?id=481448 > hm, not a lot to go on there. We have quite a lot of instrumentation for memory consumption - were you able to work out where it went by comparing /proc/meminfo, /proc/slabinfo, `echo m > /proc/sysrq-trigger', etc? Is the memory missing on initial boot up, or does it take some time for the problem to become evident? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail137.messagelabs.com (mail137.messagelabs.com [216.82.249.19]) by kanga.kvack.org (Postfix) with ESMTP id C62946B008C for ; Sat, 7 Mar 2009 16:01:06 -0500 (EST) Date: Sat, 7 Mar 2009 22:00:55 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090307220055.6f79beb8@mjolnir.ossman.eu> In-Reply-To: <20090307122452.bf43fbe4.akpm@linux-foundation.org> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-3302-1236459659-0001-2" Sender: owner-linux-mm@kvack.org To: Andrew Morton Cc: bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-3302-1236459659-0001-2 Content-Type: multipart/mixed; boundary="MP_/6P0XGjJoJYinpSZBWBmVmc1" --MP_/6P0XGjJoJYinpSZBWBmVmc1 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Sat, 7 Mar 2009 12:24:52 -0800 Andrew Morton wrote: >=20 > hm, not a lot to go on there. >=20 > We have quite a lot of instrumentation for memory consumption - were > you able to work out where it went by comparing /proc/meminfo, > /proc/slabinfo, `echo m > /proc/sysrq-trigger', etc? >=20 The redhat entry contains all the info, and I've compared meminfo and slabinfo without finding anything even close to the chunks of lost memory. I've attached the sysrq memory stats from 2.6.26 and 2.6.27. The only difference though is in the reported free pages I'm not very familiar with all the instrumentation, so pointers are very welcome. > Is the memory missing on initial boot up, or does it take some time for > the problem to become evident? >=20 Initial boot as far as I can tell. Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --MP_/6P0XGjJoJYinpSZBWBmVmc1 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=mem-2.6.26.txt Linux builder.drzeus.cx 2.6.26.6-79.fc9.x86_64 #1 SMP Fri Oct 17 14:20:33 E= DT 2008 x86_64 x86_64 x86_64 GNU/Linux SysRq : Show Memory Mem-info: Node 0 DMA per-cpu: CPU 0: hi: 0, btch: 1 usd: 0 Node 0 DMA32 per-cpu: CPU 0: hi: 186, btch: 31 usd: 115 Active:8937 inactive:6285 dirty:48 writeback:0 unstable:0 free:103730 slab:5612 mapped:2148 pagetables:817 bounce:0 Node 0 DMA free:10292kB min:48kB low:60kB high:72kB active:0kB inactive:0kB= present:8908kB pages_scanned:0 all_unreclaimable? no lowmem_reserve[]: 0 489 489 489 Node 0 DMA32 free:404628kB min:2804kB low:3504kB high:4204kB active:35748kB= inactive:25140kB present:500896kB pages_scanned:0 all_unreclaimable? no lowmem_reserve[]: 0 0 0 0 Node 0 DMA: 3*4kB 5*8kB 4*16kB 4*32kB 3*64kB 3*128kB 3*256kB 3*512kB 3*1024= kB 2*2048kB 0*4096kB =3D 10292kB Node 0 DMA32: 3*4kB 5*8kB 2*16kB 2*32kB 2*64kB 1*128kB 3*256kB 2*512kB 3*10= 24kB 3*2048kB 96*4096kB =3D 404628kB 9730 total pagecache pages Swap cache: add 0, delete 0, find 0/0 Free swap =3D 524280kB Total swap =3D 524280kB 131056 pages of RAM 3772 reserved pages 7750 pages shared 0 pages swap cached --MP_/6P0XGjJoJYinpSZBWBmVmc1 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=mem-2.6.27.txt Linux builder.drzeus.cx 2.6.27.4-19.fc9.x86_64 #1 SMP Thu Oct 30 19:30:01 E= DT 2008 x86_64 x86_64 x86_64 GNU/Linux SysRq : Show Memory Mem-Info: Node 0 DMA per-cpu: CPU 0: hi: 0, btch: 1 usd: 0 Node 0 DMA32 per-cpu: CPU 0: hi: 186, btch: 31 usd: 86 Active:8879 inactive:6265 dirty:8 writeback:0 unstable:0 free:62265 slab:5543 mapped:2154 pagetables:821 bounce:0 Node 0 DMA free:9448kB min:40kB low:48kB high:60kB active:0kB inactive:0kB = present:7804kB pages_scanned:0 all_unreclaimable? no lowmem_reserve[]: 0 489 489 489 Node 0 DMA32 free:239612kB min:2808kB low:3508kB high:4212kB active:35516kB= inactive:25060kB present:500896kB pages_scanned:0 all_unreclaimable? no lowmem_reserve[]: 0 0 0 0 Node 0 DMA: 4*4kB 3*8kB 2*16kB 5*32kB 4*64kB 2*128kB 2*256kB 2*512kB 3*1024= kB 2*2048kB 0*4096kB =3D 9448kB Node 0 DMA32: 1*4kB 7*8kB 6*16kB 1*32kB 1*64kB 4*128kB 3*256kB 3*512kB 1*10= 24kB 3*2048kB 56*4096kB =3D 239612kB 9692 total pagecache pages 0 pages in swap cache Swap cache stats: add 0, delete 0, find 0/0 Free swap =3D 524280kB Total swap =3D 524280kB 131056 pages RAM 4046 pages reserved 7770 pages shared 61196 pages non-shared --MP_/6P0XGjJoJYinpSZBWBmVmc1-- --=_freyr.drzeus.cx-3302-1236459659-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkmy4IoACgkQ7b8eESbyJLja0wCg5LIPyWCG7sm+OaIR0wGAOi/x wFkAn0nigt4XwbMDUFH3Qq42kyw9dGXk =pDk5 -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-3302-1236459659-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail202.messagelabs.com (mail202.messagelabs.com [216.82.254.227]) by kanga.kvack.org (Postfix) with ESMTP id 52A376B008C for ; Sat, 7 Mar 2009 17:13:52 -0500 (EST) Date: Sat, 7 Mar 2009 14:13:16 -0800 From: Andrew Morton Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-Id: <20090307141316.85cb1f62.akpm@linux-foundation.org> In-Reply-To: <20090307220055.6f79beb8@mjolnir.ossman.eu> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org List-ID: On Sat, 7 Mar 2009 22:00:55 +0100 Pierre Ossman wrote: > On Sat, 7 Mar 2009 12:24:52 -0800 > Andrew Morton wrote: > > > > > hm, not a lot to go on there. > > > > We have quite a lot of instrumentation for memory consumption - were > > you able to work out where it went by comparing /proc/meminfo, > > /proc/slabinfo, `echo m > /proc/sysrq-trigger', etc? > > > > The redhat entry contains all the info, and I've compared meminfo and > slabinfo without finding anything even close to the chunks of lost > memory. Ok. > I've attached the sysrq memory stats from 2.6.26 and 2.6.27. The only > difference though is in the reported free pages Drat. > I'm not very familiar with all the instrumentation, so pointers are > very welcome. > > > Is the memory missing on initial boot up, or does it take some time for > > the problem to become evident? > > > > Initial boot as far as I can tell. OK. In that case it might be that someone gobbled a lot of bootmem. Unfortunately we only added the bootmem_debug boot option in 2.6.27. Below is a super-quick hackport of that patch into 2.6.26. That will allow us (ie: you ;)) to compare bootmem allocations between the two kernels. Unfortunately bootmem-debugging doesn't tell us _who_ allocated the memory, so I stuck a dump_stack() in there too. diff -puN mm/bootmem.c~bdebug mm/bootmem.c --- a/mm/bootmem.c~bdebug +++ a/mm/bootmem.c @@ -48,6 +48,22 @@ unsigned long __init bootmem_bootmap_pag return mapsize; } +static int bootmem_debug; + +static int __init bootmem_debug_setup(char *buf) +{ + bootmem_debug = 1; + return 0; +} +early_param("bootmem_debug", bootmem_debug_setup); + +#define bdebug(fmt, args...) ({ \ + if (unlikely(bootmem_debug)) \ + printk(KERN_INFO \ + "bootmem::%s " fmt, \ + __FUNCTION__, ## args); \ +}) + /* * link bdata in order */ @@ -213,10 +229,10 @@ static void __init free_bootmem_core(boo if (eidx > bdata->node_low_pfn - PFN_DOWN(bdata->node_boot_start)) eidx = bdata->node_low_pfn - PFN_DOWN(bdata->node_boot_start); - for (i = sidx; i < eidx; i++) { - if (unlikely(!test_and_clear_bit(i, bdata->node_bootmem_map))) - BUG(); - } + for (i = sidx; i < eidx; i++) + if (test_and_set_bit(i, bdata->node_bootmem_map)) + bdebug("hm, page %lx reserved twice.\n", + PFN_DOWN(bdata->node_boot_start) + i); } /* @@ -252,6 +268,12 @@ __alloc_bootmem_core(struct bootmem_data if (!bdata->node_bootmem_map) return NULL; + bdebug("size=%lx [%lu pages] align=%lx goal=%lx limit=%lx\n", + size, PAGE_ALIGN(size) >> PAGE_SHIFT, + align, goal, limit); + if (bootmem_debug) + dump_stack(); + /* bdata->node_boot_start is supposed to be (12+6)bits alignment on x86_64 ? */ node_boot_start = bdata->node_boot_start; node_bootmem_map = bdata->node_bootmem_map; @@ -359,6 +381,10 @@ found: ret = phys_to_virt(start * PAGE_SIZE + node_boot_start); } + bdebug("start=%lx end=%lx\n", + start + PFN_DOWN(bdata->node_boot_start), + start + areasize + PFN_DOWN(bdata->node_boot_start)); + /* * Reserve the area now: */ @@ -432,6 +458,7 @@ static unsigned long __init free_all_boo } total += count; bdata->node_bootmem_map = NULL; + bdebug("released=%lx\n", count); return total; } _ -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail143.messagelabs.com (mail143.messagelabs.com [216.82.254.35]) by kanga.kvack.org (Postfix) with ESMTP id 890486B0096 for ; Sat, 7 Mar 2009 17:16:43 -0500 (EST) Date: Sat, 7 Mar 2009 14:16:07 -0800 From: Andrew Morton Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-Id: <20090307141607.0f690427.akpm@linux-foundation.org> In-Reply-To: <20090307220055.6f79beb8@mjolnir.ossman.eu> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org List-ID: Now another possibility is that someone is gobbling lots of memory during initcalls. So here's an untested addition to the `initcall_debug' boot option which should permit us to work out how much memory each initcall consumed: --- a/init/main.c~a +++ a/init/main.c @@ -714,6 +714,7 @@ static void __init do_one_initcall(initc print_fn_descriptor_symbol("initcall %s", fn); printk(" returned %d after %Ld msecs\n", result, (unsigned long long) delta.tv64 >> 20); + printk("remaining memory: %d\n", nr_free_buffer_pages()); } msgbuf[0] = 0; _ -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail138.messagelabs.com (mail138.messagelabs.com [216.82.249.35]) by kanga.kvack.org (Postfix) with ESMTP id AE8EA6B009D for ; Sat, 7 Mar 2009 17:53:11 -0500 (EST) Date: Sat, 7 Mar 2009 23:53:01 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090307235301.045dd93a@mjolnir.ossman.eu> In-Reply-To: <20090307141316.85cb1f62.akpm@linux-foundation.org> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090307141316.85cb1f62.akpm@linux-foundation.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-4191-1236466385-0001-2" Sender: owner-linux-mm@kvack.org To: Andrew Morton Cc: bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-4191-1236466385-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Sat, 7 Mar 2009 14:13:16 -0800 Andrew Morton wrote: >=20 > Below is a super-quick hackport of that patch into 2.6.26. That will > allow us (ie: you ;)) to compare bootmem allocations between the two > kernels. >=20 Compiling... I take it you couldn't see anything like this in your end? Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-4191-1236466385-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkmy+tAACgkQ7b8eESbyJLj+YQCePmlKp5ZJJ6xSiNf3CuxEzQQP r7UAn3flsfNonpRvbKNJ0G6IkrRCJ/ys =0DpM -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-4191-1236466385-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail137.messagelabs.com (mail137.messagelabs.com [216.82.249.19]) by kanga.kvack.org (Postfix) with ESMTP id D29686B009E for ; Sun, 8 Mar 2009 06:00:17 -0400 (EDT) Date: Sun, 8 Mar 2009 11:00:06 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090308110006.0208932d@mjolnir.ossman.eu> In-Reply-To: <20090307141316.85cb1f62.akpm@linux-foundation.org> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090307141316.85cb1f62.akpm@linux-foundation.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-19428-1236506409-0001-2" Sender: owner-linux-mm@kvack.org To: Andrew Morton Cc: bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-19428-1236506409-0001-2 Content-Type: multipart/mixed; boundary="MP_/7h1IBQOheGmvdkKEYSqJMUa" --MP_/7h1IBQOheGmvdkKEYSqJMUa Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Sat, 7 Mar 2009 14:13:16 -0800 Andrew Morton wrote: >=20 > Below is a super-quick hackport of that patch into 2.6.26. That will > allow us (ie: you ;)) to compare bootmem allocations between the two > kernels. >=20 > Unfortunately bootmem-debugging doesn't tell us _who_ allocated the > memory, so I stuck a dump_stack() in there too. >=20 I'm having problems booting this machine on a vanilla 2.26.6. Fedora's kernel works nice though, so I guess they have a bug fix for this. I've attached a screenshot in case it rings any bells. I'm working on getting the data from the 2.6.27 kernel, but right now it doesn't seem like we're getting any numbers for comparison. :/ Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --MP_/7h1IBQOheGmvdkKEYSqJMUa Content-Type: image/png Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Screenshot-builder Virtual Machine.png" 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 5ezZDCY9djfz5s2noKCAmJhYTGYTZosFi6IgfQxCiKriVo8nOpVefDtHg9ZtWb92FVE9r0KtAmOp v7yKJc/uuuYyf51r7kfpxRdWJW4bMZkb3vmOt69pQaCvF4oplfpR7azlXmoVOWYF/fkB5KbCAzbr B7UezDsLBgMK+9d/ynWjRvPI4dUAJPnqeHbLATr4uctTmtRENGnD2Bc/5bmYdsBkp2uA8za4lG78 7fOfI7TdQ9b3LXy1rMouIjmw+AeWis6tQuvbvDh6XTjjgg/z9d5P+EU3ijmNB7PRPInFB1pyOOQB wnRu08lX7Zwds/I4Op/b+On4I7uIvkGeLtXl7Px3v38fojZRqVSo1Wp0Oh0ajQYovv3IbDazecsW 7rj9Fh4cdzdbtmwhI+MMDRs0sHe7sRBCXFFuNRC65L0KX+J8C9mZ60l9Dy0b9qVgsVgwFeZybNcW 2+XtxV2d+3I52qKcshwz+Pj4ovfWkZu2j3cfG2Gz/MhwXx6ev5p8o5mctH3MeeR2m/I+415m4/40 TGYjapUCmK1lL45N4r4xs9h2NAOz2UDKnr+ZMe6GKt33rkMe4NOlazhx5hxmi4ms1AP834wxBMTe 4bh9KtAGsZ4a1qbmuXwMTEW5HN21kQ+eH8tNc/J4c14/a9nTg2OZMvZNjmQWUJh5mNfHTiV28FPW 8r73xDHt4Vm0mXonKAp3T2nNMw9PJ+6ePi7vjztO8fEJZJw+ddnObWfHrLzXjs7n6SObMuW+2exN y8GYk8r/PTfCYRzOzn+n/z5q4HGUyb0mtUqFVqNBp9Wi02rRajRoNRratGrFyeNH2bL5XxSziYiw MDx0OrQatQyAlkkmma7sdBG3/bozpGkEpzbvps1VLTAc/Jt1q1byz6btmAJbVndo1ebLuY+yaOJN xDSMpuMN93Ci2XSb8ie+fpW8hZNIiI2hww1jONtptk35rOt9ePbOZKKj4xg2+Tue/t+F+7yTHvua Zzud46Gh1xATHUf/sTPxu/5lqtJnj/Vi67dv0r9rEg0aNqJz39H8dqY13/z8pMt1OGuD18b25t4u zQiPrO+wnvDI+oRH1ic2sT3Dxz3LLnNLfvrnF7qX+ua628zvGRWxmX4dEonvMJAtEbfxw8yu1vLo waM4u72Ql/o3BCBqwPMUbM3gtkFRLu9PXeDsmJXH0fnccdr3PJRwmFuubUPjdv3ZEnq/g5qcn//u 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 QedZYCMjIw4fPtwrd5K6ujqKi4uRSqWkpqayf/9+tf19kS0LCwtMTU3JysqiqKiI2tpaNTfM9vZ2 srOzhTgRiURCbGwsjY2N5OTkoFQqhcDPrKwsysvLKSkp0TAampqayM/Px9DQUK1fly9f5qeffhJ0 rCrGSXWtz58/z+XLl9HV1aW0tFTDaFC129raqiFb0JG/vfMz25VsVVdXU15eLlyz62VLZYzv3r27 x+BPVbrNrKwsYfCkek7S09PJyMjotd66XrZMTU27NBrgxrLVF71lYmLC0KFDycrKIi8vj5aWFg3P gtzcXLX3fleyVVVVRVVVlXBN6+vrOX/+fJ+z5UDH2ECpVFJeXt6l3mpqaqKgoKDPsiWRSKioqODE iRMahkxjYyOFhYVCbOL1sqV6JyYnJwvGdUpKCnV1dSiVSlJTU7l06RKVlZVqz2J3spWdnc25c+fQ 09OjoKCA5ORkWltbKS0tJSUlpduU0Z0ZaL0llUrR1tYmNze32/HW9bKVmJhIYWEhOjo6FBcXU1RU RHV1NWVlZcK7QF9fH1tb234ZDdbW1shkMrKysrh27RpVVVUaRkNbWxs5OTnI5XLa29uF35ifn88v v/wiTHD15Z3Y2trK5cuXhbGRSrZURXV7o7e6eid2p7egI6lHdXU1WVlZVFdXk5+ff1uMBsmfnn26 /cOPP6W8rOeT7f/5Jx5ZuoxqZRXGJn1PVykiIiIiInI78PHx4bXXXuPKlSusWrXqTndnwBk6dCjG xsZcvXqViooK5syZw/z584mNjb3tSQ5E7jxDhgzptsAqdKwk92Y14k5gYmKCjY0NNTU15OXl4eDg wHvvvUd5eXmXBflEBg5lVSVKZRXxsQeYOmNWj8cW5Ofx5RdfDFxFaBERERERkTuNKnsUIGSqU834 /V6YOXMmY8aMYefOncTHx6Onp0djY+MtiY0QufsJDQ1l0qRJ3e7Py8vjrbfeuo096j3e3t48/vjj ZGdn85///Od3l1ny94ZoNIiIiIiI/G7w8fHhySefBDrcFV599VVee+21O9yrgWXjxo3o6ekxZ84c ZsyYgZ6eHocPH77pZBAi9yY//fRTj66YvQ3MvxOcOnUKPT09li1bRnR0NFKplNLS0rs67egfGdFo EBERERH53ZCZmcn7778vfL4bMo4MNPX19ezcuVMty1tZWZlGcgeRPwYNDQ337L1XZX3rHPvY1NQk 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 6cQcHx8ve3t7rV69utEg1r17d2N0p0t10v7ggw+0b98+xcTEXNY2PfPMM0Z/FA8Pj8taFgAAAC7P ZYeG4uJiWa1WVVZWysPD47odiedaUlRUZNqBe9u2bdqyZYvNc3X9P1rDzc1NknThwgVduHChwetZ WVn68MMPGzzf2FwZJSUlqqys1Ndff62NGzcqJyenVdu0aNEio6lbnYyMjFYtCwAAAJfninaExpVx 5syZNh1taevWrfLx8VF0dLROnTrV4E5RaWlpi9d3+vRpnT59utXbdOTIEeXl5bX6/QAAAGg7121o qD8aT1uMHHQ1tW/fXgMHDlRxcbG2b99+WcsKDAxUZGRkg1GpWuLgwYMqKirSLbfcIovFoqKiIpuO 6fU5OTlpzJgxkqR169bZdDK/UgYOHKj27dtr//79ys7ObtUyxo0bJwcHB23ZsoWZowEAAFqoVaEh IiJCDg4OkpoePSknJ0e5ubnq0KGDIiIiJNWOelRcXGyMxFNeXq4jR44oODjYKCPVnpgeP368wcld dna2zp49qw4dOmj8+PEaPHiw1qxZYxManJ2dFRoaKqm2/X14eLgOHTrUovkazp07p4yMDHl4eCgi IkKdO3du+U66SEFBgTIzM40RieLj47Vjxw5t375dDg4OxpCsZrKyspSfn6+OHTsa+ys6OlqjR4/W hg0bWhQaunXrJk9PT+Pxjh071K1bN8XHxysrK0upqakqKirSyZMn5e7ubqzPw8PDGO1q48aNqqqq Us+ePY0J97p166bjx4+3ag6ImpoaHTp0SH369FGvXr3k7+8vqbbPhaOjo7KysmxCg5+fnzFkrpeX l7p27drkCFJz5syRq6ur9u7dS2gAAABooVaFhoULF6qiokIVFRWaPXu28fxbb72lAwcOSJKSk5ON UXluuOEGo8y+ffu0ePFiSbUn0q+++qpeffVVLVy40GYd//Vf/9WgDft3330nNzc3xcXFSaodRemL L76wKePn56f58+cbQ3M+8sgjWrBggUpLS40yJSUlRj8MSSorK5PVajXa8+/du1eOjo667777tHDh QtnbX/YgU9q9e7ccHR1177336tZbb9WRI0f07rvvSqrtU/DQQw8Z/RLq5pe4eDtXrFghNzc3jR8/ XjfeeKOx7J07d2rp0qUt2p7p06crMDBQVqvVGNr0woULslqtKisrk1Q70tNHH32kBQsW2Px98vLy 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 PDR27FgVFhZq/fr16t+/v2677Tb98ssv+sc//iE7OztJtXdWrodJ9gAAAHDta5PRk9LS0lRSUqKo qCj5+Pg0Wa579+4aN26ccnJy9N1337XFqk3Z29vr7rvvlr29vT777LPrfm6J06dP67vvvtO0adMU Gxur4OBgBQUFqaKiQl9++aVOnDihkJCQRt975513ytXVVV9++aXOnTt3lbccAAAA17NWdYSOjY01 hkZtyuHDh3X8+HGFhIQoNjbWGMVo4MCBxtVwNzc3oyOzJI0fP94YbrSl8vPzlZKSIk9PT5v1xcXF NbrM/v37q1OnTpKksLCwJk+2zWzYsEGlpaUaOnSoYmNjdeLECeXk5CgqKkpdunSxKdulSxdFRUVJ ktq3b6/Bgwc3usyxY8caIz0NGTLEGEGqTmpqqpKTk1VVVaW4uDi1a9dOycnJ2rNnj6TaPiNbt26V q6ursR/qRqa6lvpcAAAA4PrRqjsNQ4cONeZjuHDhgiTp1KlTsre3V2FhoSRpx44dcnd316hRozR0 6FDjvdu3b9fKlSslSa6ururfv78OHjwoqbbT9MaNGxudU+H06dM6ePCg8vLyJNWGhIMHD+r06dOS pKysLC1btkz33nuvzfpSU1P10Ucf2cx3IEkREREqKyvTwYMH5e3traCgIKWlpbVoPyxdulQdOnRQ eHi4pNqRjyorKxUeHq6AgABlZGQYZQMCAuTv72981qioKO3YsaPBMgcPHqyTJ09Kqh22dtu2bQ3u DOzevVtubm6qqKjQjz/+qA0bNhiv5eXlacmSJWrXrp3Nfjh+/Lg++eQT4+8DAAAANJfdQw/cX/PG 2+8oP++sacFV367QXffMV5G1UN4+vqZlAQAAAFybrIXnZLUWasP3azVxylTTspkZ6Xr/vfcuf54G AAAAAP/cCA0AAAAATBEaAAAAAJgiNAAAAAAwRWgAAAAAYKpVQ656enoacy2UlJSourq6TTfqanBz c5OjY+3HLysrU0VFxWUtz93dXQ4ODpKk8+fPNzo7tKOjo9zc3FRZWanz589f1vrakouLi6qrqy97 H1zL6upscXGxampqfu3NkSQ5ODjIxcWl1ZMOOjs7G3N6VFRUNBhW+GL/DN/btuLu7q6ysrKrtg9c XFzk7Oys8vJyY5jq+uzt7eXh4WHzXFFRUYNy9Y9bUu2Q1xcPUe3g4GAzJ0t1dbVKSkoaLKv+MUtq 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 PEVGRiowMFC//PKL0QQkKChIffr0Md5ntVptblnb2dlp3Lhxsre31+bNmzVgwADjrsxPP/2k3Nxc Y1u7d++uEydOqKysTOHh4ZJs61YdBwcH42pZY+2iW1O3KioqtHHjRo0fP152dnbatGlTo+3UGxMY GKjIyEjjiqGXl5diY2N14cIFbdq0yabsiBEjbO4g7N27V2fOnGl0uZ07d1ZsbKzy8/O1e/fuZm3L xdqqbjWHv7+/+vXrp3Pnzmnnzp0NjgV16urWzp07FRISYpx8p6amtqh5Vf26VXe1PyYmRj169LCp W9Klj1stYWdnp9TUVFVVVSkkJKTB6+3bt9eQIUOUnp5u/P1ramq0Zs0azZw5U2PGjNGKFSs0ZMgQ tW/fXnv27DGOr6mpqTp+/LimTZumiIgIpaWlqX///vrpp5+0c+dOSbVt6jdu3KiZM2fKYrFoyZIl Gjt2rNzd3bVt2zYVFhZKqv1+DRs2TKNGjdKePXvk6uqqsLAwrVmzxvj75+fn64cfftCUKVM0atQo rV69WrGxsZKk77//3vgObN++XRaLRQMHDtTmzZsVFRWl7t27a/v27Tp69KgkKTMzU/v27dPYsWN1 4403KjU1VSNHjlReXp7N33/9+vW67bbbNHz4cK1atapZocHf31+DBg3S4cOHlZycLKm22dOdd96p uLg4LV26tE1/D+zs7GSxWOTo6KiNGzcabfx37dqlsWPHauDAgUpJSVFQUJB69uypr7/+2ji25OTk aPfu3bJYLBo2bJhSUlI0duxYlZWVGdsu1X6/pkyZopiYGH3//fctCg0eHh42vykXu9p1i9AAXL/a JDQEBwcrPj5ejo6OysrKUnZ2tgICAhQXF6c+ffoYJzre3t4qKytTfn6+Tp48KVdXV40cOVLBwcHK ysrS3LlzdeLECQUHB6uiokIpKSk6f/68evfurfHjx2vr1q0qLy9XWFiY/Pz8lJGRocLCQp0+fVru 7u4aPHiwZs+erWPHjkmqPZiHh4fr7Nmz2r9//xUJDj179tTMmTNVWloqHx+fJssFBATopptuUlBQ kPbv329zYufk5KThw4crLCxMubm5mj17ts6cOaOgoCA5ODho8+bNKikpUefOnTVp0iSFhIQYP56+ vr7Kz8/XuXPnlJ6eLldXVw0YMEBz5syxOfnv3bu3iouLtWfPHl24cEF9+vSxOQkLDg6Wl5eXampq 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 q6+MH6+W+OMf/2h0Vn3ttdc0ZswYRUdH69NPP9XGjRuNcqNGjdLs2bONx8ePH9ef/vTdmntCAAAg AElEQVQnSbUTff31r3+1We6zzz7b6MRdM2fOtJmlU6rtN/Lee+8ZjwMCAvTCCy80eO/vfve7Rk+0 Zs+erVGjRkmqHZnof/7nfy75uev7wx/+IH9/f7388suaNGmSoqKitHjxYqMj9MqVK/X1119rxIgR Rj+Gw4cP6/PPP9fTTz+tgoICm9laP/jgA3l6eqqkpMQIkG+//bb27t1rlJkxY4amT5+u8vJyY36A +nWrjouLi958802b5xITE21u77e0btnZ2Rl9ee69995mnyhfLDQ01JhNtbCwUE888YTN682pWxaL RfHx8Tbvq1+36ktKSrIJPK+88orN0KlXom6Z6dOnjxYsWCCpttnKSy+9pL/85S+SameVrQt2L730 kkJCQlRaWmr0mVm6dKkRsFrj+eefN4YJvrhuXeq41RLz58/XkCFDGjxfv25JtSeizz33nE2ZRx55 pEFfkeYct6KiovTwww8bjxurW1LtsTsoKMh4vGjRIuMEsY7Zcau+S9UtSZo2bZomTpxoPL64bkm1 F1defvllm+cut27VKS8vv+SIP40ZOXJkg5GjsrOz9f/+3/9rUPZPf/qTzWSZb731lvbt22dTJi4u TtOnTzcet/a41Rz1j1slJSV64okn9Oabb8rBwUG//e1vbS4+XO26BeDXZS08J6u1UBu+X6uJU5oe 0U6SMjPS9f5777UuNHTp+n8TQBUXF6u6ulru7u5ydHTU+fPnjTajLi4uDZoFVVZWGifw9vb2DTpn FRUVNToJl5ubm5ycnFRWVqby8nI5OzvL1dVVFRUVxg+rg4NDo00kGrtCXbe9deqW21Kenp7GVeyS khI5OzvLycnJZj9ItSNH1f9RraqqMk4265+E1qnbrxdzdXVtMKpN/X0gNb5fpab3bf1lXrhwoUVX 4aX/2wclJSVycXEx6oGDg4OcnZ2NZdbfB5WVlSorK5Onp6eqq6tt2sPXhYa6QCrJ5oRR+r/QsH79 ei1dutRYZmMdJy8ebvfifdvSuuXh4WEMkXo5oaH+Mi/eB1Lz6lbdttZXv27V5+XlJTs7O+Nx/VAm XZm6Zebiz19SUmJ8D+p/Z+tCQ1JSkjFCW2u/r3Xq79uL69aljlstUVe3Ltac/dra45ajo6PNUKWN 1S2pth7Xv2N88TFLMj9u1XepuiU13K8X7wOp8WPh5datOjU1Na0aEOLifSA1vU/r1yupYd2SGn5n W3vcao76+6Hu89ct9+L9erXrFoBfV2tCQ6uaJzX2Y9bYQe9SJ6DV1dXNHtXo/PnzNj8w5eXlDQ5o VVVVzV5eW43KcfEB8+LtrFNRUdHkQbOmpqbZ211WVnbJmXdbsl+bu0wz9fdB/f1aUVFhs9zG9oHZ dhYXF1/yc5SXl1+yzKVev1TdCg4O1t13363c3Fy9++67rWrm0JhL1dfm1K3GvgdNudQJ05WoW2Ya +/xmyy4tLW2zdZt12m5NcG5KU8eDizV3vzbnuFVZWdmsZTUn7Jodt+przsl4c/ZrS46FZlryW3Ap zd0H0qVHsZOa/529UvuhqeVe7boF4Ppz2R2hgbZiZ2enOXPmGFcjp02bZjTPqW/w4MHq37+/pNp+ MnUdSK8Uq9Wq48ePa9CgQZo3b55mzZqlqqoqLV68uM1OLtG46dOnG/0BLBZLkyPuAACAK4sZtnBN sbe3b1Zb9WPHjjVraMO2kJ+fr+TkZLm4uMjOzk6VlZXG6EEtbTaBlrGzs7NpC12/CQwAALh6CA24 ZtTU1Gjx4sWXLLdjxw6js/3Vkpubq0WLFl3VdUIt7pQPAACuDJonAQAAADBFaAAAAABgqlXNk559 9lnj/++8844x0dP1ZObMmerVq5ckafXq1Zfd3GXevHnq0qWLpNrxrffv39+gzA033KBbb71VaWlp +uSTTy5rfW1p0qRJys/P/6ceR/vJJ5+Us7Oz3nrrLRUUFPzamyOpdrKyuLg4m/H6W2LUqFEaPXq0 JGn//v366quvTMs/8cQTxlCP77//vjGB1r+i+++/XytWrNDp06evyvrGjx+vYcOG6YcfftCaNWsa vN6xY0fdf//9Ns+9/PLLDTra1z9uSdL69eu1ZcsWmzI9e/bUrFmzjMdFRUV6/fXXG6zzvvvuk7+/ v/G4sePWgAEDbOasyMjIMCbyqq9+3ZKkjz76SKdOnbIpM3bsWI0YMcJ4/PPPP+uLL76wKePl5dVg foU33nijVbNBt5Xo6GhNmTLF5rmzZ8/qnXfeaVD24YcfNmZClqT//u//bjBfxbBhwzR+/Hjj8bFj x7RkyRKbMk5OTnrqqadsnnvvvfcanbunOXx8fGzmV7gW6haA60+r7jTs2LFDoaGhioyMbDCe+fXi 8OHDcnNzU2RkpDE6y+U4ePCgfH19FRkZKV9f30bL+Pj4KDIy8poaAWbUqFEaO3Zsm+yDa1lERIQi IyMbHTP/1xAUFKQZM2aoZ8+erV5GZmamSkpKFBkZaTORUlN2796t4OBgRUZGNpjb4V/JjBkzNGjQ oDaZ2bs5hgwZogkTJigyMlKdOnVq8HqHDh00c+ZMde/eXSkpKdq1a5ciIiI0Z84cmzHxb7rpJg0b Nky5ublKSUmRVDtR2MCBA40ywcHBuu222+Tn56eUlBSlpqaqf//+uuuuu2zWGR8fr0GDBiktLU0p KSny9PTUzTffrLCwMKNMVFSUJk+eLFdXV6WkpCg9PV0xMTG69dZbjTIODg6655571LdvXx04cEAp KSnq1KmT4uPjjYsokhQTE6PY2FhVVlYqJSVFBQUFGjlypCZMmGCU8fb21l133aXQ0FClpKQoJSXF OElt6pjalMDAQM2bN8/mX/1J6pqrT58+mjJlitzc3IxtOnbsmAYOHKjbb7/dpuysWbMUHR2tw4cP KyUlRe3atdO0adMUEhJilImOjtZNN90ke3t7paSkKCcnR8OGDdOkSZOMMm5ubrrnnnvUp08f7dmz RykpKeratavuuOMOmxPxlrhw4YL27t2ryMhIRUZG2syhIF39ugXg+tSqOw2rV6/WjBkzrtvAIEk/ /vijRo4cqR49erTJ8lJSUjR+/HjTk7esrCwlJydftaubzdG3b1917dr1196MK27dunXGpHPXgg4d Omjw4MFKS0tr9TKOHTumI0eOaPDgwc0qv27dOsXHxzc6AeK/ktGjRzc6Qd2VEBUVpbi4OJsTx/ra t28vi8Wifv36KTk5WcnJybK3t1dAQIDGjx+v3NxcJScn64YbblBcXJwyMzO1evVqpaWlqbCwULfc cossFouKi4tVVFRkDEv73XffKTk5Wd7e3urQoYPi4uJ05swZff/99xo5cqTi4uK0f/9+rV69Wrm5 uaqqqtLkyZNlsVhUVlYmBwcHWSwWeXt769tvv9XGjRsVGBiodu3ayWKx6OzZs0pJSdGECRMUFxen DRs2aPXq1SotLZWbm5tuuukmWSwWrVy5Un5+frJYLKqqqlJycrJ2796tEydOKD4+XnFxcTp37pwO Hz4si8WiIUOGaM2aNUpOTpZU+z2JjY1VXl6e/vd//7dZcwT4+/vLYrEoJibGuIPs7OyscePGKScn R+vWrWsw8VxTunfvrsjISG3dutXYph49emjq1KkaNWqUli1bJjs7O40bN05xcXFKSUlRcnKyzp07 JwcHB02aNEkWi0XffvutPDw8ZLFY5OTkpFWrVmn79u0KDg6Wr6+vLBaL8vPztXfvXsXGxmrMmDFa s2aNVq9ercrKSnl7eysuLk75+flatWpVi2fILisr07p162zuEtSJiYm5qnXr5MmTLdp2ANeONhs9 qVu3bvLw8FBmZqZxYO/YsWODcfaLi4uVnp4uqfYWbGhoqKqrq3X48GGFhYUZs2keP37cuH0aFBQk b29vZWdny8nJybgqXlBQYNPEwtXVtdEf58OHD7fZhFyN6dGjh1xcXExPxnx9feXs7Kzt27c3mPjG wcFBvXv3Nra1R48exhXxkydP2ky6ExAQoPbt29u832q1KjMz03js7Ozc6BXso0ePGpMU1f296mYH DQgIUEREhPLy8nTmzJmWfHz17NnTmEn41KlTKikpUefOneXr66szZ84YP3C+vr7q3Lmz8b7z58/r xIkTNssKDw+XnZ2dfvnlF3Xr1s0Ipunp6cbESXX7IC8vTxUVFcbV2/p1q46dnZ3Cw8O1c+dOSWow eVlr6lZVVZV++eUXhYWFGdt68ayvTfHx8VFgYKC6detmLDciIkKVlZUNmjGEhoba3BnJyMhochIt Hx8fRUREqKSkpEGzkOZqq7rVHF5eXurSpYtKS0t18uTJBseCOnV168SJE+rQ4f+3d+dxUVf748df MzD7fBwwl9DAJRS50nVJe7jdzKWyUruZofnrekXuw1alYhT3MvdHo17FrmaFpo/SrFx/5ZYPsz3N vJohgoiohKiIIgzDwMD3D76fcxmWYcCl/N7z/BOG4TNn3nPmc855n/dpIm72z58/X+80MzW21DZt 06YNer3eK7ag7n6rPsLDwykvL+fSpUs1njkSEhLC0KFDOXv2LBs3bgQqDnpbs2YNf/nLXxg5ciQH Dhxg6NChhISEsHbtWjHQ/PHHH2ndujVPPPEE2dnZZGRk0L9/f/7973/z+eefAxXv34YNG+jbty8x MTHs37+fUaNGoSgKmzdv5uLFiwDs3buXiIgI7r//fjIyMjAajdx3333s2bOH/fv3A/Dbb7+xfft2 5syZQ3R0NEeOHOHvf/87AOvWrRMD8q1bt9K5c2ceeughkpOT6dSpEx07dmTDhg0cOnQIgNTUVPbt 20dcXByPPvooubm5DB8+nNzcXK/UzQ8//JCePXsybNgwfv75Z78GDa1atWLQoEGcOHFCVDyz2Ww8 8MADxMbG8vXXX/s9aPCHVqslJiaGwMBAPvroI65cuQLAjh07iIqKol+/fqSlpdGyZUu6dOnC1q1b +f777wE4ffo0u3btYsqUKSJ1ddSoUbhcLq9qbZ988gndu3dn8ODBHD16tF6DBvUzW9vK2q2OLTlo kKTb1w0ZNJjNZsaOHUtYWBgrV67kwIEDGAwGHn74YR588EFx86/T6UhPT2fx4sU4nU6CgoKIj48n MDCQ8ePHM2XKFEpLSzGbzcyePZvU1FQ8Hg9Dhgyhd+/ebNy4EavVSr9+/dDr9Rw4cICkpCQxM9a+ fXsSEhLETblGo8FqtfLyyy9z4cKFm1JT32Kx8MILLxAcHOxz5eXPf/4zMTExmEwmfvnlF+bOnSt+ ZzKZePXVV7FarcTFxREfH49Op8NkMrFo0SKOHDmCx+PBaDQydOhQ+vTp49Wmx44d41//+hdFRUVo tVrCwsKYMWOG142Q1Wpl6tSpnDlzhrKyMoYPH06HDh3EF8n9999Pjx492L17d73LXL700ktiMLB0 6VKOHTvG8OHD6d27N59++ilbt27F7XYTFRXF6NGjAQgMDCQnJ4c5c+aI9ysgIIC4uDiCgoKYPHky MTExNG/eHLPZzMqVK/nhhx8oLS2lb9++PPbYY+zbt4/z588zbNiwarGl0uv1vPLKKyiKgkajYcKE CV6DoobEltPpZNasWUyfPp2ioiImTpwobhTq0rFjR8aMGUNgYMVHr1mzZrzyyitcvXqViRMnej12 7Nix4kbTbDazatUqvvvuuxoHKJGRkYSHh3P69GkcDke9Tzy/kbHljw4dOhAfH8+JEyd47bXXCA4O 5rXXXsPlcjFmzBjxuJiYGNq0acOiRYvo168fERERmEwmPv74Y3bu3On3adhqbAUEBIiBx9NPP43H 4+Gtt97iyJEjAH71W/WxZcsWtmzZwqhRoxg6dKjPx6r9VXl5uc+ThY1GIzqdzufp3QEBAZjN5jrf D7PZTEBAgM8VuMDAQEwmU50DY4vFglar9XkasF6vx2Aw1DnAVBQF8O+EZV+0Wi0Wi6XBK0tutxuX y4VOpxPXZLFY8Hg8tb5OtU19xYpOp8NoNNbZDlarFY1G0+B20Gq1tGnThhkzZvh1SvOtji1Jkm4v N6R6UlxcHOHh4axevZrDhw8DFbMXAwcOZN++fdjtdux2O++//z4RERG8+OKLAOTm5vL6669jMBhw OBwYDAZef/11cnNziY+Pp3Xr1kDFprqffvqJYcOGUVhYiN1uZ9u2bfTo0UPkU4aHhzNhwgRycnLE /0tISKCsrIzZs2d7bU67kaZOnUpISAiJiYmkpqbW+rjvv/++2mY3VWFhIZMnT6a8vJw5c+Zgs9lY uHAhWVlZvPjii0RGRgIQHR1Nnz59+Pzzz8Vr3LhxI507dyY2NhaAu+66i4SEBK5evSoeY7fbcTqd TJs2TczKr1y5Ervdzs8//wzA9u3bsdvtbN++/bra4x//+AcOh4Pu3bsD8Nhjj/HII48AFbNX6vWs WLGCsLAwrxtlj8dDQkICTqeT6dOns3btWux2OydPniQmJoYuXboAsG3bNr744gv69etH8+bNa4wt VXFxMXa7vdabS39iq127dl6xtWDBAhYsWEBAQAAzZsyo1ybNgwcPYrfbxebnrKws7HY7s2bNqvbY efPmifZKTU1lzJgxXjnGlR06dIg1a9bQvn17xo8f7/f1qG5kbN1ICxYsEJ+Dr776CrvdzsGDB3ni iSfo16+f38+jxpbdbhcDvKVLl2K32/n111/F4/zpt26W4OBgHA4HCxcuFCuuNXnmmWdwOBw+T0Jv 27YtDoeDhIQEn/9z/PjxOBwOoqKian3Mvffei8Ph4Nlnn/X5XDNnzsThcPhM0RwwYAAOh6PafoDK TCYTDocDh8PhtaejIUJCQnA4HLz22msN+vuvv/6ajz/+mM6dO4triouL48KFC8yePbvGv5k0aRIO h4Pw8PBan7d37944HA6xUlObefPm4XA4GrznLCwsDLvdTl5eHjNnzqzz8bc6tiRJur1c90rD888/ T8uWLfnwww85fPiwmDkxGo0YjUa6desmcuYbNWqETqcTaTxlZWVcu3YNjUaDzWZjwYIFZGdnU1ZW htVqFZu1ioqKcLvdmEwmysvLyc/Px+VyodfrxUx5YGAgVquVwMBA4uLigIqZO61WS6NGjXx+CTfU q6++SmhoKO+88w4nTpzwORNXUlJS64yL+pqgoo2WLFlCZmYmHo8Hi8UiZqVNJhMGg4FevXqJdKag oCB0Op34cg0ICEBRFHJzc72W8t98800CAgLEsrY6C6a+Xy6Xy6+lf1/WrFlDnz59CA8PZ+vWrbRo 0YLu3buLFZiOHTsyZMgQoGK2Tr3WyvLz8ykvL0dRFJxOJ/n5+ZSWlmKxWERaicvlwuVyYTAY0Gq1 5Ofn43Q6vWKrpuesiT+xpc5O5+XlkZ+fT1lZmRiEXrt2rV4rWCUlJZSUlIhZP4/HU2u7x8TEiA2g YWFhmM1mkQZW0/MePnyY9evX8+STT/Lss8/y9ttv+31d/sTWhQsXWLt2LePGjePZZ5/lzTffBKrH 1o1UUFAgPgdut5v8/HxKSkrE9daH2s7qDGlhYWG1tlf7reLiYvG7oqKiWmPrRtJqtdhsNkpKSnye fG02m7HZbLXGAlTErM1mq3NlxGKxYLPZfBYI0Ol02Gy2Ol+/oijYbLZqm2wrMxgM2Gw2n5vQ1e8D 4Lr7bbUdGqpz584MGDCA1NRUUempRYsW/O1vfyM2NpalS5dW+xur1YrNZhP9dk30en2d7QAV3wdG o7FaOwwfPlxMJlV17NgxNm/eTOvWrRk3bhxFRUUkJibWmtpY2a2OLUmSbi/XPWhQZ1MyMzNrXEL9 7bff+Omnn7x+Vlsqx/Hjx/F4PHzyySeYTKZ659ZDxRe8Wv0BEGVE/Vmara+IiAj0ej3p6ek3dAk2 NTUVt9vNtm3bUBSFc+fOef3+3LlzIp1CVVfZ28p54jfL6dOn6dy5M1Dxvleu0FO5CsmXX35JSEiI WEmSqhs5ciRdunRh165d5OXlERQUVGeKxbVr18jMzMRsNje4KpOv2HK5XBw6dIhNmzYxbNgwYmJi gIq886rlG6X6KygoICkpibKyMp+pH19++SUpKSmkpKTQs2fPGh+Tk5NDUlJSnTd2n332Gd988w2Z mZlidbCq9PR0kpKSuHz5ss/n+uijjzAYDD4Hj0ePHsXpdJKVlSX2U1XldrtFPr+vNJlb4Y477qBF ixZkZGSQnJwsrslgMHiVJ61s8+bNWCwWsrOza33e48ePk5SUVGcJ1XXr1hEQEFDthj8tLa3WyQb1 /1osFtq2bcvZs2dJS0vzK0XrVseWJEm3l+seNHz77bdERUVx7733cuHCBbH5SZWRkSGqTvjr66+/ bvD1FBQU1Pv//VGpm+WqSktLu+1eY6tWrYiKihJVSP70pz+JtCWpun79+mE2m/nuu+84e/Ys3bp1 86us6vWqK7acTie7du0iODgYrVZL//79uXTpEnv27Pndb/Budy6Xy6/P9dGjRzl69ChArTd2eXl5 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 --MP_/7h1IBQOheGmvdkKEYSqJMUa-- --=_freyr.drzeus.cx-19428-1236506409-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkmzlykACgkQ7b8eESbyJLhiMACdGFq+Xjkshzdx0SVnV9fmX2ks JmUAoMN2nbJsB3gfk9qoqIQuGKG1Bcx4 =snLN -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-19428-1236506409-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail172.messagelabs.com (mail172.messagelabs.com [216.82.254.3]) by kanga.kvack.org (Postfix) with ESMTP id EBF216B00A1 for ; Sun, 8 Mar 2009 06:36:28 -0400 (EDT) Date: Sun, 8 Mar 2009 11:36:19 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090308113619.0b610f31@mjolnir.ossman.eu> In-Reply-To: <20090308110006.0208932d@mjolnir.ossman.eu> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090307141316.85cb1f62.akpm@linux-foundation.org> <20090308110006.0208932d@mjolnir.ossman.eu> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-19852-1236508583-0001-2" Sender: owner-linux-mm@kvack.org To: Andrew Morton Cc: bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-19852-1236508583-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Sun, 8 Mar 2009 11:00:06 +0100 Pierre Ossman wrote: >=20 > I'm having problems booting this machine on a vanilla 2.26.6. Fedora's > kernel works nice though, so I guess they have a bug fix for this. I've > attached a screenshot in case it rings any bells. >=20 It turns out it's your backported patch that's the problem. I'll see if I can get it working. :) Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-19852-1236508583-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkmzn6YACgkQ7b8eESbyJLhnZACdFJmwpB9mE5vi7PZBZye90FDl r7gAnjoBjgGntaMPVBkYBgT4d3PiwWps =1O+5 -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-19852-1236508583-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail172.messagelabs.com (mail172.messagelabs.com [216.82.254.3]) by kanga.kvack.org (Postfix) with SMTP id E10036B00A3 for ; Sun, 8 Mar 2009 08:39:31 -0400 (EDT) Date: Sun, 8 Mar 2009 20:38:25 +0800 From: Wu Fengguang Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090308123825.GA25172@localhost> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090307141316.85cb1f62.akpm@linux-foundation.org> <20090308110006.0208932d@mjolnir.ossman.eu> <20090308113619.0b610f31@mjolnir.ossman.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090308113619.0b610f31@mjolnir.ossman.eu> Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Andrew Morton , bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org List-ID: On Sun, Mar 08, 2009 at 11:36:19AM +0100, Pierre Ossman wrote: > On Sun, 8 Mar 2009 11:00:06 +0100 > Pierre Ossman wrote: > > > > > I'm having problems booting this machine on a vanilla 2.26.6. Fedora's > > kernel works nice though, so I guess they have a bug fix for this. I've > > attached a screenshot in case it rings any bells. > > > > It turns out it's your backported patch that's the problem. I'll see if > I can get it working. :) Pierre, you can try the following fixed and combined patch and boot kernel with "initcall_debug bootmem_debug". The boot hung was due to this chunk floated from reserve_bootmem_core() into free_bootmem_core()... @@ -213,10 +229,10 @@ static void __init free_bootmem_core(boo if (eidx > bdata->node_low_pfn - PFN_DOWN(bdata->node_boot_start)) eidx = bdata->node_low_pfn - PFN_DOWN(bdata->node_boot_start); - for (i = sidx; i < eidx; i++) { - if (unlikely(!test_and_clear_bit(i, bdata->node_bootmem_map))) - BUG(); - } + for (i = sidx; i < eidx; i++) + if (test_and_set_bit(i, bdata->node_bootmem_map)) + bdebug("hm, page %lx reserved twice.\n", + PFN_DOWN(bdata->node_boot_start) + i); } /* Thanks, Fengguang --- From: Andrew Morton --- init/main.c | 2 ++ mm/bootmem.c | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) --- mm.orig/mm/bootmem.c +++ mm/mm/bootmem.c @@ -48,6 +48,22 @@ unsigned long __init bootmem_bootmap_pag return mapsize; } +static int bootmem_debug; + +static int __init bootmem_debug_setup(char *buf) +{ + bootmem_debug = 1; + return 0; +} +early_param("bootmem_debug", bootmem_debug_setup); + +#define bdebug(fmt, args...) ({ \ + if (unlikely(bootmem_debug)) \ + printk(KERN_INFO \ + "bootmem::%s " fmt, \ + __FUNCTION__, ## args); \ +}) + /* * link bdata in order */ @@ -172,6 +188,14 @@ static void __init reserve_bootmem_core( if (eidx > bdata->node_low_pfn - PFN_DOWN(bdata->node_boot_start)) eidx = bdata->node_low_pfn - PFN_DOWN(bdata->node_boot_start); + bdebug("size=%lx [%lu pages] start=%lx end=%lx flags=%x\n", + size, PAGE_ALIGN(size) >> PAGE_SHIFT, + sidx + PFN_DOWN(bdata->node_boot_start), + eidx + PFN_DOWN(bdata->node_boot_start), + flags); + if (bootmem_debug) + dump_stack(); + for (i = sidx; i < eidx; i++) { if (test_and_set_bit(i, bdata->node_bootmem_map)) { #ifdef CONFIG_DEBUG_BOOTMEM @@ -252,6 +276,12 @@ __alloc_bootmem_core(struct bootmem_data if (!bdata->node_bootmem_map) return NULL; + bdebug("size=%lx [%lu pages] align=%lx goal=%lx limit=%lx\n", + size, PAGE_ALIGN(size) >> PAGE_SHIFT, + align, goal, limit); + if (bootmem_debug) + dump_stack(); + /* bdata->node_boot_start is supposed to be (12+6)bits alignment on x86_64 ? */ node_boot_start = bdata->node_boot_start; node_bootmem_map = bdata->node_bootmem_map; @@ -359,6 +389,10 @@ found: ret = phys_to_virt(start * PAGE_SIZE + node_boot_start); } + bdebug("start=%lx end=%lx\n", + start + PFN_DOWN(bdata->node_boot_start), + start + areasize + PFN_DOWN(bdata->node_boot_start)); + /* * Reserve the area now: */ @@ -432,6 +466,7 @@ static unsigned long __init free_all_boo } total += count; bdata->node_bootmem_map = NULL; + bdebug("released=%lx\n", count); return total; } --- mm.orig/init/main.c +++ mm/init/main.c @@ -60,6 +60,7 @@ #include #include #include +#include #include #include @@ -714,6 +715,7 @@ static void __init do_one_initcall(initc print_fn_descriptor_symbol("initcall %s", fn); printk(" returned %d after %Ld msecs\n", result, (unsigned long long) delta.tv64 >> 20); + printk("remaining memory: %d\n", nr_free_buffer_pages()); } msgbuf[0] = 0; -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail203.messagelabs.com (mail203.messagelabs.com [216.82.254.243]) by kanga.kvack.org (Postfix) with ESMTP id 0B22F6B00A5 for ; Sun, 8 Mar 2009 10:27:03 -0400 (EDT) Date: Sun, 8 Mar 2009 15:26:53 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090308152653.7e01f26b@mjolnir.ossman.eu> In-Reply-To: <20090308123825.GA25172@localhost> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090307141316.85cb1f62.akpm@linux-foundation.org> <20090308110006.0208932d@mjolnir.ossman.eu> <20090308113619.0b610f31@mjolnir.ossman.eu> <20090308123825.GA25172@localhost> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-22420-1236522416-0001-2" Sender: owner-linux-mm@kvack.org To: Wu Fengguang Cc: Andrew Morton , bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-22420-1236522416-0001-2 Content-Type: multipart/mixed; boundary="MP_/.j8I8Ps1XCBVeaGBuHT_5/." --MP_/.j8I8Ps1XCBVeaGBuHT_5/. Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Sun, 8 Mar 2009 20:38:25 +0800 Wu Fengguang wrote: >=20 > Pierre, you can try the following fixed and combined patch and boot kernel > with "initcall_debug bootmem_debug". >=20 > The boot hung was due to this chunk floated from reserve_bootmem_core() i= nto > free_bootmem_core()... >=20 Yeah, I found that as well. I'm getting a decent output now. Included are the dmesg dumps of bootmem_debug. I'll get the initcall stuff in a bit. Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --MP_/.j8I8Ps1XCBVeaGBuHT_5/. Content-Type: application/octet-stream; name=dmesg.26 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=dmesg.26 SW5pdGlhbGl6aW5nIGNncm91cCBzdWJzeXMgY3B1c2V0CkxpbnV4IHZlcnNpb24gMi42LjI2LjYg KHJvb3RAYnVpbGRlci5kcnpldXMuY3gpIChnY2MgdmVyc2lvbiA0LjMuMCAyMDA4MDQyOCAoUmVk IEhhdCA0LjMuMC04KSAoR0NDKSApICM3IFNNUCBTdW4gTWFyIDggMTI6NTI6MDAgQ0VUIDIwMDkK Q29tbWFuZCBsaW5lOiBybyByb290PS9kZXYvVm9sR3JvdXAwMC9Mb2dWb2wwMCBib290bWVtX2Rl YnVnCkJJT1MtcHJvdmlkZWQgcGh5c2ljYWwgUkFNIG1hcDoKIEJJT1MtZTgyMDogMDAwMDAwMDAw MDAwMDAwMCAtIDAwMDAwMDAwMDAwOWZjMDAgKHVzYWJsZSkKIEJJT1MtZTgyMDogMDAwMDAwMDAw MDA5ZmMwMCAtIDAwMDAwMDAwMDAwYTAwMDAgKHJlc2VydmVkKQogQklPUy1lODIwOiAwMDAwMDAw MDAwMGU4MDAwIC0gMDAwMDAwMDAwMDEwMDAwMCAocmVzZXJ2ZWQpCiBCSU9TLWU4MjA6IDAwMDAw MDAwMDAxMDAwMDAgLSAwMDAwMDAwMDFmZmYwMDAwICh1c2FibGUpCiBCSU9TLWU4MjA6IDAwMDAw MDAwMWZmZjAwMDAgLSAwMDAwMDAwMDIwMDAwMDAwIChBQ1BJIGRhdGEpCiBCSU9TLWU4MjA6IDAw MDAwMDAwZmZmYmQwMDAgLSAwMDAwMDAwMTAwMDAwMDAwIChyZXNlcnZlZCkKUEFUIGRpc2FibGVk LiBOb3QgeWV0IHZlcmlmaWVkIG9uIHRoaXMgQ1BVIHR5cGUuCkVudGVyaW5nIGFkZF9hY3RpdmVf cmFuZ2UoMCwgMCwgMTU5KSAwIGVudHJpZXMgb2YgMjU2MDAgdXNlZApFbnRlcmluZyBhZGRfYWN0 aXZlX3JhbmdlKDAsIDI1NiwgMTMxMDU2KSAxIGVudHJpZXMgb2YgMjU2MDAgdXNlZAptYXhfcGZu X21hcHBlZCA9IDEwNDg1NzYKaW5pdF9tZW1vcnlfbWFwcGluZwpETUkgMi40IHByZXNlbnQuCkFD UEk6IFJTRFAgMDAwRkI5RDAsIDAwMTQgKHIwIFFFTVUgICkKQUNQSTogUlNEVCAxRkZGMDAwMCwg MDAyQyAocjEgUUVNVSAgIFFFTVVSU0RUICAgICAgICAxIFFFTVUgICAgICAgIDEpCkFDUEk6IEZB Q1AgMUZGRjAwMkMsIDAwNzQgKHIxIFFFTVUgICBRRU1VRkFDUCAgICAgICAgMSBRRU1VICAgICAg ICAxKQpBQ1BJOiBEU0RUIDFGRkYwMTAwLCAyNTNDIChyMSAgIEJYUEMgICBCWERTRFQgICAgICAg IDEgSU5UTCAyMDA2MTEwOSkKQUNQSTogRkFDUyAxRkZGMDBDMCwgMDA0MApBQ1BJOiBBUElDIDFG RkYyNjQwLCAwMEUwIChyMSBRRU1VICAgUUVNVUFQSUMgICAgICAgIDEgUUVNVSAgICAgICAgMSkK Tm8gTlVNQSBjb25maWd1cmF0aW9uIGZvdW5kCkZha2luZyBhIG5vZGUgYXQgMDAwMDAwMDAwMDAw MDAwMC0wMDAwMDAwMDFmZmYwMDAwCkVudGVyaW5nIGFkZF9hY3RpdmVfcmFuZ2UoMCwgMCwgMTU5 KSAwIGVudHJpZXMgb2YgMjU2MDAgdXNlZApFbnRlcmluZyBhZGRfYWN0aXZlX3JhbmdlKDAsIDI1 NiwgMTMxMDU2KSAxIGVudHJpZXMgb2YgMjU2MDAgdXNlZApCb290bWVtIHNldHVwIG5vZGUgMCAw MDAwMDAwMDAwMDAwMDAwLTAwMDAwMDAwMWZmZjAwMDAKICBOT0RFX0RBVEEgWzAwMDAwMDAwMDAw MGIwMDAgLSAwMDAwMDAwMDAwMDFmZmZmXQogIGJvb3RtYXAgWzAwMDAwMDAwMDAwMjAwMDAgLSAg MDAwMDAwMDAwMDAyM2ZmZl0gcGFnZXMgNAogIGVhcmx5IHJlczogMCBbMC1mZmZdIEJJT1MgZGF0 YSBwYWdlCiAgZWFybHkgcmVzOiAxIFs2MDAwLTdmZmZdIFRSQU1QT0xJTkUKICBlYXJseSByZXM6 IDIgWzIwMDAwMC04NDc1NGJdIFRFWFQgREFUQSBCU1MKICBlYXJseSByZXM6IDMgWzFmYzk4MDAw LTFmZmRmZDk4XSBSQU1ESVNLCiAgZWFybHkgcmVzOiA0IFs5ZmMwMC1mZmZmZl0gQklPUyByZXNl cnZlZAogIGVhcmx5IHJlczogNSBbODAwMC1hZmZmXSBQR1RBQkxFCmJvb3RtZW06Ol9fYWxsb2Nf Ym9vdG1lbV9jb3JlIHNpemU9NDAwMCBbNCBwYWdlc10gYWxpZ249ODAgZ29hbD0wIGxpbWl0PWZm ZmZmZmZmClBpZDogMCwgY29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAyLjYuMjYuNiAjNwoKQ2Fs bCBUcmFjZToKIFs8ZmZmZmZmZmY4MTRhNWE4Yz5dIF9fYWxsb2NfYm9vdG1lbV9jb3JlKzB4YTYv MHgzYjMKIFs8ZmZmZmZmZmY4MTRhMDk0YT5dID8gc2V0dXBfbm9kZV9ib290bWVtKzB4MjY1LzB4 MjdkCiBbPGZmZmZmZmZmODE0OGUxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDczCiBb PGZmZmZmZmZmODE0YTVkZTU+XSBfX2FsbG9jX2Jvb3RtZW1fbG93KzB4MzQvMHg3YwogWzxmZmZm ZmZmZjgxNDk5NDM0Pl0gYWNwaV9yZXNlcnZlX2Jvb3RtZW0rMHgzMS8weDVlCiBbPGZmZmZmZmZm ODE0OTUyZDY+XSBzZXR1cF9hcmNoKzB4MzhhLzB4NTZjCiBbPGZmZmZmZmZmODE0OGViMGI+XSBz dGFydF9rZXJuZWwrMHg3ZC8weDM1YgogWzxmZmZmZmZmZjgxNDhlNDUxPl0geDg2XzY0X3N0YXJ0 X2tlcm5lbCsweDI1Ni8weDI2NQoKYm9vdG1lbTo6X19hbGxvY19ib290bWVtX2NvcmUgc3RhcnQ9 MSBlbmQ9NQpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzaXplPTEwMDAgWzEgcGFnZXNd IGFsaWduPTgwIGdvYWw9MTAwMDAwMCBsaW1pdD0wClBpZDogMCwgY29tbTogc3dhcHBlciBOb3Qg dGFpbnRlZCAyLjYuMjYuNiAjNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTI5N2RhMT5dID8g cHJpbnRrKzB4NjcvMHg2ZQogWzxmZmZmZmZmZjgxNGE1YThjPl0gX19hbGxvY19ib290bWVtX2Nv cmUrMHhhNi8weDNiMwogWzxmZmZmZmZmZjgxMDBkOWE4Pl0gPyBzaG93X3RyYWNlKzB4NGUvMHg1 NwogWzxmZmZmZmZmZjgxNGE1ZmE2Pl0gX19hbGxvY19ib290bWVtX25vZGUrMHgyNS8weDQwCiBb PGZmZmZmZmZmODEyODlkYTE+XSBzcGFyc2VfaW5kZXhfYWxsb2MrMHg1NS8weDcwCiBbPGZmZmZm ZmZmODE0YTc0MjI+XSBtZW1vcnlfcHJlc2VudCsweDZkLzB4ZGUKIFs8ZmZmZmZmZmY4MTQ4ZTE0 MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzMKIFs8ZmZmZmZmZmY4MTRhNjYyYj5dIHNw YXJzZV9tZW1vcnlfcHJlc2VudF93aXRoX2FjdGl2ZV9yZWdpb25zKzB4NWMvMHg4ZgogWzxmZmZm ZmZmZjgxNGEwNGU3Pl0gcGFnaW5nX2luaXQrMHgzZS8weDUyCiBbPGZmZmZmZmZmODE0OTU0MjY+ XSBzZXR1cF9hcmNoKzB4NGRhLzB4NTZjCiBbPGZmZmZmZmZmODE0OGViMGI+XSBzdGFydF9rZXJu ZWwrMHg3ZC8weDM1YgogWzxmZmZmZmZmZjgxNDhlNDUxPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsw eDI1Ni8weDI2NQoKYm9vdG1lbTo6X19hbGxvY19ib290bWVtX2NvcmUgc3RhcnQ9MTAwMCBlbmQ9 MTAwMQpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzaXplPTEwMDAwMCBbMjU2IHBhZ2Vz XSBhbGlnbj04MCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90 IHRhaW50ZWQgMi42LjI2LjYgIzcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODE0YTVhOGM+XSBf X2FsbG9jX2Jvb3RtZW1fY29yZSsweGE2LzB4M2IzCiBbPGZmZmZmZmZmODE0OGUxNDA+XSA/IGVh cmx5X2lkdF9oYW5kbGVyKzB4MC8weDczCiBbPGZmZmZmZmZmODE0YTVmMWQ+XSBfX2FsbG9jX2Jv b3RtZW1fbm9wYW5pYysweDMxLzB4NWMKIFs8ZmZmZmZmZmY4MTRhNWY1OT5dIF9fYWxsb2NfYm9v dG1lbSsweDExLzB4MzkKIFs8ZmZmZmZmZmY4MTRhNzFkZT5dIHNwYXJzZV9pbml0KzB4MzUvMHgx OGQKIFs8ZmZmZmZmZmY4MTQ4ZTE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzMKIFs8 ZmZmZmZmZmY4MTRhMDRlYz5dIHBhZ2luZ19pbml0KzB4NDMvMHg1MgogWzxmZmZmZmZmZjgxNDk1 NDI2Pl0gc2V0dXBfYXJjaCsweDRkYS8weDU2YwogWzxmZmZmZmZmZjgxNDhlYjBiPl0gc3RhcnRf a2VybmVsKzB4N2QvMHgzNWIKIFs8ZmZmZmZmZmY4MTQ4ZTQ1MT5dIHg4Nl82NF9zdGFydF9rZXJu ZWwrMHgyNTYvMHgyNjUKCmJvb3RtZW06Ol9fYWxsb2NfYm9vdG1lbV9jb3JlIHN0YXJ0PTEwMDEg ZW5kPTExMDEKYm9vdG1lbTo6X19hbGxvY19ib290bWVtX2NvcmUgc2l6ZT0xOCBbMSBwYWdlc10g YWxpZ249ODAgZ29hbD0xMDAwMDAwIGxpbWl0PTAKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0 YWludGVkIDIuNi4yNi42ICM3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxNGE1ZDU1Pl0gPyBf X2FsbG9jX2Jvb3RtZW1fY29yZSsweDM2Zi8weDNiMwogWzxmZmZmZmZmZjgxNGE1YThjPl0gX19h bGxvY19ib290bWVtX2NvcmUrMHhhNi8weDNiMwogWzxmZmZmZmZmZjgxNDhlMTQwPl0gPyBlYXJs eV9pZHRfaGFuZGxlcisweDAvMHg3MwogWzxmZmZmZmZmZjgxNGE1ZmE2Pl0gX19hbGxvY19ib290 bWVtX25vZGUrMHgyNS8weDQwCiBbPGZmZmZmZmZmODE0YTcyNGM+XSBzcGFyc2VfaW5pdCsweGEz LzB4MThkCiBbPGZmZmZmZmZmODE0OGUxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDcz CiBbPGZmZmZmZmZmODE0YTA0ZWM+XSBwYWdpbmdfaW5pdCsweDQzLzB4NTIKIFs8ZmZmZmZmZmY4 MTQ5NTQyNj5dIHNldHVwX2FyY2grMHg0ZGEvMHg1NmMKIFs8ZmZmZmZmZmY4MTQ4ZWIwYj5dIHN0 YXJ0X2tlcm5lbCsweDdkLzB4MzViCiBbPGZmZmZmZmZmODE0OGU0NTE+XSB4ODZfNjRfc3RhcnRf a2VybmVsKzB4MjU2LzB4MjY1Cgpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzdGFydD0x MTAxIGVuZD0xMTAyCmJvb3RtZW06Ol9fYWxsb2NfYm9vdG1lbV9jb3JlIHNpemU9MTggWzEgcGFn ZXNdIGFsaWduPTgwIGdvYWw9MTAwMDAwMCBsaW1pdD0wClBpZDogMCwgY29tbTogc3dhcHBlciBO b3QgdGFpbnRlZCAyLjYuMjYuNiAjNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTRhNWQ1NT5d ID8gX19hbGxvY19ib290bWVtX2NvcmUrMHgzNmYvMHgzYjMKIFs8ZmZmZmZmZmY4MTRhNWE4Yz5d IF9fYWxsb2NfYm9vdG1lbV9jb3JlKzB4YTYvMHgzYjMKIFs8ZmZmZmZmZmY4MTQ4ZTE0MD5dID8g ZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzMKIFs8ZmZmZmZmZmY4MTRhNWZhNj5dIF9fYWxsb2Nf Ym9vdG1lbV9ub2RlKzB4MjUvMHg0MAogWzxmZmZmZmZmZjgxNGE3MjRjPl0gc3BhcnNlX2luaXQr MHhhMy8weDE4ZAogWzxmZmZmZmZmZjgxNDhlMTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAv MHg3MwogWzxmZmZmZmZmZjgxNGEwNGVjPl0gcGFnaW5nX2luaXQrMHg0My8weDUyCiBbPGZmZmZm ZmZmODE0OTU0MjY+XSBzZXR1cF9hcmNoKzB4NGRhLzB4NTZjCiBbPGZmZmZmZmZmODE0OGViMGI+ XSBzdGFydF9rZXJuZWwrMHg3ZC8weDM1YgogWzxmZmZmZmZmZjgxNDhlNDUxPl0geDg2XzY0X3N0 YXJ0X2tlcm5lbCsweDI1Ni8weDI2NQoKYm9vdG1lbTo6X19hbGxvY19ib290bWVtX2NvcmUgc3Rh cnQ9MTEwMiBlbmQ9MTEwMgpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzaXplPTE4IFsx IHBhZ2VzXSBhbGlnbj04MCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBw ZXIgTm90IHRhaW50ZWQgMi42LjI2LjYgIzcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODE0YTVk NTU+XSA/IF9fYWxsb2NfYm9vdG1lbV9jb3JlKzB4MzZmLzB4M2IzCiBbPGZmZmZmZmZmODE0YTVh OGM+XSBfX2FsbG9jX2Jvb3RtZW1fY29yZSsweGE2LzB4M2IzCiBbPGZmZmZmZmZmODE0OGUxNDA+ XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDczCiBbPGZmZmZmZmZmODE0YTVmYTY+XSBfX2Fs bG9jX2Jvb3RtZW1fbm9kZSsweDI1LzB4NDAKIFs8ZmZmZmZmZmY4MTRhNzI0Yz5dIHNwYXJzZV9p bml0KzB4YTMvMHgxOGQKIFs8ZmZmZmZmZmY4MTQ4ZTE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIr MHgwLzB4NzMKIFs8ZmZmZmZmZmY4MTRhMDRlYz5dIHBhZ2luZ19pbml0KzB4NDMvMHg1MgogWzxm ZmZmZmZmZjgxNDk1NDI2Pl0gc2V0dXBfYXJjaCsweDRkYS8weDU2YwogWzxmZmZmZmZmZjgxNDhl YjBiPl0gc3RhcnRfa2VybmVsKzB4N2QvMHgzNWIKIFs8ZmZmZmZmZmY4MTQ4ZTQ1MT5dIHg4Nl82 NF9zdGFydF9rZXJuZWwrMHgyNTYvMHgyNjUKCmJvb3RtZW06Ol9fYWxsb2NfYm9vdG1lbV9jb3Jl IHN0YXJ0PTExMDIgZW5kPTExMDIKYm9vdG1lbTo6X19hbGxvY19ib290bWVtX2NvcmUgc2l6ZT0x OCBbMSBwYWdlc10gYWxpZ249ODAgZ29hbD0xMDAwMDAwIGxpbWl0PTAKUGlkOiAwLCBjb21tOiBz d2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNi42ICM3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgx NGE1ZDU1Pl0gPyBfX2FsbG9jX2Jvb3RtZW1fY29yZSsweDM2Zi8weDNiMwogWzxmZmZmZmZmZjgx NGE1YThjPl0gX19hbGxvY19ib290bWVtX2NvcmUrMHhhNi8weDNiMwogWzxmZmZmZmZmZjgxNDhl MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MwogWzxmZmZmZmZmZjgxNGE1ZmE2Pl0g X19hbGxvY19ib290bWVtX25vZGUrMHgyNS8weDQwCiBbPGZmZmZmZmZmODE0YTcyNGM+XSBzcGFy c2VfaW5pdCsweGEzLzB4MThkCiBbPGZmZmZmZmZmODE0OGUxNDA+XSA/IGVhcmx5X2lkdF9oYW5k bGVyKzB4MC8weDczCiBbPGZmZmZmZmZmODE0YTA0ZWM+XSBwYWdpbmdfaW5pdCsweDQzLzB4NTIK IFs8ZmZmZmZmZmY4MTQ5NTQyNj5dIHNldHVwX2FyY2grMHg0ZGEvMHg1NmMKIFs8ZmZmZmZmZmY4 MTQ4ZWIwYj5dIHN0YXJ0X2tlcm5lbCsweDdkLzB4MzViCiBbPGZmZmZmZmZmODE0OGU0NTE+XSB4 ODZfNjRfc3RhcnRfa2VybmVsKzB4MjU2LzB4MjY1Cgpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1f Y29yZSBzdGFydD0xMTAyIGVuZD0xMTAyCmJvb3RtZW06Ol9fYWxsb2NfYm9vdG1lbV9jb3JlIHNp emU9MTAwMCBbMSBwYWdlc10gYWxpZ249MTAwMCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAs IGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI2LjYgIzcKCkNhbGwgVHJhY2U6CiBbPGZm ZmZmZmZmODE0YTVhOGM+XSBfX2FsbG9jX2Jvb3RtZW1fY29yZSsweGE2LzB4M2IzCiBbPGZmZmZm ZmZmODEyOTdkYTE+XSA/IHByaW50aysweDY3LzB4NmUKIFs8ZmZmZmZmZmY4MTRhNWZhNj5dIF9f YWxsb2NfYm9vdG1lbV9ub2RlKzB4MjUvMHg0MAogWzxmZmZmZmZmZjgxMjg5ZGQwPl0gX19lYXJs eW9ubHlfYm9vdG1lbV9hbGxvYysweDE0LzB4MTYKIFs8ZmZmZmZmZmY4MTRiOGVlMz5dIHZtZW1t YXBfYWxsb2NfYmxvY2srMHhlZC8weGY2CiBbPGZmZmZmZmZmODE0YjhmMmE+XSB2bWVtbWFwX3Bn ZF9wb3B1bGF0ZSsweDNlLzB4OTEKIFs8ZmZmZmZmZmY4MTRhNWQ1NT5dID8gX19hbGxvY19ib290 bWVtX2NvcmUrMHgzNmYvMHgzYjMKIFs8ZmZmZmZmZmY4MTRiODJhYT5dIHZtZW1tYXBfcG9wdWxh dGUrMHg1OS8weDFkOAogWzxmZmZmZmZmZjgxNGI4ZDk0Pl0gc3BhcnNlX21lbV9tYXBfcG9wdWxh dGUrMHgyZC8weDNmCiBbPGZmZmZmZmZmODE0YTcxN2Q+XSBzcGFyc2VfZWFybHlfbWVtX21hcF9h bGxvYysweDM1LzB4NjEKIFs8ZmZmZmZmZmY4MTRhNzJjMj5dIHNwYXJzZV9pbml0KzB4MTE5LzB4 MThkCiBbPGZmZmZmZmZmODE0OGUxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDczCiBb PGZmZmZmZmZmODE0YTA0ZWM+XSBwYWdpbmdfaW5pdCsweDQzLzB4NTIKIFs8ZmZmZmZmZmY4MTQ5 NTQyNj5dIHNldHVwX2FyY2grMHg0ZGEvMHg1NmMKIFs8ZmZmZmZmZmY4MTQ4ZWIwYj5dIHN0YXJ0 X2tlcm5lbCsweDdkLzB4MzViCiBbPGZmZmZmZmZmODE0OGU0NTE+XSB4ODZfNjRfc3RhcnRfa2Vy bmVsKzB4MjU2LzB4MjY1Cgpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzdGFydD0xMTAy IGVuZD0xMTAzCmJvb3RtZW06Ol9fYWxsb2NfYm9vdG1lbV9jb3JlIHNpemU9MTAwMCBbMSBwYWdl c10gYWxpZ249MTAwMCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBwZXIg Tm90IHRhaW50ZWQgMi42LjI2LjYgIzcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEyOTdiZDg+ XSA/IGR1bXBfc3RhY2srMHg3Mi8weDdiCiBbPGZmZmZmZmZmODE0YTVhOGM+XSBfX2FsbG9jX2Jv b3RtZW1fY29yZSsweGE2LzB4M2IzCiBbPGZmZmZmZmZmODE0YTVkNTU+XSA/IF9fYWxsb2NfYm9v dG1lbV9jb3JlKzB4MzZmLzB4M2IzCiBbPGZmZmZmZmZmODE0YTVmYTY+XSBfX2FsbG9jX2Jvb3Rt ZW1fbm9kZSsweDI1LzB4NDAKIFs8ZmZmZmZmZmY4MTI4OWRkMD5dIF9fZWFybHlvbmx5X2Jvb3Rt ZW1fYWxsb2MrMHgxNC8weDE2CiBbPGZmZmZmZmZmODE0YjhlZTM+XSB2bWVtbWFwX2FsbG9jX2Js b2NrKzB4ZWQvMHhmNgogWzxmZmZmZmZmZjgxNGI4ZmU0Pl0gdm1lbW1hcF9wdWRfcG9wdWxhdGUr MHg2Ny8weGJlCiBbPGZmZmZmZmZmODE0YjhmNzM+XSA/IHZtZW1tYXBfcGdkX3BvcHVsYXRlKzB4 ODcvMHg5MQogWzxmZmZmZmZmZjgxNGI4MmMxPl0gdm1lbW1hcF9wb3B1bGF0ZSsweDcwLzB4MWQ4 CiBbPGZmZmZmZmZmODE0YjhkOTQ+XSBzcGFyc2VfbWVtX21hcF9wb3B1bGF0ZSsweDJkLzB4M2YK IFs8ZmZmZmZmZmY4MTRhNzE3ZD5dIHNwYXJzZV9lYXJseV9tZW1fbWFwX2FsbG9jKzB4MzUvMHg2 MQogWzxmZmZmZmZmZjgxNGE3MmMyPl0gc3BhcnNlX2luaXQrMHgxMTkvMHgxOGQKIFs8ZmZmZmZm ZmY4MTQ4ZTE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzMKIFs8ZmZmZmZmZmY4MTRh MDRlYz5dIHBhZ2luZ19pbml0KzB4NDMvMHg1MgogWzxmZmZmZmZmZjgxNDk1NDI2Pl0gc2V0dXBf YXJjaCsweDRkYS8weDU2YwogWzxmZmZmZmZmZjgxNDhlYjBiPl0gc3RhcnRfa2VybmVsKzB4N2Qv MHgzNWIKIFs8ZmZmZmZmZmY4MTQ4ZTQ1MT5dIHg4Nl82NF9zdGFydF9rZXJuZWwrMHgyNTYvMHgy NjUKCmJvb3RtZW06Ol9fYWxsb2NfYm9vdG1lbV9jb3JlIHN0YXJ0PTExMDMgZW5kPTExMDQKYm9v dG1lbTo6X19hbGxvY19ib290bWVtX2NvcmUgc2l6ZT0yMDAwMDAgWzUxMiBwYWdlc10gYWxpZ249 MjAwMDAwIGdvYWw9MTAwMDAwMCBsaW1pdD0wClBpZDogMCwgY29tbTogc3dhcHBlciBOb3QgdGFp bnRlZCAyLjYuMjYuNiAjNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTRhNWE4Yz5dIF9fYWxs b2NfYm9vdG1lbV9jb3JlKzB4YTYvMHgzYjMKIFs8ZmZmZmZmZmY4MTRhNWZhNj5dIF9fYWxsb2Nf Ym9vdG1lbV9ub2RlKzB4MjUvMHg0MAogWzxmZmZmZmZmZjgxMjg5ZGQwPl0gX19lYXJseW9ubHlf Ym9vdG1lbV9hbGxvYysweDE0LzB4MTYKIFs8ZmZmZmZmZmY4MTRiOGVlMz5dIHZtZW1tYXBfYWxs b2NfYmxvY2srMHhlZC8weGY2CiBbPGZmZmZmZmZmODE0YjgzMjA+XSB2bWVtbWFwX3BvcHVsYXRl KzB4Y2YvMHgxZDgKIFs8ZmZmZmZmZmY4MTRiOGQ5ND5dIHNwYXJzZV9tZW1fbWFwX3BvcHVsYXRl KzB4MmQvMHgzZgogWzxmZmZmZmZmZjgxNGE3MTdkPl0gc3BhcnNlX2Vhcmx5X21lbV9tYXBfYWxs b2MrMHgzNS8weDYxCiBbPGZmZmZmZmZmODE0YTcyYzI+XSBzcGFyc2VfaW5pdCsweDExOS8weDE4 ZAogWzxmZmZmZmZmZjgxNDhlMTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MwogWzxm ZmZmZmZmZjgxNGEwNGVjPl0gcGFnaW5nX2luaXQrMHg0My8weDUyCiBbPGZmZmZmZmZmODE0OTU0 MjY+XSBzZXR1cF9hcmNoKzB4NGRhLzB4NTZjCiBbPGZmZmZmZmZmODE0OGViMGI+XSBzdGFydF9r ZXJuZWwrMHg3ZC8weDM1YgogWzxmZmZmZmZmZjgxNDhlNDUxPl0geDg2XzY0X3N0YXJ0X2tlcm5l bCsweDI1Ni8weDI2NQoKYm9vdG1lbTo6X19hbGxvY19ib290bWVtX2NvcmUgc3RhcnQ9MTIwMCBl bmQ9MTQwMApib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzaXplPTIwMDAwMCBbNTEyIHBh Z2VzXSBhbGlnbj0yMDAwMDAgZ29hbD0xMDAwMDAwIGxpbWl0PTAKUGlkOiAwLCBjb21tOiBzd2Fw cGVyIE5vdCB0YWludGVkIDIuNi4yNi42ICM3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxNGE1 YThjPl0gX19hbGxvY19ib290bWVtX2NvcmUrMHhhNi8weDNiMwogWzxmZmZmZmZmZjgxNGE1ZmE2 Pl0gX19hbGxvY19ib290bWVtX25vZGUrMHgyNS8weDQwCiBbPGZmZmZmZmZmODEyODlkZDA+XSBf X2Vhcmx5b25seV9ib290bWVtX2FsbG9jKzB4MTQvMHgxNgogWzxmZmZmZmZmZjgxNGI4ZWUzPl0g dm1lbW1hcF9hbGxvY19ibG9jaysweGVkLzB4ZjYKIFs8ZmZmZmZmZmY4MTRiODMyMD5dIHZtZW1t YXBfcG9wdWxhdGUrMHhjZi8weDFkOAogWzxmZmZmZmZmZjgxNGI4ZDk0Pl0gc3BhcnNlX21lbV9t YXBfcG9wdWxhdGUrMHgyZC8weDNmCiBbPGZmZmZmZmZmODE0YTcxN2Q+XSBzcGFyc2VfZWFybHlf bWVtX21hcF9hbGxvYysweDM1LzB4NjEKIFs8ZmZmZmZmZmY4MTRhNzJjMj5dIHNwYXJzZV9pbml0 KzB4MTE5LzB4MThkCiBbPGZmZmZmZmZmODE0OGUxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4 MC8weDczCiBbPGZmZmZmZmZmODE0YTA0ZWM+XSBwYWdpbmdfaW5pdCsweDQzLzB4NTIKIFs8ZmZm ZmZmZmY4MTQ5NTQyNj5dIHNldHVwX2FyY2grMHg0ZGEvMHg1NmMKIFs8ZmZmZmZmZmY4MTQ4ZWIw Yj5dIHN0YXJ0X2tlcm5lbCsweDdkLzB4MzViCiBbPGZmZmZmZmZmODE0OGU0NTE+XSB4ODZfNjRf c3RhcnRfa2VybmVsKzB4MjU2LzB4MjY1Cgpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBz dGFydD0xNDAwIGVuZD0xNjAwCmJvb3RtZW06Ol9fYWxsb2NfYm9vdG1lbV9jb3JlIHNpemU9MjAw MDAwIFs1MTIgcGFnZXNdIGFsaWduPTIwMDAwMCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAs IGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI2LjYgIzcKCkNhbGwgVHJhY2U6CiBbPGZm ZmZmZmZmODE0YTVhOGM+XSBfX2FsbG9jX2Jvb3RtZW1fY29yZSsweGE2LzB4M2IzCiBbPGZmZmZm ZmZmODE0YTVmYTY+XSBfX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDI1LzB4NDAKIFs8ZmZmZmZmZmY4 MTI4OWRkMD5dIF9fZWFybHlvbmx5X2Jvb3RtZW1fYWxsb2MrMHgxNC8weDE2CiBbPGZmZmZmZmZm ODE0YjhlZTM+XSB2bWVtbWFwX2FsbG9jX2Jsb2NrKzB4ZWQvMHhmNgogWzxmZmZmZmZmZjgxNGI4 MzIwPl0gdm1lbW1hcF9wb3B1bGF0ZSsweGNmLzB4MWQ4CiBbPGZmZmZmZmZmODE0YjhkOTQ+XSBz cGFyc2VfbWVtX21hcF9wb3B1bGF0ZSsweDJkLzB4M2YKIFs8ZmZmZmZmZmY4MTRhNzE3ZD5dIHNw YXJzZV9lYXJseV9tZW1fbWFwX2FsbG9jKzB4MzUvMHg2MQogWzxmZmZmZmZmZjgxNGE3MmMyPl0g c3BhcnNlX2luaXQrMHgxMTkvMHgxOGQKIFs8ZmZmZmZmZmY4MTQ4ZTE0MD5dID8gZWFybHlfaWR0 X2hhbmRsZXIrMHgwLzB4NzMKIFs8ZmZmZmZmZmY4MTRhMDRlYz5dIHBhZ2luZ19pbml0KzB4NDMv MHg1MgogWzxmZmZmZmZmZjgxNDk1NDI2Pl0gc2V0dXBfYXJjaCsweDRkYS8weDU2YwogWzxmZmZm ZmZmZjgxNDhlYjBiPl0gc3RhcnRfa2VybmVsKzB4N2QvMHgzNWIKIFs8ZmZmZmZmZmY4MTQ4ZTQ1 MT5dIHg4Nl82NF9zdGFydF9rZXJuZWwrMHgyNTYvMHgyNjUKCmJvb3RtZW06Ol9fYWxsb2NfYm9v dG1lbV9jb3JlIHN0YXJ0PTE2MDAgZW5kPTE4MDAKYm9vdG1lbTo6X19hbGxvY19ib290bWVtX2Nv cmUgc2l6ZT0yMDAwMDAgWzUxMiBwYWdlc10gYWxpZ249MjAwMDAwIGdvYWw9MTAwMDAwMCBsaW1p dD0wClBpZDogMCwgY29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAyLjYuMjYuNiAjNwoKQ2FsbCBU cmFjZToKIFs8ZmZmZmZmZmY4MTRhNWE4Yz5dIF9fYWxsb2NfYm9vdG1lbV9jb3JlKzB4YTYvMHgz YjMKIFs8ZmZmZmZmZmY4MTRhNWZhNj5dIF9fYWxsb2NfYm9vdG1lbV9ub2RlKzB4MjUvMHg0MAog WzxmZmZmZmZmZjgxMjg5ZGQwPl0gX19lYXJseW9ubHlfYm9vdG1lbV9hbGxvYysweDE0LzB4MTYK IFs8ZmZmZmZmZmY4MTRiOGVlMz5dIHZtZW1tYXBfYWxsb2NfYmxvY2srMHhlZC8weGY2CiBbPGZm ZmZmZmZmODE0YjgzMjA+XSB2bWVtbWFwX3BvcHVsYXRlKzB4Y2YvMHgxZDgKIFs8ZmZmZmZmZmY4 MTRiOGQ5ND5dIHNwYXJzZV9tZW1fbWFwX3BvcHVsYXRlKzB4MmQvMHgzZgogWzxmZmZmZmZmZjgx NGE3MTdkPl0gc3BhcnNlX2Vhcmx5X21lbV9tYXBfYWxsb2MrMHgzNS8weDYxCiBbPGZmZmZmZmZm ODE0YTcyYzI+XSBzcGFyc2VfaW5pdCsweDExOS8weDE4ZAogWzxmZmZmZmZmZjgxNDhlMTQwPl0g PyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MwogWzxmZmZmZmZmZjgxNGEwNGVjPl0gcGFnaW5n X2luaXQrMHg0My8weDUyCiBbPGZmZmZmZmZmODE0OTU0MjY+XSBzZXR1cF9hcmNoKzB4NGRhLzB4 NTZjCiBbPGZmZmZmZmZmODE0OGViMGI+XSBzdGFydF9rZXJuZWwrMHg3ZC8weDM1YgogWzxmZmZm ZmZmZjgxNDhlNDUxPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweDI1Ni8weDI2NQoKYm9vdG1lbTo6 X19hbGxvY19ib290bWVtX2NvcmUgc3RhcnQ9MTgwMCBlbmQ9MWEwMAogW2ZmZmZlMjAwMDAwMDAw MDAtZmZmZmUyMDAwMDdmZmZmZl0gUE1EIC0+IFtmZmZmODEwMDAxMjAwMDAwLWZmZmY4MTAwMDE5 ZmZmZmZdIG9uIG5vZGUgMApab25lIFBGTiByYW5nZXM6CiAgRE1BICAgICAgICAgICAgIDAgLT4g ICAgIDQwOTYKICBETUEzMiAgICAgICAgNDA5NiAtPiAgMTA0ODU3NgogIE5vcm1hbCAgICAxMDQ4 NTc2IC0+ICAxMDQ4NTc2Ck1vdmFibGUgem9uZSBzdGFydCBQRk4gZm9yIGVhY2ggbm9kZQplYXJs eV9ub2RlX21hcFsyXSBhY3RpdmUgUEZOIHJhbmdlcwogICAgMDogICAgICAgIDAgLT4gICAgICAx NTkKICAgIDA6ICAgICAgMjU2IC0+ICAgMTMxMDU2Ck9uIG5vZGUgMCB0b3RhbHBhZ2VzOiAxMzA5 NTkKICBETUEgem9uZTogNTYgcGFnZXMgdXNlZCBmb3IgbWVtbWFwCiAgRE1BIHpvbmU6IDE3MTEg cGFnZXMgcmVzZXJ2ZWQKICBETUEgem9uZTogMjIzMiBwYWdlcywgTElGTyBiYXRjaDowCmJvb3Rt ZW06Ol9fYWxsb2NfYm9vdG1lbV9jb3JlIHNpemU9MTgwIFsxIHBhZ2VzXSBhbGlnbj04MCBnb2Fs PTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI2 LjYgIzcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODE0YTVhOGM+XSBfX2FsbG9jX2Jvb3RtZW1f Y29yZSsweGE2LzB4M2IzCiBbPGZmZmZmZmZmODE0YTVmYTY+XSBfX2FsbG9jX2Jvb3RtZW1fbm9k ZSsweDI1LzB4NDAKIFs8ZmZmZmZmZmY4MTI4OWNmND5dIHpvbmVfd2FpdF90YWJsZV9pbml0KzB4 OGEvMHhlMgogWzxmZmZmZmZmZjgxNGI4ODEyPl0gaW5pdF9jdXJyZW50bHlfZW1wdHlfem9uZSsw eDIyLzB4YWUKIFs8ZmZmZmZmZmY4MTRiOGQxYT5dIGZyZWVfYXJlYV9pbml0X25vZGUrMHgzMjcv MHgzNzQKIFs8ZmZmZmZmZmY4MTQ4ZTE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzMK IFs8ZmZmZmZmZmY4MTRhNmEwNT5dIGZyZWVfYXJlYV9pbml0X25vZGVzKzB4Mjg2LzB4MmQzCiBb PGZmZmZmZmZmODE0YTczMmE+XSA/IHNwYXJzZV9pbml0KzB4MTgxLzB4MThkCiBbPGZmZmZmZmZm ODE0YTA0ZjQ+XSBwYWdpbmdfaW5pdCsweDRiLzB4NTIKIFs8ZmZmZmZmZmY4MTQ5NTQyNj5dIHNl dHVwX2FyY2grMHg0ZGEvMHg1NmMKIFs8ZmZmZmZmZmY4MTQ4ZWIwYj5dIHN0YXJ0X2tlcm5lbCsw eDdkLzB4MzViCiBbPGZmZmZmZmZmODE0OGU0NTE+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4MjU2 LzB4MjY1Cgpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzdGFydD0xMDAxIGVuZD0xMDAy CiAgRE1BMzIgem9uZTogMTczNiBwYWdlcyB1c2VkIGZvciBtZW1tYXAKICBETUEzMiB6b25lOiAx MjUyMjQgcGFnZXMsIExJRk8gYmF0Y2g6MzEKYm9vdG1lbTo6X19hbGxvY19ib290bWVtX2NvcmUg c2l6ZT0zMDAwIFszIHBhZ2VzXSBhbGlnbj04MCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAs IGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI2LjYgIzcKCkNhbGwgVHJhY2U6CiBbPGZm ZmZmZmZmODE0YTVhOGM+XSBfX2FsbG9jX2Jvb3RtZW1fY29yZSsweGE2LzB4M2IzCiBbPGZmZmZm ZmZmODE0YTVmYTY+XSBfX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDI1LzB4NDAKIFs8ZmZmZmZmZmY4 MTI4OWNmND5dIHpvbmVfd2FpdF90YWJsZV9pbml0KzB4OGEvMHhlMgogWzxmZmZmZmZmZjgxNGI4 ODEyPl0gaW5pdF9jdXJyZW50bHlfZW1wdHlfem9uZSsweDIyLzB4YWUKIFs8ZmZmZmZmZmY4MTRi OGQxYT5dIGZyZWVfYXJlYV9pbml0X25vZGUrMHgzMjcvMHgzNzQKIFs8ZmZmZmZmZmY4MTQ4ZTE0 MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzMKIFs8ZmZmZmZmZmY4MTRhNmEwNT5dIGZy ZWVfYXJlYV9pbml0X25vZGVzKzB4Mjg2LzB4MmQzCiBbPGZmZmZmZmZmODE0YTczMmE+XSA/IHNw YXJzZV9pbml0KzB4MTgxLzB4MThkCiBbPGZmZmZmZmZmODE0YTA0ZjQ+XSBwYWdpbmdfaW5pdCsw eDRiLzB4NTIKIFs8ZmZmZmZmZmY4MTQ5NTQyNj5dIHNldHVwX2FyY2grMHg0ZGEvMHg1NmMKIFs8 ZmZmZmZmZmY4MTQ4ZWIwYj5dIHN0YXJ0X2tlcm5lbCsweDdkLzB4MzViCiBbPGZmZmZmZmZmODE0 OGU0NTE+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4MjU2LzB4MjY1Cgpib290bWVtOjpfX2FsbG9j X2Jvb3RtZW1fY29yZSBzdGFydD0xMDAyIGVuZD0xMDA1CiAgTm9ybWFsIHpvbmU6IDAgcGFnZXMg dXNlZCBmb3IgbWVtbWFwCiAgTW92YWJsZSB6b25lOiAwIHBhZ2VzIHVzZWQgZm9yIG1lbW1hcApi b290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzaXplPTEwMDAgWzEgcGFnZXNdIGFsaWduPTEw MDAgZ29hbD0xMDAwMDAwIGxpbWl0PTAKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVk IDIuNi4yNi42ICM3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxNGE1YThjPl0gX19hbGxvY19i b290bWVtX2NvcmUrMHhhNi8weDNiMwogWzxmZmZmZmZmZjgxNGI4OWRhPl0gPyBtZW1tYXBfaW5p dF96b25lKzB4MTNjLzB4MTU1CiBbPGZmZmZmZmZmODE0Yjg3ZTc+XSA/IHpvbmVfYWJzZW50X3Bh Z2VzX2luX25vZGUrMHhhNy8weGIwCiBbPGZmZmZmZmZmODE0YTVmMWQ+XSBfX2FsbG9jX2Jvb3Rt ZW1fbm9wYW5pYysweDMxLzB4NWMKIFs8ZmZmZmZmZmY4MTRhNWY1OT5dIF9fYWxsb2NfYm9vdG1l bSsweDExLzB4MzkKIFs8ZmZmZmZmZmY4MTRhMDA2Zj5dIHNwcF9nZXRwYWdlKzB4M2EvMHg2Zgog WzxmZmZmZmZmZjgxNGEwMjBjPl0gX19zZXRfZml4bWFwKzB4MTY4LzB4Mjk4CiBbPGZmZmZmZmZm ODE0OGUxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDczCiBbPGZmZmZmZmZmODE0OTVk MGI+XSBtYXBfdnN5c2NhbGwrMHgyMi8weDI0CiBbPGZmZmZmZmZmODE0OTU0MmI+XSBzZXR1cF9h cmNoKzB4NGRmLzB4NTZjCiBbPGZmZmZmZmZmODE0OGViMGI+XSBzdGFydF9rZXJuZWwrMHg3ZC8w eDM1YgogWzxmZmZmZmZmZjgxNDhlNDUxPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweDI1Ni8weDI2 NQoKYm9vdG1lbTo6X19hbGxvY19ib290bWVtX2NvcmUgc3RhcnQ9MTAwNSBlbmQ9MTAwNgpBQ1BJ OiBQTS1UaW1lciBJTyBQb3J0OiAweGIwMDgKQUNQSTogTG9jYWwgQVBJQyBhZGRyZXNzIDB4ZmVl MDAwMDAKQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwMF0gbGFwaWNfaWRbMHgwMF0gZW5hYmxlZCkK QUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwMV0gbGFwaWNfaWRbMHgwMV0gZGlzYWJsZWQpCkFDUEk6 IExBUElDIChhY3BpX2lkWzB4MDJdIGxhcGljX2lkWzB4MDJdIGRpc2FibGVkKQpBQ1BJOiBMQVBJ QyAoYWNwaV9pZFsweDAzXSBsYXBpY19pZFsweDAzXSBkaXNhYmxlZCkKQUNQSTogTEFQSUMgKGFj cGlfaWRbMHgwNF0gbGFwaWNfaWRbMHgwNF0gZGlzYWJsZWQpCkFDUEk6IExBUElDIChhY3BpX2lk WzB4MDVdIGxhcGljX2lkWzB4MDVdIGRpc2FibGVkKQpBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA2 XSBsYXBpY19pZFsweDA2XSBkaXNhYmxlZCkKQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwN10gbGFw aWNfaWRbMHgwN10gZGlzYWJsZWQpCkFDUEk6IExBUElDIChhY3BpX2lkWzB4MDhdIGxhcGljX2lk WzB4MDhdIGRpc2FibGVkKQpBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA5XSBsYXBpY19pZFsweDA5 XSBkaXNhYmxlZCkKQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwYV0gbGFwaWNfaWRbMHgwYV0gZGlz YWJsZWQpCkFDUEk6IExBUElDIChhY3BpX2lkWzB4MGJdIGxhcGljX2lkWzB4MGJdIGRpc2FibGVk KQpBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDBjXSBsYXBpY19pZFsweDBjXSBkaXNhYmxlZCkKQUNQ STogTEFQSUMgKGFjcGlfaWRbMHgwZF0gbGFwaWNfaWRbMHgwZF0gZGlzYWJsZWQpCkFDUEk6IExB UElDIChhY3BpX2lkWzB4MGVdIGxhcGljX2lkWzB4MGVdIGRpc2FibGVkKQpBQ1BJOiBMQVBJQyAo YWNwaV9pZFsweDBmXSBsYXBpY19pZFsweDBmXSBkaXNhYmxlZCkKQUNQSTogSU9BUElDIChpZFsw eDAxXSBhZGRyZXNzWzB4ZmVjMDAwMDBdIGdzaV9iYXNlWzBdKQpJT0FQSUNbMF06IGFwaWNfaWQg MSwgdmVyc2lvbiAwLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdTSSAwLTIzCkFDUEk6IElOVF9TUkNf T1ZSIChidXMgMCBidXNfaXJxIDUgZ2xvYmFsX2lycSA1IGhpZ2ggbGV2ZWwpCkFDUEk6IElOVF9T UkNfT1ZSIChidXMgMCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGhpZ2ggbGV2ZWwpCkFDUEk6IElO VF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDEwIGdsb2JhbF9pcnEgMTAgaGlnaCBsZXZlbCkKQUNQ STogSU5UX1NSQ19PVlIgKGJ1cyAwIGJ1c19pcnEgMTEgZ2xvYmFsX2lycSAxMSBoaWdoIGxldmVs KQpBQ1BJOiBJUlE1IHVzZWQgYnkgb3ZlcnJpZGUuCkFDUEk6IElSUTkgdXNlZCBieSBvdmVycmlk ZS4KQUNQSTogSVJRMTAgdXNlZCBieSBvdmVycmlkZS4KQUNQSTogSVJRMTEgdXNlZCBieSBvdmVy cmlkZS4KU2V0dGluZyBBUElDIHJvdXRpbmcgdG8gZmxhdApVc2luZyBBQ1BJIChNQURUKSBmb3Ig U01QIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24KYm9vdG1lbTo6X19hbGxvY19ib290bWVtX2Nv cmUgc2l6ZT00MyBbMSBwYWdlc10gYWxpZ249ODAgZ29hbD0xMDAwMDAwIGxpbWl0PTAKUGlkOiAw LCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNi42ICM3CgpDYWxsIFRyYWNlOgogWzxm ZmZmZmZmZjgxNGE1YThjPl0gX19hbGxvY19ib290bWVtX2NvcmUrMHhhNi8weDNiMwogWzxmZmZm ZmZmZjgxMjk3ZGExPl0gPyBwcmludGsrMHg2Ny8weDZlCiBbPGZmZmZmZmZmODE0YTVmMWQ+XSBf X2FsbG9jX2Jvb3RtZW1fbm9wYW5pYysweDMxLzB4NWMKIFs8ZmZmZmZmZmY4MTRhNWY1OT5dIF9f YWxsb2NfYm9vdG1lbSsweDExLzB4MzkKIFs8ZmZmZmZmZmY4MTQ5YmM3OT5dIGlvYXBpY19pbml0 X21hcHBpbmdzKzB4NDEvMHgxNjYKIFs8ZmZmZmZmZmY4MTQ4ZTE0MD5dID8gZWFybHlfaWR0X2hh bmRsZXIrMHgwLzB4NzMKIFs8ZmZmZmZmZmY4MTQ5NTQ1OT5dIHNldHVwX2FyY2grMHg1MGQvMHg1 NmMKIFs8ZmZmZmZmZmY4MTQ4ZWIwYj5dIHN0YXJ0X2tlcm5lbCsweDdkLzB4MzViCiBbPGZmZmZm ZmZmODE0OGU0NTE+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4MjU2LzB4MjY1Cgpib290bWVtOjpf X2FsbG9jX2Jvb3RtZW1fY29yZSBzdGFydD0xMDA2IGVuZD0xMDA3CmJvb3RtZW06Ol9fYWxsb2Nf Ym9vdG1lbV9jb3JlIHNpemU9MTUwIFsxIHBhZ2VzXSBhbGlnbj04MCBnb2FsPTAgbGltaXQ9ZmZm ZmZmZmYKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNi42ICM3CgpDYWxs IFRyYWNlOgogWzxmZmZmZmZmZjgxMTNhY2RiPl0gPyBzcHJpbnRmKzB4NjgvMHg2YQogWzxmZmZm ZmZmZjgxNGE1YThjPl0gX19hbGxvY19ib290bWVtX2NvcmUrMHhhNi8weDNiMwogWzxmZmZmZmZm ZjgxNGEwMzJkPl0gPyBfX3NldF9maXhtYXArMHgyODkvMHgyOTgKIFs8ZmZmZmZmZmY4MTRhNWRl NT5dIF9fYWxsb2NfYm9vdG1lbV9sb3crMHgzNC8weDdjCiBbPGZmZmZmZmZmODE0OTZhNjA+XSBl ODIwX3Jlc2VydmVfcmVzb3VyY2VzKzB4M2YvMHhjMAogWzxmZmZmZmZmZjgxNDhlMTQwPl0gPyBl YXJseV9pZHRfaGFuZGxlcisweDAvMHg3MwogWzxmZmZmZmZmZjgxNDk1NDYzPl0gc2V0dXBfYXJj aCsweDUxNy8weDU2YwogWzxmZmZmZmZmZjgxNDhlYjBiPl0gc3RhcnRfa2VybmVsKzB4N2QvMHgz NWIKIFs8ZmZmZmZmZmY4MTQ4ZTQ1MT5dIHg4Nl82NF9zdGFydF9rZXJuZWwrMHgyNTYvMHgyNjUK CmJvb3RtZW06Ol9fYWxsb2NfYm9vdG1lbV9jb3JlIHN0YXJ0PTUgZW5kPTYKYm9vdG1lbTo6X19h bGxvY19ib290bWVtX2NvcmUgc2l6ZT0yMCBbMSBwYWdlc10gYWxpZ249ODAgZ29hbD0wIGxpbWl0 PWZmZmZmZmZmClBpZDogMCwgY29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAyLjYuMjYuNiAjNwoK Q2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTRhNWE4Yz5dIF9fYWxsb2NfYm9vdG1lbV9jb3JlKzB4 YTYvMHgzYjMKIFs8ZmZmZmZmZmY4MTRhNWQ1NT5dID8gX19hbGxvY19ib290bWVtX2NvcmUrMHgz NmYvMHgzYjMKIFs8ZmZmZmZmZmY4MTQ4ZTE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4 NzMKIFs8ZmZmZmZmZmY4MTRhNWRlNT5dIF9fYWxsb2NfYm9vdG1lbV9sb3crMHgzNC8weDdjCiBb PGZmZmZmZmZmODE0YTQwMTI+XSBfX3JlZ2lzdGVyX25vc2F2ZV9yZWdpb24rMHg2NS8weGE0CiBb PGZmZmZmZmZmODE0OTY5YzQ+XSBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnMrMHg1My8weGIwCiBb PGZmZmZmZmZmODE0OTU0Njg+XSBzZXR1cF9hcmNoKzB4NTFjLzB4NTZjCiBbPGZmZmZmZmZmODE0 OGViMGI+XSBzdGFydF9rZXJuZWwrMHg3ZC8weDM1YgogWzxmZmZmZmZmZjgxNDhlNDUxPl0geDg2 XzY0X3N0YXJ0X2tlcm5lbCsweDI1Ni8weDI2NQoKYm9vdG1lbTo6X19hbGxvY19ib290bWVtX2Nv cmUgc3RhcnQ9MjQgZW5kPTI1ClBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IDAwMDAwMDAw MDAwOWYwMDAgLSAwMDAwMDAwMDAwMGEwMDAwClBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6 IDAwMDAwMDAwMDAwYTAwMDAgLSAwMDAwMDAwMDAwMGU4MDAwClBNOiBSZWdpc3RlcmVkIG5vc2F2 ZSBtZW1vcnk6IDAwMDAwMDAwMDAwZTgwMDAgLSAwMDAwMDAwMDAwMTAwMDAwCkFsbG9jYXRpbmcg UENJIHJlc291cmNlcyBzdGFydGluZyBhdCAzMDAwMDAwMCAoZ2FwOiAyMDAwMDAwMDpkZmZiZDAw MCkKYm9vdG1lbTo6X19hbGxvY19ib290bWVtX2NvcmUgc2l6ZT0yZiBbMSBwYWdlc10gYWxpZ249 ODAgZ29hbD0xMDAwMDAwIGxpbWl0PTAKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVk IDIuNi4yNi42ICM3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxNGE1YThjPl0gX19hbGxvY19i b290bWVtX2NvcmUrMHhhNi8weDNiMwogWzxmZmZmZmZmZjgxNDhlMTQwPl0gPyBlYXJseV9pZHRf aGFuZGxlcisweDAvMHg3MwogWzxmZmZmZmZmZjgxNGE1ZGU1Pl0gPyBfX2FsbG9jX2Jvb3RtZW1f bG93KzB4MzQvMHg3YwogWzxmZmZmZmZmZjgxNDhlMTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisw eDAvMHg3MwogWzxmZmZmZmZmZjgxNGE1ZjFkPl0gX19hbGxvY19ib290bWVtX25vcGFuaWMrMHgz MS8weDVjCiBbPGZmZmZmZmZmODE0YTVmNTk+XSBfX2FsbG9jX2Jvb3RtZW0rMHgxMS8weDM5CiBb PGZmZmZmZmZmODE0OGViM2I+XSBzdGFydF9rZXJuZWwrMHhhZC8weDM1YgogWzxmZmZmZmZmZjgx NDhlNDUxPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweDI1Ni8weDI2NQoKYm9vdG1lbTo6X19hbGxv Y19ib290bWVtX2NvcmUgc3RhcnQ9MTAwNyBlbmQ9MTAwOApib290bWVtOjpfX2FsbG9jX2Jvb3Rt ZW1fY29yZSBzaXplPTJmIFsxIHBhZ2VzXSBhbGlnbj04MCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQ aWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI2LjYgIzcKCkNhbGwgVHJhY2U6 CiBbPGZmZmZmZmZmODE0YTVhOGM+XSBfX2FsbG9jX2Jvb3RtZW1fY29yZSsweGE2LzB4M2IzCiBb PGZmZmZmZmZmODE0OGUxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDczCiBbPGZmZmZm ZmZmODE0YTVmMWQ+XSBfX2FsbG9jX2Jvb3RtZW1fbm9wYW5pYysweDMxLzB4NWMKIFs8ZmZmZmZm ZmY4MTRhNWY1OT5dIF9fYWxsb2NfYm9vdG1lbSsweDExLzB4MzkKIFs8ZmZmZmZmZmY4MTQ4ZWI2 ZT5dIHN0YXJ0X2tlcm5lbCsweGUwLzB4MzViCiBbPGZmZmZmZmZmODE0OGU0NTE+XSB4ODZfNjRf c3RhcnRfa2VybmVsKzB4MjU2LzB4MjY1Cgpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBz dGFydD0xMDA4IGVuZD0xMDA4ClNNUDogQWxsb3dpbmcgMTYgQ1BVcywgMTUgaG90cGx1ZyBDUFVz ClBFUkNQVTogQWxsb2NhdGluZyA0NTEwNCBieXRlcyBvZiBwZXIgY3B1IGRhdGEKYm9vdG1lbTo6 X19hbGxvY19ib290bWVtX2NvcmUgc2l6ZT1iMDMwIFsxMiBwYWdlc10gYWxpZ249MTAwMCBnb2Fs PTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI2 LjYgIzcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEyOTdkYTE+XSA/IHByaW50aysweDY3LzB4 NmUKIFs8ZmZmZmZmZmY4MTRhNWE4Yz5dIF9fYWxsb2NfYm9vdG1lbV9jb3JlKzB4YTYvMHgzYjMK IFs8ZmZmZmZmZmY4MTRhNWZhNj5dIF9fYWxsb2NfYm9vdG1lbV9ub2RlKzB4MjUvMHg0MAogWzxm ZmZmZmZmZjgxNDk1YjBkPl0gc2V0dXBfcGVyX2NwdV9hcmVhcysweDEwNy8weDI3NQogWzxmZmZm ZmZmZjgxNDhlMTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MwogWzxmZmZmZmZmZjgx NDhlYjk4Pl0gc3RhcnRfa2VybmVsKzB4MTBhLzB4MzViCiBbPGZmZmZmZmZmODE0OGU0NTE+XSB4 ODZfNjRfc3RhcnRfa2VybmVsKzB4MjU2LzB4MjY1Cgpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1f Y29yZSBzdGFydD0xMDA4IGVuZD0xMDE0CmJvb3RtZW06Ol9fYWxsb2NfYm9vdG1lbV9jb3JlIHNp emU9YjAzMCBbMTIgcGFnZXNdIGFsaWduPTEwMDAgZ29hbD0xMDAwMDAwIGxpbWl0PTAKUGlkOiAw LCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNi42ICM3CgpDYWxsIFRyYWNlOgogWzxm ZmZmZmZmZjgxMjk3ZGExPl0gPyBwcmludGsrMHg2Ny8weDZlCiBbPGZmZmZmZmZmODE0YTVhOGM+ XSBfX2FsbG9jX2Jvb3RtZW1fY29yZSsweGE2LzB4M2IzCiBbPGZmZmZmZmZmODE0YTVmYTY+XSBf X2FsbG9jX2Jvb3RtZW1fbm9kZSsweDI1LzB4NDAKIFs8ZmZmZmZmZmY4MTQ5NWIwZD5dIHNldHVw X3Blcl9jcHVfYXJlYXMrMHgxMDcvMHgyNzUKIFs8ZmZmZmZmZmY4MTQ4ZTE0MD5dID8gZWFybHlf aWR0X2hhbmRsZXIrMHgwLzB4NzMKIFs8ZmZmZmZmZmY4MTQ4ZWI5OD5dIHN0YXJ0X2tlcm5lbCsw eDEwYS8weDM1YgogWzxmZmZmZmZmZjgxNDhlNDUxPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweDI1 Ni8weDI2NQoKYm9vdG1lbTo6X19hbGxvY19ib290bWVtX2NvcmUgc3RhcnQ9MTAxNCBlbmQ9MTAy MApib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzaXplPWIwMzAgWzEyIHBhZ2VzXSBhbGln bj0xMDAwIGdvYWw9MTAwMDAwMCBsaW1pdD0wClBpZDogMCwgY29tbTogc3dhcHBlciBOb3QgdGFp bnRlZCAyLjYuMjYuNiAjNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTI5N2RhMT5dID8gcHJp bnRrKzB4NjcvMHg2ZQogWzxmZmZmZmZmZjgxNGE1YThjPl0gX19hbGxvY19ib290bWVtX2NvcmUr MHhhNi8weDNiMwogWzxmZmZmZmZmZjgxNGE1ZmE2Pl0gX19hbGxvY19ib290bWVtX25vZGUrMHgy NS8weDQwCiBbPGZmZmZmZmZmODE0OTViMGQ+XSBzZXR1cF9wZXJfY3B1X2FyZWFzKzB4MTA3LzB4 Mjc1CiBbPGZmZmZmZmZmODE0OGUxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDczCiBb PGZmZmZmZmZmODE0OGViOTg+XSBzdGFydF9rZXJuZWwrMHgxMGEvMHgzNWIKIFs8ZmZmZmZmZmY4 MTQ4ZTQ1MT5dIHg4Nl82NF9zdGFydF9rZXJuZWwrMHgyNTYvMHgyNjUKCmJvb3RtZW06Ol9fYWxs b2NfYm9vdG1lbV9jb3JlIHN0YXJ0PTEwMjAgZW5kPTEwMmMKYm9vdG1lbTo6X19hbGxvY19ib290 bWVtX2NvcmUgc2l6ZT1iMDMwIFsxMiBwYWdlc10gYWxpZ249MTAwMCBnb2FsPTEwMDAwMDAgbGlt aXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI2LjYgIzcKCkNhbGwg VHJhY2U6CiBbPGZmZmZmZmZmODEyOTdkYTE+XSA/IHByaW50aysweDY3LzB4NmUKIFs8ZmZmZmZm ZmY4MTRhNWE4Yz5dIF9fYWxsb2NfYm9vdG1lbV9jb3JlKzB4YTYvMHgzYjMKIFs8ZmZmZmZmZmY4 MTRhNWZhNj5dIF9fYWxsb2NfYm9vdG1lbV9ub2RlKzB4MjUvMHg0MAogWzxmZmZmZmZmZjgxNDk1 YjBkPl0gc2V0dXBfcGVyX2NwdV9hcmVhcysweDEwNy8weDI3NQogWzxmZmZmZmZmZjgxNDhlMTQw Pl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MwogWzxmZmZmZmZmZjgxNDhlYjk4Pl0gc3Rh cnRfa2VybmVsKzB4MTBhLzB4MzViCiBbPGZmZmZmZmZmODE0OGU0NTE+XSB4ODZfNjRfc3RhcnRf a2VybmVsKzB4MjU2LzB4MjY1Cgpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzdGFydD0x MDJjIGVuZD0xMDM4CmJvb3RtZW06Ol9fYWxsb2NfYm9vdG1lbV9jb3JlIHNpemU9YjAzMCBbMTIg cGFnZXNdIGFsaWduPTEwMDAgZ29hbD0xMDAwMDAwIGxpbWl0PTAKUGlkOiAwLCBjb21tOiBzd2Fw cGVyIE5vdCB0YWludGVkIDIuNi4yNi42ICM3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMjk3 ZGExPl0gPyBwcmludGsrMHg2Ny8weDZlCiBbPGZmZmZmZmZmODE0YTVhOGM+XSBfX2FsbG9jX2Jv b3RtZW1fY29yZSsweGE2LzB4M2IzCiBbPGZmZmZmZmZmODE0YTVmYTY+XSBfX2FsbG9jX2Jvb3Rt ZW1fbm9kZSsweDI1LzB4NDAKIFs8ZmZmZmZmZmY4MTQ5NWIwZD5dIHNldHVwX3Blcl9jcHVfYXJl YXMrMHgxMDcvMHgyNzUKIFs8ZmZmZmZmZmY4MTQ4ZTE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIr MHgwLzB4NzMKIFs8ZmZmZmZmZmY4MTQ4ZWI5OD5dIHN0YXJ0X2tlcm5lbCsweDEwYS8weDM1Ygog WzxmZmZmZmZmZjgxNDhlNDUxPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweDI1Ni8weDI2NQoKYm9v dG1lbTo6X19hbGxvY19ib290bWVtX2NvcmUgc3RhcnQ9MTAzOCBlbmQ9MTA0NApib290bWVtOjpf X2FsbG9jX2Jvb3RtZW1fY29yZSBzaXplPWIwMzAgWzEyIHBhZ2VzXSBhbGlnbj0xMDAwIGdvYWw9 MTAwMDAwMCBsaW1pdD0wClBpZDogMCwgY29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAyLjYuMjYu NiAjNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTI5N2RhMT5dID8gcHJpbnRrKzB4NjcvMHg2 ZQogWzxmZmZmZmZmZjgxNGE1YThjPl0gX19hbGxvY19ib290bWVtX2NvcmUrMHhhNi8weDNiMwog WzxmZmZmZmZmZjgxNGE1ZmE2Pl0gX19hbGxvY19ib290bWVtX25vZGUrMHgyNS8weDQwCiBbPGZm ZmZmZmZmODE0OTViMGQ+XSBzZXR1cF9wZXJfY3B1X2FyZWFzKzB4MTA3LzB4Mjc1CiBbPGZmZmZm ZmZmODE0OGUxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDczCiBbPGZmZmZmZmZmODE0 OGViOTg+XSBzdGFydF9rZXJuZWwrMHgxMGEvMHgzNWIKIFs8ZmZmZmZmZmY4MTQ4ZTQ1MT5dIHg4 Nl82NF9zdGFydF9rZXJuZWwrMHgyNTYvMHgyNjUKCmJvb3RtZW06Ol9fYWxsb2NfYm9vdG1lbV9j b3JlIHN0YXJ0PTEwNDQgZW5kPTEwNTAKYm9vdG1lbTo6X19hbGxvY19ib290bWVtX2NvcmUgc2l6 ZT1iMDMwIFsxMiBwYWdlc10gYWxpZ249MTAwMCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAs IGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI2LjYgIzcKCkNhbGwgVHJhY2U6CiBbPGZm ZmZmZmZmODEyOTdkYTE+XSA/IHByaW50aysweDY3LzB4NmUKIFs8ZmZmZmZmZmY4MTRhNWE4Yz5d IF9fYWxsb2NfYm9vdG1lbV9jb3JlKzB4YTYvMHgzYjMKIFs8ZmZmZmZmZmY4MTRhNWZhNj5dIF9f YWxsb2NfYm9vdG1lbV9ub2RlKzB4MjUvMHg0MAogWzxmZmZmZmZmZjgxNDk1YjBkPl0gc2V0dXBf cGVyX2NwdV9hcmVhcysweDEwNy8weDI3NQogWzxmZmZmZmZmZjgxNDhlMTQwPl0gPyBlYXJseV9p ZHRfaGFuZGxlcisweDAvMHg3MwogWzxmZmZmZmZmZjgxNDhlYjk4Pl0gc3RhcnRfa2VybmVsKzB4 MTBhLzB4MzViCiBbPGZmZmZmZmZmODE0OGU0NTE+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4MjU2 LzB4MjY1Cgpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzdGFydD0xMDUwIGVuZD0xMDVj CmJvb3RtZW06Ol9fYWxsb2NfYm9vdG1lbV9jb3JlIHNpemU9YjAzMCBbMTIgcGFnZXNdIGFsaWdu PTEwMDAgZ29hbD0xMDAwMDAwIGxpbWl0PTAKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0YWlu dGVkIDIuNi4yNi42ICM3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMjk3ZGExPl0gPyBwcmlu dGsrMHg2Ny8weDZlCiBbPGZmZmZmZmZmODE0YTVhOGM+XSBfX2FsbG9jX2Jvb3RtZW1fY29yZSsw eGE2LzB4M2IzCiBbPGZmZmZmZmZmODE0YTVmYTY+XSBfX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDI1 LzB4NDAKIFs8ZmZmZmZmZmY4MTQ5NWIwZD5dIHNldHVwX3Blcl9jcHVfYXJlYXMrMHgxMDcvMHgy NzUKIFs8ZmZmZmZmZmY4MTQ4ZTE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzMKIFs8 ZmZmZmZmZmY4MTQ4ZWI5OD5dIHN0YXJ0X2tlcm5lbCsweDEwYS8weDM1YgogWzxmZmZmZmZmZjgx NDhlNDUxPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweDI1Ni8weDI2NQoKYm9vdG1lbTo6X19hbGxv Y19ib290bWVtX2NvcmUgc3RhcnQ9MTA1YyBlbmQ9MTA2OApib290bWVtOjpfX2FsbG9jX2Jvb3Rt ZW1fY29yZSBzaXplPWIwMzAgWzEyIHBhZ2VzXSBhbGlnbj0xMDAwIGdvYWw9MTAwMDAwMCBsaW1p dD0wClBpZDogMCwgY29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAyLjYuMjYuNiAjNwoKQ2FsbCBU cmFjZToKIFs8ZmZmZmZmZmY4MTI5N2RhMT5dID8gcHJpbnRrKzB4NjcvMHg2ZQogWzxmZmZmZmZm ZjgxNGE1YThjPl0gX19hbGxvY19ib290bWVtX2NvcmUrMHhhNi8weDNiMwogWzxmZmZmZmZmZjgx NGE1ZmE2Pl0gX19hbGxvY19ib290bWVtX25vZGUrMHgyNS8weDQwCiBbPGZmZmZmZmZmODE0OTVi MGQ+XSBzZXR1cF9wZXJfY3B1X2FyZWFzKzB4MTA3LzB4Mjc1CiBbPGZmZmZmZmZmODE0OGUxNDA+ XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDczCiBbPGZmZmZmZmZmODE0OGViOTg+XSBzdGFy dF9rZXJuZWwrMHgxMGEvMHgzNWIKIFs8ZmZmZmZmZmY4MTQ4ZTQ1MT5dIHg4Nl82NF9zdGFydF9r ZXJuZWwrMHgyNTYvMHgyNjUKCmJvb3RtZW06Ol9fYWxsb2NfYm9vdG1lbV9jb3JlIHN0YXJ0PTEw NjggZW5kPTEwNzQKYm9vdG1lbTo6X19hbGxvY19ib290bWVtX2NvcmUgc2l6ZT1iMDMwIFsxMiBw YWdlc10gYWxpZ249MTAwMCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBw ZXIgTm90IHRhaW50ZWQgMi42LjI2LjYgIzcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEyOTdk YTE+XSA/IHByaW50aysweDY3LzB4NmUKIFs8ZmZmZmZmZmY4MTRhNWE4Yz5dIF9fYWxsb2NfYm9v dG1lbV9jb3JlKzB4YTYvMHgzYjMKIFs8ZmZmZmZmZmY4MTRhNWZhNj5dIF9fYWxsb2NfYm9vdG1l bV9ub2RlKzB4MjUvMHg0MAogWzxmZmZmZmZmZjgxNDk1YjBkPl0gc2V0dXBfcGVyX2NwdV9hcmVh cysweDEwNy8weDI3NQogWzxmZmZmZmZmZjgxNDhlMTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisw eDAvMHg3MwogWzxmZmZmZmZmZjgxNDhlYjk4Pl0gc3RhcnRfa2VybmVsKzB4MTBhLzB4MzViCiBb PGZmZmZmZmZmODE0OGU0NTE+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4MjU2LzB4MjY1Cgpib290 bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzdGFydD0xMDc0IGVuZD0xMDgwCmJvb3RtZW06Ol9f YWxsb2NfYm9vdG1lbV9jb3JlIHNpemU9YjAzMCBbMTIgcGFnZXNdIGFsaWduPTEwMDAgZ29hbD0x MDAwMDAwIGxpbWl0PTAKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNi42 ICM3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMjk3ZGExPl0gPyBwcmludGsrMHg2Ny8weDZl CiBbPGZmZmZmZmZmODE0YTVhOGM+XSBfX2FsbG9jX2Jvb3RtZW1fY29yZSsweGE2LzB4M2IzCiBb PGZmZmZmZmZmODE0YTVmYTY+XSBfX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDI1LzB4NDAKIFs8ZmZm ZmZmZmY4MTQ5NWIwZD5dIHNldHVwX3Blcl9jcHVfYXJlYXMrMHgxMDcvMHgyNzUKIFs8ZmZmZmZm ZmY4MTQ4ZTE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzMKIFs8ZmZmZmZmZmY4MTQ4 ZWI5OD5dIHN0YXJ0X2tlcm5lbCsweDEwYS8weDM1YgogWzxmZmZmZmZmZjgxNDhlNDUxPl0geDg2 XzY0X3N0YXJ0X2tlcm5lbCsweDI1Ni8weDI2NQoKYm9vdG1lbTo6X19hbGxvY19ib290bWVtX2Nv cmUgc3RhcnQ9MTA4MCBlbmQ9MTA4Ywpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzaXpl PWIwMzAgWzEyIHBhZ2VzXSBhbGlnbj0xMDAwIGdvYWw9MTAwMDAwMCBsaW1pdD0wClBpZDogMCwg Y29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAyLjYuMjYuNiAjNwoKQ2FsbCBUcmFjZToKIFs8ZmZm ZmZmZmY4MTI5N2RhMT5dID8gcHJpbnRrKzB4NjcvMHg2ZQogWzxmZmZmZmZmZjgxNGE1YThjPl0g X19hbGxvY19ib290bWVtX2NvcmUrMHhhNi8weDNiMwogWzxmZmZmZmZmZjgxNGE1ZmE2Pl0gX19h bGxvY19ib290bWVtX25vZGUrMHgyNS8weDQwCiBbPGZmZmZmZmZmODE0OTViMGQ+XSBzZXR1cF9w ZXJfY3B1X2FyZWFzKzB4MTA3LzB4Mjc1CiBbPGZmZmZmZmZmODE0OGUxNDA+XSA/IGVhcmx5X2lk dF9oYW5kbGVyKzB4MC8weDczCiBbPGZmZmZmZmZmODE0OGViOTg+XSBzdGFydF9rZXJuZWwrMHgx MGEvMHgzNWIKIFs8ZmZmZmZmZmY4MTQ4ZTQ1MT5dIHg4Nl82NF9zdGFydF9rZXJuZWwrMHgyNTYv MHgyNjUKCmJvb3RtZW06Ol9fYWxsb2NfYm9vdG1lbV9jb3JlIHN0YXJ0PTEwOGMgZW5kPTEwOTgK Ym9vdG1lbTo6X19hbGxvY19ib290bWVtX2NvcmUgc2l6ZT1iMDMwIFsxMiBwYWdlc10gYWxpZ249 MTAwMCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50 ZWQgMi42LjI2LjYgIzcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEyOTdkYTE+XSA/IHByaW50 aysweDY3LzB4NmUKIFs8ZmZmZmZmZmY4MTRhNWE4Yz5dIF9fYWxsb2NfYm9vdG1lbV9jb3JlKzB4 YTYvMHgzYjMKIFs8ZmZmZmZmZmY4MTRhNWZhNj5dIF9fYWxsb2NfYm9vdG1lbV9ub2RlKzB4MjUv MHg0MAogWzxmZmZmZmZmZjgxNDk1YjBkPl0gc2V0dXBfcGVyX2NwdV9hcmVhcysweDEwNy8weDI3 NQogWzxmZmZmZmZmZjgxNDhlMTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MwogWzxm ZmZmZmZmZjgxNDhlYjk4Pl0gc3RhcnRfa2VybmVsKzB4MTBhLzB4MzViCiBbPGZmZmZmZmZmODE0 OGU0NTE+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4MjU2LzB4MjY1Cgpib290bWVtOjpfX2FsbG9j X2Jvb3RtZW1fY29yZSBzdGFydD0xMDk4IGVuZD0xMGE0CmJvb3RtZW06Ol9fYWxsb2NfYm9vdG1l bV9jb3JlIHNpemU9YjAzMCBbMTIgcGFnZXNdIGFsaWduPTEwMDAgZ29hbD0xMDAwMDAwIGxpbWl0 PTAKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNi42ICM3CgpDYWxsIFRy YWNlOgogWzxmZmZmZmZmZjgxMjk3ZGExPl0gPyBwcmludGsrMHg2Ny8weDZlCiBbPGZmZmZmZmZm ODE0YTVhOGM+XSBfX2FsbG9jX2Jvb3RtZW1fY29yZSsweGE2LzB4M2IzCiBbPGZmZmZmZmZmODE0 YTVmYTY+XSBfX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDI1LzB4NDAKIFs8ZmZmZmZmZmY4MTQ5NWIw ZD5dIHNldHVwX3Blcl9jcHVfYXJlYXMrMHgxMDcvMHgyNzUKIFs8ZmZmZmZmZmY4MTQ4ZTE0MD5d ID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzMKIFs8ZmZmZmZmZmY4MTQ4ZWI5OD5dIHN0YXJ0 X2tlcm5lbCsweDEwYS8weDM1YgogWzxmZmZmZmZmZjgxNDhlNDUxPl0geDg2XzY0X3N0YXJ0X2tl cm5lbCsweDI1Ni8weDI2NQoKYm9vdG1lbTo6X19hbGxvY19ib290bWVtX2NvcmUgc3RhcnQ9MTBh NCBlbmQ9MTBiMApib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzaXplPWIwMzAgWzEyIHBh Z2VzXSBhbGlnbj0xMDAwIGdvYWw9MTAwMDAwMCBsaW1pdD0wClBpZDogMCwgY29tbTogc3dhcHBl ciBOb3QgdGFpbnRlZCAyLjYuMjYuNiAjNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTI5N2Rh MT5dID8gcHJpbnRrKzB4NjcvMHg2ZQogWzxmZmZmZmZmZjgxNGE1YThjPl0gX19hbGxvY19ib290 bWVtX2NvcmUrMHhhNi8weDNiMwogWzxmZmZmZmZmZjgxNGE1ZmE2Pl0gX19hbGxvY19ib290bWVt X25vZGUrMHgyNS8weDQwCiBbPGZmZmZmZmZmODE0OTViMGQ+XSBzZXR1cF9wZXJfY3B1X2FyZWFz KzB4MTA3LzB4Mjc1CiBbPGZmZmZmZmZmODE0OGUxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4 MC8weDczCiBbPGZmZmZmZmZmODE0OGViOTg+XSBzdGFydF9rZXJuZWwrMHgxMGEvMHgzNWIKIFs8 ZmZmZmZmZmY4MTQ4ZTQ1MT5dIHg4Nl82NF9zdGFydF9rZXJuZWwrMHgyNTYvMHgyNjUKCmJvb3Rt ZW06Ol9fYWxsb2NfYm9vdG1lbV9jb3JlIHN0YXJ0PTEwYjAgZW5kPTEwYmMKYm9vdG1lbTo6X19h bGxvY19ib290bWVtX2NvcmUgc2l6ZT1iMDMwIFsxMiBwYWdlc10gYWxpZ249MTAwMCBnb2FsPTEw MDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI2LjYg IzcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEyOTdkYTE+XSA/IHByaW50aysweDY3LzB4NmUK IFs8ZmZmZmZmZmY4MTRhNWE4Yz5dIF9fYWxsb2NfYm9vdG1lbV9jb3JlKzB4YTYvMHgzYjMKIFs8 ZmZmZmZmZmY4MTRhNWZhNj5dIF9fYWxsb2NfYm9vdG1lbV9ub2RlKzB4MjUvMHg0MAogWzxmZmZm ZmZmZjgxNDk1YjBkPl0gc2V0dXBfcGVyX2NwdV9hcmVhcysweDEwNy8weDI3NQogWzxmZmZmZmZm ZjgxNDhlMTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MwogWzxmZmZmZmZmZjgxNDhl Yjk4Pl0gc3RhcnRfa2VybmVsKzB4MTBhLzB4MzViCiBbPGZmZmZmZmZmODE0OGU0NTE+XSB4ODZf NjRfc3RhcnRfa2VybmVsKzB4MjU2LzB4MjY1Cgpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29y ZSBzdGFydD0xMGJjIGVuZD0xMGM4Ck5SX0NQVVM6IDY0LCBucl9jcHVfaWRzOiAxNgpib290bWVt OjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzaXplPTgwIFsxIHBhZ2VzXSBhbGlnbj04MCBnb2FsPTAg bGltaXQ9ZmZmZmZmZmYKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNi42 ICM3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMjk3ZGExPl0gPyBwcmludGsrMHg2Ny8weDZl CiBbPGZmZmZmZmZmODE0YTVhOGM+XSBfX2FsbG9jX2Jvb3RtZW1fY29yZSsweGE2LzB4M2IzCiBb PGZmZmZmZmZmODE0YTVkZTU+XSBfX2FsbG9jX2Jvb3RtZW1fbG93KzB4MzQvMHg3YwogWzxmZmZm ZmZmZjgxNDk1YzQ2Pl0gc2V0dXBfcGVyX2NwdV9hcmVhcysweDI0MC8weDI3NQogWzxmZmZmZmZm ZjgxNDhlMTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MwogWzxmZmZmZmZmZjgxNDhl Yjk4Pl0gc3RhcnRfa2VybmVsKzB4MTBhLzB4MzViCiBbPGZmZmZmZmZmODE0OGU0NTE+XSB4ODZf NjRfc3RhcnRfa2VybmVsKzB4MjU2LzB4MjY1Cgpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29y ZSBzdGFydD0yNSBlbmQ9MjYKQnVpbHQgMSB6b25lbGlzdHMgaW4gTm9kZSBvcmRlciwgbW9iaWxp dHkgZ3JvdXBpbmcgb24uICBUb3RhbCBwYWdlczogMTI3NDU2ClBvbGljeSB6b25lOiBETUEzMgpL ZXJuZWwgY29tbWFuZCBsaW5lOiBybyByb290PS9kZXYvVm9sR3JvdXAwMC9Mb2dWb2wwMCBib290 bWVtX2RlYnVnCkluaXRpYWxpemluZyBDUFUjMApQSUQgaGFzaCB0YWJsZSBlbnRyaWVzOiAyMDQ4 IChvcmRlcjogMTEsIDE2Mzg0IGJ5dGVzKQpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBz aXplPTQwMDAgWzQgcGFnZXNdIGFsaWduPTgwIGdvYWw9MTAwMDAwMCBsaW1pdD0wClBpZDogMCwg Y29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAyLjYuMjYuNiAjNwoKQ2FsbCBUcmFjZToKIFs8ZmZm ZmZmZmY4MTRhNWE4Yz5dIF9fYWxsb2NfYm9vdG1lbV9jb3JlKzB4YTYvMHgzYjMKIFs8ZmZmZmZm ZmY4MTQ4ZTE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzMKIFs8ZmZmZmZmZmY4MTRh NWYxZD5dIF9fYWxsb2NfYm9vdG1lbV9ub3BhbmljKzB4MzEvMHg1YwogWzxmZmZmZmZmZjgxNGE1 ZjU5Pl0gX19hbGxvY19ib290bWVtKzB4MTEvMHgzOQogWzxmZmZmZmZmZjgxNGEzMzg2Pl0gcGlk aGFzaF9pbml0KzB4ODEvMHhiOAogWzxmZmZmZmZmZjgxNDhlYzc2Pl0gc3RhcnRfa2VybmVsKzB4 MWU4LzB4MzViCiBbPGZmZmZmZmZmODE0OGU0NTE+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4MjU2 LzB4MjY1Cgpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzdGFydD0xMGM4IGVuZD0xMGNj ClRTQyBjYWxpYnJhdGVkIGFnYWluc3QgUE1fVElNRVIKdGltZS5jOiBEZXRlY3RlZCAyMzAwLjA3 MiBNSHogcHJvY2Vzc29yLgpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzaXplPTEwMDAw IFsxNiBwYWdlc10gYWxpZ249ODAgZ29hbD0xMDAwMDAwIGxpbWl0PTAKUGlkOiAwLCBjb21tOiBz d2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNi42ICM3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgx NGE1YThjPl0gX19hbGxvY19ib290bWVtX2NvcmUrMHhhNi8weDNiMwogWzxmZmZmZmZmZjgxMDEx ZjYyPl0gPyBuYXRpdmVfc2NoZWRfY2xvY2srMHg1Mi8weDY1CiBbPGZmZmZmZmZmODE0OGUxNDA+ XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDczCiBbPGZmZmZmZmZmODE0YTVmMWQ+XSBfX2Fs bG9jX2Jvb3RtZW1fbm9wYW5pYysweDMxLzB4NWMKIFs8ZmZmZmZmZmY4MTRhNWY1OT5dIF9fYWxs b2NfYm9vdG1lbSsweDExLzB4MzkKIFs8ZmZmZmZmZmY4MTI4YWFmYz5dIHZnYWNvbl9zY3JvbGxi YWNrX3N0YXJ0dXArMHgyOS8weDdjCiBbPGZmZmZmZmZmODExNTZkZjU+XSB2Z2Fjb25fc3RhcnR1 cCsweDM3Ny8weDM4ZQogWzxmZmZmZmZmZjgxNGFmNmZkPl0gY29uX2luaXQrMHgxYi8weDI0Zgog WzxmZmZmZmZmZjgxNGFmMDdhPl0gY29uc29sZV9pbml0KzB4MjIvMHgzMwogWzxmZmZmZmZmZjgx NDhlY2MxPl0gc3RhcnRfa2VybmVsKzB4MjMzLzB4MzViCiBbPGZmZmZmZmZmODE0OGU0NTE+XSB4 ODZfNjRfc3RhcnRfa2VybmVsKzB4MjU2LzB4MjY1Cgpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1f Y29yZSBzdGFydD0xMGNjIGVuZD0xMGRjCmJvb3RtZW06Ol9fYWxsb2NfYm9vdG1lbV9jb3JlIHNp emU9MWIwIFsxIHBhZ2VzXSBhbGlnbj04MCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNv bW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI2LjYgIzcKCkNhbGwgVHJhY2U6CiBbPGZmZmZm ZmZmODE0YTVhOGM+XSBfX2FsbG9jX2Jvb3RtZW1fY29yZSsweGE2LzB4M2IzCiBbPGZmZmZmZmZm ODEyOWExNDQ+XSA/IF9zcGluX2xvY2tfaXJxc2F2ZSsweDFhLzB4MzUKIFs8ZmZmZmZmZmY4MTI5 YTI3Mz5dID8gX3NwaW5fdW5sb2NrX2lycXJlc3RvcmUrMHgxMC8weDEzCiBbPGZmZmZmZmZmODE0 OGUxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDczCiBbPGZmZmZmZmZmODE0YTVmMWQ+ XSBfX2FsbG9jX2Jvb3RtZW1fbm9wYW5pYysweDMxLzB4NWMKIFs8ZmZmZmZmZmY4MTRhNWY1OT5d IF9fYWxsb2NfYm9vdG1lbSsweDExLzB4MzkKIFs8ZmZmZmZmZmY4MTRhZjdjOD5dIGNvbl9pbml0 KzB4ZTYvMHgyNGYKIFs8ZmZmZmZmZmY4MTRhZjA3YT5dIGNvbnNvbGVfaW5pdCsweDIyLzB4MzMK IFs8ZmZmZmZmZmY4MTQ4ZWNjMT5dIHN0YXJ0X2tlcm5lbCsweDIzMy8weDM1YgogWzxmZmZmZmZm ZjgxNDhlNDUxPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweDI1Ni8weDI2NQoKYm9vdG1lbTo6X19h bGxvY19ib290bWVtX2NvcmUgc3RhcnQ9MTBkYyBlbmQ9MTBkZApib290bWVtOjpfX2FsbG9jX2Jv b3RtZW1fY29yZSBzaXplPWZhMCBbMSBwYWdlc10gYWxpZ249ODAgZ29hbD0xMDAwMDAwIGxpbWl0 PTAKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNi42ICM3CgpDYWxsIFRy YWNlOgogWzxmZmZmZmZmZjgxNGE1YThjPl0gX19hbGxvY19ib290bWVtX2NvcmUrMHhhNi8weDNi MwogWzxmZmZmZmZmZjgxNDhlMTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MwogWzxm ZmZmZmZmZjgxNGE1ZjFkPl0gX19hbGxvY19ib290bWVtX25vcGFuaWMrMHgzMS8weDVjCiBbPGZm ZmZmZmZmODE0YTVmNTk+XSBfX2FsbG9jX2Jvb3RtZW0rMHgxMS8weDM5CiBbPGZmZmZmZmZmODE0 YWY4MmM+XSBjb25faW5pdCsweDE0YS8weDI0ZgogWzxmZmZmZmZmZjgxNGFmMDdhPl0gY29uc29s ZV9pbml0KzB4MjIvMHgzMwogWzxmZmZmZmZmZjgxNDhlY2MxPl0gc3RhcnRfa2VybmVsKzB4MjMz LzB4MzViCiBbPGZmZmZmZmZmODE0OGU0NTE+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4MjU2LzB4 MjY1Cgpib290bWVtOjpfX2FsbG9jX2Jvb3RtZW1fY29yZSBzdGFydD0xMGRkIGVuZD0xMGRlCkNv bnNvbGU6IGNvbG91ciBWR0ErIDgweDI1CmNvbnNvbGUgW3R0eTBdIGVuYWJsZWQKQ2hlY2tpbmcg YXBlcnR1cmUuLi4KQ2FsZ2FyeTogZGV0ZWN0aW5nIENhbGdhcnkgdmlhIEJJT1MgRUJEQSBhcmVh CkNhbGdhcnk6IFVuYWJsZSB0byBsb2NhdGUgUmlvIEdyYW5kZSB0YWJsZSBpbiBFQkRBIC0gYmFp bGluZyEKYm9vdG1lbTo6ZnJlZV9hbGxfYm9vdG1lbV9jb3JlIHJlbGVhc2VkPTQKTWVtb3J5OiA1 MDQ4MTZrLzUyNDIyNGsgYXZhaWxhYmxlICgyNjkwayBrZXJuZWwgY29kZSwgMTkwMjBrIHJlc2Vy dmVkLCAxNDgzayBkYXRhLCA5NzZrIGluaXQpCkNQQTogcGFnZSBwb29sIGluaXRpYWxpemVkIDEg b2YgMSBwYWdlcyBwcmVhbGxvY2F0ZWQKU0xVQjogR2Vuc2xhYnM9MTMsIEhXYWxpZ249NjQsIE9y ZGVyPTAtMywgTWluT2JqZWN0cz0wLCBDUFVzPTE2LCBOb2Rlcz0xCkNhbGlicmF0aW5nIGRlbGF5 IHVzaW5nIHRpbWVyIHNwZWNpZmljIHJvdXRpbmUuLiAzMjUxLjAzIEJvZ29NSVBTIChscGo9MTYy NTUxNikKU2VjdXJpdHkgRnJhbWV3b3JrIGluaXRpYWxpemVkClNFTGludXg6ICBJbml0aWFsaXpp bmcuClNFTGludXg6ICBTdGFydGluZyBpbiBwZXJtaXNzaXZlIG1vZGUKc2VsaW51eF9yZWdpc3Rl cl9zZWN1cml0eTogIFJlZ2lzdGVyaW5nIHNlY29uZGFyeSBtb2R1bGUgY2FwYWJpbGl0eQpDYXBh YmlsaXR5IExTTSBpbml0aWFsaXplZCBhcyBzZWNvbmRhcnkKRGVudHJ5IGNhY2hlIGhhc2ggdGFi bGUgZW50cmllczogNjU1MzYgKG9yZGVyOiA3LCA1MjQyODggYnl0ZXMpCklub2RlLWNhY2hlIGhh c2ggdGFibGUgZW50cmllczogMzI3NjggKG9yZGVyOiA2LCAyNjIxNDQgYnl0ZXMpCk1vdW50LWNh Y2hlIGhhc2ggdGFibGUgZW50cmllczogMjU2CkluaXRpYWxpemluZyBjZ3JvdXAgc3Vic3lzIG5z CkluaXRpYWxpemluZyBjZ3JvdXAgc3Vic3lzIGNwdWFjY3QKSW5pdGlhbGl6aW5nIGNncm91cCBz dWJzeXMgZGV2aWNlcwpQQVQgZGlzYWJsZWQuIE5vdCB5ZXQgdmVyaWZpZWQgb24gdGhpcyBDUFUg dHlwZS4KQ1BVOiBMMSBJIENhY2hlOiA2NEsgKDY0IGJ5dGVzL2xpbmUpLCBEIGNhY2hlIDY0SyAo NjQgYnl0ZXMvbGluZSkKQ1BVOiBMMiBDYWNoZTogNTEySyAoNjQgYnl0ZXMvbGluZSkKQ1BVIDAv MCAtPiBOb2RlIDAKQUNQSTogQ29yZSByZXZpc2lvbiAyMDA4MDMyMQpDUFUwOiBRRU1VIFZpcnR1 YWwgQ1BVIHZlcnNpb24gMC45LjEgc3RlcHBpbmcgMDMKVXNpbmcgbG9jYWwgQVBJQyB0aW1lciBp bnRlcnJ1cHRzLgpBUElDIHRpbWVyIGNhbGlicmF0aW9uIHJlc3VsdCA3OTg2MTI4OQpEZXRlY3Rl ZCA3OS44NjEgTUh6IEFQSUMgdGltZXIuCkJyb3VnaHQgdXAgMSBDUFVzClRvdGFsIG9mIDEgcHJv Y2Vzc29ycyBhY3RpdmF0ZWQgKDMyNTEuMDMgQm9nb01JUFMpLgpDUFUwIGF0dGFjaGluZyBzY2hl ZC1kb21haW46CiBkb21haW4gMDogc3BhbiAwCiAgZ3JvdXBzOiAwCm5ldF9uYW1lc3BhY2U6IDEy MjQgYnl0ZXMKQm9vdGluZyBwYXJhdmlydHVhbGl6ZWQga2VybmVsIG9uIEtWTQpUaW1lOiAxMjox ODo0OCAgRGF0ZTogMDMvMDgvMDkKTkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxNgpO byBkb2NrIGRldmljZXMgZm91bmQuCkFDUEk6IGJ1cyB0eXBlIHBjaSByZWdpc3RlcmVkClBDSTog VXNpbmcgY29uZmlndXJhdGlvbiB0eXBlIDEgZm9yIGJhc2UgYWNjZXNzCkFDUEk6IEVDOiBMb29r IHVwIEVDIGluIERTRFQKQUNQSTogSW50ZXJwcmV0ZXIgZW5hYmxlZApBQ1BJOiAoc3VwcG9ydHMg UzAgUzUpCkFDUEk6IFVzaW5nIElPQVBJQyBmb3IgaW50ZXJydXB0IHJvdXRpbmcKQUNQSTogUENJ IFJvb3QgQnJpZGdlIFtQQ0kwXSAoMDAwMDowMCkKcGNpIDAwMDA6MDA6MDEuMzogcXVpcms6IHJl Z2lvbiBiMDAwLWIwM2YgY2xhaW1lZCBieSBQSUlYNCBBQ1BJCnBjaSAwMDAwOjAwOjAxLjM6IHF1 aXJrOiByZWdpb24gYjEwMC1iMTBmIGNsYWltZWQgYnkgUElJWDQgU01CCkFDUEk6IFBDSSBJbnRl cnJ1cHQgUm91dGluZyBUYWJsZSBbXF9TQl8uUENJMC5fUFJUXQpBQ1BJOiBQQ0kgSW50ZXJydXB0 IExpbmsgW0xOS0FdIChJUlFzIDUgKjEwIDExKQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0xO S0JdIChJUlFzIDUgKjEwIDExKQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0xOS0NdIChJUlFz IDUgMTAgKjExKQpBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0xOS0RdIChJUlFzIDUgMTAgKjEx KQpMaW51eCBQbHVnIGFuZCBQbGF5IFN1cHBvcnQgdjAuOTcgKGMpIEFkYW0gQmVsYXkKcG5wOiBQ blAgQUNQSSBpbml0CkFDUEk6IGJ1cyB0eXBlIHBucCByZWdpc3RlcmVkCnBucDogUG5QIEFDUEk6 IGZvdW5kIDUgZGV2aWNlcwpBQ1BJOiBBQ1BJIGJ1cyB0eXBlIHBucCB1bnJlZ2lzdGVyZWQKdXNi Y29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciB1c2Jmcwp1c2Jjb3JlOiByZWdp c3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIGh1Ygp1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBk ZXZpY2UgZHJpdmVyIHVzYgpQQ0k6IFVzaW5nIEFDUEkgZm9yIElSUSByb3V0aW5nCk5ldExhYmVs OiBJbml0aWFsaXppbmcKTmV0TGFiZWw6ICBkb21haW4gaGFzaCBzaXplID0gMTI4Ck5ldExhYmVs OiAgcHJvdG9jb2xzID0gVU5MQUJFTEVEIENJUFNPdjQKTmV0TGFiZWw6ICB1bmxhYmVsZWQgdHJh ZmZpYyBhbGxvd2VkIGJ5IGRlZmF1bHQKUENJLUdBUlQ6IE5vIEFNRCBub3J0aGJyaWRnZSBmb3Vu ZC4KTkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAyCklQIHJvdXRlIGNhY2hlIGhhc2gg dGFibGUgZW50cmllczogNDA5NiAob3JkZXI6IDMsIDMyNzY4IGJ5dGVzKQpUQ1AgZXN0YWJsaXNo ZWQgaGFzaCB0YWJsZSBlbnRyaWVzOiAxNjM4NCAob3JkZXI6IDYsIDI2MjE0NCBieXRlcykKVENQ IGJpbmQgaGFzaCB0YWJsZSBlbnRyaWVzOiAxNjM4NCAob3JkZXI6IDYsIDI2MjE0NCBieXRlcykK VENQOiBIYXNoIHRhYmxlcyBjb25maWd1cmVkIChlc3RhYmxpc2hlZCAxNjM4NCBiaW5kIDE2Mzg0 KQpUQ1AgcmVubyByZWdpc3RlcmVkCk5FVDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMQpj aGVja2luZyBpZiBpbWFnZSBpcyBpbml0cmFtZnMuLi4gaXQgaXMKRnJlZWluZyBpbml0cmQgbWVt b3J5OiAzMzU5ayBmcmVlZAphdWRpdDogaW5pdGlhbGl6aW5nIG5ldGxpbmsgc29ja2V0IChkaXNh YmxlZCkKdHlwZT0yMDAwIGF1ZGl0KDEyMzY1MTQ3MjYuNjkyOjEpOiBpbml0aWFsaXplZApUb3Rh bCBIdWdlVExCIG1lbW9yeSBhbGxvY2F0ZWQsIDAKVkZTOiBEaXNrIHF1b3RhcyBkcXVvdF82LjUu MQpEcXVvdC1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDUxMiAob3JkZXIgMCwgNDA5NiBieXRl cykKbXNnbW5pIGhhcyBiZWVuIHNldCB0byA5OTIKU0VMaW51eDogIFJlZ2lzdGVyaW5nIG5ldGZp bHRlciBob29rcwpCbG9jayBsYXllciBTQ1NJIGdlbmVyaWMgKGJzZykgZHJpdmVyIHZlcnNpb24g MC40IGxvYWRlZCAobWFqb3IgMjUyKQppbyBzY2hlZHVsZXIgbm9vcCByZWdpc3RlcmVkCmlvIHNj aGVkdWxlciBhbnRpY2lwYXRvcnkgcmVnaXN0ZXJlZAppbyBzY2hlZHVsZXIgZGVhZGxpbmUgcmVn aXN0ZXJlZAppbyBzY2hlZHVsZXIgY2ZxIHJlZ2lzdGVyZWQgKGRlZmF1bHQpCnBjaSAwMDAwOjAw OjAwLjA6IExpbWl0aW5nIGRpcmVjdCBQQ0kvUENJIHRyYW5zZmVycwpwY2kgMDAwMDowMDowMS4w OiBBY3RpdmF0aW5nIElTQSBETUEgaGFuZyB3b3JrYXJvdW5kcwpwY2kgMDAwMDowMDowMi4wOiBC b290IHZpZGVvIGRldmljZQpwY2lfaG90cGx1ZzogUENJIEhvdCBQbHVnIFBDSSBDb3JlIHZlcnNp b246IDAuNQppbnB1dDogUG93ZXIgQnV0dG9uIChGRikgYXMgL2RldmljZXMvTE5YU1lTVE06MDAv TE5YUFdSQk46MDAvaW5wdXQvaW5wdXQwCkFDUEk6IFBvd2VyIEJ1dHRvbiAoRkYpIFtQV1JGXQpB Q1BJOiBBQ1BJMDAwNzowMCBpcyByZWdpc3RlcmVkIGFzIGNvb2xpbmdfZGV2aWNlMApOb24tdm9s YXRpbGUgbWVtb3J5IGRyaXZlciB2MS4yCkxpbnV4IGFncGdhcnQgaW50ZXJmYWNlIHYwLjEwMwpT ZXJpYWw6IDgyNTAvMTY1NTAgZHJpdmVyICRSZXZpc2lvbjogMS45MCAkIDQgcG9ydHMsIElSUSBz aGFyaW5nIGVuYWJsZWQKYnJkOiBtb2R1bGUgbG9hZGVkCmlucHV0OiBNYWNpbnRvc2ggbW91c2Ug YnV0dG9uIGVtdWxhdGlvbiBhcyAvZGV2aWNlcy92aXJ0dWFsL2lucHV0L2lucHV0MQpQTlA6IFBT LzIgQ29udHJvbGxlciBbUE5QMDMwMzpLQkQsUE5QMGYxMzpNT1VdIGF0IDB4NjAsMHg2NCBpcnEg MSwxMgpzZXJpbzogaTgwNDIgS0JEIHBvcnQgYXQgMHg2MCwweDY0IGlycSAxCnNlcmlvOiBpODA0 MiBBVVggcG9ydCBhdCAweDYwLDB4NjQgaXJxIDEyCm1pY2U6IFBTLzIgbW91c2UgZGV2aWNlIGNv bW1vbiBmb3IgYWxsIG1pY2UKaW5wdXQ6IEFUIFRyYW5zbGF0ZWQgU2V0IDIga2V5Ym9hcmQgYXMg L2RldmljZXMvcGxhdGZvcm0vaTgwNDIvc2VyaW8wL2lucHV0L2lucHV0MgpydGNfY21vcyAwMDow MTogcnRjIGNvcmU6IHJlZ2lzdGVyZWQgcnRjX2Ntb3MgYXMgcnRjMApydGMwOiBhbGFybXMgdXAg dG8gb25lIGRheQpjcHVpZGxlOiB1c2luZyBnb3Zlcm5vciBsYWRkZXIKY3B1aWRsZTogdXNpbmcg Z292ZXJub3IgbWVudQp1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIGhp ZGRldgp1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIHVzYmhpZAp1c2Jo aWQ6IHYyLjY6VVNCIEhJRCBjb3JlIGRyaXZlcgpUQ1AgY3ViaWMgcmVnaXN0ZXJlZApJbml0aWFs aXppbmcgWEZSTSBuZXRsaW5rIHNvY2tldApORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5 IDE3CnJlZ2lzdGVyZWQgdGFza3N0YXRzIHZlcnNpb24gMQogIE1hZ2ljIG51bWJlcjogMToxMjU6 MzI5CiAgaGFzaCBtYXRjaGVzIGRldmljZSB0dHk1MApGcmVlaW5nIHVudXNlZCBrZXJuZWwgbWVt b3J5OiA5NzZrIGZyZWVkCldyaXRlIHByb3RlY3RpbmcgdGhlIGtlcm5lbCByZWFkLW9ubHkgZGF0 YTogMzgzNmsKU3dpdGNoZWQgdG8gaGlnaCByZXNvbHV0aW9uIG1vZGUgb24gQ1BVIDAKaW5wdXQ6 IEltRXhQUy8yIEdlbmVyaWMgRXhwbG9yZXIgTW91c2UgYXMgL2RldmljZXMvcGxhdGZvcm0vaTgw NDIvc2VyaW8xL2lucHV0L2lucHV0MwpvaGNpX2hjZDogMjAwNiBBdWd1c3QgMDQgVVNCIDEuMSAn T3BlbicgSG9zdCBDb250cm9sbGVyIChPSENJKSBEcml2ZXIKVVNCIFVuaXZlcnNhbCBIb3N0IENv bnRyb2xsZXIgSW50ZXJmYWNlIGRyaXZlciB2My4wCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBb TE5LRF0gZW5hYmxlZCBhdCBJUlEgMTEKQUNQSTogUENJIEludGVycnVwdCAwMDAwOjAwOjAxLjJb RF0gLT4gTGluayBbTE5LRF0gLT4gR1NJIDExIChsZXZlbCwgaGlnaCkgLT4gSVJRIDExCnVoY2lf aGNkIDAwMDA6MDA6MDEuMjogVUhDSSBIb3N0IENvbnRyb2xsZXIKdWhjaV9oY2QgMDAwMDowMDow MS4yOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDEKdWhjaV9o Y2QgMDAwMDowMDowMS4yOiBpcnEgMTEsIGlvIGJhc2UgMHgwMDAwYzAyMAp1c2IgdXNiMTogY29u ZmlndXJhdGlvbiAjMSBjaG9zZW4gZnJvbSAxIGNob2ljZQpodWIgMS0wOjEuMDogVVNCIGh1YiBm b3VuZApodWIgMS0wOjEuMDogMiBwb3J0cyBkZXRlY3RlZAp1c2IgdXNiMTogTmV3IFVTQiBkZXZp Y2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAxCnVzYiB1c2IxOiBOZXcgVVNC IGRldmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQp1c2IgdXNi MTogUHJvZHVjdDogVUhDSSBIb3N0IENvbnRyb2xsZXIKdXNiIHVzYjE6IE1hbnVmYWN0dXJlcjog TGludXggMi42LjI2LjYgdWhjaV9oY2QKdXNiIHVzYjE6IFNlcmlhbE51bWJlcjogMDAwMDowMDow MS4yCkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5LQ10gZW5hYmxlZCBhdCBJUlEgMTAKQUNQ STogUENJIEludGVycnVwdCAwMDAwOjAwOjAzLjBbQV0gLT4gTGluayBbTE5LQ10gLT4gR1NJIDEw IChsZXZlbCwgaGlnaCkgLT4gSVJRIDEwCkFDUEk6IFBDSSBJbnRlcnJ1cHQgMDAwMDowMDowNC4w W0FdIC0+IExpbmsgW0xOS0RdIC0+IEdTSSAxMSAobGV2ZWwsIGhpZ2gpIC0+IElSUSAxMQogdmRh OiB2ZGExIHZkYTIKZGV2aWNlLW1hcHBlcjogdWV2ZW50OiB2ZXJzaW9uIDEuMC4zCmRldmljZS1t YXBwZXI6IGlvY3RsOiA0LjEzLjAtaW9jdGwgKDIwMDctMTAtMTgpIGluaXRpYWxpc2VkOiBkbS1k ZXZlbEByZWRoYXQuY29tCmtqb3VybmFsZCBzdGFydGluZy4gIENvbW1pdCBpbnRlcnZhbCA1IHNl Y29uZHMKRVhUMy1mczogbW91bnRlZCBmaWxlc3lzdGVtIHdpdGggb3JkZXJlZCBkYXRhIG1vZGUu CnR5cGU9MTQwNCBhdWRpdCgxMjM2NTE0NzI3Ljc2MDoyKTogZW5mb3JjaW5nPTEgb2xkX2VuZm9y Y2luZz0wIGF1aWQ9NDI5NDk2NzI5NSBzZXM9NDI5NDk2NzI5NQpDbG9ja3NvdXJjZSB0c2MgdW5z dGFibGUgKGRlbHRhID0gLTcwOTQxNzc2IG5zKQpTRUxpbnV4OiA4MTkyIGF2dGFiIGhhc2ggc2xv dHMsIDE3ODUxNiBydWxlcy4KU0VMaW51eDogODE5MiBhdnRhYiBoYXNoIHNsb3RzLCAxNzg1MTYg cnVsZXMuClNFTGludXg6ICA4IHVzZXJzLCAxMiByb2xlcywgMjQzNSB0eXBlcywgMTE5IGJvb2xz LCAxIHNlbnMsIDEwMjQgY2F0cwpTRUxpbnV4OiAgNzMgY2xhc3NlcywgMTc4NTE2IHJ1bGVzClNF TGludXg6ICBDb21wbGV0aW5nIGluaXRpYWxpemF0aW9uLgpTRUxpbnV4OiAgU2V0dGluZyB1cCBl eGlzdGluZyBzdXBlcmJsb2Nrcy4KU0VMaW51eDogaW5pdGlhbGl6ZWQgKGRldiBkbS0wLCB0eXBl IGV4dDMpLCB1c2VzIHhhdHRyClNFTGludXg6IGluaXRpYWxpemVkIChkZXYgdXNiZnMsIHR5cGUg dXNiZnMpLCB1c2VzIGdlbmZzX2NvbnRleHRzClNFTGludXg6IGluaXRpYWxpemVkIChkZXYgdG1w ZnMsIHR5cGUgdG1wZnMpLCB1c2VzIHRyYW5zaXRpb24gU0lEcwpTRUxpbnV4OiBpbml0aWFsaXpl ZCAoZGV2IHNlbGludXhmcywgdHlwZSBzZWxpbnV4ZnMpLCB1c2VzIGdlbmZzX2NvbnRleHRzClNF TGludXg6IGluaXRpYWxpemVkIChkZXYgbXF1ZXVlLCB0eXBlIG1xdWV1ZSksIHVzZXMgdHJhbnNp dGlvbiBTSURzClNFTGludXg6IGluaXRpYWxpemVkIChkZXYgaHVnZXRsYmZzLCB0eXBlIGh1Z2V0 bGJmcyksIHVzZXMgZ2VuZnNfY29udGV4dHMKU0VMaW51eDogaW5pdGlhbGl6ZWQgKGRldiBkZXZw dHMsIHR5cGUgZGV2cHRzKSwgdXNlcyB0cmFuc2l0aW9uIFNJRHMKU0VMaW51eDogaW5pdGlhbGl6 ZWQgKGRldiBpbm90aWZ5ZnMsIHR5cGUgaW5vdGlmeWZzKSwgdXNlcyBnZW5mc19jb250ZXh0cwpT RUxpbnV4OiBpbml0aWFsaXplZCAoZGV2IHRtcGZzLCB0eXBlIHRtcGZzKSwgdXNlcyB0cmFuc2l0 aW9uIFNJRHMKU0VMaW51eDogaW5pdGlhbGl6ZWQgKGRldiBhbm9uX2lub2RlZnMsIHR5cGUgYW5v bl9pbm9kZWZzKSwgdXNlcyBnZW5mc19jb250ZXh0cwpTRUxpbnV4OiBpbml0aWFsaXplZCAoZGV2 IHBpcGVmcywgdHlwZSBwaXBlZnMpLCB1c2VzIHRhc2sgU0lEcwpTRUxpbnV4OiBpbml0aWFsaXpl ZCAoZGV2IGRlYnVnZnMsIHR5cGUgZGVidWdmcyksIHVzZXMgZ2VuZnNfY29udGV4dHMKU0VMaW51 eDogaW5pdGlhbGl6ZWQgKGRldiBzb2NrZnMsIHR5cGUgc29ja2ZzKSwgdXNlcyB0YXNrIFNJRHMK U0VMaW51eDogaW5pdGlhbGl6ZWQgKGRldiBwcm9jLCB0eXBlIHByb2MpLCB1c2VzIGdlbmZzX2Nv bnRleHRzClNFTGludXg6IGluaXRpYWxpemVkIChkZXYgYmRldiwgdHlwZSBiZGV2KSwgdXNlcyBn ZW5mc19jb250ZXh0cwpTRUxpbnV4OiBpbml0aWFsaXplZCAoZGV2IHJvb3RmcywgdHlwZSByb290 ZnMpLCB1c2VzIGdlbmZzX2NvbnRleHRzClNFTGludXg6IGluaXRpYWxpemVkIChkZXYgc3lzZnMs IHR5cGUgc3lzZnMpLCB1c2VzIGdlbmZzX2NvbnRleHRzClNFTGludXg6IHBvbGljeSBsb2FkZWQg d2l0aCBoYW5kbGVfdW5rbm93bj1hbGxvdwp0eXBlPTE0MDMgYXVkaXQoMTIzNjUxNDcyOC4xMjg6 Myk6IHBvbGljeSBsb2FkZWQgYXVpZD00Mjk0OTY3Mjk1IHNlcz00Mjk0OTY3Mjk1ClNDU0kgc3Vi c3lzdGVtIGluaXRpYWxpemVkCnBpaXg0X3NtYnVzIDAwMDA6MDA6MDEuMzogRm91bmQgMDAwMDow MDowMS4zIGRldmljZQpsaWJhdGEgdmVyc2lvbiAzLjAwIGxvYWRlZC4KYXRhX3BpaXggMDAwMDow MDowMS4xOiB2ZXJzaW9uIDIuMTIKc2NzaTAgOiBhdGFfcGlpeAppbnB1dDogUEMgU3BlYWtlciBh cyAvZGV2aWNlcy9wbGF0Zm9ybS9wY3Nwa3IvaW5wdXQvaW5wdXQ0CnNjc2kxIDogYXRhX3BpaXgK YXRhMTogUEFUQSBtYXggTVdETUEyIGNtZCAweDFmMCBjdGwgMHgzZjYgYm1kbWEgMHhjMDAwIGly cSAxNAphdGEyOiBQQVRBIG1heCBNV0RNQTIgY21kIDB4MTcwIGN0bCAweDM3NiBibWRtYSAweGMw MDggaXJxIDE1CmF0YTIuMDA6IEFUQVBJOiBRRU1VIERWRC1ST00sIDAuOS4xLCBtYXggVURNQS8x MDAKYXRhMi4wMDogY29uZmlndXJlZCBmb3IgTVdETUEyCmlzYSBib3VuY2UgcG9vbCBzaXplOiAx NiBwYWdlcwpzY3NpIDE6MDowOjA6IENELVJPTSAgICAgICAgICAgIFFFTVUgICAgIFFFTVUgRFZE LVJPTSAgICAgMC45LiBQUTogMCBBTlNJOiA1CkZEQyAwIGlzIGEgUzgyMDc4QgpEcml2ZXIgJ3Ny JyBuZWVkcyB1cGRhdGluZyAtIHBsZWFzZSB1c2UgYnVzX3R5cGUgbWV0aG9kcwpzcjA6IHNjc2kz LW1tYyBkcml2ZTogNHgvNHggeGEvZm9ybTIgdHJheQpVbmlmb3JtIENELVJPTSBkcml2ZXIgUmV2 aXNpb246IDMuMjAKc3IgMTowOjA6MDogQXR0YWNoZWQgc2NzaSBDRC1ST00gc3IwCnNyIDE6MDow OjA6IEF0dGFjaGVkIHNjc2kgZ2VuZXJpYyBzZzAgdHlwZSA1CmRldmljZS1tYXBwZXI6IG11bHRp cGF0aDogdmVyc2lvbiAxLjAuNSBsb2FkZWQKbG9vcDogbW9kdWxlIGxvYWRlZApFWFQzIEZTIG9u IGRtLTAsIGludGVybmFsIGpvdXJuYWwKa2pvdXJuYWxkIHN0YXJ0aW5nLiAgQ29tbWl0IGludGVy dmFsIDUgc2Vjb25kcwpFWFQzIEZTIG9uIHZkYTEsIGludGVybmFsIGpvdXJuYWwKRVhUMy1mczog bW91bnRlZCBmaWxlc3lzdGVtIHdpdGggb3JkZXJlZCBkYXRhIG1vZGUuClNFTGludXg6IGluaXRp YWxpemVkIChkZXYgdmRhMSwgdHlwZSBleHQzKSwgdXNlcyB4YXR0cgpTRUxpbnV4OiBpbml0aWFs aXplZCAoZGV2IHRtcGZzLCB0eXBlIHRtcGZzKSwgdXNlcyB0cmFuc2l0aW9uIFNJRHMKQWRkaW5n IDUyNDI4MGsgc3dhcCBvbiAvZGV2L21hcHBlci9Wb2xHcm91cDAwLUxvZ1ZvbDAxLiAgUHJpb3Jp dHk6LTEgZXh0ZW50czoxIGFjcm9zczo1MjQyODBrClNFTGludXg6IGluaXRpYWxpemVkIChkZXYg YmluZm10X21pc2MsIHR5cGUgYmluZm10X21pc2MpLCB1c2VzIGdlbmZzX2NvbnRleHRzCk5FVDog UmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMTAKbG86IERpc2FibGVkIFByaXZhY3kgRXh0ZW5z aW9ucwppcDZfdGFibGVzOiAoQykgMjAwMC0yMDA2IE5ldGZpbHRlciBDb3JlIFRlYW0KbmZfY29u bnRyYWNrIHZlcnNpb24gMC41LjAgKDQwOTYgYnVja2V0cywgMTYzODQgbWF4KQppcF90YWJsZXM6 IChDKSAyMDAwLTIwMDYgTmV0ZmlsdGVyIENvcmUgVGVhbQpSUEM6IFJlZ2lzdGVyZWQgdWRwIHRy YW5zcG9ydCBtb2R1bGUuClJQQzogUmVnaXN0ZXJlZCB0Y3AgdHJhbnNwb3J0IG1vZHVsZS4KU0VM aW51eDogaW5pdGlhbGl6ZWQgKGRldiBycGNfcGlwZWZzLCB0eXBlIHJwY19waXBlZnMpLCB1c2Vz IGdlbmZzX2NvbnRleHRzCmV0aDA6IG5vIElQdjYgcm91dGVycyBwcmVzZW50Cndhcm5pbmc6IGBk YnVzLWRhZW1vbicgdXNlcyBkZXByZWNhdGVkIHYyIGNhcGFiaWxpdGllcyBpbiBhIHdheSB0aGF0 IG1heSBiZSBpbnNlY3VyZS4K --MP_/.j8I8Ps1XCBVeaGBuHT_5/. Content-Type: application/octet-stream; name=dmesg.27 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=dmesg.27 SW5pdGlhbGl6aW5nIGNncm91cCBzdWJzeXMgY3B1c2V0CkluaXRpYWxpemluZyBjZ3JvdXAgc3Vi c3lzIGNwdQpMaW51eCB2ZXJzaW9uIDIuNi4yNy4xOSAoZHJ6ZXVzQGVyZW1ldGhldXMuZHJ6ZXVz LmN4KSAoZ2NjIHZlcnNpb24gNC4zLjIgMjAwODExMDUgKFJlZCBIYXQgNC4zLjItNykgKEdDQykg KSAjMSBTTVAgU3VuIE1hciA4IDExOjM1OjQyIENFVCAyMDA5CkNvbW1hbmQgbGluZTogcm8gcm9v dD0vZGV2L1ZvbEdyb3VwMDAvTG9nVm9sMDAgYm9vdG1lbV9kZWJ1ZwpLRVJORUwgc3VwcG9ydGVk IGNwdXM6CiAgSW50ZWwgR2VudWluZUludGVsCiAgQU1EIEF1dGhlbnRpY0FNRAogIENlbnRhdXIg Q2VudGF1ckhhdWxzCkJJT1MtcHJvdmlkZWQgcGh5c2ljYWwgUkFNIG1hcDoKIEJJT1MtZTgyMDog MDAwMDAwMDAwMDAwMDAwMCAtIDAwMDAwMDAwMDAwOWZjMDAgKHVzYWJsZSkKIEJJT1MtZTgyMDog MDAwMDAwMDAwMDA5ZmMwMCAtIDAwMDAwMDAwMDAwYTAwMDAgKHJlc2VydmVkKQogQklPUy1lODIw OiAwMDAwMDAwMDAwMGU4MDAwIC0gMDAwMDAwMDAwMDEwMDAwMCAocmVzZXJ2ZWQpCiBCSU9TLWU4 MjA6IDAwMDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAwMDFmZmYwMDAwICh1c2FibGUpCiBCSU9TLWU4 MjA6IDAwMDAwMDAwMWZmZjAwMDAgLSAwMDAwMDAwMDIwMDAwMDAwIChBQ1BJIGRhdGEpCiBCSU9T LWU4MjA6IDAwMDAwMDAwZmZmYmQwMDAgLSAwMDAwMDAwMTAwMDAwMDAwIChyZXNlcnZlZCkKRE1J IDIuNCBwcmVzZW50LgpsYXN0X3BmbiA9IDB4MWZmZjAgbWF4X2FyY2hfcGZuID0gMHgzZmZmZmZm ZmYKeDg2IFBBVCBlbmFibGVkOiBjcHUgMCwgb2xkIDB4MCwgbmV3IDB4NzAxMDYwMDA3MDEwNgpp bml0X21lbW9yeV9tYXBwaW5nCiAwMDAwMDAwMDAwIC0gMDAxZmUwMDAwMCBwYWdlIDJNCiAwMDFm ZTAwMDAwIC0gMDAxZmZmMDAwMCBwYWdlIDRrCmtlcm5lbCBkaXJlY3QgbWFwcGluZyB0YWJsZXMg dXAgdG8gMWZmZjAwMDAgQCA4MDAwLWIwMDAKbGFzdF9tYXBfYWRkcjogMWZmZjAwMDAgZW5kOiAx ZmZmMDAwMApSQU1ESVNLOiAxZmNjNTAwMCAtIDFmZmRmNDY4CkFDUEk6IFJTRFAgMDAwRkI5RDAs IDAwMTQgKHIwIFFFTVUgICkKQUNQSTogUlNEVCAxRkZGMDAwMCwgMDAyQyAocjEgUUVNVSAgIFFF TVVSU0RUICAgICAgICAxIFFFTVUgICAgICAgIDEpCkFDUEk6IEZBQ1AgMUZGRjAwMkMsIDAwNzQg KHIxIFFFTVUgICBRRU1VRkFDUCAgICAgICAgMSBRRU1VICAgICAgICAxKQpBQ1BJOiBEU0RUIDFG RkYwMTAwLCAyNTNDIChyMSAgIEJYUEMgICBCWERTRFQgICAgICAgIDEgSU5UTCAyMDA2MTEwOSkK QUNQSTogRkFDUyAxRkZGMDBDMCwgMDA0MApBQ1BJOiBBUElDIDFGRkYyNjQwLCAwMEUwIChyMSBR RU1VICAgUUVNVUFQSUMgICAgICAgIDEgUUVNVSAgICAgICAgMSkKTm8gTlVNQSBjb25maWd1cmF0 aW9uIGZvdW5kCkZha2luZyBhIG5vZGUgYXQgMDAwMDAwMDAwMDAwMDAwMC0wMDAwMDAwMDFmZmYw MDAwCkJvb3RtZW0gc2V0dXAgbm9kZSAwIDAwMDAwMDAwMDAwMDAwMDAtMDAwMDAwMDAxZmZmMDAw MAogIE5PREVfREFUQSBbMDAwMDAwMDAwMDAwOTAwMCAtIDAwMDAwMDAwMDAwMWRmZmZdCmJvb3Rt ZW06OmluaXRfYm9vdG1lbV9jb3JlIG5pZD0wIHN0YXJ0PTAgbWFwPTFlIGVuZD0xZmZmMCBtYXBz aXplPTQwMDAKICBib290bWFwIFswMDAwMDAwMDAwMDFlMDAwIC0gIDAwMDAwMDAwMDAwMjFmZmZd IHBhZ2VzIDQKYm9vdG1lbTo6bWFya19ib290bWVtX25vZGUgbmlkPTAgc3RhcnQ9MCBlbmQ9OWYg cmVzZXJ2ZT0wIGZsYWdzPTAKYm9vdG1lbTo6X19mcmVlIG5pZD0wIHN0YXJ0PTAgZW5kPTlmCmJv b3RtZW06Om1hcmtfYm9vdG1lbV9ub2RlIG5pZD0wIHN0YXJ0PTEwMCBlbmQ9MWZmZjAgcmVzZXJ2 ZT0wIGZsYWdzPTAKYm9vdG1lbTo6X19mcmVlIG5pZD0wIHN0YXJ0PTEwMCBlbmQ9MWZmZjAKKDYg ZWFybHkgcmVzZXJ2YXRpb25zKSA9PT4gYm9vdG1lbSBbMDAwMDAwMDAwMCAtIDAwMWZmZjAwMDBd CiAgIzAgWzAwMDAwMDAwMDAgLSAwMDAwMDAxMDAwXSAgIEJJT1MgZGF0YSBwYWdlID09PiBbMDAw MDAwMDAwMCAtIDAwMDAwMDEwMDBdCmJvb3RtZW06Om1hcmtfYm9vdG1lbV9ub2RlIG5pZD0wIHN0 YXJ0PTAgZW5kPTEgcmVzZXJ2ZT0xIGZsYWdzPTAKYm9vdG1lbTo6X19yZXNlcnZlIG5pZD0wIHN0 YXJ0PTAgZW5kPTEgZmxhZ3M9MAogICMxIFswMDAwMDA2MDAwIC0gMDAwMDAwODAwMF0gICAgICAg VFJBTVBPTElORSA9PT4gWzAwMDAwMDYwMDAgLSAwMDAwMDA4MDAwXQpib290bWVtOjptYXJrX2Jv b3RtZW1fbm9kZSBuaWQ9MCBzdGFydD02IGVuZD04IHJlc2VydmU9MSBmbGFncz0wCmJvb3RtZW06 Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD02IGVuZD04IGZsYWdzPTAKICAjMiBbMDAwMDIwMDAwMCAt IDAwMDBhMWMwY2NdICAgIFRFWFQgREFUQSBCU1MgPT0+IFswMDAwMjAwMDAwIC0gMDAwMGExYzBj Y10KYm9vdG1lbTo6bWFya19ib290bWVtX25vZGUgbmlkPTAgc3RhcnQ9MjAwIGVuZD1hMWQgcmVz ZXJ2ZT0xIGZsYWdzPTAKYm9vdG1lbTo6X19yZXNlcnZlIG5pZD0wIHN0YXJ0PTIwMCBlbmQ9YTFk IGZsYWdzPTAKICAjMyBbMDAxZmNjNTAwMCAtIDAwMWZmZGY0NjhdICAgICAgICAgIFJBTURJU0sg PT0+IFswMDFmY2M1MDAwIC0gMDAxZmZkZjQ2OF0KYm9vdG1lbTo6bWFya19ib290bWVtX25vZGUg bmlkPTAgc3RhcnQ9MWZjYzUgZW5kPTFmZmUwIHJlc2VydmU9MSBmbGFncz0wCmJvb3RtZW06Ol9f cmVzZXJ2ZSBuaWQ9MCBzdGFydD0xZmNjNSBlbmQ9MWZmZTAgZmxhZ3M9MAogICM0IFswMDAwMDlm YzAwIC0gMDAwMDEwMDAwMF0gICAgQklPUyByZXNlcnZlZCA9PT4gWzAwMDAwOWZjMDAgLSAwMDAw MTAwMDAwXQpib290bWVtOjptYXJrX2Jvb3RtZW1fbm9kZSBuaWQ9MCBzdGFydD05ZiBlbmQ9MTAw IHJlc2VydmU9MSBmbGFncz0wCmJvb3RtZW06Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD05ZiBlbmQ9 MTAwIGZsYWdzPTAKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQ Rk4gOWYKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYTAK Ym9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYTEKYm9vdG1l bTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYTIKYm9vdG1lbTo6X19y ZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYTMKYm9vdG1lbTo6X19yZXNlcnZl IHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYTQKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVu dCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYTUKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3Vi bGUgcmVzZXJ2ZSBvZiBQRk4gYTYKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVz ZXJ2ZSBvZiBQRk4gYTcKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBv ZiBQRk4gYTgKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4g YTkKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYWEKYm9v dG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYWIKYm9vdG1lbTo6 X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYWMKYm9vdG1lbTo6X19yZXNl cnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYWQKYm9vdG1lbTo6X19yZXNlcnZlIHNp bGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYWUKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBk b3VibGUgcmVzZXJ2ZSBvZiBQRk4gYWYKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUg cmVzZXJ2ZSBvZiBQRk4gYjAKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2 ZSBvZiBQRk4gYjEKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQ Rk4gYjIKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYjMK Ym9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYjQKYm9vdG1l bTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYjUKYm9vdG1lbTo6X19y ZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYjYKYm9vdG1lbTo6X19yZXNlcnZl IHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYjcKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVu dCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYjgKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3Vi bGUgcmVzZXJ2ZSBvZiBQRk4gYjkKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVz ZXJ2ZSBvZiBQRk4gYmEKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBv ZiBQRk4gYmIKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4g YmMKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYmQKYm9v dG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYmUKYm9vdG1lbTo6 X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYmYKYm9vdG1lbTo6X19yZXNl cnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYzAKYm9vdG1lbTo6X19yZXNlcnZlIHNp bGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYzEKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBk b3VibGUgcmVzZXJ2ZSBvZiBQRk4gYzIKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUg cmVzZXJ2ZSBvZiBQRk4gYzMKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2 ZSBvZiBQRk4gYzQKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQ Rk4gYzUKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYzYK Ym9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYzcKYm9vdG1l bTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYzgKYm9vdG1lbTo6X19y ZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gYzkKYm9vdG1lbTo6X19yZXNlcnZl IHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gY2EKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVu dCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gY2IKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3Vi bGUgcmVzZXJ2ZSBvZiBQRk4gY2MKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVz ZXJ2ZSBvZiBQRk4gY2QKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBv ZiBQRk4gY2UKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4g Y2YKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZDAKYm9v dG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZDEKYm9vdG1lbTo6 X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZDIKYm9vdG1lbTo6X19yZXNl cnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZDMKYm9vdG1lbTo6X19yZXNlcnZlIHNp bGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZDQKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBk b3VibGUgcmVzZXJ2ZSBvZiBQRk4gZDUKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUg cmVzZXJ2ZSBvZiBQRk4gZDYKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2 ZSBvZiBQRk4gZDcKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQ Rk4gZDgKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZDkK Ym9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZGEKYm9vdG1l bTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZGIKYm9vdG1lbTo6X19y ZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZGMKYm9vdG1lbTo6X19yZXNlcnZl IHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZGQKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVu dCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZGUKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3Vi bGUgcmVzZXJ2ZSBvZiBQRk4gZGYKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVz ZXJ2ZSBvZiBQRk4gZTAKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBv ZiBQRk4gZTEKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4g ZTIKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZTMKYm9v dG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZTQKYm9vdG1lbTo6 X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZTUKYm9vdG1lbTo6X19yZXNl cnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZTYKYm9vdG1lbTo6X19yZXNlcnZlIHNp bGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZTcKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBk b3VibGUgcmVzZXJ2ZSBvZiBQRk4gZTgKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUg cmVzZXJ2ZSBvZiBQRk4gZTkKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2 ZSBvZiBQRk4gZWEKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQ Rk4gZWIKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZWMK Ym9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZWQKYm9vdG1l bTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZWUKYm9vdG1lbTo6X19y ZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZWYKYm9vdG1lbTo6X19yZXNlcnZl IHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZjAKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVu dCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZjEKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3Vi bGUgcmVzZXJ2ZSBvZiBQRk4gZjIKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVz ZXJ2ZSBvZiBQRk4gZjMKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBv ZiBQRk4gZjQKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4g ZjUKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZjYKYm9v dG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZjcKYm9vdG1lbTo6 X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZjgKYm9vdG1lbTo6X19yZXNl cnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZjkKYm9vdG1lbTo6X19yZXNlcnZlIHNp bGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZmEKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBk b3VibGUgcmVzZXJ2ZSBvZiBQRk4gZmIKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUg cmVzZXJ2ZSBvZiBQRk4gZmMKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2 ZSBvZiBQRk4gZmQKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQ Rk4gZmUKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQRk4gZmYK ICAjNSBbMDAwMDAwODAwMCAtIDAwMDAwMDkwMDBdICAgICAgICAgIFBHVEFCTEUgPT0+IFswMDAw MDA4MDAwIC0gMDAwMDAwOTAwMF0KYm9vdG1lbTo6bWFya19ib290bWVtX25vZGUgbmlkPTAgc3Rh cnQ9OCBlbmQ9OSByZXNlcnZlPTEgZmxhZ3M9MApib290bWVtOjpfX3Jlc2VydmUgbmlkPTAgc3Rh cnQ9OCBlbmQ9OSBmbGFncz0wCmJvb3RtZW06Om1hcmtfYm9vdG1lbV9ub2RlIG5pZD0wIHN0YXJ0 PTkgZW5kPTFlIHJlc2VydmU9MSBmbGFncz0wCmJvb3RtZW06Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFy dD05IGVuZD0xZSBmbGFncz0wCmJvb3RtZW06Om1hcmtfYm9vdG1lbV9ub2RlIG5pZD0wIHN0YXJ0 PTFlIGVuZD0yMiByZXNlcnZlPTEgZmxhZ3M9MApib290bWVtOjpfX3Jlc2VydmUgbmlkPTAgc3Rh cnQ9MWUgZW5kPTIyIGZsYWdzPTAKYm9vdG1lbTo6YWxsb2NfYm9vdG1lbV9jb3JlIG5pZD0wIHNp emU9NDAwMCBbNCBwYWdlc10gYWxpZ249ODAgZ29hbD0wIGxpbWl0PWZmZmZmZmZmClBpZDogMCwg Y29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAyLjYuMjcuMTkgIzEKCkNhbGwgVHJhY2U6CiBbPGZm ZmZmZmZmODE1YjQ5Mzg+XSBhbGxvY19ib290bWVtX2NvcmUrMHhjMC8weDJiMAogWzxmZmZmZmZm ZjgxNWI0YjhkPl0gX19fYWxsb2NfYm9vdG1lbV9ub3BhbmljKzB4NjUvMHhhMAogWzxmZmZmZmZm ZjgxNTk3MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MQogWzxmZmZmZmZmZjgxNWI0 YmQ5Pl0gX19fYWxsb2NfYm9vdG1lbSsweDExLzB4MzkKIFs8ZmZmZmZmZmY4MTViNGM3Nz5dIF9f YWxsb2NfYm9vdG1lbV9sb3crMHhlLzB4MTAKIFs8ZmZmZmZmZmY4MTVhNGNiZT5dIGFjcGlfcmVz ZXJ2ZV9ib290bWVtKzB4MzEvMHg1ZQogWzxmZmZmZmZmZjgxNTllZjU4Pl0gc2V0dXBfYXJjaCsw eDVjOC8weDc3ZAogWzxmZmZmZmZmZjgxNWIzMmQ4Pl0gPyBjZ3JvdXBfaW5pdF9zdWJzeXMrMHgz Mi8weGUzCiBbPGZmZmZmZmZmODEzMzExOTM+XSA/IF9zcGluX2xvY2srMHhhLzB4YwogWzxmZmZm ZmZmZjgxMDVjNzA3Pl0gPyBjbG9ja2V2ZW50c19yZWdpc3Rlcl9ub3RpZmllcisweDM2LzB4M2YK IFs8ZmZmZmZmZmY4MTU5NzliOD5dIHN0YXJ0X2tlcm5lbCsweDhkLzB4M2FhCiBbPGZmZmZmZmZm ODE1OTcyYmE+XSB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4YTUvMHhhOQogWzxmZmZmZmZm ZjgxNTk3M2NhPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweGU5LzB4ZjgKCmJvb3RtZW06Ol9fcmVz ZXJ2ZSBuaWQ9MCBzdGFydD0xIGVuZD01IGZsYWdzPTEKZm91bmQgU01QIE1QLXRhYmxlIGF0IFtm ZmZmODgwMDAwMGZiOGIwXSAwMDBmYjhiMApib290bWVtOjptYXJrX2Jvb3RtZW1fbm9kZSBuaWQ9 MCBzdGFydD1mYiBlbmQ9ZmQgcmVzZXJ2ZT0xIGZsYWdzPTAKYm9vdG1lbTo6X19yZXNlcnZlIG5p ZD0wIHN0YXJ0PWZiIGVuZD1mZCBmbGFncz0wCmJvb3RtZW06Ol9fcmVzZXJ2ZSBzaWxlbnQgZG91 YmxlIHJlc2VydmUgb2YgUEZOIGZiCmJvb3RtZW06Ol9fcmVzZXJ2ZSBzaWxlbnQgZG91YmxlIHJl c2VydmUgb2YgUEZOIGZjCmJvb3RtZW06Om1hcmtfYm9vdG1lbV9ub2RlIG5pZD0wIHN0YXJ0PWZi IGVuZD1mZCByZXNlcnZlPTEgZmxhZ3M9MApib290bWVtOjpfX3Jlc2VydmUgbmlkPTAgc3RhcnQ9 ZmIgZW5kPWZkIGZsYWdzPTAKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2 ZSBvZiBQRk4gZmIKYm9vdG1lbTo6X19yZXNlcnZlIHNpbGVudCBkb3VibGUgcmVzZXJ2ZSBvZiBQ Rk4gZmMKYm9vdG1lbTo6YWxsb2NfYm9vdG1lbV9jb3JlIG5pZD0wIHNpemU9MTAwMCBbMSBwYWdl c10gYWxpZ249ODAgZ29hbD0xMDAwMDAwIGxpbWl0PTAKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5v dCB0YWludGVkIDIuNi4yNy4xOSAjMQoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTViNDkzOD5d IGFsbG9jX2Jvb3RtZW1fY29yZSsweGMwLzB4MmIwCiBbPGZmZmZmZmZmODE1OTcxNDA+XSA/IGVh cmx5X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBbPGZmZmZmZmZmODE1YjRjMWQ+XSBfX19hbGxvY19i b290bWVtX25vZGUrMHgxYy8weDNiCiBbPGZmZmZmZmZmODE1YjRjNjc+XSBfX2FsbG9jX2Jvb3Rt ZW1fbm9kZSsweDEzLzB4MTUKIFs8ZmZmZmZmZmY4MTMxZWViZT5dIHNwYXJzZV9pbmRleF9hbGxv YysweDU1LzB4NzAKIFs8ZmZmZmZmZmY4MTViNmRiNT5dIG1lbW9yeV9wcmVzZW50KzB4NjUvMHhj NgogWzxmZmZmZmZmZjgxNTk3MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MQogWzxm ZmZmZmZmZjgxNWI1NmNiPl0gc3BhcnNlX21lbW9yeV9wcmVzZW50X3dpdGhfYWN0aXZlX3JlZ2lv bnMrMHg1Yy8weDhmCiBbPGZmZmZmZmZmODE1YWVlYzQ+XSBwYWdpbmdfaW5pdCsweDNlLzB4NTIK IFs8ZmZmZmZmZmY4MTU5ZjA1MT5dIHNldHVwX2FyY2grMHg2YzEvMHg3N2QKIFs8ZmZmZmZmZmY4 MTViMzJkOD5dID8gY2dyb3VwX2luaXRfc3Vic3lzKzB4MzIvMHhlMwogWzxmZmZmZmZmZjgxMzMx MTkzPl0gPyBfc3Bpbl9sb2NrKzB4YS8weGMKIFs8ZmZmZmZmZmY4MTU5NzliOD5dIHN0YXJ0X2tl cm5lbCsweDhkLzB4M2FhCiBbPGZmZmZmZmZmODE1OTcyYmE+XSB4ODZfNjRfc3RhcnRfcmVzZXJ2 YXRpb25zKzB4YTUvMHhhOQogWzxmZmZmZmZmZjgxNTk3M2NhPl0geDg2XzY0X3N0YXJ0X2tlcm5l bCsweGU5LzB4ZjgKCmJvb3RtZW06Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD0xMDAwIGVuZD0xMDAx IGZsYWdzPTEKYm9vdG1lbTo6YWxsb2NfYm9vdG1lbV9jb3JlIG5pZD0wIHNpemU9MTAwMDAwIFsy NTYgcGFnZXNdIGFsaWduPTgwIGdvYWw9MTAwMDAwMCBsaW1pdD0wClBpZDogMCwgY29tbTogc3dh cHBlciBOb3QgdGFpbnRlZCAyLjYuMjcuMTkgIzEKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODE1 YjQ5Mzg+XSBhbGxvY19ib290bWVtX2NvcmUrMHhjMC8weDJiMAogWzxmZmZmZmZmZjgxNWI0Yjhk Pl0gX19fYWxsb2NfYm9vdG1lbV9ub3BhbmljKzB4NjUvMHhhMAogWzxmZmZmZmZmZjgxNTk3MTQw Pl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MQogWzxmZmZmZmZmZjgxNWI0YmQ5Pl0gX19f YWxsb2NfYm9vdG1lbSsweDExLzB4MzkKIFs8ZmZmZmZmZmY4MTViNGM4ND5dIF9fYWxsb2NfYm9v dG1lbSsweGIvMHhkCiBbPGZmZmZmZmZmODE1YjZiNzg+XSBzcGFyc2VfaW5pdCsweDM1LzB4MThh CiBbPGZmZmZmZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBbPGZm ZmZmZmZmODE1YWVlYzk+XSBwYWdpbmdfaW5pdCsweDQzLzB4NTIKIFs8ZmZmZmZmZmY4MTU5ZjA1 MT5dIHNldHVwX2FyY2grMHg2YzEvMHg3N2QKIFs8ZmZmZmZmZmY4MTViMzJkOD5dID8gY2dyb3Vw X2luaXRfc3Vic3lzKzB4MzIvMHhlMwogWzxmZmZmZmZmZjgxMzMxMTkzPl0gPyBfc3Bpbl9sb2Nr KzB4YS8weGMKIFs8ZmZmZmZmZmY4MTU5NzliOD5dIHN0YXJ0X2tlcm5lbCsweDhkLzB4M2FhCiBb PGZmZmZmZmZmODE1OTcyYmE+XSB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4YTUvMHhhOQog WzxmZmZmZmZmZjgxNTk3M2NhPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweGU5LzB4ZjgKCmJvb3Rt ZW06Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD0xMDAxIGVuZD0xMTAxIGZsYWdzPTEKYm9vdG1lbTo6 YWxsb2NfYm9vdG1lbV9jb3JlIG5pZD0wIHNpemU9MTggWzEgcGFnZXNdIGFsaWduPTgwIGdvYWw9 MTAwMDAwMCBsaW1pdD0wClBpZDogMCwgY29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAyLjYuMjcu MTkgIzEKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODE1YjQ5Mzg+XSBhbGxvY19ib290bWVtX2Nv cmUrMHhjMC8weDJiMAogWzxmZmZmZmZmZjgxNWI0YjhkPl0gPyBfX19hbGxvY19ib290bWVtX25v cGFuaWMrMHg2NS8weGEwCiBbPGZmZmZmZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVy KzB4MC8weDcxCiBbPGZmZmZmZmZmODE1YjRjMWQ+XSBfX19hbGxvY19ib290bWVtX25vZGUrMHgx Yy8weDNiCiBbPGZmZmZmZmZmODE1YjRjNjc+XSBfX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDEzLzB4 MTUKIFs8ZmZmZmZmZmY4MTViNmJkMj5dIHNwYXJzZV9pbml0KzB4OGYvMHgxOGEKIFs8ZmZmZmZm ZmY4MTU5NzE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTVh ZWVjOT5dIHBhZ2luZ19pbml0KzB4NDMvMHg1MgogWzxmZmZmZmZmZjgxNTlmMDUxPl0gc2V0dXBf YXJjaCsweDZjMS8weDc3ZAogWzxmZmZmZmZmZjgxNWIzMmQ4Pl0gPyBjZ3JvdXBfaW5pdF9zdWJz eXMrMHgzMi8weGUzCiBbPGZmZmZmZmZmODEzMzExOTM+XSA/IF9zcGluX2xvY2srMHhhLzB4Ywog WzxmZmZmZmZmZjgxNTk3OWI4Pl0gc3RhcnRfa2VybmVsKzB4OGQvMHgzYWEKIFs8ZmZmZmZmZmY4 MTU5NzJiYT5dIHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMrMHhhNS8weGE5CiBbPGZmZmZmZmZm ODE1OTczY2E+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4ZTkvMHhmOAoKYm9vdG1lbTo6X19yZXNl cnZlIG5pZD0wIHN0YXJ0PTExMDEgZW5kPTExMDIgZmxhZ3M9MQpib290bWVtOjphbGxvY19ib290 bWVtX2NvcmUgbmlkPTAgc2l6ZT0xOCBbMSBwYWdlc10gYWxpZ249ODAgZ29hbD0xMDAwMDAwIGxp bWl0PTAKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNy4xOSAjMQoKQ2Fs bCBUcmFjZToKIFs8ZmZmZmZmZmY4MTViNDkzOD5dIGFsbG9jX2Jvb3RtZW1fY29yZSsweGMwLzB4 MmIwCiBbPGZmZmZmZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBb PGZmZmZmZmZmODE1YjRjMWQ+XSBfX19hbGxvY19ib290bWVtX25vZGUrMHgxYy8weDNiCiBbPGZm ZmZmZmZmODE1YjRjNjc+XSBfX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDEzLzB4MTUKIFs8ZmZmZmZm ZmY4MTViNmJkMj5dIHNwYXJzZV9pbml0KzB4OGYvMHgxOGEKIFs8ZmZmZmZmZmY4MTU5NzE0MD5d ID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTVhZWVjOT5dIHBhZ2lu Z19pbml0KzB4NDMvMHg1MgogWzxmZmZmZmZmZjgxNTlmMDUxPl0gc2V0dXBfYXJjaCsweDZjMS8w eDc3ZAogWzxmZmZmZmZmZjgxNWIzMmQ4Pl0gPyBjZ3JvdXBfaW5pdF9zdWJzeXMrMHgzMi8weGUz CiBbPGZmZmZmZmZmODEzMzExOTM+XSA/IF9zcGluX2xvY2srMHhhLzB4YwogWzxmZmZmZmZmZjgx NTk3OWI4Pl0gc3RhcnRfa2VybmVsKzB4OGQvMHgzYWEKIFs8ZmZmZmZmZmY4MTU5NzJiYT5dIHg4 Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMrMHhhNS8weGE5CiBbPGZmZmZmZmZmODE1OTczY2E+XSB4 ODZfNjRfc3RhcnRfa2VybmVsKzB4ZTkvMHhmOAoKYm9vdG1lbTo6X19yZXNlcnZlIG5pZD0wIHN0 YXJ0PTExMDIgZW5kPTExMDIgZmxhZ3M9MQpib290bWVtOjphbGxvY19ib290bWVtX2NvcmUgbmlk PTAgc2l6ZT0xOCBbMSBwYWdlc10gYWxpZ249ODAgZ29hbD0xMDAwMDAwIGxpbWl0PTAKUGlkOiAw LCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNy4xOSAjMQoKQ2FsbCBUcmFjZToKIFs8 ZmZmZmZmZmY4MTViNDkzOD5dIGFsbG9jX2Jvb3RtZW1fY29yZSsweGMwLzB4MmIwCiBbPGZmZmZm ZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBbPGZmZmZmZmZmODE1 YjRjMWQ+XSBfX19hbGxvY19ib290bWVtX25vZGUrMHgxYy8weDNiCiBbPGZmZmZmZmZmODE1YjRj Njc+XSBfX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDEzLzB4MTUKIFs8ZmZmZmZmZmY4MTViNmJkMj5d IHNwYXJzZV9pbml0KzB4OGYvMHgxOGEKIFs8ZmZmZmZmZmY4MTU5NzE0MD5dID8gZWFybHlfaWR0 X2hhbmRsZXIrMHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTVhZWVjOT5dIHBhZ2luZ19pbml0KzB4NDMv MHg1MgogWzxmZmZmZmZmZjgxNTlmMDUxPl0gc2V0dXBfYXJjaCsweDZjMS8weDc3ZAogWzxmZmZm ZmZmZjgxNWIzMmQ4Pl0gPyBjZ3JvdXBfaW5pdF9zdWJzeXMrMHgzMi8weGUzCiBbPGZmZmZmZmZm ODEzMzExOTM+XSA/IF9zcGluX2xvY2srMHhhLzB4YwogWzxmZmZmZmZmZjgxNTk3OWI4Pl0gc3Rh cnRfa2VybmVsKzB4OGQvMHgzYWEKIFs8ZmZmZmZmZmY4MTU5NzJiYT5dIHg4Nl82NF9zdGFydF9y ZXNlcnZhdGlvbnMrMHhhNS8weGE5CiBbPGZmZmZmZmZmODE1OTczY2E+XSB4ODZfNjRfc3RhcnRf a2VybmVsKzB4ZTkvMHhmOAoKYm9vdG1lbTo6X19yZXNlcnZlIG5pZD0wIHN0YXJ0PTExMDIgZW5k PTExMDIgZmxhZ3M9MQpib290bWVtOjphbGxvY19ib290bWVtX2NvcmUgbmlkPTAgc2l6ZT0xOCBb MSBwYWdlc10gYWxpZ249ODAgZ29hbD0xMDAwMDAwIGxpbWl0PTAKUGlkOiAwLCBjb21tOiBzd2Fw cGVyIE5vdCB0YWludGVkIDIuNi4yNy4xOSAjMQoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTVi NDkzOD5dIGFsbG9jX2Jvb3RtZW1fY29yZSsweGMwLzB4MmIwCiBbPGZmZmZmZmZmODE1OTcxNDA+ XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBbPGZmZmZmZmZmODE1YjRjMWQ+XSBfX19h bGxvY19ib290bWVtX25vZGUrMHgxYy8weDNiCiBbPGZmZmZmZmZmODE1YjRjNjc+XSBfX2FsbG9j X2Jvb3RtZW1fbm9kZSsweDEzLzB4MTUKIFs8ZmZmZmZmZmY4MTViNmJkMj5dIHNwYXJzZV9pbml0 KzB4OGYvMHgxOGEKIFs8ZmZmZmZmZmY4MTU5NzE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgw LzB4NzEKIFs8ZmZmZmZmZmY4MTVhZWVjOT5dIHBhZ2luZ19pbml0KzB4NDMvMHg1MgogWzxmZmZm ZmZmZjgxNTlmMDUxPl0gc2V0dXBfYXJjaCsweDZjMS8weDc3ZAogWzxmZmZmZmZmZjgxNWIzMmQ4 Pl0gPyBjZ3JvdXBfaW5pdF9zdWJzeXMrMHgzMi8weGUzCiBbPGZmZmZmZmZmODEzMzExOTM+XSA/ IF9zcGluX2xvY2srMHhhLzB4YwogWzxmZmZmZmZmZjgxNTk3OWI4Pl0gc3RhcnRfa2VybmVsKzB4 OGQvMHgzYWEKIFs8ZmZmZmZmZmY4MTU5NzJiYT5dIHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMr MHhhNS8weGE5CiBbPGZmZmZmZmZmODE1OTczY2E+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4ZTkv MHhmOAoKYm9vdG1lbTo6X19yZXNlcnZlIG5pZD0wIHN0YXJ0PTExMDIgZW5kPTExMDIgZmxhZ3M9 MQpib290bWVtOjphbGxvY19ib290bWVtX2NvcmUgbmlkPTAgc2l6ZT0xMDAwIFsxIHBhZ2VzXSBh bGlnbj0xMDAwIGdvYWw9MTAwMDAwMCBsaW1pdD0wClBpZDogMCwgY29tbTogc3dhcHBlciBOb3Qg dGFpbnRlZCAyLjYuMjcuMTkgIzEKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwMTIxMjQ+XSA/ IGR1bXBfdHJhY2UrMHgyNGEvMHgyNTkKIFs8ZmZmZmZmZmY4MTViNDkzOD5dIGFsbG9jX2Jvb3Rt ZW1fY29yZSsweGMwLzB4MmIwCiBbPGZmZmZmZmZmODE1YjRjMWQ+XSBfX19hbGxvY19ib290bWVt X25vZGUrMHgxYy8weDNiCiBbPGZmZmZmZmZmODE1YjRjNjc+XSBfX2FsbG9jX2Jvb3RtZW1fbm9k ZSsweDEzLzB4MTUKIFs8ZmZmZmZmZmY4MTMxZWVlZD5dIF9fZWFybHlvbmx5X2Jvb3RtZW1fYWxs b2MrMHgxNC8weDE2CiBbPGZmZmZmZmZmODE1Y2I2NTI+XSB2bWVtbWFwX2FsbG9jX2Jsb2NrKzB4 YzAvMHhjOQogWzxmZmZmZmZmZjgxNWNiNjk4Pl0gdm1lbW1hcF9wZ2RfcG9wdWxhdGUrMHgzZC8w eDhmCiBbPGZmZmZmZmZmODE1Y2EyZjc+XSB2bWVtbWFwX3BvcHVsYXRlKzB4M2QvMHgyNGUKIFs8 ZmZmZmZmZmY4MTVjYjUzMD5dIHNwYXJzZV9tZW1fbWFwX3BvcHVsYXRlKzB4MmQvMHgzZgogWzxm ZmZmZmZmZjgxNWI2YzNhPl0gc3BhcnNlX2luaXQrMHhmNy8weDE4YQogWzxmZmZmZmZmZjgxNTk3 MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MQogWzxmZmZmZmZmZjgxNWFlZWM5Pl0g cGFnaW5nX2luaXQrMHg0My8weDUyCiBbPGZmZmZmZmZmODE1OWYwNTE+XSBzZXR1cF9hcmNoKzB4 NmMxLzB4NzdkCiBbPGZmZmZmZmZmODE1YjMyZDg+XSA/IGNncm91cF9pbml0X3N1YnN5cysweDMy LzB4ZTMKIFs8ZmZmZmZmZmY4MTMzMTE5Mz5dID8gX3NwaW5fbG9jaysweGEvMHhjCiBbPGZmZmZm ZmZmODE1OTc5Yjg+XSBzdGFydF9rZXJuZWwrMHg4ZC8weDNhYQogWzxmZmZmZmZmZjgxNTk3MmJh Pl0geDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweGE1LzB4YTkKIFs8ZmZmZmZmZmY4MTU5NzNj YT5dIHg4Nl82NF9zdGFydF9rZXJuZWwrMHhlOS8weGY4Cgpib290bWVtOjpfX3Jlc2VydmUgbmlk PTAgc3RhcnQ9MTEwMiBlbmQ9MTEwMyBmbGFncz0xCmJvb3RtZW06OmFsbG9jX2Jvb3RtZW1fY29y ZSBuaWQ9MCBzaXplPTEwMDAgWzEgcGFnZXNdIGFsaWduPTEwMDAgZ29hbD0xMDAwMDAwIGxpbWl0 PTAKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNy4xOSAjMQoKQ2FsbCBU cmFjZToKIFs8ZmZmZmZmZmY4MTViNDcwYj5dID8gX19yZXNlcnZlKzB4NmQvMHhkNgogWzxmZmZm ZmZmZjgxNWI0OTM4Pl0gYWxsb2NfYm9vdG1lbV9jb3JlKzB4YzAvMHgyYjAKIFs8ZmZmZmZmZmY4 MTViNGFjYT5dID8gYWxsb2NfYm9vdG1lbV9jb3JlKzB4MjUyLzB4MmIwCiBbPGZmZmZmZmZmODE1 YjRjMWQ+XSBfX19hbGxvY19ib290bWVtX25vZGUrMHgxYy8weDNiCiBbPGZmZmZmZmZmODE1YjRj Njc+XSBfX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDEzLzB4MTUKIFs8ZmZmZmZmZmY4MTMxZWVlZD5d IF9fZWFybHlvbmx5X2Jvb3RtZW1fYWxsb2MrMHgxNC8weDE2CiBbPGZmZmZmZmZmODE1Y2I2NTI+ XSB2bWVtbWFwX2FsbG9jX2Jsb2NrKzB4YzAvMHhjOQogWzxmZmZmZmZmZjgxNWNiNzUxPl0gdm1l bW1hcF9wdWRfcG9wdWxhdGUrMHg2Ny8weGJlCiBbPGZmZmZmZmZmODE1Y2I2ZTA+XSA/IHZtZW1t YXBfcGdkX3BvcHVsYXRlKzB4ODUvMHg4ZgogWzxmZmZmZmZmZjgxNWNhMzBlPl0gdm1lbW1hcF9w b3B1bGF0ZSsweDU0LzB4MjRlCiBbPGZmZmZmZmZmODE1Y2I1MzA+XSBzcGFyc2VfbWVtX21hcF9w b3B1bGF0ZSsweDJkLzB4M2YKIFs8ZmZmZmZmZmY4MTViNmMzYT5dIHNwYXJzZV9pbml0KzB4Zjcv MHgxOGEKIFs8ZmZmZmZmZmY4MTU5NzE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzEK IFs8ZmZmZmZmZmY4MTVhZWVjOT5dIHBhZ2luZ19pbml0KzB4NDMvMHg1MgogWzxmZmZmZmZmZjgx NTlmMDUxPl0gc2V0dXBfYXJjaCsweDZjMS8weDc3ZAogWzxmZmZmZmZmZjgxNWIzMmQ4Pl0gPyBj Z3JvdXBfaW5pdF9zdWJzeXMrMHgzMi8weGUzCiBbPGZmZmZmZmZmODEzMzExOTM+XSA/IF9zcGlu X2xvY2srMHhhLzB4YwogWzxmZmZmZmZmZjgxNTk3OWI4Pl0gc3RhcnRfa2VybmVsKzB4OGQvMHgz YWEKIFs8ZmZmZmZmZmY4MTU5NzJiYT5dIHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMrMHhhNS8w eGE5CiBbPGZmZmZmZmZmODE1OTczY2E+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4ZTkvMHhmOAoK Ym9vdG1lbTo6X19yZXNlcnZlIG5pZD0wIHN0YXJ0PTExMDMgZW5kPTExMDQgZmxhZ3M9MQpib290 bWVtOjphbGxvY19ib290bWVtX2NvcmUgbmlkPTAgc2l6ZT0yMDAwMDAgWzUxMiBwYWdlc10gYWxp Z249MjAwMDAwIGdvYWw9MTAwMDAwMCBsaW1pdD0wClBpZDogMCwgY29tbTogc3dhcHBlciBOb3Qg dGFpbnRlZCAyLjYuMjcuMTkgIzEKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODE1YjQ5Mzg+XSBh bGxvY19ib290bWVtX2NvcmUrMHhjMC8weDJiMAogWzxmZmZmZmZmZjgxNWI0YzFkPl0gPyBfX19h bGxvY19ib290bWVtX25vZGUrMHgxYy8weDNiCiBbPGZmZmZmZmZmODE1YjRjMWQ+XSBfX19hbGxv Y19ib290bWVtX25vZGUrMHgxYy8weDNiCiBbPGZmZmZmZmZmODE1YjRjNjc+XSBfX2FsbG9jX2Jv b3RtZW1fbm9kZSsweDEzLzB4MTUKIFs8ZmZmZmZmZmY4MTMxZWVlZD5dIF9fZWFybHlvbmx5X2Jv b3RtZW1fYWxsb2MrMHgxNC8weDE2CiBbPGZmZmZmZmZmODE1Y2I2NTI+XSB2bWVtbWFwX2FsbG9j X2Jsb2NrKzB4YzAvMHhjOQogWzxmZmZmZmZmZjgxNWNhNDAxPl0gdm1lbW1hcF9wb3B1bGF0ZSsw eDE0Ny8weDI0ZQogWzxmZmZmZmZmZjgxNWNiNTMwPl0gc3BhcnNlX21lbV9tYXBfcG9wdWxhdGUr MHgyZC8weDNmCiBbPGZmZmZmZmZmODE1YjZjM2E+XSBzcGFyc2VfaW5pdCsweGY3LzB4MThhCiBb PGZmZmZmZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBbPGZmZmZm ZmZmODE1YWVlYzk+XSBwYWdpbmdfaW5pdCsweDQzLzB4NTIKIFs8ZmZmZmZmZmY4MTU5ZjA1MT5d IHNldHVwX2FyY2grMHg2YzEvMHg3N2QKIFs8ZmZmZmZmZmY4MTViMzJkOD5dID8gY2dyb3VwX2lu aXRfc3Vic3lzKzB4MzIvMHhlMwogWzxmZmZmZmZmZjgxMzMxMTkzPl0gPyBfc3Bpbl9sb2NrKzB4 YS8weGMKIFs8ZmZmZmZmZmY4MTU5NzliOD5dIHN0YXJ0X2tlcm5lbCsweDhkLzB4M2FhCiBbPGZm ZmZmZmZmODE1OTcyYmE+XSB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4YTUvMHhhOQogWzxm ZmZmZmZmZjgxNTk3M2NhPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweGU5LzB4ZjgKCmJvb3RtZW06 Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD0xMjAwIGVuZD0xNDAwIGZsYWdzPTEKYm9vdG1lbTo6YWxs b2NfYm9vdG1lbV9jb3JlIG5pZD0wIHNpemU9MjAwMDAwIFs1MTIgcGFnZXNdIGFsaWduPTIwMDAw MCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQg Mi42LjI3LjE5ICMxCgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxNWI0OTM4Pl0gYWxsb2NfYm9v dG1lbV9jb3JlKzB4YzAvMHgyYjAKIFs8ZmZmZmZmZmY4MTViNGMxZD5dID8gX19fYWxsb2NfYm9v dG1lbV9ub2RlKzB4MWMvMHgzYgogWzxmZmZmZmZmZjgxNWI0YzFkPl0gX19fYWxsb2NfYm9vdG1l bV9ub2RlKzB4MWMvMHgzYgogWzxmZmZmZmZmZjgxNWI0YzY3Pl0gX19hbGxvY19ib290bWVtX25v ZGUrMHgxMy8weDE1CiBbPGZmZmZmZmZmODEzMWVlZWQ+XSBfX2Vhcmx5b25seV9ib290bWVtX2Fs bG9jKzB4MTQvMHgxNgogWzxmZmZmZmZmZjgxNWNiNjUyPl0gdm1lbW1hcF9hbGxvY19ibG9jaysw eGMwLzB4YzkKIFs8ZmZmZmZmZmY4MTVjYTQwMT5dIHZtZW1tYXBfcG9wdWxhdGUrMHgxNDcvMHgy NGUKIFs8ZmZmZmZmZmY4MTVjYjUzMD5dIHNwYXJzZV9tZW1fbWFwX3BvcHVsYXRlKzB4MmQvMHgz ZgogWzxmZmZmZmZmZjgxNWI2YzNhPl0gc3BhcnNlX2luaXQrMHhmNy8weDE4YQogWzxmZmZmZmZm ZjgxNTk3MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MQogWzxmZmZmZmZmZjgxNWFl ZWM5Pl0gcGFnaW5nX2luaXQrMHg0My8weDUyCiBbPGZmZmZmZmZmODE1OWYwNTE+XSBzZXR1cF9h cmNoKzB4NmMxLzB4NzdkCiBbPGZmZmZmZmZmODE1YjMyZDg+XSA/IGNncm91cF9pbml0X3N1YnN5 cysweDMyLzB4ZTMKIFs8ZmZmZmZmZmY4MTMzMTE5Mz5dID8gX3NwaW5fbG9jaysweGEvMHhjCiBb PGZmZmZmZmZmODE1OTc5Yjg+XSBzdGFydF9rZXJuZWwrMHg4ZC8weDNhYQogWzxmZmZmZmZmZjgx NTk3MmJhPl0geDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweGE1LzB4YTkKIFs8ZmZmZmZmZmY4 MTU5NzNjYT5dIHg4Nl82NF9zdGFydF9rZXJuZWwrMHhlOS8weGY4Cgpib290bWVtOjpfX3Jlc2Vy dmUgbmlkPTAgc3RhcnQ9MTQwMCBlbmQ9MTYwMCBmbGFncz0xCmJvb3RtZW06OmFsbG9jX2Jvb3Rt ZW1fY29yZSBuaWQ9MCBzaXplPTIwMDAwMCBbNTEyIHBhZ2VzXSBhbGlnbj0yMDAwMDAgZ29hbD0x MDAwMDAwIGxpbWl0PTAKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNy4x OSAjMQoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTViNDkzOD5dIGFsbG9jX2Jvb3RtZW1fY29y ZSsweGMwLzB4MmIwCiBbPGZmZmZmZmZmODE1YjRjMWQ+XSA/IF9fX2FsbG9jX2Jvb3RtZW1fbm9k ZSsweDFjLzB4M2IKIFs8ZmZmZmZmZmY4MTViNGMxZD5dIF9fX2FsbG9jX2Jvb3RtZW1fbm9kZSsw eDFjLzB4M2IKIFs8ZmZmZmZmZmY4MTViNGM2Nz5dIF9fYWxsb2NfYm9vdG1lbV9ub2RlKzB4MTMv MHgxNQogWzxmZmZmZmZmZjgxMzFlZWVkPl0gX19lYXJseW9ubHlfYm9vdG1lbV9hbGxvYysweDE0 LzB4MTYKIFs8ZmZmZmZmZmY4MTVjYjY1Mj5dIHZtZW1tYXBfYWxsb2NfYmxvY2srMHhjMC8weGM5 CiBbPGZmZmZmZmZmODE1Y2E0MDE+XSB2bWVtbWFwX3BvcHVsYXRlKzB4MTQ3LzB4MjRlCiBbPGZm ZmZmZmZmODE1Y2I1MzA+XSBzcGFyc2VfbWVtX21hcF9wb3B1bGF0ZSsweDJkLzB4M2YKIFs8ZmZm ZmZmZmY4MTViNmMzYT5dIHNwYXJzZV9pbml0KzB4ZjcvMHgxOGEKIFs8ZmZmZmZmZmY4MTU5NzE0 MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTVhZWVjOT5dIHBh Z2luZ19pbml0KzB4NDMvMHg1MgogWzxmZmZmZmZmZjgxNTlmMDUxPl0gc2V0dXBfYXJjaCsweDZj MS8weDc3ZAogWzxmZmZmZmZmZjgxNWIzMmQ4Pl0gPyBjZ3JvdXBfaW5pdF9zdWJzeXMrMHgzMi8w eGUzCiBbPGZmZmZmZmZmODEzMzExOTM+XSA/IF9zcGluX2xvY2srMHhhLzB4YwogWzxmZmZmZmZm ZjgxNTk3OWI4Pl0gc3RhcnRfa2VybmVsKzB4OGQvMHgzYWEKIFs8ZmZmZmZmZmY4MTU5NzJiYT5d IHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMrMHhhNS8weGE5CiBbPGZmZmZmZmZmODE1OTczY2E+ XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4ZTkvMHhmOAoKYm9vdG1lbTo6X19yZXNlcnZlIG5pZD0w IHN0YXJ0PTE2MDAgZW5kPTE4MDAgZmxhZ3M9MQpib290bWVtOjphbGxvY19ib290bWVtX2NvcmUg bmlkPTAgc2l6ZT0yMDAwMDAgWzUxMiBwYWdlc10gYWxpZ249MjAwMDAwIGdvYWw9MTAwMDAwMCBs aW1pdD0wClBpZDogMCwgY29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAyLjYuMjcuMTkgIzEKCkNh bGwgVHJhY2U6CiBbPGZmZmZmZmZmODE1YjQ5Mzg+XSBhbGxvY19ib290bWVtX2NvcmUrMHhjMC8w eDJiMAogWzxmZmZmZmZmZjgxNWI0YzFkPl0gPyBfX19hbGxvY19ib290bWVtX25vZGUrMHgxYy8w eDNiCiBbPGZmZmZmZmZmODE1YjRjMWQ+XSBfX19hbGxvY19ib290bWVtX25vZGUrMHgxYy8weDNi CiBbPGZmZmZmZmZmODE1YjRjNjc+XSBfX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDEzLzB4MTUKIFs8 ZmZmZmZmZmY4MTMxZWVlZD5dIF9fZWFybHlvbmx5X2Jvb3RtZW1fYWxsb2MrMHgxNC8weDE2CiBb PGZmZmZmZmZmODE1Y2I2NTI+XSB2bWVtbWFwX2FsbG9jX2Jsb2NrKzB4YzAvMHhjOQogWzxmZmZm ZmZmZjgxNWNhNDAxPl0gdm1lbW1hcF9wb3B1bGF0ZSsweDE0Ny8weDI0ZQogWzxmZmZmZmZmZjgx NWNiNTMwPl0gc3BhcnNlX21lbV9tYXBfcG9wdWxhdGUrMHgyZC8weDNmCiBbPGZmZmZmZmZmODE1 YjZjM2E+XSBzcGFyc2VfaW5pdCsweGY3LzB4MThhCiBbPGZmZmZmZmZmODE1OTcxNDA+XSA/IGVh cmx5X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBbPGZmZmZmZmZmODE1YWVlYzk+XSBwYWdpbmdfaW5p dCsweDQzLzB4NTIKIFs8ZmZmZmZmZmY4MTU5ZjA1MT5dIHNldHVwX2FyY2grMHg2YzEvMHg3N2QK IFs8ZmZmZmZmZmY4MTViMzJkOD5dID8gY2dyb3VwX2luaXRfc3Vic3lzKzB4MzIvMHhlMwogWzxm ZmZmZmZmZjgxMzMxMTkzPl0gPyBfc3Bpbl9sb2NrKzB4YS8weGMKIFs8ZmZmZmZmZmY4MTU5Nzli OD5dIHN0YXJ0X2tlcm5lbCsweDhkLzB4M2FhCiBbPGZmZmZmZmZmODE1OTcyYmE+XSB4ODZfNjRf c3RhcnRfcmVzZXJ2YXRpb25zKzB4YTUvMHhhOQogWzxmZmZmZmZmZjgxNTk3M2NhPl0geDg2XzY0 X3N0YXJ0X2tlcm5lbCsweGU5LzB4ZjgKCmJvb3RtZW06Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD0x ODAwIGVuZD0xYTAwIGZsYWdzPTEKIFtmZmZmZTIwMDAwMDAwMDAwLWZmZmZlMjAwMDA3ZmZmZmZd IFBNRCAtPiBbZmZmZjg4MDAwMTIwMDAwMC1mZmZmODgwMDAxOWZmZmZmXSBvbiBub2RlIDAKYm9v dG1lbTo6bWFya19ib290bWVtX25vZGUgbmlkPTAgc3RhcnQ9MTAwMSBlbmQ9MTEwMSByZXNlcnZl PTAgZmxhZ3M9MApib290bWVtOjpfX2ZyZWUgbmlkPTAgc3RhcnQ9MTAwMSBlbmQ9MTEwMQpab25l IFBGTiByYW5nZXM6CiAgRE1BICAgICAgMHgwMDAwMDAwMCAtPiAweDAwMDAxMDAwCiAgRE1BMzIg ICAgMHgwMDAwMTAwMCAtPiAweDAwMTAwMDAwCiAgTm9ybWFsICAgMHgwMDEwMDAwMCAtPiAweDAw MTAwMDAwCk1vdmFibGUgem9uZSBzdGFydCBQRk4gZm9yIGVhY2ggbm9kZQplYXJseV9ub2RlX21h cFsyXSBhY3RpdmUgUEZOIHJhbmdlcwogICAgMDogMHgwMDAwMDAwMCAtPiAweDAwMDAwMDlmCiAg ICAwOiAweDAwMDAwMTAwIC0+IDB4MDAwMWZmZjAKT24gbm9kZSAwIHRvdGFscGFnZXM6IDEzMDk1 OQogIERNQSB6b25lOiAxNzY1IHBhZ2VzLCBMSUZPIGJhdGNoOjAKYm9vdG1lbTo6YWxsb2NfYm9v dG1lbV9jb3JlIG5pZD0wIHNpemU9MTgwIFsxIHBhZ2VzXSBhbGlnbj04MCBnb2FsPTEwMDAwMDAg bGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI3LjE5ICMxCgpD YWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxNWI0OTM4Pl0gYWxsb2NfYm9vdG1lbV9jb3JlKzB4YzAv MHgyYjAKIFs8ZmZmZmZmZmY4MTViNGMxZD5dIF9fX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDFjLzB4 M2IKIFs8ZmZmZmZmZmY4MTViNGM2Nz5dIF9fYWxsb2NfYm9vdG1lbV9ub2RlKzB4MTMvMHgxNQog WzxmZmZmZmZmZjgxMzFlZTEyPl0gem9uZV93YWl0X3RhYmxlX2luaXQrMHg4YS8weGUxCiBbPGZm ZmZmZmZmODE1Y2FkZTQ+XSBpbml0X2N1cnJlbnRseV9lbXB0eV96b25lKzB4MjkvMHhmZAogWzxm ZmZmZmZmZjgxNWNiMzU0Pl0gZnJlZV9hcmVhX2luaXRfbm9kZSsweDM2NS8weDNiMQogWzxmZmZm ZmZmZjgxMTZkMzllPl0gPyBfX2JpdG1hcF93ZWlnaHQrMHgzZS8weDg5CiBbPGZmZmZmZmZmODEx NmJiM2E+XSA/IGdlbmVyaWNfc3dhcCsweDAvMHgyMwogWzxmZmZmZmZmZjgxNTk3MTQwPl0gPyBl YXJseV9pZHRfaGFuZGxlcisweDAvMHg3MQogWzxmZmZmZmZmZjgxNWI1ZDBkPl0gZnJlZV9hcmVh X2luaXRfbm9kZXMrMHg0ZjYvMHg1NDUKIFs8ZmZmZmZmZmY4MTViNmNjMT5dID8gc3BhcnNlX2lu aXQrMHgxN2UvMHgxOGEKIFs8ZmZmZmZmZmY4MTU5NzE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIr MHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTVhZWVkMT5dIHBhZ2luZ19pbml0KzB4NGIvMHg1MgogWzxm ZmZmZmZmZjgxNTlmMDUxPl0gc2V0dXBfYXJjaCsweDZjMS8weDc3ZAogWzxmZmZmZmZmZjgxNWIz MmQ4Pl0gPyBjZ3JvdXBfaW5pdF9zdWJzeXMrMHgzMi8weGUzCiBbPGZmZmZmZmZmODEzMzExOTM+ XSA/IF9zcGluX2xvY2srMHhhLzB4YwogWzxmZmZmZmZmZjgxNTk3OWI4Pl0gc3RhcnRfa2VybmVs KzB4OGQvMHgzYWEKIFs8ZmZmZmZmZmY4MTU5NzJiYT5dIHg4Nl82NF9zdGFydF9yZXNlcnZhdGlv bnMrMHhhNS8weGE5CiBbPGZmZmZmZmZmODE1OTczY2E+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4 ZTkvMHhmOAoKYm9vdG1lbTo6X19yZXNlcnZlIG5pZD0wIHN0YXJ0PTEwMDEgZW5kPTEwMDIgZmxh Z3M9MQogIERNQTMyIHpvbmU6IDEyNTIyNCBwYWdlcywgTElGTyBiYXRjaDozMQpib290bWVtOjph bGxvY19ib290bWVtX2NvcmUgbmlkPTAgc2l6ZT0zMDAwIFszIHBhZ2VzXSBhbGlnbj04MCBnb2Fs PTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI3 LjE5ICMxCgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxNWI0OTM4Pl0gYWxsb2NfYm9vdG1lbV9j b3JlKzB4YzAvMHgyYjAKIFs8ZmZmZmZmZmY4MTViNGMxZD5dIF9fX2FsbG9jX2Jvb3RtZW1fbm9k ZSsweDFjLzB4M2IKIFs8ZmZmZmZmZmY4MTViNGM2Nz5dIF9fYWxsb2NfYm9vdG1lbV9ub2RlKzB4 MTMvMHgxNQogWzxmZmZmZmZmZjgxMzFlZTEyPl0gem9uZV93YWl0X3RhYmxlX2luaXQrMHg4YS8w eGUxCiBbPGZmZmZmZmZmODE1Y2FkZTQ+XSBpbml0X2N1cnJlbnRseV9lbXB0eV96b25lKzB4Mjkv MHhmZAogWzxmZmZmZmZmZjgxNWNiMzU0Pl0gZnJlZV9hcmVhX2luaXRfbm9kZSsweDM2NS8weDNi MQogWzxmZmZmZmZmZjgxMTZkMzllPl0gPyBfX2JpdG1hcF93ZWlnaHQrMHgzZS8weDg5CiBbPGZm ZmZmZmZmODExNmJiM2E+XSA/IGdlbmVyaWNfc3dhcCsweDAvMHgyMwogWzxmZmZmZmZmZjgxNTk3 MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MQogWzxmZmZmZmZmZjgxNWI1ZDBkPl0g ZnJlZV9hcmVhX2luaXRfbm9kZXMrMHg0ZjYvMHg1NDUKIFs8ZmZmZmZmZmY4MTViNmNjMT5dID8g c3BhcnNlX2luaXQrMHgxN2UvMHgxOGEKIFs8ZmZmZmZmZmY4MTU5NzE0MD5dID8gZWFybHlfaWR0 X2hhbmRsZXIrMHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTVhZWVkMT5dIHBhZ2luZ19pbml0KzB4NGIv MHg1MgogWzxmZmZmZmZmZjgxNTlmMDUxPl0gc2V0dXBfYXJjaCsweDZjMS8weDc3ZAogWzxmZmZm ZmZmZjgxNWIzMmQ4Pl0gPyBjZ3JvdXBfaW5pdF9zdWJzeXMrMHgzMi8weGUzCiBbPGZmZmZmZmZm ODEzMzExOTM+XSA/IF9zcGluX2xvY2srMHhhLzB4YwogWzxmZmZmZmZmZjgxNTk3OWI4Pl0gc3Rh cnRfa2VybmVsKzB4OGQvMHgzYWEKIFs8ZmZmZmZmZmY4MTU5NzJiYT5dIHg4Nl82NF9zdGFydF9y ZXNlcnZhdGlvbnMrMHhhNS8weGE5CiBbPGZmZmZmZmZmODE1OTczY2E+XSB4ODZfNjRfc3RhcnRf a2VybmVsKzB4ZTkvMHhmOAoKYm9vdG1lbTo6X19yZXNlcnZlIG5pZD0wIHN0YXJ0PTEwMDIgZW5k PTEwMDUgZmxhZ3M9MQpib290bWVtOjphbGxvY19ib290bWVtX2NvcmUgbmlkPTAgc2l6ZT0xMDAw IFsxIHBhZ2VzXSBhbGlnbj0xMDAwIGdvYWw9MTAwMDAwMCBsaW1pdD0wClBpZDogMCwgY29tbTog c3dhcHBlciBOb3QgdGFpbnRlZCAyLjYuMjcuMTkgIzEKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZm ODE1YjRhY2E+XSA/IGFsbG9jX2Jvb3RtZW1fY29yZSsweDI1Mi8weDJiMAogWzxmZmZmZmZmZjgx NWI0OTM4Pl0gYWxsb2NfYm9vdG1lbV9jb3JlKzB4YzAvMHgyYjAKIFs8ZmZmZmZmZmY4MTViNGI4 ZD5dIF9fX2FsbG9jX2Jvb3RtZW1fbm9wYW5pYysweDY1LzB4YTAKIFs8ZmZmZmZmZmY4MTViNGJk OT5dIF9fX2FsbG9jX2Jvb3RtZW0rMHgxMS8weDM5CiBbPGZmZmZmZmZmODE1YjRjODQ+XSBfX2Fs bG9jX2Jvb3RtZW0rMHhiLzB4ZAogWzxmZmZmZmZmZjgxMzFlOTA4Pl0gc3BwX2dldHBhZ2UrMHgz YS8weDZmCiBbPGZmZmZmZmZmODEwMmE0OTY+XSBzZXRfcHRlX3ZhZGRyX3B1ZCsweDExZi8weDI1 MQogWzxmZmZmZmZmZjgxMTZkMzllPl0gPyBfX2JpdG1hcF93ZWlnaHQrMHgzZS8weDg5CiBbPGZm ZmZmZmZmODExNmJiM2E+XSA/IGdlbmVyaWNfc3dhcCsweDAvMHgyMwogWzxmZmZmZmZmZjgxNTk3 MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MQogWzxmZmZmZmZmZjgxMDJhNjNhPl0g c2V0X3B0ZV92YWRkcisweDcyLzB4ODAKIFs8ZmZmZmZmZmY4MTViNWQzOD5dID8gZnJlZV9hcmVh X2luaXRfbm9kZXMrMHg1MjEvMHg1NDUKIFs8ZmZmZmZmZmY4MTViNmNjMT5dID8gc3BhcnNlX2lu aXQrMHgxN2UvMHgxOGEKIFs8ZmZmZmZmZmY4MTAyZDI4MT5dIF9fbmF0aXZlX3NldF9maXhtYXAr MHgyNC8weDJjCiBbPGZmZmZmZmZmODEwMmQyYmU+XSBuYXRpdmVfc2V0X2ZpeG1hcCsweDM1LzB4 M2MKIFs8ZmZmZmZmZmY4MTU5Zjc2Zj5dIG1hcF92c3lzY2FsbCsweDIzLzB4MjUKIFs8ZmZmZmZm ZmY4MTU5ZjA3MT5dIHNldHVwX2FyY2grMHg2ZTEvMHg3N2QKIFs8ZmZmZmZmZmY4MTViMzJkOD5d ID8gY2dyb3VwX2luaXRfc3Vic3lzKzB4MzIvMHhlMwogWzxmZmZmZmZmZjgxMzMxMTkzPl0gPyBf c3Bpbl9sb2NrKzB4YS8weGMKIFs8ZmZmZmZmZmY4MTU5NzliOD5dIHN0YXJ0X2tlcm5lbCsweDhk LzB4M2FhCiBbPGZmZmZmZmZmODE1OTcyYmE+XSB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4 YTUvMHhhOQogWzxmZmZmZmZmZjgxNTk3M2NhPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweGU5LzB4 ZjgKCmJvb3RtZW06Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD0xMDA1IGVuZD0xMDA2IGZsYWdzPTEK QUNQSTogUE0tVGltZXIgSU8gUG9ydDogMHhiMDA4CkFDUEk6IExvY2FsIEFQSUMgYWRkcmVzcyAw eGZlZTAwMDAwCkFDUEk6IExBUElDIChhY3BpX2lkWzB4MDBdIGxhcGljX2lkWzB4MDBdIGVuYWJs ZWQpCkFDUEk6IExBUElDIChhY3BpX2lkWzB4MDFdIGxhcGljX2lkWzB4MDFdIGRpc2FibGVkKQpB Q1BJOiBMQVBJQyAoYWNwaV9pZFsweDAyXSBsYXBpY19pZFsweDAyXSBkaXNhYmxlZCkKQUNQSTog TEFQSUMgKGFjcGlfaWRbMHgwM10gbGFwaWNfaWRbMHgwM10gZGlzYWJsZWQpCkFDUEk6IExBUElD IChhY3BpX2lkWzB4MDRdIGxhcGljX2lkWzB4MDRdIGRpc2FibGVkKQpBQ1BJOiBMQVBJQyAoYWNw aV9pZFsweDA1XSBsYXBpY19pZFsweDA1XSBkaXNhYmxlZCkKQUNQSTogTEFQSUMgKGFjcGlfaWRb MHgwNl0gbGFwaWNfaWRbMHgwNl0gZGlzYWJsZWQpCkFDUEk6IExBUElDIChhY3BpX2lkWzB4MDdd IGxhcGljX2lkWzB4MDddIGRpc2FibGVkKQpBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA4XSBsYXBp Y19pZFsweDA4XSBkaXNhYmxlZCkKQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwOV0gbGFwaWNfaWRb MHgwOV0gZGlzYWJsZWQpCkFDUEk6IExBUElDIChhY3BpX2lkWzB4MGFdIGxhcGljX2lkWzB4MGFd IGRpc2FibGVkKQpBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDBiXSBsYXBpY19pZFsweDBiXSBkaXNh YmxlZCkKQUNQSTogTEFQSUMgKGFjcGlfaWRbMHgwY10gbGFwaWNfaWRbMHgwY10gZGlzYWJsZWQp CkFDUEk6IExBUElDIChhY3BpX2lkWzB4MGRdIGxhcGljX2lkWzB4MGRdIGRpc2FibGVkKQpBQ1BJ OiBMQVBJQyAoYWNwaV9pZFsweDBlXSBsYXBpY19pZFsweDBlXSBkaXNhYmxlZCkKQUNQSTogTEFQ SUMgKGFjcGlfaWRbMHgwZl0gbGFwaWNfaWRbMHgwZl0gZGlzYWJsZWQpCkFDUEk6IElPQVBJQyAo aWRbMHgwMV0gYWRkcmVzc1sweGZlYzAwMDAwXSBnc2lfYmFzZVswXSkKSU9BUElDWzBdOiBhcGlj X2lkIDEsIHZlcnNpb24gMCwgYWRkcmVzcyAweGZlYzAwMDAwLCBHU0kgMC0yMwpBQ1BJOiBJTlRf U1JDX09WUiAoYnVzIDAgYnVzX2lycSA1IGdsb2JhbF9pcnEgNSBoaWdoIGxldmVsKQpBQ1BJOiBJ TlRfU1JDX09WUiAoYnVzIDAgYnVzX2lycSA5IGdsb2JhbF9pcnEgOSBoaWdoIGxldmVsKQpBQ1BJ OiBJTlRfU1JDX09WUiAoYnVzIDAgYnVzX2lycSAxMCBnbG9iYWxfaXJxIDEwIGhpZ2ggbGV2ZWwp CkFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDExIGdsb2JhbF9pcnEgMTEgaGlnaCBs ZXZlbCkKQUNQSTogSVJRNSB1c2VkIGJ5IG92ZXJyaWRlLgpBQ1BJOiBJUlE5IHVzZWQgYnkgb3Zl cnJpZGUuCkFDUEk6IElSUTEwIHVzZWQgYnkgb3ZlcnJpZGUuCkFDUEk6IElSUTExIHVzZWQgYnkg b3ZlcnJpZGUuClNldHRpbmcgQVBJQyByb3V0aW5nIHRvIGZsYXQKVXNpbmcgQUNQSSAoTUFEVCkg Zm9yIFNNUCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uClNNUDogQWxsb3dpbmcgMTYgQ1BVcywg MTUgaG90cGx1ZyBDUFVzCmJvb3RtZW06OmFsbG9jX2Jvb3RtZW1fY29yZSBuaWQ9MCBzaXplPTQz IFsxIHBhZ2VzXSBhbGlnbj04MCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3 YXBwZXIgTm90IHRhaW50ZWQgMi42LjI3LjE5ICMxCgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgx MDJkMmJlPl0gPyBuYXRpdmVfc2V0X2ZpeG1hcCsweDM1LzB4M2MKIFs8ZmZmZmZmZmY4MTViNDkz OD5dIGFsbG9jX2Jvb3RtZW1fY29yZSsweGMwLzB4MmIwCiBbPGZmZmZmZmZmODEwMmE1Yjk+XSA/ IHNldF9wdGVfdmFkZHJfcHVkKzB4MjQyLzB4MjUxCiBbPGZmZmZmZmZmODEzMmVlOGE+XSA/IHBy aW50aysweDY3LzB4NmQKIFs8ZmZmZmZmZmY4MTViNGI4ZD5dIF9fX2FsbG9jX2Jvb3RtZW1fbm9w YW5pYysweDY1LzB4YTAKIFs8ZmZmZmZmZmY4MTViNGJkOT5dIF9fX2FsbG9jX2Jvb3RtZW0rMHgx MS8weDM5CiBbPGZmZmZmZmZmODE1YjRjODQ+XSBfX2FsbG9jX2Jvb3RtZW0rMHhiLzB4ZAogWzxm ZmZmZmZmZjgxNWE3ZjJiPl0gaW9hcGljX2luaXRfbWFwcGluZ3MrMHg0MS8weDE2YQogWzxmZmZm ZmZmZjgxNTk3MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MQogWzxmZmZmZmZmZjgx NTlmMDlkPl0gc2V0dXBfYXJjaCsweDcwZC8weDc3ZAogWzxmZmZmZmZmZjgxNWIzMmQ4Pl0gPyBj Z3JvdXBfaW5pdF9zdWJzeXMrMHgzMi8weGUzCiBbPGZmZmZmZmZmODEzMzExOTM+XSA/IF9zcGlu X2xvY2srMHhhLzB4YwogWzxmZmZmZmZmZjgxNTk3OWI4Pl0gc3RhcnRfa2VybmVsKzB4OGQvMHgz YWEKIFs8ZmZmZmZmZmY4MTU5NzJiYT5dIHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMrMHhhNS8w eGE5CiBbPGZmZmZmZmZmODE1OTczY2E+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4ZTkvMHhmOAoK Ym9vdG1lbTo6X19yZXNlcnZlIG5pZD0wIHN0YXJ0PTEwMDYgZW5kPTEwMDcgZmxhZ3M9MQpib290 bWVtOjphbGxvY19ib290bWVtX2NvcmUgbmlkPTAgc2l6ZT0xNTAgWzEgcGFnZXNdIGFsaWduPTgw IGdvYWw9MCBsaW1pdD1mZmZmZmZmZgpQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQg Mi42LjI3LjE5ICMxCgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDJhNWI5Pl0gPyBzZXRfcHRl X3ZhZGRyX3B1ZCsweDI0Mi8weDI1MQogWzxmZmZmZmZmZjgxNWI0OTM4Pl0gYWxsb2NfYm9vdG1l bV9jb3JlKzB4YzAvMHgyYjAKIFs8ZmZmZmZmZmY4MTViNGI4ZD5dIF9fX2FsbG9jX2Jvb3RtZW1f bm9wYW5pYysweDY1LzB4YTAKIFs8ZmZmZmZmZmY4MTU5NzE0MD5dID8gZWFybHlfaWR0X2hhbmRs ZXIrMHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTViNGJkOT5dIF9fX2FsbG9jX2Jvb3RtZW0rMHgxMS8w eDM5CiBbPGZmZmZmZmZmODE1YjRjNzc+XSBfX2FsbG9jX2Jvb3RtZW1fbG93KzB4ZS8weDEwCiBb PGZmZmZmZmZmODE1YTAwMDQ+XSBlODIwX3Jlc2VydmVfcmVzb3VyY2VzKzB4MmQvMHgxMjQKIFs8 ZmZmZmZmZmY4MTU5ZjBhNz5dIHNldHVwX2FyY2grMHg3MTcvMHg3N2QKIFs8ZmZmZmZmZmY4MTVi MzJkOD5dID8gY2dyb3VwX2luaXRfc3Vic3lzKzB4MzIvMHhlMwogWzxmZmZmZmZmZjgxMzMxMTkz Pl0gPyBfc3Bpbl9sb2NrKzB4YS8weGMKIFs8ZmZmZmZmZmY4MTU5NzliOD5dIHN0YXJ0X2tlcm5l bCsweDhkLzB4M2FhCiBbPGZmZmZmZmZmODE1OTcyYmE+XSB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRp b25zKzB4YTUvMHhhOQogWzxmZmZmZmZmZjgxNTk3M2NhPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsw eGU5LzB4ZjgKCmJvb3RtZW06Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD0xMDA3IGVuZD0xMDA3IGZs YWdzPTEKYm9vdG1lbTo6YWxsb2NfYm9vdG1lbV9jb3JlIG5pZD0wIHNpemU9NjggWzEgcGFnZXNd IGFsaWduPTgwIGdvYWw9MCBsaW1pdD1mZmZmZmZmZgpQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90 IHRhaW50ZWQgMi42LjI3LjE5ICMxCgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDEyY2U4Pl0g PyBzaG93X3RyYWNlKzB4MTAvMHgxNAogWzxmZmZmZmZmZjgxNWI0OTM4Pl0gYWxsb2NfYm9vdG1l bV9jb3JlKzB4YzAvMHgyYjAKIFs8ZmZmZmZmZmY4MTViNGFjYT5dID8gYWxsb2NfYm9vdG1lbV9j b3JlKzB4MjUyLzB4MmIwCiBbPGZmZmZmZmZmODE1YjRiOGQ+XSBfX19hbGxvY19ib290bWVtX25v cGFuaWMrMHg2NS8weGEwCiBbPGZmZmZmZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVy KzB4MC8weDcxCiBbPGZmZmZmZmZmODE1YjRiZDk+XSBfX19hbGxvY19ib290bWVtKzB4MTEvMHgz OQogWzxmZmZmZmZmZjgxNWI0Yzc3Pl0gX19hbGxvY19ib290bWVtX2xvdysweGUvMHgxMAogWzxm ZmZmZmZmZjgxNWM0MjcyPl0gZmlybXdhcmVfbWFwX2FkZF9lYXJseSsweDI3LzB4NWQKIFs8ZmZm ZmZmZmY4MTVhMDBlYT5dIGU4MjBfcmVzZXJ2ZV9yZXNvdXJjZXMrMHgxMTMvMHgxMjQKIFs8ZmZm ZmZmZmY4MTU5ZjBhNz5dIHNldHVwX2FyY2grMHg3MTcvMHg3N2QKIFs8ZmZmZmZmZmY4MTViMzJk OD5dID8gY2dyb3VwX2luaXRfc3Vic3lzKzB4MzIvMHhlMwogWzxmZmZmZmZmZjgxMzMxMTkzPl0g PyBfc3Bpbl9sb2NrKzB4YS8weGMKIFs8ZmZmZmZmZmY4MTU5NzliOD5dIHN0YXJ0X2tlcm5lbCsw eDhkLzB4M2FhCiBbPGZmZmZmZmZmODE1OTcyYmE+XSB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25z KzB4YTUvMHhhOQogWzxmZmZmZmZmZjgxNTk3M2NhPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweGU5 LzB4ZjgKCmJvb3RtZW06Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD0xMDA3IGVuZD0xMDA3IGZsYWdz PTEKYm9vdG1lbTo6YWxsb2NfYm9vdG1lbV9jb3JlIG5pZD0wIHNpemU9NjggWzEgcGFnZXNdIGFs aWduPTgwIGdvYWw9MCBsaW1pdD1mZmZmZmZmZgpQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90IHRh aW50ZWQgMi42LjI3LjE5ICMxCgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxNWI0OTM4Pl0gYWxs b2NfYm9vdG1lbV9jb3JlKzB4YzAvMHgyYjAKIFs8ZmZmZmZmZmY4MTViNGI4ZD5dIF9fX2FsbG9j X2Jvb3RtZW1fbm9wYW5pYysweDY1LzB4YTAKIFs8ZmZmZmZmZmY4MTU5NzE0MD5dID8gZWFybHlf aWR0X2hhbmRsZXIrMHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTViNGJkOT5dIF9fX2FsbG9jX2Jvb3Rt ZW0rMHgxMS8weDM5CiBbPGZmZmZmZmZmODE1YjRjNzc+XSBfX2FsbG9jX2Jvb3RtZW1fbG93KzB4 ZS8weDEwCiBbPGZmZmZmZmZmODE1YzQyNzI+XSBmaXJtd2FyZV9tYXBfYWRkX2Vhcmx5KzB4Mjcv MHg1ZAogWzxmZmZmZmZmZjgxNWEwMGVhPl0gZTgyMF9yZXNlcnZlX3Jlc291cmNlcysweDExMy8w eDEyNAogWzxmZmZmZmZmZjgxNTlmMGE3Pl0gc2V0dXBfYXJjaCsweDcxNy8weDc3ZAogWzxmZmZm ZmZmZjgxNWIzMmQ4Pl0gPyBjZ3JvdXBfaW5pdF9zdWJzeXMrMHgzMi8weGUzCiBbPGZmZmZmZmZm ODEzMzExOTM+XSA/IF9zcGluX2xvY2srMHhhLzB4YwogWzxmZmZmZmZmZjgxNTk3OWI4Pl0gc3Rh cnRfa2VybmVsKzB4OGQvMHgzYWEKIFs8ZmZmZmZmZmY4MTU5NzJiYT5dIHg4Nl82NF9zdGFydF9y ZXNlcnZhdGlvbnMrMHhhNS8weGE5CiBbPGZmZmZmZmZmODE1OTczY2E+XSB4ODZfNjRfc3RhcnRf a2VybmVsKzB4ZTkvMHhmOAoKYm9vdG1lbTo6X19yZXNlcnZlIG5pZD0wIHN0YXJ0PTEwMDcgZW5k PTEwMDcgZmxhZ3M9MQpib290bWVtOjphbGxvY19ib290bWVtX2NvcmUgbmlkPTAgc2l6ZT02OCBb MSBwYWdlc10gYWxpZ249ODAgZ29hbD0wIGxpbWl0PWZmZmZmZmZmClBpZDogMCwgY29tbTogc3dh cHBlciBOb3QgdGFpbnRlZCAyLjYuMjcuMTkgIzEKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODE1 YjQ5Mzg+XSBhbGxvY19ib290bWVtX2NvcmUrMHhjMC8weDJiMAogWzxmZmZmZmZmZjgxNWI0Yjhk Pl0gX19fYWxsb2NfYm9vdG1lbV9ub3BhbmljKzB4NjUvMHhhMAogWzxmZmZmZmZmZjgxNTk3MTQw Pl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MQogWzxmZmZmZmZmZjgxNWI0YmQ5Pl0gX19f YWxsb2NfYm9vdG1lbSsweDExLzB4MzkKIFs8ZmZmZmZmZmY4MTViNGM3Nz5dIF9fYWxsb2NfYm9v dG1lbV9sb3crMHhlLzB4MTAKIFs8ZmZmZmZmZmY4MTVjNDI3Mj5dIGZpcm13YXJlX21hcF9hZGRf ZWFybHkrMHgyNy8weDVkCiBbPGZmZmZmZmZmODE1YTAwZWE+XSBlODIwX3Jlc2VydmVfcmVzb3Vy Y2VzKzB4MTEzLzB4MTI0CiBbPGZmZmZmZmZmODE1OWYwYTc+XSBzZXR1cF9hcmNoKzB4NzE3LzB4 NzdkCiBbPGZmZmZmZmZmODE1YjMyZDg+XSA/IGNncm91cF9pbml0X3N1YnN5cysweDMyLzB4ZTMK IFs8ZmZmZmZmZmY4MTMzMTE5Mz5dID8gX3NwaW5fbG9jaysweGEvMHhjCiBbPGZmZmZmZmZmODE1 OTc5Yjg+XSBzdGFydF9rZXJuZWwrMHg4ZC8weDNhYQogWzxmZmZmZmZmZjgxNTk3MmJhPl0geDg2 XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweGE1LzB4YTkKIFs8ZmZmZmZmZmY4MTU5NzNjYT5dIHg4 Nl82NF9zdGFydF9rZXJuZWwrMHhlOS8weGY4Cgpib290bWVtOjpfX3Jlc2VydmUgbmlkPTAgc3Rh cnQ9MTAwNyBlbmQ9MTAwNyBmbGFncz0xCmJvb3RtZW06OmFsbG9jX2Jvb3RtZW1fY29yZSBuaWQ9 MCBzaXplPTY4IFsxIHBhZ2VzXSBhbGlnbj04MCBnb2FsPTAgbGltaXQ9ZmZmZmZmZmYKUGlkOiAw LCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNy4xOSAjMQoKQ2FsbCBUcmFjZToKIFs8 ZmZmZmZmZmY4MTViNDkzOD5dIGFsbG9jX2Jvb3RtZW1fY29yZSsweGMwLzB4MmIwCiBbPGZmZmZm ZmZmODE1YjRiOGQ+XSBfX19hbGxvY19ib290bWVtX25vcGFuaWMrMHg2NS8weGEwCiBbPGZmZmZm ZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBbPGZmZmZmZmZmODE1 YjRiZDk+XSBfX19hbGxvY19ib290bWVtKzB4MTEvMHgzOQogWzxmZmZmZmZmZjgxNWI0Yzc3Pl0g X19hbGxvY19ib290bWVtX2xvdysweGUvMHgxMAogWzxmZmZmZmZmZjgxNWM0MjcyPl0gZmlybXdh cmVfbWFwX2FkZF9lYXJseSsweDI3LzB4NWQKIFs8ZmZmZmZmZmY4MTVhMDBlYT5dIGU4MjBfcmVz ZXJ2ZV9yZXNvdXJjZXMrMHgxMTMvMHgxMjQKIFs8ZmZmZmZmZmY4MTU5ZjBhNz5dIHNldHVwX2Fy Y2grMHg3MTcvMHg3N2QKIFs8ZmZmZmZmZmY4MTViMzJkOD5dID8gY2dyb3VwX2luaXRfc3Vic3lz KzB4MzIvMHhlMwogWzxmZmZmZmZmZjgxMzMxMTkzPl0gPyBfc3Bpbl9sb2NrKzB4YS8weGMKIFs8 ZmZmZmZmZmY4MTU5NzliOD5dIHN0YXJ0X2tlcm5lbCsweDhkLzB4M2FhCiBbPGZmZmZmZmZmODE1 OTcyYmE+XSB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4YTUvMHhhOQogWzxmZmZmZmZmZjgx NTk3M2NhPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweGU5LzB4ZjgKCmJvb3RtZW06Ol9fcmVzZXJ2 ZSBuaWQ9MCBzdGFydD0xMDA3IGVuZD0xMDA3IGZsYWdzPTEKYm9vdG1lbTo6YWxsb2NfYm9vdG1l bV9jb3JlIG5pZD0wIHNpemU9NjggWzEgcGFnZXNdIGFsaWduPTgwIGdvYWw9MCBsaW1pdD1mZmZm ZmZmZgpQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI3LjE5ICMxCgpDYWxs IFRyYWNlOgogWzxmZmZmZmZmZjgxNWI0OTM4Pl0gYWxsb2NfYm9vdG1lbV9jb3JlKzB4YzAvMHgy YjAKIFs8ZmZmZmZmZmY4MTViNGI4ZD5dIF9fX2FsbG9jX2Jvb3RtZW1fbm9wYW5pYysweDY1LzB4 YTAKIFs8ZmZmZmZmZmY4MTU5NzE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzEKIFs8 ZmZmZmZmZmY4MTViNGJkOT5dIF9fX2FsbG9jX2Jvb3RtZW0rMHgxMS8weDM5CiBbPGZmZmZmZmZm ODE1YjRjNzc+XSBfX2FsbG9jX2Jvb3RtZW1fbG93KzB4ZS8weDEwCiBbPGZmZmZmZmZmODE1YzQy NzI+XSBmaXJtd2FyZV9tYXBfYWRkX2Vhcmx5KzB4MjcvMHg1ZAogWzxmZmZmZmZmZjgxNWEwMGVh Pl0gZTgyMF9yZXNlcnZlX3Jlc291cmNlcysweDExMy8weDEyNAogWzxmZmZmZmZmZjgxNTlmMGE3 Pl0gc2V0dXBfYXJjaCsweDcxNy8weDc3ZAogWzxmZmZmZmZmZjgxNWIzMmQ4Pl0gPyBjZ3JvdXBf aW5pdF9zdWJzeXMrMHgzMi8weGUzCiBbPGZmZmZmZmZmODEzMzExOTM+XSA/IF9zcGluX2xvY2sr MHhhLzB4YwogWzxmZmZmZmZmZjgxNTk3OWI4Pl0gc3RhcnRfa2VybmVsKzB4OGQvMHgzYWEKIFs8 ZmZmZmZmZmY4MTU5NzJiYT5dIHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMrMHhhNS8weGE5CiBb PGZmZmZmZmZmODE1OTczY2E+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4ZTkvMHhmOAoKYm9vdG1l bTo6X19yZXNlcnZlIG5pZD0wIHN0YXJ0PTEwMDcgZW5kPTEwMDcgZmxhZ3M9MQpib290bWVtOjph bGxvY19ib290bWVtX2NvcmUgbmlkPTAgc2l6ZT02OCBbMSBwYWdlc10gYWxpZ249ODAgZ29hbD0w IGxpbWl0PWZmZmZmZmZmClBpZDogMCwgY29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAyLjYuMjcu MTkgIzEKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODE1YjQ5Mzg+XSBhbGxvY19ib290bWVtX2Nv cmUrMHhjMC8weDJiMAogWzxmZmZmZmZmZjgxNWI0YjhkPl0gX19fYWxsb2NfYm9vdG1lbV9ub3Bh bmljKzB4NjUvMHhhMAogWzxmZmZmZmZmZjgxNTk3MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisw eDAvMHg3MQogWzxmZmZmZmZmZjgxNWI0YmQ5Pl0gX19fYWxsb2NfYm9vdG1lbSsweDExLzB4MzkK IFs8ZmZmZmZmZmY4MTViNGM3Nz5dIF9fYWxsb2NfYm9vdG1lbV9sb3crMHhlLzB4MTAKIFs8ZmZm ZmZmZmY4MTVjNDI3Mj5dIGZpcm13YXJlX21hcF9hZGRfZWFybHkrMHgyNy8weDVkCiBbPGZmZmZm ZmZmODE1YTAwZWE+XSBlODIwX3Jlc2VydmVfcmVzb3VyY2VzKzB4MTEzLzB4MTI0CiBbPGZmZmZm ZmZmODE1OWYwYTc+XSBzZXR1cF9hcmNoKzB4NzE3LzB4NzdkCiBbPGZmZmZmZmZmODE1YjMyZDg+ XSA/IGNncm91cF9pbml0X3N1YnN5cysweDMyLzB4ZTMKIFs8ZmZmZmZmZmY4MTMzMTE5Mz5dID8g X3NwaW5fbG9jaysweGEvMHhjCiBbPGZmZmZmZmZmODE1OTc5Yjg+XSBzdGFydF9rZXJuZWwrMHg4 ZC8weDNhYQogWzxmZmZmZmZmZjgxNTk3MmJhPl0geDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysw eGE1LzB4YTkKIFs8ZmZmZmZmZmY4MTU5NzNjYT5dIHg4Nl82NF9zdGFydF9rZXJuZWwrMHhlOS8w eGY4Cgpib290bWVtOjpfX3Jlc2VydmUgbmlkPTAgc3RhcnQ9MTAwNyBlbmQ9MTAwNyBmbGFncz0x CmJvb3RtZW06OmFsbG9jX2Jvb3RtZW1fY29yZSBuaWQ9MCBzaXplPTIwIFsxIHBhZ2VzXSBhbGln bj04MCBnb2FsPTAgbGltaXQ9ZmZmZmZmZmYKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0YWlu dGVkIDIuNi4yNy4xOSAjMQoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTViNDkzOD5dIGFsbG9j X2Jvb3RtZW1fY29yZSsweGMwLzB4MmIwCiBbPGZmZmZmZmZmODE1YjRiOGQ+XSBfX19hbGxvY19i b290bWVtX25vcGFuaWMrMHg2NS8weGEwCiBbPGZmZmZmZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lk dF9oYW5kbGVyKzB4MC8weDcxCiBbPGZmZmZmZmZmODE1YjRiZDk+XSBfX19hbGxvY19ib290bWVt KzB4MTEvMHgzOQogWzxmZmZmZmZmZjgxNWI0Yzc3Pl0gX19hbGxvY19ib290bWVtX2xvdysweGUv MHgxMAogWzxmZmZmZmZmZjgxNWIyYmM0Pl0gX19yZWdpc3Rlcl9ub3NhdmVfcmVnaW9uKzB4NjUv MHhhNAogWzxmZmZmZmZmZjgxNWEwNWEwPl0gZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKzB4NGQv MHg5ZgogWzxmZmZmZmZmZjgxNTlmMGJhPl0gc2V0dXBfYXJjaCsweDcyYS8weDc3ZAogWzxmZmZm ZmZmZjgxNWIzMmQ4Pl0gPyBjZ3JvdXBfaW5pdF9zdWJzeXMrMHgzMi8weGUzCiBbPGZmZmZmZmZm ODEzMzExOTM+XSA/IF9zcGluX2xvY2srMHhhLzB4YwogWzxmZmZmZmZmZjgxNTk3OWI4Pl0gc3Rh cnRfa2VybmVsKzB4OGQvMHgzYWEKIFs8ZmZmZmZmZmY4MTU5NzJiYT5dIHg4Nl82NF9zdGFydF9y ZXNlcnZhdGlvbnMrMHhhNS8weGE5CiBbPGZmZmZmZmZmODE1OTczY2E+XSB4ODZfNjRfc3RhcnRf a2VybmVsKzB4ZTkvMHhmOAoKYm9vdG1lbTo6X19yZXNlcnZlIG5pZD0wIHN0YXJ0PTEwMDcgZW5k PTEwMDcgZmxhZ3M9MQpQTTogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiAwMDAwMDAwMDAwMDlm MDAwIC0gMDAwMDAwMDAwMDBhMDAwMApQTTogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiAwMDAw MDAwMDAwMGEwMDAwIC0gMDAwMDAwMDAwMDBlODAwMApQTTogUmVnaXN0ZXJlZCBub3NhdmUgbWVt b3J5OiAwMDAwMDAwMDAwMGU4MDAwIC0gMDAwMDAwMDAwMDEwMDAwMApBbGxvY2F0aW5nIFBDSSBy ZXNvdXJjZXMgc3RhcnRpbmcgYXQgMzAwMDAwMDAgKGdhcDogMjAwMDAwMDA6ZGZmYmQwMDApCmJv b3RtZW06OmFsbG9jX2Jvb3RtZW1fY29yZSBuaWQ9MCBzaXplPTJmIFsxIHBhZ2VzXSBhbGlnbj04 MCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQg Mi42LjI3LjE5ICMxCgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxNWI0OTM4Pl0gYWxsb2NfYm9v dG1lbV9jb3JlKzB4YzAvMHgyYjAKIFs8ZmZmZmZmZmY4MTViNGI4ZD5dIF9fX2FsbG9jX2Jvb3Rt ZW1fbm9wYW5pYysweDY1LzB4YTAKIFs8ZmZmZmZmZmY4MTU5NzE0MD5dID8gZWFybHlfaWR0X2hh bmRsZXIrMHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTViNGJkOT5dIF9fX2FsbG9jX2Jvb3RtZW0rMHgx MS8weDM5CiBbPGZmZmZmZmZmODE1YjRjODQ+XSBfX2FsbG9jX2Jvb3RtZW0rMHhiLzB4ZAogWzxm ZmZmZmZmZjgxNTk3OWU5Pl0gc3RhcnRfa2VybmVsKzB4YmUvMHgzYWEKIFs8ZmZmZmZmZmY4MTU5 NzJiYT5dIHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMrMHhhNS8weGE5CiBbPGZmZmZmZmZmODE1 OTczY2E+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4ZTkvMHhmOAoKYm9vdG1lbTo6X19yZXNlcnZl IG5pZD0wIHN0YXJ0PTEwMDcgZW5kPTEwMDcgZmxhZ3M9MQpib290bWVtOjphbGxvY19ib290bWVt X2NvcmUgbmlkPTAgc2l6ZT0yZiBbMSBwYWdlc10gYWxpZ249ODAgZ29hbD0xMDAwMDAwIGxpbWl0 PTAKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNy4xOSAjMQoKQ2FsbCBU cmFjZToKIFs8ZmZmZmZmZmY4MTViNDkzOD5dIGFsbG9jX2Jvb3RtZW1fY29yZSsweGMwLzB4MmIw CiBbPGZmZmZmZmZmODE1YjRiOGQ+XSBfX19hbGxvY19ib290bWVtX25vcGFuaWMrMHg2NS8weGEw CiBbPGZmZmZmZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBbPGZm ZmZmZmZmODE1YjRiZDk+XSBfX19hbGxvY19ib290bWVtKzB4MTEvMHgzOQogWzxmZmZmZmZmZjgx NWI0Yzg0Pl0gX19hbGxvY19ib290bWVtKzB4Yi8weGQKIFs8ZmZmZmZmZmY4MTU5N2EyMD5dIHN0 YXJ0X2tlcm5lbCsweGY1LzB4M2FhCiBbPGZmZmZmZmZmODE1OTcyYmE+XSB4ODZfNjRfc3RhcnRf cmVzZXJ2YXRpb25zKzB4YTUvMHhhOQogWzxmZmZmZmZmZjgxNTk3M2NhPl0geDg2XzY0X3N0YXJ0 X2tlcm5lbCsweGU5LzB4ZjgKCmJvb3RtZW06Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD0xMDA3IGVu ZD0xMDA3IGZsYWdzPTEKYm9vdG1lbTo6YWxsb2NfYm9vdG1lbV9jb3JlIG5pZD0wIHNpemU9ODAw IFsxIHBhZ2VzXSBhbGlnbj04MCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3 YXBwZXIgTm90IHRhaW50ZWQgMi42LjI3LjE5ICMxCgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgx NWI0OTM4Pl0gYWxsb2NfYm9vdG1lbV9jb3JlKzB4YzAvMHgyYjAKIFs8ZmZmZmZmZmY4MTViNGI4 ZD5dIF9fX2FsbG9jX2Jvb3RtZW1fbm9wYW5pYysweDY1LzB4YTAKIFs8ZmZmZmZmZmY4MTU5NzE0 MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTViNGJkOT5dIF9f X2FsbG9jX2Jvb3RtZW0rMHgxMS8weDM5CiBbPGZmZmZmZmZmODE1YjRjODQ+XSBfX2FsbG9jX2Jv b3RtZW0rMHhiLzB4ZAogWzxmZmZmZmZmZjgxNTlmNDBiPl0gc2V0dXBfcGVyX2NwdV9hcmVhcysw eDdkLzB4MzUyCiBbPGZmZmZmZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8w eDcxCiBbPGZmZmZmZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBb PGZmZmZmZmZmODE1OTdhNGE+XSBzdGFydF9rZXJuZWwrMHgxMWYvMHgzYWEKIFs8ZmZmZmZmZmY4 MTU5NzJiYT5dIHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMrMHhhNS8weGE5CiBbPGZmZmZmZmZm ODE1OTczY2E+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4ZTkvMHhmOAoKYm9vdG1lbTo6X19yZXNl cnZlIG5pZD0wIHN0YXJ0PTEwMDcgZW5kPTEwMDcgZmxhZ3M9MQpQRVJDUFU6IEFsbG9jYXRpbmcg NjUxODQgYnl0ZXMgb2YgcGVyIGNwdSBkYXRhCmJvb3RtZW06OmFsbG9jX2Jvb3RtZW1fY29yZSBu aWQ9MCBzaXplPWZlYTAgWzE2IHBhZ2VzXSBhbGlnbj0xMDAwIGdvYWw9MTAwMDAwMCBsaW1pdD0w ClBpZDogMCwgY29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAyLjYuMjcuMTkgIzEKCkNhbGwgVHJh Y2U6CiBbPGZmZmZmZmZmODE1YjQ5Mzg+XSBhbGxvY19ib290bWVtX2NvcmUrMHhjMC8weDJiMAog WzxmZmZmZmZmZjgxNWI0YjhkPl0gPyBfX19hbGxvY19ib290bWVtX25vcGFuaWMrMHg2NS8weGEw CiBbPGZmZmZmZmZmODE1YjRjMWQ+XSBfX19hbGxvY19ib290bWVtX25vZGUrMHgxYy8weDNiCiBb PGZmZmZmZmZmODE1YjRjNjc+XSBfX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDEzLzB4MTUKIFs8ZmZm ZmZmZmY4MTU5ZjUzZT5dIHNldHVwX3Blcl9jcHVfYXJlYXMrMHgxYjAvMHgzNTIKIFs8ZmZmZmZm ZmY4MTU5NzE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTU5 NzE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTU5N2E0YT5d IHN0YXJ0X2tlcm5lbCsweDExZi8weDNhYQogWzxmZmZmZmZmZjgxNTk3MmJhPl0geDg2XzY0X3N0 YXJ0X3Jlc2VydmF0aW9ucysweGE1LzB4YTkKIFs8ZmZmZmZmZmY4MTU5NzNjYT5dIHg4Nl82NF9z dGFydF9rZXJuZWwrMHhlOS8weGY4Cgpib290bWVtOjpfX3Jlc2VydmUgbmlkPTAgc3RhcnQ9MTAw NyBlbmQ9MTAxNyBmbGFncz0xCmJvb3RtZW06OmFsbG9jX2Jvb3RtZW1fY29yZSBuaWQ9MCBzaXpl PWZlYTAgWzE2IHBhZ2VzXSBhbGlnbj0xMDAwIGdvYWw9MTAwMDAwMCBsaW1pdD0wClBpZDogMCwg Y29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAyLjYuMjcuMTkgIzEKCkNhbGwgVHJhY2U6CiBbPGZm ZmZmZmZmODE1YjQ5Mzg+XSBhbGxvY19ib290bWVtX2NvcmUrMHhjMC8weDJiMAogWzxmZmZmZmZm ZjgxNWI0YzFkPl0gX19fYWxsb2NfYm9vdG1lbV9ub2RlKzB4MWMvMHgzYgogWzxmZmZmZmZmZjgx NWI0YzY3Pl0gX19hbGxvY19ib290bWVtX25vZGUrMHgxMy8weDE1CiBbPGZmZmZmZmZmODE1OWY1 M2U+XSBzZXR1cF9wZXJfY3B1X2FyZWFzKzB4MWIwLzB4MzUyCiBbPGZmZmZmZmZmODE1OTcxNDA+ XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBbPGZmZmZmZmZmODE1OTcxNDA+XSA/IGVh cmx5X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBbPGZmZmZmZmZmODE1OTdhNGE+XSBzdGFydF9rZXJu ZWwrMHgxMWYvMHgzYWEKIFs8ZmZmZmZmZmY4MTU5NzJiYT5dIHg4Nl82NF9zdGFydF9yZXNlcnZh dGlvbnMrMHhhNS8weGE5CiBbPGZmZmZmZmZmODE1OTczY2E+XSB4ODZfNjRfc3RhcnRfa2VybmVs KzB4ZTkvMHhmOAoKYm9vdG1lbTo6X19yZXNlcnZlIG5pZD0wIHN0YXJ0PTEwMTcgZW5kPTEwMjcg ZmxhZ3M9MQpib290bWVtOjphbGxvY19ib290bWVtX2NvcmUgbmlkPTAgc2l6ZT1mZWEwIFsxNiBw YWdlc10gYWxpZ249MTAwMCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBw ZXIgTm90IHRhaW50ZWQgMi42LjI3LjE5ICMxCgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxNWI0 OTM4Pl0gYWxsb2NfYm9vdG1lbV9jb3JlKzB4YzAvMHgyYjAKIFs8ZmZmZmZmZmY4MTViNGMxZD5d IF9fX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDFjLzB4M2IKIFs8ZmZmZmZmZmY4MTViNGM2Nz5dIF9f YWxsb2NfYm9vdG1lbV9ub2RlKzB4MTMvMHgxNQogWzxmZmZmZmZmZjgxNTlmNTNlPl0gc2V0dXBf cGVyX2NwdV9hcmVhcysweDFiMC8weDM1MgogWzxmZmZmZmZmZjgxNTk3MTQwPl0gPyBlYXJseV9p ZHRfaGFuZGxlcisweDAvMHg3MQogWzxmZmZmZmZmZjgxNTk3MTQwPl0gPyBlYXJseV9pZHRfaGFu ZGxlcisweDAvMHg3MQogWzxmZmZmZmZmZjgxNTk3YTRhPl0gc3RhcnRfa2VybmVsKzB4MTFmLzB4 M2FhCiBbPGZmZmZmZmZmODE1OTcyYmE+XSB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4YTUv MHhhOQogWzxmZmZmZmZmZjgxNTk3M2NhPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweGU5LzB4ZjgK CmJvb3RtZW06Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD0xMDI3IGVuZD0xMDM3IGZsYWdzPTEKYm9v dG1lbTo6YWxsb2NfYm9vdG1lbV9jb3JlIG5pZD0wIHNpemU9ZmVhMCBbMTYgcGFnZXNdIGFsaWdu PTEwMDAgZ29hbD0xMDAwMDAwIGxpbWl0PTAKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0YWlu dGVkIDIuNi4yNy4xOSAjMQoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTViNDkzOD5dIGFsbG9j X2Jvb3RtZW1fY29yZSsweGMwLzB4MmIwCiBbPGZmZmZmZmZmODE1YjRjMWQ+XSBfX19hbGxvY19i b290bWVtX25vZGUrMHgxYy8weDNiCiBbPGZmZmZmZmZmODE1YjRjNjc+XSBfX2FsbG9jX2Jvb3Rt ZW1fbm9kZSsweDEzLzB4MTUKIFs8ZmZmZmZmZmY4MTU5ZjUzZT5dIHNldHVwX3Blcl9jcHVfYXJl YXMrMHgxYjAvMHgzNTIKIFs8ZmZmZmZmZmY4MTU5NzE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIr MHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTU5NzE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4 NzEKIFs8ZmZmZmZmZmY4MTU5N2E0YT5dIHN0YXJ0X2tlcm5lbCsweDExZi8weDNhYQogWzxmZmZm ZmZmZjgxNTk3MmJhPl0geDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweGE1LzB4YTkKIFs8ZmZm ZmZmZmY4MTU5NzNjYT5dIHg4Nl82NF9zdGFydF9rZXJuZWwrMHhlOS8weGY4Cgpib290bWVtOjpf X3Jlc2VydmUgbmlkPTAgc3RhcnQ9MTAzNyBlbmQ9MTA0NyBmbGFncz0xCmJvb3RtZW06OmFsbG9j X2Jvb3RtZW1fY29yZSBuaWQ9MCBzaXplPWZlYTAgWzE2IHBhZ2VzXSBhbGlnbj0xMDAwIGdvYWw9 MTAwMDAwMCBsaW1pdD0wClBpZDogMCwgY29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAyLjYuMjcu MTkgIzEKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODE1YjQ5Mzg+XSBhbGxvY19ib290bWVtX2Nv cmUrMHhjMC8weDJiMAogWzxmZmZmZmZmZjgxNWI0YzFkPl0gX19fYWxsb2NfYm9vdG1lbV9ub2Rl KzB4MWMvMHgzYgogWzxmZmZmZmZmZjgxNWI0YzY3Pl0gX19hbGxvY19ib290bWVtX25vZGUrMHgx My8weDE1CiBbPGZmZmZmZmZmODE1OWY1M2U+XSBzZXR1cF9wZXJfY3B1X2FyZWFzKzB4MWIwLzB4 MzUyCiBbPGZmZmZmZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBb PGZmZmZmZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBbPGZmZmZm ZmZmODE1OTdhNGE+XSBzdGFydF9rZXJuZWwrMHgxMWYvMHgzYWEKIFs8ZmZmZmZmZmY4MTU5NzJi YT5dIHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMrMHhhNS8weGE5CiBbPGZmZmZmZmZmODE1OTcz Y2E+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4ZTkvMHhmOAoKYm9vdG1lbTo6X19yZXNlcnZlIG5p ZD0wIHN0YXJ0PTEwNDcgZW5kPTEwNTcgZmxhZ3M9MQpib290bWVtOjphbGxvY19ib290bWVtX2Nv cmUgbmlkPTAgc2l6ZT1mZWEwIFsxNiBwYWdlc10gYWxpZ249MTAwMCBnb2FsPTEwMDAwMDAgbGlt aXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI3LjE5ICMxCgpDYWxs IFRyYWNlOgogWzxmZmZmZmZmZjgxNWI0OTM4Pl0gYWxsb2NfYm9vdG1lbV9jb3JlKzB4YzAvMHgy YjAKIFs8ZmZmZmZmZmY4MTViNGMxZD5dIF9fX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDFjLzB4M2IK IFs8ZmZmZmZmZmY4MTViNGM2Nz5dIF9fYWxsb2NfYm9vdG1lbV9ub2RlKzB4MTMvMHgxNQogWzxm ZmZmZmZmZjgxNTlmNTNlPl0gc2V0dXBfcGVyX2NwdV9hcmVhcysweDFiMC8weDM1MgogWzxmZmZm ZmZmZjgxNTk3MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MQogWzxmZmZmZmZmZjgx NTk3MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MQogWzxmZmZmZmZmZjgxNTk3YTRh Pl0gc3RhcnRfa2VybmVsKzB4MTFmLzB4M2FhCiBbPGZmZmZmZmZmODE1OTcyYmE+XSB4ODZfNjRf c3RhcnRfcmVzZXJ2YXRpb25zKzB4YTUvMHhhOQogWzxmZmZmZmZmZjgxNTk3M2NhPl0geDg2XzY0 X3N0YXJ0X2tlcm5lbCsweGU5LzB4ZjgKCmJvb3RtZW06Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD0x MDU3IGVuZD0xMDY3IGZsYWdzPTEKYm9vdG1lbTo6YWxsb2NfYm9vdG1lbV9jb3JlIG5pZD0wIHNp emU9ZmVhMCBbMTYgcGFnZXNdIGFsaWduPTEwMDAgZ29hbD0xMDAwMDAwIGxpbWl0PTAKUGlkOiAw LCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNy4xOSAjMQoKQ2FsbCBUcmFjZToKIFs8 ZmZmZmZmZmY4MTViNDkzOD5dIGFsbG9jX2Jvb3RtZW1fY29yZSsweGMwLzB4MmIwCiBbPGZmZmZm ZmZmODE1YjRjMWQ+XSBfX19hbGxvY19ib290bWVtX25vZGUrMHgxYy8weDNiCiBbPGZmZmZmZmZm ODE1YjRjNjc+XSBfX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDEzLzB4MTUKIFs8ZmZmZmZmZmY4MTU5 ZjUzZT5dIHNldHVwX3Blcl9jcHVfYXJlYXMrMHgxYjAvMHgzNTIKIFs8ZmZmZmZmZmY4MTU5NzE0 MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTU5NzE0MD5dID8g ZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTU5N2E0YT5dIHN0YXJ0X2tl cm5lbCsweDExZi8weDNhYQogWzxmZmZmZmZmZjgxNTk3MmJhPl0geDg2XzY0X3N0YXJ0X3Jlc2Vy dmF0aW9ucysweGE1LzB4YTkKIFs8ZmZmZmZmZmY4MTU5NzNjYT5dIHg4Nl82NF9zdGFydF9rZXJu ZWwrMHhlOS8weGY4Cgpib290bWVtOjpfX3Jlc2VydmUgbmlkPTAgc3RhcnQ9MTA2NyBlbmQ9MTA3 NyBmbGFncz0xCmJvb3RtZW06OmFsbG9jX2Jvb3RtZW1fY29yZSBuaWQ9MCBzaXplPWZlYTAgWzE2 IHBhZ2VzXSBhbGlnbj0xMDAwIGdvYWw9MTAwMDAwMCBsaW1pdD0wClBpZDogMCwgY29tbTogc3dh cHBlciBOb3QgdGFpbnRlZCAyLjYuMjcuMTkgIzEKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODE1 YjQ5Mzg+XSBhbGxvY19ib290bWVtX2NvcmUrMHhjMC8weDJiMAogWzxmZmZmZmZmZjgxNWI0YzFk Pl0gX19fYWxsb2NfYm9vdG1lbV9ub2RlKzB4MWMvMHgzYgogWzxmZmZmZmZmZjgxNWI0YzY3Pl0g X19hbGxvY19ib290bWVtX25vZGUrMHgxMy8weDE1CiBbPGZmZmZmZmZmODE1OWY1M2U+XSBzZXR1 cF9wZXJfY3B1X2FyZWFzKzB4MWIwLzB4MzUyCiBbPGZmZmZmZmZmODE1OTcxNDA+XSA/IGVhcmx5 X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBbPGZmZmZmZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9o YW5kbGVyKzB4MC8weDcxCiBbPGZmZmZmZmZmODE1OTdhNGE+XSBzdGFydF9rZXJuZWwrMHgxMWYv MHgzYWEKIFs8ZmZmZmZmZmY4MTU5NzJiYT5dIHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMrMHhh NS8weGE5CiBbPGZmZmZmZmZmODE1OTczY2E+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4ZTkvMHhm OAoKYm9vdG1lbTo6X19yZXNlcnZlIG5pZD0wIHN0YXJ0PTEwNzcgZW5kPTEwODcgZmxhZ3M9MQpi b290bWVtOjphbGxvY19ib290bWVtX2NvcmUgbmlkPTAgc2l6ZT1mZWEwIFsxNiBwYWdlc10gYWxp Z249MTAwMCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90IHRh aW50ZWQgMi42LjI3LjE5ICMxCgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxNWI0OTM4Pl0gYWxs b2NfYm9vdG1lbV9jb3JlKzB4YzAvMHgyYjAKIFs8ZmZmZmZmZmY4MTViNGMxZD5dIF9fX2FsbG9j X2Jvb3RtZW1fbm9kZSsweDFjLzB4M2IKIFs8ZmZmZmZmZmY4MTViNGM2Nz5dIF9fYWxsb2NfYm9v dG1lbV9ub2RlKzB4MTMvMHgxNQogWzxmZmZmZmZmZjgxNTlmNTNlPl0gc2V0dXBfcGVyX2NwdV9h cmVhcysweDFiMC8weDM1MgogWzxmZmZmZmZmZjgxNTk3MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxl cisweDAvMHg3MQogWzxmZmZmZmZmZjgxNTk3MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAv MHg3MQogWzxmZmZmZmZmZjgxNTk3YTRhPl0gc3RhcnRfa2VybmVsKzB4MTFmLzB4M2FhCiBbPGZm ZmZmZmZmODE1OTcyYmE+XSB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4YTUvMHhhOQogWzxm ZmZmZmZmZjgxNTk3M2NhPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweGU5LzB4ZjgKCmJvb3RtZW06 Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD0xMDg3IGVuZD0xMDk3IGZsYWdzPTEKYm9vdG1lbTo6YWxs b2NfYm9vdG1lbV9jb3JlIG5pZD0wIHNpemU9ZmVhMCBbMTYgcGFnZXNdIGFsaWduPTEwMDAgZ29h bD0xMDAwMDAwIGxpbWl0PTAKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDIuNi4y Ny4xOSAjMQoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTViNDkzOD5dIGFsbG9jX2Jvb3RtZW1f Y29yZSsweGMwLzB4MmIwCiBbPGZmZmZmZmZmODE1YjRjMWQ+XSBfX19hbGxvY19ib290bWVtX25v ZGUrMHgxYy8weDNiCiBbPGZmZmZmZmZmODE1YjRjNjc+XSBfX2FsbG9jX2Jvb3RtZW1fbm9kZSsw eDEzLzB4MTUKIFs8ZmZmZmZmZmY4MTU5ZjUzZT5dIHNldHVwX3Blcl9jcHVfYXJlYXMrMHgxYjAv MHgzNTIKIFs8ZmZmZmZmZmY4MTU5NzE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzEK IFs8ZmZmZmZmZmY4MTU5NzE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzEKIFs8ZmZm ZmZmZmY4MTU5N2E0YT5dIHN0YXJ0X2tlcm5lbCsweDExZi8weDNhYQogWzxmZmZmZmZmZjgxNTk3 MmJhPl0geDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweGE1LzB4YTkKIFs8ZmZmZmZmZmY4MTU5 NzNjYT5dIHg4Nl82NF9zdGFydF9rZXJuZWwrMHhlOS8weGY4Cgpib290bWVtOjpfX3Jlc2VydmUg bmlkPTAgc3RhcnQ9MTA5NyBlbmQ9MTBhNyBmbGFncz0xCmJvb3RtZW06OmFsbG9jX2Jvb3RtZW1f Y29yZSBuaWQ9MCBzaXplPWZlYTAgWzE2IHBhZ2VzXSBhbGlnbj0xMDAwIGdvYWw9MTAwMDAwMCBs aW1pdD0wClBpZDogMCwgY29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAyLjYuMjcuMTkgIzEKCkNh bGwgVHJhY2U6CiBbPGZmZmZmZmZmODE1YjQ5Mzg+XSBhbGxvY19ib290bWVtX2NvcmUrMHhjMC8w eDJiMAogWzxmZmZmZmZmZjgxNWI0YzFkPl0gX19fYWxsb2NfYm9vdG1lbV9ub2RlKzB4MWMvMHgz YgogWzxmZmZmZmZmZjgxNWI0YzY3Pl0gX19hbGxvY19ib290bWVtX25vZGUrMHgxMy8weDE1CiBb PGZmZmZmZmZmODE1OWY1M2U+XSBzZXR1cF9wZXJfY3B1X2FyZWFzKzB4MWIwLzB4MzUyCiBbPGZm ZmZmZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBbPGZmZmZmZmZm ODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBbPGZmZmZmZmZmODE1OTdh NGE+XSBzdGFydF9rZXJuZWwrMHgxMWYvMHgzYWEKIFs8ZmZmZmZmZmY4MTU5NzJiYT5dIHg4Nl82 NF9zdGFydF9yZXNlcnZhdGlvbnMrMHhhNS8weGE5CiBbPGZmZmZmZmZmODE1OTczY2E+XSB4ODZf NjRfc3RhcnRfa2VybmVsKzB4ZTkvMHhmOAoKYm9vdG1lbTo6X19yZXNlcnZlIG5pZD0wIHN0YXJ0 PTEwYTcgZW5kPTEwYjcgZmxhZ3M9MQpib290bWVtOjphbGxvY19ib290bWVtX2NvcmUgbmlkPTAg c2l6ZT1mZWEwIFsxNiBwYWdlc10gYWxpZ249MTAwMCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6 IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI3LjE5ICMxCgpDYWxsIFRyYWNlOgog WzxmZmZmZmZmZjgxNWI0OTM4Pl0gYWxsb2NfYm9vdG1lbV9jb3JlKzB4YzAvMHgyYjAKIFs8ZmZm ZmZmZmY4MTViNGMxZD5dIF9fX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDFjLzB4M2IKIFs8ZmZmZmZm ZmY4MTViNGM2Nz5dIF9fYWxsb2NfYm9vdG1lbV9ub2RlKzB4MTMvMHgxNQogWzxmZmZmZmZmZjgx NTlmNTNlPl0gc2V0dXBfcGVyX2NwdV9hcmVhcysweDFiMC8weDM1MgogWzxmZmZmZmZmZjgxNTk3 MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MQogWzxmZmZmZmZmZjgxNTk3MTQwPl0g PyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MQogWzxmZmZmZmZmZjgxNTk3YTRhPl0gc3RhcnRf a2VybmVsKzB4MTFmLzB4M2FhCiBbPGZmZmZmZmZmODE1OTcyYmE+XSB4ODZfNjRfc3RhcnRfcmVz ZXJ2YXRpb25zKzB4YTUvMHhhOQogWzxmZmZmZmZmZjgxNTk3M2NhPl0geDg2XzY0X3N0YXJ0X2tl cm5lbCsweGU5LzB4ZjgKCmJvb3RtZW06Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD0xMGI3IGVuZD0x MGM3IGZsYWdzPTEKYm9vdG1lbTo6YWxsb2NfYm9vdG1lbV9jb3JlIG5pZD0wIHNpemU9ZmVhMCBb MTYgcGFnZXNdIGFsaWduPTEwMDAgZ29hbD0xMDAwMDAwIGxpbWl0PTAKUGlkOiAwLCBjb21tOiBz d2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNy4xOSAjMQoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4 MTViNDkzOD5dIGFsbG9jX2Jvb3RtZW1fY29yZSsweGMwLzB4MmIwCiBbPGZmZmZmZmZmODE1YjRj MWQ+XSBfX19hbGxvY19ib290bWVtX25vZGUrMHgxYy8weDNiCiBbPGZmZmZmZmZmODE1YjRjNjc+ XSBfX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDEzLzB4MTUKIFs8ZmZmZmZmZmY4MTU5ZjUzZT5dIHNl dHVwX3Blcl9jcHVfYXJlYXMrMHgxYjAvMHgzNTIKIFs8ZmZmZmZmZmY4MTU5NzE0MD5dID8gZWFy bHlfaWR0X2hhbmRsZXIrMHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTU5NzE0MD5dID8gZWFybHlfaWR0 X2hhbmRsZXIrMHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTU5N2E0YT5dIHN0YXJ0X2tlcm5lbCsweDEx Zi8weDNhYQogWzxmZmZmZmZmZjgxNTk3MmJhPl0geDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysw eGE1LzB4YTkKIFs8ZmZmZmZmZmY4MTU5NzNjYT5dIHg4Nl82NF9zdGFydF9rZXJuZWwrMHhlOS8w eGY4Cgpib290bWVtOjpfX3Jlc2VydmUgbmlkPTAgc3RhcnQ9MTBjNyBlbmQ9MTBkNyBmbGFncz0x CmJvb3RtZW06OmFsbG9jX2Jvb3RtZW1fY29yZSBuaWQ9MCBzaXplPWZlYTAgWzE2IHBhZ2VzXSBh bGlnbj0xMDAwIGdvYWw9MTAwMDAwMCBsaW1pdD0wClBpZDogMCwgY29tbTogc3dhcHBlciBOb3Qg dGFpbnRlZCAyLjYuMjcuMTkgIzEKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODE1YjQ5Mzg+XSBh bGxvY19ib290bWVtX2NvcmUrMHhjMC8weDJiMAogWzxmZmZmZmZmZjgxNWI0YzFkPl0gX19fYWxs b2NfYm9vdG1lbV9ub2RlKzB4MWMvMHgzYgogWzxmZmZmZmZmZjgxNWI0YzY3Pl0gX19hbGxvY19i b290bWVtX25vZGUrMHgxMy8weDE1CiBbPGZmZmZmZmZmODE1OWY1M2U+XSBzZXR1cF9wZXJfY3B1 X2FyZWFzKzB4MWIwLzB4MzUyCiBbPGZmZmZmZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5k bGVyKzB4MC8weDcxCiBbPGZmZmZmZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4 MC8weDcxCiBbPGZmZmZmZmZmODE1OTdhNGE+XSBzdGFydF9rZXJuZWwrMHgxMWYvMHgzYWEKIFs8 ZmZmZmZmZmY4MTU5NzJiYT5dIHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMrMHhhNS8weGE5CiBb PGZmZmZmZmZmODE1OTczY2E+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4ZTkvMHhmOAoKYm9vdG1l bTo6X19yZXNlcnZlIG5pZD0wIHN0YXJ0PTEwZDcgZW5kPTEwZTcgZmxhZ3M9MQpib290bWVtOjph bGxvY19ib290bWVtX2NvcmUgbmlkPTAgc2l6ZT1mZWEwIFsxNiBwYWdlc10gYWxpZ249MTAwMCBn b2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42 LjI3LjE5ICMxCgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxNWI0OTM4Pl0gYWxsb2NfYm9vdG1l bV9jb3JlKzB4YzAvMHgyYjAKIFs8ZmZmZmZmZmY4MTViNGMxZD5dIF9fX2FsbG9jX2Jvb3RtZW1f bm9kZSsweDFjLzB4M2IKIFs8ZmZmZmZmZmY4MTViNGM2Nz5dIF9fYWxsb2NfYm9vdG1lbV9ub2Rl KzB4MTMvMHgxNQogWzxmZmZmZmZmZjgxNTlmNTNlPl0gc2V0dXBfcGVyX2NwdV9hcmVhcysweDFi MC8weDM1MgogWzxmZmZmZmZmZjgxNTk3MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3 MQogWzxmZmZmZmZmZjgxNTk3MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MQogWzxm ZmZmZmZmZjgxNTk3YTRhPl0gc3RhcnRfa2VybmVsKzB4MTFmLzB4M2FhCiBbPGZmZmZmZmZmODE1 OTcyYmE+XSB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4YTUvMHhhOQogWzxmZmZmZmZmZjgx NTk3M2NhPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweGU5LzB4ZjgKCmJvb3RtZW06Ol9fcmVzZXJ2 ZSBuaWQ9MCBzdGFydD0xMGU3IGVuZD0xMGY3IGZsYWdzPTEKYm9vdG1lbTo6YWxsb2NfYm9vdG1l bV9jb3JlIG5pZD0wIHNpemU9ZmVhMCBbMTYgcGFnZXNdIGFsaWduPTEwMDAgZ29hbD0xMDAwMDAw IGxpbWl0PTAKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNy4xOSAjMQoK Q2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTViNDkzOD5dIGFsbG9jX2Jvb3RtZW1fY29yZSsweGMw LzB4MmIwCiBbPGZmZmZmZmZmODE1YjRjMWQ+XSBfX19hbGxvY19ib290bWVtX25vZGUrMHgxYy8w eDNiCiBbPGZmZmZmZmZmODE1YjRjNjc+XSBfX2FsbG9jX2Jvb3RtZW1fbm9kZSsweDEzLzB4MTUK IFs8ZmZmZmZmZmY4MTU5ZjUzZT5dIHNldHVwX3Blcl9jcHVfYXJlYXMrMHgxYjAvMHgzNTIKIFs8 ZmZmZmZmZmY4MTU5NzE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzEKIFs8ZmZmZmZm ZmY4MTU5NzE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTU5 N2E0YT5dIHN0YXJ0X2tlcm5lbCsweDExZi8weDNhYQogWzxmZmZmZmZmZjgxNTk3MmJhPl0geDg2 XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweGE1LzB4YTkKIFs8ZmZmZmZmZmY4MTU5NzNjYT5dIHg4 Nl82NF9zdGFydF9rZXJuZWwrMHhlOS8weGY4Cgpib290bWVtOjpfX3Jlc2VydmUgbmlkPTAgc3Rh cnQ9MTEwNCBlbmQ9MTExNCBmbGFncz0xCk5SX0NQVVM6IDY0LCBucl9jcHVfaWRzOiAxNiwgbnJf bm9kZV9pZHMgMQpib290bWVtOjphbGxvY19ib290bWVtX2NvcmUgbmlkPTAgc2l6ZT04IFsxIHBh Z2VzXSBhbGlnbj04MCBnb2FsPTAgbGltaXQ9ZmZmZmZmZmYKUGlkOiAwLCBjb21tOiBzd2FwcGVy IE5vdCB0YWludGVkIDIuNi4yNy4xOSAjMQoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTViNDkz OD5dIGFsbG9jX2Jvb3RtZW1fY29yZSsweGMwLzB4MmIwCiBbPGZmZmZmZmZmODE1YjRiOGQ+XSBf X19hbGxvY19ib290bWVtX25vcGFuaWMrMHg2NS8weGEwCiBbPGZmZmZmZmZmODE1YjRiZDk+XSBf X19hbGxvY19ib290bWVtKzB4MTEvMHgzOQogWzxmZmZmZmZmZjgxNWI0Yzc3Pl0gX19hbGxvY19i b290bWVtX2xvdysweGUvMHgxMAogWzxmZmZmZmZmZjgxNTlmNmNhPl0gc2V0dXBfcGVyX2NwdV9h cmVhcysweDMzYy8weDM1MgogWzxmZmZmZmZmZjgxNTk3MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxl cisweDAvMHg3MQogWzxmZmZmZmZmZjgxNTk3MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAv MHg3MQogWzxmZmZmZmZmZjgxNTk3YTRhPl0gc3RhcnRfa2VybmVsKzB4MTFmLzB4M2FhCiBbPGZm ZmZmZmZmODE1OTcyYmE+XSB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4YTUvMHhhOQogWzxm ZmZmZmZmZjgxNTk3M2NhPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweGU5LzB4ZjgKCmJvb3RtZW06 Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD0xMTE0IGVuZD0xMTE0IGZsYWdzPTEKYm9vdG1lbTo6YWxs b2NfYm9vdG1lbV9jb3JlIG5pZD0wIHNpemU9MjAwIFsxIHBhZ2VzXSBhbGlnbj04MCBnb2FsPTEw MDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI3LjE5 ICMxCgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxNWI0YWNhPl0gPyBhbGxvY19ib290bWVtX2Nv cmUrMHgyNTIvMHgyYjAKIFs8ZmZmZmZmZmY4MTViNDkzOD5dIGFsbG9jX2Jvb3RtZW1fY29yZSsw eGMwLzB4MmIwCiBbPGZmZmZmZmZmODE1YjRiOGQ+XSBfX19hbGxvY19ib290bWVtX25vcGFuaWMr MHg2NS8weGEwCiBbPGZmZmZmZmZmODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8w eDcxCiBbPGZmZmZmZmZmODE1YjRiZDk+XSBfX19hbGxvY19ib290bWVtKzB4MTEvMHgzOQogWzxm ZmZmZmZmZjgxNWI0Yzg0Pl0gX19hbGxvY19ib290bWVtKzB4Yi8weGQKIFs8ZmZmZmZmZmY4MTVi MGEwYj5dIHNjaGVkX2luaXQrMHgzZC8weDU0NwogWzxmZmZmZmZmZjgxNTk3YTc4Pl0gc3RhcnRf a2VybmVsKzB4MTRkLzB4M2FhCiBbPGZmZmZmZmZmODE1OTcyYmE+XSB4ODZfNjRfc3RhcnRfcmVz ZXJ2YXRpb25zKzB4YTUvMHhhOQogWzxmZmZmZmZmZjgxNTk3M2NhPl0geDg2XzY0X3N0YXJ0X2tl cm5lbCsweGU5LzB4ZjgKCmJvb3RtZW06Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD0xMTE0IGVuZD0x MTE1IGZsYWdzPTEKQnVpbHQgMSB6b25lbGlzdHMgaW4gTm9kZSBvcmRlciwgbW9iaWxpdHkgZ3Jv dXBpbmcgb24uICBUb3RhbCBwYWdlczogMTI2OTg5ClBvbGljeSB6b25lOiBETUEzMgpLZXJuZWwg Y29tbWFuZCBsaW5lOiBybyByb290PS9kZXYvVm9sR3JvdXAwMC9Mb2dWb2wwMCBib290bWVtX2Rl YnVnCkluaXRpYWxpemluZyBDUFUjMApQSUQgaGFzaCB0YWJsZSBlbnRyaWVzOiAyMDQ4IChvcmRl cjogMTEsIDE2Mzg0IGJ5dGVzKQpib290bWVtOjphbGxvY19ib290bWVtX2NvcmUgbmlkPTAgc2l6 ZT00MDAwIFs0IHBhZ2VzXSBhbGlnbj04MCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6IDAsIGNv bW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI3LjE5ICMxCgpDYWxsIFRyYWNlOgogWzxmZmZm ZmZmZjgxNWI0OTM4Pl0gYWxsb2NfYm9vdG1lbV9jb3JlKzB4YzAvMHgyYjAKIFs8ZmZmZmZmZmY4 MTA4MGIyYT5dID8gX19zZXRfaXJxX2hhbmRsZXIrMHgxMzEvMHgxNDAKIFs8ZmZmZmZmZmY4MTVi NGI4ZD5dIF9fX2FsbG9jX2Jvb3RtZW1fbm9wYW5pYysweDY1LzB4YTAKIFs8ZmZmZmZmZmY4MTU5 NzE0MD5dID8gZWFybHlfaWR0X2hhbmRsZXIrMHgwLzB4NzEKIFs8ZmZmZmZmZmY4MTViNGJkOT5d IF9fX2FsbG9jX2Jvb3RtZW0rMHgxMS8weDM5CiBbPGZmZmZmZmZmODE1YjRjODQ+XSBfX2FsbG9j X2Jvb3RtZW0rMHhiLzB4ZAogWzxmZmZmZmZmZjgxNWIxYWE1Pl0gcGlkaGFzaF9pbml0KzB4ODEv MHhiOAogWzxmZmZmZmZmZjgxNTk3YjFlPl0gc3RhcnRfa2VybmVsKzB4MWYzLzB4M2FhCiBbPGZm ZmZmZmZmODE1OTcyYmE+XSB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4YTUvMHhhOQogWzxm ZmZmZmZmZjgxNTk3M2NhPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweGU5LzB4ZjgKCmJvb3RtZW06 Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD0xMTE1IGVuZD0xMTE5IGZsYWdzPTEKVFNDOiBQSVQgY2Fs aWJyYXRpb24gY29uZmlybWVkIGJ5IFBNVElNRVIuClRTQzogdXNpbmcgUElUIGNhbGlicmF0aW9u IHZhbHVlCkRldGVjdGVkIDIxOTkuODcwIE1IeiBwcm9jZXNzb3IuCmJvb3RtZW06OmFsbG9jX2Jv b3RtZW1fY29yZSBuaWQ9MCBzaXplPTEwMDAwIFsxNiBwYWdlc10gYWxpZ249ODAgZ29hbD0xMDAw MDAwIGxpbWl0PTAKUGlkOiAwLCBjb21tOiBzd2FwcGVyIE5vdCB0YWludGVkIDIuNi4yNy4xOSAj MQoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTViNDkzOD5dIGFsbG9jX2Jvb3RtZW1fY29yZSsw eGMwLzB4MmIwCiBbPGZmZmZmZmZmODEwMTJjZTg+XSA/IHNob3dfdHJhY2UrMHgxMC8weDE0CiBb PGZmZmZmZmZmODEwMTZiMGI+XSA/IHRzY19yZWFkX3JlZnMrMHg1YS8weDgyCiBbPGZmZmZmZmZm ODE1YjRiOGQ+XSBfX19hbGxvY19ib290bWVtX25vcGFuaWMrMHg2NS8weGEwCiBbPGZmZmZmZmZm ODE1OTcxNDA+XSA/IGVhcmx5X2lkdF9oYW5kbGVyKzB4MC8weDcxCiBbPGZmZmZmZmZmODE1YjRi ZDk+XSBfX19hbGxvY19ib290bWVtKzB4MTEvMHgzOQogWzxmZmZmZmZmZjgxNWI0Yzg0Pl0gX19h bGxvY19ib290bWVtKzB4Yi8weGQKIFs8ZmZmZmZmZmY4MTMyMDBhZj5dIHZnYWNvbl9zY3JvbGxi YWNrX3N0YXJ0dXArMHgyOS8weDdjCiBbPGZmZmZmZmZmODExOGEzNDA+XSB2Z2Fjb25fc3RhcnR1 cCsweDM3Ny8weDM4ZgogWzxmZmZmZmZmZjgxNWJmNmEwPl0gY29uX2luaXQrMHgxYi8weDIxYwog WzxmZmZmZmZmZjgxNWJmMDA3Pl0gY29uc29sZV9pbml0KzB4MTkvMHgyYgogWzxmZmZmZmZmZjgx NTk3YjczPl0gc3RhcnRfa2VybmVsKzB4MjQ4LzB4M2FhCiBbPGZmZmZmZmZmODE1OTcyYmE+XSB4 ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4YTUvMHhhOQogWzxmZmZmZmZmZjgxNTk3M2NhPl0g eDg2XzY0X3N0YXJ0X2tlcm5lbCsweGU5LzB4ZjgKCmJvb3RtZW06Ol9fcmVzZXJ2ZSBuaWQ9MCBz dGFydD0xMTE5IGVuZD0xMTI5IGZsYWdzPTEKYm9vdG1lbTo6YWxsb2NfYm9vdG1lbV9jb3JlIG5p ZD0wIHNpemU9MWIwIFsxIHBhZ2VzXSBhbGlnbj04MCBnb2FsPTEwMDAwMDAgbGltaXQ9MApQaWQ6 IDAsIGNvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgMi42LjI3LjE5ICMxCgpDYWxsIFRyYWNlOgog WzxmZmZmZmZmZjgxNWI0OTM4Pl0gYWxsb2NfYm9vdG1lbV9jb3JlKzB4YzAvMHgyYjAKIFs8ZmZm ZmZmZmY4MTMzMTRjMj5dID8gX3NwaW5fbG9ja19pcnFzYXZlKzB4MmIvMHgzMwogWzxmZmZmZmZm ZjgxNWI0YjhkPl0gX19fYWxsb2NfYm9vdG1lbV9ub3BhbmljKzB4NjUvMHhhMAogWzxmZmZmZmZm ZjgxNTk3MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MQogWzxmZmZmZmZmZjgxNWI0 YmQ5Pl0gX19fYWxsb2NfYm9vdG1lbSsweDExLzB4MzkKIFs8ZmZmZmZmZmY4MTViNGM4ND5dIF9f YWxsb2NfYm9vdG1lbSsweGIvMHhkCiBbPGZmZmZmZmZmODE1YmY3Njg+XSBjb25faW5pdCsweGUz LzB4MjFjCiBbPGZmZmZmZmZmODE1YmYwMDc+XSBjb25zb2xlX2luaXQrMHgxOS8weDJiCiBbPGZm ZmZmZmZmODE1OTdiNzM+XSBzdGFydF9rZXJuZWwrMHgyNDgvMHgzYWEKIFs8ZmZmZmZmZmY4MTU5 NzJiYT5dIHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMrMHhhNS8weGE5CiBbPGZmZmZmZmZmODE1 OTczY2E+XSB4ODZfNjRfc3RhcnRfa2VybmVsKzB4ZTkvMHhmOAoKYm9vdG1lbTo6X19yZXNlcnZl IG5pZD0wIHN0YXJ0PTExMjkgZW5kPTExMjkgZmxhZ3M9MQpib290bWVtOjphbGxvY19ib290bWVt X2NvcmUgbmlkPTAgc2l6ZT1mYTAgWzEgcGFnZXNdIGFsaWduPTgwIGdvYWw9MTAwMDAwMCBsaW1p dD0wClBpZDogMCwgY29tbTogc3dhcHBlciBOb3QgdGFpbnRlZCAyLjYuMjcuMTkgIzEKCkNhbGwg VHJhY2U6CiBbPGZmZmZmZmZmODE1YjQ5Mzg+XSBhbGxvY19ib290bWVtX2NvcmUrMHhjMC8weDJi MAogWzxmZmZmZmZmZjgxNWI0YjhkPl0gX19fYWxsb2NfYm9vdG1lbV9ub3BhbmljKzB4NjUvMHhh MAogWzxmZmZmZmZmZjgxNTk3MTQwPl0gPyBlYXJseV9pZHRfaGFuZGxlcisweDAvMHg3MQogWzxm ZmZmZmZmZjgxNWI0YmQ5Pl0gX19fYWxsb2NfYm9vdG1lbSsweDExLzB4MzkKIFs8ZmZmZmZmZmY4 MTViNGM4ND5dIF9fYWxsb2NfYm9vdG1lbSsweGIvMHhkCiBbPGZmZmZmZmZmODE1YmY3Y2M+XSBj b25faW5pdCsweDE0Ny8weDIxYwogWzxmZmZmZmZmZjgxNWJmMDA3Pl0gY29uc29sZV9pbml0KzB4 MTkvMHgyYgogWzxmZmZmZmZmZjgxNTk3YjczPl0gc3RhcnRfa2VybmVsKzB4MjQ4LzB4M2FhCiBb PGZmZmZmZmZmODE1OTcyYmE+XSB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4YTUvMHhhOQog WzxmZmZmZmZmZjgxNTk3M2NhPl0geDg2XzY0X3N0YXJ0X2tlcm5lbCsweGU5LzB4ZjgKCmJvb3Rt ZW06Ol9fcmVzZXJ2ZSBuaWQ9MCBzdGFydD0xMTI5IGVuZD0xMTJhIGZsYWdzPTEKQ29uc29sZTog Y29sb3VyIFZHQSsgODB4MjUKY29uc29sZSBbdHR5MF0gZW5hYmxlZApDaGVja2luZyBhcGVydHVy ZS4uLgpObyBBR1AgYnJpZGdlIGZvdW5kCkNhbGdhcnk6IGRldGVjdGluZyBDYWxnYXJ5IHZpYSBC SU9TIEVCREEgYXJlYQpDYWxnYXJ5OiBVbmFibGUgdG8gbG9jYXRlIFJpbyBHcmFuZGUgdGFibGUg aW4gRUJEQSAtIGJhaWxpbmchCmJvb3RtZW06OmZyZWVfYWxsX2Jvb3RtZW1fY29yZSBuaWQ9MCBz dGFydD0wIGVuZD0xZmZmMCBhbGlnbmVkPTEKYm9vdG1lbTo6ZnJlZV9hbGxfYm9vdG1lbV9jb3Jl IG5pZD0wIHJlbGVhc2VkPTFlYjFhCk1lbW9yeTogNTAyODg4ay81MjQyMjRrIGF2YWlsYWJsZSAo MzI5N2sga2VybmVsIGNvZGUsIDIwOTQ4ayByZXNlcnZlZCwgMTgxMmsgZGF0YSwgMTI1MmsgaW5p dCkKQ1BBOiBwYWdlIHBvb2wgaW5pdGlhbGl6ZWQgMSBvZiAxIHBhZ2VzIHByZWFsbG9jYXRlZApT TFVCOiBHZW5zbGFicz0xMywgSFdhbGlnbj02NCwgT3JkZXI9MC0zLCBNaW5PYmplY3RzPTAsIENQ VXM9MTYsIE5vZGVzPTEKQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBlZCksIHZhbHVlIGNh bGN1bGF0ZWQgdXNpbmcgdGltZXIgZnJlcXVlbmN5Li4gNDM5OS43NCBCb2dvTUlQUyAobHBqPTIx OTk4NzApClNlY3VyaXR5IEZyYW1ld29yayBpbml0aWFsaXplZApTRUxpbnV4OiAgSW5pdGlhbGl6 aW5nLgpTRUxpbnV4OiAgU3RhcnRpbmcgaW4gcGVybWlzc2l2ZSBtb2RlCkRlbnRyeSBjYWNoZSBo YXNoIHRhYmxlIGVudHJpZXM6IDY1NTM2IChvcmRlcjogNywgNTI0Mjg4IGJ5dGVzKQpJbm9kZS1j YWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDMyNzY4IChvcmRlcjogNiwgMjYyMTQ0IGJ5dGVzKQpN b3VudC1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDI1NgpJbml0aWFsaXppbmcgY2dyb3VwIHN1 YnN5cyBucwpJbml0aWFsaXppbmcgY2dyb3VwIHN1YnN5cyBjcHVhY2N0CkluaXRpYWxpemluZyBj Z3JvdXAgc3Vic3lzIGRldmljZXMKQ1BVOiBMMSBJIENhY2hlOiA2NEsgKDY0IGJ5dGVzL2xpbmUp LCBEIGNhY2hlIDY0SyAoNjQgYnl0ZXMvbGluZSkKQ1BVOiBMMiBDYWNoZTogNTEySyAoNjQgYnl0 ZXMvbGluZSkKQ1BVIDAvMCAtPiBOb2RlIDAKU01QIGFsdGVybmF0aXZlczogc3dpdGNoaW5nIHRv IFVQIGNvZGUKQUNQSTogQ29yZSByZXZpc2lvbiAyMDA4MDYwOQouLlRJTUVSOiB2ZWN0b3I9MHgz MCBhcGljMT0wIHBpbjE9MCBhcGljMj0tMSBwaW4yPS0xCkNQVTA6IFFFTVUgVmlydHVhbCBDUFUg dmVyc2lvbiAwLjkuMSBzdGVwcGluZyAwMwpVc2luZyBsb2NhbCBBUElDIHRpbWVyIGludGVycnVw dHMuCkFQSUMgdGltZXIgY2FsaWJyYXRpb24gcmVzdWx0IDU5Nzc3NzUxCkRldGVjdGVkIDU5Ljc3 NyBNSHogQVBJQyB0aW1lci4KQnJvdWdodCB1cCAxIENQVXMKVG90YWwgb2YgMSBwcm9jZXNzb3Jz IGFjdGl2YXRlZCAoNDM5OS43NCBCb2dvTUlQUykuCldBUk5JTkc6IFRoaXMgY29tYmluYXRpb24g b2YgQU1EcHJvY2Vzc29ycyBpcyBub3Qgc3VpdGFibGUgZm9yIFNNUC4KQ1BVMCBhdHRhY2hpbmcg TlVMTCBzY2hlZC1kb21haW4uCm5ldF9uYW1lc3BhY2U6IDE1NTIgYnl0ZXMKQm9vdGluZyBwYXJh dmlydHVhbGl6ZWQga2VybmVsIG9uIEtWTQpUaW1lOiAxNDoyMjoyOCAgRGF0ZTogMDMvMDgvMDkK TkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxNgpObyBkb2NrIGRldmljZXMgZm91bmQu CkFDUEk6IGJ1cyB0eXBlIHBjaSByZWdpc3RlcmVkClBDSTogVXNpbmcgY29uZmlndXJhdGlvbiB0 eXBlIDEgZm9yIGJhc2UgYWNjZXNzCkFDUEk6IEVDOiBMb29rIHVwIEVDIGluIERTRFQKQUNQSTog SW50ZXJwcmV0ZXIgZW5hYmxlZApBQ1BJOiAoc3VwcG9ydHMgUzAgUzUpCkFDUEk6IFVzaW5nIElP QVBJQyBmb3IgaW50ZXJydXB0IHJvdXRpbmcKQUNQSTogUENJIFJvb3QgQnJpZGdlIFtQQ0kwXSAo MDAwMDowMCkKUENJOiAwMDAwOjAwOjAxLjEgcmVnIDIwIGlvIHBvcnQ6IFtjMDAwLCBjMDBmXQpQ Q0k6IDAwMDA6MDA6MDEuMiByZWcgMjAgaW8gcG9ydDogW2MwMjAsIGMwM2ZdCnBjaSAwMDAwOjAw OjAxLjM6IHF1aXJrOiByZWdpb24gYjAwMC1iMDNmIGNsYWltZWQgYnkgUElJWDQgQUNQSQpwY2kg MDAwMDowMDowMS4zOiBxdWlyazogcmVnaW9uIGIxMDAtYjEwZiBjbGFpbWVkIGJ5IFBJSVg0IFNN QgpQQ0k6IDAwMDA6MDA6MDIuMCByZWcgMTAgMzJiaXQgbW1pbzogW2YwMDAwMDAwLCBmMWZmZmZm Zl0KUENJOiAwMDAwOjAwOjAyLjAgcmVnIDE0IDMyYml0IG1taW86IFtmMjAwMDAwMCwgZjIwMDBm ZmZdClBDSTogMDAwMDowMDowMy4wIHJlZyAxMCBpbyBwb3J0OiBbYzA0MCwgYzA1Zl0KUENJOiAw MDAwOjAwOjA0LjAgcmVnIDEwIGlvIHBvcnQ6IFtjMDgwLCBjMGJmXQpBQ1BJOiBQQ0kgSW50ZXJy dXB0IFJvdXRpbmcgVGFibGUgW1xfU0JfLlBDSTAuX1BSVF0KQUNQSTogUENJIEludGVycnVwdCBM aW5rIFtMTktBXSAoSVJRcyA1ICoxMCAxMSkKQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktC XSAoSVJRcyA1ICoxMCAxMSkKQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktDXSAoSVJRcyA1 IDEwICoxMSkKQUNQSTogUENJIEludGVycnVwdCBMaW5rIFtMTktEXSAoSVJRcyA1IDEwICoxMSkK TGludXggUGx1ZyBhbmQgUGxheSBTdXBwb3J0IHYwLjk3IChjKSBBZGFtIEJlbGF5CnBucDogUG5Q IEFDUEkgaW5pdApBQ1BJOiBidXMgdHlwZSBwbnAgcmVnaXN0ZXJlZApwbnA6IFBuUCBBQ1BJOiBm b3VuZCA1IGRldmljZXMKQUNQSTogQUNQSSBidXMgdHlwZSBwbnAgdW5yZWdpc3RlcmVkClNDU0kg c3Vic3lzdGVtIGluaXRpYWxpemVkCmxpYmF0YSB2ZXJzaW9uIDMuMDAgbG9hZGVkLgp1c2Jjb3Jl OiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIHVzYmZzCnVzYmNvcmU6IHJlZ2lzdGVy ZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgaHViCnVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGRldmlj ZSBkcml2ZXIgdXNiClBDSTogVXNpbmcgQUNQSSBmb3IgSVJRIHJvdXRpbmcKTmV0TGFiZWw6IElu aXRpYWxpemluZwpOZXRMYWJlbDogIGRvbWFpbiBoYXNoIHNpemUgPSAxMjgKTmV0TGFiZWw6ICBw cm90b2NvbHMgPSBVTkxBQkVMRUQgQ0lQU092NApOZXRMYWJlbDogIHVubGFiZWxlZCB0cmFmZmlj IGFsbG93ZWQgYnkgZGVmYXVsdApQQ0ktR0FSVDogTm8gQU1EIG5vcnRoYnJpZGdlIGZvdW5kLgp0 cmFjZXI6IDEyODYgcGFnZXMgYWxsb2NhdGVkIGZvciA2NTUzNiBlbnRyaWVzIG9mIDgwIGJ5dGVz CiAgIGFjdHVhbCBlbnRyaWVzIDY1NTg2CmJ1czogMDAgaW5kZXggMCBpbyBwb3J0OiBbMCwgZmZm Zl0KU3dpdGNoZWQgdG8gaGlnaCByZXNvbHV0aW9uIG1vZGUgb24gQ1BVIDAKYnVzOiAwMCBpbmRl eCAxIG1taW86IFswLCBmZmZmZmZmZmZmZmZmZmZmXQpORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wg ZmFtaWx5IDIKSVAgcm91dGUgY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiA0MDk2IChvcmRlcjog MywgMzI3NjggYnl0ZXMpClRDUCBlc3RhYmxpc2hlZCBoYXNoIHRhYmxlIGVudHJpZXM6IDE2Mzg0 IChvcmRlcjogNiwgMjYyMTQ0IGJ5dGVzKQpUQ1AgYmluZCBoYXNoIHRhYmxlIGVudHJpZXM6IDE2 Mzg0IChvcmRlcjogNiwgMjYyMTQ0IGJ5dGVzKQpUQ1A6IEhhc2ggdGFibGVzIGNvbmZpZ3VyZWQg KGVzdGFibGlzaGVkIDE2Mzg0IGJpbmQgMTYzODQpClRDUCByZW5vIHJlZ2lzdGVyZWQKTkVUOiBS ZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxCmNoZWNraW5nIGlmIGltYWdlIGlzIGluaXRyYW1m cy4uLiBpdCBpcwpGcmVlaW5nIGluaXRyZCBtZW1vcnk6IDMxNzdrIGZyZWVkCmF1ZGl0OiBpbml0 aWFsaXppbmcgbmV0bGluayBzb2NrZXQgKGRpc2FibGVkKQp0eXBlPTIwMDAgYXVkaXQoMTIzNjUy MjE0NS44Mzc6MSk6IGluaXRpYWxpemVkCkh1Z2VUTEIgcmVnaXN0ZXJlZCAyIE1CIHBhZ2Ugc2l6 ZSwgcHJlLWFsbG9jYXRlZCAwIHBhZ2VzClZGUzogRGlzayBxdW90YXMgZHF1b3RfNi41LjEKRHF1 b3QtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiA1MTIgKG9yZGVyIDAsIDQwOTYgYnl0ZXMpCm1z Z21uaSBoYXMgYmVlbiBzZXQgdG8gOTg4ClNFTGludXg6ICBSZWdpc3RlcmluZyBuZXRmaWx0ZXIg aG9va3MKQmxvY2sgbGF5ZXIgU0NTSSBnZW5lcmljIChic2cpIGRyaXZlciB2ZXJzaW9uIDAuNCBs b2FkZWQgKG1ham9yIDI1MikKaW8gc2NoZWR1bGVyIG5vb3AgcmVnaXN0ZXJlZAppbyBzY2hlZHVs ZXIgYW50aWNpcGF0b3J5IHJlZ2lzdGVyZWQKaW8gc2NoZWR1bGVyIGRlYWRsaW5lIHJlZ2lzdGVy ZWQKaW8gc2NoZWR1bGVyIGNmcSByZWdpc3RlcmVkIChkZWZhdWx0KQpwY2kgMDAwMDowMDowMC4w OiBMaW1pdGluZyBkaXJlY3QgUENJL1BDSSB0cmFuc2ZlcnMKcGNpIDAwMDA6MDA6MDEuMDogQWN0 aXZhdGluZyBJU0EgRE1BIGhhbmcgd29ya2Fyb3VuZHMKcGNpIDAwMDA6MDA6MDIuMDogQm9vdCB2 aWRlbyBkZXZpY2UKcGNpX2hvdHBsdWc6IFBDSSBIb3QgUGx1ZyBQQ0kgQ29yZSB2ZXJzaW9uOiAw LjUKYWNwaXBocDogQUNQSSBIb3QgUGx1ZyBQQ0kgQ29udHJvbGxlciBEcml2ZXIgdmVyc2lvbjog MC41CmFjcGlwaHBfZ2x1ZTogY2FuJ3QgZ2V0IGJ1cyBudW1iZXIsIGFzc3VtaW5nIDAKZGVjb2Rl X2hwcDogQ291bGQgbm90IGdldCBob3RwbHVnIHBhcmFtZXRlcnMuIFVzZSBkZWZhdWx0cwphY3Bp cGhwOiBTbG90IFsxXSByZWdpc3RlcmVkCmFjcGlwaHA6IFNsb3QgWzJdIHJlZ2lzdGVyZWQKYWNw aXBocDogU2xvdCBbM10gcmVnaXN0ZXJlZAphY3BpcGhwOiBTbG90IFs0XSByZWdpc3RlcmVkCmFj cGlwaHA6IFNsb3QgWzVdIHJlZ2lzdGVyZWQKYWNwaXBocDogU2xvdCBbNl0gcmVnaXN0ZXJlZAph Y3BpcGhwOiBTbG90IFs3XSByZWdpc3RlcmVkCmFjcGlwaHA6IFNsb3QgWzhdIHJlZ2lzdGVyZWQK YWNwaXBocDogU2xvdCBbOV0gcmVnaXN0ZXJlZAphY3BpcGhwOiBTbG90IFsxMF0gcmVnaXN0ZXJl ZAphY3BpcGhwOiBTbG90IFsxMV0gcmVnaXN0ZXJlZAphY3BpcGhwOiBTbG90IFsxMl0gcmVnaXN0 ZXJlZAphY3BpcGhwOiBTbG90IFsxM10gcmVnaXN0ZXJlZAphY3BpcGhwOiBTbG90IFsxNF0gcmVn aXN0ZXJlZAphY3BpcGhwOiBTbG90IFsxNV0gcmVnaXN0ZXJlZAphY3BpcGhwOiBTbG90IFsxNl0g cmVnaXN0ZXJlZAphY3BpcGhwOiBTbG90IFsxN10gcmVnaXN0ZXJlZAphY3BpcGhwOiBTbG90IFsx OF0gcmVnaXN0ZXJlZAphY3BpcGhwOiBTbG90IFsxOV0gcmVnaXN0ZXJlZAphY3BpcGhwOiBTbG90 IFsyMF0gcmVnaXN0ZXJlZAphY3BpcGhwOiBTbG90IFsyMV0gcmVnaXN0ZXJlZAphY3BpcGhwOiBT bG90IFsyMl0gcmVnaXN0ZXJlZAphY3BpcGhwOiBTbG90IFsyM10gcmVnaXN0ZXJlZAphY3BpcGhw OiBTbG90IFsyNF0gcmVnaXN0ZXJlZAphY3BpcGhwOiBTbG90IFsyNV0gcmVnaXN0ZXJlZAphY3Bp cGhwOiBTbG90IFsyNl0gcmVnaXN0ZXJlZAphY3BpcGhwOiBTbG90IFsyN10gcmVnaXN0ZXJlZAph Y3BpcGhwOiBTbG90IFsyOF0gcmVnaXN0ZXJlZAphY3BpcGhwOiBTbG90IFsyOV0gcmVnaXN0ZXJl ZAphY3BpcGhwOiBTbG90IFszMF0gcmVnaXN0ZXJlZAphY3BpcGhwOiBTbG90IFszMV0gcmVnaXN0 ZXJlZAppbnB1dDogUG93ZXIgQnV0dG9uIChGRikgYXMgL2RldmljZXMvTE5YU1lTVE06MDAvTE5Y UFdSQk46MDAvaW5wdXQvaW5wdXQwCkFDUEk6IFBvd2VyIEJ1dHRvbiAoRkYpIFtQV1JGXQpwcm9j ZXNzb3IgQUNQSTAwMDc6MDA6IHJlZ2lzdGVyZWQgYXMgY29vbGluZ19kZXZpY2UwCk5vbi12b2xh dGlsZSBtZW1vcnkgZHJpdmVyIHYxLjIKTGludXggYWdwZ2FydCBpbnRlcmZhY2UgdjAuMTAzClNl cmlhbDogODI1MC8xNjU1MCBkcml2ZXI0IHBvcnRzLCBJUlEgc2hhcmluZyBlbmFibGVkCmJyZDog bW9kdWxlIGxvYWRlZApsb29wOiBtb2R1bGUgbG9hZGVkCmlucHV0OiBNYWNpbnRvc2ggbW91c2Ug YnV0dG9uIGVtdWxhdGlvbiBhcyAvZGV2aWNlcy92aXJ0dWFsL2lucHV0L2lucHV0MQpEcml2ZXIg J3NkJyBuZWVkcyB1cGRhdGluZyAtIHBsZWFzZSB1c2UgYnVzX3R5cGUgbWV0aG9kcwpEcml2ZXIg J3NyJyBuZWVkcyB1cGRhdGluZyAtIHBsZWFzZSB1c2UgYnVzX3R5cGUgbWV0aG9kcwphdGFfcGlp eCAwMDAwOjAwOjAxLjE6IHZlcnNpb24gMi4xMgpzY3NpMCA6IGF0YV9waWl4CnNjc2kxIDogYXRh X3BpaXgKYXRhMTogUEFUQSBtYXggTVdETUEyIGNtZCAweDFmMCBjdGwgMHgzZjYgYm1kbWEgMHhj MDAwIGlycSAxNAphdGEyOiBQQVRBIG1heCBNV0RNQTIgY21kIDB4MTcwIGN0bCAweDM3NiBibWRt YSAweGMwMDggaXJxIDE1CmF0YTIuMDA6IEFUQVBJOiBRRU1VIERWRC1ST00sIDAuOS4xLCBtYXgg VURNQS8xMDAKYXRhMi4wMDogY29uZmlndXJlZCBmb3IgTVdETUEyCmlzYSBib3VuY2UgcG9vbCBz aXplOiAxNiBwYWdlcwpzY3NpIDE6MDowOjA6IENELVJPTSAgICAgICAgICAgIFFFTVUgICAgIFFF TVUgRFZELVJPTSAgICAgMC45LiBQUTogMCBBTlNJOiA1CnNyMDogc2NzaTMtbW1jIGRyaXZlOiA0 eC80eCB4YS9mb3JtMiB0cmF5ClVuaWZvcm0gQ0QtUk9NIGRyaXZlciBSZXZpc2lvbjogMy4yMApz ciAxOjA6MDowOiBBdHRhY2hlZCBzY3NpIENELVJPTSBzcjAKc3IgMTowOjA6MDogQXR0YWNoZWQg c2NzaSBnZW5lcmljIHNnMCB0eXBlIDUKb2hjaV9oY2Q6IDIwMDYgQXVndXN0IDA0IFVTQiAxLjEg J09wZW4nIEhvc3QgQ29udHJvbGxlciAoT0hDSSkgRHJpdmVyClVTQiBVbml2ZXJzYWwgSG9zdCBD b250cm9sbGVyIEludGVyZmFjZSBkcml2ZXIgdjMuMApBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsg W0xOS0RdIGVuYWJsZWQgYXQgSVJRIDExCnVoY2lfaGNkIDAwMDA6MDA6MDEuMjogUENJIElOVCBE IC0+IExpbmtbTE5LRF0gLT4gR1NJIDExIChsZXZlbCwgaGlnaCkgLT4gSVJRIDExCnVoY2lfaGNk IDAwMDA6MDA6MDEuMjogVUhDSSBIb3N0IENvbnRyb2xsZXIKdWhjaV9oY2QgMDAwMDowMDowMS4y OiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMgbnVtYmVyIDEKdWhjaV9oY2Qg MDAwMDowMDowMS4yOiBpcnEgMTEsIGlvIGJhc2UgMHgwMDAwYzAyMAp1c2IgdXNiMTogY29uZmln dXJhdGlvbiAjMSBjaG9zZW4gZnJvbSAxIGNob2ljZQpodWIgMS0wOjEuMDogVVNCIGh1YiBmb3Vu ZApodWIgMS0wOjEuMDogMiBwb3J0cyBkZXRlY3RlZAp1c2IgdXNiMTogTmV3IFVTQiBkZXZpY2Ug Zm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAxCnVzYiB1c2IxOiBOZXcgVVNCIGRl dmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQp1c2IgdXNiMTog UHJvZHVjdDogVUhDSSBIb3N0IENvbnRyb2xsZXIKdXNiIHVzYjE6IE1hbnVmYWN0dXJlcjogTGlu dXggMi42LjI3LjE5IHVoY2lfaGNkCnVzYiB1c2IxOiBTZXJpYWxOdW1iZXI6IDAwMDA6MDA6MDEu MgpQTlA6IFBTLzIgQ29udHJvbGxlciBbUE5QMDMwMzpLQkQsUE5QMGYxMzpNT1VdIGF0IDB4NjAs MHg2NCBpcnEgMSwxMgpzZXJpbzogaTgwNDIgS0JEIHBvcnQgYXQgMHg2MCwweDY0IGlycSAxCnNl cmlvOiBpODA0MiBBVVggcG9ydCBhdCAweDYwLDB4NjQgaXJxIDEyCm1pY2U6IFBTLzIgbW91c2Ug ZGV2aWNlIGNvbW1vbiBmb3IgYWxsIG1pY2UKcnRjX2Ntb3MgMDA6MDE6IHJ0YyBjb3JlOiByZWdp c3RlcmVkIHJ0Y19jbW9zIGFzIHJ0YzAKcnRjMDogYWxhcm1zIHVwIHRvIG9uZSBkYXkKZGV2aWNl LW1hcHBlcjogdWV2ZW50OiB2ZXJzaW9uIDEuMC4zCmRldmljZS1tYXBwZXI6IGlvY3RsOiA0LjE0 LjAtaW9jdGwgKDIwMDgtMDQtMjMpIGluaXRpYWxpc2VkOiBkbS1kZXZlbEByZWRoYXQuY29tCmlu cHV0OiBBVCBUcmFuc2xhdGVkIFNldCAyIGtleWJvYXJkIGFzIC9kZXZpY2VzL3BsYXRmb3JtL2k4 MDQyL3NlcmlvMC9pbnB1dC9pbnB1dDIKY3B1aWRsZTogdXNpbmcgZ292ZXJub3IgbGFkZGVyCmNw dWlkbGU6IHVzaW5nIGdvdmVybm9yIG1lbnUKdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJm YWNlIGRyaXZlciBoaWRkZXYKdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZl ciB1c2JoaWQKdXNiaGlkOiB2Mi42OlVTQiBISUQgY29yZSBkcml2ZXIKbmZfY29ubnRyYWNrIHZl cnNpb24gMC41LjAgKDQwOTYgYnVja2V0cywgMTYzODQgbWF4KQpDT05GSUdfTkZfQ1RfQUNDVCBp cyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgc29vbi4gUGxhc2UgdXNlCm5mX2Nvbm50 cmFjay5hY2N0PTEga2VybmVsIHBhcmFtYXRlciwgYWNjdD0xIG5mX2Nvbm50cmFjayBtb2R1bGUg b3B0aW9uIG9yCnN5c2N0bCBuZXQubmV0ZmlsdGVyLm5mX2Nvbm50cmFja19hY2N0PTEgdG8gZW5h YmxlIGl0LgppcF90YWJsZXM6IChDKSAyMDAwLTIwMDYgTmV0ZmlsdGVyIENvcmUgVGVhbQpUQ1Ag Y3ViaWMgcmVnaXN0ZXJlZApJbml0aWFsaXppbmcgWEZSTSBuZXRsaW5rIHNvY2tldApORVQ6IFJl Z2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDE3CnJlZ2lzdGVyZWQgdGFza3N0YXRzIHZlcnNpb24g MQogIE1hZ2ljIG51bWJlcjogMTo4ODc6MzgzCnVzYiB1c2IxOiBoYXNoIG1hdGNoZXMKRnJlZWlu ZyB1bnVzZWQga2VybmVsIG1lbW9yeTogMTI1MmsgZnJlZWQKV3JpdGUgcHJvdGVjdGluZyB0aGUg a2VybmVsIHJlYWQtb25seSBkYXRhOiA0NzMyawppbnB1dDogSW1FeFBTLzIgR2VuZXJpYyBFeHBs b3JlciBNb3VzZSBhcyAvZGV2aWNlcy9wbGF0Zm9ybS9pODA0Mi9zZXJpbzEvaW5wdXQvaW5wdXQz CkFDUEk6IFBDSSBJbnRlcnJ1cHQgTGluayBbTE5LQ10gZW5hYmxlZCBhdCBJUlEgMTAKdmlydGlv LXBjaSAwMDAwOjAwOjAzLjA6IFBDSSBJTlQgQSAtPiBMaW5rW0xOS0NdIC0+IEdTSSAxMCAobGV2 ZWwsIGhpZ2gpIC0+IElSUSAxMAp2aXJ0aW8tcGNpIDAwMDA6MDA6MDQuMDogUENJIElOVCBBIC0+ IExpbmtbTE5LRF0gLT4gR1NJIDExIChsZXZlbCwgaGlnaCkgLT4gSVJRIDExCiB2ZGE6IHZkYTEg dmRhMgpram91cm5hbGQgc3RhcnRpbmcuICBDb21taXQgaW50ZXJ2YWwgNSBzZWNvbmRzCkVYVDMt ZnM6IG1vdW50ZWQgZmlsZXN5c3RlbSB3aXRoIG9yZGVyZWQgZGF0YSBtb2RlLgp0eXBlPTE0MDQg YXVkaXQoMTIzNjUyMjE0Ny40NTQ6Mik6IGVuZm9yY2luZz0xIG9sZF9lbmZvcmNpbmc9MCBhdWlk PTQyOTQ5NjcyOTUgc2VzPTQyOTQ5NjcyOTUKQ2xvY2tzb3VyY2UgdHNjIHVuc3RhYmxlIChkZWx0 YSA9IC02MzA4MDUwNyBucykKU0VMaW51eDogODE5MiBhdnRhYiBoYXNoIHNsb3RzLCAxNzg1MTYg cnVsZXMuClNFTGludXg6IDgxOTIgYXZ0YWIgaGFzaCBzbG90cywgMTc4NTE2IHJ1bGVzLgpTRUxp bnV4OiAgOCB1c2VycywgMTIgcm9sZXMsIDI0MzUgdHlwZXMsIDExOSBib29scywgMSBzZW5zLCAx MDI0IGNhdHMKU0VMaW51eDogIDczIGNsYXNzZXMsIDE3ODUxNiBydWxlcwpTRUxpbnV4OiAgQ29t cGxldGluZyBpbml0aWFsaXphdGlvbi4KU0VMaW51eDogIFNldHRpbmcgdXAgZXhpc3Rpbmcgc3Vw ZXJibG9ja3MuClNFTGludXg6IGluaXRpYWxpemVkIChkZXYgZG0tMCwgdHlwZSBleHQzKSwgdXNl cyB4YXR0cgpTRUxpbnV4OiBpbml0aWFsaXplZCAoZGV2IHRtcGZzLCB0eXBlIHRtcGZzKSwgdXNl cyB0cmFuc2l0aW9uIFNJRHMKU0VMaW51eDogaW5pdGlhbGl6ZWQgKGRldiB1c2JmcywgdHlwZSB1 c2JmcyksIHVzZXMgZ2VuZnNfY29udGV4dHMKU0VMaW51eDogaW5pdGlhbGl6ZWQgKGRldiBzZWxp bnV4ZnMsIHR5cGUgc2VsaW51eGZzKSwgdXNlcyBnZW5mc19jb250ZXh0cwpTRUxpbnV4OiBpbml0 aWFsaXplZCAoZGV2IG1xdWV1ZSwgdHlwZSBtcXVldWUpLCB1c2VzIHRyYW5zaXRpb24gU0lEcwpT RUxpbnV4OiBpbml0aWFsaXplZCAoZGV2IGh1Z2V0bGJmcywgdHlwZSBodWdldGxiZnMpLCB1c2Vz IGdlbmZzX2NvbnRleHRzClNFTGludXg6IGluaXRpYWxpemVkIChkZXYgZGV2cHRzLCB0eXBlIGRl dnB0cyksIHVzZXMgdHJhbnNpdGlvbiBTSURzClNFTGludXg6IGluaXRpYWxpemVkIChkZXYgaW5v dGlmeWZzLCB0eXBlIGlub3RpZnlmcyksIHVzZXMgZ2VuZnNfY29udGV4dHMKU0VMaW51eDogaW5p dGlhbGl6ZWQgKGRldiB0bXBmcywgdHlwZSB0bXBmcyksIHVzZXMgdHJhbnNpdGlvbiBTSURzClNF TGludXg6IGluaXRpYWxpemVkIChkZXYgYW5vbl9pbm9kZWZzLCB0eXBlIGFub25faW5vZGVmcyks IHVzZXMgZ2VuZnNfY29udGV4dHMKU0VMaW51eDogaW5pdGlhbGl6ZWQgKGRldiBwaXBlZnMsIHR5 cGUgcGlwZWZzKSwgdXNlcyB0YXNrIFNJRHMKU0VMaW51eDogaW5pdGlhbGl6ZWQgKGRldiBkZWJ1 Z2ZzLCB0eXBlIGRlYnVnZnMpLCB1c2VzIGdlbmZzX2NvbnRleHRzClNFTGludXg6IGluaXRpYWxp emVkIChkZXYgc29ja2ZzLCB0eXBlIHNvY2tmcyksIHVzZXMgdGFzayBTSURzClNFTGludXg6IGlu aXRpYWxpemVkIChkZXYgcHJvYywgdHlwZSBwcm9jKSwgdXNlcyBnZW5mc19jb250ZXh0cwpTRUxp bnV4OiBpbml0aWFsaXplZCAoZGV2IGJkZXYsIHR5cGUgYmRldiksIHVzZXMgZ2VuZnNfY29udGV4 dHMKU0VMaW51eDogaW5pdGlhbGl6ZWQgKGRldiByb290ZnMsIHR5cGUgcm9vdGZzKSwgdXNlcyBn ZW5mc19jb250ZXh0cwpTRUxpbnV4OiBpbml0aWFsaXplZCAoZGV2IHN5c2ZzLCB0eXBlIHN5c2Zz KSwgdXNlcyBnZW5mc19jb250ZXh0cwp0eXBlPTE0MDMgYXVkaXQoMTIzNjUyMjE0Ny43OTc6Myk6 IHBvbGljeSBsb2FkZWQgYXVpZD00Mjk0OTY3Mjk1IHNlcz00Mjk0OTY3Mjk1CnBpaXg0X3NtYnVz IDAwMDA6MDA6MDEuMzogU01CdXMgSG9zdCBDb250cm9sbGVyIGF0IDB4YjEwMCwgcmV2aXNpb24g MAppbnB1dDogUEMgU3BlYWtlciBhcyAvZGV2aWNlcy9wbGF0Zm9ybS9wY3Nwa3IvaW5wdXQvaW5w dXQ0CkZEQyAwIGlzIGEgUzgyMDc4QgpkZXZpY2UtbWFwcGVyOiBtdWx0aXBhdGg6IHZlcnNpb24g MS4wLjUgbG9hZGVkCkVYVDMgRlMgb24gZG0tMCwgaW50ZXJuYWwgam91cm5hbApram91cm5hbGQg c3RhcnRpbmcuICBDb21taXQgaW50ZXJ2YWwgNSBzZWNvbmRzCkVYVDMgRlMgb24gdmRhMSwgaW50 ZXJuYWwgam91cm5hbApFWFQzLWZzOiBtb3VudGVkIGZpbGVzeXN0ZW0gd2l0aCBvcmRlcmVkIGRh dGEgbW9kZS4KU0VMaW51eDogaW5pdGlhbGl6ZWQgKGRldiB2ZGExLCB0eXBlIGV4dDMpLCB1c2Vz IHhhdHRyClNFTGludXg6IGluaXRpYWxpemVkIChkZXYgdG1wZnMsIHR5cGUgdG1wZnMpLCB1c2Vz IHRyYW5zaXRpb24gU0lEcwpBZGRpbmcgNTI0MjgwayBzd2FwIG9uIC9kZXYvbWFwcGVyL1ZvbEdy b3VwMDAtTG9nVm9sMDEuICBQcmlvcml0eTotMSBleHRlbnRzOjEgYWNyb3NzOjUyNDI4MGsKU0VM aW51eDogaW5pdGlhbGl6ZWQgKGRldiBiaW5mbXRfbWlzYywgdHlwZSBiaW5mbXRfbWlzYyksIHVz ZXMgZ2VuZnNfY29udGV4dHMKTkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxMApsbzog RGlzYWJsZWQgUHJpdmFjeSBFeHRlbnNpb25zCmlwNl90YWJsZXM6IChDKSAyMDAwLTIwMDYgTmV0 ZmlsdGVyIENvcmUgVGVhbQpSUEM6IFJlZ2lzdGVyZWQgdWRwIHRyYW5zcG9ydCBtb2R1bGUuClJQ QzogUmVnaXN0ZXJlZCB0Y3AgdHJhbnNwb3J0IG1vZHVsZS4KU0VMaW51eDogaW5pdGlhbGl6ZWQg KGRldiBycGNfcGlwZWZzLCB0eXBlIHJwY19waXBlZnMpLCB1c2VzIGdlbmZzX2NvbnRleHRzCndh cm5pbmc6IGBkYnVzLWRhZW1vbicgdXNlcyBkZXByZWNhdGVkIHYyIGNhcGFiaWxpdGllcyBpbiBh IHdheSB0aGF0IG1heSBiZSBpbnNlY3VyZS4KZXRoMDogbm8gSVB2NiByb3V0ZXJzIHByZXNlbnQK --MP_/.j8I8Ps1XCBVeaGBuHT_5/.-- --=_freyr.drzeus.cx-22420-1236522416-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkmz1a8ACgkQ7b8eESbyJLi4CwCeJ8DL/Y9+5ARu6k7q50pZjClI 3iIAn2EQRxQuE7OzFIq5QkYh03C7VrZ5 =DXht -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-22420-1236522416-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail191.messagelabs.com (mail191.messagelabs.com [216.82.242.19]) by kanga.kvack.org (Postfix) with ESMTP id CF3786B00A7 for ; Sun, 8 Mar 2009 11:54:12 -0400 (EDT) Date: Sun, 8 Mar 2009 16:54:03 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090308165403.4d85da50@mjolnir.ossman.eu> In-Reply-To: <20090308123825.GA25172@localhost> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090307141316.85cb1f62.akpm@linux-foundation.org> <20090308110006.0208932d@mjolnir.ossman.eu> <20090308113619.0b610f31@mjolnir.ossman.eu> <20090308123825.GA25172@localhost> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-24440-1236527646-0001-2" Sender: owner-linux-mm@kvack.org To: Wu Fengguang , Andrew Morton Cc: bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-24440-1236527646-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable I've gone through the dumps now, and still no meaningful difference. All the big bootmem allocations are present in both kernels, and the remaining memory in initcall is also the same for both (and doesn't really decrease by any meaningful amount). I also tried booting with init=3D/bin/sh, and the lost memory is present even at that point. More ideas? Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-24440-1236527646-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkmz6h4ACgkQ7b8eESbyJLjEEwCg+8ZvV0psHc9gEdo9T9NqOSh2 hewAoL65KUiHLfx5fataTyGPeAKyYsMu =W+1d -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-24440-1236527646-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail172.messagelabs.com (mail172.messagelabs.com [216.82.254.3]) by kanga.kvack.org (Postfix) with ESMTP id 44F846B00A9 for ; Sun, 8 Mar 2009 15:11:55 -0400 (EDT) Date: Sun, 8 Mar 2009 12:11:43 -0700 From: Andrew Morton Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-Id: <20090308121143.0f8da203.akpm@linux-foundation.org> In-Reply-To: <20090308165403.4d85da50@mjolnir.ossman.eu> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090307141316.85cb1f62.akpm@linux-foundation.org> <20090308110006.0208932d@mjolnir.ossman.eu> <20090308113619.0b610f31@mjolnir.ossman.eu> <20090308123825.GA25172@localhost> <20090308165403.4d85da50@mjolnir.ossman.eu> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Wu Fengguang , bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org List-ID: On Sun, 8 Mar 2009 16:54:03 +0100 Pierre Ossman wrote: > I've gone through the dumps now, and still no meaningful difference. > All the big bootmem allocations are present in both kernels, and the > remaining memory in initcall is also the same for both (and doesn't > really decrease by any meaningful amount). > > I also tried booting with init=/bin/sh, and the lost memory is present > even at that point. > So we know that the memory gets consumed after end-of-initcalls and before exec-of-init? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail138.messagelabs.com (mail138.messagelabs.com [216.82.249.35]) by kanga.kvack.org (Postfix) with ESMTP id 748436B00AA for ; Sun, 8 Mar 2009 15:24:07 -0400 (EDT) Date: Sun, 8 Mar 2009 20:23:58 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090308202358.66cec396@mjolnir.ossman.eu> In-Reply-To: <20090308121143.0f8da203.akpm@linux-foundation.org> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090307141316.85cb1f62.akpm@linux-foundation.org> <20090308110006.0208932d@mjolnir.ossman.eu> <20090308113619.0b610f31@mjolnir.ossman.eu> <20090308123825.GA25172@localhost> <20090308165403.4d85da50@mjolnir.ossman.eu> <20090308121143.0f8da203.akpm@linux-foundation.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-26929-1236540240-0001-2" Sender: owner-linux-mm@kvack.org To: Andrew Morton Cc: Wu Fengguang , bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-26929-1236540240-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Sun, 8 Mar 2009 12:11:43 -0700 Andrew Morton wrote: > On Sun, 8 Mar 2009 16:54:03 +0100 Pierre Ossman wrote: >=20 > > I've gone through the dumps now, and still no meaningful difference. > > All the big bootmem allocations are present in both kernels, and the > > remaining memory in initcall is also the same for both (and doesn't > > really decrease by any meaningful amount). > >=20 > > I also tried booting with init=3D/bin/sh, and the lost memory is present > > even at that point. > >=20 >=20 > So we know that the memory gets consumed after end-of-initcalls and > before exec-of-init? =20 This is a fedora machine, so initrd might be the provoking party here. I haven't yet tried the adventure of booting without initrd. It's after initcalls at least. Right now I'm compiling 2.6.27-rc1 in an effort to bisect this, but if you have something more worthwhile then shoot. :) Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-26929-1236540240-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm0G1AACgkQ7b8eESbyJLgHTgCgngSJAfcXxY7wvU47hbPBEzQ5 co8An2ygQBarKk2aaehUb0I8iwHcrWZW =UlW7 -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-26929-1236540240-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail202.messagelabs.com (mail202.messagelabs.com [216.82.254.227]) by kanga.kvack.org (Postfix) with SMTP id 826226B00B1 for ; Sun, 8 Mar 2009 21:38:21 -0400 (EDT) Date: Mon, 9 Mar 2009 09:37:42 +0800 From: Wu Fengguang Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090309013742.GA11416@localhost> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090307220055.6f79beb8@mjolnir.ossman.eu> Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Andrew Morton , bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org List-ID: Hi Pierre, On Sat, Mar 07, 2009 at 10:00:55PM +0100, Pierre Ossman wrote: > On Sat, 7 Mar 2009 12:24:52 -0800 > Andrew Morton wrote: > > > > > hm, not a lot to go on there. > > > > We have quite a lot of instrumentation for memory consumption - were > > you able to work out where it went by comparing /proc/meminfo, > > /proc/slabinfo, `echo m > /proc/sysrq-trigger', etc? > > > > The redhat entry contains all the info, and I've compared meminfo and > slabinfo without finding anything even close to the chunks of lost > memory. The "free" pages in sysrq mem-info report should be equal to "MemFree" in /proc/meminfo. So I'd expect meminfo numbers to be different in .26/.27 as well. Maybe the memory is taken by some user space program, so it would be helpful to know the numbers in /proc/meminfo, /proc/vmstat and /proc/zoneinfo. > I've attached the sysrq memory stats from 2.6.26 and 2.6.27. The only > difference though is in the reported free pages The "free" entries in mem-info: 2.6.26 2.6.27 -------------------------------------- free: 103730 62265 (pages) Node 0 DMA free: 10292kB 9448kB Node 0 DMA32 free:404628kB 239612kB So there are 160MB less free pages in .27. Are you sure that initrd is freed after booting? Thanks, Fengguang > I'm not very familiar with all the instrumentation, so pointers are > very welcome. > > > Is the memory missing on initial boot up, or does it take some time for > > the problem to become evident? > > > > Initial boot as far as I can tell. > > > Rgds > -- > -- Pierre Ossman > > WARNING: This correspondence is being monitored by the > Swedish government. Make sure your server uses encryption > for SMTP traffic and consider using PGP for end-to-end > encryption. > Linux builder.drzeus.cx 2.6.26.6-79.fc9.x86_64 #1 SMP Fri Oct 17 14:20:33 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux > SysRq : Show Memory > Mem-info: > Node 0 DMA per-cpu: > CPU 0: hi: 0, btch: 1 usd: 0 > Node 0 DMA32 per-cpu: > CPU 0: hi: 186, btch: 31 usd: 115 > Active:8937 inactive:6285 dirty:48 writeback:0 unstable:0 > free:103730 slab:5612 mapped:2148 pagetables:817 bounce:0 > Node 0 DMA free:10292kB min:48kB low:60kB high:72kB active:0kB inactive:0kB present:8908kB pages_scanned:0 all_unreclaimable? no > lowmem_reserve[]: 0 489 489 489 > Node 0 DMA32 free:404628kB min:2804kB low:3504kB high:4204kB active:35748kB inactive:25140kB present:500896kB pages_scanned:0 all_unreclaimable? no > lowmem_reserve[]: 0 0 0 0 > Node 0 DMA: 3*4kB 5*8kB 4*16kB 4*32kB 3*64kB 3*128kB 3*256kB 3*512kB 3*1024kB 2*2048kB 0*4096kB = 10292kB > Node 0 DMA32: 3*4kB 5*8kB 2*16kB 2*32kB 2*64kB 1*128kB 3*256kB 2*512kB 3*1024kB 3*2048kB 96*4096kB = 404628kB > 9730 total pagecache pages > Swap cache: add 0, delete 0, find 0/0 > Free swap = 524280kB > Total swap = 524280kB > 131056 pages of RAM > 3772 reserved pages > 7750 pages shared > 0 pages swap cached > > Linux builder.drzeus.cx 2.6.27.4-19.fc9.x86_64 #1 SMP Thu Oct 30 19:30:01 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux > SysRq : Show Memory > Mem-Info: > Node 0 DMA per-cpu: > CPU 0: hi: 0, btch: 1 usd: 0 > Node 0 DMA32 per-cpu: > CPU 0: hi: 186, btch: 31 usd: 86 > Active:8879 inactive:6265 dirty:8 writeback:0 unstable:0 > free:62265 slab:5543 mapped:2154 pagetables:821 bounce:0 > Node 0 DMA free:9448kB min:40kB low:48kB high:60kB active:0kB inactive:0kB present:7804kB pages_scanned:0 all_unreclaimable? no > lowmem_reserve[]: 0 489 489 489 > Node 0 DMA32 free:239612kB min:2808kB low:3508kB high:4212kB active:35516kB inactive:25060kB present:500896kB pages_scanned:0 all_unreclaimable? no > lowmem_reserve[]: 0 0 0 0 > Node 0 DMA: 4*4kB 3*8kB 2*16kB 5*32kB 4*64kB 2*128kB 2*256kB 2*512kB 3*1024kB 2*2048kB 0*4096kB = 9448kB > Node 0 DMA32: 1*4kB 7*8kB 6*16kB 1*32kB 1*64kB 4*128kB 3*256kB 3*512kB 1*1024kB 3*2048kB 56*4096kB = 239612kB > 9692 total pagecache pages > 0 pages in swap cache > Swap cache stats: add 0, delete 0, find 0/0 > Free swap = 524280kB > Total swap = 524280kB > 131056 pages RAM > 4046 pages reserved > 7770 pages shared > 61196 pages non-shared > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail144.messagelabs.com (mail144.messagelabs.com [216.82.254.51]) by kanga.kvack.org (Postfix) with ESMTP id 31B8F6B00C5 for ; Mon, 9 Mar 2009 03:40:57 -0400 (EDT) Date: Mon, 9 Mar 2009 08:40:45 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090309084045.2c652fbf@mjolnir.ossman.eu> In-Reply-To: <20090309020701.GA381@localhost> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090309013742.GA11416@localhost> <20090309020701.GA381@localhost> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-2410-1236584450-0001-2" Sender: owner-linux-mm@kvack.org To: Wu Fengguang Cc: Andrew Morton , bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-2410-1236584450-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Mon, 9 Mar 2009 10:07:01 +0800 Wu Fengguang wrote: > On Mon, Mar 09, 2009 at 09:37:42AM +0800, Wu Fengguang wrote: > >=20 > > The "free" pages in sysrq mem-info report should be equal to "MemFree" > > in /proc/meminfo. So I'd expect meminfo numbers to be different in > > .26/.27 as well. > >=20 > > Maybe the memory is taken by some user space program, so it would be > > helpful to know the numbers in /proc/meminfo, /proc/vmstat and > > /proc/zoneinfo. >=20 > And maybe piggyback /proc/slabinfo in case it is a kernel bug :-) >=20 Big dump of relevant /proc files: [root@builder ~]# free total used free shared buffers cached Mem: 509108 236988 272120 0 228 14760 -/+ buffers/cache: 222000 287108 Swap: 524280 228 524052 [root@builder ~]# cat /proc/meminfo=20 MemTotal: 509108 kB MemFree: 272172 kB Buffers: 240 kB Cached: 14788 kB SwapCached: 64 kB Active: 32544 kB Inactive: 5900 kB SwapTotal: 524280 kB SwapFree: 524052 kB Dirty: 5980 kB Writeback: 0 kB AnonPages: 23404 kB Mapped: 8648 kB Slab: 23148 kB SReclaimable: 5420 kB SUnreclaim: 17728 kB PageTables: 3324 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 778832 kB Committed_AS: 85196 kB VmallocTotal: 34359738367 kB VmallocUsed: 1740 kB VmallocChunk: 34359736619 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 2032 DirectMap2M: 18446744073709551613 DirectMap1G: 0 [root@builder ~]# cat /proc/vmstat=20 nr_free_pages 68035 nr_inactive 1479 nr_active 8137 nr_anon_pages 5851 nr_mapped 2162 nr_file_pages 3777 nr_dirty 132 nr_writeback 0 nr_slab_reclaimable 1354 nr_slab_unreclaimable 4440 nr_page_table_pages 831 nr_unstable 0 nr_bounce 0 nr_vmscan_write 324 nr_writeback_temp 0 numa_hit 18985527 numa_miss 0 numa_foreign 0 numa_interleave 44220 numa_local 18985527 numa_other 0 pgpgin 379025 pgpgout 820238 pswpin 16 pswpout 57 pgalloc_dma 295454 pgalloc_dma32 18721928 pgalloc_normal 0 pgalloc_movable 0 pgfree 19085491 pgactivate 60797 pgdeactivate 47199 pgfault 25624481 pgmajfault 2490 pgrefill_dma 8144 pgrefill_dma32 103508 pgrefill_normal 0 pgrefill_movable 0 pgsteal_dma 4503 pgsteal_dma32 179395 pgsteal_normal 0 pgsteal_movable 0 pgscan_kswapd_dma 4999 pgscan_kswapd_dma32 180546 pgscan_kswapd_normal 0 pgscan_kswapd_movable 0 pgscan_direct_dma 0 pgscan_direct_dma32 384 pgscan_direct_normal 0 pgscan_direct_movable 0 pginodesteal 0 slabs_scanned 153856 kswapd_steal 183628 kswapd_inodesteal 35303 pageoutrun 3794 allocstall 3 pgrotated 72 htlb_buddy_alloc_success 0 htlb_buddy_alloc_fail 0 [root@builder ~]# cat /proc/zoneinfo=20 Node 0, zone DMA pages free 2524 min 12 low 15 high 18 scanned 0 (a: 27 i: 24) spanned 4096 present 2180 nr_free_pages 2524 nr_inactive 0 nr_active 8 nr_anon_pages 8 nr_mapped 0 nr_file_pages 0 nr_dirty 0 nr_writeback 0 nr_slab_reclaimable 16 nr_slab_unreclaimable 7 nr_page_table_pages 15 nr_unstable 0 nr_bounce 0 nr_vmscan_write 292 nr_writeback_temp 0 numa_hit 295370 numa_miss 0 numa_foreign 0 numa_interleave 0 numa_local 295370 numa_other 0 protection: (0, 489, 489, 489) pagesets cpu: 0 count: 0 high: 0 batch: 1 vm stats threshold: 2 all_unreclaimable: 0 prev_priority: 12 start_pfn: 0 Node 0, zone DMA32 pages free 65515 min 700 low 875 high 1050 scanned 0 (a: 0 i: 0) spanned 126960 present 125224 nr_free_pages 65515 nr_inactive 1482 nr_active 8137 nr_anon_pages 5843 nr_mapped 2162 nr_file_pages 3789 nr_dirty 128 nr_writeback 0 nr_slab_reclaimable 1331 nr_slab_unreclaimable 4429 nr_page_table_pages 816 nr_unstable 0 nr_bounce 0 nr_vmscan_write 32 nr_writeback_temp 0 numa_hit 18690260 numa_miss 0 numa_foreign 0 numa_interleave 44220 numa_local 18690260 numa_other 0 protection: (0, 0, 0, 0) pagesets cpu: 0 count: 69 high: 186 batch: 31 vm stats threshold: 6 all_unreclaimable: 0 prev_priority: 12 start_pfn: 4096 [root@builder ~]# cat /proc/slabinfo=20 slabinfo - version: 2.1 # name : tunables : slabdata rpc_inode_cache 39 39 832 39 8 : tunables 0 0 0 = : slabdata 1 1 0 nf_conntrack_expect 0 0 240 34 2 : tunables 0 0 = 0 : slabdata 0 0 0 UDPv6 34 34 960 34 8 : tunables 0 0 0 = : slabdata 1 1 0 TCPv6 18 18 1792 18 8 : tunables 0 0 0 = : slabdata 1 1 0 kmalloc_dma-512 32 32 512 32 4 : tunables 0 0 0 = : slabdata 1 1 0 dm_snap_pending_exception 144 144 112 36 1 : tunables 0 = 0 0 : slabdata 4 4 0 kcopyd_job 0 0 360 45 4 : tunables 0 0 0 = : slabdata 0 0 0 dm_uevent 0 0 2608 12 8 : tunables 0 0 0 = : slabdata 0 0 0 ext3_inode_cache 387 1554 768 42 8 : tunables 0 0 0 = : slabdata 37 37 0 ext3_xattr 46 46 88 46 1 : tunables 0 0 0 = : slabdata 1 1 0 journal_handle 170 170 24 170 1 : tunables 0 0 0 = : slabdata 1 1 0 journal_head 42 42 96 42 1 : tunables 0 0 0 = : slabdata 1 1 0 revoke_table 256 256 16 256 1 : tunables 0 0 0 = : slabdata 1 1 0 revoke_record 128 128 32 128 1 : tunables 0 0 0 = : slabdata 1 1 0 cfq_io_context 44 48 168 24 1 : tunables 0 0 0 = : slabdata 2 2 0 mqueue_inode_cache 36 36 896 36 8 : tunables 0 0 0= : slabdata 1 1 0 isofs_inode_cache 0 0 616 26 4 : tunables 0 0 0 = : slabdata 0 0 0 hugetlbfs_inode_cache 28 28 584 28 4 : tunables 0 0 = 0 : slabdata 1 1 0 dquot 0 0 256 32 2 : tunables 0 0 0 = : slabdata 0 0 0 inotify_event_cache 612 612 40 102 1 : tunables 0 0 = 0 : slabdata 6 6 0 fasync_cache 313798 313820 24 170 1 : tunables 0 0 0 = : slabdata 1846 1846 0 shmem_inode_cache 735 738 792 41 8 : tunables 0 0 0 = : slabdata 18 18 0 pid_namespace 0 0 2104 15 8 : tunables 0 0 0 = : slabdata 0 0 0 nsproxy 0 0 56 73 1 : tunables 0 0 0 = : slabdata 0 0 0 UNIX 92 92 704 46 8 : tunables 0 0 0 = : slabdata 2 2 0 xfrm_dst_cache 0 0 384 42 4 : tunables 0 0 0 = : slabdata 0 0 0 ip_dst_cache 51 75 320 25 2 : tunables 0 0 0 = : slabdata 3 3 0 TCP 19 19 1664 19 8 : tunables 0 0 0 = : slabdata 1 1 0 blkdev_integrity 0 0 120 34 1 : tunables 0 0 0 = : slabdata 0 0 0 blkdev_queue 34 34 1824 17 8 : tunables 0 0 0 = : slabdata 2 2 0 blkdev_requests 38 52 304 26 2 : tunables 0 0 0 = : slabdata 2 2 0 sock_inode_cache 138 138 704 46 8 : tunables 0 0 0 = : slabdata 3 3 0 file_lock_cache 42 42 192 42 2 : tunables 0 0 0 = : slabdata 1 1 0 taskstats 26 26 312 26 2 : tunables 0 0 0 = : slabdata 1 1 0 proc_inode_cache 90 162 600 27 4 : tunables 0 0 0 = : slabdata 6 6 0 sigqueue 25 25 160 25 1 : tunables 0 0 0 = : slabdata 1 1 0 radix_tree_node 623 2581 560 29 4 : tunables 0 0 0 = : slabdata 89 89 0 bdev_cache 42 42 768 42 8 : tunables 0 0 0 = : slabdata 1 1 0 sysfs_dir_cache 7084 7089 80 51 1 : tunables 0 0 0 = : slabdata 139 139 0 inode_cache 1505 1708 568 28 4 : tunables 0 0 0 = : slabdata 61 61 0 dentry 2555 4485 208 39 2 : tunables 0 0 0 = : slabdata 115 115 0 avc_node 1735 2128 72 56 1 : tunables 0 0 0 = : slabdata 38 38 0 buffer_head 1583 5472 112 36 1 : tunables 0 0 0 = : slabdata 152 152 0 mm_struct 75 78 832 39 8 : tunables 0 0 0 = : slabdata 2 2 0 vm_area_struct 2223 2438 176 46 2 : tunables 0 0 0 = : slabdata 53 53 0 files_cache 78 84 768 42 8 : tunables 0 0 0 = : slabdata 2 2 0 signal_cache 105 108 896 36 8 : tunables 0 0 0 = : slabdata 3 3 0 sighand_cache 85 90 2112 15 8 : tunables 0 0 0 = : slabdata 6 6 0 task_struct 141 145 5840 5 8 : tunables 0 0 0 = : slabdata 29 29 0 anon_vma 741 768 32 128 1 : tunables 0 0 0 = : slabdata 6 6 0 shared_policy_node 85 85 48 85 1 : tunables 0 0 0= : slabdata 1 1 0 numa_policy 56 60 136 30 1 : tunables 0 0 0 = : slabdata 2 2 0 idr_layer_cache 269 270 536 30 4 : tunables 0 0 0 = : slabdata 9 9 0 kmalloc-4096 247 248 4096 8 8 : tunables 0 0 0 = : slabdata 31 31 0 kmalloc-2048 345 352 2048 16 8 : tunables 0 0 0 = : slabdata 22 22 0 kmalloc-1024 396 416 1024 32 8 : tunables 0 0 0 = : slabdata 13 13 0 kmalloc-512 297 320 512 32 4 : tunables 0 0 0 = : slabdata 10 10 0 kmalloc-256 985 992 256 32 2 : tunables 0 0 0 = : slabdata 31 31 0 kmalloc-128 1899 2016 128 32 1 : tunables 0 0 0 = : slabdata 63 63 0 kmalloc-64 6795 9600 64 64 1 : tunables 0 0 0 = : slabdata 150 150 0 kmalloc-32 20735 20736 32 128 1 : tunables 0 0 0 = : slabdata 162 162 0 kmalloc-16 138778 139264 16 256 1 : tunables 0 0 0 = : slabdata 544 544 0 kmalloc-8 8190 8192 8 512 1 : tunables 0 0 0 = : slabdata 16 16 0 kmalloc-192 972 1050 192 42 2 : tunables 0 0 0 = : slabdata 25 25 0 kmalloc-96 2815 2856 96 42 1 : tunables 0 0 0 = : slabdata 68 68 0 kmem_cache_node 0 0 64 64 1 : tunables 0 0 0 = : slabdata 0 0 0 --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-2410-1236584450-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm0yAAACgkQ7b8eESbyJLit4gCg4jYSl7BO99wmhFj1O5CigKcX NJ0Anj7Pfx0fnZn06SgaY94cFATTBjLg =9f7A -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-2410-1236584450-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail144.messagelabs.com (mail144.messagelabs.com [216.82.254.51]) by kanga.kvack.org (Postfix) with SMTP id 5B4246B003D for ; Mon, 9 Mar 2009 10:23:44 -0400 (EDT) Date: Mon, 9 Mar 2009 22:22:41 +0800 From: Wu Fengguang Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090309142241.GA4437@localhost> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090309013742.GA11416@localhost> <20090309020701.GA381@localhost> <20090309084045.2c652fbf@mjolnir.ossman.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090309084045.2c652fbf@mjolnir.ossman.eu> Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Andrew Morton , bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org List-ID: Hi Pierre, On Mon, Mar 09, 2009 at 08:40:45AM +0100, Pierre Ossman wrote: > On Mon, 9 Mar 2009 10:07:01 +0800 > Wu Fengguang wrote: > > > On Mon, Mar 09, 2009 at 09:37:42AM +0800, Wu Fengguang wrote: > > > > > > The "free" pages in sysrq mem-info report should be equal to "MemFree" > > > in /proc/meminfo. So I'd expect meminfo numbers to be different in > > > .26/.27 as well. > > > > > > Maybe the memory is taken by some user space program, so it would be > > > helpful to know the numbers in /proc/meminfo, /proc/vmstat and > > > /proc/zoneinfo. > > > > And maybe piggyback /proc/slabinfo in case it is a kernel bug :-) > > > > Big dump of relevant /proc files: Thanks for the data! Now it seems that some pages are totally missing from bootmem or slabs or page cache or any application consumptions... Will searching through /proc/kpageflags for reserved pages help identify the problem? Oh kpageflags_read() does not include support for PG_reserved: #define KPF_LOCKED 0 #define KPF_ERROR 1 #define KPF_REFERENCED 2 #define KPF_UPTODATE 3 #define KPF_DIRTY 4 #define KPF_LRU 5 #define KPF_ACTIVE 6 #define KPF_SLAB 7 #define KPF_WRITEBACK 8 #define KPF_RECLAIM 9 #define KPF_BUDDY 10 Thanks, Fengguang > [root@builder ~]# free > total used free shared buffers cached > Mem: 509108 236988 272120 0 228 14760 > -/+ buffers/cache: 222000 287108 > Swap: 524280 228 524052 > > [root@builder ~]# cat /proc/meminfo > MemTotal: 509108 kB > MemFree: 272172 kB > Buffers: 240 kB > Cached: 14788 kB > SwapCached: 64 kB > Active: 32544 kB > Inactive: 5900 kB > SwapTotal: 524280 kB > SwapFree: 524052 kB > Dirty: 5980 kB > Writeback: 0 kB > AnonPages: 23404 kB > Mapped: 8648 kB > Slab: 23148 kB > SReclaimable: 5420 kB > SUnreclaim: 17728 kB > PageTables: 3324 kB > NFS_Unstable: 0 kB > Bounce: 0 kB > WritebackTmp: 0 kB > CommitLimit: 778832 kB > Committed_AS: 85196 kB > VmallocTotal: 34359738367 kB > VmallocUsed: 1740 kB > VmallocChunk: 34359736619 kB > HugePages_Total: 0 > HugePages_Free: 0 > HugePages_Rsvd: 0 > HugePages_Surp: 0 > Hugepagesize: 2048 kB > DirectMap4k: 2032 > DirectMap2M: 18446744073709551613 This field looks weird. > DirectMap1G: 0 > > [root@builder ~]# cat /proc/vmstat > nr_free_pages 68035 > nr_inactive 1479 > nr_active 8137 > nr_anon_pages 5851 > nr_mapped 2162 > nr_file_pages 3777 > nr_dirty 132 > nr_writeback 0 > nr_slab_reclaimable 1354 > nr_slab_unreclaimable 4440 > nr_page_table_pages 831 > nr_unstable 0 > nr_bounce 0 > nr_vmscan_write 324 > nr_writeback_temp 0 > numa_hit 18985527 > numa_miss 0 > numa_foreign 0 > numa_interleave 44220 > numa_local 18985527 > numa_other 0 > pgpgin 379025 > pgpgout 820238 > pswpin 16 > pswpout 57 > pgalloc_dma 295454 > pgalloc_dma32 18721928 > pgalloc_normal 0 > pgalloc_movable 0 > pgfree 19085491 > pgactivate 60797 > pgdeactivate 47199 > pgfault 25624481 > pgmajfault 2490 > pgrefill_dma 8144 > pgrefill_dma32 103508 > pgrefill_normal 0 > pgrefill_movable 0 > pgsteal_dma 4503 > pgsteal_dma32 179395 > pgsteal_normal 0 > pgsteal_movable 0 > pgscan_kswapd_dma 4999 > pgscan_kswapd_dma32 180546 > pgscan_kswapd_normal 0 > pgscan_kswapd_movable 0 > pgscan_direct_dma 0 > pgscan_direct_dma32 384 > pgscan_direct_normal 0 > pgscan_direct_movable 0 > pginodesteal 0 > slabs_scanned 153856 > kswapd_steal 183628 > kswapd_inodesteal 35303 > pageoutrun 3794 > allocstall 3 > pgrotated 72 > htlb_buddy_alloc_success 0 > htlb_buddy_alloc_fail 0 > > [root@builder ~]# cat /proc/zoneinfo > Node 0, zone DMA > pages free 2524 > min 12 > low 15 > high 18 > scanned 0 (a: 27 i: 24) > spanned 4096 > present 2180 > nr_free_pages 2524 > nr_inactive 0 > nr_active 8 > nr_anon_pages 8 > nr_mapped 0 > nr_file_pages 0 > nr_dirty 0 > nr_writeback 0 > nr_slab_reclaimable 16 > nr_slab_unreclaimable 7 > nr_page_table_pages 15 > nr_unstable 0 > nr_bounce 0 > nr_vmscan_write 292 > nr_writeback_temp 0 > numa_hit 295370 > numa_miss 0 > numa_foreign 0 > numa_interleave 0 > numa_local 295370 > numa_other 0 > protection: (0, 489, 489, 489) > pagesets > cpu: 0 > count: 0 > high: 0 > batch: 1 > vm stats threshold: 2 > all_unreclaimable: 0 > prev_priority: 12 > start_pfn: 0 > Node 0, zone DMA32 > pages free 65515 > min 700 > low 875 > high 1050 > scanned 0 (a: 0 i: 0) > spanned 126960 > present 125224 > nr_free_pages 65515 > nr_inactive 1482 > nr_active 8137 > nr_anon_pages 5843 > nr_mapped 2162 > nr_file_pages 3789 > nr_dirty 128 > nr_writeback 0 > nr_slab_reclaimable 1331 > nr_slab_unreclaimable 4429 > nr_page_table_pages 816 > nr_unstable 0 > nr_bounce 0 > nr_vmscan_write 32 > nr_writeback_temp 0 > numa_hit 18690260 > numa_miss 0 > numa_foreign 0 > numa_interleave 44220 > numa_local 18690260 > numa_other 0 > protection: (0, 0, 0, 0) > pagesets > cpu: 0 > count: 69 > high: 186 > batch: 31 > vm stats threshold: 6 > all_unreclaimable: 0 > prev_priority: 12 > start_pfn: 4096 > > [root@builder ~]# cat /proc/slabinfo > slabinfo - version: 2.1 > # name : tunables : slabdata > rpc_inode_cache 39 39 832 39 8 : tunables 0 0 0 : slabdata 1 1 0 > nf_conntrack_expect 0 0 240 34 2 : tunables 0 0 0 : slabdata 0 0 0 > UDPv6 34 34 960 34 8 : tunables 0 0 0 : slabdata 1 1 0 > TCPv6 18 18 1792 18 8 : tunables 0 0 0 : slabdata 1 1 0 > kmalloc_dma-512 32 32 512 32 4 : tunables 0 0 0 : slabdata 1 1 0 > dm_snap_pending_exception 144 144 112 36 1 : tunables 0 0 0 : slabdata 4 4 0 > kcopyd_job 0 0 360 45 4 : tunables 0 0 0 : slabdata 0 0 0 > dm_uevent 0 0 2608 12 8 : tunables 0 0 0 : slabdata 0 0 0 > ext3_inode_cache 387 1554 768 42 8 : tunables 0 0 0 : slabdata 37 37 0 > ext3_xattr 46 46 88 46 1 : tunables 0 0 0 : slabdata 1 1 0 > journal_handle 170 170 24 170 1 : tunables 0 0 0 : slabdata 1 1 0 > journal_head 42 42 96 42 1 : tunables 0 0 0 : slabdata 1 1 0 > revoke_table 256 256 16 256 1 : tunables 0 0 0 : slabdata 1 1 0 > revoke_record 128 128 32 128 1 : tunables 0 0 0 : slabdata 1 1 0 > cfq_io_context 44 48 168 24 1 : tunables 0 0 0 : slabdata 2 2 0 > mqueue_inode_cache 36 36 896 36 8 : tunables 0 0 0 : slabdata 1 1 0 > isofs_inode_cache 0 0 616 26 4 : tunables 0 0 0 : slabdata 0 0 0 > hugetlbfs_inode_cache 28 28 584 28 4 : tunables 0 0 0 : slabdata 1 1 0 > dquot 0 0 256 32 2 : tunables 0 0 0 : slabdata 0 0 0 > inotify_event_cache 612 612 40 102 1 : tunables 0 0 0 : slabdata 6 6 0 > fasync_cache 313798 313820 24 170 1 : tunables 0 0 0 : slabdata 1846 1846 0 > shmem_inode_cache 735 738 792 41 8 : tunables 0 0 0 : slabdata 18 18 0 > pid_namespace 0 0 2104 15 8 : tunables 0 0 0 : slabdata 0 0 0 > nsproxy 0 0 56 73 1 : tunables 0 0 0 : slabdata 0 0 0 > UNIX 92 92 704 46 8 : tunables 0 0 0 : slabdata 2 2 0 > xfrm_dst_cache 0 0 384 42 4 : tunables 0 0 0 : slabdata 0 0 0 > ip_dst_cache 51 75 320 25 2 : tunables 0 0 0 : slabdata 3 3 0 > TCP 19 19 1664 19 8 : tunables 0 0 0 : slabdata 1 1 0 > blkdev_integrity 0 0 120 34 1 : tunables 0 0 0 : slabdata 0 0 0 > blkdev_queue 34 34 1824 17 8 : tunables 0 0 0 : slabdata 2 2 0 > blkdev_requests 38 52 304 26 2 : tunables 0 0 0 : slabdata 2 2 0 > sock_inode_cache 138 138 704 46 8 : tunables 0 0 0 : slabdata 3 3 0 > file_lock_cache 42 42 192 42 2 : tunables 0 0 0 : slabdata 1 1 0 > taskstats 26 26 312 26 2 : tunables 0 0 0 : slabdata 1 1 0 > proc_inode_cache 90 162 600 27 4 : tunables 0 0 0 : slabdata 6 6 0 > sigqueue 25 25 160 25 1 : tunables 0 0 0 : slabdata 1 1 0 > radix_tree_node 623 2581 560 29 4 : tunables 0 0 0 : slabdata 89 89 0 > bdev_cache 42 42 768 42 8 : tunables 0 0 0 : slabdata 1 1 0 > sysfs_dir_cache 7084 7089 80 51 1 : tunables 0 0 0 : slabdata 139 139 0 > inode_cache 1505 1708 568 28 4 : tunables 0 0 0 : slabdata 61 61 0 > dentry 2555 4485 208 39 2 : tunables 0 0 0 : slabdata 115 115 0 > avc_node 1735 2128 72 56 1 : tunables 0 0 0 : slabdata 38 38 0 > buffer_head 1583 5472 112 36 1 : tunables 0 0 0 : slabdata 152 152 0 > mm_struct 75 78 832 39 8 : tunables 0 0 0 : slabdata 2 2 0 > vm_area_struct 2223 2438 176 46 2 : tunables 0 0 0 : slabdata 53 53 0 > files_cache 78 84 768 42 8 : tunables 0 0 0 : slabdata 2 2 0 > signal_cache 105 108 896 36 8 : tunables 0 0 0 : slabdata 3 3 0 > sighand_cache 85 90 2112 15 8 : tunables 0 0 0 : slabdata 6 6 0 > task_struct 141 145 5840 5 8 : tunables 0 0 0 : slabdata 29 29 0 > anon_vma 741 768 32 128 1 : tunables 0 0 0 : slabdata 6 6 0 > shared_policy_node 85 85 48 85 1 : tunables 0 0 0 : slabdata 1 1 0 > numa_policy 56 60 136 30 1 : tunables 0 0 0 : slabdata 2 2 0 > idr_layer_cache 269 270 536 30 4 : tunables 0 0 0 : slabdata 9 9 0 > kmalloc-4096 247 248 4096 8 8 : tunables 0 0 0 : slabdata 31 31 0 > kmalloc-2048 345 352 2048 16 8 : tunables 0 0 0 : slabdata 22 22 0 > kmalloc-1024 396 416 1024 32 8 : tunables 0 0 0 : slabdata 13 13 0 > kmalloc-512 297 320 512 32 4 : tunables 0 0 0 : slabdata 10 10 0 > kmalloc-256 985 992 256 32 2 : tunables 0 0 0 : slabdata 31 31 0 > kmalloc-128 1899 2016 128 32 1 : tunables 0 0 0 : slabdata 63 63 0 > kmalloc-64 6795 9600 64 64 1 : tunables 0 0 0 : slabdata 150 150 0 > kmalloc-32 20735 20736 32 128 1 : tunables 0 0 0 : slabdata 162 162 0 > kmalloc-16 138778 139264 16 256 1 : tunables 0 0 0 : slabdata 544 544 0 > kmalloc-8 8190 8192 8 512 1 : tunables 0 0 0 : slabdata 16 16 0 > kmalloc-192 972 1050 192 42 2 : tunables 0 0 0 : slabdata 25 25 0 > kmalloc-96 2815 2856 96 42 1 : tunables 0 0 0 : slabdata 68 68 0 > kmem_cache_node 0 0 64 64 1 : tunables 0 0 0 : slabdata 0 0 0 > > -- > -- Pierre Ossman > > WARNING: This correspondence is being monitored by the > Swedish government. Make sure your server uses encryption > for SMTP traffic and consider using PGP for end-to-end > encryption. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail143.messagelabs.com (mail143.messagelabs.com [216.82.254.35]) by kanga.kvack.org (Postfix) with ESMTP id EB0F46B003D for ; Mon, 9 Mar 2009 11:02:33 -0400 (EDT) Date: Mon, 9 Mar 2009 16:02:16 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090309160216.2048e898@mjolnir.ossman.eu> In-Reply-To: <20090309142241.GA4437@localhost> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090309013742.GA11416@localhost> <20090309020701.GA381@localhost> <20090309084045.2c652fbf@mjolnir.ossman.eu> <20090309142241.GA4437@localhost> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-6517-1236610941-0001-2" Sender: owner-linux-mm@kvack.org To: Wu Fengguang Cc: Andrew Morton , bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-6517-1236610941-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Mon, 9 Mar 2009 22:22:41 +0800 Wu Fengguang wrote: >=20 > Thanks for the data! Now it seems that some pages are totally missing > from bootmem or slabs or page cache or any application consumptions... >=20 So it isn't just me that's blind. That's something I guess. :) > Will searching through /proc/kpageflags for reserved pages help > identify the problem? >=20 > Oh kpageflags_read() does not include support for PG_reserved: >=20 I can probably hack together something that outputs the served pages. Anything else that is of interest? > > DirectMap2M: 18446744073709551613 >=20 > This field looks weird. >=20 Sorry, red herring. I'm in the middle of a bisect and that particular old bug happened to surface. It was not present with the releases 2.6.27. Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-6517-1236610941-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm1L3sACgkQ7b8eESbyJLgIUgCdGF4WlRDERf8mB11qWN18Ds6U EJQAn0BWyF0xIXJ4+hdLi45GbDYX56w6 =I2iu -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-6517-1236610941-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail202.messagelabs.com (mail202.messagelabs.com [216.82.254.227]) by kanga.kvack.org (Postfix) with SMTP id A77BA6B003D for ; Mon, 9 Mar 2009 22:42:25 -0400 (EDT) Date: Tue, 10 Mar 2009 10:41:35 +0800 From: Wu Fengguang Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090310024135.GA6832@localhost> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090309013742.GA11416@localhost> <20090309020701.GA381@localhost> <20090309084045.2c652fbf@mjolnir.ossman.eu> <20090309142241.GA4437@localhost> <20090309160216.2048e898@mjolnir.ossman.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090309160216.2048e898@mjolnir.ossman.eu> Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" List-ID: On Mon, Mar 09, 2009 at 05:02:16PM +0200, Pierre Ossman wrote: > On Mon, 9 Mar 2009 22:22:41 +0800 > Wu Fengguang wrote: > > > > > Thanks for the data! Now it seems that some pages are totally missing > > from bootmem or slabs or page cache or any application consumptions... > > > > So it isn't just me that's blind. That's something I guess. :) > > > Will searching through /proc/kpageflags for reserved pages help > > identify the problem? > > > > Oh kpageflags_read() does not include support for PG_reserved: > > > > I can probably hack together something that outputs the served pages. > Anything else that is of interest? Sure, Matt Mackall provides some example scripts for interpreting the kpageflags file: http://selenic.com/repo/pagemap/ > > > DirectMap2M: 18446744073709551613 > > > > This field looks weird. > > > > Sorry, red herring. I'm in the middle of a bisect and that particular > old bug happened to surface. It was not present with the releases > 2.6.27. That's OK. pgfault 25624481 pgmajfault 2490 pgrefill_dma 8144 pgrefill_dma32 103508 pgsteal_dma 4503 pgsteal_dma32 179395 pgscan_kswapd_dma 4999 pgscan_kswapd_dma32 180546 pgscan_direct_dma32 384 slabs_scanned 153856 The above vmstat numbers are a bit large, maybe it's not a fresh booted system? Thanks, Fengguang -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail138.messagelabs.com (mail138.messagelabs.com [216.82.249.35]) by kanga.kvack.org (Postfix) with ESMTP id ACE6D6B003D for ; Tue, 10 Mar 2009 02:56:19 -0400 (EDT) Date: Tue, 10 Mar 2009 07:56:05 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090310075605.52b22046@mjolnir.ossman.eu> In-Reply-To: <20090310024135.GA6832@localhost> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090309013742.GA11416@localhost> <20090309020701.GA381@localhost> <20090309084045.2c652fbf@mjolnir.ossman.eu> <20090309142241.GA4437@localhost> <20090309160216.2048e898@mjolnir.ossman.eu> <20090310024135.GA6832@localhost> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-14861-1236668170-0001-2" Sender: owner-linux-mm@kvack.org To: Wu Fengguang Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-14861-1236668170-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Tue, 10 Mar 2009 10:41:35 +0800 Wu Fengguang wrote: >=20 > pgfault 25624481 > pgmajfault 2490 > pgrefill_dma 8144 > pgrefill_dma32 103508 > pgsteal_dma 4503 > pgsteal_dma32 179395 > pgscan_kswapd_dma 4999 > pgscan_kswapd_dma32 180546 > pgscan_direct_dma32 384 > slabs_scanned 153856 >=20 > The above vmstat numbers are a bit large, maybe it's not a fresh booted s= ystem? >=20 Probably not. I just grabbed those stats as it was compiling the next kernel. It takes two hours, so I'm trying to do as many things in parallel as once. :/ Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-14861-1236668170-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm2DwkACgkQ7b8eESbyJLhKXACeK3wwBiXKpVKTlupM3ndGCPPv PDgAoMc7t7qqMS0/3a38Lu2c64l0O2T6 =CFE/ -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-14861-1236668170-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail137.messagelabs.com (mail137.messagelabs.com [216.82.249.19]) by kanga.kvack.org (Postfix) with SMTP id E8EC86B003D for ; Tue, 10 Mar 2009 04:19:53 -0400 (EDT) Date: Tue, 10 Mar 2009 16:19:17 +0800 From: Wu Fengguang Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090310081917.GA28968@localhost> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090309013742.GA11416@localhost> <20090309020701.GA381@localhost> <20090309084045.2c652fbf@mjolnir.ossman.eu> <20090309142241.GA4437@localhost> <20090309160216.2048e898@mjolnir.ossman.eu> <20090310024135.GA6832@localhost> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="UlVJffcvxoiEqYs2" Content-Disposition: inline In-Reply-To: <20090310024135.GA6832@localhost> Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" List-ID: --UlVJffcvxoiEqYs2 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Pierre, On Tue, Mar 10, 2009 at 10:41:35AM +0800, Wu Fengguang wrote: > On Mon, Mar 09, 2009 at 05:02:16PM +0200, Pierre Ossman wrote: > > On Mon, 9 Mar 2009 22:22:41 +0800 > > Wu Fengguang wrote: > > > > > > > > Thanks for the data! Now it seems that some pages are totally missing > > > from bootmem or slabs or page cache or any application consumptions... > > > > > > > So it isn't just me that's blind. That's something I guess. :) > > > > > Will searching through /proc/kpageflags for reserved pages help > > > identify the problem? > > > > > > Oh kpageflags_read() does not include support for PG_reserved: > > > > > > > I can probably hack together something that outputs the served pages. > > Anything else that is of interest? Here is the initial patch and tool for finding the missing pages. In the following example, the pages with no flags set is kind of too many (1816MB), but hopefully your missing pages will have PG_reserved or other flags set ;-) # ./page-types L:locked E:error R:referenced U:uptodate D:dirty L:lru A:active S:slab W:writeback x:reclaim B:buddy r:reserved c:swapcache b:swapbacked flags symbolic-flags page-count MB 0x0000 ______________ 464967 1816 0x0004 __R___________ 1 0 0x0008 ___U__________ 2 0 0x0014 __R_D_________ 5 0 0x0020 _____L________ 1 0 0x0028 ___U_L________ 5956 23 0x002c __RU_L________ 5415 21 0x0038 ___UDL________ 7 0 0x0068 ___U_LA_______ 520 2 0x006c __RU_LA_______ 2083 8 0x0080 _______S______ 10820 42 0x0228 ___U_L___x____ 104 0 0x022c __RU_L___x____ 52 0 0x0268 ___U_LA__x____ 22 0 0x026c __RU_LA__x____ 95 0 0x0400 __________B___ 477 1 0x0800 ___________r__ 18734 73 0x2008 ___U_________b 9 0 0x2068 ___U_LA______b 4644 18 0x206c __RU_LA______b 33 0 0x2078 ___UDLA______b 4 0 0x207c __RUDLA______b 17 0 total 513968 2007 Thanks, Fengguang --UlVJffcvxoiEqYs2 Content-Type: text/x-csrc; charset=us-ascii Content-Disposition: attachment; filename="page-types.c" #include #include #include #include #include #include #include /* copied from kpageflags_read() */ #define KPF_LOCKED 0 #define KPF_ERROR 1 #define KPF_REFERENCED 2 #define KPF_UPTODATE 3 #define KPF_DIRTY 4 #define KPF_LRU 5 #define KPF_ACTIVE 6 #define KPF_SLAB 7 #define KPF_WRITEBACK 8 #define KPF_RECLAIM 9 #define KPF_BUDDY 10 #define KPF_RESERVED 11 #define KPF_SWAPCACHE 12 #define KPF_SWAPBACKED 13 #define KPF_NUM 14 #define KPF_BYTES 8 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) static char *page_flag_names[] = { [KPF_LOCKED] = "L:locked", [KPF_ERROR] = "E:error", [KPF_REFERENCED] = "R:referenced", [KPF_UPTODATE] = "U:uptodate", [KPF_DIRTY] = "D:dirty", [KPF_LRU] = "L:lru", [KPF_ACTIVE] = "A:active", [KPF_SLAB] = "S:slab", [KPF_WRITEBACK] = "W:writeback", [KPF_RECLAIM] = "x:reclaim", [KPF_BUDDY] = "B:buddy", [KPF_RESERVED] = "r:reserved", [KPF_SWAPBACKED] = "b:swapbacked", [KPF_SWAPCACHE] = "c:swapcache", }; static unsigned long page_count[(1 << KPF_NUM)]; static unsigned long nr_pages; static uint64_t kpageflags[KPF_BYTES * (8<<20)]; char *page_flag_name(uint64_t flags, char *buf) { int i; for (i = 0; i < ARRAY_SIZE(page_flag_names); i++) buf[i] = (flags & (1 << i)) ? page_flag_names[i][0] : '_'; return buf; } static unsigned long pages2mb(unsigned long pages) { return (pages * getpagesize()) >> 20; } int main(int argc, char *argv[]) { static char kpageflags_name[] = "/proc/kpageflags"; static char buf[64]; unsigned long i; uint64_t flags; int fd; fd = open(kpageflags_name, O_RDONLY); if (fd < 0) { fprintf(stderr, "%s: cannot open `%s': %s\n", argv[0], kpageflags_name, strerror(errno)); exit(1); } nr_pages = read(fd, kpageflags, sizeof(kpageflags)); if (nr_pages <= 0) { fprintf(stderr, "%s: cannot read `%s': %s\n", argv[0], kpageflags_name, strerror(errno)); exit(2); } if (nr_pages % KPF_BYTES != 0) { fprintf(stderr, "%s: partial read: %lu bytes\n", argv[0], nr_pages); exit(3); } nr_pages = nr_pages / KPF_BYTES; for (i = 0; i < nr_pages; i++) { flags = kpageflags[i]; if (flags == 0x40000) flags = ARRAY_SIZE(page_count) - 1; if (flags >= ARRAY_SIZE(page_count)) { fprintf(stderr, "%s: flags overflow: 0x%lx > 0x%lx\n", argv[0], flags, ARRAY_SIZE(page_count)); exit(4); } page_count[flags]++; } for (i = 0; i < ARRAY_SIZE(page_flag_names); i++) { printf("%s ", page_flag_names[i]); } printf("\n\n flags\t symbolic-flags\tpage-count\t MB\n"); for (i = 0; i < ARRAY_SIZE(page_count); i++) { if (page_count[i]) printf("0x%04lx\t%20s\t%10lu\t%8lu\n", i, page_flag_name(i, buf), page_count[i], pages2mb(page_count[i])); } printf("\n total\t\t\t\t%10lu\t%8lu\n", nr_pages, pages2mb(nr_pages)); return 0; } --UlVJffcvxoiEqYs2 Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="kpageflags-improvements.patch" diff --git a/fs/proc/page.c b/fs/proc/page.c index 2d13451..6022f1e 100644 --- a/fs/proc/page.c +++ b/fs/proc/page.c @@ -79,8 +79,11 @@ static const struct file_operations proc_kpagecount_operations = { #define KPF_WRITEBACK 8 #define KPF_RECLAIM 9 #define KPF_BUDDY 10 +#define KPF_RESERVED 11 +#define KPF_SWAPCACHE 12 +#define KPF_SWAPBACKED 13 -#define kpf_copy_bit(flags, srcpos, dstpos) (((flags >> srcpos) & 1) << dstpos) +#define kpf_copy_bit(flags, dstpos, srcpos) (((flags >> srcpos) & 1) << dstpos) static ssize_t kpageflags_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) @@ -117,7 +120,10 @@ static ssize_t kpageflags_read(struct file *file, char __user *buf, kpf_copy_bit(kflags, KPF_SLAB, PG_slab) | kpf_copy_bit(kflags, KPF_WRITEBACK, PG_writeback) | kpf_copy_bit(kflags, KPF_RECLAIM, PG_reclaim) | - kpf_copy_bit(kflags, KPF_BUDDY, PG_buddy); + kpf_copy_bit(kflags, KPF_BUDDY, PG_buddy) | + kpf_copy_bit(kflags, KPF_SWAPCACHE, PG_swapcache) | + kpf_copy_bit(kflags, KPF_SWAPBACKED, PG_swapbacked) | + kpf_copy_bit(kflags, KPF_RESERVED, PG_reserved); if (put_user(uflags, out++)) { ret = -EFAULT; --UlVJffcvxoiEqYs2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail202.messagelabs.com (mail202.messagelabs.com [216.82.254.227]) by kanga.kvack.org (Postfix) with ESMTP id 0E2F26B003D for ; Tue, 10 Mar 2009 05:55:35 -0400 (EDT) Date: Tue, 10 Mar 2009 10:55:23 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090310105523.3dfd4873@mjolnir.ossman.eu> In-Reply-To: <20090310081917.GA28968@localhost> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090309013742.GA11416@localhost> <20090309020701.GA381@localhost> <20090309084045.2c652fbf@mjolnir.ossman.eu> <20090309142241.GA4437@localhost> <20090309160216.2048e898@mjolnir.ossman.eu> <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-16249-1236678927-0001-2" Sender: owner-linux-mm@kvack.org To: Wu Fengguang Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-16249-1236678927-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Tue, 10 Mar 2009 16:19:17 +0800 Wu Fengguang wrote: >=20 > Here is the initial patch and tool for finding the missing pages. >=20 > In the following example, the pages with no flags set is kind of too > many (1816MB), but hopefully your missing pages will have PG_reserved > or other flags set ;-) >=20 > # ./page-types > L:locked E:error R:referenced U:uptodate D:dirty L:lru A:active S:slab W:= writeback x:reclaim B:buddy r:reserved c:swapcache b:swapbacked > =20 Thanks. I'll have a look in a bit. Right now I'm very close to a complete bisect. It is just ftrace commits left though, so I'm somewhat sceptical that it is correct. ftrace isn't even turned on in the kernels I've been testing. The remaining commits are ec1bb60bb..6712e299. Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-16249-1236678927-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm2OQ0ACgkQ7b8eESbyJLivvgCg1U2UCz338nPNPh0yyHy92VS6 DUYAoKL7Vp+Y4w1661q6ITEJ8HPI0g9b =ywcd -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-16249-1236678927-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail202.messagelabs.com (mail202.messagelabs.com [216.82.254.227]) by kanga.kvack.org (Postfix) with SMTP id 9A91A6B003D for ; Tue, 10 Mar 2009 08:23:01 -0400 (EDT) Date: Tue, 10 Mar 2009 20:22:10 +0800 From: Wu Fengguang Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090310122210.GA8415@localhost> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090309013742.GA11416@localhost> <20090309020701.GA381@localhost> <20090309084045.2c652fbf@mjolnir.ossman.eu> <20090309142241.GA4437@localhost> <20090309160216.2048e898@mjolnir.ossman.eu> <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="82I3+IH0IqGh5yIs" Content-Disposition: inline In-Reply-To: <20090310105523.3dfd4873@mjolnir.ossman.eu> Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" List-ID: --82I3+IH0IqGh5yIs Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Mar 10, 2009 at 11:55:23AM +0200, Pierre Ossman wrote: > On Tue, 10 Mar 2009 16:19:17 +0800 > Wu Fengguang wrote: > > > > > Here is the initial patch and tool for finding the missing pages. > > > > In the following example, the pages with no flags set is kind of too > > many (1816MB), but hopefully your missing pages will have PG_reserved > > or other flags set ;-) > > > > # ./page-types > > L:locked E:error R:referenced U:uptodate D:dirty L:lru A:active S:slab W:writeback x:reclaim B:buddy r:reserved c:swapcache b:swapbacked > > > > Thanks. I'll have a look in a bit. Right now I'm very close to a > complete bisect. It is just ftrace commits left though, so I'm somewhat > sceptical that it is correct. ftrace isn't even turned on in the > kernels I've been testing. > > The remaining commits are ec1bb60bb..6712e299. And here's my progress, some more page flags are introduced: # ./page-types flags page-count MB symbolic-flags long-symbolic-flags 0x00000 3978 15 __________________ 0x00004 1 0 __R_______________ referenced 0x00014 5 0 __R_D_____________ referenced,dirty 0x00020 2 0 _____l____________ lru 0x00028 8835 34 ___U_l____________ uptodate,lru 0x0002c 9588 37 __RU_l____________ referenced,uptodate,lru 0x00068 1031 4 ___U_lA___________ uptodate,lru,active 0x0006c 3032 11 __RU_lA___________ referenced,uptodate,lru,active 0x00080 11001 42 _______S__________ slab 0x00228 140 0 ___U_l___x________ uptodate,lru,reclaim 0x0022c 79 0 __RU_l___x________ referenced,uptodate,lru,reclaim 0x00268 43 0 ___U_lA__x________ uptodate,lru,active,reclaim 0x0026c 110 0 __RU_lA__x________ referenced,uptodate,lru,active,reclaim 0x00400 1102 4 __________B_______ buddy 0x00800 18735 73 ___________r______ reserved 0x02008 13 0 ___U_________b____ uptodate,swapbacked 0x02068 9371 36 ___U_lA______b____ uptodate,lru,active,swapbacked 0x0206c 1339 5 __RU_lA______b____ referenced,uptodate,lru,active,swapbacked 0x02078 21 0 ___UDlA______b____ uptodate,dirty,lru,active,swapbacked 0x0207c 17 0 __RUDlA______b____ referenced,uptodate,dirty,lru,active,swapbacked 0x20000 445525 1740 _________________n noflags total 513968 2007 Thanks, Fengguang --82I3+IH0IqGh5yIs Content-Type: text/x-csrc; charset=us-ascii Content-Disposition: attachment; filename="page-types.c" #include #include #include #include #include #include #include /* copied from kpageflags_read() */ enum { KPF_LOCKED, /* 0 */ KPF_ERROR, /* 1 */ KPF_REFERENCED, /* 2 */ KPF_UPTODATE, /* 3 */ KPF_DIRTY, /* 4 */ KPF_LRU, /* 5 */ KPF_ACTIVE, /* 6 */ KPF_SLAB, /* 7 */ KPF_WRITEBACK, /* 8 */ KPF_RECLAIM, /* 9 */ KPF_BUDDY, /* 10 */ KPF_RESERVED, /* 11 */ KPF_SWAPCACHE, /* 12 */ KPF_SWAPBACKED, /* 13 */ KPF_PRIVATE, /* 14 */ KPF_PRIVATE2, /* 15 */ KPF_NOPAGE, /* 16 */ KPF_NOFLAGS, /* 17 */ KPF_NUM }; #define KPF_BYTES 8 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) static char *page_flag_names[] = { [KPF_LOCKED] = "L:locked", [KPF_ERROR] = "E:error", [KPF_REFERENCED] = "R:referenced", [KPF_UPTODATE] = "U:uptodate", [KPF_DIRTY] = "D:dirty", [KPF_LRU] = "l:lru", [KPF_ACTIVE] = "A:active", [KPF_SLAB] = "S:slab", [KPF_WRITEBACK] = "W:writeback", [KPF_RECLAIM] = "x:reclaim", [KPF_BUDDY] = "B:buddy", [KPF_RESERVED] = "r:reserved", [KPF_SWAPBACKED] = "b:swapbacked", [KPF_SWAPCACHE] = "c:swapcache", [KPF_PRIVATE] = "P:private", [KPF_PRIVATE2] = "p:private_2", [KPF_NOPAGE] = "N:nopage", [KPF_NOFLAGS] = "n:noflags", }; static unsigned long page_count[(1 << KPF_NUM)]; static unsigned long nr_pages; static uint64_t kpageflags[KPF_BYTES * (8<<20)]; char *page_flag_name(uint64_t flags) { int i; static char buf[64]; for (i = 0; i < ARRAY_SIZE(page_flag_names); i++) buf[i] = (flags & (1 << i)) ? page_flag_names[i][0] : '_'; return buf; } char *page_flag_longname(uint64_t flags) { int i, n; static char buf[1024]; for (i = 0, n = 0; i < ARRAY_SIZE(page_flag_names); i++) if (flags & (1<> 20; } int main(int argc, char *argv[]) { static char kpageflags_name[] = "/proc/kpageflags"; unsigned long i; uint64_t flags; int fd; fd = open(kpageflags_name, O_RDONLY); if (fd < 0) { fprintf(stderr, "%s: cannot open `%s': %s\n", argv[0], kpageflags_name, strerror(errno)); exit(1); } nr_pages = read(fd, kpageflags, sizeof(kpageflags)); if (nr_pages <= 0) { fprintf(stderr, "%s: cannot read `%s': %s\n", argv[0], kpageflags_name, strerror(errno)); exit(2); } if (nr_pages % KPF_BYTES != 0) { fprintf(stderr, "%s: partial read: %lu bytes\n", argv[0], nr_pages); exit(3); } nr_pages = nr_pages / KPF_BYTES; for (i = 0; i < nr_pages; i++) { flags = kpageflags[i]; if (flags == 0x40000) flags = ARRAY_SIZE(page_count) - 1; if (flags >= ARRAY_SIZE(page_count)) { fprintf(stderr, "%s: flags overflow: 0x%lx > 0x%lx\n", argv[0], flags, ARRAY_SIZE(page_count)); exit(4); } page_count[flags]++; } #if 0 for (i = 0; i < ARRAY_SIZE(page_flag_names); i++) { printf("%s ", page_flag_names[i]); } #endif printf(" flags\tpage-count MB symbolic-flags long-symbolic-flags\n"); for (i = 0; i < ARRAY_SIZE(page_count); i++) { if (page_count[i]) printf("0x%05lx\t%10lu %8lu %s %s\n", i, page_count[i], pages2mb(page_count[i]), page_flag_name(i), page_flag_longname(i)); } printf(" total\t%10lu %8lu\n", nr_pages, pages2mb(nr_pages)); return 0; } --82I3+IH0IqGh5yIs Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="kpageflags-improvements.patch" --- fs/proc/page.c | 88 +++++++++++++++++++++++++++++------------------ 1 file changed, 56 insertions(+), 32 deletions(-) --- mm.orig/fs/proc/page.c +++ mm/fs/proc/page.c @@ -68,19 +68,60 @@ static const struct file_operations proc /* These macros are used to decouple internal flags from exported ones */ -#define KPF_LOCKED 0 -#define KPF_ERROR 1 -#define KPF_REFERENCED 2 -#define KPF_UPTODATE 3 -#define KPF_DIRTY 4 -#define KPF_LRU 5 -#define KPF_ACTIVE 6 -#define KPF_SLAB 7 -#define KPF_WRITEBACK 8 -#define KPF_RECLAIM 9 -#define KPF_BUDDY 10 +enum { + KPF_LOCKED, /* 0 */ + KPF_ERROR, /* 1 */ + KPF_REFERENCED, /* 2 */ + KPF_UPTODATE, /* 3 */ + KPF_DIRTY, /* 4 */ + KPF_LRU, /* 5 */ + KPF_ACTIVE, /* 6 */ + KPF_SLAB, /* 7 */ + KPF_WRITEBACK, /* 8 */ + KPF_RECLAIM, /* 9 */ + KPF_BUDDY, /* 10 */ + KPF_RESERVED, /* 11 */ + KPF_SWAPCACHE, /* 12 */ + KPF_SWAPBACKED, /* 13 */ + KPF_PRIVATE, /* 14 */ + KPF_PRIVATE2, /* 15 */ + KPF_NOPAGE, /* 16 */ + KPF_NOFLAGS, /* 17 */ + KPF_NUM +}; + +#define PAGE_FLAGS_MASK ((1 << __NR_PAGEFLAGS) - 1) + +#define kpf_copy_bit(flags, dstpos, srcpos) (((flags >> srcpos) & 1) << dstpos) -#define kpf_copy_bit(flags, srcpos, dstpos) (((flags >> srcpos) & 1) << dstpos) +u64 get_uflags(struct page *page) +{ + unsigned long kflags; + + if (!page) + return (1 << KPF_NOPAGE); + + kflags = page->flags; + if ((kflags & PAGE_FLAGS_MASK) == 0) + return (1 << KPF_NOFLAGS); + + return kpf_copy_bit(kflags, KPF_LOCKED, PG_locked) | + kpf_copy_bit(kflags, KPF_ERROR, PG_error) | + kpf_copy_bit(kflags, KPF_REFERENCED, PG_referenced) | + kpf_copy_bit(kflags, KPF_UPTODATE, PG_uptodate) | + kpf_copy_bit(kflags, KPF_DIRTY, PG_dirty) | + kpf_copy_bit(kflags, KPF_LRU, PG_lru) | + kpf_copy_bit(kflags, KPF_ACTIVE, PG_active) | + kpf_copy_bit(kflags, KPF_SLAB, PG_slab) | + kpf_copy_bit(kflags, KPF_WRITEBACK, PG_writeback) | + kpf_copy_bit(kflags, KPF_RECLAIM, PG_reclaim) | + kpf_copy_bit(kflags, KPF_BUDDY, PG_buddy) | + kpf_copy_bit(kflags, KPF_SWAPCACHE, PG_swapcache) | + kpf_copy_bit(kflags, KPF_SWAPBACKED, PG_swapbacked) | + kpf_copy_bit(kflags, KPF_PRIVATE, PG_private) | + kpf_copy_bit(kflags, KPF_PRIVATE2, PG_private_2) | + kpf_copy_bit(kflags, KPF_RESERVED, PG_reserved); +}; static ssize_t kpageflags_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) @@ -90,7 +131,6 @@ static ssize_t kpageflags_read(struct fi unsigned long src = *ppos; unsigned long pfn; ssize_t ret = 0; - u64 kflags, uflags; pfn = src / KPMSIZE; count = min_t(unsigned long, count, (max_pfn * KPMSIZE) - src); @@ -98,32 +138,16 @@ static ssize_t kpageflags_read(struct fi return -EINVAL; while (count > 0) { - ppage = NULL; if (pfn_valid(pfn)) ppage = pfn_to_page(pfn); - pfn++; - if (!ppage) - kflags = 0; else - kflags = ppage->flags; - - uflags = kpf_copy_bit(kflags, KPF_LOCKED, PG_locked) | - kpf_copy_bit(kflags, KPF_ERROR, PG_error) | - kpf_copy_bit(kflags, KPF_REFERENCED, PG_referenced) | - kpf_copy_bit(kflags, KPF_UPTODATE, PG_uptodate) | - kpf_copy_bit(kflags, KPF_DIRTY, PG_dirty) | - kpf_copy_bit(kflags, KPF_LRU, PG_lru) | - kpf_copy_bit(kflags, KPF_ACTIVE, PG_active) | - kpf_copy_bit(kflags, KPF_SLAB, PG_slab) | - kpf_copy_bit(kflags, KPF_WRITEBACK, PG_writeback) | - kpf_copy_bit(kflags, KPF_RECLAIM, PG_reclaim) | - kpf_copy_bit(kflags, KPF_BUDDY, PG_buddy); + ppage = NULL; + pfn++; - if (put_user(uflags, out++)) { + if (put_user(get_uflags(ppage), out++)) { ret = -EFAULT; break; } - count -= KPMSIZE; } --82I3+IH0IqGh5yIs-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail143.messagelabs.com (mail143.messagelabs.com [216.82.254.35]) by kanga.kvack.org (Postfix) with SMTP id E8F296B004D for ; Tue, 10 Mar 2009 09:13:02 -0400 (EDT) Date: Tue, 10 Mar 2009 21:11:55 +0800 From: Wu Fengguang Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090310131155.GA9654@localhost> References: <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090309013742.GA11416@localhost> <20090309020701.GA381@localhost> <20090309084045.2c652fbf@mjolnir.ossman.eu> <20090309142241.GA4437@localhost> <20090309160216.2048e898@mjolnir.ossman.eu> <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="BXVAT5kNtrzKuDFl" Content-Disposition: inline In-Reply-To: <20090310122210.GA8415@localhost> Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" List-ID: --BXVAT5kNtrzKuDFl Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Mar 10, 2009 at 08:22:10PM +0800, Wu Fengguang wrote: > On Tue, Mar 10, 2009 at 11:55:23AM +0200, Pierre Ossman wrote: > > On Tue, 10 Mar 2009 16:19:17 +0800 > > Wu Fengguang wrote: > > > > > > > > Here is the initial patch and tool for finding the missing pages. > > > > > > In the following example, the pages with no flags set is kind of too > > > many (1816MB), but hopefully your missing pages will have PG_reserved > > > or other flags set ;-) > > > > > > # ./page-types > > > L:locked E:error R:referenced U:uptodate D:dirty L:lru A:active S:slab W:writeback x:reclaim B:buddy r:reserved c:swapcache b:swapbacked > > > > > > > Thanks. I'll have a look in a bit. Right now I'm very close to a > > complete bisect. It is just ftrace commits left though, so I'm somewhat > > sceptical that it is correct. ftrace isn't even turned on in the > > kernels I've been testing. > > > > The remaining commits are ec1bb60bb..6712e299. Another tool to show the page locations with specified flags: # ./page-areas 0x20000 | head offset len KB 11 1 4KB 13 3 12KB 17 7 28KB 25 1 4KB 31 1 4KB 33 31 124KB 65 63 252KB 129 15 60KB 145 7 28KB If we run eatmem or the following commands to take up free memory, the missing pages will show up :-) dd if=/dev/zero of=/tmp/s bs=1M count=1 seek=1024 cp /tmp/s /dev/null Thanks, Fengguang --BXVAT5kNtrzKuDFl Content-Type: text/x-csrc; charset=us-ascii Content-Disposition: attachment; filename="page-areas.c" #include #include #include #include #include #include #include /* copied from kpageflags_read() */ enum { KPF_LOCKED, /* 0 */ KPF_ERROR, /* 1 */ KPF_REFERENCED, /* 2 */ KPF_UPTODATE, /* 3 */ KPF_DIRTY, /* 4 */ KPF_LRU, /* 5 */ KPF_ACTIVE, /* 6 */ KPF_SLAB, /* 7 */ KPF_WRITEBACK, /* 8 */ KPF_RECLAIM, /* 9 */ KPF_BUDDY, /* 10 */ KPF_RESERVED, /* 11 */ KPF_SWAPCACHE, /* 12 */ KPF_SWAPBACKED, /* 13 */ KPF_PRIVATE, /* 14 */ KPF_PRIVATE2, /* 15 */ KPF_NOPAGE, /* 16 */ KPF_NOFLAGS, /* 17 */ KPF_NUM }; #define KPF_BYTES 8 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) static char *page_flag_names[] = { [KPF_LOCKED] = "L:locked", [KPF_ERROR] = "E:error", [KPF_REFERENCED] = "R:referenced", [KPF_UPTODATE] = "U:uptodate", [KPF_DIRTY] = "D:dirty", [KPF_LRU] = "l:lru", [KPF_ACTIVE] = "A:active", [KPF_SLAB] = "S:slab", [KPF_WRITEBACK] = "W:writeback", [KPF_RECLAIM] = "x:reclaim", [KPF_BUDDY] = "B:buddy", [KPF_RESERVED] = "r:reserved", [KPF_SWAPBACKED] = "b:swapbacked", [KPF_SWAPCACHE] = "c:swapcache", [KPF_PRIVATE] = "P:private", [KPF_PRIVATE2] = "p:private_2", [KPF_NOPAGE] = "N:nopage", [KPF_NOFLAGS] = "n:noflags", }; static unsigned long page_count[(1 << KPF_NUM)]; static unsigned long nr_pages; static uint64_t kpageflags[KPF_BYTES * (8<<20)]; char *page_flag_name(uint64_t flags) { int i; static char buf[64]; for (i = 0; i < ARRAY_SIZE(page_flag_names); i++) buf[i] = (flags & (1 << i)) ? page_flag_names[i][0] : '_'; return buf; } char *page_flag_longname(uint64_t flags) { int i, n; static char buf[1024]; for (i = 0, n = 0; i < ARRAY_SIZE(page_flag_names); i++) if (flags & (1<> 10; } static void add_index(unsigned long index) { static unsigned long offset, len; if (index == offset + len) len++; else { if (len) printf("%10lu %8lu %8luKB\n", offset, len, pages2kb(len)); offset = index; len = 1; } } static void usage(const char *prog) { printf("Usage: %s page_flags\n", prog); } int main(int argc, char *argv[]) { static char kpageflags_name[] = "/proc/kpageflags"; unsigned long match_flags; unsigned long i; int fd; if (argc < 2) { usage(argv[0]); exit(1); } match_flags = strtol(argv[1], 0, 16); /* printf("pages with flags 0x%lx:\n", match_flags); */ fd = open(kpageflags_name, O_RDONLY); if (fd < 0) { perror(kpageflags_name); exit(1); } nr_pages = read(fd, kpageflags, sizeof(kpageflags)); if (nr_pages <= 0) { perror(kpageflags_name); exit(2); } if (nr_pages % KPF_BYTES != 0) { fprintf(stderr, "%s: partial read: %lu bytes\n", argv[0], nr_pages); exit(3); } nr_pages = nr_pages / KPF_BYTES; printf(" offset len KB\n"); for (i = 0; i < nr_pages; i++) { if ((kpageflags[i] & match_flags) == match_flags) add_index(i); } add_index(0); return 0; } --BXVAT5kNtrzKuDFl-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail138.messagelabs.com (mail138.messagelabs.com [216.82.249.35]) by kanga.kvack.org (Postfix) with ESMTP id AD7DD6B003D for ; Tue, 10 Mar 2009 11:52:52 -0400 (EDT) Date: Tue, 10 Mar 2009 16:52:41 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090310165241.7d912bfa@mjolnir.ossman.eu> In-Reply-To: <20090310131155.GA9654@localhost> References: <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090309013742.GA11416@localhost> <20090309020701.GA381@localhost> <20090309084045.2c652fbf@mjolnir.ossman.eu> <20090309142241.GA4437@localhost> <20090309160216.2048e898@mjolnir.ossman.eu> <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-18933-1236700366-0001-2" Sender: owner-linux-mm@kvack.org To: Wu Fengguang Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-18933-1236700366-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable My bisect has ran into a wall. I cannot run any of the intermediate kernels that are left. I could try reverting the commits one at a time, but I'll take a break and test your code here. Now we just have to wait for the kernel to compile. :) Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-18933-1236700366-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm2jMsACgkQ7b8eESbyJLiHcQCgvuAH3sATSVj5Yu0CbvBlNAKn oYwAniLbZPVagMfUgPLrweEsqu8kzYsW =/OR6 -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-18933-1236700366-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail144.messagelabs.com (mail144.messagelabs.com [216.82.254.51]) by kanga.kvack.org (Postfix) with ESMTP id 698436B003D for ; Tue, 10 Mar 2009 15:58:33 -0400 (EDT) Date: Tue, 10 Mar 2009 20:58:23 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090310205823.661724b5@mjolnir.ossman.eu> In-Reply-To: <20090310122210.GA8415@localhost> References: <20090307122452.bf43fbe4.akpm@linux-foundation.org> <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090309013742.GA11416@localhost> <20090309020701.GA381@localhost> <20090309084045.2c652fbf@mjolnir.ossman.eu> <20090309142241.GA4437@localhost> <20090309160216.2048e898@mjolnir.ossman.eu> <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-20726-1236715107-0001-2" Sender: owner-linux-mm@kvack.org To: Wu Fengguang , Andrew Morton Cc: "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-20726-1236715107-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Ok, I think I've found some, but not all of the missing memory. I had to remove PG_swapbacked and PG_private2 as 2.6.26/2.6.27 didn't have those bits. After that, a comparison shows that this row is in 2.6.27, but not 2.6.26: 0x00020 20576 80 _____l____________ lru Unfortunately there are about 170 MB of missing memory, not 80. So we probably need to dig deeper. But does the above say anything to you? Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-20726-1236715107-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm2xmIACgkQ7b8eESbyJLimbACeMdvL2ymkPHdU1Xkvhjh06oq9 A3MAnRJbQD3UoQOoQ8PIZHtb9TaspZMW =Ozbe -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-20726-1236715107-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail203.messagelabs.com (mail203.messagelabs.com [216.82.254.243]) by kanga.kvack.org (Postfix) with ESMTP id F268E6B004D for ; Tue, 10 Mar 2009 16:21:31 -0400 (EDT) Date: Tue, 10 Mar 2009 21:21:18 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090310212118.7bf17af6@mjolnir.ossman.eu> In-Reply-To: <20090310131155.GA9654@localhost> References: <20090307220055.6f79beb8@mjolnir.ossman.eu> <20090309013742.GA11416@localhost> <20090309020701.GA381@localhost> <20090309084045.2c652fbf@mjolnir.ossman.eu> <20090309142241.GA4437@localhost> <20090309160216.2048e898@mjolnir.ossman.eu> <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-20822-1236716485-0001-2" Sender: owner-linux-mm@kvack.org To: Wu Fengguang Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-20822-1236716485-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Tue, 10 Mar 2009 21:11:55 +0800 Wu Fengguang wrote: > If we run eatmem or the following commands to take up free memory, > the missing pages will show up :-) >=20 > dd if=3D/dev/zero of=3D/tmp/s bs=3D1M count=3D1 seek=3D1024 > cp /tmp/s /dev/null >=20 Not here, which now means I've "found" all of my missing 170 MB. On 2.6.27, when I fill the page cache I still get over 90 MB left in "noflags": 0x20000 24394 95 _________________n noflags The same thing with 2.6.26 almost completely drains it: 0x20000 3697 14 _________________n noflags Another interesting data point is that those 80 MB always seem to be the exact same number of pages every boot. Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-20822-1236716485-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm2y8IACgkQ7b8eESbyJLhhMQCfSK1DUFcMTHFEbFsxM9KpYlL/ dRUAoLLCwcv+g0kn17iTDggkE3eLUGII =hyiC -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-20822-1236716485-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail202.messagelabs.com (mail202.messagelabs.com [216.82.254.227]) by kanga.kvack.org (Postfix) with SMTP id D60AF6B003D for ; Tue, 10 Mar 2009 20:19:36 -0400 (EDT) Received: from m6.gw.fujitsu.co.jp ([10.0.50.76]) by fgwmail6.fujitsu.co.jp (Fujitsu Gateway) with ESMTP id n2B0JYIM013547 for (envelope-from kosaki.motohiro@jp.fujitsu.com); Wed, 11 Mar 2009 09:19:34 +0900 Received: from smail (m6 [127.0.0.1]) by outgoing.m6.gw.fujitsu.co.jp (Postfix) with ESMTP id 0D5CC45DE4F for ; Wed, 11 Mar 2009 09:19:34 +0900 (JST) Received: from s6.gw.fujitsu.co.jp (s6.gw.fujitsu.co.jp [10.0.50.96]) by m6.gw.fujitsu.co.jp (Postfix) with ESMTP id E0A7445DD72 for ; Wed, 11 Mar 2009 09:19:33 +0900 (JST) Received: from s6.gw.fujitsu.co.jp (localhost.localdomain [127.0.0.1]) by s6.gw.fujitsu.co.jp (Postfix) with ESMTP id CCE9A1DB803E for ; Wed, 11 Mar 2009 09:19:33 +0900 (JST) Received: from ml14.s.css.fujitsu.com (ml14.s.css.fujitsu.com [10.249.87.104]) by s6.gw.fujitsu.co.jp (Postfix) with ESMTP id 82BFC1DB803F for ; Wed, 11 Mar 2009 09:19:33 +0900 (JST) From: KOSAKI Motohiro Subject: Re: [Bug 12832] New: kernel leaks a lot of memory In-Reply-To: <20090310105523.3dfd4873@mjolnir.ossman.eu> References: <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> Message-Id: <20090311091738.8784.A69D9226@jp.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Date: Wed, 11 Mar 2009 09:19:32 +0900 (JST) Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: kosaki.motohiro@jp.fujitsu.com, Wu Fengguang , Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" List-ID: Hi > > Here is the initial patch and tool for finding the missing pages. > > > > In the following example, the pages with no flags set is kind of too > > many (1816MB), but hopefully your missing pages will have PG_reserved > > or other flags set ;-) > > > > # ./page-types > > L:locked E:error R:referenced U:uptodate D:dirty L:lru A:active S:slab W:writeback x:reclaim B:buddy r:reserved c:swapcache b:swapbacked > > > > Thanks. I'll have a look in a bit. Right now I'm very close to a > complete bisect. It is just ftrace commits left though, so I'm somewhat > sceptical that it is correct. ftrace isn't even turned on in the > kernels I've been testing. > > The remaining commits are ec1bb60bb..6712e299. Can you try to turn off CONFIG_FTRACE* build option? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail190.messagelabs.com (mail190.messagelabs.com [216.82.249.51]) by kanga.kvack.org (Postfix) with SMTP id 544106B003D for ; Tue, 10 Mar 2009 21:38:18 -0400 (EDT) Date: Wed, 11 Mar 2009 09:37:40 +0800 From: Wu Fengguang Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090311013739.GA7078@localhost> References: <20090309020701.GA381@localhost> <20090309084045.2c652fbf@mjolnir.ossman.eu> <20090309142241.GA4437@localhost> <20090309160216.2048e898@mjolnir.ossman.eu> <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="0F1p//8PRICkK4MW" Content-Disposition: inline In-Reply-To: <20090310212118.7bf17af6@mjolnir.ossman.eu> Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" List-ID: --0F1p//8PRICkK4MW Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Mar 10, 2009 at 10:21:18PM +0200, Pierre Ossman wrote: > On Tue, 10 Mar 2009 21:11:55 +0800 > Wu Fengguang wrote: > > > If we run eatmem or the following commands to take up free memory, > > the missing pages will show up :-) > > > > dd if=/dev/zero of=/tmp/s bs=1M count=1 seek=1024 > > cp /tmp/s /dev/null > > > > Not here, which now means I've "found" all of my missing 170 MB. > > On 2.6.27, when I fill the page cache I still get over 90 MB left in > "noflags": > > 0x20000 24394 95 _________________n noflags > > The same thing with 2.6.26 almost completely drains it: > > 0x20000 3697 14 _________________n noflags > > Another interesting data point is that those 80 MB always seem to be > the exact same number of pages every boot. This 80MB noflags pages together with the below 80MB lru pages are very close to the missing page numbers :-) Could you run the following commands on fresh booted 2.6.27 and post the output files? Thank you! dd if=/dev/zero of=/tmp/s bs=1M count=1 seek=1024 cp /tmp/s /dev/null ./page-flags > flags ./page-areas =0x20000 > areas-noflags ./page-areas =0x00020 > areas-lru The attached page-areas.c can do the above exact flags matching. > After that, a comparison shows that this row is in 2.6.27, but not > 2.6.26: > > 0x00020 20576 80 _____l____________ lru > > Unfortunately there are about 170 MB of missing memory, not 80. So we > probably need to dig deeper. But does the above say anything to you? > I had to remove PG_swapbacked and PG_private2 as 2.6.26/2.6.27 didn't > have those bits. Ah sorry! I forgot to switch the tree back to 2.6.27 to run a test. Thanks, Fengguang --0F1p//8PRICkK4MW Content-Type: text/x-csrc; charset=us-ascii Content-Disposition: attachment; filename="page-areas.c" #include #include #include #include #include #include #include /* copied from kpageflags_read() */ enum { KPF_LOCKED, /* 0 */ KPF_ERROR, /* 1 */ KPF_REFERENCED, /* 2 */ KPF_UPTODATE, /* 3 */ KPF_DIRTY, /* 4 */ KPF_LRU, /* 5 */ KPF_ACTIVE, /* 6 */ KPF_SLAB, /* 7 */ KPF_WRITEBACK, /* 8 */ KPF_RECLAIM, /* 9 */ KPF_BUDDY, /* 10 */ KPF_RESERVED, /* 11 */ KPF_SWAPCACHE, /* 12 */ KPF_SWAPBACKED, /* 13 */ KPF_PRIVATE, /* 14 */ KPF_PRIVATE2, /* 15 */ KPF_NOPAGE, /* 16 */ KPF_NOFLAGS, /* 17 */ KPF_NUM }; #define KPF_BYTES 8 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) static char *page_flag_names[] = { [KPF_LOCKED] = "L:locked", [KPF_ERROR] = "E:error", [KPF_REFERENCED] = "R:referenced", [KPF_UPTODATE] = "U:uptodate", [KPF_DIRTY] = "D:dirty", [KPF_LRU] = "l:lru", [KPF_ACTIVE] = "A:active", [KPF_SLAB] = "S:slab", [KPF_WRITEBACK] = "W:writeback", [KPF_RECLAIM] = "x:reclaim", [KPF_BUDDY] = "B:buddy", [KPF_RESERVED] = "r:reserved", [KPF_SWAPBACKED] = "b:swapbacked", [KPF_SWAPCACHE] = "c:swapcache", [KPF_PRIVATE] = "P:private", [KPF_PRIVATE2] = "p:private_2", [KPF_NOPAGE] = "N:nopage", [KPF_NOFLAGS] = "n:noflags", }; static unsigned long page_count[(1 << KPF_NUM)]; static unsigned long nr_pages; static uint64_t kpageflags[KPF_BYTES * (8<<20)]; char *page_flag_name(uint64_t flags) { int i; static char buf[64]; for (i = 0; i < ARRAY_SIZE(page_flag_names); i++) buf[i] = (flags & (1 << i)) ? page_flag_names[i][0] : '_'; return buf; } char *page_flag_longname(uint64_t flags) { int i, n; static char buf[1024]; for (i = 0, n = 0; i < ARRAY_SIZE(page_flag_names); i++) if (flags & (1<> 10; } static void add_index(unsigned long index) { static unsigned long offset, len; if (index == offset + len) len++; else { if (len) printf("%10lu %8lu %8luKB\n", offset, len, pages2kb(len)); offset = index; len = 1; } } static void usage(const char *prog) { printf("Usage: %s page_flags\n", prog); } int main(int argc, char *argv[]) { static char kpageflags_name[] = "/proc/kpageflags"; unsigned long match_flags, match_exact; unsigned long i; char *p; int fd; if (argc < 2) { usage(argv[0]); exit(1); } match_exact = 0; p = argv[1]; if (p[0] == '=') { match_exact = 1; p++; } match_flags = strtol(p, 0, 16); fd = open(kpageflags_name, O_RDONLY); if (fd < 0) { perror(kpageflags_name); exit(1); } nr_pages = read(fd, kpageflags, sizeof(kpageflags)); if (nr_pages <= 0) { perror(kpageflags_name); exit(2); } if (nr_pages % KPF_BYTES != 0) { fprintf(stderr, "%s: partial read: %lu bytes\n", argv[0], nr_pages); exit(3); } nr_pages = nr_pages / KPF_BYTES; printf(" offset len KB\n"); for (i = 0; i < nr_pages; i++) { if (!match_exact && ((kpageflags[i] & match_flags) == match_flags) || (match_exact && kpageflags[i] == match_flags)) add_index(i); } add_index(0); return 0; } --0F1p//8PRICkK4MW-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail144.messagelabs.com (mail144.messagelabs.com [216.82.254.51]) by kanga.kvack.org (Postfix) with SMTP id F2F236B003D for ; Wed, 11 Mar 2009 03:15:37 -0400 (EDT) Date: Wed, 11 Mar 2009 15:14:45 +0800 From: Wu Fengguang Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090311071445.GA13584@localhost> References: <20090309142241.GA4437@localhost> <20090309160216.2048e898@mjolnir.ossman.eu> <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090311075703.35de2488@mjolnir.ossman.eu> Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" List-ID: On Wed, Mar 11, 2009 at 08:57:03AM +0200, Pierre Ossman wrote: > On Wed, 11 Mar 2009 09:37:40 +0800 > Wu Fengguang wrote: > > > > > This 80MB noflags pages together with the below 80MB lru pages are > > very close to the missing page numbers :-) Could you run the following > > commands on fresh booted 2.6.27 and post the output files? Thank you! > > > > dd if=/dev/zero of=/tmp/s bs=1M count=1 seek=1024 > > cp /tmp/s /dev/null > > > > ./page-flags > flags > > ./page-areas =0x20000 > areas-noflags > > ./page-areas =0x00020 > areas-lru > > > > Attached. Thank you very much! > I have to say, the patterns look very much like some kind of leak. Wow it looks really interesting. The lru pages and noflags pages make perfect 1-page interleaved pattern... Thanks, Fengguang areas-lru > offset len KB > 86016 1 4KB > 86018 1 4KB > 86020 1 4KB > 86022 1 4KB > 86024 1 4KB > 86026 1 4KB > 86028 1 4KB > 86030 1 4KB > 86032 1 4KB > 86034 1 4KB > 86036 1 4KB > 86038 1 4KB > 86040 1 4KB > 86042 1 4KB > 86044 1 4KB > 86046 1 4KB > 86048 1 4KB > 86050 1 4KB > 86052 1 4KB > 86054 1 4KB > 86056 1 4KB > 86058 1 4KB > 86060 1 4KB > 86062 1 4KB > 86064 1 4KB > 86066 1 4KB > 86068 1 4KB > 86070 1 4KB > 86072 1 4KB > 86074 1 4KB > 86076 1 4KB > 86078 1 4KB > 86080 1 4KB > 86082 1 4KB > 86084 1 4KB > 86086 1 4KB > 86088 1 4KB > 86090 1 4KB > 86092 1 4KB > 86094 1 4KB > 86096 1 4KB > 86098 1 4KB > 86100 1 4KB > 86102 1 4KB > 86104 1 4KB areas-noflags > 86017 1 4KB > 86019 1 4KB > 86021 1 4KB > 86023 1 4KB > 86025 1 4KB > 86027 1 4KB > 86029 1 4KB > 86031 1 4KB > 86033 1 4KB > 86035 1 4KB > 86037 1 4KB > 86039 1 4KB > 86041 1 4KB > 86043 1 4KB > 86045 1 4KB > 86047 1 4KB > 86049 1 4KB > 86051 1 4KB > 86053 1 4KB > 86055 1 4KB > 86057 1 4KB > 86059 1 4KB > 86061 1 4KB > 86063 1 4KB > 86065 1 4KB > 86067 1 4KB > 86069 1 4KB > 86071 1 4KB > 86073 1 4KB > 86075 1 4KB > 86077 1 4KB > 86079 1 4KB > 86081 1 4KB > 86083 1 4KB > 86085 1 4KB > 86087 1 4KB > 86089 1 4KB > 86091 1 4KB > 86093 1 4KB > 86095 1 4KB > 86097 1 4KB > 86099 1 4KB > 86101 1 4KB > 86103 1 4KB > flags page-count MB symbolic-flags long-symbolic-flags > 0x00000 1892 7 __________________ > 0x00004 1 0 __R_______________ referenced > 0x00008 454 1 ___U______________ uptodate > 0x0000c 94 0 __RU______________ referenced,uptodate > 0x00020 20576 80 _____l____________ lru > 0x00028 226 0 ___U_l____________ uptodate,lru > 0x0002c 67911 265 __RU_l____________ referenced,uptodate,lru > 0x00068 6621 25 ___U_lA___________ uptodate,lru,active > 0x0006c 1222 4 __RU_lA___________ referenced,uptodate,lru,active > 0x00078 1 0 ___UDlA___________ uptodate,dirty,lru,active > 0x00080 3523 13 _______S__________ slab > 0x000c0 55 0 ______AS__________ active,slab > 0x00228 5 0 ___U_l___x________ uptodate,lru,reclaim > 0x0022c 1 0 __RU_l___x________ referenced,uptodate,lru,reclaim > 0x00268 23 0 ___U_lA__x________ uptodate,lru,active,reclaim > 0x0026c 52 0 __RU_lA__x________ referenced,uptodate,lru,active,reclaim > 0x00400 9 0 __________B_______ buddy > 0x00408 60 0 ___U______B_______ uptodate,buddy > 0x00800 4042 15 ___________r______ reserved > 0x04020 9 0 _____l________P___ lru,private > 0x04024 14 0 __R__l________P___ referenced,lru,private > 0x04028 4 0 ___U_l________P___ uptodate,lru,private > 0x0402c 1 0 __RU_l________P___ referenced,uptodate,lru,private > 0x04060 10 0 _____lA_______P___ lru,active,private > 0x04064 7 0 __R__lA_______P___ referenced,lru,active,private > 0x04068 16 0 ___U_lA_______P___ uptodate,lru,active,private > 0x20000 24227 94 _________________n noflags > total 131056 511 > MemTotal: 508056 kB > MemFree: 7716 kB > Buffers: 220 kB > Cached: 280468 kB > SwapCached: 0 kB > Active: 31184 kB > Inactive: 271508 kB > SwapTotal: 524280 kB > SwapFree: 524232 kB > Dirty: 1284 kB > Writeback: 0 kB > AnonPages: 22044 kB > Mapped: 8652 kB > Slab: 21508 kB > SReclaimable: 4212 kB > SUnreclaim: 17296 kB > PageTables: 3036 kB > NFS_Unstable: 0 kB > Bounce: 0 kB > WritebackTmp: 0 kB > CommitLimit: 778308 kB > Committed_AS: 80544 kB > VmallocTotal: 34359738367 kB > VmallocUsed: 1740 kB > VmallocChunk: 34359736619 kB > HugePages_Total: 0 > HugePages_Free: 0 > HugePages_Rsvd: 0 > HugePages_Surp: 0 > Hugepagesize: 2048 kB > DirectMap4k: 8128 kB > DirectMap2M: 516096 kB -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail172.messagelabs.com (mail172.messagelabs.com [216.82.254.3]) by kanga.kvack.org (Postfix) with ESMTP id D0F2B6B003D for ; Wed, 11 Mar 2009 03:22:26 -0400 (EDT) Date: Wed, 11 Mar 2009 08:22:13 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090311082213.44ba65e0@mjolnir.ossman.eu> In-Reply-To: <20090311091738.8784.A69D9226@jp.fujitsu.com> References: <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090311091738.8784.A69D9226@jp.fujitsu.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-26672-1236756140-0001-2" Sender: owner-linux-mm@kvack.org To: KOSAKI Motohiro Cc: Wu Fengguang , Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-26672-1236756140-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 11 Mar 2009 09:19:32 +0900 (JST) KOSAKI Motohiro wrote: >=20 > Can you try to turn off CONFIG_FTRACE* build option? >=20 That's just it, it is off. Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-26672-1236756140-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm3ZqgACgkQ7b8eESbyJLhmtACfWxQxbWmyt0n87mEFrZETnpxU iL0AoLXaUcucLqMgq7/zy+SQjVOgo2Xg =B0i5 -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-26672-1236756140-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail144.messagelabs.com (mail144.messagelabs.com [216.82.254.51]) by kanga.kvack.org (Postfix) with ESMTP id E1A1E6B003D for ; Wed, 11 Mar 2009 03:27:06 -0400 (EDT) Date: Wed, 11 Mar 2009 08:26:58 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090311082658.06ff605a@mjolnir.ossman.eu> In-Reply-To: <20090311071445.GA13584@localhost> References: <20090309142241.GA4437@localhost> <20090309160216.2048e898@mjolnir.ossman.eu> <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-26703-1236756421-0001-2" Sender: owner-linux-mm@kvack.org To: Wu Fengguang Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-26703-1236756421-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 11 Mar 2009 15:14:45 +0800 Wu Fengguang wrote: > On Wed, Mar 11, 2009 at 08:57:03AM +0200, Pierre Ossman wrote: > > On Wed, 11 Mar 2009 09:37:40 +0800 > > Wu Fengguang wrote: > >=20 > > >=20 > > > This 80MB noflags pages together with the below 80MB lru pages are > > > very close to the missing page numbers :-) Could you run the following > > > commands on fresh booted 2.6.27 and post the output files? Thank you! > > >=20 > > > dd if=3D/dev/zero of=3D/tmp/s bs=3D1M count=3D1 seek=3D1024 > > > cp /tmp/s /dev/null > > >=20 > > > ./page-flags > flags > > > ./page-areas =3D0x20000 > areas-noflags > > > ./page-areas =3D0x00020 > areas-lru > > >=20 > >=20 > > Attached. >=20 > Thank you very much! >=20 > > I have to say, the patterns look very much like some kind of leak. >=20 > Wow it looks really interesting. The lru pages and noflags pages make > perfect 1-page interleaved pattern... >=20 Another breakthrough. I turned off everything in kernel/trace, and now the missing memory is back. Here's the relevant diff against the original .config: @@ -3677,18 +3639,15 @@ # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_LKDTM is not set # CONFIG_FAULT_INJECTION is not set -CONFIG_LATENCYTOP=3Dy +# CONFIG_LATENCYTOP is not set # CONFIG_SYSCTL_SYSCALL_CHECK is not set CONFIG_HAVE_FTRACE=3Dy CONFIG_HAVE_DYNAMIC_FTRACE=3Dy -CONFIG_TRACER_MAX_TRACE=3Dy -CONFIG_TRACING=3Dy # CONFIG_FTRACE is not set -CONFIG_IRQSOFF_TRACER=3Dy -CONFIG_SYSPROF_TRACER=3Dy -CONFIG_SCHED_TRACER=3Dy -CONFIG_CONTEXT_SWITCH_TRACER=3Dy -# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SYSPROF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_CONTEXT_SWITCH_TRACER is not set I'll enable them one at a time and see when the bug reappears, but if you have some ideas on which it could be, that would be helpful. The machine takes some time to recompile a kernel. :) Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-26703-1236756421-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm3Z8UACgkQ7b8eESbyJLhRSgCgolE4gwrrc12EtBnxRr0lIveg pDEAoNW2USkmxE+Yz2dc6T+zQKQLqpvs =HXLn -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-26703-1236756421-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail190.messagelabs.com (mail190.messagelabs.com [216.82.249.51]) by kanga.kvack.org (Postfix) with SMTP id 5874B6B003D for ; Wed, 11 Mar 2009 03:37:12 -0400 (EDT) Date: Wed, 11 Mar 2009 15:36:19 +0800 From: Wu Fengguang Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090311073619.GA26691@localhost> References: <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090311082658.06ff605a@mjolnir.ossman.eu> Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar , Steven Rostedt List-ID: (add cc) On Wed, Mar 11, 2009 at 09:26:58AM +0200, Pierre Ossman wrote: > On Wed, 11 Mar 2009 15:14:45 +0800 > Wu Fengguang wrote: > > > On Wed, Mar 11, 2009 at 08:57:03AM +0200, Pierre Ossman wrote: > > > On Wed, 11 Mar 2009 09:37:40 +0800 > > > Wu Fengguang wrote: > > > > > > > > > > > This 80MB noflags pages together with the below 80MB lru pages are > > > > very close to the missing page numbers :-) Could you run the following > > > > commands on fresh booted 2.6.27 and post the output files? Thank you! > > > > > > > > dd if=/dev/zero of=/tmp/s bs=1M count=1 seek=1024 > > > > cp /tmp/s /dev/null > > > > > > > > ./page-flags > flags > > > > ./page-areas =0x20000 > areas-noflags > > > > ./page-areas =0x00020 > areas-lru > > > > > > > > > > Attached. > > > > Thank you very much! > > > > > I have to say, the patterns look very much like some kind of leak. > > > > Wow it looks really interesting. The lru pages and noflags pages make > > perfect 1-page interleaved pattern... > > > > Another breakthrough. I turned off everything in kernel/trace, and now > the missing memory is back. Here's the relevant diff against the > original .config: > > @@ -3677,18 +3639,15 @@ > # CONFIG_BACKTRACE_SELF_TEST is not set > # CONFIG_LKDTM is not set > # CONFIG_FAULT_INJECTION is not set > -CONFIG_LATENCYTOP=y > +# CONFIG_LATENCYTOP is not set > # CONFIG_SYSCTL_SYSCALL_CHECK is not set > CONFIG_HAVE_FTRACE=y > CONFIG_HAVE_DYNAMIC_FTRACE=y > -CONFIG_TRACER_MAX_TRACE=y > -CONFIG_TRACING=y > # CONFIG_FTRACE is not set > -CONFIG_IRQSOFF_TRACER=y > -CONFIG_SYSPROF_TRACER=y > -CONFIG_SCHED_TRACER=y > -CONFIG_CONTEXT_SWITCH_TRACER=y > -# CONFIG_FTRACE_STARTUP_TEST is not set > +# CONFIG_IRQSOFF_TRACER is not set > +# CONFIG_SYSPROF_TRACER is not set > +# CONFIG_SCHED_TRACER is not set > +# CONFIG_CONTEXT_SWITCH_TRACER is not set > > I'll enable them one at a time and see when the bug reappears, but if > you have some ideas on which it could be, that would be helpful. The > machine takes some time to recompile a kernel. :) A quick question: are there any possibility of ftrace memory reservation? Thanks, Fengguang -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail191.messagelabs.com (mail191.messagelabs.com [216.82.242.19]) by kanga.kvack.org (Postfix) with ESMTP id 5A0E86B003D for ; Wed, 11 Mar 2009 03:57:46 -0400 (EDT) Date: Wed, 11 Mar 2009 08:57:38 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090311085738.4233df4e@mjolnir.ossman.eu> In-Reply-To: <20090311073619.GA26691@localhost> References: <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-27096-1236758260-0001-2" Sender: owner-linux-mm@kvack.org To: Wu Fengguang Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar , Steven Rostedt List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-27096-1236758260-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 11 Mar 2009 15:36:19 +0800 Wu Fengguang wrote: >=20 > A quick question: are there any possibility of ftrace memory reservation? >=20 You tell me. CONFIG_FTRACE was always disabled, but CONFIG_HAVE_*FTRACE is always on. FTRACE wasn't included in 2.6.26 though, and the bisect showed only ftrace commits. So it would explain things. Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-27096-1236758260-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm3bvUACgkQ7b8eESbyJLgeIgCg6p+QiYxesqtHACUqjf+tdSX5 a8MAn3hJMOAkOGxlOYigFXtQ9xhtJ/zP =9dp6 -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-27096-1236758260-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail137.messagelabs.com (mail137.messagelabs.com [216.82.249.19]) by kanga.kvack.org (Postfix) with SMTP id DB1036B003D for ; Wed, 11 Mar 2009 04:22:10 -0400 (EDT) Date: Wed, 11 Mar 2009 16:20:38 +0800 From: Wu Fengguang Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090311082038.GA32129@localhost> References: <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> <20090311085738.4233df4e@mjolnir.ossman.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090311085738.4233df4e@mjolnir.ossman.eu> Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar , Steven Rostedt List-ID: On Wed, Mar 11, 2009 at 09:57:38AM +0200, Pierre Ossman wrote: > On Wed, 11 Mar 2009 15:36:19 +0800 > Wu Fengguang wrote: > > > > > A quick question: are there any possibility of ftrace memory reservation? > > > > You tell me. CONFIG_FTRACE was always disabled, but CONFIG_HAVE_*FTRACE > is always on. FTRACE wasn't included in 2.6.26 though, and the bisect > showed only ftrace commits. So it would explain things. There are some __get_free_page() calls in kernel/trace/ring_buffer.c, maybe the pages are consumed by one of them? Thanks, Fengguang -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail143.messagelabs.com (mail143.messagelabs.com [216.82.254.35]) by kanga.kvack.org (Postfix) with SMTP id 83C886B003D for ; Wed, 11 Mar 2009 09:01:46 -0400 (EDT) Date: Wed, 11 Mar 2009 21:00:22 +0800 From: Wu Fengguang Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090311130022.GA22453@localhost> References: <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> <20090311085738.4233df4e@mjolnir.ossman.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090311085738.4233df4e@mjolnir.ossman.eu> Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar , Steven Rostedt List-ID: Hi Pierre, On Wed, Mar 11, 2009 at 09:57:38AM +0200, Pierre Ossman wrote: > On Wed, 11 Mar 2009 15:36:19 +0800 > Wu Fengguang wrote: > > > > > A quick question: are there any possibility of ftrace memory reservation? > > > > You tell me. CONFIG_FTRACE was always disabled, but CONFIG_HAVE_*FTRACE > is always on. FTRACE wasn't included in 2.6.26 though, and the bisect > showed only ftrace commits. So it would explain things. I worked up a simple debugging patch. Since the missing pages are continuously spanned, several stack dumping shall be enough to catch the page consumer. diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 27b8681..c0df7fd 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1087,6 +1087,13 @@ again: goto failed; } + /* wfg - hunting the 40000 missing pages */ + { + unsigned long pfn = page_to_pfn(page); + if (pfn > 0x1000 && (pfn & 0xfff) <= 1) + dump_stack(); + } + __count_zone_vm_events(PGALLOC, zone, 1 << order); zone_statistics(preferred_zone, zone); local_irq_restore(flags); -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail172.messagelabs.com (mail172.messagelabs.com [216.82.254.3]) by kanga.kvack.org (Postfix) with ESMTP id E49396B003D for ; Wed, 11 Mar 2009 09:05:45 -0400 (EDT) Date: Wed, 11 Mar 2009 14:05:33 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090311140533.3d3d6912@mjolnir.ossman.eu> In-Reply-To: <20090311082038.GA32129@localhost> References: <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> <20090311085738.4233df4e@mjolnir.ossman.eu> <20090311082038.GA32129@localhost> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-29370-1236776739-0001-2" Sender: owner-linux-mm@kvack.org To: Wu Fengguang Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar , Steven Rostedt List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-29370-1236776739-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 11 Mar 2009 16:20:38 +0800 Wu Fengguang wrote: >=20 > There are some __get_free_page() calls in kernel/trace/ring_buffer.c, > maybe the pages are consumed by one of them? >=20 Perhaps. I enabled CONFIG_SYSPROF_TRACER (which pulls in ring_buffer.c). That made the "noflags" memory disappear, but the "lru" section is not there. I.e. I've lost about 80 MB instead of 170 MB. The diff against the fully broken conf is now: @@ -3677,17 +3640,16 @@ # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_LKDTM is not set # CONFIG_FAULT_INJECTION is not set -CONFIG_LATENCYTOP=3Dy +# CONFIG_LATENCYTOP is not set # CONFIG_SYSCTL_SYSCALL_CHECK is not set CONFIG_HAVE_FTRACE=3Dy CONFIG_HAVE_DYNAMIC_FTRACE=3Dy -CONFIG_TRACER_MAX_TRACE=3Dy CONFIG_TRACING=3Dy # CONFIG_FTRACE is not set -CONFIG_IRQSOFF_TRACER=3Dy +# CONFIG_IRQSOFF_TRACER is not set CONFIG_SYSPROF_TRACER=3Dy -CONFIG_SCHED_TRACER=3Dy -CONFIG_CONTEXT_SWITCH_TRACER=3Dy +# CONFIG_SCHED_TRACER is not set +# CONFIG_CONTEXT_SWITCH_TRACER is not set # CONFIG_FTRACE_STARTUP_TEST is not set CONFIG_PROVIDE_OHCI1394_DMA_INIT=3Dy # CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-29370-1236776739-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm3tyAACgkQ7b8eESbyJLgvlACffpZyHkKxIgTRU6+LpS1Kua0H xi4AoIXYSSbfsWQroHvi62IKT93mXqUg =OadP -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-29370-1236776739-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail191.messagelabs.com (mail191.messagelabs.com [216.82.242.19]) by kanga.kvack.org (Postfix) with SMTP id 821E36B003D for ; Wed, 11 Mar 2009 10:25:11 -0400 (EDT) Date: Wed, 11 Mar 2009 10:25:10 -0400 (EDT) From: Steven Rostedt Subject: Re: [Bug 12832] New: kernel leaks a lot of memory In-Reply-To: <20090311073619.GA26691@localhost> Message-ID: References: <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org To: Wu Fengguang Cc: Pierre Ossman , Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar List-ID: On Wed, 11 Mar 2009, Wu Fengguang wrote: > > > > > > > > > > This 80MB noflags pages together with the below 80MB lru pages are > > > > > very close to the missing page numbers :-) Could you run the following > > > > > commands on fresh booted 2.6.27 and post the output files? Thank you! > > > > > > > > > > dd if=/dev/zero of=/tmp/s bs=1M count=1 seek=1024 > > > > > cp /tmp/s /dev/null > > > > > > > > > > ./page-flags > flags > > > > > ./page-areas =0x20000 > areas-noflags > > > > > ./page-areas =0x00020 > areas-lru > > > > > > > > > > > > > Attached. > > > > > > Thank you very much! > > > > > > > I have to say, the patterns look very much like some kind of leak. > > > > > > Wow it looks really interesting. The lru pages and noflags pages make > > > perfect 1-page interleaved pattern... > > > > > > > Another breakthrough. I turned off everything in kernel/trace, and now > > the missing memory is back. Here's the relevant diff against the > > original .config: > > [..] > > > > I'll enable them one at a time and see when the bug reappears, but if > > you have some ideas on which it could be, that would be helpful. The > > machine takes some time to recompile a kernel. :) > > A quick question: are there any possibility of ftrace memory reservation? The ring buffer is allocated at start up (although I'm thinking of making it allocated when it is first used), and the allocations are done percpu. It allocates around 3 megs per cpu. How many CPUs were on this box? -- Steve -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail138.messagelabs.com (mail138.messagelabs.com [216.82.249.35]) by kanga.kvack.org (Postfix) with ESMTP id D129D6B003D for ; Wed, 11 Mar 2009 10:35:15 -0400 (EDT) Date: Wed, 11 Mar 2009 15:35:01 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090311153501.137d407c@mjolnir.ossman.eu> In-Reply-To: References: <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-29935-1236782108-0001-2" Sender: owner-linux-mm@kvack.org To: Steven Rostedt Cc: Wu Fengguang , Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-29935-1236782108-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 11 Mar 2009 10:25:10 -0400 (EDT) Steven Rostedt wrote: >=20 > The ring buffer is allocated at start up (although I'm thinking of making= =20 > it allocated when it is first used), and the allocations are done percpu.= =20 >=20 > It allocates around 3 megs per cpu. How many CPUs were on this box? >=20 One. :) Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-29935-1236782108-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm3zBcACgkQ7b8eESbyJLjVxwCg56GUywOQy3dntp2lEV+ualgJ XXMAoKuItBx3lf0UusK/dq3S3nJae0Nb =ir0G -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-29935-1236782108-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail202.messagelabs.com (mail202.messagelabs.com [216.82.254.227]) by kanga.kvack.org (Postfix) with ESMTP id 528166B0047 for ; Wed, 11 Mar 2009 11:02:34 -0400 (EDT) Date: Wed, 11 Mar 2009 16:02:23 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090311160223.638b4bc9@mjolnir.ossman.eu> In-Reply-To: <20090311130022.GA22453@localhost> References: <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> <20090311085738.4233df4e@mjolnir.ossman.eu> <20090311130022.GA22453@localhost> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-30314-1236783748-0001-2" Sender: owner-linux-mm@kvack.org To: Wu Fengguang Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar , Steven Rostedt List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-30314-1236783748-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 11 Mar 2009 21:00:22 +0800 Wu Fengguang wrote: >=20 > I worked up a simple debugging patch. Since the missing pages are > continuously spanned, several stack dumping shall be enough to catch > the page consumer. >=20 > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 27b8681..c0df7fd 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -1087,6 +1087,13 @@ again: > goto failed; > } > =20 > + /* wfg - hunting the 40000 missing pages */ > + { > + unsigned long pfn =3D page_to_pfn(page); > + if (pfn > 0x1000 && (pfn & 0xfff) <=3D 1) > + dump_stack(); > + } > + > __count_zone_vm_events(PGALLOC, zone, 1 << order); > zone_statistics(preferred_zone, zone); > local_irq_restore(flags); This got very noisy, but here's what was in the ring buffer once it had booted. Note that this is where only the "noflags" pages have been allocated, not "lru". Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-30314-1236783748-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm30oIACgkQ7b8eESbyJLhyFwCdFE08E6xqSncPVEADFyGmHdEk O0MAoJ+MIAeWo4GgXq3yTeQns17WFI4k =ePbY -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-30314-1236783748-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail137.messagelabs.com (mail137.messagelabs.com [216.82.249.19]) by kanga.kvack.org (Postfix) with SMTP id E89886B003D for ; Wed, 11 Mar 2009 11:47:18 -0400 (EDT) Date: Wed, 11 Mar 2009 11:47:16 -0400 (EDT) From: Steven Rostedt Subject: Re: [Bug 12832] New: kernel leaks a lot of memory In-Reply-To: <20090311160223.638b4bc9@mjolnir.ossman.eu> Message-ID: References: <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> <20090311085738.4233df4e@mjolnir.ossman.eu> <20090311130022.GA22453@localhost> <20090311160223.638b4bc9@mjolnir.ossman.eu> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Wu Fengguang , Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar List-ID: On Wed, 11 Mar 2009, Pierre Ossman wrote: > On Wed, 11 Mar 2009 21:00:22 +0800 > Wu Fengguang wrote: > > > > > I worked up a simple debugging patch. Since the missing pages are > > continuously spanned, several stack dumping shall be enough to catch > > the page consumer. > > > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > > index 27b8681..c0df7fd 100644 > > --- a/mm/page_alloc.c > > +++ b/mm/page_alloc.c > > @@ -1087,6 +1087,13 @@ again: > > goto failed; > > } > > > > + /* wfg - hunting the 40000 missing pages */ > > + { > > + unsigned long pfn = page_to_pfn(page); > > + if (pfn > 0x1000 && (pfn & 0xfff) <= 1) > > + dump_stack(); > > + } > > + > > __count_zone_vm_events(PGALLOC, zone, 1 << order); > > zone_statistics(preferred_zone, zone); > > local_irq_restore(flags); > > This got very noisy, but here's what was in the ring buffer once it had > booted. > > Note that this is where only the "noflags" pages have been allocated, > not "lru". BTW, which kernel are you testing? 2.6.27, ftrace had its own special buffering system. It played tricks with the page structs of the pages in the buffer. It used the lru parts of the pages to link list itself. I just booted on a straight 2.6.27 with tracing configured. # cat /debug/tracing/trace_entries 65586 This is the old method to see the amount of data used. There are a total of 65,586 entries all of 88 bytes each: 5,771,568 And since we also have a "snapshot" buffer for max latencies, the total is: 11,543,136. That is quite a lot of memory for one CPU :-/ Starting with 2.6.28, we now have the unified ring buffer. It removes all of the page struct hackery in the original code. In 2.6.28, the trace_entries is a misnomer. The conversion to the ring buffer brought had the change from representing the number of entries (entries in the ring buffer are now variable length) and the count is the number of bytes each CPU buffer takes up (*2 because of the "snapshot" buffer). # cat /debug/tracing/trace_entries 1441792 Now we have 1,441,792 or about 3 megs as the default. Today, we now have it as: # cat /debug/tracing/buffer_size_kb 1410 Still the 3 megs. But going from 10Megs a CPU, to 3Megs is a big difference. Do you see the same amout of lost memory with the later kernels? I'll have to make the option to expand the ring buffer when a tracer is registered. That will be the default option. -- Steve -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail138.messagelabs.com (mail138.messagelabs.com [216.82.249.35]) by kanga.kvack.org (Postfix) with ESMTP id 4F7126B003D for ; Wed, 11 Mar 2009 12:46:49 -0400 (EDT) Date: Wed, 11 Mar 2009 17:46:38 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090311174638.2e964c0b@mjolnir.ossman.eu> In-Reply-To: References: <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> <20090311085738.4233df4e@mjolnir.ossman.eu> <20090311130022.GA22453@localhost> <20090311160223.638b4bc9@mjolnir.ossman.eu> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-31191-1236790003-0001-2" Sender: owner-linux-mm@kvack.org To: Steven Rostedt Cc: Wu Fengguang , Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-31191-1236790003-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 11 Mar 2009 11:47:16 -0400 (EDT) Steven Rostedt wrote: >=20 > BTW, which kernel are you testing? 2.6.27, ftrace had its own special=20 > buffering system. It played tricks with the page structs of the pages in= =20 > the buffer. It used the lru parts of the pages to link list itself. > I just booted on a straight 2.6.27 with tracing configured. >=20 I've been primarily testing 2.6.27, yes. I think I tested 2.6.29-rc7 at the beginning of this, but my memory is a bit fuzzy so I better retest. Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-31191-1236790003-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm36vAACgkQ7b8eESbyJLh6vACggHvoj19x7ppJnBcnLSwphdSJ sAkAnjP4U1uIoPFGiQD6XkqNHZ6gqjP0 =euqX -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-31191-1236790003-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail203.messagelabs.com (mail203.messagelabs.com [216.82.254.243]) by kanga.kvack.org (Postfix) with ESMTP id 6A0926B003D for ; Wed, 11 Mar 2009 12:56:06 -0400 (EDT) Date: Wed, 11 Mar 2009 17:55:56 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090311175556.2a127801@mjolnir.ossman.eu> In-Reply-To: References: <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-31232-1236790560-0001-2" Sender: owner-linux-mm@kvack.org To: Steven Rostedt Cc: Wu Fengguang , Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-31232-1236790560-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 11 Mar 2009 10:25:10 -0400 (EDT) Steven Rostedt wrote: >=20 > The ring buffer is allocated at start up (although I'm thinking of making= =20 > it allocated when it is first used), and the allocations are done percpu.= =20 >=20 > It allocates around 3 megs per cpu. How many CPUs were on this box? >=20 Is this per actual CPU though? Or per CONFIG_NR_CPUS? 3 MB times 64 equals roughly the lost memory. But then again, you said it was 10 MB per CPU for 2.6.27... Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-31232-1236790560-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm37R8ACgkQ7b8eESbyJLiZ1gCcDq+EJwYimHQXQ/I8DL2z0IRB ktIAnAjk00R4DSgcpJjyz1jvdfVI3wgV =ctsG -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-31232-1236790560-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail137.messagelabs.com (mail137.messagelabs.com [216.82.249.19]) by kanga.kvack.org (Postfix) with SMTP id 0917E6B003D for ; Wed, 11 Mar 2009 13:28:33 -0400 (EDT) Date: Wed, 11 Mar 2009 13:28:31 -0400 (EDT) From: Steven Rostedt Subject: Re: [Bug 12832] New: kernel leaks a lot of memory In-Reply-To: <20090311175556.2a127801@mjolnir.ossman.eu> Message-ID: References: <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> <20090311175556.2a127801@mjolnir.ossman.eu> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Wu Fengguang , Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar List-ID: On Wed, 11 Mar 2009, Pierre Ossman wrote: > On Wed, 11 Mar 2009 10:25:10 -0400 (EDT) > Steven Rostedt wrote: > > > > > The ring buffer is allocated at start up (although I'm thinking of making > > it allocated when it is first used), and the allocations are done percpu. > > > > It allocates around 3 megs per cpu. How many CPUs were on this box? > > > > Is this per actual CPU though? Or per CONFIG_NR_CPUS? 3 MB times 64 > equals roughly the lost memory. But then again, you said it was 10 MB > per CPU for 2.6.27... It uses the possible_cpu mask. How many possible CPUs are on your box? I've thought about making this handle hot plug CPUs, but that will require a little more overhead for everyone, whether or not you hot plug a cpu. -- Steve -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail144.messagelabs.com (mail144.messagelabs.com [216.82.254.51]) by kanga.kvack.org (Postfix) with ESMTP id 65BEF6B003D for ; Wed, 11 Mar 2009 14:34:20 -0400 (EDT) Date: Wed, 11 Mar 2009 19:33:58 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090311193358.194cf3fb@mjolnir.ossman.eu> In-Reply-To: References: <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> <20090311175556.2a127801@mjolnir.ossman.eu> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-31788-1236796453-0001-2" Sender: owner-linux-mm@kvack.org To: Steven Rostedt Cc: Wu Fengguang , Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-31788-1236796453-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 11 Mar 2009 13:28:31 -0400 (EDT) Steven Rostedt wrote: >=20 > On Wed, 11 Mar 2009, Pierre Ossman wrote: >=20 > >=20 > > Is this per actual CPU though? Or per CONFIG_NR_CPUS? 3 MB times 64 > > equals roughly the lost memory. But then again, you said it was 10 MB > > per CPU for 2.6.27... >=20 > It uses the possible_cpu mask. How many possible CPUs are on your box?=20 > I've thought about making this handle hot plug CPUs, but that will > require a little more overhead for everyone, whether or not you hot plug = a=20 > cpu. >=20 CONFIG_NR_CPUS is 64 for these compiles. Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-31788-1236796453-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm4BB0ACgkQ7b8eESbyJLibBgCgsNDwvOTUfJ/aYynnnXBPbXEQ zT4AoNDMbw9qOyx4eipI3LCQo+bI11q0 =z9Wh -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-31788-1236796453-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail137.messagelabs.com (mail137.messagelabs.com [216.82.249.19]) by kanga.kvack.org (Postfix) with SMTP id 2676F6B004D for ; Wed, 11 Mar 2009 14:48:04 -0400 (EDT) Date: Wed, 11 Mar 2009 14:48:02 -0400 (EDT) From: Steven Rostedt Subject: Re: [Bug 12832] New: kernel leaks a lot of memory In-Reply-To: <20090311193358.194cf3fb@mjolnir.ossman.eu> Message-ID: References: <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> <20090311175556.2a127801@mjolnir.ossman.eu> <20090311193358.194cf3fb@mjolnir.ossman.eu> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Wu Fengguang , Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar List-ID: On Wed, 11 Mar 2009, Pierre Ossman wrote: > On Wed, 11 Mar 2009 13:28:31 -0400 (EDT) > Steven Rostedt wrote: > > > > > On Wed, 11 Mar 2009, Pierre Ossman wrote: > > > > > > > > Is this per actual CPU though? Or per CONFIG_NR_CPUS? 3 MB times 64 > > > equals roughly the lost memory. But then again, you said it was 10 MB > > > per CPU for 2.6.27... > > > > It uses the possible_cpu mask. How many possible CPUs are on your box? > > I've thought about making this handle hot plug CPUs, but that will > > require a little more overhead for everyone, whether or not you hot plug a > > cpu. > > > > CONFIG_NR_CPUS is 64 for these compiles. Hmm, I assumed (but could be wrong) that on boot up, the system checked how many CPUs were physically possible, and updated the possible CPU mask accordingly (default being NR_CPUS). If this is not the case, then I'll have to implement hot plug allocation. :-/ Thanks, -- Steve -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail144.messagelabs.com (mail144.messagelabs.com [216.82.254.51]) by kanga.kvack.org (Postfix) with ESMTP id 321FD6B004D for ; Wed, 11 Mar 2009 14:56:09 -0400 (EDT) Date: Wed, 11 Mar 2009 19:56:01 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090311195601.47fe7798@mjolnir.ossman.eu> In-Reply-To: References: <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> <20090311175556.2a127801@mjolnir.ossman.eu> <20090311193358.194cf3fb@mjolnir.ossman.eu> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-32161-1236797763-0001-2" Sender: owner-linux-mm@kvack.org To: Steven Rostedt Cc: Wu Fengguang , Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-32161-1236797763-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 11 Mar 2009 14:48:02 -0400 (EDT) Steven Rostedt wrote: >=20 > Hmm, I assumed (but could be wrong) that on boot up, the system checked=20 > how many CPUs were physically possible, and updated the possible CPU=20 > mask accordingly (default being NR_CPUS). >=20 > If this is not the case, then I'll have to implement hot plug allocation.= =20 > :-/ >=20 I have no idea, but every system doesn't suffer from this problem so there is something more to this. Modern fedora kernels have NR_CPUS set to 512, and it's not like I'm missing 1.5 GB here. :) Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-32161-1236797763-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm4CUMACgkQ7b8eESbyJLhc/QCgjOd3Gs+9hrUfGSPEl19lSUnK F4IAoMqy0GGcYNIOGB8bXzXoqqh09MbN =3qhX -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-32161-1236797763-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail172.messagelabs.com (mail172.messagelabs.com [216.82.254.3]) by kanga.kvack.org (Postfix) with SMTP id A4AC56B003D for ; Wed, 11 Mar 2009 15:03:45 -0400 (EDT) Date: Wed, 11 Mar 2009 15:03:38 -0400 (EDT) From: Steven Rostedt Subject: Re: [Bug 12832] New: kernel leaks a lot of memory In-Reply-To: <20090311195601.47fe7798@mjolnir.ossman.eu> Message-ID: References: <20090310024135.GA6832@localhost> <20090310081917.GA28968@localhost> <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> <20090311175556.2a127801@mjolnir.ossman.eu> <20090311193358.194cf3fb@mjolnir.ossman.eu> <20090311195601.47fe7798@mjolnir.ossman.eu> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Wu Fengguang , Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar List-ID: On Wed, 11 Mar 2009, Pierre Ossman wrote: > On Wed, 11 Mar 2009 14:48:02 -0400 (EDT) > Steven Rostedt wrote: > > > > > Hmm, I assumed (but could be wrong) that on boot up, the system checked > > how many CPUs were physically possible, and updated the possible CPU > > mask accordingly (default being NR_CPUS). > > > > If this is not the case, then I'll have to implement hot plug allocation. > > :-/ > > > > I have no idea, but every system doesn't suffer from this problem so > there is something more to this. Modern fedora kernels have NR_CPUS set > to 512, and it's not like I'm missing 1.5 GB here. :) > I'm thinking it is a system dependent feature. I'm working on implementing the ring buffers to only allocate for online CPUS. I just realized that there's a check of a ring buffer cpu mask to see if it is OK to write to that CPU buffer. This works out perfectly, to keep non allocated buffers from being written to. Thanks, -- Steve -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail137.messagelabs.com (mail137.messagelabs.com [216.82.249.19]) by kanga.kvack.org (Postfix) with ESMTP id 428F76B003D for ; Wed, 11 Mar 2009 17:44:19 -0400 (EDT) Date: Wed, 11 Mar 2009 22:43:53 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090311224353.166887c9@mjolnir.ossman.eu> In-Reply-To: <20090311174638.2e964c0b@mjolnir.ossman.eu> References: <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> <20090311085738.4233df4e@mjolnir.ossman.eu> <20090311130022.GA22453@localhost> <20090311160223.638b4bc9@mjolnir.ossman.eu> <20090311174638.2e964c0b@mjolnir.ossman.eu> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-1057-1236807835-0001-2" Sender: owner-linux-mm@kvack.org To: Steven Rostedt Cc: Wu Fengguang , Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-1057-1236807835-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 11 Mar 2009 17:46:38 +0100 Pierre Ossman wrote: > On Wed, 11 Mar 2009 11:47:16 -0400 (EDT) > Steven Rostedt wrote: >=20 > >=20 > > BTW, which kernel are you testing? 2.6.27, ftrace had its own special= =20 > > buffering system. It played tricks with the page structs of the pages i= n=20 > > the buffer. It used the lru parts of the pages to link list itself. > > I just booted on a straight 2.6.27 with tracing configured. > >=20 >=20 > I've been primarily testing 2.6.27, yes. I think I tested 2.6.29-rc7 at > the beginning of this, but my memory is a bit fuzzy so I better retest. >=20 Annoying... 2.6.28 and newer refuses to boot. Has someone broken the virtio_blk interface? I'll reconfigure it to use piix tomorrow and see if I can get it running. Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-1057-1236807835-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm4MJsACgkQ7b8eESbyJLjvtgCfc/m/8OALovLR8y45FTRofd1I ux4AoOx1ZMluBf/cl5h6Fkien+hr8GF+ =IvRw -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-1057-1236807835-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail143.messagelabs.com (mail143.messagelabs.com [216.82.254.35]) by kanga.kvack.org (Postfix) with SMTP id 004C16B003D for ; Wed, 11 Mar 2009 21:22:12 -0400 (EDT) Date: Thu, 12 Mar 2009 09:08:16 +0800 From: Wu Fengguang Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090312010816.GA6619@localhost> References: <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> <20090311085738.4233df4e@mjolnir.ossman.eu> <20090311130022.GA22453@localhost> <20090311160223.638b4bc9@mjolnir.ossman.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090311160223.638b4bc9@mjolnir.ossman.eu> Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar , Steven Rostedt List-ID: On Wed, Mar 11, 2009 at 05:02:23PM +0200, Pierre Ossman wrote: > On Wed, 11 Mar 2009 21:00:22 +0800 > Wu Fengguang wrote: > > > > > I worked up a simple debugging patch. Since the missing pages are > > continuously spanned, several stack dumping shall be enough to catch > > the page consumer. > > > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > > index 27b8681..c0df7fd 100644 > > --- a/mm/page_alloc.c > > +++ b/mm/page_alloc.c > > @@ -1087,6 +1087,13 @@ again: > > goto failed; > > } > > > > + /* wfg - hunting the 40000 missing pages */ > > + { > > + unsigned long pfn = page_to_pfn(page); > > + if (pfn > 0x1000 && (pfn & 0xfff) <= 1) > > + dump_stack(); > > + } > > + > > __count_zone_vm_events(PGALLOC, zone, 1 << order); > > zone_statistics(preferred_zone, zone); > > local_irq_restore(flags); > > This got very noisy, but here's what was in the ring buffer once it had > booted. It's about 20 stack dumps, hehe. Could you please paste some of them? Thank you! > Note that this is where only the "noflags" pages have been allocated, > not "lru". The lru pages have even numbered pfn, the noflags pages have odd numbered pfn. So if it's 1-page allocations, the ((pfn & 0xfff) <= 1) will match both lru and noflags pages. Thanks, Fengguang -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail191.messagelabs.com (mail191.messagelabs.com [216.82.242.19]) by kanga.kvack.org (Postfix) with SMTP id 6C7D66B004D for ; Wed, 11 Mar 2009 22:46:35 -0400 (EDT) Received: from m2.gw.fujitsu.co.jp ([10.0.50.72]) by fgwmail5.fujitsu.co.jp (Fujitsu Gateway) with ESMTP id n2C2kW7r010085 for (envelope-from kosaki.motohiro@jp.fujitsu.com); Thu, 12 Mar 2009 11:46:33 +0900 Received: from smail (m2 [127.0.0.1]) by outgoing.m2.gw.fujitsu.co.jp (Postfix) with ESMTP id 6E38D45DE61 for ; Thu, 12 Mar 2009 11:46:32 +0900 (JST) Received: from s2.gw.fujitsu.co.jp (s2.gw.fujitsu.co.jp [10.0.50.92]) by m2.gw.fujitsu.co.jp (Postfix) with ESMTP id 474D845DE51 for ; Thu, 12 Mar 2009 11:46:32 +0900 (JST) Received: from s2.gw.fujitsu.co.jp (localhost.localdomain [127.0.0.1]) by s2.gw.fujitsu.co.jp (Postfix) with ESMTP id 2F7C8E38002 for ; Thu, 12 Mar 2009 11:46:32 +0900 (JST) Received: from m107.s.css.fujitsu.com (m107.s.css.fujitsu.com [10.249.87.107]) by s2.gw.fujitsu.co.jp (Postfix) with ESMTP id D9F0DE18006 for ; Thu, 12 Mar 2009 11:46:31 +0900 (JST) From: KOSAKI Motohiro Subject: Re: [Bug 12832] New: kernel leaks a lot of memory In-Reply-To: References: <20090311195601.47fe7798@mjolnir.ossman.eu> Message-Id: <20090312114503.43AB.A69D9226@jp.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Date: Thu, 12 Mar 2009 11:46:31 +0900 (JST) Sender: owner-linux-mm@kvack.org To: Steven Rostedt , Pierre Ossman Cc: kosaki.motohiro@jp.fujitsu.com, Wu Fengguang , Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar List-ID: > > On Wed, 11 Mar 2009, Pierre Ossman wrote: > > > On Wed, 11 Mar 2009 14:48:02 -0400 (EDT) > > Steven Rostedt wrote: > > > > > > > > Hmm, I assumed (but could be wrong) that on boot up, the system checked > > > how many CPUs were physically possible, and updated the possible CPU > > > mask accordingly (default being NR_CPUS). > > > > > > If this is not the case, then I'll have to implement hot plug allocation. > > > :-/ Pierre, Could you please operate following command and post result? # cat /sys/devices/system/cpu/possible this is outputting the possible cpus of your system. > > I have no idea, but every system doesn't suffer from this problem so > > there is something more to this. Modern fedora kernels have NR_CPUS set > > to 512, and it's not like I'm missing 1.5 GB here. :) > > > > I'm thinking it is a system dependent feature. I'm working on implementing > the ring buffers to only allocate for online CPUS. I just realized that > there's a check of a ring buffer cpu mask to see if it is OK to write to > that CPU buffer. This works out perfectly, to keep non allocated buffers > from being written to. > > Thanks, > > -- Steve > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo@kvack.org. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: email@kvack.org -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail203.messagelabs.com (mail203.messagelabs.com [216.82.254.243]) by kanga.kvack.org (Postfix) with ESMTP id F3D356B003D for ; Thu, 12 Mar 2009 02:50:23 -0400 (EDT) Date: Thu, 12 Mar 2009 07:50:04 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090312075004.059feb5e@mjolnir.ossman.eu> In-Reply-To: <20090311224353.166887c9@mjolnir.ossman.eu> References: <20090310105523.3dfd4873@mjolnir.ossman.eu> <20090310122210.GA8415@localhost> <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> <20090311085738.4233df4e@mjolnir.ossman.eu> <20090311130022.GA22453@localhost> <20090311160223.638b4bc9@mjolnir.ossman.eu> <20090311174638.2e964c0b@mjolnir.ossman.eu> <20090311224353.166887c9@mjolnir.ossman.eu> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-6157-1236840609-0001-2" Sender: owner-linux-mm@kvack.org Cc: Steven Rostedt , Wu Fengguang , Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-6157-1236840609-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 11 Mar 2009 22:43:53 +0100 Pierre Ossman wrote: >=20 > I'll reconfigure it to use piix tomorrow and see if I can get it > running. >=20 No dice. In both cases (virtio_blk and piix), it sees the disk and reads the partitions, but then fails to find any volume groups. Does this ring any bells? Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-6157-1236840609-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm4sJ8ACgkQ7b8eESbyJLh+PQCfQwTDWHDNlSEvjeMUHvRmeuQ9 FhsAni4hiJwb9mosW6AJ8YSlEbqcmXW8 =Ln84 -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-6157-1236840609-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail172.messagelabs.com (mail172.messagelabs.com [216.82.254.3]) by kanga.kvack.org (Postfix) with ESMTP id 18F426B0047 for ; Thu, 12 Mar 2009 02:53:15 -0400 (EDT) Date: Thu, 12 Mar 2009 07:53:06 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090312075306.41c3f65e@mjolnir.ossman.eu> In-Reply-To: <20090312114503.43AB.A69D9226@jp.fujitsu.com> References: <20090311195601.47fe7798@mjolnir.ossman.eu> <20090312114503.43AB.A69D9226@jp.fujitsu.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-6187-1236840789-0001-2" Sender: owner-linux-mm@kvack.org To: KOSAKI Motohiro Cc: Steven Rostedt , Wu Fengguang , Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-6187-1236840789-0001-2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Thu, 12 Mar 2009 11:46:31 +0900 (JST) KOSAKI Motohiro wrote: >=20 > Pierre, Could you please operate following command and post result? >=20 > # cat /sys/devices/system/cpu/possible >=20 [root@builder ~]# cat /sys/devices/system/cpu/possible 0-15 16 times 11 MB also is the amount of lost memory, so this seems reasonable. Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --=_freyr.drzeus.cx-6187-1236840789-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm4sVUACgkQ7b8eESbyJLiIxwCfSHTleByopVL5U3I+yadrRAm0 gmsAn0R1f/mS6qNknwa/SdMSMIu2cShB =NXR7 -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-6187-1236840789-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail203.messagelabs.com (mail203.messagelabs.com [216.82.254.243]) by kanga.kvack.org (Postfix) with ESMTP id 794656B0047 for ; Thu, 12 Mar 2009 02:55:44 -0400 (EDT) Date: Thu, 12 Mar 2009 07:55:30 +0100 From: Pierre Ossman Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090312075530.2bd42f81@mjolnir.ossman.eu> In-Reply-To: <20090312010816.GA6619@localhost> References: <20090310131155.GA9654@localhost> <20090310212118.7bf17af6@mjolnir.ossman.eu> <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> <20090311085738.4233df4e@mjolnir.ossman.eu> <20090311130022.GA22453@localhost> <20090311160223.638b4bc9@mjolnir.ossman.eu> <20090312010816.GA6619@localhost> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; protocol="application/pgp-signature"; boundary="=_freyr.drzeus.cx-6217-1236840934-0001-2" Sender: owner-linux-mm@kvack.org To: Wu Fengguang Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar , Steven Rostedt List-ID: This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_freyr.drzeus.cx-6217-1236840934-0001-2 Content-Type: multipart/mixed; boundary="MP_/ykKepuO.KUS18NYxT_aKF3_" --MP_/ykKepuO.KUS18NYxT_aKF3_ Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Thu, 12 Mar 2009 09:08:16 +0800 Wu Fengguang wrote: > On Wed, Mar 11, 2009 at 05:02:23PM +0200, Pierre Ossman wrote: > > On Wed, 11 Mar 2009 21:00:22 +0800 > > Wu Fengguang wrote: > >=20 > > >=20 > > > I worked up a simple debugging patch. Since the missing pages are > > > continuously spanned, several stack dumping shall be enough to catch > > > the page consumer. > > >=20 > > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > > > index 27b8681..c0df7fd 100644 > > > --- a/mm/page_alloc.c > > > +++ b/mm/page_alloc.c > > > @@ -1087,6 +1087,13 @@ again: > > > goto failed; > > > } > > > =20 > > > + /* wfg - hunting the 40000 missing pages */ > > > + { > > > + unsigned long pfn =3D page_to_pfn(page); > > > + if (pfn > 0x1000 && (pfn & 0xfff) <=3D 1) > > > + dump_stack(); > > > + } > > > + > > > __count_zone_vm_events(PGALLOC, zone, 1 << order); > > > zone_statistics(preferred_zone, zone); > > > local_irq_restore(flags); > >=20 > > This got very noisy, but here's what was in the ring buffer once it had > > booted. >=20 > It's about 20 stack dumps, hehe. Could you please paste some of them? > Thank you! >=20 Ooops, I meant to attach the dmesg output. Let's try again. :) Rgds --=20 -- Pierre Ossman WARNING: This correspondence is being monitored by the Swedish government. Make sure your server uses encryption for SMTP traffic and consider using PGP for end-to-end encryption. --MP_/ykKepuO.KUS18NYxT_aKF3_ Content-Type: application/octet-stream; name=dmesg.stacktrace Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=dmesg.stacktrace PiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgp0eXBlPTE0MDAgYXVk aXQoMTIzNjg0MDIzNy44ODI6NCk6IGF2YzogIGRlbmllZCAgeyByZWFkIH0gZm9yICBwaWQ9MTE2 OCBjb21tPSJtb3VudCIgbmFtZT0iZG0tMSIgZGV2PXN5c2ZzIGlubz01NjAwIHNjb250ZXh0PXN5 c3RlbV91OnN5c3RlbV9yOm1vdW50X3Q6czAgdGNvbnRleHQ9c3lzdGVtX3U6b2JqZWN0X3I6c3lz ZnNfdDpzMCB0Y2xhc3M9bG5rX2ZpbGUKdHlwZT0xNDAwIGF1ZGl0KDEyMzY4NDAyMzcuODgyOjUp OiBhdmM6ICBkZW5pZWQgIHsgcmVhZCB9IGZvciAgcGlkPTExNjggY29tbT0ibW91bnQiIG5hbWU9 ImRtLTAiIGRldj1zeXNmcyBpbm89NTU3MSBzY29udGV4dD1zeXN0ZW1fdTpzeXN0ZW1fcjptb3Vu dF90OnMwIHRjb250ZXh0PXN5c3RlbV91Om9iamVjdF9yOnN5c2ZzX3Q6czAgdGNsYXNzPWxua19m aWxlCmtqb3VybmFsZCBzdGFydGluZy4gIENvbW1pdCBpbnRlcnZhbCA1IHNlY29uZHMKRVhUMyBG UyBvbiB2ZGExLCBpbnRlcm5hbCBqb3VybmFsCkVYVDMtZnM6IG1vdW50ZWQgZmlsZXN5c3RlbSB3 aXRoIG9yZGVyZWQgZGF0YSBtb2RlLgpTRUxpbnV4OiBpbml0aWFsaXplZCAoZGV2IHZkYTEsIHR5 cGUgZXh0MyksIHVzZXMgeGF0dHIKU0VMaW51eDogaW5pdGlhbGl6ZWQgKGRldiB0bXBmcywgdHlw ZSB0bXBmcyksIHVzZXMgdHJhbnNpdGlvbiBTSURzCkFkZGluZyA1MjQyODBrIHN3YXAgb24gL2Rl di9tYXBwZXIvVm9sR3JvdXAwMC1Mb2dWb2wwMS4gIFByaW9yaXR5Oi0xIGV4dGVudHM6MSBhY3Jv c3M6NTI0MjgwawpTRUxpbnV4OiBpbml0aWFsaXplZCAoZGV2IGJpbmZtdF9taXNjLCB0eXBlIGJp bmZtdF9taXNjKSwgdXNlcyBnZW5mc19jb250ZXh0cwpQaWQ6IDEyNTEsIGNvbW06IG1vZHByb2Jl IFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4 MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIvMHg2NwogWzxmZmZmZmZmZjgxMDhlMDIx Pl0gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgxMDhlNWZi Pl0gX19hbGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEwMjUzYzY+ XSA/IGt2bV9tbXVfd3JpdGUrMHgyZS8weDM1CiBbPGZmZmZmZmZmODEwYWI4ZDg+XSBhbGxvY19w YWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5OTA0OT5dIGhhbmRsZV9tbV9mYXVsdCsw eDFiMy8weDg1ZAogWzxmZmZmZmZmZjgxMTNhNGRlPl0gPyBibGtfcmVjb3VudF9zZWdtZW50cysw eDNlLzB4NjgKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUK IFs8ZmZmZmZmZmY4MTE0MmJlZD5dID8gY2ZxX2FkZF9ycV9yYisweGI0LzB4Y2EKIFs8ZmZmZmZm ZmY4MTE0MmM3NT5dID8gY2ZxX2luc2VydF9yZXF1ZXN0KzB4NzIvMHgzNDMKIFs8ZmZmZmZmZmY4 MTEzNWJhZT5dID8gZWx2X3JiX2RlbCsweDJhLzB4M2YKIFs8ZmZmZmZmZmY4MTE0MmE3Yj5dID8g Y2ZxX3JlbW92ZV9yZXF1ZXN0KzB4MTZhLzB4MWJiCiBbPGZmZmZmZmZmODExNDVkYTU+XSA/IF9f bmV4dF9jcHUrMHgxOS8weDI2CiBbPGZmZmZmZmZmODEwMzU5NGM+XSA/IGZpbmRfYnVzaWVzdF9n cm91cCsweDMyNy8weDdkNQogWzxmZmZmZmZmZjgxMDBlNzY3Pl0gPyBfX3N3aXRjaF90bysweDEw OS8weDNlMAogWzxmZmZmZmZmZjgxMDNjNWE2Pl0gPyBmaW5pc2hfdGFza19zd2l0Y2grMHgyYi8w eGM0CiBbPGZmZmZmZmZmODEyYjkxZDA+XSA/IHRocmVhZF9yZXR1cm4rMHhhNi8weGQ0CiBbPGZm ZmZmZmZmODEwNTc5MDc+XSA/IGdldG5zdGltZW9mZGF5KzB4M2EvMHg5NgogWzxmZmZmZmZmZjgx MDgxNjAzPl0gPyBkZWxheWFjY3RfZW5kKzB4ODEvMHg4YwogWzxmZmZmZmZmZjgxMDgxNjcyPl0g PyBfX2RlbGF5YWNjdF9ibGtpb19lbmQrMHgzOS8weDNiCiBbPGZmZmZmZmZmODEyYmFiMWE+XSBl cnJvcl9leGl0KzB4MC8weDcwCiBbPGZmZmZmZmZmODEwODdlZmU+XSA/IGZpbGVfcmVhZF9hY3Rv cisweDUxLzB4MTAwCiBbPGZmZmZmZmZmODEwODdmNTQ+XSA/IGZpbGVfcmVhZF9hY3RvcisweGE3 LzB4MTAwCiBbPGZmZmZmZmZmODEwODlmY2U+XSBnZW5lcmljX2ZpbGVfYWlvX3JlYWQrMHgzNDEv MHg1NjQKIFs8ZmZmZmZmZmY4MTBiOTE4NT5dIGRvX3N5bmNfcmVhZCsweGU3LzB4MTJkCiBbPGZm ZmZmZmZmODEwOWM3ZjU+XSA/IHJlbW92ZV92bWErMHg3ZC8weDg1CiBbPGZmZmZmZmZmODEwNTI5 ZTU+XSA/IGF1dG9yZW1vdmVfd2FrZV9mdW5jdGlvbisweDAvMHgzOAogWzxmZmZmZmZmZjgxMTIy MWNlPl0gPyBzZWxpbnV4X2ZpbGVfcGVybWlzc2lvbisweGFmLzB4YjgKIFs8ZmZmZmZmZmY4MTEx YjAzOD5dID8gc2VjdXJpdHlfZmlsZV9wZXJtaXNzaW9uKzB4MTEvMHgxMwogWzxmZmZmZmZmZjgx MGI5YjAyPl0gdmZzX3JlYWQrMHhhOC8weDEwMgogWzxmZmZmZmZmZjgxMGI5YzIwPl0gc3lzX3Jl YWQrMHg0Ny8weDZlCiBbPGZmZmZmZmZmODEwMTAxZGE+XSBzeXN0ZW1fY2FsbF9mYXN0cGF0aCsw eDE2LzB4MWIKClBpZDogMTI1MSwgY29tbTogbW9kcHJvYmUgVGFpbnRlZDogRyBTICAgICAgICAy LjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRp c3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVs aXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVy bmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTAyNTNjNj5dID8ga3ZtX21tdV93cml0ZSsweDJl LzB4MzUKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxm ZmZmZmZmZjgxMDk5MDQ5Pl0gaGFuZGxlX21tX2ZhdWx0KzB4MWIzLzB4ODVkCiBbPGZmZmZmZmZm ODExM2E0ZGU+XSA/IGJsa19yZWNvdW50X3NlZ21lbnRzKzB4M2UvMHg2OAogWzxmZmZmZmZmZjgx MmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQogWzxmZmZmZmZmZjgxMTQyYmVkPl0g PyBjZnFfYWRkX3JxX3JiKzB4YjQvMHhjYQogWzxmZmZmZmZmZjgxMTQyYzc1Pl0gPyBjZnFfaW5z ZXJ0X3JlcXVlc3QrMHg3Mi8weDM0MwogWzxmZmZmZmZmZjgxMTM1YmFlPl0gPyBlbHZfcmJfZGVs KzB4MmEvMHgzZgogWzxmZmZmZmZmZjgxMTQyYTdiPl0gPyBjZnFfcmVtb3ZlX3JlcXVlc3QrMHgx NmEvMHgxYmIKIFs8ZmZmZmZmZmY4MTE0NWRhNT5dID8gX19uZXh0X2NwdSsweDE5LzB4MjYKIFs8 ZmZmZmZmZmY4MTAzNTk0Yz5dID8gZmluZF9idXNpZXN0X2dyb3VwKzB4MzI3LzB4N2Q1CiBbPGZm ZmZmZmZmODEwMGU3Njc+XSA/IF9fc3dpdGNoX3RvKzB4MTA5LzB4M2UwCiBbPGZmZmZmZmZmODEw M2M1YTY+XSA/IGZpbmlzaF90YXNrX3N3aXRjaCsweDJiLzB4YzQKIFs8ZmZmZmZmZmY4MTJiOTFk MD5dID8gdGhyZWFkX3JldHVybisweGE2LzB4ZDQKIFs8ZmZmZmZmZmY4MTA1NzkwNz5dID8gZ2V0 bnN0aW1lb2ZkYXkrMHgzYS8weDk2CiBbPGZmZmZmZmZmODEwODE2MDM+XSA/IGRlbGF5YWNjdF9l bmQrMHg4MS8weDhjCiBbPGZmZmZmZmZmODEwODE2NzI+XSA/IF9fZGVsYXlhY2N0X2Jsa2lvX2Vu ZCsweDM5LzB4M2IKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKIFs8 ZmZmZmZmZmY4MTA4N2VmZT5dID8gZmlsZV9yZWFkX2FjdG9yKzB4NTEvMHgxMDAKIFs8ZmZmZmZm ZmY4MTA4N2Y1ND5dID8gZmlsZV9yZWFkX2FjdG9yKzB4YTcvMHgxMDAKIFs8ZmZmZmZmZmY4MTA4 OWZjZT5dIGdlbmVyaWNfZmlsZV9haW9fcmVhZCsweDM0MS8weDU2NAogWzxmZmZmZmZmZjgxMGI5 MTg1Pl0gZG9fc3luY19yZWFkKzB4ZTcvMHgxMmQKIFs8ZmZmZmZmZmY4MTA5YzdmNT5dID8gcmVt b3ZlX3ZtYSsweDdkLzB4ODUKIFs8ZmZmZmZmZmY4MTA1MjllNT5dID8gYXV0b3JlbW92ZV93YWtl X2Z1bmN0aW9uKzB4MC8weDM4CiBbPGZmZmZmZmZmODExMjIxY2U+XSA/IHNlbGludXhfZmlsZV9w ZXJtaXNzaW9uKzB4YWYvMHhiOAogWzxmZmZmZmZmZjgxMTFiMDM4Pl0gPyBzZWN1cml0eV9maWxl X3Blcm1pc3Npb24rMHgxMS8weDEzCiBbPGZmZmZmZmZmODEwYjliMDI+XSB2ZnNfcmVhZCsweGE4 LzB4MTAyCiBbPGZmZmZmZmZmODEwYjljMjA+XSBzeXNfcmVhZCsweDQ3LzB4NmUKIFs8ZmZmZmZm ZmY4MTAxMDFkYT5dIHN5c3RlbV9jYWxsX2Zhc3RwYXRoKzB4MTYvMHgxYgoKUGlkOiAxMjUxLCBj b21tOiBtb2Rwcm9iZSBUYWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6 CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVfc3RhdGlzdGljcysweDYyLzB4NjcKIFs8ZmZm ZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQKIFs8ZmZm ZmZmZmY4MTAyNTQ2Yz5dID8ga3ZtX3NldF9wdGVfYXQrMHgyMi8weDJiCiBbPGZmZmZmZmZmODEw OGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTA2 MTZjNj5dID8gbG9hZF9tb2R1bGUrMHgzYy8weDE5ZGQKIFs8ZmZmZmZmZmY4MTBhYjgwZT5dIGFs bG9jX3BhZ2VzX2N1cnJlbnQrMHhiOS8weGMyCiBbPGZmZmZmZmZmODEwYTI5MGU+XSBfX3ZtYWxs b2NfYXJlYV9ub2RlKzB4YzYvMHgxNGIKIFs8ZmZmZmZmZmY4MTA2MTZjNj5dID8gbG9hZF9tb2R1 bGUrMHgzYy8weDE5ZGQKIFs8ZmZmZmZmZmY4MTBhMmEwZj5dIF9fdm1hbGxvY19ub2RlKzB4N2Mv MHg4ZAogWzxmZmZmZmZmZjgxMDYxNmM2Pl0gPyBsb2FkX21vZHVsZSsweDNjLzB4MTlkZAogWzxm ZmZmZmZmZjgxMGEyYTVmPl0gdm1hbGxvYysweDFmLzB4MjEKIFs8ZmZmZmZmZmY4MTA2MTZjNj5d IGxvYWRfbW9kdWxlKzB4M2MvMHgxOWRkCiBbPGZmZmZmZmZmODEwYjkxODU+XSA/IGRvX3N5bmNf cmVhZCsweGU3LzB4MTJkCiBbPGZmZmZmZmZmODExMWRmMzM+XSA/IGF2Y19oYXNfcGVybSsweDRl LzB4NjAKIFs8ZmZmZmZmZmY4MTA5YzdmNT5dID8gcmVtb3ZlX3ZtYSsweDdkLzB4ODUKIFs8ZmZm ZmZmZmY4MTEyMDU0ZT5dID8gc2VsaW51eF9jYXBhYmxlKzB4ODEvMHg4YQogWzxmZmZmZmZmZjgx MDMwZjQ3Pl0gPyBuZWVkX3Jlc2NoZWQrMHgxZS8weDI4CiBbPGZmZmZmZmZmODEwNjMxOWE+XSBz eXNfaW5pdF9tb2R1bGUrMHg1NS8weDFiNgogWzxmZmZmZmZmZjgxMDEwMWRhPl0gc3lzdGVtX2Nh bGxfZmFzdHBhdGgrMHgxNi8weDFiCgpQaWQ6IDEyNTEsIGNvbW06IG1vZHByb2JlIFRhaW50ZWQ6 IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTA4ZTAyMT5d IGdldF9wYWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4MTAyNTQ2Yz5d ID8ga3ZtX3NldF9wdGVfYXQrMHgyMi8weDJiCiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9j X3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTA2MTZjNj5dID8gbG9hZF9t b2R1bGUrMHgzYy8weDE5ZGQKIFs8ZmZmZmZmZmY4MTBhYjgwZT5dIGFsbG9jX3BhZ2VzX2N1cnJl bnQrMHhiOS8weGMyCiBbPGZmZmZmZmZmODEwYTI5MGU+XSBfX3ZtYWxsb2NfYXJlYV9ub2RlKzB4 YzYvMHgxNGIKIFs8ZmZmZmZmZmY4MTA2MTZjNj5dID8gbG9hZF9tb2R1bGUrMHgzYy8weDE5ZGQK IFs8ZmZmZmZmZmY4MTBhMmEwZj5dIF9fdm1hbGxvY19ub2RlKzB4N2MvMHg4ZAogWzxmZmZmZmZm ZjgxMDYxNmM2Pl0gPyBsb2FkX21vZHVsZSsweDNjLzB4MTlkZAogWzxmZmZmZmZmZjgxMGEyYTVm Pl0gdm1hbGxvYysweDFmLzB4MjEKIFs8ZmZmZmZmZmY4MTA2MTZjNj5dIGxvYWRfbW9kdWxlKzB4 M2MvMHgxOWRkCiBbPGZmZmZmZmZmODEwYjkxODU+XSA/IGRvX3N5bmNfcmVhZCsweGU3LzB4MTJk CiBbPGZmZmZmZmZmODExMWRmMzM+XSA/IGF2Y19oYXNfcGVybSsweDRlLzB4NjAKIFs8ZmZmZmZm ZmY4MTA5YzdmNT5dID8gcmVtb3ZlX3ZtYSsweDdkLzB4ODUKIFs8ZmZmZmZmZmY4MTEyMDU0ZT5d ID8gc2VsaW51eF9jYXBhYmxlKzB4ODEvMHg4YQogWzxmZmZmZmZmZjgxMDMwZjQ3Pl0gPyBuZWVk X3Jlc2NoZWQrMHgxZS8weDI4CiBbPGZmZmZmZmZmODEwNjMxOWE+XSBzeXNfaW5pdF9tb2R1bGUr MHg1NS8weDFiNgogWzxmZmZmZmZmZjgxMDEwMWRhPl0gc3lzdGVtX2NhbGxfZmFzdHBhdGgrMHgx Ni8weDFiCgpORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDEwCmxvOiBEaXNhYmxlZCBQ cml2YWN5IEV4dGVuc2lvbnMKaXA2X3RhYmxlczogKEMpIDIwMDAtMjAwNiBOZXRmaWx0ZXIgQ29y ZSBUZWFtCm5mX2Nvbm50cmFjayB2ZXJzaW9uIDAuNS4wICg0MDk2IGJ1Y2tldHMsIDE2Mzg0IG1h eCkKQ09ORklHX05GX0NUX0FDQ1QgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIHNv b24uIFBsYXNlIHVzZQpuZl9jb25udHJhY2suYWNjdD0xIGtlcm5lbCBwYXJhbWF0ZXIsIGFjY3Q9 MSBuZl9jb25udHJhY2sgbW9kdWxlIG9wdGlvbiBvcgpzeXNjdGwgbmV0Lm5ldGZpbHRlci5uZl9j b25udHJhY2tfYWNjdD0xIHRvIGVuYWJsZSBpdC4KaXBfdGFibGVzOiAoQykgMjAwMC0yMDA2IE5l dGZpbHRlciBDb3JlIFRlYW0KUGlkOiAxMzkwLCBjb21tOiBpZnVwLWFsaWFzZXMgVGFpbnRlZDog RyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0g PyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFn ZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9j X3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTAyNTNjNj5dID8ga3ZtX21t dV93cml0ZSsweDJlLzB4MzUKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4 YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk3ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8weDU0YgogWzxm ZmZmZmZmZjgxMDk3MGQ5Pl0gPyBwbWRfYWxsb2MrMHg0MS8weDdjCiBbPGZmZmZmZmZmODEwOTk2 M2E+XSBoYW5kbGVfbW1fZmF1bHQrMHg3YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTA1NTdiYT5dID8g aHJ0aW1lcl9zdGFydCsweDEyZS8weDE1MAogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9m YXVsdCsweDY2NS8weGFhZQogWzxmZmZmZmZmZjgxMDU1N2JhPl0gPyBocnRpbWVyX3N0YXJ0KzB4 MTJlLzB4MTUwCiBbPGZmZmZmZmZmODEwMzM3YzQ+XSA/IGhydGlja19zdGFydF9mYWlyKzB4MTQ3 LzB4MTgyCiBbPGZmZmZmZmZmODEwMzRmNGE+XSA/IGVucXVldWVfdGFza19mYWlyKzB4MWNmLzB4 MWRiCiBbPGZmZmZmZmZmODEwMzBmZTY+XSA/IHJlc2NoZWRfdGFzaysweDUyLzB4OGMKIFs8ZmZm ZmZmZmY4MTAzNmZhZD5dID8gY2hlY2tfcHJlZW1wdF93YWtldXArMHgxMzgvMHgxNDUKIFs8ZmZm ZmZmZmY4MTAzNzg2ZD5dID8gdHJ5X3RvX3dha2VfdXArMHgyNjgvMHgyN2EKIFs8ZmZmZmZmZmY4 MTAzMzQ1ZD5dID8gX19kZXF1ZXVlX2VudGl0eSsweDYxLzB4NjkKIFs8ZmZmZmZmZmY4MTAzMzg5 Mj5dID8gcGlja19uZXh0X3Rhc2tfZmFpcisweDkzLzB4YTMKIFs8ZmZmZmZmZmY4MTAzMWJhNT5d ID8gcGlja19uZXh0X3Rhc2srMHgyNS8weDQxCiBbPGZmZmZmZmZmODEyYmFiMWE+XSA/IGVycm9y X2V4aXQrMHgwLzB4NzAKIFs8ZmZmZmZmZmY4MTE0Y2Q2ZD5dID8gX19wdXRfdXNlcl80KzB4MWQv MHgzMAogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxMzkw LCBjb21tOiBpZnVwLWFsaWFzZXMgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxs IFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3 CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0 CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcK IFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZm ZjgxMDk3ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8weDU0YgogWzxmZmZmZmZmZjgxMDk3MGQ5Pl0g PyBwbWRfYWxsb2MrMHg0MS8weDdjCiBbPGZmZmZmZmZmODEwOTk2M2E+XSBoYW5kbGVfbW1fZmF1 bHQrMHg3YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTA1NTdiYT5dID8gaHJ0aW1lcl9zdGFydCsweDEy ZS8weDE1MAogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQog WzxmZmZmZmZmZjgxMDU1N2JhPl0gPyBocnRpbWVyX3N0YXJ0KzB4MTJlLzB4MTUwCiBbPGZmZmZm ZmZmODEwMzM3YzQ+XSA/IGhydGlja19zdGFydF9mYWlyKzB4MTQ3LzB4MTgyCiBbPGZmZmZmZmZm ODEwMzRmNGE+XSA/IGVucXVldWVfdGFza19mYWlyKzB4MWNmLzB4MWRiCiBbPGZmZmZmZmZmODEw MzBmZTY+XSA/IHJlc2NoZWRfdGFzaysweDUyLzB4OGMKIFs8ZmZmZmZmZmY4MTAzNmZhZD5dID8g Y2hlY2tfcHJlZW1wdF93YWtldXArMHgxMzgvMHgxNDUKIFs8ZmZmZmZmZmY4MTAzNzg2ZD5dID8g dHJ5X3RvX3dha2VfdXArMHgyNjgvMHgyN2EKIFs8ZmZmZmZmZmY4MTAzMzQ1ZD5dID8gX19kZXF1 ZXVlX2VudGl0eSsweDYxLzB4NjkKIFs8ZmZmZmZmZmY4MTAzMzg5Mj5dID8gcGlja19uZXh0X3Rh c2tfZmFpcisweDkzLzB4YTMKIFs8ZmZmZmZmZmY4MTAzMWJhNT5dID8gcGlja19uZXh0X3Rhc2sr MHgyNS8weDQxCiBbPGZmZmZmZmZmODEyYmFiMWE+XSA/IGVycm9yX2V4aXQrMHgwLzB4NzAKIFs8 ZmZmZmZmZmY4MTE0Y2Q2ZD5dID8gX19wdXRfdXNlcl80KzB4MWQvMHgzMAogWzxmZmZmZmZmZjgx MmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxMzkzLCBjb21tOiBpZnVwLWFsaWFz ZXMgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZm ZjgxMDhlMDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZm ZjgxMDhlNWZiPl0gX19hbGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZm ODEwYWI4ZDg+XSBhbGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5Nzg2OT5d IGRvX3dwX3BhZ2UrMHgyNDMvMHg1NGIKIFs8ZmZmZmZmZmY4MTA5NzBkOT5dID8gcG1kX2FsbG9j KzB4NDEvMHg3YwogWzxmZmZmZmZmZjgxMDk5NjNhPl0gaGFuZGxlX21tX2ZhdWx0KzB4N2E0LzB4 ODVkCiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZm ZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCiBbPGZmZmZmZmZmODExNGNkNmQ+ XSA/IF9fcHV0X3VzZXJfNCsweDFkLzB4MzAKIFs8ZmZmZmZmZmY4MTAzZDEwNz5dID8gc2NoZWR1 bGVfdGFpbCsweDViLzB4NWYKIFs8ZmZmZmZmZmY4MTAxMDA5Yz5dIHJldF9mcm9tX2ZvcmsrMHhj LzB4MjUKClBpZDogMTM5MywgY29tbTogaWZ1cC1hbGlhc2VzIFRhaW50ZWQ6IEcgUyAgICAgICAg Mi42LjI3ICMxNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTA5NGQ0Mj5dID8gem9uZV9zdGF0 aXN0aWNzKzB4NjIvMHg2NwogWzxmZmZmZmZmZjgxMDhlMDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVl bGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgxMDhlNWZiPl0gX19hbGxvY19wYWdlc19pbnRl cm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEwMjUzYzY+XSA/IGt2bV9tbXVfd3JpdGUrMHgy ZS8weDM1CiBbPGZmZmZmZmZmODEwYWI4ZDg+XSBhbGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8 ZmZmZmZmZmY4MTA5Nzg2OT5dIGRvX3dwX3BhZ2UrMHgyNDMvMHg1NGIKIFs8ZmZmZmZmZmY4MTA5 NzBkOT5dID8gcG1kX2FsbG9jKzB4NDEvMHg3YwogWzxmZmZmZmZmZjgxMDk5NjNhPl0gaGFuZGxl X21tX2ZhdWx0KzB4N2E0LzB4ODVkCiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0 KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZmODEyYmFiMWE+XSA/IGVycm9yX2V4aXQrMHgwLzB4NzAK IFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTM5NSwgY29t bTogaWZ1cC1hbGlhc2VzIFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFj ZToKIFs8ZmZmZmZmZmY4MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIvMHg2NwogWzxm ZmZmZmZmZjgxMDhlMDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxm ZmZmZmZmZjgxMDhlNWZiPl0gX19hbGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZm ZmZmZmZmODEwMjUzYzY+XSA/IGt2bV9tbXVfd3JpdGUrMHgyZS8weDM1CiBbPGZmZmZmZmZmODEw YWI4ZDg+XSBhbGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5Nzg2OT5dIGRv X3dwX3BhZ2UrMHgyNDMvMHg1NGIKIFs8ZmZmZmZmZmY4MTA5NzBkOT5dID8gcG1kX2FsbG9jKzB4 NDEvMHg3YwogWzxmZmZmZmZmZjgxMDk5NjNhPl0gaGFuZGxlX21tX2ZhdWx0KzB4N2E0LzB4ODVk CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVfc3RhdGlzdGljcysweDYyLzB4NjcKIFs8ZmZm ZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTA4 Y2Q0OD5dID8gZnJlZV9ob3RfcGFnZSsweGIvMHhkCiBbPGZmZmZmZmZmODEwOTEzYTg+XSA/IHB1 dF9wYWdlKzB4OTMvMHhhMAogWzxmZmZmZmZmZjgxMTQ5YzdkPl0gPyByYl9pbnNlcnRfY29sb3Ir MHg2OS8weGU2CiBbPGZmZmZmZmZmODExNDljN2Q+XSA/IHJiX2luc2VydF9jb2xvcisweDY5LzB4 ZTYKIFs8ZmZmZmZmZmY4MTA1NGRlZT5dID8gZW5xdWV1ZV9ocnRpbWVyKzB4ZDMvMHhlMQogWzxm ZmZmZmZmZjgxMDU1N2JhPl0gPyBocnRpbWVyX3N0YXJ0KzB4MTJlLzB4MTUwCiBbPGZmZmZmZmZm ODEwNTU5ODc+XSA/IGt0aW1lX2dldF90cysweDQ5LzB4NGUKIFs8ZmZmZmZmZmY4MTAzMzdjND5d ID8gaHJ0aWNrX3N0YXJ0X2ZhaXIrMHgxNDcvMHgxODIKIFs8ZmZmZmZmZmY4MTAzMzg5Mj5dID8g cGlja19uZXh0X3Rhc2tfZmFpcisweDkzLzB4YTMKIFs8ZmZmZmZmZmY4MTAzODcyZD5dID8gc3dp dGNoX21tKzB4NTUvMHhjOQogWzxmZmZmZmZmZjgxMmJhYjFhPl0gPyBlcnJvcl9leGl0KzB4MC8w eDcwCiBbPGZmZmZmZmZmODExNGNkNmQ+XSA/IF9fcHV0X3VzZXJfNCsweDFkLzB4MzAKIFs8ZmZm ZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTM5NiwgY29tbTogaWZ1 cC1hbGlhc2VzIFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFjZToKIFs8 ZmZmZmZmZmY4MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIvMHg2NwogWzxmZmZmZmZm ZjgxMDhlMDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZm ZjgxMDhlNWZiPl0gX19hbGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZm ODEwMjUzYzY+XSA/IGt2bV9tbXVfd3JpdGUrMHgyZS8weDM1CiBbPGZmZmZmZmZmODEwYWI4ZDg+ XSBhbGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5Nzg2OT5dIGRvX3dwX3Bh Z2UrMHgyNDMvMHg1NGIKIFs8ZmZmZmZmZmY4MTA5NzBkOT5dID8gcG1kX2FsbG9jKzB4NDEvMHg3 YwogWzxmZmZmZmZmZjgxMDk5NjNhPl0gaGFuZGxlX21tX2ZhdWx0KzB4N2E0LzB4ODVkCiBbPGZm ZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZmODEy YmFiMWE+XSA/IGVycm9yX2V4aXQrMHgwLzB4NzAKIFs8ZmZmZmZmZmY4MTE0Y2Q2ZD5dID8gX19w dXRfdXNlcl80KzB4MWQvMHgzMAogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAv MHg3MAoKUGlkOiAxMzg5LCBjb21tOiBpZnVwLWFsaWFzZXMgVGFpbnRlZDogRyBTICAgICAgICAy LjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRp c3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVs aXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVy bmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTAyNTNjNj5dID8ga3ZtX21tdV93cml0ZSsweDJl LzB4MzUKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxm ZmZmZmZmZjgxMDk5MDQ5Pl0gaGFuZGxlX21tX2ZhdWx0KzB4MWIzLzB4ODVkCiBbPGZmZmZmZmZm ODExNGJlMjk+XSA/IHZzbnByaW50ZisweDU2Yi8weDViZAogWzxmZmZmZmZmZjgxMDhjZDQ4Pl0g PyBmcmVlX2hvdF9wYWdlKzB4Yi8weGQKIFs8ZmZmZmZmZmY4MTBiMjA5YT5dID8gdmlydF90b19o ZWFkX3BhZ2UrMHgzMS8weDQxCiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4 NjY1LzB4YWFlCiBbPGZmZmZmZmZmODEyYmE4MjI+XSA/IF9zcGluX2xvY2srMHg5LzB4YwogWzxm ZmZmZmZmZjgxMGQwNjIyPl0gPyBtbnRfZHJvcF93cml0ZSsweDgyLzB4MTQzCiBbPGZmZmZmZmZm ODEwY2U5NGQ+XSA/IG1udF93YW50X3dyaXRlKzB4NzcvMHg4ZAogWzxmZmZmZmZmZjgxMDg3ZWZl Pl0gPyBmaWxlX3JlYWRfYWN0b3IrMHg1MS8weDEwMAogWzxmZmZmZmZmZjgxMGNiOWIzPl0gPyB0 b3VjaF9hdGltZSsweGRhLzB4ZmMKIFs8ZmZmZmZmZmY4MTA4YTE5Nj5dID8gZ2VuZXJpY19maWxl X2Fpb19yZWFkKzB4NTA5LzB4NTY0CiBbPGZmZmZmZmZmODEyYmE4MjI+XSA/IF9zcGluX2xvY2sr MHg5LzB4YwogWzxmZmZmZmZmZjgxMDlkMzdmPl0gPyB2bWFfYWRqdXN0KzB4MzY2LzB4M2U2CiBb PGZmZmZmZmZmODEwOWRhODQ+XSA/IHZtYV9tZXJnZSsweDFjZS8weDMwNwogWzxmZmZmZmZmZjgx MDlkZmY5Pl0gPyBkb19icmsrMHgyNWEvMHgzMjAKIFs8ZmZmZmZmZmY4MTE0YTJmMD5dID8gX191 cF93cml0ZSsweDQyLzB4NDcKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4 NzAKClBpZDogMTM5NywgY29tbTogaWZ1cC1yb3V0ZXMgVGFpbnRlZDogRyBTICAgICAgICAyLjYu MjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3Rp Y3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0 KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwMjUyZGY+XSA/IGt2bV9kZWZlcnJlZF9tbXVfb3Ar MHg1Yi8weGVkCiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4 ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgog WzxmZmZmZmZmZjgxMDk5MDQ5Pl0gaGFuZGxlX21tX2ZhdWx0KzB4MWIzLzB4ODVkCiBbPGZmZmZm ZmZmODEwZmM5OWQ+XSA/IHBpZF9yZXZhbGlkYXRlKzB4ODAvMHg5OQogWzxmZmZmZmZmZjgxMmJk MTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQogWzxmZmZmZmZmZjgxMTFkZjMzPl0gPyBh dmNfaGFzX3Blcm0rMHg0ZS8weDYwCiBbPGZmZmZmZmZmODExMWZhZWM+XSA/IGlub2RlX2hhc19w ZXJtKzB4NWIvMHg2MQogWzxmZmZmZmZmZjgxMTFmYWVjPl0gPyBpbm9kZV9oYXNfcGVybSsweDVi LzB4NjEKIFs8ZmZmZmZmZmY4MTJiYTgyMj5dID8gX3NwaW5fbG9jaysweDkvMHhjCiBbPGZmZmZm ZmZmODEwOTQ2MjM+XSA/IHZtYV9wcmlvX3RyZWVfYWRkKzB4ODYvMHg5YQogWzxmZmZmZmZmZjgx MDk0NjZiPl0gPyB2bWFfcHJpb190cmVlX2luc2VydCsweDM0LzB4YzEKIFs8ZmZmZmZmZmY4MTA5 YzY1Mz5dID8gX192bWFfbGlua19maWxlKzB4NWYvMHg2MQogWzxmZmZmZmZmZjgxMDljZTU3Pl0g PyB2bWFfbGluaysweDliLzB4YWQKIFs8ZmZmZmZmZmY4MTA5ZTViZT5dID8gbW1hcF9yZWdpb24r MHgzZWIvMHg0ZDkKIFs8ZmZmZmZmZmY4MTA5ZTlkMT5dID8gZG9fbW1hcF9wZ29mZisweDMyNS8w eDM4OAogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxMzk4 LCBjb21tOiBpZnVwLXBvc3QgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRy YWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBb PGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBb PGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8 ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgx MDk3ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8weDU0YgogWzxmZmZmZmZmZjgxMDk3MGQ5Pl0gPyBw bWRfYWxsb2MrMHg0MS8weDdjCiBbPGZmZmZmZmZmODEwOTk2M2E+XSBoYW5kbGVfbW1fZmF1bHQr MHg3YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhh YWUKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dID8gZXJyb3JfZXhpdCsweDAvMHg3MAogWzxmZmZmZmZm ZjgxMmJhNzc4Pl0gPyBfc3Bpbl9sb2NrX2lycSsweDExLzB4MTQKIFs8ZmZmZmZmZmY4MTA0OWE5 ZD5dID8gZG9fc2lnYWN0aW9uKzB4MTU4LzB4MTc5CiBbPGZmZmZmZmZmODEyYmE3Nzg+XSA/IF9z cGluX2xvY2tfaXJxKzB4MTEvMHgxNAogWzxmZmZmZmZmZjgxMDQ5MzU3Pl0gPyBzaWdwcm9jbWFz aysweGM2LzB4ZDkKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBp ZDogMTQ0OSwgY29tbTogaWZ1cC1pcHY2IFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoK Q2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIv MHg2NwogWzxmZmZmZmZmZjgxMDhlMDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8w eDY3NAogWzxmZmZmZmZmZjgxMDhlNWZiPl0gX19hbGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4 NDU3CiBbPGZmZmZmZmZmODEwMjUzYzY+XSA/IGt2bV9tbXVfd3JpdGUrMHgyZS8weDM1CiBbPGZm ZmZmZmZmODEwYWI4ZDg+XSBhbGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5 Nzg2OT5dIGRvX3dwX3BhZ2UrMHgyNDMvMHg1NGIKIFs8ZmZmZmZmZmY4MTA5NzBkOT5dID8gcG1k X2FsbG9jKzB4NDEvMHg3YwogWzxmZmZmZmZmZjgxMDk5NjNhPl0gaGFuZGxlX21tX2ZhdWx0KzB4 N2E0LzB4ODVkCiBbPGZmZmZmZmZmODEwMzJlMjM+XSA/IF9fd2FrZV91cCsweDQzLzB4NGYKIFs8 ZmZmZmZmZmY4MTI1MTZiZT5dID8gbmV0bGlua19yZWN2bXNnKzB4MmQ5LzB4MmY3CiBbPGZmZmZm ZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZmODEwNTU3 YmE+XSA/IGhydGltZXJfc3RhcnQrMHgxMmUvMHgxNTAKIFs8ZmZmZmZmZmY4MTAzMzdjND5dID8g aHJ0aWNrX3N0YXJ0X2ZhaXIrMHgxNDcvMHgxODIKIFs8ZmZmZmZmZmY4MTAzNGY0YT5dID8gZW5x dWV1ZV90YXNrX2ZhaXIrMHgxY2YvMHgxZGIKIFs8ZmZmZmZmZmY4MTAzNmY4MT5dID8gY2hlY2tf cHJlZW1wdF93YWtldXArMHgxMGMvMHgxNDUKIFs8ZmZmZmZmZmY4MTAzNzg2ZD5dID8gdHJ5X3Rv X3dha2VfdXArMHgyNjgvMHgyN2EKIFs8ZmZmZmZmZmY4MTAzMzQ1ZD5dID8gX19kZXF1ZXVlX2Vu dGl0eSsweDYxLzB4NjkKIFs8ZmZmZmZmZmY4MTAzMzg5Mj5dID8gcGlja19uZXh0X3Rhc2tfZmFp cisweDkzLzB4YTMKIFs8ZmZmZmZmZmY4MTAzMWJhNT5dID8gcGlja19uZXh0X3Rhc2srMHgyNS8w eDQxCiBbPGZmZmZmZmZmODEyYmFiMWE+XSA/IGVycm9yX2V4aXQrMHgwLzB4NzAKIFs8ZmZmZmZm ZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTQ0OSwgY29tbTogaWZ1cC1p cHY2IFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZm ZmY4MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIvMHg2NwogWzxmZmZmZmZmZjgxMDhl MDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgxMDhl NWZiPl0gX19hbGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEwYWI4 ZDg+XSBhbGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5Nzg2OT5dIGRvX3dw X3BhZ2UrMHgyNDMvMHg1NGIKIFs8ZmZmZmZmZmY4MTA5NzBkOT5dID8gcG1kX2FsbG9jKzB4NDEv MHg3YwogWzxmZmZmZmZmZjgxMDk5NjNhPl0gaGFuZGxlX21tX2ZhdWx0KzB4N2E0LzB4ODVkCiBb PGZmZmZmZmZmODEwMzJlMjM+XSA/IF9fd2FrZV91cCsweDQzLzB4NGYKIFs8ZmZmZmZmZmY4MTI1 MTZiZT5dID8gbmV0bGlua19yZWN2bXNnKzB4MmQ5LzB4MmY3CiBbPGZmZmZmZmZmODEyYmQxNGQ+ XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZmODEwNTU3YmE+XSA/IGhydGlt ZXJfc3RhcnQrMHgxMmUvMHgxNTAKIFs8ZmZmZmZmZmY4MTAzMzdjND5dID8gaHJ0aWNrX3N0YXJ0 X2ZhaXIrMHgxNDcvMHgxODIKIFs8ZmZmZmZmZmY4MTAzNGY0YT5dID8gZW5xdWV1ZV90YXNrX2Zh aXIrMHgxY2YvMHgxZGIKIFs8ZmZmZmZmZmY4MTAzNmY4MT5dID8gY2hlY2tfcHJlZW1wdF93YWtl dXArMHgxMGMvMHgxNDUKIFs8ZmZmZmZmZmY4MTAzNzg2ZD5dID8gdHJ5X3RvX3dha2VfdXArMHgy NjgvMHgyN2EKIFs8ZmZmZmZmZmY4MTAzMzQ1ZD5dID8gX19kZXF1ZXVlX2VudGl0eSsweDYxLzB4 NjkKIFs8ZmZmZmZmZmY4MTAzMzg5Mj5dID8gcGlja19uZXh0X3Rhc2tfZmFpcisweDkzLzB4YTMK IFs8ZmZmZmZmZmY4MTAzMWJhNT5dID8gcGlja19uZXh0X3Rhc2srMHgyNS8weDQxCiBbPGZmZmZm ZmZmODEyYmFiMWE+XSA/IGVycm9yX2V4aXQrMHgwLzB4NzAKIFs8ZmZmZmZmZmY4MTJiYTc3OD5d ID8gX3NwaW5fbG9ja19pcnErMHgxMS8weDE0CiBbPGZmZmZmZmZmODEwNDlhOWQ+XSA/IGRvX3Np Z2FjdGlvbisweDE1OC8weDE3OQogWzxmZmZmZmZmZjgxMDQ5YjZlPl0gPyBzeXNfcnRfc2lnYWN0 aW9uKzB4NzUvMHg5MwogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoK UGlkOiAxNDU1LCBjb21tOiBpZnVwLWlwdjYgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3 CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2 Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2Qw LzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUv MHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxm ZmZmZmZmZjgxMDk3ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8weDU0YgogWzxmZmZmZmZmZjgxMDk3 MGQ5Pl0gPyBwbWRfYWxsb2MrMHg0MS8weDdjCiBbPGZmZmZmZmZmODEwOTk2M2E+XSBoYW5kbGVf bW1fZmF1bHQrMHg3YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQr MHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTA1NTdiYT5dID8gaHJ0aW1lcl9zdGFydCsweDEyZS8w eDE1MAogWzxmZmZmZmZmZjgxMDMzN2M0Pl0gPyBocnRpY2tfc3RhcnRfZmFpcisweDE0Ny8weDE4 MgogWzxmZmZmZmZmZjgxMDM0ZjRhPl0gPyBlbnF1ZXVlX3Rhc2tfZmFpcisweDFjZi8weDFkYgog WzxmZmZmZmZmZjgxMDM2ZjgxPl0gPyBjaGVja19wcmVlbXB0X3dha2V1cCsweDEwYy8weDE0NQog WzxmZmZmZmZmZjgxMDM3ODZkPl0gPyB0cnlfdG9fd2FrZV91cCsweDI2OC8weDI3YQogWzxmZmZm ZmZmZjgxMDMzNDVkPl0gPyBfX2RlcXVldWVfZW50aXR5KzB4NjEvMHg2OQogWzxmZmZmZmZmZjgx MDMzODkyPl0gPyBwaWNrX25leHRfdGFza19mYWlyKzB4OTMvMHhhMwogWzxmZmZmZmZmZjgxMDM4 NzJkPl0gPyBzd2l0Y2hfbW0rMHg1NS8weGM5CiBbPGZmZmZmZmZmODEyYmFiMWE+XSA/IGVycm9y X2V4aXQrMHgwLzB4NzAKIFs8ZmZmZmZmZmY4MTJiYTc3OD5dID8gX3NwaW5fbG9ja19pcnErMHgx MS8weDE0CiBbPGZmZmZmZmZmODEwNDlhOWQ+XSA/IGRvX3NpZ2FjdGlvbisweDE1OC8weDE3OQog WzxmZmZmZmZmZjgxMDQ5YjZlPl0gPyBzeXNfcnRfc2lnYWN0aW9uKzB4NzUvMHg5MwogWzxmZmZm ZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxNDU1LCBjb21tOiBpZnVw LWlwdjYgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZm ZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEw OGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEw OGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTAy NTNjNj5dID8ga3ZtX21tdV93cml0ZSsweDJlLzB4MzUKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFs bG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk3ODY5Pl0gZG9fd3BfcGFnZSsw eDI0My8weDU0YgogWzxmZmZmZmZmZjgxMDk3MGQ5Pl0gPyBwbWRfYWxsb2MrMHg0MS8weDdjCiBb PGZmZmZmZmZmODEwOTk2M2E+XSBoYW5kbGVfbW1fZmF1bHQrMHg3YTQvMHg4NWQKIFs8ZmZmZmZm ZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTA1NTdi YT5dID8gaHJ0aW1lcl9zdGFydCsweDEyZS8weDE1MAogWzxmZmZmZmZmZjgxMDMzN2M0Pl0gPyBo cnRpY2tfc3RhcnRfZmFpcisweDE0Ny8weDE4MgogWzxmZmZmZmZmZjgxMDM0ZjRhPl0gPyBlbnF1 ZXVlX3Rhc2tfZmFpcisweDFjZi8weDFkYgogWzxmZmZmZmZmZjgxMDM2ZjgxPl0gPyBjaGVja19w cmVlbXB0X3dha2V1cCsweDEwYy8weDE0NQogWzxmZmZmZmZmZjgxMDM3ODZkPl0gPyB0cnlfdG9f d2FrZV91cCsweDI2OC8weDI3YQogWzxmZmZmZmZmZjgxMDMzNDVkPl0gPyBfX2RlcXVldWVfZW50 aXR5KzB4NjEvMHg2OQogWzxmZmZmZmZmZjgxMDMzODkyPl0gPyBwaWNrX25leHRfdGFza19mYWly KzB4OTMvMHhhMwogWzxmZmZmZmZmZjgxMDM4NzJkPl0gPyBzd2l0Y2hfbW0rMHg1NS8weGM5CiBb PGZmZmZmZmZmODEyYmFiMWE+XSA/IGVycm9yX2V4aXQrMHgwLzB4NzAKIFs8ZmZmZmZmZmY4MTJi YTc3OD5dID8gX3NwaW5fbG9ja19pcnErMHgxMS8weDE0CiBbPGZmZmZmZmZmODEwNDlhOWQ+XSA/ IGRvX3NpZ2FjdGlvbisweDE1OC8weDE3OQogWzxmZmZmZmZmZjgxMDQ5YjZlPl0gPyBzeXNfcnRf c2lnYWN0aW9uKzB4NzUvMHg5MwogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAv MHg3MAoKUGlkOiAxNDU2LCBjb21tOiBpZnVwLWlwdjYgVGFpbnRlZDogRyBTICAgICAgICAyLjYu MjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3Rp Y3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0 KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFs KzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhj NgogWzxmZmZmZmZmZjgxMDk3ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8weDU0YgogWzxmZmZmZmZm ZjgxMDk3MGQ5Pl0gPyBwbWRfYWxsb2MrMHg0MS8weDdjCiBbPGZmZmZmZmZmODEwOTk2M2E+XSBo YW5kbGVfbW1fZmF1bHQrMHg3YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2Vf ZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTA1NTdiYT5dID8gaHJ0aW1lcl9zdGFydCsw eDEyZS8weDE1MAogWzxmZmZmZmZmZjgxMDMzN2M0Pl0gPyBocnRpY2tfc3RhcnRfZmFpcisweDE0 Ny8weDE4MgogWzxmZmZmZmZmZjgxMDM0ZjRhPl0gPyBlbnF1ZXVlX3Rhc2tfZmFpcisweDFjZi8w eDFkYgogWzxmZmZmZmZmZjgxMDM2ZjgxPl0gPyBjaGVja19wcmVlbXB0X3dha2V1cCsweDEwYy8w eDE0NQogWzxmZmZmZmZmZjgxMDM3ODZkPl0gPyB0cnlfdG9fd2FrZV91cCsweDI2OC8weDI3YQog WzxmZmZmZmZmZjgxMDMzNDVkPl0gPyBfX2RlcXVldWVfZW50aXR5KzB4NjEvMHg2OQogWzxmZmZm ZmZmZjgxMDMzODkyPl0gPyBwaWNrX25leHRfdGFza19mYWlyKzB4OTMvMHhhMwogWzxmZmZmZmZm ZjgxMDM4NzJkPl0gPyBzd2l0Y2hfbW0rMHg1NS8weGM5CiBbPGZmZmZmZmZmODEyYmFiMWE+XSA/ IGVycm9yX2V4aXQrMHgwLzB4NzAKIFs8ZmZmZmZmZmY4MTJiYTc3OD5dID8gX3NwaW5fbG9ja19p cnErMHgxMS8weDE0CiBbPGZmZmZmZmZmODEwNDlhOWQ+XSA/IGRvX3NpZ2FjdGlvbisweDE1OC8w eDE3OQogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxNDU2 LCBjb21tOiBzZWQgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgog WzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZm ZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZm ZmZmODEwMjUyZGY+XSA/IGt2bV9kZWZlcnJlZF9tbXVfb3ArMHg1Yi8weGVkCiBbPGZmZmZmZmZm ODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4 MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk5MDQ5Pl0g aGFuZGxlX21tX2ZhdWx0KzB4MWIzLzB4ODVkCiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdl X2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZmODExMWRmMzM+XSA/IGF2Y19oYXNfcGVybSsw eDRlLzB4NjAKIFs8ZmZmZmZmZmY4MTExZmFlYz5dID8gaW5vZGVfaGFzX3Blcm0rMHg1Yi8weDYx CiBbPGZmZmZmZmZmODExMWZhZWM+XSA/IGlub2RlX2hhc19wZXJtKzB4NWIvMHg2MQogWzxmZmZm ZmZmZjgxMmJhODIyPl0gPyBfc3Bpbl9sb2NrKzB4OS8weGMKIFs8ZmZmZmZmZmY4MTA5NDYyMz5d ID8gdm1hX3ByaW9fdHJlZV9hZGQrMHg4Ni8weDlhCiBbPGZmZmZmZmZmODEwOTQ2NmI+XSA/IHZt YV9wcmlvX3RyZWVfaW5zZXJ0KzB4MzQvMHhjMQogWzxmZmZmZmZmZjgxMDljNjUzPl0gPyBfX3Zt YV9saW5rX2ZpbGUrMHg1Zi8weDYxCiBbPGZmZmZmZmZmODEwOWNlNTc+XSA/IHZtYV9saW5rKzB4 OWIvMHhhZAogWzxmZmZmZmZmZjgxMDllNWJlPl0gPyBtbWFwX3JlZ2lvbisweDNlYi8weDRkOQog WzxmZmZmZmZmZjgxMDllOWQxPl0gPyBkb19tbWFwX3Bnb2ZmKzB4MzI1LzB4Mzg4CiBbPGZmZmZm ZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE0NTYsIGNvbW06IHNlZCBU YWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEw OGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEw NDAwYjI+XSA/IHJlbGVhc2VfY29uc29sZV9zZW0rMHgxYTMvMHgxYWYKIFs8ZmZmZmZmZmY4MTA4 ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMGFi OGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhjMS8weGM2CiBbPGZmZmZmZmZmODEwOTkwNDk+XSBoYW5k bGVfbW1fZmF1bHQrMHgxYjMvMHg4NWQKIFs8ZmZmZmZmZmY4MTAyNTJkZj5dID8ga3ZtX2RlZmVy cmVkX21tdV9vcCsweDViLzB4ZWQKIFs8ZmZmZmZmZmY4MTAyNTNjNj5dID8ga3ZtX21tdV93cml0 ZSsweDJlLzB4MzUKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhh YWUKIFs8ZmZmZmZmZmY4MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIvMHg2NwogWzxm ZmZmZmZmZjgxMDMwZjQ3Pl0gPyBuZWVkX3Jlc2NoZWQrMHgxZS8weDI4CiBbPGZmZmZmZmZmODEy YjkyZjQ+XSA/IF9jb25kX3Jlc2NoZWQrMHg5LzB4MzgKIFs8ZmZmZmZmZmY4MTAyNTJkZj5dID8g a3ZtX2RlZmVycmVkX21tdV9vcCsweDViLzB4ZWQKIFs8ZmZmZmZmZmY4MTAyNTNjNj5dID8ga3Zt X21tdV93cml0ZSsweDJlLzB4MzUKIFs8ZmZmZmZmZmY4MTA4ODU2ZD5dID8gdW5sb2NrX3BhZ2Ur MHgyZC8weDMyCiBbPGZmZmZmZmZmODEwOTc1ZTA+XSA/IF9fZG9fZmF1bHQrMHgyZDYvMHgzMWMK IFs8ZmZmZmZmZmY4MTA5OTI0Mz5dID8gaGFuZGxlX21tX2ZhdWx0KzB4M2FkLzB4ODVkCiBbPGZm ZmZmZmZmODExNGEzNmY+XSA/IF9fdXBfcmVhZCsweDdhLzB4ODMKIFs8ZmZmZmZmZmY4MTA1NWI3 Zj5dID8gdXBfcmVhZCsweDkvMHhiCiBbPGZmZmZmZmZmODEyYmQxOTk+XSA/IGRvX3BhZ2VfZmF1 bHQrMHg2YjEvMHhhYWUKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAK IFs8ZmZmZmZmZmY4MTBiZmUwND5dID8gcGlwZV9yZWFkKzB4MTI4LzB4M2FjCiBbPGZmZmZmZmZm ODEwYmZkYmM+XSA/IHBpcGVfcmVhZCsweGUwLzB4M2FjCiBbPGZmZmZmZmZmODEwYjkxODU+XSBk b19zeW5jX3JlYWQrMHhlNy8weDEyZAogWzxmZmZmZmZmZjgxMDUyOWU1Pl0gPyBhdXRvcmVtb3Zl X3dha2VfZnVuY3Rpb24rMHgwLzB4MzgKIFs8ZmZmZmZmZmY4MTEyMjFjZT5dID8gc2VsaW51eF9m aWxlX3Blcm1pc3Npb24rMHhhZi8weGI4CiBbPGZmZmZmZmZmODExMWIwMzg+XSA/IHNlY3VyaXR5 X2ZpbGVfcGVybWlzc2lvbisweDExLzB4MTMKIFs8ZmZmZmZmZmY4MTBiOWIwMj5dIHZmc19yZWFk KzB4YTgvMHgxMDIKIFs8ZmZmZmZmZmY4MTBiOWMyMD5dIHN5c19yZWFkKzB4NDcvMHg2ZQogWzxm ZmZmZmZmZjgxMDEwMWRhPl0gc3lzdGVtX2NhbGxfZmFzdHBhdGgrMHgxNi8weDFiCgpQaWQ6IDE0 NTgsIGNvbW06IGlmdXAtaXB2NiBUYWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwg VHJhY2U6CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVfc3RhdGlzdGljcysweDYyLzB4NjcK IFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQK IFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1Nwog WzxmZmZmZmZmZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhjMS8weGM2CiBbPGZmZmZmZmZm ODEwOTc4Njk+XSBkb193cF9wYWdlKzB4MjQzLzB4NTRiCiBbPGZmZmZmZmZmODEwOTcwZDk+XSA/ IHBtZF9hbGxvYysweDQxLzB4N2MKIFs8ZmZmZmZmZmY4MTA5OTYzYT5dIGhhbmRsZV9tbV9mYXVs dCsweDdhNC8weDg1ZAogWzxmZmZmZmZmZjgxMDU1N2JhPl0gPyBocnRpbWVyX3N0YXJ0KzB4MTJl LzB4MTUwCiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBb PGZmZmZmZmZmODEwNTU3YmE+XSA/IGhydGltZXJfc3RhcnQrMHgxMmUvMHgxNTAKIFs8ZmZmZmZm ZmY4MTAzMzdjND5dID8gaHJ0aWNrX3N0YXJ0X2ZhaXIrMHgxNDcvMHgxODIKIFs8ZmZmZmZmZmY4 MTAzNGY0YT5dID8gZW5xdWV1ZV90YXNrX2ZhaXIrMHgxY2YvMHgxZGIKIFs8ZmZmZmZmZmY4MTAz MGZlNj5dID8gcmVzY2hlZF90YXNrKzB4NTIvMHg4YwogWzxmZmZmZmZmZjgxMDM2ZmFkPl0gPyBj aGVja19wcmVlbXB0X3dha2V1cCsweDEzOC8weDE0NQogWzxmZmZmZmZmZjgxMDM3ODZkPl0gPyB0 cnlfdG9fd2FrZV91cCsweDI2OC8weDI3YQogWzxmZmZmZmZmZjgxMDMzNDVkPl0gPyBfX2RlcXVl dWVfZW50aXR5KzB4NjEvMHg2OQogWzxmZmZmZmZmZjgxMDMzODkyPl0gPyBwaWNrX25leHRfdGFz a19mYWlyKzB4OTMvMHhhMwogWzxmZmZmZmZmZjgxMDMxYmE1Pl0gPyBwaWNrX25leHRfdGFzaysw eDI1LzB4NDEKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dID8gZXJyb3JfZXhpdCsweDAvMHg3MAogWzxm ZmZmZmZmZjgxMmJhNzc4Pl0gPyBfc3Bpbl9sb2NrX2lycSsweDExLzB4MTQKIFs8ZmZmZmZmZmY4 MTA0OWE5ZD5dID8gZG9fc2lnYWN0aW9uKzB4MTU4LzB4MTc5CiBbPGZmZmZmZmZmODEyYmFiMWE+ XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE0NTgsIGNvbW06IGlmdXAtaXB2NiBUYWludGVk OiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwOTRkNDI+ XSA/IHpvbmVfc3RhdGlzdGljcysweDYyLzB4NjcKIFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9w YWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxs b2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMDI1M2M2Pl0gPyBrdm1f bW11X3dyaXRlKzB4MmUvMHgzNQogWzxmZmZmZmZmZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWEr MHhjMS8weGM2CiBbPGZmZmZmZmZmODEwOTc4Njk+XSBkb193cF9wYWdlKzB4MjQzLzB4NTRiCiBb PGZmZmZmZmZmODEwOTcwZDk+XSA/IHBtZF9hbGxvYysweDQxLzB4N2MKIFs8ZmZmZmZmZmY4MTA5 OTYzYT5dIGhhbmRsZV9tbV9mYXVsdCsweDdhNC8weDg1ZAogWzxmZmZmZmZmZjgxMDU1N2JhPl0g PyBocnRpbWVyX3N0YXJ0KzB4MTJlLzB4MTUwCiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVf c3RhdGlzdGljcysweDYyLzB4NjcKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQr MHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTA4ZTVmYj5dID8gX19hbGxvY19wYWdlc19pbnRlcm5h bCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEyYmE4MjI+XSA/IF9zcGluX2xvY2srMHg5LzB4Ywog WzxmZmZmZmZmZjgxMGQwNjIyPl0gPyBtbnRfZHJvcF93cml0ZSsweDgyLzB4MTQzCiBbPGZmZmZm ZmZmODEwY2I4OWU+XSA/IGZpbGVfdXBkYXRlX3RpbWUrMHhjNy8weDEwMgogWzxmZmZmZmZmZjgx MGJmY2NhPl0gPyBwaXBlX3dyaXRlKzB4NGI0LzB4NGM2CiBbPGZmZmZmZmZmODExMWZhZWM+XSA/ IGlub2RlX2hhc19wZXJtKzB4NWIvMHg2MQogWzxmZmZmZmZmZjgxMGI5MDU4Pl0gPyBkb19zeW5j X3dyaXRlKzB4ZTcvMHgxMmQKIFs8ZmZmZmZmZmY4MTA1MjllNT5dID8gYXV0b3JlbW92ZV93YWtl X2Z1bmN0aW9uKzB4MC8weDM4CiBbPGZmZmZmZmZmODEyYmE4MjI+XSA/IF9zcGluX2xvY2srMHg5 LzB4YwogWzxmZmZmZmZmZjgxMGI4ZDIyPl0gPyBmc25vdGlmeV9tb2RpZnkrMHg2Mi8weDZhCiBb PGZmZmZmZmZmODEwYjk5Mzk+XSA/IHZmc193cml0ZSsweGQwLzB4MTA1CiBbPGZmZmZmZmZmODEy YmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE0NTksIGNvbW06IGlmdXAtaXB2NiBU YWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEw OTRkNDI+XSA/IHpvbmVfc3RhdGlzdGljcysweDYyLzB4NjcKIFs8ZmZmZmZmZmY4MTA4ZTAyMT5d IGdldF9wYWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4MTA4ZTVmYj5d IF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMGFiOGQ4Pl0g YWxsb2NfcGFnZV92bWErMHhjMS8weGM2CiBbPGZmZmZmZmZmODEwOTc4Njk+XSBkb193cF9wYWdl KzB4MjQzLzB4NTRiCiBbPGZmZmZmZmZmODEwOTcwZDk+XSA/IHBtZF9hbGxvYysweDQxLzB4N2MK IFs8ZmZmZmZmZmY4MTA5OTYzYT5dIGhhbmRsZV9tbV9mYXVsdCsweDdhNC8weDg1ZAogWzxmZmZm ZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQogWzxmZmZmZmZmZjgxMDU1 N2JhPl0gPyBocnRpbWVyX3N0YXJ0KzB4MTJlLzB4MTUwCiBbPGZmZmZmZmZmODEwMzM3YzQ+XSA/ IGhydGlja19zdGFydF9mYWlyKzB4MTQ3LzB4MTgyCiBbPGZmZmZmZmZmODEwMzRmNGE+XSA/IGVu cXVldWVfdGFza19mYWlyKzB4MWNmLzB4MWRiCiBbPGZmZmZmZmZmODEwMzZmODE+XSA/IGNoZWNr X3ByZWVtcHRfd2FrZXVwKzB4MTBjLzB4MTQ1CiBbPGZmZmZmZmZmODEwMzc4NmQ+XSA/IHRyeV90 b193YWtlX3VwKzB4MjY4LzB4MjdhCiBbPGZmZmZmZmZmODEwMzM0NWQ+XSA/IF9fZGVxdWV1ZV9l bnRpdHkrMHg2MS8weDY5CiBbPGZmZmZmZmZmODEwMzM4OTI+XSA/IHBpY2tfbmV4dF90YXNrX2Zh aXIrMHg5My8weGEzCiBbPGZmZmZmZmZmODEwMzg3MmQ+XSA/IHN3aXRjaF9tbSsweDU1LzB4YzkK IFs8ZmZmZmZmZmY4MTJiYWIxYT5dID8gZXJyb3JfZXhpdCsweDAvMHg3MAogWzxmZmZmZmZmZjgx MTRjZDZkPl0gPyBfX3B1dF91c2VyXzQrMHgxZC8weDMwCiBbPGZmZmZmZmZmODEyYmFiMWE+XSBl cnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE0NTksIGNvbW06IGlmdXAtaXB2NiBUYWludGVkOiBH IFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/ IHpvbmVfc3RhdGlzdGljcysweDYyLzB4NjcKIFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdl X2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2Nf cGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMGFiOGQ4Pl0gYWxsb2NfcGFn ZV92bWErMHhjMS8weGM2CiBbPGZmZmZmZmZmODEwOTc4Njk+XSBkb193cF9wYWdlKzB4MjQzLzB4 NTRiCiBbPGZmZmZmZmZmODEwOTcwZDk+XSA/IHBtZF9hbGxvYysweDQxLzB4N2MKIFs8ZmZmZmZm ZmY4MTA5OTYzYT5dIGhhbmRsZV9tbV9mYXVsdCsweDdhNC8weDg1ZAogWzxmZmZmZmZmZjgxMmJk MTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQogWzxmZmZmZmZmZjgxMDU1N2JhPl0gPyBo cnRpbWVyX3N0YXJ0KzB4MTJlLzB4MTUwCiBbPGZmZmZmZmZmODEwMzM3YzQ+XSA/IGhydGlja19z dGFydF9mYWlyKzB4MTQ3LzB4MTgyCiBbPGZmZmZmZmZmODEwMzRmNGE+XSA/IGVucXVldWVfdGFz a19mYWlyKzB4MWNmLzB4MWRiCiBbPGZmZmZmZmZmODEwMzZmODE+XSA/IGNoZWNrX3ByZWVtcHRf d2FrZXVwKzB4MTBjLzB4MTQ1CiBbPGZmZmZmZmZmODEwMzc4NmQ+XSA/IHRyeV90b193YWtlX3Vw KzB4MjY4LzB4MjdhCiBbPGZmZmZmZmZmODEwMzM0NWQ+XSA/IF9fZGVxdWV1ZV9lbnRpdHkrMHg2 MS8weDY5CiBbPGZmZmZmZmZmODEwMzM4OTI+XSA/IHBpY2tfbmV4dF90YXNrX2ZhaXIrMHg5My8w eGEzCiBbPGZmZmZmZmZmODEwMzg3MmQ+XSA/IHN3aXRjaF9tbSsweDU1LzB4YzkKIFs8ZmZmZmZm ZmY4MTJiYWIxYT5dID8gZXJyb3JfZXhpdCsweDAvMHg3MAogWzxmZmZmZmZmZjgxMmJhNzc4Pl0g PyBfc3Bpbl9sb2NrX2lycSsweDExLzB4MTQKIFs8ZmZmZmZmZmY4MTA0OWE5ZD5dID8gZG9fc2ln YWN0aW9uKzB4MTU4LzB4MTc5CiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4MC8w eDcwCgpQaWQ6IDE0NTksIGNvbW06IGF3ayBUYWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcK CkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0 KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwMjUyZGY+XSA/IGt2bV9kZWZlcnJlZF9tbXVfb3Ar MHg1Yi8weGVkCiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4 ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgog WzxmZmZmZmZmZjgxMDk5MDQ5Pl0gaGFuZGxlX21tX2ZhdWx0KzB4MWIzLzB4ODVkCiBbPGZmZmZm ZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZmODExMWRm MzM+XSA/IGF2Y19oYXNfcGVybSsweDRlLzB4NjAKIFs8ZmZmZmZmZmY4MTA5Y2RiOD5dID8gX192 bWFfbGluaysweDY4LzB4NmMKIFs8ZmZmZmZmZmY4MTExZmFlYz5dID8gaW5vZGVfaGFzX3Blcm0r MHg1Yi8weDYxCiBbPGZmZmZmZmZmODEyYmE4MjI+XSA/IF9zcGluX2xvY2srMHg5LzB4YwogWzxm ZmZmZmZmZjgxMGNhNDg0Pl0gPyBfX2RfbG9va3VwKzB4ZDYvMHgxMTcKIFs8ZmZmZmZmZmY4MTBj ZjU3NT5dID8gbW50cHV0X25vX2V4cGlyZSsweDMxLzB4MTQ0CiBbPGZmZmZmZmZmODEwYzA0NTk+ XSA/IG1udHB1dCsweDE4LzB4MWEKIFs8ZmZmZmZmZmY4MTBjMDU2Zj5dID8gcGF0aF9wdXQrMHgx ZC8weDIxCiBbPGZmZmZmZmZmODEwY2Y1NzU+XSA/IG1udHB1dF9ub19leHBpcmUrMHgzMS8weDE0 NAogWzxmZmZmZmZmZjgxMGMwNDU5Pl0gPyBtbnRwdXQrMHgxOC8weDFhCiBbPGZmZmZmZmZmODEw YzA1NmY+XSA/IHBhdGhfcHV0KzB4MWQvMHgyMQogWzxmZmZmZmZmZjgxMGMyNjJiPl0gPyBwYXRo X3dhbGsrMHhiNy8weGM0CiBbPGZmZmZmZmZmODEwYjIwOWE+XSA/IHZpcnRfdG9faGVhZF9wYWdl KzB4MzEvMHg0MQogWzxmZmZmZmZmZjgxMGMzMzFlPl0gPyBwdXRuYW1lKzB4MzAvMHgzOQogWzxm ZmZmZmZmZjgxMGMzZTU5Pl0gPyB1c2VyX3BhdGhfYXQrMHg1ZC8weDhjCiBbPGZmZmZmZmZmODEy YmE4MjI+XSA/IF9zcGluX2xvY2srMHg5LzB4YwogWzxmZmZmZmZmZjgxMDQ2ZTM3Pl0gPyBjYXBf c2V0X2VmZmVjdGl2ZSsweDU1LzB4NmIKIFs8ZmZmZmZmZmY4MTBiODM2NT5dID8gc3lzX2ZhY2Nl c3NhdCsweDE5Yi8weDFhZAogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3 MAoKUGlkOiAxNDU5LCBjb21tOiBhd2sgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpD YWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDhlMGJmPl0gPyBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0 KzB4NDZlLzB4Njc0CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0 KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVfc3RhdGlzdGljcysweDYy LzB4NjcKIFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8w eDQ1NwogWzxmZmZmZmZmZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhjMS8weGM2CiBbPGZm ZmZmZmZmODEwOTc4Njk+XSBkb193cF9wYWdlKzB4MjQzLzB4NTRiCiBbPGZmZmZmZmZmODEwOTcw ZDk+XSA/IHBtZF9hbGxvYysweDQxLzB4N2MKIFs8ZmZmZmZmZmY4MTA5OTYzYT5dIGhhbmRsZV9t bV9mYXVsdCsweDdhNC8weDg1ZAogWzxmZmZmZmZmZjgxMGNhNDg0Pl0gPyBfX2RfbG9va3VwKzB4 ZDYvMHgxMTcKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUK IFs8ZmZmZmZmZmY4MTE0ODNkZT5dID8gcHJpb190cmVlX2luc2VydCsweDE5ZS8weDIyYQogWzxm ZmZmZmZmZjgxMTQ4MjM2Pl0gPyBwcmlvX3RyZWVfcmVtb3ZlKzB4YzIvMHhjYwogWzxmZmZmZmZm ZjgxMDk0NTAyPl0gPyB2bWFfcHJpb190cmVlX3JlbW92ZSsweDQyLzB4ZGQKIFs8ZmZmZmZmZmY4 MTJiYTgyMj5dID8gX3NwaW5fbG9jaysweDkvMHhjCiBbPGZmZmZmZmZmODEwOWQzN2Y+XSA/IHZt YV9hZGp1c3QrMHgzNjYvMHgzZTYKIFs8ZmZmZmZmZmY4MTA5ZGI0NT5dID8gdm1hX21lcmdlKzB4 MjhmLzB4MzA3CiBbPGZmZmZmZmZmODExMjNhOGE+XSA/IHNlbGludXhfdm1fZW5vdWdoX21lbW9y eSsweDY2LzB4NmUKIFs8ZmZmZmZmZmY4MTA5ZTViZT5dID8gbW1hcF9yZWdpb24rMHgzZWIvMHg0 ZDkKIFs8ZmZmZmZmZmY4MTA5ZTlkMT5dID8gZG9fbW1hcF9wZ29mZisweDMyNS8weDM4OAogWzxm ZmZmZmZmZjgxMTRhMmYwPl0gPyBfX3VwX3dyaXRlKzB4NDIvMHg0NwogWzxmZmZmZmZmZjgxMmJh YjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxNDU3LCBjb21tOiBpZnVwLWlwdjYgVGFp bnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0 ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBn ZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBf X2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTAxZmNmZD5dID8g Zmx1c2hfdGxiX3BhZ2UrMHg2Ny8weDhjCiBbPGZmZmZmZmZmODEwYWI4ZDg+XSBhbGxvY19wYWdl X3ZtYSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5Nzg2OT5dIGRvX3dwX3BhZ2UrMHgyNDMvMHg1 NGIKIFs8ZmZmZmZmZmY4MTA5NzBkOT5dID8gcG1kX2FsbG9jKzB4NDEvMHg3YwogWzxmZmZmZmZm ZjgxMDk5NjNhPl0gaGFuZGxlX21tX2ZhdWx0KzB4N2E0LzB4ODVkCiBbPGZmZmZmZmZmODExNGJl Mjk+XSA/IHZzbnByaW50ZisweDU2Yi8weDViZAogWzxmZmZmZmZmZjgxMDhlNWZiPl0gPyBfX2Fs bG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3Bh Z2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTBiMjA5YT5dID8gdmlydF90b19oZWFk X3BhZ2UrMHgzMS8weDQxCiBbPGZmZmZmZmZmODEwNDk4Y2E+XSA/IF9fc2lncXVldWVfZnJlZSsw eDM4LzB4M2QKIFs8ZmZmZmZmZmY4MTA0YTVmNT5dID8gX19kZXF1ZXVlX3NpZ25hbCsweDEwMy8w eDEyZgogWzxmZmZmZmZmZjgxMDRiYzJkPl0gPyBkZXF1ZXVlX3NpZ25hbCsweDllLzB4MTE4CiBb PGZmZmZmZmZmODEwNGMyMjY+XSA/IGdldF9zaWduYWxfdG9fZGVsaXZlcisweDMyZi8weDM0OQog WzxmZmZmZmZmZjgxMmJhNzc4Pl0gPyBfc3Bpbl9sb2NrX2lycSsweDExLzB4MTQKIFs8ZmZmZmZm ZmY4MTAwZmI3ZT5dID8gZG9fbm90aWZ5X3Jlc3VtZSsweDdmMy8weDhlMAogWzxmZmZmZmZmZjgx MDUyYzJlPl0gPyByZW1vdmVfd2FpdF9xdWV1ZSsweDJmLzB4MzkKIFs8ZmZmZmZmZmY4MTA0Mjlk MT5dID8gZG9fd2FpdCsweDI4Mi8weDM0MwogWzxmZmZmZmZmZjgxMDEwMDQzPl0gPyBzeXNfcnRf c2lncmV0dXJuKzB4M2M0LzB4NDAxCiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4 MC8weDcwCgpQaWQ6IDE0NjAsIGNvbW06IGlmdXAtaXB2NiBUYWludGVkOiBHIFMgICAgICAgIDIu Ni4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVfc3RhdGlz dGljcysweDYyLzB4NjcKIFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJlZWxp c3QrMHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJu YWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMDI1M2M2Pl0gPyBrdm1fbW11X3dyaXRlKzB4MmUv MHgzNQogWzxmZmZmZmZmZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhjMS8weGM2CiBbPGZm ZmZmZmZmODEwOTc4Njk+XSBkb193cF9wYWdlKzB4MjQzLzB4NTRiCiBbPGZmZmZmZmZmODEwOTcw ZDk+XSA/IHBtZF9hbGxvYysweDQxLzB4N2MKIFs8ZmZmZmZmZmY4MTA5OTYzYT5dIGhhbmRsZV9t bV9mYXVsdCsweDdhNC8weDg1ZAogWzxmZmZmZmZmZjgxMDU1N2JhPl0gPyBocnRpbWVyX3N0YXJ0 KzB4MTJlLzB4MTUwCiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVfc3RhdGlzdGljcysweDYy LzB4NjcKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8 ZmZmZmZmZmY4MTA1NGRlZT5dID8gZW5xdWV1ZV9ocnRpbWVyKzB4ZDMvMHhlMQogWzxmZmZmZmZm ZjgxMDU1OTg3Pl0gPyBrdGltZV9nZXRfdHMrMHg0OS8weDRlCiBbPGZmZmZmZmZmODExNDljN2Q+ XSA/IHJiX2luc2VydF9jb2xvcisweDY5LzB4ZTYKIFs8ZmZmZmZmZmY4MTE0OWM3ZD5dID8gcmJf aW5zZXJ0X2NvbG9yKzB4NjkvMHhlNgogWzxmZmZmZmZmZjgxMDU0ZGVlPl0gPyBlbnF1ZXVlX2hy dGltZXIrMHhkMy8weGUxCiBbPGZmZmZmZmZmODEwNTU3YmE+XSA/IGhydGltZXJfc3RhcnQrMHgx MmUvMHgxNTAKIFs8ZmZmZmZmZmY4MTA1NTk4Nz5dID8ga3RpbWVfZ2V0X3RzKzB4NDkvMHg0ZQog WzxmZmZmZmZmZjgxMDMzN2M0Pl0gPyBocnRpY2tfc3RhcnRfZmFpcisweDE0Ny8weDE4MgogWzxm ZmZmZmZmZjgxMDMzODkyPl0gPyBwaWNrX25leHRfdGFza19mYWlyKzB4OTMvMHhhMwogWzxmZmZm ZmZmZjgxMDM4NzJkPl0gPyBzd2l0Y2hfbW0rMHg1NS8weGM5CiBbPGZmZmZmZmZmODEyYmFiMWE+ XSA/IGVycm9yX2V4aXQrMHgwLzB4NzAKIFs8ZmZmZmZmZmY4MTE0Y2Q2ZD5dID8gX19wdXRfdXNl cl80KzB4MWQvMHgzMAogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoK UGlkOiAxNDYxLCBjb21tOiBpZnVwLWlwdjYgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3 CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2 Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2Qw LzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUv MHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxm ZmZmZmZmZjgxMDk3ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8weDU0YgogWzxmZmZmZmZmZjgxMDk3 MGQ5Pl0gPyBwbWRfYWxsb2MrMHg0MS8weDdjCiBbPGZmZmZmZmZmODEwOTk2M2E+XSBoYW5kbGVf bW1fZmF1bHQrMHg3YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTA1NTdiYT5dID8gaHJ0aW1lcl9zdGFy dCsweDEyZS8weDE1MAogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8w eGFhZQogWzxmZmZmZmZmZjgxMDU1N2JhPl0gPyBocnRpbWVyX3N0YXJ0KzB4MTJlLzB4MTUwCiBb PGZmZmZmZmZmODEwMzM3YzQ+XSA/IGhydGlja19zdGFydF9mYWlyKzB4MTQ3LzB4MTgyCiBbPGZm ZmZmZmZmODEwMzRmNGE+XSA/IGVucXVldWVfdGFza19mYWlyKzB4MWNmLzB4MWRiCiBbPGZmZmZm ZmZmODEwMzBmZTY+XSA/IHJlc2NoZWRfdGFzaysweDUyLzB4OGMKIFs8ZmZmZmZmZmY4MTAzNmZh ZD5dID8gY2hlY2tfcHJlZW1wdF93YWtldXArMHgxMzgvMHgxNDUKIFs8ZmZmZmZmZmY4MTAzNzg2 ZD5dID8gdHJ5X3RvX3dha2VfdXArMHgyNjgvMHgyN2EKIFs8ZmZmZmZmZmY4MTAzMzQ1ZD5dID8g X19kZXF1ZXVlX2VudGl0eSsweDYxLzB4NjkKIFs8ZmZmZmZmZmY4MTAzMzg5Mj5dID8gcGlja19u ZXh0X3Rhc2tfZmFpcisweDkzLzB4YTMKIFs8ZmZmZmZmZmY4MTAzMWJhNT5dID8gcGlja19uZXh0 X3Rhc2srMHgyNS8weDQxCiBbPGZmZmZmZmZmODEyYmFiMWE+XSA/IGVycm9yX2V4aXQrMHgwLzB4 NzAKIFs8ZmZmZmZmZmY4MTJiYTc3OD5dID8gX3NwaW5fbG9ja19pcnErMHgxMS8weDE0CiBbPGZm ZmZmZmZmODEwNDkzNTc+XSA/IHNpZ3Byb2NtYXNrKzB4YzYvMHhkOQogWzxmZmZmZmZmZjgxMTRj ZDZkPl0gPyBfX3B1dF91c2VyXzQrMHgxZC8weDMwCiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJv cl9leGl0KzB4MC8weDcwCgpQaWQ6IDE0NDgsIGNvbW06IGlmdXAtaXB2NiBUYWludGVkOiBHIFMg ICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwMWZjZmQ+XSA/IGZs dXNoX3RsYl9wYWdlKzB4NjcvMHg4YwogWzxmZmZmZmZmZjgxMDhlMDIxPl0gZ2V0X3BhZ2VfZnJv bV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgxMDhlNWZiPl0gX19hbGxvY19wYWdl c19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEwOTdhZjI+XSA/IGRvX3dwX3BhZ2Ur MHg0Y2MvMHg1NGIKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhj NgogWzxmZmZmZmZmZjgxMDk5MDQ5Pl0gaGFuZGxlX21tX2ZhdWx0KzB4MWIzLzB4ODVkCiBbPGZm ZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZmODEx MWRmMzM+XSA/IGF2Y19oYXNfcGVybSsweDRlLzB4NjAKIFs8ZmZmZmZmZmY4MTExZmFlYz5dID8g aW5vZGVfaGFzX3Blcm0rMHg1Yi8weDYxCiBbPGZmZmZmZmZmODExMWZhZWM+XSA/IGlub2RlX2hh c19wZXJtKzB4NWIvMHg2MQogWzxmZmZmZmZmZjgxMTFiMTA5Pl0gPyBzZWN1cml0eV9kZW50cnlf b3BlbisweDExLzB4MTMKIFs8ZmZmZmZmZmY4MTBiN2EwZT5dID8gX19kZW50cnlfb3BlbisweDE2 Mi8weDI0OQogWzxmZmZmZmZmZjgxMTFmZmU1Pl0gPyBkZW50cnlfaGFzX3Blcm0rMHg0NC8weDRi CiBbPGZmZmZmZmZmODEwYjdiYWI+XSA/IG5hbWVpZGF0YV90b19maWxwKzB4MmUvMHg0MAogWzxm ZmZmZmZmZjgxMGJjNDMwPl0gPyBjcF9uZXdfc3RhdCsweGUyLzB4ZWYKIFs8ZmZmZmZmZmY4MTBi YzYyZj5dID8gc3lzX25ld2ZzdGF0KzB4MjkvMHgzNAogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJy b3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxNDQ4LCBjb21tOiBpZnVwLWlwdjYgVGFpbnRlZDogRyBT ICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6 b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9m cm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3Bh Z2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTAyNTNjNj5dID8ga3ZtX21tdV93 cml0ZSsweDJlLzB4MzUKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEv MHhjNgogWzxmZmZmZmZmZjgxMDk5MDQ5Pl0gaGFuZGxlX21tX2ZhdWx0KzB4MWIzLzB4ODVkCiBb PGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZm ODEyYmE4MjI+XSA/IF9zcGluX2xvY2srMHg5LzB4YwogWzxmZmZmZmZmZjgxMGQwNjIyPl0gPyBt bnRfZHJvcF93cml0ZSsweDgyLzB4MTQzCiBbPGZmZmZmZmZmODEwY2U5NGQ+XSA/IG1udF93YW50 X3dyaXRlKzB4NzcvMHg4ZAogWzxmZmZmZmZmZjgxMGNiOWIzPl0gPyB0b3VjaF9hdGltZSsweGRh LzB4ZmMKIFs8ZmZmZmZmZmY4MTAyNTFmOT5dID8ga3ZtX2xlYXZlX2xhenlfbW11KzB4ODcvMHg5 YgogWzxmZmZmZmZmZjgxMDk4NTk5Pl0gPyB1bm1hcF92bWFzKzB4NmViLzB4ODk0CiBbPGZmZmZm ZmZmODEyYmE4MjI+XSA/IF9zcGluX2xvY2srMHg5LzB4YwogWzxmZmZmZmZmZjgxMDlkMzdmPl0g PyB2bWFfYWRqdXN0KzB4MzY2LzB4M2U2CiBbPGZmZmZmZmZmODEwOWRhODQ+XSA/IHZtYV9tZXJn ZSsweDFjZS8weDMwNwogWzxmZmZmZmZmZjgxMDlkZmY5Pl0gPyBkb19icmsrMHgyNWEvMHgzMjAK IFs8ZmZmZmZmZmY4MTE0YTJmMD5dID8gX191cF93cml0ZSsweDQyLzB4NDcKIFs8ZmZmZmZmZmY4 MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTQ4MywgY29tbTogaWZ1cC1hbGlh c2VzIFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZm ZmY4MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIvMHg2NwogWzxmZmZmZmZmZjgxMDhl MDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgxMDhl NWZiPl0gX19hbGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEwYWI4 ZDg+XSBhbGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5Nzg2OT5dIGRvX3dw X3BhZ2UrMHgyNDMvMHg1NGIKIFs8ZmZmZmZmZmY4MTA5NzBkOT5dID8gcG1kX2FsbG9jKzB4NDEv MHg3YwogWzxmZmZmZmZmZjgxMDk5NjNhPl0gaGFuZGxlX21tX2ZhdWx0KzB4N2E0LzB4ODVkCiBb PGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZm ODEwNTU3YmE+XSA/IGhydGltZXJfc3RhcnQrMHgxMmUvMHgxNTAKIFs8ZmZmZmZmZmY4MTAzMzdj ND5dID8gaHJ0aWNrX3N0YXJ0X2ZhaXIrMHgxNDcvMHgxODIKIFs8ZmZmZmZmZmY4MTAzNGY0YT5d ID8gZW5xdWV1ZV90YXNrX2ZhaXIrMHgxY2YvMHgxZGIKIFs8ZmZmZmZmZmY4MTAzMGZlNj5dID8g cmVzY2hlZF90YXNrKzB4NTIvMHg4YwogWzxmZmZmZmZmZjgxMDM2ZmFkPl0gPyBjaGVja19wcmVl bXB0X3dha2V1cCsweDEzOC8weDE0NQogWzxmZmZmZmZmZjgxMDM3ODZkPl0gPyB0cnlfdG9fd2Fr ZV91cCsweDI2OC8weDI3YQogWzxmZmZmZmZmZjgxMDMzNDVkPl0gPyBfX2RlcXVldWVfZW50aXR5 KzB4NjEvMHg2OQogWzxmZmZmZmZmZjgxMDMzODkyPl0gPyBwaWNrX25leHRfdGFza19mYWlyKzB4 OTMvMHhhMwogWzxmZmZmZmZmZjgxMDMxYmE1Pl0gPyBwaWNrX25leHRfdGFzaysweDI1LzB4NDEK IFs8ZmZmZmZmZmY4MTJiYWIxYT5dID8gZXJyb3JfZXhpdCsweDAvMHg3MAogWzxmZmZmZmZmZjgx MmJhNzc4Pl0gPyBfc3Bpbl9sb2NrX2lycSsweDExLzB4MTQKIFs8ZmZmZmZmZmY4MTA0OWE5ZD5d ID8gZG9fc2lnYWN0aW9uKzB4MTU4LzB4MTc5CiBbPGZmZmZmZmZmODEwNDliNmU+XSA/IHN5c19y dF9zaWdhY3Rpb24rMHg3NS8weDkzCiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4 MC8weDcwCgpQaWQ6IDE0ODMsIGNvbW06IGlmdXAtYWxpYXNlcyBUYWludGVkOiBHIFMgICAgICAg IDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVfc3Rh dGlzdGljcysweDYyLzB4NjcKIFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJl ZWxpc3QrMHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50 ZXJuYWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhj MS8weGM2CiBbPGZmZmZmZmZmODEwOTc4Njk+XSBkb193cF9wYWdlKzB4MjQzLzB4NTRiCiBbPGZm ZmZmZmZmODEwOTcwZDk+XSA/IHBtZF9hbGxvYysweDQxLzB4N2MKIFs8ZmZmZmZmZmY4MTA5OTYz YT5dIGhhbmRsZV9tbV9mYXVsdCsweDdhNC8weDg1ZAogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9f cGFnZV9mYXVsdCsweDY2NS8weGFhZQogWzxmZmZmZmZmZjgxMDU1N2JhPl0gPyBocnRpbWVyX3N0 YXJ0KzB4MTJlLzB4MTUwCiBbPGZmZmZmZmZmODEwMzM3YzQ+XSA/IGhydGlja19zdGFydF9mYWly KzB4MTQ3LzB4MTgyCiBbPGZmZmZmZmZmODEwMzRmNGE+XSA/IGVucXVldWVfdGFza19mYWlyKzB4 MWNmLzB4MWRiCiBbPGZmZmZmZmZmODEwMzBmZTY+XSA/IHJlc2NoZWRfdGFzaysweDUyLzB4OGMK IFs8ZmZmZmZmZmY4MTAzNmZhZD5dID8gY2hlY2tfcHJlZW1wdF93YWtldXArMHgxMzgvMHgxNDUK IFs8ZmZmZmZmZmY4MTAzNzg2ZD5dID8gdHJ5X3RvX3dha2VfdXArMHgyNjgvMHgyN2EKIFs8ZmZm ZmZmZmY4MTAzMzQ1ZD5dID8gX19kZXF1ZXVlX2VudGl0eSsweDYxLzB4NjkKIFs8ZmZmZmZmZmY4 MTAzMzg5Mj5dID8gcGlja19uZXh0X3Rhc2tfZmFpcisweDkzLzB4YTMKIFs8ZmZmZmZmZmY4MTAz MWJhNT5dID8gcGlja19uZXh0X3Rhc2srMHgyNS8weDQxCiBbPGZmZmZmZmZmODEyYmFiMWE+XSA/ IGVycm9yX2V4aXQrMHgwLzB4NzAKIFs8ZmZmZmZmZmY4MTJiYTc3OD5dID8gX3NwaW5fbG9ja19p cnErMHgxMS8weDE0CiBbPGZmZmZmZmZmODEwNDlhOWQ+XSA/IGRvX3NpZ2FjdGlvbisweDE1OC8w eDE3OQogWzxmZmZmZmZmZjgxMDQ5YjZlPl0gPyBzeXNfcnRfc2lnYWN0aW9uKzB4NzUvMHg5Mwog WzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxNDg3LCBjb21t OiBpZnVwLWFsaWFzZXMgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNl OgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZm ZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZm ZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZm ZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk3 ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8weDU0YgogWzxmZmZmZmZmZjgxMDk3MGQ5Pl0gPyBwbWRf YWxsb2MrMHg0MS8weDdjCiBbPGZmZmZmZmZmODEwOTk2M2E+XSBoYW5kbGVfbW1fZmF1bHQrMHg3 YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTA1NTdiYT5dID8gaHJ0aW1lcl9zdGFydCsweDEyZS8weDE1 MAogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQogWzxmZmZm ZmZmZjgxMDU1N2JhPl0gPyBocnRpbWVyX3N0YXJ0KzB4MTJlLzB4MTUwCiBbPGZmZmZmZmZmODEw MzM3YzQ+XSA/IGhydGlja19zdGFydF9mYWlyKzB4MTQ3LzB4MTgyCiBbPGZmZmZmZmZmODEwMzRm NGE+XSA/IGVucXVldWVfdGFza19mYWlyKzB4MWNmLzB4MWRiCiBbPGZmZmZmZmZmODEwMzBmZTY+ XSA/IHJlc2NoZWRfdGFzaysweDUyLzB4OGMKIFs8ZmZmZmZmZmY4MTAzNmZhZD5dID8gY2hlY2tf cHJlZW1wdF93YWtldXArMHgxMzgvMHgxNDUKIFs8ZmZmZmZmZmY4MTAzNzg2ZD5dID8gdHJ5X3Rv X3dha2VfdXArMHgyNjgvMHgyN2EKIFs8ZmZmZmZmZmY4MTAzMzQ1ZD5dID8gX19kZXF1ZXVlX2Vu dGl0eSsweDYxLzB4NjkKIFs8ZmZmZmZmZmY4MTAzMzg5Mj5dID8gcGlja19uZXh0X3Rhc2tfZmFp cisweDkzLzB4YTMKIFs8ZmZmZmZmZmY4MTAzMWJhNT5dID8gcGlja19uZXh0X3Rhc2srMHgyNS8w eDQxCiBbPGZmZmZmZmZmODEwNDEzZTM+XSA/IHB1dF9mc19zdHJ1Y3QrMHgzNy8weDNjCiBbPGZm ZmZmZmZmODEyYmFiMWE+XSA/IGVycm9yX2V4aXQrMHgwLzB4NzAKIFs8ZmZmZmZmZmY4MTJiYTc3 OD5dID8gX3NwaW5fbG9ja19pcnErMHgxMS8weDE0CiBbPGZmZmZmZmZmODEwNDlhOWQ+XSA/IGRv X3NpZ2FjdGlvbisweDE1OC8weDE3OQogWzxmZmZmZmZmZjgxMDQ5YjZlPl0gPyBzeXNfcnRfc2ln YWN0aW9uKzB4NzUvMHg5MwogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3 MAoKUGlkOiAxNDg3LCBjb21tOiBpZnVwLWFsaWFzZXMgVGFpbnRlZDogRyBTICAgICAgICAyLjYu MjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3Rp Y3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0 KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFs KzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhj NgogWzxmZmZmZmZmZjgxMDk3ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8weDU0YgogWzxmZmZmZmZm ZjgxMDk3MGQ5Pl0gPyBwbWRfYWxsb2MrMHg0MS8weDdjCiBbPGZmZmZmZmZmODEwOTk2M2E+XSBo YW5kbGVfbW1fZmF1bHQrMHg3YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTA1NTdiYT5dID8gaHJ0aW1l cl9zdGFydCsweDEyZS8weDE1MAogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsw eDY2NS8weGFhZQogWzxmZmZmZmZmZjgxMDU1N2JhPl0gPyBocnRpbWVyX3N0YXJ0KzB4MTJlLzB4 MTUwCiBbPGZmZmZmZmZmODEwMzM3YzQ+XSA/IGhydGlja19zdGFydF9mYWlyKzB4MTQ3LzB4MTgy CiBbPGZmZmZmZmZmODEwMzRmNGE+XSA/IGVucXVldWVfdGFza19mYWlyKzB4MWNmLzB4MWRiCiBb PGZmZmZmZmZmODEwMzBmZTY+XSA/IHJlc2NoZWRfdGFzaysweDUyLzB4OGMKIFs8ZmZmZmZmZmY4 MTAzNmZhZD5dID8gY2hlY2tfcHJlZW1wdF93YWtldXArMHgxMzgvMHgxNDUKIFs8ZmZmZmZmZmY4 MTAzNzg2ZD5dID8gdHJ5X3RvX3dha2VfdXArMHgyNjgvMHgyN2EKIFs8ZmZmZmZmZmY4MTAzMzQ1 ZD5dID8gX19kZXF1ZXVlX2VudGl0eSsweDYxLzB4NjkKIFs8ZmZmZmZmZmY4MTAzMzg5Mj5dID8g cGlja19uZXh0X3Rhc2tfZmFpcisweDkzLzB4YTMKIFs8ZmZmZmZmZmY4MTAzMWJhNT5dID8gcGlj a19uZXh0X3Rhc2srMHgyNS8weDQxCiBbPGZmZmZmZmZmODEwNDEzZTM+XSA/IHB1dF9mc19zdHJ1 Y3QrMHgzNy8weDNjCiBbPGZmZmZmZmZmODEyYmFiMWE+XSA/IGVycm9yX2V4aXQrMHgwLzB4NzAK IFs8ZmZmZmZmZmY4MTJiYTc3OD5dID8gX3NwaW5fbG9ja19pcnErMHgxMS8weDE0CiBbPGZmZmZm ZmZmODEwNDlhOWQ+XSA/IGRvX3NpZ2FjdGlvbisweDE1OC8weDE3OQogWzxmZmZmZmZmZjgxMDQ5 YjZlPl0gPyBzeXNfcnRfc2lnYWN0aW9uKzB4NzUvMHg5MwogWzxmZmZmZmZmZjgxMmJhYjFhPl0g ZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxNDg5LCBjb21tOiBpZnVwLWFsaWFzZXMgVGFpbnRl ZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQy Pl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRf cGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2Fs bG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTAyNTNjNj5dID8ga3Zt X21tdV93cml0ZSsweDJlLzB4MzUKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1h KzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk3ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8weDU0Ygog WzxmZmZmZmZmZjgxMDk3MGQ5Pl0gPyBwbWRfYWxsb2MrMHg0MS8weDdjCiBbPGZmZmZmZmZmODEw OTk2M2E+XSBoYW5kbGVfbW1fZmF1bHQrMHg3YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTA1NTdiYT5d ID8gaHJ0aW1lcl9zdGFydCsweDEyZS8weDE1MAogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFn ZV9mYXVsdCsweDY2NS8weGFhZQogWzxmZmZmZmZmZjgxMDU1N2JhPl0gPyBocnRpbWVyX3N0YXJ0 KzB4MTJlLzB4MTUwCiBbPGZmZmZmZmZmODEwMzM3YzQ+XSA/IGhydGlja19zdGFydF9mYWlyKzB4 MTQ3LzB4MTgyCiBbPGZmZmZmZmZmODEwMzRmNGE+XSA/IGVucXVldWVfdGFza19mYWlyKzB4MWNm LzB4MWRiCiBbPGZmZmZmZmZmODEwMzBmZTY+XSA/IHJlc2NoZWRfdGFzaysweDUyLzB4OGMKIFs8 ZmZmZmZmZmY4MTAzNmZhZD5dID8gY2hlY2tfcHJlZW1wdF93YWtldXArMHgxMzgvMHgxNDUKIFs8 ZmZmZmZmZmY4MTAzNzg2ZD5dID8gdHJ5X3RvX3dha2VfdXArMHgyNjgvMHgyN2EKIFs8ZmZmZmZm ZmY4MTAzMzQ1ZD5dID8gX19kZXF1ZXVlX2VudGl0eSsweDYxLzB4NjkKIFs8ZmZmZmZmZmY4MTAz Mzg5Mj5dID8gcGlja19uZXh0X3Rhc2tfZmFpcisweDkzLzB4YTMKIFs8ZmZmZmZmZmY4MTAzMWJh NT5dID8gcGlja19uZXh0X3Rhc2srMHgyNS8weDQxCiBbPGZmZmZmZmZmODEyYmFiMWE+XSA/IGVy cm9yX2V4aXQrMHgwLzB4NzAKIFs8ZmZmZmZmZmY4MTJiYTc3OD5dID8gX3NwaW5fbG9ja19pcnEr MHgxMS8weDE0CiBbPGZmZmZmZmZmODEwNDlhOWQ+XSA/IGRvX3NpZ2FjdGlvbisweDE1OC8weDE3 OQogWzxmZmZmZmZmZjgxMmJhNzc4Pl0gPyBfc3Bpbl9sb2NrX2lycSsweDExLzB4MTQKIFs8ZmZm ZmZmZmY4MTA0OTM1Nz5dID8gc2lncHJvY21hc2srMHhjNi8weGQ5CiBbPGZmZmZmZmZmODEyYmFi MWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE0ODksIGNvbW06IGlmdXAtYWxpYXNlcyBU YWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEw OTRkNDI+XSA/IHpvbmVfc3RhdGlzdGljcysweDYyLzB4NjcKIFs8ZmZmZmZmZmY4MTA4ZTAyMT5d IGdldF9wYWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4MTA4ZTVmYj5d IF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMGFiOGQ4Pl0g YWxsb2NfcGFnZV92bWErMHhjMS8weGM2CiBbPGZmZmZmZmZmODEwOTc4Njk+XSBkb193cF9wYWdl KzB4MjQzLzB4NTRiCiBbPGZmZmZmZmZmODEwOTcwZDk+XSA/IHBtZF9hbGxvYysweDQxLzB4N2MK IFs8ZmZmZmZmZmY4MTA5OTYzYT5dIGhhbmRsZV9tbV9mYXVsdCsweDdhNC8weDg1ZAogWzxmZmZm ZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEy YmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZmODEwOGU1ZmI+XSA/ IF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMmJhODIyPl0g PyBfc3Bpbl9sb2NrKzB4OS8weGMKIFs8ZmZmZmZmZmY4MTBkMDYyMj5dID8gbW50X2Ryb3Bfd3Jp dGUrMHg4Mi8weDE0MwogWzxmZmZmZmZmZjgxMGNlOTRkPl0gPyBtbnRfd2FudF93cml0ZSsweDc3 LzB4OGQKIFs8ZmZmZmZmZmY4MTBjYjg5ZT5dID8gZmlsZV91cGRhdGVfdGltZSsweGM3LzB4MTAy CiBbPGZmZmZmZmZmODEwYmZjY2E+XSA/IHBpcGVfd3JpdGUrMHg0YjQvMHg0YzYKIFs8ZmZmZmZm ZmY4MTExZmFlYz5dID8gaW5vZGVfaGFzX3Blcm0rMHg1Yi8weDYxCiBbPGZmZmZmZmZmODEwYjkw NTg+XSA/IGRvX3N5bmNfd3JpdGUrMHhlNy8weDEyZAogWzxmZmZmZmZmZjgxMDUyOWU1Pl0gPyBh dXRvcmVtb3ZlX3dha2VfZnVuY3Rpb24rMHgwLzB4MzgKIFs8ZmZmZmZmZmY4MTJiYTgyMj5dID8g X3NwaW5fbG9jaysweDkvMHhjCiBbPGZmZmZmZmZmODEwYjhkMjI+XSA/IGZzbm90aWZ5X21vZGlm eSsweDYyLzB4NmEKIFs8ZmZmZmZmZmY4MTBiOTkzOT5dID8gdmZzX3dyaXRlKzB4ZDAvMHgxMDUK IFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTQ4OCwgY29t bTogaWZ1cC1hbGlhc2VzIFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFj ZToKIFs8ZmZmZmZmZmY4MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIvMHg2NwogWzxm ZmZmZmZmZjgxMDhlMDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxm ZmZmZmZmZjgxMDhlNWZiPl0gX19hbGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZm ZmZmZmZmODEwMjUzYzY+XSA/IGt2bV9tbXVfd3JpdGUrMHgyZS8weDM1CiBbPGZmZmZmZmZmODEw YWI4ZDg+XSBhbGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5Nzg2OT5dIGRv X3dwX3BhZ2UrMHgyNDMvMHg1NGIKIFs8ZmZmZmZmZmY4MTA5NzBkOT5dID8gcG1kX2FsbG9jKzB4 NDEvMHg3YwogWzxmZmZmZmZmZjgxMDk5NjNhPl0gaGFuZGxlX21tX2ZhdWx0KzB4N2E0LzB4ODVk CiBbPGZmZmZmZmZmODExNGJlMjk+XSA/IHZzbnByaW50ZisweDU2Yi8weDViZAogWzxmZmZmZmZm ZjgxMDhlNWZiPl0gPyBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZm ZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTE0YmZj Nz5dID8gc25wcmludGYrMHg1OS8weDViCiBbPGZmZmZmZmZmODEwY2E0ZjI+XSA/IGRfbG9va3Vw KzB4MmQvMHg0MgogWzxmZmZmZmZmZjgxMGNhNTcxPl0gPyBkX2hhc2hfYW5kX2xvb2t1cCsweDZh LzB4NzUKIFs8ZmZmZmZmZmY4MTBiMjA5YT5dID8gdmlydF90b19oZWFkX3BhZ2UrMHgzMS8weDQx CiBbPGZmZmZmZmZmODEwNDFlMjY+XSA/IHJlbGVhc2VfdGFzaysweDNjZS8weDNlNAogWzxmZmZm ZmZmZjgxMDQyM2M2Pl0gPyB3YWl0X2NvbnNpZGVyX3Rhc2srMHg1OGEvMHg5MTMKIFs8ZmZmZmZm ZmY4MTA1MmMyZT5dID8gcmVtb3ZlX3dhaXRfcXVldWUrMHgyZi8weDM5CiBbPGZmZmZmZmZmODEw NDI5ZDE+XSA/IGRvX3dhaXQrMHgyODIvMHgzNDMKIFs8ZmZmZmZmZmY4MTAxMDA0Mz5dID8gc3lz X3J0X3NpZ3JldHVybisweDNjNC8weDQwMQogWzxmZmZmZmZmZjgxMmJhNzc4Pl0gPyBfc3Bpbl9s b2NrX2lycSsweDExLzB4MTQKIFs8ZmZmZmZmZmY4MTA0OWE5ZD5dID8gZG9fc2lnYWN0aW9uKzB4 MTU4LzB4MTc5CiBbPGZmZmZmZmZmODEwNDliNmU+XSA/IHN5c19ydF9zaWdhY3Rpb24rMHg3NS8w eDkzCiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE0ODIs IGNvbW06IGlmdXAtYWxpYXNlcyBUYWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwg VHJhY2U6CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVfc3RhdGlzdGljcysweDYyLzB4NjcK IFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQK IFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1Nwog WzxmZmZmZmZmZjgxMDI1M2M2Pl0gPyBrdm1fbW11X3dyaXRlKzB4MmUvMHgzNQogWzxmZmZmZmZm ZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhjMS8weGM2CiBbPGZmZmZmZmZmODEwOTkwNDk+ XSBoYW5kbGVfbW1fZmF1bHQrMHgxYjMvMHg4NWQKIFs8ZmZmZmZmZmY4MTE0YmUyOT5dID8gdnNu cHJpbnRmKzB4NTZiLzB4NWJkCiBbPGZmZmZmZmZmODEwOGNkNDg+XSA/IGZyZWVfaG90X3BhZ2Ur MHhiLzB4ZAogWzxmZmZmZmZmZjgxMGIyMDlhPl0gPyB2aXJ0X3RvX2hlYWRfcGFnZSsweDMxLzB4 NDEKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZm ZmZmZmY4MTJiYTgyMj5dID8gX3NwaW5fbG9jaysweDkvMHhjCiBbPGZmZmZmZmZmODEwZDA2MjI+ XSA/IG1udF9kcm9wX3dyaXRlKzB4ODIvMHgxNDMKIFs8ZmZmZmZmZmY4MTBjZTk0ZD5dID8gbW50 X3dhbnRfd3JpdGUrMHg3Ny8weDhkCiBbPGZmZmZmZmZmODEwODdlZmU+XSA/IGZpbGVfcmVhZF9h Y3RvcisweDUxLzB4MTAwCiBbPGZmZmZmZmZmODEwY2I5YjM+XSA/IHRvdWNoX2F0aW1lKzB4ZGEv MHhmYwogWzxmZmZmZmZmZjgxMDhhMTk2Pl0gPyBnZW5lcmljX2ZpbGVfYWlvX3JlYWQrMHg1MDkv MHg1NjQKIFs8ZmZmZmZmZmY4MTBiOTE4NT5dID8gZG9fc3luY19yZWFkKzB4ZTcvMHgxMmQKIFs8 ZmZmZmZmZmY4MTA1MmMyZT5dID8gcmVtb3ZlX3dhaXRfcXVldWUrMHgyZi8weDM5CiBbPGZmZmZm ZmZmODEwNTI5ZTU+XSA/IGF1dG9yZW1vdmVfd2FrZV9mdW5jdGlvbisweDAvMHgzOAogWzxmZmZm ZmZmZjgxMDQyOWQxPl0gPyBkb193YWl0KzB4MjgyLzB4MzQzCiBbPGZmZmZmZmZmODEyYmE4MjI+ XSA/IF9zcGluX2xvY2srMHg5LzB4YwogWzxmZmZmZmZmZjgxMGI4Y2I4Pl0gPyBmc25vdGlmeV9h Y2Nlc3MrMHg2Mi8weDZhCiBbPGZmZmZmZmZmODEyYmE3Nzg+XSA/IF9zcGluX2xvY2tfaXJxKzB4 MTEvMHgxNAogWzxmZmZmZmZmZjgxMDQ5MzU3Pl0gPyBzaWdwcm9jbWFzaysweGM2LzB4ZDkKIFs8 ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTQ5MCwgY29tbTog aWZ1cC1yb3V0ZXMgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgog WzxmZmZmZmZmZjgxMDhlNWZiPl0gPyBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcK IFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQK IFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1Nwog WzxmZmZmZmZmZjgxMDg4ZDVmPl0gPyBmaWxlbWFwX2ZhdWx0KzB4MWQyLzB4MzI4CiBbPGZmZmZm ZmZmODEwYWI4ZDg+XSBhbGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5NzNi Mj5dIF9fZG9fZmF1bHQrMHhhOC8weDMxYwogWzxmZmZmZmZmZjgxMDk5MjQzPl0gaGFuZGxlX21t X2ZhdWx0KzB4M2FkLzB4ODVkCiBbPGZmZmZmZmZmODEwOGNkNDg+XSA/IGZyZWVfaG90X3BhZ2Ur MHhiLzB4ZAogWzxmZmZmZmZmZjgxMTIxZjc3Pl0gPyBpbm9kZV9kb2luaXRfd2l0aF9kZW50cnkr MHg0MWYvMHg0MzUKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhh YWUKIFs8ZmZmZmZmZmY4MTBmOWVhYz5dID8gcHJvY19yb290X2xvb2t1cCsweDFiLzB4M2UKIFs8 ZmZmZmZmZmY4MTJiYTgyMj5dID8gX3NwaW5fbG9jaysweDkvMHhjCiBbPGZmZmZmZmZmODEwZGYz ZjM+XSA/IG5yX2Jsb2NrZGV2X3BhZ2VzKzB4NjIvMHg2YgogWzxmZmZmZmZmZjgxMDhjYWIxPl0g PyBmcmVlX3BhZ2VzX2NoZWNrKzB4ODIvMHg4YQogWzxmZmZmZmZmZjgxMDhiZTA1Pl0gPyBnZXRf cGFnZWJsb2NrX21pZ3JhdGV0eXBlKzB4MWIvMHgxZAogWzxmZmZmZmZmZjgxMDhjZDQ4Pl0gPyBm cmVlX2hvdF9wYWdlKzB4Yi8weGQKIFs8ZmZmZmZmZmY4MTA5MTNhOD5dID8gcHV0X3BhZ2UrMHg5 My8weGEwCiBbPGZmZmZmZmZmODEwMjUxZjk+XSA/IGt2bV9sZWF2ZV9sYXp5X21tdSsweDg3LzB4 OWIKIFs8ZmZmZmZmZmY4MTA5ODU5OT5dID8gdW5tYXBfdm1hcysweDZlYi8weDg5NAogWzxmZmZm ZmZmZjgxMGY5M2M1Pl0gPyBwcm9jX2Rlc3Ryb3lfaW5vZGUrMHgxNC8weDE2CiBbPGZmZmZmZmZm ODEwMjUyZGY+XSA/IGt2bV9kZWZlcnJlZF9tbXVfb3ArMHg1Yi8weGVkCiBbPGZmZmZmZmZmODEw MjUzOTY+XSA/IGt2bV9mbHVzaF90bGIrMHgyNS8weDI3CiBbPGZmZmZmZmZmODEwOWI0ZTA+XSA/ IGZyZWVfcGd0YWJsZXMrMHhhNy8weGM3CiBbPGZmZmZmZmZmODEwMWZkODE+XSA/IGZsdXNoX3Rs Yl9tbSsweDVmLzB4ODMKIFs8ZmZmZmZmZmY4MTBiMjA5YT5dID8gdmlydF90b19oZWFkX3BhZ2Ur MHgzMS8weDQxCiBbPGZmZmZmZmZmODEwNDlhOWQ+XSA/IGRvX3NpZ2FjdGlvbisweDE1OC8weDE3 OQogWzxmZmZmZmZmZjgxMmJhNzc4Pl0gPyBfc3Bpbl9sb2NrX2lycSsweDExLzB4MTQKIFs8ZmZm ZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTQ5MywgY29tbTogaWZ1 cC1wb3N0IFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFjZToKIFs8ZmZm ZmZmZmY4MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIvMHg2NwogWzxmZmZmZmZmZjgx MDhlMDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgx MDhlNWZiPl0gX19hbGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEw MjUzYzY+XSA/IGt2bV9tbXVfd3JpdGUrMHgyZS8weDM1CiBbPGZmZmZmZmZmODEwYWI4ZDg+XSBh bGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5Nzg2OT5dIGRvX3dwX3BhZ2Ur MHgyNDMvMHg1NGIKIFs8ZmZmZmZmZmY4MTA5NzBkOT5dID8gcG1kX2FsbG9jKzB4NDEvMHg3Ywog WzxmZmZmZmZmZjgxMDk5NjNhPl0gaGFuZGxlX21tX2ZhdWx0KzB4N2E0LzB4ODVkCiBbPGZmZmZm ZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZmODExMWRm MzM+XSA/IGF2Y19oYXNfcGVybSsweDRlLzB4NjAKIFs8ZmZmZmZmZmY4MTExZmFlYz5dID8gaW5v ZGVfaGFzX3Blcm0rMHg1Yi8weDYxCiBbPGZmZmZmZmZmODExMWZhZWM+XSA/IGlub2RlX2hhc19w ZXJtKzB4NWIvMHg2MQogWzxmZmZmZmZmZjgxMTFiMTA5Pl0gPyBzZWN1cml0eV9kZW50cnlfb3Bl bisweDExLzB4MTMKIFs8ZmZmZmZmZmY4MTBiN2EwZT5dID8gX19kZW50cnlfb3BlbisweDE2Mi8w eDI0OQogWzxmZmZmZmZmZjgxMTFmZmU1Pl0gPyBkZW50cnlfaGFzX3Blcm0rMHg0NC8weDRiCiBb PGZmZmZmZmZmODEwYjdiYWI+XSA/IG5hbWVpZGF0YV90b19maWxwKzB4MmUvMHg0MAogWzxmZmZm ZmZmZjgxMGJjNDMwPl0gPyBjcF9uZXdfc3RhdCsweGUyLzB4ZWYKIFs8ZmZmZmZmZmY4MTBiYzYy Zj5dID8gc3lzX25ld2ZzdGF0KzB4MjkvMHgzNAogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3Jf ZXhpdCsweDAvMHg3MAoKUGlkOiAxNDk1LCBjb21tOiBpbml0LmlwdjYtZ2xvYmEgVGFpbnRlZDog RyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0g PyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFn ZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9j X3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3Bh Z2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk3ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8w eDU0YgogWzxmZmZmZmZmZjgxMDk3MGQ5Pl0gPyBwbWRfYWxsb2MrMHg0MS8weDdjCiBbPGZmZmZm ZmZmODEwOTk2M2E+XSBoYW5kbGVfbW1fZmF1bHQrMHg3YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTJi ZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dID8g ZXJyb3JfZXhpdCsweDAvMHg3MAogWzxmZmZmZmZmZjgxMmJhNzc4Pl0gPyBfc3Bpbl9sb2NrX2ly cSsweDExLzB4MTQKIFs8ZmZmZmZmZmY4MTA0OWE5ZD5dID8gZG9fc2lnYWN0aW9uKzB4MTU4LzB4 MTc5CiBbPGZmZmZmZmZmODEwNDliNmU+XSA/IHN5c19ydF9zaWdhY3Rpb24rMHg3NS8weDkzCiBb PGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE0OTUsIGNvbW06 IGluaXQuaXB2Ni1nbG9iYSBUYWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJh Y2U6CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVfc3RhdGlzdGljcysweDYyLzB4NjcKIFs8 ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQKIFs8 ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1NwogWzxm ZmZmZmZmZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhjMS8weGM2CiBbPGZmZmZmZmZmODEw OTc4Njk+XSBkb193cF9wYWdlKzB4MjQzLzB4NTRiCiBbPGZmZmZmZmZmODEwOTcwZDk+XSA/IHBt ZF9hbGxvYysweDQxLzB4N2MKIFs8ZmZmZmZmZmY4MTA5OTYzYT5dIGhhbmRsZV9tbV9mYXVsdCsw eDdhNC8weDg1ZAogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFh ZQogWzxmZmZmZmZmZjgxMmJhYjFhPl0gPyBlcnJvcl9leGl0KzB4MC8weDcwCiBbPGZmZmZmZmZm ODEyYmE3Nzg+XSA/IF9zcGluX2xvY2tfaXJxKzB4MTEvMHgxNAogWzxmZmZmZmZmZjgxMDQ5YTlk Pl0gPyBkb19zaWdhY3Rpb24rMHgxNTgvMHgxNzkKIFs8ZmZmZmZmZmY4MTA0OWI2ZT5dID8gc3lz X3J0X3NpZ2FjdGlvbisweDc1LzB4OTMKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQr MHgwLzB4NzAKClBpZDogMTQ5NSwgY29tbTogaXAgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcg IzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3Mr MHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4 M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4 ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgog WzxmZmZmZmZmZjgxMDk3M2IyPl0gX19kb19mYXVsdCsweGE4LzB4MzFjCiBbPGZmZmZmZmZmODEw MjU0NDE+XSA/IGt2bV9zZXRfcG1kKzB4MjIvMHgyYgogWzxmZmZmZmZmZjgxMDJkNGZhPl0gPyBw dGVfYWxsb2Nfb25lKzB4MzEvMHgzYgogWzxmZmZmZmZmZjgxMDk5MjQzPl0gaGFuZGxlX21tX2Zh dWx0KzB4M2FkLzB4ODVkCiBbPGZmZmZmZmZmODExMWZhZWM+XSA/IGlub2RlX2hhc19wZXJtKzB4 NWIvMHg2MQogWzxmZmZmZmZmZjgxMGNhNDg0Pl0gPyBfX2RfbG9va3VwKzB4ZDYvMHgxMTcKIFs8 ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4 MTA5NmFkND5dID8gcG1kX25vbmVfb3JfY2xlYXJfYmFkKzB4MTQvMHg1MwogWzxmZmZmZmZmZjgx MTQ4M2RlPl0gPyBwcmlvX3RyZWVfaW5zZXJ0KzB4MTllLzB4MjJhCiBbPGZmZmZmZmZmODEwOTQ1 MDI+XSA/IHZtYV9wcmlvX3RyZWVfcmVtb3ZlKzB4NDIvMHhkZAogWzxmZmZmZmZmZjgxMTI4NDBh Pl0gPyBzaWR0YWJfc2VhcmNoKzB4Yi8weGQKIFs8ZmZmZmZmZmY4MTEyYzYyMD5dID8gc2VjdXJp dHlfcGVybWlzc2l2ZV9zaWQrMHgzZC8weDQ4CiBbPGZmZmZmZmZmODExMWQ1ZmI+XSA/IGF2Y19o YXNfcGVybV9ub2F1ZGl0KzB4MmFhLzB4M2Y2CiBbPGZmZmZmZmZmODExNDgzZGU+XSA/IHByaW9f dHJlZV9pbnNlcnQrMHgxOWUvMHgyMmEKIFs8ZmZmZmZmZmY4MTA5NDY1YT5dID8gdm1hX3ByaW9f dHJlZV9pbnNlcnQrMHgyMy8weGMxCiBbPGZmZmZmZmZmODEwOWM2NTM+XSA/IF9fdm1hX2xpbmtf ZmlsZSsweDVmLzB4NjEKIFs8ZmZmZmZmZmY4MTA5Y2U1Nz5dID8gdm1hX2xpbmsrMHg5Yi8weGFk CiBbPGZmZmZmZmZmODEwOWU1YmU+XSA/IG1tYXBfcmVnaW9uKzB4M2ViLzB4NGQ5CiBbPGZmZmZm ZmZmODEwOWU5ZDE+XSA/IGRvX21tYXBfcGdvZmYrMHgzMjUvMHgzODgKIFs8ZmZmZmZmZmY4MTE0 YTJmMD5dID8gX191cF93cml0ZSsweDQyLzB4NDcKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9y X2V4aXQrMHgwLzB4NzAKClBpZDogMTQ5NSwgY29tbTogaXAgVGFpbnRlZDogRyBTICAgICAgICAy LjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRp c3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVs aXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwMjUyZGY+XSA/IGt2bV9kZWZlcnJlZF9tbXVf b3ArMHg1Yi8weGVkCiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFs KzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhj NgogWzxmZmZmZmZmZjgxMDk5MDQ5Pl0gaGFuZGxlX21tX2ZhdWx0KzB4MWIzLzB4ODVkCiBbPGZm ZmZmZmZmODEwY2E0ODQ+XSA/IF9fZF9sb29rdXArMHhkNi8weDExNwogWzxmZmZmZmZmZjgxMmJk MTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQogWzxmZmZmZmZmZjgxMGEwNzljPl0gPyBf X2Fub25fdm1hX2xpbmsrMHgxZS8weDIwCiBbPGZmZmZmZmZmODEwOWNkYjg+XSA/IF9fdm1hX2xp bmsrMHg2OC8weDZjCiBbPGZmZmZmZmZmODEwMjUxZjk+XSA/IGt2bV9sZWF2ZV9sYXp5X21tdSsw eDg3LzB4OWIKIFs8ZmZmZmZmZmY4MTA5ODU5OT5dID8gdW5tYXBfdm1hcysweDZlYi8weDg5NAog WzxmZmZmZmZmZjgxMDI1MmRmPl0gPyBrdm1fZGVmZXJyZWRfbW11X29wKzB4NWIvMHhlZAogWzxm ZmZmZmZmZjgxMGIwZjFlPl0gPyBhZGRfcGFydGlhbCsweDQ4LzB4NTIKIFs8ZmZmZmZmZmY4MTBi MzEwOT5dID8gX19zbGFiX2ZyZWUrMHhhZi8weDI4ZQogWzxmZmZmZmZmZjgxMDljN2Y1Pl0gPyBy ZW1vdmVfdm1hKzB4N2QvMHg4NQogWzxmZmZmZmZmZjgxMDljN2Y1Pl0gPyByZW1vdmVfdm1hKzB4 N2QvMHg4NQogWzxmZmZmZmZmZjgxMDljN2Y1Pl0gPyByZW1vdmVfdm1hKzB4N2QvMHg4NQogWzxm ZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxNDk2LCBjb21tOiBp bml0LmlwdjYtZ2xvYmEgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNl OgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZm ZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZm ZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZm ZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk3 ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8weDU0YgogWzxmZmZmZmZmZjgxMDk3MGQ5Pl0gPyBwbWRf YWxsb2MrMHg0MS8weDdjCiBbPGZmZmZmZmZmODEwOTk2M2E+XSBoYW5kbGVfbW1fZmF1bHQrMHg3 YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUK IFs8ZmZmZmZmZmY4MTJiYWIxYT5dID8gZXJyb3JfZXhpdCsweDAvMHg3MAogWzxmZmZmZmZmZjgx MmJhNzc4Pl0gPyBfc3Bpbl9sb2NrX2lycSsweDExLzB4MTQKIFs8ZmZmZmZmZmY4MTA0OWE5ZD5d ID8gZG9fc2lnYWN0aW9uKzB4MTU4LzB4MTc5CiBbPGZmZmZmZmZmODEwNDliNmU+XSA/IHN5c19y dF9zaWdhY3Rpb24rMHg3NS8weDkzCiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4 MC8weDcwCgpQaWQ6IDE0OTYsIGNvbW06IGluaXQuaXB2Ni1nbG9iYSBUYWludGVkOiBHIFMgICAg ICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFn ZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9j X3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3Bh Z2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk5MDQ5Pl0gaGFuZGxlX21tX2ZhdWx0KzB4 MWIzLzB4ODVkCiBbPGZmZmZmZmZmODEwOTdiY2Y+XSA/IGZvbGxvd19wYWdlKzB4NWUvMHgzM2QK IFs8ZmZmZmZmZmY4MTA5OWE4NT5dIGdldF91c2VyX3BhZ2VzKzB4MzkyLzB4NDk2CiBbPGZmZmZm ZmZmODEwYjkxODU+XSA/IGRvX3N5bmNfcmVhZCsweGU3LzB4MTJkCiBbPGZmZmZmZmZmODEwNTI5 ZTU+XSA/IGF1dG9yZW1vdmVfd2FrZV9mdW5jdGlvbisweDAvMHgzOAogWzxmZmZmZmZmZjgxMGJk Mjg1Pl0gZ2V0X2FyZ19wYWdlKzB4NGIvMHhhYgogWzxmZmZmZmZmZjgxMGJkNGNiPl0gY29weV9z dHJpbmdzKzB4ZmIvMHgxZTMKIFs8ZmZmZmZmZmY4MTBiZDVlMT5dIGNvcHlfc3RyaW5nc19rZXJu ZWwrMHgyZS8weDQzCiBbPGZmZmZmZmZmODEwYmU5MGM+XSBkb19leGVjdmUrMHgxNWEvMHgyNzUK IFs8ZmZmZmZmZmY4MTBjMzQ5Zj5dID8gZ2V0bmFtZSsweDE2Yy8weDFkMgogWzxmZmZmZmZmZjgx MDBlNjQzPl0gc3lzX2V4ZWN2ZSsweDNlLzB4NTkKIFs8ZmZmZmZmZmY4MTAxMDcxYT5dIHN0dWJf ZXhlY3ZlKzB4NmEvMHhjMAoKUGlkOiAxNDk2LCBjb21tOiBpcCBUYWludGVkOiBHIFMgICAgICAg IDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVfc3Rh dGlzdGljcysweDYyLzB4NjcKIFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJl ZWxpc3QrMHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4MTAyNTJkZj5dID8ga3ZtX2RlZmVycmVkX21t dV9vcCsweDViLzB4ZWQKIFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJu YWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMDI1M2M2Pl0gPyBrdm1fbW11X3dyaXRlKzB4MmUv MHgzNQogWzxmZmZmZmZmZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhjMS8weGM2CiBbPGZm ZmZmZmZmODEwOTkwNDk+XSBoYW5kbGVfbW1fZmF1bHQrMHgxYjMvMHg4NWQKIFs8ZmZmZmZmZmY4 MTBjYTQ4ND5dID8gX19kX2xvb2t1cCsweGQ2LzB4MTE3CiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBk b19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZmODEwYTA3OWM+XSA/IF9fYW5vbl92 bWFfbGluaysweDFlLzB4MjAKIFs8ZmZmZmZmZmY4MTA5Y2RiOD5dID8gX192bWFfbGluaysweDY4 LzB4NmMKIFs8ZmZmZmZmZmY4MTAyNTFmOT5dID8ga3ZtX2xlYXZlX2xhenlfbW11KzB4ODcvMHg5 YgogWzxmZmZmZmZmZjgxMDk4NTk5Pl0gPyB1bm1hcF92bWFzKzB4NmViLzB4ODk0CiBbPGZmZmZm ZmZmODEwMjUyZGY+XSA/IGt2bV9kZWZlcnJlZF9tbXVfb3ArMHg1Yi8weGVkCiBbPGZmZmZmZmZm ODEwOTQ1MDI+XSA/IHZtYV9wcmlvX3RyZWVfcmVtb3ZlKzB4NDIvMHhkZAogWzxmZmZmZmZmZjgx MGIyMDlhPl0gPyB2aXJ0X3RvX2hlYWRfcGFnZSsweDMxLzB4NDEKIFs8ZmZmZmZmZmY4MTBjZjU3 NT5dID8gbW50cHV0X25vX2V4cGlyZSsweDMxLzB4MTQ0CiBbPGZmZmZmZmZmODEwYjIwOWE+XSA/ IHZpcnRfdG9faGVhZF9wYWdlKzB4MzEvMHg0MQogWzxmZmZmZmZmZjgxMDljN2Y1Pl0gPyByZW1v dmVfdm1hKzB4N2QvMHg4NQogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3 MAoKUGlkOiAxNDk3LCBjb21tOiBpbml0LmlwdjYtZ2xvYmEgVGFpbnRlZDogRyBTICAgICAgICAy LjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDhlMDIxPl0gZ2V0X3BhZ2VfZnJv bV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgxMDhlNWZiPl0gX19hbGxvY19wYWdl c19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEwOGUxMzQ+XSA/IGdldF9wYWdlX2Zy b21fZnJlZWxpc3QrMHg0ZTMvMHg2NzQKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vf dm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk3ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8weDU0 YgogWzxmZmZmZmZmZjgxMDk3MGQ5Pl0gPyBwbWRfYWxsb2MrMHg0MS8weDdjCiBbPGZmZmZmZmZm ODEwOTk2M2E+XSBoYW5kbGVfbW1fZmF1bHQrMHg3YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTA4ODU2 ZD5dID8gdW5sb2NrX3BhZ2UrMHgyZC8weDMyCiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdl X2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZmODEwMzJlMjM+XSA/IF9fd2FrZV91cCsweDQz LzB4NGYKIFs8ZmZmZmZmZmY4MTI1MTZiZT5dID8gbmV0bGlua19yZWN2bXNnKzB4MmQ5LzB4MmY3 CiBbPGZmZmZmZmZmODExNDljN2Q+XSA/IHJiX2luc2VydF9jb2xvcisweDY5LzB4ZTYKIFs8ZmZm ZmZmZmY4MTA1NGRlZT5dID8gZW5xdWV1ZV9ocnRpbWVyKzB4ZDMvMHhlMQogWzxmZmZmZmZmZjgx MDU1N2JhPl0gPyBocnRpbWVyX3N0YXJ0KzB4MTJlLzB4MTUwCiBbPGZmZmZmZmZmODEwNTU5ODc+ XSA/IGt0aW1lX2dldF90cysweDQ5LzB4NGUKIFs8ZmZmZmZmZmY4MTAzMzdjND5dID8gaHJ0aWNr X3N0YXJ0X2ZhaXIrMHgxNDcvMHgxODIKIFs8ZmZmZmZmZmY4MTAzNGY0YT5dID8gZW5xdWV1ZV90 YXNrX2ZhaXIrMHgxY2YvMHgxZGIKIFs8ZmZmZmZmZmY4MTAzMTcyZj5dID8gZW5xdWV1ZV90YXNr KzB4NTAvMHg1YgogWzxmZmZmZmZmZjgxMDM3ODZkPl0gPyB0cnlfdG9fd2FrZV91cCsweDI2OC8w eDI3YQogWzxmZmZmZmZmZjgxMDMzNDVkPl0gPyBfX2RlcXVldWVfZW50aXR5KzB4NjEvMHg2OQog WzxmZmZmZmZmZjgxMDMzODkyPl0gPyBwaWNrX25leHRfdGFza19mYWlyKzB4OTMvMHhhMwogWzxm ZmZmZmZmZjgxMDMxYmE1Pl0gPyBwaWNrX25leHRfdGFzaysweDI1LzB4NDEKIFs8ZmZmZmZmZmY4 MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKIFs8ZmZmZmZmZmY4MTE0Y2Q2ZD5dID8gX19w dXRfdXNlcl80KzB4MWQvMHgzMAogWzxmZmZmZmZmZjgxMDNkMTA3Pl0gPyBzY2hlZHVsZV90YWls KzB4NWIvMHg1ZgogWzxmZmZmZmZmZjgxMDEwMDljPl0gcmV0X2Zyb21fZm9yaysweGMvMHgyNQoK UGlkOiAxNDk3LCBjb21tOiBpbml0LmlwdjYtZ2xvYmEgVGFpbnRlZDogRyBTICAgICAgICAyLjYu MjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3Rp Y3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0 KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFs KzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhj NgogWzxmZmZmZmZmZjgxMDk3ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8weDU0YgogWzxmZmZmZmZm ZjgxMDk3MGQ5Pl0gPyBwbWRfYWxsb2MrMHg0MS8weDdjCiBbPGZmZmZmZmZmODEwOTk2M2E+XSBo YW5kbGVfbW1fZmF1bHQrMHg3YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTAzMmUyMz5dID8gX193YWtl X3VwKzB4NDMvMHg0ZgogWzxmZmZmZmZmZjgxMjUxNmJlPl0gPyBuZXRsaW5rX3JlY3Ztc2crMHgy ZDkvMHgyZjcKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUK IFs8ZmZmZmZmZmY4MTA1NTdiYT5dID8gaHJ0aW1lcl9zdGFydCsweDEyZS8weDE1MAogWzxmZmZm ZmZmZjgxMDMzN2M0Pl0gPyBocnRpY2tfc3RhcnRfZmFpcisweDE0Ny8weDE4MgogWzxmZmZmZmZm ZjgxMDM0ZjRhPl0gPyBlbnF1ZXVlX3Rhc2tfZmFpcisweDFjZi8weDFkYgogWzxmZmZmZmZmZjgx MDMxNzJmPl0gPyBlbnF1ZXVlX3Rhc2srMHg1MC8weDViCiBbPGZmZmZmZmZmODEwMzc4NmQ+XSA/ IHRyeV90b193YWtlX3VwKzB4MjY4LzB4MjdhCiBbPGZmZmZmZmZmODEwMzM0NWQ+XSA/IF9fZGVx dWV1ZV9lbnRpdHkrMHg2MS8weDY5CiBbPGZmZmZmZmZmODEwMzM4OTI+XSA/IHBpY2tfbmV4dF90 YXNrX2ZhaXIrMHg5My8weGEzCiBbPGZmZmZmZmZmODEwMzFiYTU+XSA/IHBpY2tfbmV4dF90YXNr KzB4MjUvMHg0MQogWzxmZmZmZmZmZjgxMmJhYjFhPl0gPyBlcnJvcl9leGl0KzB4MC8weDcwCiBb PGZmZmZmZmZmODEyYmE3Nzg+XSA/IF9zcGluX2xvY2tfaXJxKzB4MTEvMHgxNAogWzxmZmZmZmZm ZjgxMDQ5YTlkPl0gPyBkb19zaWdhY3Rpb24rMHgxNTgvMHgxNzkKIFs8ZmZmZmZmZmY4MTA0OWI2 ZT5dID8gc3lzX3J0X3NpZ2FjdGlvbisweDc1LzB4OTMKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVy cm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTQ5NywgY29tbTogaXAgVGFpbnRlZDogRyBTICAgICAg ICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0 YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2Zy ZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2lu dGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4 YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk3M2IyPl0gX19kb19mYXVsdCsweGE4LzB4MzFjCiBbPGZm ZmZmZmZmODEwMjU0NDE+XSA/IGt2bV9zZXRfcG1kKzB4MjIvMHgyYgogWzxmZmZmZmZmZjgxMDJk NGZhPl0gPyBwdGVfYWxsb2Nfb25lKzB4MzEvMHgzYgogWzxmZmZmZmZmZjgxMDk5MjQzPl0gaGFu ZGxlX21tX2ZhdWx0KzB4M2FkLzB4ODVkCiBbPGZmZmZmZmZmODEwMTIwNmY+XSA/IHNob3dfdHJh Y2VfbG9nX2x2bCsweDU3LzB4NjMKIFs8ZmZmZmZmZmY4MTAxMmM2Nj5dID8gc2hvd190cmFjZSsw eDEwLzB4MTIKIFs8ZmZmZmZmZmY4MTJiODYyYT5dID8gZHVtcF9zdGFjaysweDcyLzB4N2IKIFs8 ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4 MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIvMHg2NwogWzxmZmZmZmZmZjgxMDhlMTM0 Pl0gPyBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4NGUzLzB4Njc0CiBbPGZmZmZmZmZmODEyYmE4 MjI+XSA/IF9zcGluX2xvY2srMHg5LzB4YwogWzxmZmZmZmZmZjgxMTFkZjMzPl0gPyBhdmNfaGFz X3Blcm0rMHg0ZS8weDYwCiBbPGZmZmZmZmZmODEwY2I5YjM+XSA/IHRvdWNoX2F0aW1lKzB4ZGEv MHhmYwogWzxmZmZmZmZmZjgxMDk2Yjc0Pl0gPyBwdWRfbm9uZV9vcl9jbGVhcl9iYWQrMHgxNC8w eDUzCiBbPGZmZmZmZmZmODExNDgzZGU+XSA/IHByaW9fdHJlZV9pbnNlcnQrMHgxOWUvMHgyMmEK IFs8ZmZmZmZmZmY4MTA5NDY1YT5dID8gdm1hX3ByaW9fdHJlZV9pbnNlcnQrMHgyMy8weGMxCiBb PGZmZmZmZmZmODEwOWM2NTM+XSA/IF9fdm1hX2xpbmtfZmlsZSsweDVmLzB4NjEKIFs8ZmZmZmZm ZmY4MTA5Y2U1Nz5dID8gdm1hX2xpbmsrMHg5Yi8weGFkCiBbPGZmZmZmZmZmODEwOWU1YmU+XSA/ IG1tYXBfcmVnaW9uKzB4M2ViLzB4NGQ5CiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0 KzB4MC8weDcwCiBbPGZmZmZmZmZmODExNGNmNjM+XSA/IF9fY2xlYXJfdXNlcisweDNmLzB4NjEK IFs8ZmZmZmZmZmY4MTE0Y2Y0Nz5dID8gX19jbGVhcl91c2VyKzB4MjMvMHg2MQogWzxmZmZmZmZm ZjgxMTRjZmIwPl0gY2xlYXJfdXNlcisweDJiLzB4MzMKIFs8ZmZmZmZmZmY4MTBlZWYyYT5dIGxv YWRfZWxmX2JpbmFyeSsweGRlYy8weDE4Y2EKIFs8ZmZmZmZmZmY4MTBiZDVhMj5dID8gY29weV9z dHJpbmdzKzB4MWQyLzB4MWUzCiBbPGZmZmZmZmZmODEwYmQ2YzE+XSBzZWFyY2hfYmluYXJ5X2hh bmRsZXIrMHhjMC8weDI0YwogWzxmZmZmZmZmZjgxMGJlOTc1Pl0gZG9fZXhlY3ZlKzB4MWMzLzB4 Mjc1CiBbPGZmZmZmZmZmODEwYzM0OWY+XSA/IGdldG5hbWUrMHgxNmMvMHgxZDIKIFs8ZmZmZmZm ZmY4MTAwZTY0Mz5dIHN5c19leGVjdmUrMHgzZS8weDU5CiBbPGZmZmZmZmZmODEwMTA3MWE+XSBz dHViX2V4ZWN2ZSsweDZhLzB4YzAKClBpZDogMTQ5NywgY29tbTogaXAgVGFpbnRlZDogRyBTICAg ICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDhlMDIxPl0gZ2V0X3Bh Z2VfZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgxMDI1MmRmPl0gPyBrdm1f ZGVmZXJyZWRfbW11X29wKzB4NWIvMHhlZAogWzxmZmZmZmZmZjgxMDhlNWZiPl0gX19hbGxvY19w YWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEwYWI4ZDg+XSBhbGxvY19wYWdl X3ZtYSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5OTA0OT5dIGhhbmRsZV9tbV9mYXVsdCsweDFi My8weDg1ZAogWzxmZmZmZmZmZjgxMTFmYWVjPl0gPyBpbm9kZV9oYXNfcGVybSsweDViLzB4NjEK IFs8ZmZmZmZmZmY4MTBjYTQ4ND5dID8gX19kX2xvb2t1cCsweGQ2LzB4MTE3CiBbPGZmZmZmZmZm ODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZmODExNDgzZGU+ XSA/IHByaW9fdHJlZV9pbnNlcnQrMHgxOWUvMHgyMmEKIFs8ZmZmZmZmZmY4MTE0ODIzNj5dID8g cHJpb190cmVlX3JlbW92ZSsweGMyLzB4Y2MKIFs8ZmZmZmZmZmY4MTA5NDUwMj5dID8gdm1hX3By aW9fdHJlZV9yZW1vdmUrMHg0Mi8weGRkCiBbPGZmZmZmZmZmODExMjg0MGE+XSA/IHNpZHRhYl9z ZWFyY2grMHhiLzB4ZAogWzxmZmZmZmZmZjgxMTJjNjIwPl0gPyBzZWN1cml0eV9wZXJtaXNzaXZl X3NpZCsweDNkLzB4NDgKIFs8ZmZmZmZmZmY4MTJiYTgyMj5dID8gX3NwaW5fbG9jaysweDkvMHhj CiBbPGZmZmZmZmZmODEwOWQzN2Y+XSA/IHZtYV9hZGp1c3QrMHgzNjYvMHgzZTYKIFs8ZmZmZmZm ZmY4MTA5ZGI0NT5dID8gdm1hX21lcmdlKzB4MjhmLzB4MzA3CiBbPGZmZmZmZmZmODExMjNhOGE+ XSA/IHNlbGludXhfdm1fZW5vdWdoX21lbW9yeSsweDY2LzB4NmUKIFs8ZmZmZmZmZmY4MTA5ZTVi ZT5dID8gbW1hcF9yZWdpb24rMHgzZWIvMHg0ZDkKIFs8ZmZmZmZmZmY4MTA5ZTlkMT5dID8gZG9f bW1hcF9wZ29mZisweDMyNS8weDM4OAogWzxmZmZmZmZmZjgxMTRhMmYwPl0gPyBfX3VwX3dyaXRl KzB4NDIvMHg0NwogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlk OiAxNDk4LCBjb21tOiBpbml0LmlwdjYtZ2xvYmEgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcg IzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3Mr MHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4 M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4 ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTAyNTNjNj5dID8ga3ZtX21tdV93cml0ZSsweDJlLzB4MzUK IFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZm ZjgxMDk3ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8weDU0YgogWzxmZmZmZmZmZjgxMDk3MGQ5Pl0g PyBwbWRfYWxsb2MrMHg0MS8weDdjCiBbPGZmZmZmZmZmODEwOTk2M2E+XSBoYW5kbGVfbW1fZmF1 bHQrMHg3YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTAzMmUyMz5dID8gX193YWtlX3VwKzB4NDMvMHg0 ZgogWzxmZmZmZmZmZjgxMjUxNmJlPl0gPyBuZXRsaW5rX3JlY3Ztc2crMHgyZDkvMHgyZjcKIFs8 ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4 MTA1NTdiYT5dID8gaHJ0aW1lcl9zdGFydCsweDEyZS8weDE1MAogWzxmZmZmZmZmZjgxMDMzN2M0 Pl0gPyBocnRpY2tfc3RhcnRfZmFpcisweDE0Ny8weDE4MgogWzxmZmZmZmZmZjgxMDM0ZjRhPl0g PyBlbnF1ZXVlX3Rhc2tfZmFpcisweDFjZi8weDFkYgogWzxmZmZmZmZmZjgxMDMxNzJmPl0gPyBl bnF1ZXVlX3Rhc2srMHg1MC8weDViCiBbPGZmZmZmZmZmODEwMzc4NmQ+XSA/IHRyeV90b193YWtl X3VwKzB4MjY4LzB4MjdhCiBbPGZmZmZmZmZmODEwMzM0NWQ+XSA/IF9fZGVxdWV1ZV9lbnRpdHkr MHg2MS8weDY5CiBbPGZmZmZmZmZmODEwMzM4OTI+XSA/IHBpY2tfbmV4dF90YXNrX2ZhaXIrMHg5 My8weGEzCiBbPGZmZmZmZmZmODEwMzFiYTU+XSA/IHBpY2tfbmV4dF90YXNrKzB4MjUvMHg0MQog WzxmZmZmZmZmZjgxMmJhYjFhPl0gPyBlcnJvcl9leGl0KzB4MC8weDcwCiBbPGZmZmZmZmZmODEx NGNkNmQ+XSA/IF9fcHV0X3VzZXJfNCsweDFkLzB4MzAKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVy cm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTQ5OCwgY29tbTogaXAgVGFpbnRlZDogRyBTICAgICAg ICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDhlMDIxPl0gZ2V0X3BhZ2Vf ZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgxMDI1MmRmPl0gPyBrdm1fZGVm ZXJyZWRfbW11X29wKzB4NWIvMHhlZAogWzxmZmZmZmZmZjgxMDhlNWZiPl0gX19hbGxvY19wYWdl c19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEwYWI4ZDg+XSBhbGxvY19wYWdlX3Zt YSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5OTA0OT5dIGhhbmRsZV9tbV9mYXVsdCsweDFiMy8w eDg1ZAogWzxmZmZmZmZmZjgxMTFmYWVjPl0gPyBpbm9kZV9oYXNfcGVybSsweDViLzB4NjEKIFs8 ZmZmZmZmZmY4MTBjYTQ4ND5dID8gX19kX2xvb2t1cCsweGQ2LzB4MTE3CiBbPGZmZmZmZmZmODEy YmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZmODEwYzA1NmY+XSA/ IHBhdGhfcHV0KzB4MWQvMHgyMQogWzxmZmZmZmZmZjgxMTI4MzllPl0gPyBzaWR0YWJfc2VhcmNo X2NvcmUrMHgxNi8weDc3CiBbPGZmZmZmZmZmODExMjg0MGE+XSA/IHNpZHRhYl9zZWFyY2grMHhi LzB4ZAogWzxmZmZmZmZmZjgxMTJjNjIwPl0gPyBzZWN1cml0eV9wZXJtaXNzaXZlX3NpZCsweDNk LzB4NDgKIFs8ZmZmZmZmZmY4MTExZDVmYj5dID8gYXZjX2hhc19wZXJtX25vYXVkaXQrMHgyYWEv MHgzZjYKIFs8ZmZmZmZmZmY4MTE0OWNkMT5dID8gcmJfaW5zZXJ0X2NvbG9yKzB4YmQvMHhlNgog WzxmZmZmZmZmZjgxMDljZGI4Pl0gPyBfX3ZtYV9saW5rKzB4NjgvMHg2YwogWzxmZmZmZmZmZjgx MDljZTM5Pl0gPyB2bWFfbGluaysweDdkLzB4YWQKIFs8ZmZmZmZmZmY4MTA5ZTViZT5dID8gbW1h cF9yZWdpb24rMHgzZWIvMHg0ZDkKIFs8ZmZmZmZmZmY4MTA5ZTlkMT5dID8gZG9fbW1hcF9wZ29m ZisweDMyNS8weDM4OAogWzxmZmZmZmZmZjgxMTRhMmYwPl0gPyBfX3VwX3dyaXRlKzB4NDIvMHg0 NwogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxNDk4LCBj b21tOiBpcCBUYWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZm ZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVfc3RhdGlzdGljcysweDYyLzB4NjcKIFs8ZmZmZmZmZmY4 MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4 MTAyNTJkZj5dID8ga3ZtX2RlZmVycmVkX21tdV9vcCsweDViLzB4ZWQKIFs8ZmZmZmZmZmY4MTA4 ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMDI1 M2M2Pl0gPyBrdm1fbW11X3dyaXRlKzB4MmUvMHgzNQogWzxmZmZmZmZmZjgxMGFiOGQ4Pl0gYWxs b2NfcGFnZV92bWErMHhjMS8weGM2CiBbPGZmZmZmZmZmODEwOTkwNDk+XSBoYW5kbGVfbW1fZmF1 bHQrMHgxYjMvMHg4NWQKIFs8ZmZmZmZmZmY4MTBjYTQ4ND5dID8gX19kX2xvb2t1cCsweGQ2LzB4 MTE3CiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZm ZmZmZmZmODEwMjUxZjk+XSA/IGt2bV9sZWF2ZV9sYXp5X21tdSsweDg3LzB4OWIKIFs8ZmZmZmZm ZmY4MTA5ODU5OT5dID8gdW5tYXBfdm1hcysweDZlYi8weDg5NAogWzxmZmZmZmZmZjgxMDI1MmRm Pl0gPyBrdm1fZGVmZXJyZWRfbW11X29wKzB4NWIvMHhlZAogWzxmZmZmZmZmZjgxMDk0NTAyPl0g PyB2bWFfcHJpb190cmVlX3JlbW92ZSsweDQyLzB4ZGQKIFs8ZmZmZmZmZmY4MTBiMjA5YT5dID8g dmlydF90b19oZWFkX3BhZ2UrMHgzMS8weDQxCiBbPGZmZmZmZmZmODEwY2Y1NzU+XSA/IG1udHB1 dF9ub19leHBpcmUrMHgzMS8weDE0NAogWzxmZmZmZmZmZjgxMGIyMDlhPl0gPyB2aXJ0X3RvX2hl YWRfcGFnZSsweDMxLzB4NDEKIFs8ZmZmZmZmZmY4MTA5YzdmNT5dID8gcmVtb3ZlX3ZtYSsweDdk LzB4ODUKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTQ5 OSwgY29tbTogaW5pdC5pcHY2LWdsb2JhIFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoK Q2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIv MHg2NwogWzxmZmZmZmZmZjgxMDhlMDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8w eDY3NAogWzxmZmZmZmZmZjgxMDhlNWZiPl0gX19hbGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4 NDU3CiBbPGZmZmZmZmZmODEwYWI4ZDg+XSBhbGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZm ZmZmZmY4MTA5Nzg2OT5dIGRvX3dwX3BhZ2UrMHgyNDMvMHg1NGIKIFs8ZmZmZmZmZmY4MTA5NzBk OT5dID8gcG1kX2FsbG9jKzB4NDEvMHg3YwogWzxmZmZmZmZmZjgxMDk5NjNhPl0gaGFuZGxlX21t X2ZhdWx0KzB4N2E0LzB4ODVkCiBbPGZmZmZmZmZmODEwMzJlMjM+XSA/IF9fd2FrZV91cCsweDQz LzB4NGYKIFs8ZmZmZmZmZmY4MTI1MTZiZT5dID8gbmV0bGlua19yZWN2bXNnKzB4MmQ5LzB4MmY3 CiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZm ZmZmODEwNTU3YmE+XSA/IGhydGltZXJfc3RhcnQrMHgxMmUvMHgxNTAKIFs8ZmZmZmZmZmY4MTAz MzdjND5dID8gaHJ0aWNrX3N0YXJ0X2ZhaXIrMHgxNDcvMHgxODIKIFs8ZmZmZmZmZmY4MTAzNGY0 YT5dID8gZW5xdWV1ZV90YXNrX2ZhaXIrMHgxY2YvMHgxZGIKIFs8ZmZmZmZmZmY4MTAzNmY4MT5d ID8gY2hlY2tfcHJlZW1wdF93YWtldXArMHgxMGMvMHgxNDUKIFs8ZmZmZmZmZmY4MTAzNzg2ZD5d ID8gdHJ5X3RvX3dha2VfdXArMHgyNjgvMHgyN2EKIFs8ZmZmZmZmZmY4MTAzMzQ1ZD5dID8gX19k ZXF1ZXVlX2VudGl0eSsweDYxLzB4NjkKIFs8ZmZmZmZmZmY4MTAzMzg5Mj5dID8gcGlja19uZXh0 X3Rhc2tfZmFpcisweDkzLzB4YTMKIFs8ZmZmZmZmZmY4MTAzMWJhNT5dID8gcGlja19uZXh0X3Rh c2srMHgyNS8weDQxCiBbPGZmZmZmZmZmODEyYmFiMWE+XSA/IGVycm9yX2V4aXQrMHgwLzB4NzAK IFs8ZmZmZmZmZmY4MTE0Y2Q2ZD5dID8gX19wdXRfdXNlcl80KzB4MWQvMHgzMAogWzxmZmZmZmZm ZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxNDk5LCBjb21tOiBpbml0Lmlw djYtZ2xvYmEgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxm ZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZm ODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZm ODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4 MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk3ODY5Pl0g ZG9fd3BfcGFnZSsweDI0My8weDU0YgogWzxmZmZmZmZmZjgxMDk3MGQ5Pl0gPyBwbWRfYWxsb2Mr MHg0MS8weDdjCiBbPGZmZmZmZmZmODEwOTk2M2E+XSBoYW5kbGVfbW1fZmF1bHQrMHg3YTQvMHg4 NWQKIFs8ZmZmZmZmZmY4MTAzMmUyMz5dID8gX193YWtlX3VwKzB4NDMvMHg0ZgogWzxmZmZmZmZm ZjgxMjUxNmJlPl0gPyBuZXRsaW5rX3JlY3Ztc2crMHgyZDkvMHgyZjcKIFs8ZmZmZmZmZmY4MTJi ZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTA1NTdiYT5dID8g aHJ0aW1lcl9zdGFydCsweDEyZS8weDE1MAogWzxmZmZmZmZmZjgxMDMzN2M0Pl0gPyBocnRpY2tf c3RhcnRfZmFpcisweDE0Ny8weDE4MgogWzxmZmZmZmZmZjgxMDM0ZjRhPl0gPyBlbnF1ZXVlX3Rh c2tfZmFpcisweDFjZi8weDFkYgogWzxmZmZmZmZmZjgxMDM2ZjgxPl0gPyBjaGVja19wcmVlbXB0 X3dha2V1cCsweDEwYy8weDE0NQogWzxmZmZmZmZmZjgxMDM3ODZkPl0gPyB0cnlfdG9fd2FrZV91 cCsweDI2OC8weDI3YQogWzxmZmZmZmZmZjgxMDMzNDVkPl0gPyBfX2RlcXVldWVfZW50aXR5KzB4 NjEvMHg2OQogWzxmZmZmZmZmZjgxMDMzODkyPl0gPyBwaWNrX25leHRfdGFza19mYWlyKzB4OTMv MHhhMwogWzxmZmZmZmZmZjgxMDMxYmE1Pl0gPyBwaWNrX25leHRfdGFzaysweDI1LzB4NDEKIFs8 ZmZmZmZmZmY4MTJiYWIxYT5dID8gZXJyb3JfZXhpdCsweDAvMHg3MAogWzxmZmZmZmZmZjgxMmJh Nzc4Pl0gPyBfc3Bpbl9sb2NrX2lycSsweDExLzB4MTQKIFs8ZmZmZmZmZmY4MTA0OWE5ZD5dID8g ZG9fc2lnYWN0aW9uKzB4MTU4LzB4MTc5CiBbPGZmZmZmZmZmODEwNDliNmU+XSA/IHN5c19ydF9z aWdhY3Rpb24rMHg3NS8weDkzCiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4MC8w eDcwCgpQaWQ6IDE0OTksIGNvbW06IGlwIFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoK Q2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJlZWxpc3Qr MHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwr MHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhjMS8weGM2 CiBbPGZmZmZmZmZmODEwOTczYjI+XSBfX2RvX2ZhdWx0KzB4YTgvMHgzMWMKIFs8ZmZmZmZmZmY4 MTAyNTQ0MT5dID8ga3ZtX3NldF9wbWQrMHgyMi8weDJiCiBbPGZmZmZmZmZmODEwMmQ0ZmE+XSA/ IHB0ZV9hbGxvY19vbmUrMHgzMS8weDNiCiBbPGZmZmZmZmZmODEwOTkyNDM+XSBoYW5kbGVfbW1f ZmF1bHQrMHgzYWQvMHg4NWQKIFs8ZmZmZmZmZmY4MTExZmFlYz5dID8gaW5vZGVfaGFzX3Blcm0r MHg1Yi8weDYxCiBbPGZmZmZmZmZmODEwY2E0ODQ+XSA/IF9fZF9sb29rdXArMHhkNi8weDExNwog WzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQogWzxmZmZmZmZm ZjgxMDk2YWQ0Pl0gPyBwbWRfbm9uZV9vcl9jbGVhcl9iYWQrMHgxNC8weDUzCiBbPGZmZmZmZmZm ODExNDgzZGU+XSA/IHByaW9fdHJlZV9pbnNlcnQrMHgxOWUvMHgyMmEKIFs8ZmZmZmZmZmY4MTA5 NDUwMj5dID8gdm1hX3ByaW9fdHJlZV9yZW1vdmUrMHg0Mi8weGRkCiBbPGZmZmZmZmZmODExMjg0 MGE+XSA/IHNpZHRhYl9zZWFyY2grMHhiLzB4ZAogWzxmZmZmZmZmZjgxMTJjNjIwPl0gPyBzZWN1 cml0eV9wZXJtaXNzaXZlX3NpZCsweDNkLzB4NDgKIFs8ZmZmZmZmZmY4MTExZDVmYj5dID8gYXZj X2hhc19wZXJtX25vYXVkaXQrMHgyYWEvMHgzZjYKIFs8ZmZmZmZmZmY4MTE0ODNkZT5dID8gcHJp b190cmVlX2luc2VydCsweDE5ZS8weDIyYQogWzxmZmZmZmZmZjgxMDk0NjVhPl0gPyB2bWFfcHJp b190cmVlX2luc2VydCsweDIzLzB4YzEKIFs8ZmZmZmZmZmY4MTA5YzY1Mz5dID8gX192bWFfbGlu a19maWxlKzB4NWYvMHg2MQogWzxmZmZmZmZmZjgxMDljZTU3Pl0gPyB2bWFfbGluaysweDliLzB4 YWQKIFs8ZmZmZmZmZmY4MTA5ZTViZT5dID8gbW1hcF9yZWdpb24rMHgzZWIvMHg0ZDkKIFs8ZmZm ZmZmZmY4MTA5ZTlkMT5dID8gZG9fbW1hcF9wZ29mZisweDMyNS8weDM4OAogWzxmZmZmZmZmZjgx MTRhMmYwPl0gPyBfX3VwX3dyaXRlKzB4NDIvMHg0NwogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJy b3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxNDk5LCBjb21tOiBpcCBUYWludGVkOiBHIFMgICAgICAg IDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVfc3Rh dGlzdGljcysweDYyLzB4NjcKIFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJl ZWxpc3QrMHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50 ZXJuYWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhj MS8weGM2CiBbPGZmZmZmZmZmODEwOTczYjI+XSBfX2RvX2ZhdWx0KzB4YTgvMHgzMWMKIFs8ZmZm ZmZmZmY4MTAyNTQ0MT5dID8ga3ZtX3NldF9wbWQrMHgyMi8weDJiCiBbPGZmZmZmZmZmODEwMmQ0 ZmE+XSA/IHB0ZV9hbGxvY19vbmUrMHgzMS8weDNiCiBbPGZmZmZmZmZmODEwOTkyNDM+XSBoYW5k bGVfbW1fZmF1bHQrMHgzYWQvMHg4NWQKIFs8ZmZmZmZmZmY4MTExZmFlYz5dID8gaW5vZGVfaGFz X3Blcm0rMHg1Yi8weDYxCiBbPGZmZmZmZmZmODEwY2E0ODQ+XSA/IF9fZF9sb29rdXArMHhkNi8w eDExNwogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQogWzxm ZmZmZmZmZjgxMDk2YWQ0Pl0gPyBwbWRfbm9uZV9vcl9jbGVhcl9iYWQrMHgxNC8weDUzCiBbPGZm ZmZmZmZmODExNDgzZGU+XSA/IHByaW9fdHJlZV9pbnNlcnQrMHgxOWUvMHgyMmEKIFs8ZmZmZmZm ZmY4MTA5NDUwMj5dID8gdm1hX3ByaW9fdHJlZV9yZW1vdmUrMHg0Mi8weGRkCiBbPGZmZmZmZmZm ODExMjg0MGE+XSA/IHNpZHRhYl9zZWFyY2grMHhiLzB4ZAogWzxmZmZmZmZmZjgxMTJjNjIwPl0g PyBzZWN1cml0eV9wZXJtaXNzaXZlX3NpZCsweDNkLzB4NDgKIFs8ZmZmZmZmZmY4MTExZDVmYj5d ID8gYXZjX2hhc19wZXJtX25vYXVkaXQrMHgyYWEvMHgzZjYKIFs8ZmZmZmZmZmY4MTE0ODNkZT5d ID8gcHJpb190cmVlX2luc2VydCsweDE5ZS8weDIyYQogWzxmZmZmZmZmZjgxMDk0NjVhPl0gPyB2 bWFfcHJpb190cmVlX2luc2VydCsweDIzLzB4YzEKIFs8ZmZmZmZmZmY4MTA5YzY1Mz5dID8gX192 bWFfbGlua19maWxlKzB4NWYvMHg2MQogWzxmZmZmZmZmZjgxMDljZTU3Pl0gPyB2bWFfbGluaysw eDliLzB4YWQKIFs8ZmZmZmZmZmY4MTA5ZTViZT5dID8gbW1hcF9yZWdpb24rMHgzZWIvMHg0ZDkK IFs8ZmZmZmZmZmY4MTA5ZTlkMT5dID8gZG9fbW1hcF9wZ29mZisweDMyNS8weDM4OAogWzxmZmZm ZmZmZjgxMTRhMmYwPl0gPyBfX3VwX3dyaXRlKzB4NDIvMHg0NwogWzxmZmZmZmZmZjgxMmJhYjFh Pl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxNTAwLCBjb21tOiBpbml0LmlwdjYtZ2xvYmEg VGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgx MDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+ XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+ XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5d IGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk3ODY5Pl0gZG9fd3BfcGFn ZSsweDI0My8weDU0YgogWzxmZmZmZmZmZjgxMDk3MGQ5Pl0gPyBwbWRfYWxsb2MrMHg0MS8weDdj CiBbPGZmZmZmZmZmODEwOTk2M2E+XSBoYW5kbGVfbW1fZmF1bHQrMHg3YTQvMHg4NWQKIFs8ZmZm ZmZmZmY4MTAzMmUyMz5dID8gX193YWtlX3VwKzB4NDMvMHg0ZgogWzxmZmZmZmZmZjgxMjUxNmJl Pl0gPyBuZXRsaW5rX3JlY3Ztc2crMHgyZDkvMHgyZjcKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRv X3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTA1NTdiYT5dID8gaHJ0aW1lcl9z dGFydCsweDEyZS8weDE1MAogWzxmZmZmZmZmZjgxMDMzN2M0Pl0gPyBocnRpY2tfc3RhcnRfZmFp cisweDE0Ny8weDE4MgogWzxmZmZmZmZmZjgxMDM0ZjRhPl0gPyBlbnF1ZXVlX3Rhc2tfZmFpcisw eDFjZi8weDFkYgogWzxmZmZmZmZmZjgxMDMxNzJmPl0gPyBlbnF1ZXVlX3Rhc2srMHg1MC8weDVi CiBbPGZmZmZmZmZmODEwMzc4NmQ+XSA/IHRyeV90b193YWtlX3VwKzB4MjY4LzB4MjdhCiBbPGZm ZmZmZmZmODEwMzM0NWQ+XSA/IF9fZGVxdWV1ZV9lbnRpdHkrMHg2MS8weDY5CiBbPGZmZmZmZmZm ODEwMzM4OTI+XSA/IHBpY2tfbmV4dF90YXNrX2ZhaXIrMHg5My8weGEzCiBbPGZmZmZmZmZmODEw MzFiYTU+XSA/IHBpY2tfbmV4dF90YXNrKzB4MjUvMHg0MQogWzxmZmZmZmZmZjgxMmJhYjFhPl0g PyBlcnJvcl9leGl0KzB4MC8weDcwCiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4 MC8weDcwCgpQaWQ6IDE1MDAsIGNvbW06IGlwIFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMx NwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJlZWxp c3QrMHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4MTAyNTJkZj5dID8ga3ZtX2RlZmVycmVkX21tdV9v cCsweDViLzB4ZWQKIFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwr MHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhjMS8weGM2 CiBbPGZmZmZmZmZmODEwOTkwNDk+XSBoYW5kbGVfbW1fZmF1bHQrMHgxYjMvMHg4NWQKIFs8ZmZm ZmZmZmY4MTExZmFlYz5dID8gaW5vZGVfaGFzX3Blcm0rMHg1Yi8weDYxCiBbPGZmZmZmZmZmODEw Y2E0ODQ+XSA/IF9fZF9sb29rdXArMHhkNi8weDExNwogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9f cGFnZV9mYXVsdCsweDY2NS8weGFhZQogWzxmZmZmZmZmZjgxMTQ4M2RlPl0gPyBwcmlvX3RyZWVf aW5zZXJ0KzB4MTllLzB4MjJhCiBbPGZmZmZmZmZmODExNDgyMzY+XSA/IHByaW9fdHJlZV9yZW1v dmUrMHhjMi8weGNjCiBbPGZmZmZmZmZmODEwOTQ1MDI+XSA/IHZtYV9wcmlvX3RyZWVfcmVtb3Zl KzB4NDIvMHhkZAogWzxmZmZmZmZmZjgxMTI4NDBhPl0gPyBzaWR0YWJfc2VhcmNoKzB4Yi8weGQK IFs8ZmZmZmZmZmY4MTEyYzYyMD5dID8gc2VjdXJpdHlfcGVybWlzc2l2ZV9zaWQrMHgzZC8weDQ4 CiBbPGZmZmZmZmZmODEyYmE4MjI+XSA/IF9zcGluX2xvY2srMHg5LzB4YwogWzxmZmZmZmZmZjgx MDlkMzdmPl0gPyB2bWFfYWRqdXN0KzB4MzY2LzB4M2U2CiBbPGZmZmZmZmZmODEwOWRiNDU+XSA/ IHZtYV9tZXJnZSsweDI4Zi8weDMwNwogWzxmZmZmZmZmZjgxMTIzYThhPl0gPyBzZWxpbnV4X3Zt X2Vub3VnaF9tZW1vcnkrMHg2Ni8weDZlCiBbPGZmZmZmZmZmODEwOWU1YmU+XSA/IG1tYXBfcmVn aW9uKzB4M2ViLzB4NGQ5CiBbPGZmZmZmZmZmODEwOWU5ZDE+XSA/IGRvX21tYXBfcGdvZmYrMHgz MjUvMHgzODgKIFs8ZmZmZmZmZmY4MTE0YTJmMD5dID8gX191cF93cml0ZSsweDQyLzB4NDcKIFs8 ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTUwMCwgY29tbTog aXAgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZm ZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUw MjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwMjUy ZGY+XSA/IGt2bV9kZWZlcnJlZF9tbXVfb3ArMHg1Yi8weGVkCiBbPGZmZmZmZmZmODEwOGU1ZmI+ XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5d IGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk5MDQ5Pl0gaGFuZGxlX21t X2ZhdWx0KzB4MWIzLzB4ODVkCiBbPGZmZmZmZmZmODEwY2E0ODQ+XSA/IF9fZF9sb29rdXArMHhk Ni8weDExNwogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQog WzxmZmZmZmZmZjgxMGEwNzljPl0gPyBfX2Fub25fdm1hX2xpbmsrMHgxZS8weDIwCiBbPGZmZmZm ZmZmODEwOWNkYjg+XSA/IF9fdm1hX2xpbmsrMHg2OC8weDZjCiBbPGZmZmZmZmZmODEwMjUxZjk+ XSA/IGt2bV9sZWF2ZV9sYXp5X21tdSsweDg3LzB4OWIKIFs8ZmZmZmZmZmY4MTA5ODU5OT5dID8g dW5tYXBfdm1hcysweDZlYi8weDg5NAogWzxmZmZmZmZmZjgxMDI1MmRmPl0gPyBrdm1fZGVmZXJy ZWRfbW11X29wKzB4NWIvMHhlZAogWzxmZmZmZmZmZjgxMDk0NTAyPl0gPyB2bWFfcHJpb190cmVl X3JlbW92ZSsweDQyLzB4ZGQKIFs8ZmZmZmZmZmY4MTBiMjA5YT5dID8gdmlydF90b19oZWFkX3Bh Z2UrMHgzMS8weDQxCiBbPGZmZmZmZmZmODEwY2Y1NzU+XSA/IG1udHB1dF9ub19leHBpcmUrMHgz MS8weDE0NAogWzxmZmZmZmZmZjgxMGIyMDlhPl0gPyB2aXJ0X3RvX2hlYWRfcGFnZSsweDMxLzB4 NDEKIFs8ZmZmZmZmZmY4MTA5YzdmNT5dID8gcmVtb3ZlX3ZtYSsweDdkLzB4ODUKIFs8ZmZmZmZm ZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTUwMSwgY29tbTogaW5pdC5p cHY2LWdsb2JhIFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFjZToKIFs8 ZmZmZmZmZmY4MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIvMHg2NwogWzxmZmZmZmZm ZjgxMDhlMDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZm ZjgxMDhlNWZiPl0gX19hbGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZm ODEwMjUzYzY+XSA/IGt2bV9tbXVfd3JpdGUrMHgyZS8weDM1CiBbPGZmZmZmZmZmODEwYWI4ZDg+ XSBhbGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5Nzg2OT5dIGRvX3dwX3Bh Z2UrMHgyNDMvMHg1NGIKIFs8ZmZmZmZmZmY4MTA5NzBkOT5dID8gcG1kX2FsbG9jKzB4NDEvMHg3 YwogWzxmZmZmZmZmZjgxMDk5NjNhPl0gaGFuZGxlX21tX2ZhdWx0KzB4N2E0LzB4ODVkCiBbPGZm ZmZmZmZmODEwMzJlMjM+XSA/IF9fd2FrZV91cCsweDQzLzB4NGYKIFs8ZmZmZmZmZmY4MTI1MTZi ZT5dID8gbmV0bGlua19yZWN2bXNnKzB4MmQ5LzB4MmY3CiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBk b19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZmODEwNTU3YmE+XSA/IGhydGltZXJf c3RhcnQrMHgxMmUvMHgxNTAKIFs8ZmZmZmZmZmY4MTAzMzdjND5dID8gaHJ0aWNrX3N0YXJ0X2Zh aXIrMHgxNDcvMHgxODIKIFs8ZmZmZmZmZmY4MTAzNGY0YT5dID8gZW5xdWV1ZV90YXNrX2ZhaXIr MHgxY2YvMHgxZGIKIFs8ZmZmZmZmZmY4MTAzMTcyZj5dID8gZW5xdWV1ZV90YXNrKzB4NTAvMHg1 YgogWzxmZmZmZmZmZjgxMDM3ODZkPl0gPyB0cnlfdG9fd2FrZV91cCsweDI2OC8weDI3YQogWzxm ZmZmZmZmZjgxMDMzNDVkPl0gPyBfX2RlcXVldWVfZW50aXR5KzB4NjEvMHg2OQogWzxmZmZmZmZm ZjgxMDMzODkyPl0gPyBwaWNrX25leHRfdGFza19mYWlyKzB4OTMvMHhhMwogWzxmZmZmZmZmZjgx MDMxYmE1Pl0gPyBwaWNrX25leHRfdGFzaysweDI1LzB4NDEKIFs8ZmZmZmZmZmY4MTJiYWIxYT5d ID8gZXJyb3JfZXhpdCsweDAvMHg3MAogWzxmZmZmZmZmZjgxMTRjZDZkPl0gPyBfX3B1dF91c2Vy XzQrMHgxZC8weDMwCiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQ aWQ6IDE1MDEsIGNvbW06IGluaXQuaXB2Ni1nbG9iYSBUYWludGVkOiBHIFMgICAgICAgIDIuNi4y NyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVfc3RhdGlzdGlj cysweDYyLzB4NjcKIFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJlZWxpc3Qr MHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwr MHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhjMS8weGM2 CiBbPGZmZmZmZmZmODEwOTc4Njk+XSBkb193cF9wYWdlKzB4MjQzLzB4NTRiCiBbPGZmZmZmZmZm ODEwOTcwZDk+XSA/IHBtZF9hbGxvYysweDQxLzB4N2MKIFs8ZmZmZmZmZmY4MTA5OTYzYT5dIGhh bmRsZV9tbV9mYXVsdCsweDdhNC8weDg1ZAogWzxmZmZmZmZmZjgxMDMyZTIzPl0gPyBfX3dha2Vf dXArMHg0My8weDRmCiBbPGZmZmZmZmZmODEyNTE2YmU+XSA/IG5ldGxpbmtfcmVjdm1zZysweDJk OS8weDJmNwogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQog WzxmZmZmZmZmZjgxMDU1N2JhPl0gPyBocnRpbWVyX3N0YXJ0KzB4MTJlLzB4MTUwCiBbPGZmZmZm ZmZmODEwMzM3YzQ+XSA/IGhydGlja19zdGFydF9mYWlyKzB4MTQ3LzB4MTgyCiBbPGZmZmZmZmZm ODEwMzRmNGE+XSA/IGVucXVldWVfdGFza19mYWlyKzB4MWNmLzB4MWRiCiBbPGZmZmZmZmZmODEw MzE3MmY+XSA/IGVucXVldWVfdGFzaysweDUwLzB4NWIKIFs8ZmZmZmZmZmY4MTAzNzg2ZD5dID8g dHJ5X3RvX3dha2VfdXArMHgyNjgvMHgyN2EKIFs8ZmZmZmZmZmY4MTAzMzQ1ZD5dID8gX19kZXF1 ZXVlX2VudGl0eSsweDYxLzB4NjkKIFs8ZmZmZmZmZmY4MTAzMzg5Mj5dID8gcGlja19uZXh0X3Rh c2tfZmFpcisweDkzLzB4YTMKIFs8ZmZmZmZmZmY4MTAzMWJhNT5dID8gcGlja19uZXh0X3Rhc2sr MHgyNS8weDQxCiBbPGZmZmZmZmZmODEyYmFiMWE+XSA/IGVycm9yX2V4aXQrMHgwLzB4NzAKIFs8 ZmZmZmZmZmY4MTJiYTc3OD5dID8gX3NwaW5fbG9ja19pcnErMHgxMS8weDE0CiBbPGZmZmZmZmZm ODEwNDlhOWQ+XSA/IGRvX3NpZ2FjdGlvbisweDE1OC8weDE3OQogWzxmZmZmZmZmZjgxMDQ5YjZl Pl0gPyBzeXNfcnRfc2lnYWN0aW9uKzB4NzUvMHg5MwogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJy b3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxNTAxLCBjb21tOiBpcCBUYWludGVkOiBHIFMgICAgICAg IDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9m cm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwMjUyZGY+XSA/IGt2bV9kZWZl cnJlZF9tbXVfb3ArMHg1Yi8weGVkCiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2Vz X2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1h KzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk5MDQ5Pl0gaGFuZGxlX21tX2ZhdWx0KzB4MWIzLzB4 ODVkCiBbPGZmZmZmZmZmODExMWZhZWM+XSA/IGlub2RlX2hhc19wZXJtKzB4NWIvMHg2MQogWzxm ZmZmZmZmZjgxMGNhNDg0Pl0gPyBfX2RfbG9va3VwKzB4ZDYvMHgxMTcKIFs8ZmZmZmZmZmY4MTJi ZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTBjMDU2Zj5dID8g cGF0aF9wdXQrMHgxZC8weDIxCiBbPGZmZmZmZmZmODExMjg0MGE+XSA/IHNpZHRhYl9zZWFyY2gr MHhiLzB4ZAogWzxmZmZmZmZmZjgxMTJjNjIwPl0gPyBzZWN1cml0eV9wZXJtaXNzaXZlX3NpZCsw eDNkLzB4NDgKIFs8ZmZmZmZmZmY4MTExZDVmYj5dID8gYXZjX2hhc19wZXJtX25vYXVkaXQrMHgy YWEvMHgzZjYKIFs8ZmZmZmZmZmY4MTE0OWNkMT5dID8gcmJfaW5zZXJ0X2NvbG9yKzB4YmQvMHhl NgogWzxmZmZmZmZmZjgxMDljZGI4Pl0gPyBfX3ZtYV9saW5rKzB4NjgvMHg2YwogWzxmZmZmZmZm ZjgxMDljZTM5Pl0gPyB2bWFfbGluaysweDdkLzB4YWQKIFs8ZmZmZmZmZmY4MTA5ZTViZT5dID8g bW1hcF9yZWdpb24rMHgzZWIvMHg0ZDkKIFs8ZmZmZmZmZmY4MTA5ZTlkMT5dID8gZG9fbW1hcF9w Z29mZisweDMyNS8weDM4OAogWzxmZmZmZmZmZjgxMTRhMmYwPl0gPyBfX3VwX3dyaXRlKzB4NDIv MHg0NwogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxNTAx LCBjb21tOiBpcCBUYWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBb PGZmZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVfc3RhdGlzdGljcysweDYyLzB4NjcKIFs8ZmZmZmZm ZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQKIFs8ZmZmZmZm ZmY4MTAyNTJkZj5dID8ga3ZtX2RlZmVycmVkX21tdV9vcCsweDViLzB4ZWQKIFs8ZmZmZmZmZmY4 MTA4ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgx MGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhjMS8weGM2CiBbPGZmZmZmZmZmODEwOTkwNDk+XSBo YW5kbGVfbW1fZmF1bHQrMHgxYjMvMHg4NWQKIFs8ZmZmZmZmZmY4MTBjYTQ4ND5dID8gX19kX2xv b2t1cCsweGQ2LzB4MTE3CiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1 LzB4YWFlCiBbPGZmZmZmZmZmODEwYTA3OWM+XSA/IF9fYW5vbl92bWFfbGluaysweDFlLzB4MjAK IFs8ZmZmZmZmZmY4MTA5Y2RiOD5dID8gX192bWFfbGluaysweDY4LzB4NmMKIFs8ZmZmZmZmZmY4 MTAyNTFmOT5dID8ga3ZtX2xlYXZlX2xhenlfbW11KzB4ODcvMHg5YgogWzxmZmZmZmZmZjgxMDk4 NTk5Pl0gPyB1bm1hcF92bWFzKzB4NmViLzB4ODk0CiBbPGZmZmZmZmZmODEwMjUyZGY+XSA/IGt2 bV9kZWZlcnJlZF9tbXVfb3ArMHg1Yi8weGVkCiBbPGZmZmZmZmZmODEwOTQ1MDI+XSA/IHZtYV9w cmlvX3RyZWVfcmVtb3ZlKzB4NDIvMHhkZAogWzxmZmZmZmZmZjgxMGIyMDlhPl0gPyB2aXJ0X3Rv X2hlYWRfcGFnZSsweDMxLzB4NDEKIFs8ZmZmZmZmZmY4MTBjZjU3NT5dID8gbW50cHV0X25vX2V4 cGlyZSsweDMxLzB4MTQ0CiBbPGZmZmZmZmZmODEwYjIwOWE+XSA/IHZpcnRfdG9faGVhZF9wYWdl KzB4MzEvMHg0MQogWzxmZmZmZmZmZjgxMDljN2Y1Pl0gPyByZW1vdmVfdm1hKzB4N2QvMHg4NQog WzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxNTAyLCBjb21t OiBpbml0LmlwdjYtZ2xvYmEgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRy YWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBb PGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBb PGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8 ZmZmZmZmZmY4MTAyNTNjNj5dID8ga3ZtX21tdV93cml0ZSsweDJlLzB4MzUKIFs8ZmZmZmZmZmY4 MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk3ODY5Pl0g ZG9fd3BfcGFnZSsweDI0My8weDU0YgogWzxmZmZmZmZmZjgxMDk3MGQ5Pl0gPyBwbWRfYWxsb2Mr MHg0MS8weDdjCiBbPGZmZmZmZmZmODEwOTk2M2E+XSBoYW5kbGVfbW1fZmF1bHQrMHg3YTQvMHg4 NWQKIFs8ZmZmZmZmZmY4MTAzMmUyMz5dID8gX193YWtlX3VwKzB4NDMvMHg0ZgogWzxmZmZmZmZm ZjgxMjUxNmJlPl0gPyBuZXRsaW5rX3JlY3Ztc2crMHgyZDkvMHgyZjcKIFs8ZmZmZmZmZmY4MTJi ZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTA1NTdiYT5dID8g aHJ0aW1lcl9zdGFydCsweDEyZS8weDE1MAogWzxmZmZmZmZmZjgxMDMzN2M0Pl0gPyBocnRpY2tf c3RhcnRfZmFpcisweDE0Ny8weDE4MgogWzxmZmZmZmZmZjgxMDM0ZjRhPl0gPyBlbnF1ZXVlX3Rh c2tfZmFpcisweDFjZi8weDFkYgogWzxmZmZmZmZmZjgxMDM2ZjgxPl0gPyBjaGVja19wcmVlbXB0 X3dha2V1cCsweDEwYy8weDE0NQogWzxmZmZmZmZmZjgxMDM3ODZkPl0gPyB0cnlfdG9fd2FrZV91 cCsweDI2OC8weDI3YQogWzxmZmZmZmZmZjgxMDMzNDVkPl0gPyBfX2RlcXVldWVfZW50aXR5KzB4 NjEvMHg2OQogWzxmZmZmZmZmZjgxMDMzODkyPl0gPyBwaWNrX25leHRfdGFza19mYWlyKzB4OTMv MHhhMwogWzxmZmZmZmZmZjgxMDMxYmE1Pl0gPyBwaWNrX25leHRfdGFzaysweDI1LzB4NDEKIFs8 ZmZmZmZmZmY4MTJiYWIxYT5dID8gZXJyb3JfZXhpdCsweDAvMHg3MAogWzxmZmZmZmZmZjgxMTRj ZDZkPl0gPyBfX3B1dF91c2VyXzQrMHgxZC8weDMwCiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJv cl9leGl0KzB4MC8weDcwCgpQaWQ6IDE1MDIsIGNvbW06IGluaXQuaXB2Ni1nbG9iYSBUYWludGVk OiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwOTRkNDI+ XSA/IHpvbmVfc3RhdGlzdGljcysweDYyLzB4NjcKIFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9w YWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxs b2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMGFiOGQ4Pl0gYWxsb2Nf cGFnZV92bWErMHhjMS8weGM2CiBbPGZmZmZmZmZmODEwOTc4Njk+XSBkb193cF9wYWdlKzB4MjQz LzB4NTRiCiBbPGZmZmZmZmZmODEwOTcwZDk+XSA/IHBtZF9hbGxvYysweDQxLzB4N2MKIFs8ZmZm ZmZmZmY4MTA5OTYzYT5dIGhhbmRsZV9tbV9mYXVsdCsweDdhNC8weDg1ZAogWzxmZmZmZmZmZjgx MDMyZTIzPl0gPyBfX3dha2VfdXArMHg0My8weDRmCiBbPGZmZmZmZmZmODEyNTE2YmU+XSA/IG5l dGxpbmtfcmVjdm1zZysweDJkOS8weDJmNwogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9m YXVsdCsweDY2NS8weGFhZQogWzxmZmZmZmZmZjgxMDU1N2JhPl0gPyBocnRpbWVyX3N0YXJ0KzB4 MTJlLzB4MTUwCiBbPGZmZmZmZmZmODEwMzM3YzQ+XSA/IGhydGlja19zdGFydF9mYWlyKzB4MTQ3 LzB4MTgyCiBbPGZmZmZmZmZmODEwMzRmNGE+XSA/IGVucXVldWVfdGFza19mYWlyKzB4MWNmLzB4 MWRiCiBbPGZmZmZmZmZmODEwMzZmODE+XSA/IGNoZWNrX3ByZWVtcHRfd2FrZXVwKzB4MTBjLzB4 MTQ1CiBbPGZmZmZmZmZmODEwMzc4NmQ+XSA/IHRyeV90b193YWtlX3VwKzB4MjY4LzB4MjdhCiBb PGZmZmZmZmZmODEwMzM0NWQ+XSA/IF9fZGVxdWV1ZV9lbnRpdHkrMHg2MS8weDY5CiBbPGZmZmZm ZmZmODEwMzM4OTI+XSA/IHBpY2tfbmV4dF90YXNrX2ZhaXIrMHg5My8weGEzCiBbPGZmZmZmZmZm ODEwMzFiYTU+XSA/IHBpY2tfbmV4dF90YXNrKzB4MjUvMHg0MQogWzxmZmZmZmZmZjgxMmJhYjFh Pl0gPyBlcnJvcl9leGl0KzB4MC8weDcwCiBbPGZmZmZmZmZmODEyYmE3Nzg+XSA/IF9zcGluX2xv Y2tfaXJxKzB4MTEvMHgxNAogWzxmZmZmZmZmZjgxMDQ5YTlkPl0gPyBkb19zaWdhY3Rpb24rMHgx NTgvMHgxNzkKIFs8ZmZmZmZmZmY4MTA0OWI2ZT5dID8gc3lzX3J0X3NpZ2FjdGlvbisweDc1LzB4 OTMKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTUwMiwg Y29tbTogaXAgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxm ZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZm ODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZm ODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4 MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk3M2IyPl0g X19kb19mYXVsdCsweGE4LzB4MzFjCiBbPGZmZmZmZmZmODEwMjU0NDE+XSA/IGt2bV9zZXRfcG1k KzB4MjIvMHgyYgogWzxmZmZmZmZmZjgxMDJkNGZhPl0gPyBwdGVfYWxsb2Nfb25lKzB4MzEvMHgz YgogWzxmZmZmZmZmZjgxMDk5MjQzPl0gaGFuZGxlX21tX2ZhdWx0KzB4M2FkLzB4ODVkCiBbPGZm ZmZmZmZmODExMWZhZWM+XSA/IGlub2RlX2hhc19wZXJtKzB4NWIvMHg2MQogWzxmZmZmZmZmZjgx MGNhNDg0Pl0gPyBfX2RfbG9va3VwKzB4ZDYvMHgxMTcKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRv X3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTA5NmFkND5dID8gcG1kX25vbmVf b3JfY2xlYXJfYmFkKzB4MTQvMHg1MwogWzxmZmZmZmZmZjgxMTQ4MjM2Pl0gPyBwcmlvX3RyZWVf cmVtb3ZlKzB4YzIvMHhjYwogWzxmZmZmZmZmZjgxMDk0NTAyPl0gPyB2bWFfcHJpb190cmVlX3Jl bW92ZSsweDQyLzB4ZGQKIFs8ZmZmZmZmZmY4MTEyODQwYT5dID8gc2lkdGFiX3NlYXJjaCsweGIv MHhkCiBbPGZmZmZmZmZmODExMmM2MjA+XSA/IHNlY3VyaXR5X3Blcm1pc3NpdmVfc2lkKzB4M2Qv MHg0OAogWzxmZmZmZmZmZjgxMTFkNWZiPl0gPyBhdmNfaGFzX3Blcm1fbm9hdWRpdCsweDJhYS8w eDNmNgogWzxmZmZmZmZmZjgxMTQ4M2RlPl0gPyBwcmlvX3RyZWVfaW5zZXJ0KzB4MTllLzB4MjJh CiBbPGZmZmZmZmZmODEwOTQ2NWE+XSA/IHZtYV9wcmlvX3RyZWVfaW5zZXJ0KzB4MjMvMHhjMQog WzxmZmZmZmZmZjgxMDljNjUzPl0gPyBfX3ZtYV9saW5rX2ZpbGUrMHg1Zi8weDYxCiBbPGZmZmZm ZmZmODEwOWNlNTc+XSA/IHZtYV9saW5rKzB4OWIvMHhhZAogWzxmZmZmZmZmZjgxMDllNWJlPl0g PyBtbWFwX3JlZ2lvbisweDNlYi8weDRkOQogWzxmZmZmZmZmZjgxMDllOWQxPl0gPyBkb19tbWFw X3Bnb2ZmKzB4MzI1LzB4Mzg4CiBbPGZmZmZmZmZmODExNGEyZjA+XSA/IF9fdXBfd3JpdGUrMHg0 Mi8weDQ3CiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE1 MDIsIGNvbW06IGlwIFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFjZToK IFs8ZmZmZmZmZmY4MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIvMHg2NwogWzxmZmZm ZmZmZjgxMDhlMDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZm ZmZmZjgxMDI1MmRmPl0gPyBrdm1fZGVmZXJyZWRfbW11X29wKzB4NWIvMHhlZAogWzxmZmZmZmZm ZjgxMDhlNWZiPl0gX19hbGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZm ODEwYWI4ZDg+XSBhbGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5OTA0OT5d IGhhbmRsZV9tbV9mYXVsdCsweDFiMy8weDg1ZAogWzxmZmZmZmZmZjgxMGNhNDg0Pl0gPyBfX2Rf bG9va3VwKzB4ZDYvMHgxMTcKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2 NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTBhMDc5Yz5dID8gX19hbm9uX3ZtYV9saW5rKzB4MWUvMHgy MAogWzxmZmZmZmZmZjgxMDljZGI4Pl0gPyBfX3ZtYV9saW5rKzB4NjgvMHg2YwogWzxmZmZmZmZm ZjgxMDI1MWY5Pl0gPyBrdm1fbGVhdmVfbGF6eV9tbXUrMHg4Ny8weDliCiBbPGZmZmZmZmZmODEw OTg1OTk+XSA/IHVubWFwX3ZtYXMrMHg2ZWIvMHg4OTQKIFs8ZmZmZmZmZmY4MTAyNTJkZj5dID8g a3ZtX2RlZmVycmVkX21tdV9vcCsweDViLzB4ZWQKIFs8ZmZmZmZmZmY4MTA5NDUwMj5dID8gdm1h X3ByaW9fdHJlZV9yZW1vdmUrMHg0Mi8weGRkCiBbPGZmZmZmZmZmODEwYjIwOWE+XSA/IHZpcnRf dG9faGVhZF9wYWdlKzB4MzEvMHg0MQogWzxmZmZmZmZmZjgxMGNmNTc1Pl0gPyBtbnRwdXRfbm9f ZXhwaXJlKzB4MzEvMHgxNDQKIFs8ZmZmZmZmZmY4MTBiMjA5YT5dID8gdmlydF90b19oZWFkX3Bh Z2UrMHgzMS8weDQxCiBbPGZmZmZmZmZmODEwOWM3ZjU+XSA/IHJlbW92ZV92bWErMHg3ZC8weDg1 CiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE1MDMsIGNv bW06IGluaXQuaXB2Ni1nbG9iYSBUYWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwg VHJhY2U6CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVfc3RhdGlzdGljcysweDYyLzB4NjcK IFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQK IFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1Nwog WzxmZmZmZmZmZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhjMS8weGM2CiBbPGZmZmZmZmZm ODEwOTc4Njk+XSBkb193cF9wYWdlKzB4MjQzLzB4NTRiCiBbPGZmZmZmZmZmODEwOTcwZDk+XSA/ IHBtZF9hbGxvYysweDQxLzB4N2MKIFs8ZmZmZmZmZmY4MTA5OTYzYT5dIGhhbmRsZV9tbV9mYXVs dCsweDdhNC8weDg1ZAogWzxmZmZmZmZmZjgxMDMyZTIzPl0gPyBfX3dha2VfdXArMHg0My8weDRm CiBbPGZmZmZmZmZmODEyNTE2YmU+XSA/IG5ldGxpbmtfcmVjdm1zZysweDJkOS8weDJmNwogWzxm ZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQogWzxmZmZmZmZmZjgx MDU1N2JhPl0gPyBocnRpbWVyX3N0YXJ0KzB4MTJlLzB4MTUwCiBbPGZmZmZmZmZmODEwMzM3YzQ+ XSA/IGhydGlja19zdGFydF9mYWlyKzB4MTQ3LzB4MTgyCiBbPGZmZmZmZmZmODEwMzRmNGE+XSA/ IGVucXVldWVfdGFza19mYWlyKzB4MWNmLzB4MWRiCiBbPGZmZmZmZmZmODEwMzE3MmY+XSA/IGVu cXVldWVfdGFzaysweDUwLzB4NWIKIFs8ZmZmZmZmZmY4MTAzNzg2ZD5dID8gdHJ5X3RvX3dha2Vf dXArMHgyNjgvMHgyN2EKIFs8ZmZmZmZmZmY4MTAzMzQ1ZD5dID8gX19kZXF1ZXVlX2VudGl0eSsw eDYxLzB4NjkKIFs8ZmZmZmZmZmY4MTAzMzg5Mj5dID8gcGlja19uZXh0X3Rhc2tfZmFpcisweDkz LzB4YTMKIFs8ZmZmZmZmZmY4MTAzMWJhNT5dID8gcGlja19uZXh0X3Rhc2srMHgyNS8weDQxCiBb PGZmZmZmZmZmODEyYmFiMWE+XSA/IGVycm9yX2V4aXQrMHgwLzB4NzAKIFs8ZmZmZmZmZmY4MTJi YTc3OD5dID8gX3NwaW5fbG9ja19pcnErMHgxMS8weDE0CiBbPGZmZmZmZmZmODEwNDkzNTc+XSA/ IHNpZ3Byb2NtYXNrKzB4YzYvMHhkOQogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsw eDAvMHg3MAoKUGlkOiAxNTAzLCBjb21tOiBpbml0LmlwdjYtZ2xvYmEgVGFpbnRlZDogRyBTICAg ICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25l X3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9t X2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2Vz X2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1h KzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk3ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8weDU0Ygog WzxmZmZmZmZmZjgxMDk3MGQ5Pl0gPyBwbWRfYWxsb2MrMHg0MS8weDdjCiBbPGZmZmZmZmZmODEw OTk2M2E+XSBoYW5kbGVfbW1fZmF1bHQrMHg3YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTAzMmUyMz5d ID8gX193YWtlX3VwKzB4NDMvMHg0ZgogWzxmZmZmZmZmZjgxMjUxNmJlPl0gPyBuZXRsaW5rX3Jl Y3Ztc2crMHgyZDkvMHgyZjcKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2 NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTA1NTdiYT5dID8gaHJ0aW1lcl9zdGFydCsweDEyZS8weDE1 MAogWzxmZmZmZmZmZjgxMDMzN2M0Pl0gPyBocnRpY2tfc3RhcnRfZmFpcisweDE0Ny8weDE4Mgog WzxmZmZmZmZmZjgxMDM0ZjRhPl0gPyBlbnF1ZXVlX3Rhc2tfZmFpcisweDFjZi8weDFkYgogWzxm ZmZmZmZmZjgxMDMxNzJmPl0gPyBlbnF1ZXVlX3Rhc2srMHg1MC8weDViCiBbPGZmZmZmZmZmODEw Mzc4NmQ+XSA/IHRyeV90b193YWtlX3VwKzB4MjY4LzB4MjdhCiBbPGZmZmZmZmZmODEwMzM0NWQ+ XSA/IF9fZGVxdWV1ZV9lbnRpdHkrMHg2MS8weDY5CiBbPGZmZmZmZmZmODEwMzM4OTI+XSA/IHBp Y2tfbmV4dF90YXNrX2ZhaXIrMHg5My8weGEzCiBbPGZmZmZmZmZmODEwMzFiYTU+XSA/IHBpY2tf bmV4dF90YXNrKzB4MjUvMHg0MQogWzxmZmZmZmZmZjgxMmJhYjFhPl0gPyBlcnJvcl9leGl0KzB4 MC8weDcwCiBbPGZmZmZmZmZmODEyYmE3Nzg+XSA/IF9zcGluX2xvY2tfaXJxKzB4MTEvMHgxNAog WzxmZmZmZmZmZjgxMDQ5YTlkPl0gPyBkb19zaWdhY3Rpb24rMHgxNTgvMHgxNzkKIFs8ZmZmZmZm ZmY4MTA0OWI2ZT5dID8gc3lzX3J0X3NpZ2FjdGlvbisweDc1LzB4OTMKIFs8ZmZmZmZmZmY4MTJi YWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTUwMywgY29tbTogaXAgVGFpbnRlZDog RyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0g PyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFn ZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9j X3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3Bh Z2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk3M2IyPl0gX19kb19mYXVsdCsweGE4LzB4 MzFjCiBbPGZmZmZmZmZmODEwMjU0NDE+XSA/IGt2bV9zZXRfcG1kKzB4MjIvMHgyYgogWzxmZmZm ZmZmZjgxMDJkNGZhPl0gPyBwdGVfYWxsb2Nfb25lKzB4MzEvMHgzYgogWzxmZmZmZmZmZjgxMDk5 MjQzPl0gaGFuZGxlX21tX2ZhdWx0KzB4M2FkLzB4ODVkCiBbPGZmZmZmZmZmODExMWZhZWM+XSA/ IGlub2RlX2hhc19wZXJtKzB4NWIvMHg2MQogWzxmZmZmZmZmZjgxMGNhNDg0Pl0gPyBfX2RfbG9v a3VwKzB4ZDYvMHgxMTcKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUv MHhhYWUKIFs8ZmZmZmZmZmY4MTA5NmFkND5dID8gcG1kX25vbmVfb3JfY2xlYXJfYmFkKzB4MTQv MHg1MwogWzxmZmZmZmZmZjgxMTQ4M2RlPl0gPyBwcmlvX3RyZWVfaW5zZXJ0KzB4MTllLzB4MjJh CiBbPGZmZmZmZmZmODEwOTQ1MDI+XSA/IHZtYV9wcmlvX3RyZWVfcmVtb3ZlKzB4NDIvMHhkZAog WzxmZmZmZmZmZjgxMTI4NDBhPl0gPyBzaWR0YWJfc2VhcmNoKzB4Yi8weGQKIFs8ZmZmZmZmZmY4 MTEyYzYyMD5dID8gc2VjdXJpdHlfcGVybWlzc2l2ZV9zaWQrMHgzZC8weDQ4CiBbPGZmZmZmZmZm ODExMWQ1ZmI+XSA/IGF2Y19oYXNfcGVybV9ub2F1ZGl0KzB4MmFhLzB4M2Y2CiBbPGZmZmZmZmZm ODExNDgzZGU+XSA/IHByaW9fdHJlZV9pbnNlcnQrMHgxOWUvMHgyMmEKIFs8ZmZmZmZmZmY4MTA5 NDY1YT5dID8gdm1hX3ByaW9fdHJlZV9pbnNlcnQrMHgyMy8weGMxCiBbPGZmZmZmZmZmODEwOWM2 NTM+XSA/IF9fdm1hX2xpbmtfZmlsZSsweDVmLzB4NjEKIFs8ZmZmZmZmZmY4MTA5Y2U1Nz5dID8g dm1hX2xpbmsrMHg5Yi8weGFkCiBbPGZmZmZmZmZmODEwOWU1YmU+XSA/IG1tYXBfcmVnaW9uKzB4 M2ViLzB4NGQ5CiBbPGZmZmZmZmZmODEwOWU5ZDE+XSA/IGRvX21tYXBfcGdvZmYrMHgzMjUvMHgz ODgKIFs8ZmZmZmZmZmY4MTE0YTJmMD5dID8gX191cF93cml0ZSsweDQyLzB4NDcKIFs8ZmZmZmZm ZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTUwMywgY29tbTogaXAgVGFp bnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0 ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBn ZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/ IHpvbmVfc3RhdGlzdGljcysweDYyLzB4NjcKIFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2Nf cGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMDI1M2M2Pl0gPyBrdm1fbW11 X3dyaXRlKzB4MmUvMHgzNQogWzxmZmZmZmZmZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhj MS8weGM2CiBbPGZmZmZmZmZmODEwOTc4Njk+XSBkb193cF9wYWdlKzB4MjQzLzB4NTRiCiBbPGZm ZmZmZmZmODEwOTcwZDk+XSA/IHBtZF9hbGxvYysweDQxLzB4N2MKIFs8ZmZmZmZmZmY4MTA5OTYz YT5dIGhhbmRsZV9tbV9mYXVsdCsweDdhNC8weDg1ZAogWzxmZmZmZmZmZjgxMGNhNDg0Pl0gPyBf X2RfbG9va3VwKzB4ZDYvMHgxMTcKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQr MHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTE0ODNkZT5dID8gcHJpb190cmVlX2luc2VydCsweDE5 ZS8weDIyYQogWzxmZmZmZmZmZjgxMTQ4MjM2Pl0gPyBwcmlvX3RyZWVfcmVtb3ZlKzB4YzIvMHhj YwogWzxmZmZmZmZmZjgxMDk0NTAyPl0gPyB2bWFfcHJpb190cmVlX3JlbW92ZSsweDQyLzB4ZGQK IFs8ZmZmZmZmZmY4MTEyODQwYT5dID8gc2lkdGFiX3NlYXJjaCsweGIvMHhkCiBbPGZmZmZmZmZm ODExMmM2MjA+XSA/IHNlY3VyaXR5X3Blcm1pc3NpdmVfc2lkKzB4M2QvMHg0OAogWzxmZmZmZmZm ZjgxMmJhODIyPl0gPyBfc3Bpbl9sb2NrKzB4OS8weGMKIFs8ZmZmZmZmZmY4MTA5ZDM3Zj5dID8g dm1hX2FkanVzdCsweDM2Ni8weDNlNgogWzxmZmZmZmZmZjgxMDlkYjQ1Pl0gPyB2bWFfbWVyZ2Ur MHgyOGYvMHgzMDcKIFs8ZmZmZmZmZmY4MTEyM2E4YT5dID8gc2VsaW51eF92bV9lbm91Z2hfbWVt b3J5KzB4NjYvMHg2ZQogWzxmZmZmZmZmZjgxMDllNWJlPl0gPyBtbWFwX3JlZ2lvbisweDNlYi8w eDRkOQogWzxmZmZmZmZmZjgxMDllOWQxPl0gPyBkb19tbWFwX3Bnb2ZmKzB4MzI1LzB4Mzg4CiBb PGZmZmZmZmZmODExNGEyZjA+XSA/IF9fdXBfd3JpdGUrMHg0Mi8weDQ3CiBbPGZmZmZmZmZmODEy YmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE1MTEsIGNvbW06IHJlc3RvcmVjb25k IFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4 MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIvMHg2NwogWzxmZmZmZmZmZjgxMDhlMDIx Pl0gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgxMDI1MmRm Pl0gPyBrdm1fZGVmZXJyZWRfbW11X29wKzB4NWIvMHhlZAogWzxmZmZmZmZmZjgxMDhlNWZiPl0g X19hbGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEwMjUzYzY+XSA/ IGt2bV9tbXVfd3JpdGUrMHgyZS8weDM1CiBbPGZmZmZmZmZmODEwYWI4ZDg+XSBhbGxvY19wYWdl X3ZtYSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5OTA0OT5dIGhhbmRsZV9tbV9mYXVsdCsweDFi My8weDg1ZAogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQog WzxmZmZmZmZmZjgxMmJhODIyPl0gPyBfc3Bpbl9sb2NrKzB4OS8weGMKIFs8ZmZmZmZmZmY4MTBk MDYyMj5dID8gbW50X2Ryb3Bfd3JpdGUrMHg4Mi8weDE0MwogWzxmZmZmZmZmZjgxMGNlOTRkPl0g PyBtbnRfd2FudF93cml0ZSsweDc3LzB4OGQKIFs8ZmZmZmZmZmY4MTA4N2VlMz5dID8gZmlsZV9y ZWFkX2FjdG9yKzB4MzYvMHgxMDAKIFs8ZmZmZmZmZmY4MTBjYjliMz5dID8gdG91Y2hfYXRpbWUr MHhkYS8weGZjCiBbPGZmZmZmZmZmODEwOGExOTY+XSA/IGdlbmVyaWNfZmlsZV9haW9fcmVhZCsw eDUwOS8weDU2NAogWzxmZmZmZmZmZjgxMGI5MTg1Pl0gPyBkb19zeW5jX3JlYWQrMHhlNy8weDEy ZAogWzxmZmZmZmZmZjgxMDlkYTg0Pl0gPyB2bWFfbWVyZ2UrMHgxY2UvMHgzMDcKIFs8ZmZmZmZm ZmY4MTA1MjllNT5dID8gYXV0b3JlbW92ZV93YWtlX2Z1bmN0aW9uKzB4MC8weDM4CiBbPGZmZmZm ZmZmODEyYmE4MjI+XSA/IF9zcGluX2xvY2srMHg5LzB4YwogWzxmZmZmZmZmZjgxMGI4Y2I4Pl0g PyBmc25vdGlmeV9hY2Nlc3MrMHg2Mi8weDZhCiBbPGZmZmZmZmZmODEwYjliMjc+XSA/IHZmc19y ZWFkKzB4Y2QvMHgxMDIKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAK ClBpZDogMTUxMSwgY29tbTogcmVzdG9yZWNvbmQgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcg IzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDhlMDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVl bGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgxMDI1MmRmPl0gPyBrdm1fZGVmZXJyZWRfbW11 X29wKzB4NWIvMHhlZAogWzxmZmZmZmZmZjgxMDhlNWZiPl0gX19hbGxvY19wYWdlc19pbnRlcm5h bCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEwMjUzYzY+XSA/IGt2bV9tbXVfd3JpdGUrMHgyZS8w eDM1CiBbPGZmZmZmZmZmODEwYWI4ZDg+XSBhbGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZm ZmZmZmY4MTA5OTA0OT5dIGhhbmRsZV9tbV9mYXVsdCsweDFiMy8weDg1ZAogWzxmZmZmZmZmZjgx MmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQogWzxmZmZmZmZmZjgxMmJhODIyPl0g PyBfc3Bpbl9sb2NrKzB4OS8weGMKIFs8ZmZmZmZmZmY4MTBkMDYyMj5dID8gbW50X2Ryb3Bfd3Jp dGUrMHg4Mi8weDE0MwogWzxmZmZmZmZmZjgxMGNlOTRkPl0gPyBtbnRfd2FudF93cml0ZSsweDc3 LzB4OGQKIFs8ZmZmZmZmZmY4MTA4N2VlMz5dID8gZmlsZV9yZWFkX2FjdG9yKzB4MzYvMHgxMDAK IFs8ZmZmZmZmZmY4MTBjYjliMz5dID8gdG91Y2hfYXRpbWUrMHhkYS8weGZjCiBbPGZmZmZmZmZm ODEwOGExOTY+XSA/IGdlbmVyaWNfZmlsZV9haW9fcmVhZCsweDUwOS8weDU2NAogWzxmZmZmZmZm ZjgxMGI5MTg1Pl0gPyBkb19zeW5jX3JlYWQrMHhlNy8weDEyZAogWzxmZmZmZmZmZjgxMDlkYTg0 Pl0gPyB2bWFfbWVyZ2UrMHgxY2UvMHgzMDcKIFs8ZmZmZmZmZmY4MTA1MjllNT5dID8gYXV0b3Jl bW92ZV93YWtlX2Z1bmN0aW9uKzB4MC8weDM4CiBbPGZmZmZmZmZmODEyYmE4MjI+XSA/IF9zcGlu X2xvY2srMHg5LzB4YwogWzxmZmZmZmZmZjgxMGI4Y2I4Pl0gPyBmc25vdGlmeV9hY2Nlc3MrMHg2 Mi8weDZhCiBbPGZmZmZmZmZmODEwYjliMjc+XSA/IHZmc19yZWFkKzB4Y2QvMHgxMDIKIFs8ZmZm ZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTUxMSwgY29tbTogcmVz dG9yZWNvbmQgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxm ZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZm ODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZm ODEwMjUyZGY+XSA/IGt2bV9kZWZlcnJlZF9tbXVfb3ArMHg1Yi8weGVkCiBbPGZmZmZmZmZmODEw OGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTAy NTNjNj5dID8ga3ZtX21tdV93cml0ZSsweDJlLzB4MzUKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFs bG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk5MDQ5Pl0gaGFuZGxlX21tX2Zh dWx0KzB4MWIzLzB4ODVkCiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1 LzB4YWFlCiBbPGZmZmZmZmZmODEwOGNhYjE+XSA/IGZyZWVfcGFnZXNfY2hlY2srMHg4Mi8weDhh CiBbPGZmZmZmZmZmODEwOGJlMDU+XSA/IGdldF9wYWdlYmxvY2tfbWlncmF0ZXR5cGUrMHgxYi8w eDFkCiBbPGZmZmZmZmZmODEwOGNkNDg+XSA/IGZyZWVfaG90X3BhZ2UrMHhiLzB4ZAogWzxmZmZm ZmZmZjgxMDkxM2E4Pl0gPyBwdXRfcGFnZSsweDkzLzB4YTAKIFs8ZmZmZmZmZmY4MTAyNTFmOT5d ID8ga3ZtX2xlYXZlX2xhenlfbW11KzB4ODcvMHg5YgogWzxmZmZmZmZmZjgxMDk4NTk5Pl0gPyB1 bm1hcF92bWFzKzB4NmViLzB4ODk0CiBbPGZmZmZmZmZmODExMjg0MGE+XSA/IHNpZHRhYl9zZWFy Y2grMHhiLzB4ZAogWzxmZmZmZmZmZjgxMTJjNjIwPl0gPyBzZWN1cml0eV9wZXJtaXNzaXZlX3Np ZCsweDNkLzB4NDgKIFs8ZmZmZmZmZmY4MTJiYTgyMj5dID8gX3NwaW5fbG9jaysweDkvMHhjCiBb PGZmZmZmZmZmODEwOWQzN2Y+XSA/IHZtYV9hZGp1c3QrMHgzNjYvMHgzZTYKIFs8ZmZmZmZmZmY4 MTA5ZGE4ND5dID8gdm1hX21lcmdlKzB4MWNlLzB4MzA3CiBbPGZmZmZmZmZmODEwOWRmZjk+XSA/ IGRvX2JyaysweDI1YS8weDMyMAogWzxmZmZmZmZmZjgxMTRhMmYwPl0gPyBfX3VwX3dyaXRlKzB4 NDIvMHg0NwogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAx NTExLCBjb21tOiByZXN0b3JlY29uZCBUYWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNh bGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVfc3RhdGlzdGljcysweDYyLzB4 NjcKIFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2 NzQKIFs8ZmZmZmZmZmY4MTAyNTJkZj5dID8ga3ZtX2RlZmVycmVkX21tdV9vcCsweDViLzB4ZWQK IFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1Nwog WzxmZmZmZmZmZjgxMDI1M2M2Pl0gPyBrdm1fbW11X3dyaXRlKzB4MmUvMHgzNQogWzxmZmZmZmZm ZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhjMS8weGM2CiBbPGZmZmZmZmZmODEwOTkwNDk+ XSBoYW5kbGVfbW1fZmF1bHQrMHgxYjMvMHg4NWQKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3Bh Z2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTA4Y2FiMT5dID8gZnJlZV9wYWdlc19j aGVjaysweDgyLzB4OGEKIFs8ZmZmZmZmZmY4MTA4YmUwNT5dID8gZ2V0X3BhZ2VibG9ja19taWdy YXRldHlwZSsweDFiLzB4MWQKIFs8ZmZmZmZmZmY4MTA4Y2Q0OD5dID8gZnJlZV9ob3RfcGFnZSsw eGIvMHhkCiBbPGZmZmZmZmZmODEwOTEzYTg+XSA/IHB1dF9wYWdlKzB4OTMvMHhhMAogWzxmZmZm ZmZmZjgxMDI1MWY5Pl0gPyBrdm1fbGVhdmVfbGF6eV9tbXUrMHg4Ny8weDliCiBbPGZmZmZmZmZm ODEwOTg1OTk+XSA/IHVubWFwX3ZtYXMrMHg2ZWIvMHg4OTQKIFs8ZmZmZmZmZmY4MTEyODQwYT5d ID8gc2lkdGFiX3NlYXJjaCsweGIvMHhkCiBbPGZmZmZmZmZmODExMmM2MjA+XSA/IHNlY3VyaXR5 X3Blcm1pc3NpdmVfc2lkKzB4M2QvMHg0OAogWzxmZmZmZmZmZjgxMmJhODIyPl0gPyBfc3Bpbl9s b2NrKzB4OS8weGMKIFs8ZmZmZmZmZmY4MTA5ZDM3Zj5dID8gdm1hX2FkanVzdCsweDM2Ni8weDNl NgogWzxmZmZmZmZmZjgxMDlkYTg0Pl0gPyB2bWFfbWVyZ2UrMHgxY2UvMHgzMDcKIFs8ZmZmZmZm ZmY4MTA5ZGZmOT5dID8gZG9fYnJrKzB4MjVhLzB4MzIwCiBbPGZmZmZmZmZmODExNGEyZjA+XSA/ IF9fdXBfd3JpdGUrMHg0Mi8weDQ3CiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4 MC8weDcwCgpQaWQ6IDE1ODgsIGNvbW06IG1vZHByb2JlIFRhaW50ZWQ6IEcgUyAgICAgICAgMi42 LjI3ICMxNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0 aWNzKzB4NjIvMHg2NwogWzxmZmZmZmZmZjgxMDhlMDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlz dCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgxMDhlNWZiPl0gX19hbGxvY19wYWdlc19pbnRlcm5h bCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEwMjUzYzY+XSA/IGt2bV9tbXVfd3JpdGUrMHgyZS8w eDM1CiBbPGZmZmZmZmZmODEwYWI4ZDg+XSBhbGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZm ZmZmZmY4MTA5OTA0OT5dIGhhbmRsZV9tbV9mYXVsdCsweDFiMy8weDg1ZAogWzxmZmZmZmZmZjgx MTNhNGRlPl0gPyBibGtfcmVjb3VudF9zZWdtZW50cysweDNlLzB4NjgKIFs8ZmZmZmZmZmY4MTJi ZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTE0MmJlZD5dID8g Y2ZxX2FkZF9ycV9yYisweGI0LzB4Y2EKIFs8ZmZmZmZmZmY4MTE0MmM3NT5dID8gY2ZxX2luc2Vy dF9yZXF1ZXN0KzB4NzIvMHgzNDMKIFs8ZmZmZmZmZmY4MTEzNTk4YT5dID8gZWx2X2luc2VydCsw eDE2Yy8weDIxMgogWzxmZmZmZmZmZjgxMTM1YWMwPl0gPyBfX2Vsdl9hZGRfcmVxdWVzdCsweDkw LzB4OTgKIFs8ZmZmZmZmZmY4MTEzODFjNz5dID8gX19tYWtlX3JlcXVlc3QrMHgzYjIvMHgzZDgK IFs8ZmZmZmZmZmY4MTA1NWI3Zj5dID8gdXBfcmVhZCsweDkvMHhiCiBbPGZmZmZmZmZmODExMzZi NDk+XSA/IGdlbmVyaWNfbWFrZV9yZXF1ZXN0KzB4MjdmLzB4MmJhCiBbPGZmZmZmZmZmODExNDk5 Yzc+XSA/IHJhZGl4X3RyZWVfaW5zZXJ0KzB4MTg2LzB4MWNhCiBbPGZmZmZmZmZmODExMzZjNjQ+ XSA/IHN1Ym1pdF9iaW8rMHhlMC8weGU5CiBbPGZmZmZmZmZmODEwOTExNGU+XSA/IGxydV9jYWNo ZV9hZGQrMHgyYi8weDVjCiBbPGZmZmZmZmZmODEwZTE2OGQ+XSA/IG1wYWdlX2Jpb19zdWJtaXQr MHgyMi8weDI2CiBbPGZmZmZmZmZmODEwZTIyZDU+XSA/IG1wYWdlX3JlYWRwYWdlcysweGUwLzB4 ZjQKIFs8ZmZmZmZmZmZhMDAzNmU3OD5dID8gZXh0M19nZXRfYmxvY2srMHgwLzB4ZmMgW2V4dDNd CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSA/IF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1 NwogWzxmZmZmZmZmZmEwMDM2ZTc4Pl0gPyBleHQzX2dldF9ibG9jaysweDAvMHhmYyBbZXh0M10K IFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKIFs8ZmZmZmZmZmY4MTA4 N2VmZT5dID8gZmlsZV9yZWFkX2FjdG9yKzB4NTEvMHgxMDAKIFs8ZmZmZmZmZmY4MTA4N2Y1ND5d ID8gZmlsZV9yZWFkX2FjdG9yKzB4YTcvMHgxMDAKIFs8ZmZmZmZmZmY4MTA4OWZjZT5dIGdlbmVy aWNfZmlsZV9haW9fcmVhZCsweDM0MS8weDU2NAogWzxmZmZmZmZmZjgxMGI5MTg1Pl0gZG9fc3lu Y19yZWFkKzB4ZTcvMHgxMmQKIFs8ZmZmZmZmZmY4MTA5YzdmNT5dID8gcmVtb3ZlX3ZtYSsweDdk LzB4ODUKIFs8ZmZmZmZmZmY4MTA1MjllNT5dID8gYXV0b3JlbW92ZV93YWtlX2Z1bmN0aW9uKzB4 MC8weDM4CiBbPGZmZmZmZmZmODExMjIxY2U+XSA/IHNlbGludXhfZmlsZV9wZXJtaXNzaW9uKzB4 YWYvMHhiOAogWzxmZmZmZmZmZjgxMTFiMDM4Pl0gPyBzZWN1cml0eV9maWxlX3Blcm1pc3Npb24r MHgxMS8weDEzCiBbPGZmZmZmZmZmODEwYjliMDI+XSB2ZnNfcmVhZCsweGE4LzB4MTAyCiBbPGZm ZmZmZmZmODEwYjljMjA+XSBzeXNfcmVhZCsweDQ3LzB4NmUKIFs8ZmZmZmZmZmY4MTAxMDFkYT5d IHN5c3RlbV9jYWxsX2Zhc3RwYXRoKzB4MTYvMHgxYgoKUGlkOiAxNTg4LCBjb21tOiBtb2Rwcm9i ZSBUYWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZm ODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZm ODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4 MTAyNTNjNj5dID8ga3ZtX21tdV93cml0ZSsweDJlLzB4MzUKIFs8ZmZmZmZmZmY4MTBhYjhkOD5d IGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk5MDQ5Pl0gaGFuZGxlX21t X2ZhdWx0KzB4MWIzLzB4ODVkCiBbPGZmZmZmZmZmODExM2E0ZGU+XSA/IGJsa19yZWNvdW50X3Nl Z21lbnRzKzB4M2UvMHg2OAogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2 NS8weGFhZQogWzxmZmZmZmZmZjgxMTQyYmVkPl0gPyBjZnFfYWRkX3JxX3JiKzB4YjQvMHhjYQog WzxmZmZmZmZmZjgxMTQyYzc1Pl0gPyBjZnFfaW5zZXJ0X3JlcXVlc3QrMHg3Mi8weDM0MwogWzxm ZmZmZmZmZjgxMTM1OThhPl0gPyBlbHZfaW5zZXJ0KzB4MTZjLzB4MjEyCiBbPGZmZmZmZmZmODEx MzVhYzA+XSA/IF9fZWx2X2FkZF9yZXF1ZXN0KzB4OTAvMHg5OAogWzxmZmZmZmZmZjgxMTM4MWM3 Pl0gPyBfX21ha2VfcmVxdWVzdCsweDNiMi8weDNkOAogWzxmZmZmZmZmZjgxMDU1YjdmPl0gPyB1 cF9yZWFkKzB4OS8weGIKIFs8ZmZmZmZmZmY4MTEzNmI0OT5dID8gZ2VuZXJpY19tYWtlX3JlcXVl c3QrMHgyN2YvMHgyYmEKIFs8ZmZmZmZmZmY4MTE0OTljNz5dID8gcmFkaXhfdHJlZV9pbnNlcnQr MHgxODYvMHgxY2EKIFs8ZmZmZmZmZmY4MTE0OWM3ZD5dID8gcmJfaW5zZXJ0X2NvbG9yKzB4Njkv MHhlNgogWzxmZmZmZmZmZjgxMDU0ZGVlPl0gPyBlbnF1ZXVlX2hydGltZXIrMHhkMy8weGUxCiBb PGZmZmZmZmZmODEwNTU3YmE+XSA/IGhydGltZXJfc3RhcnQrMHgxMmUvMHgxNTAKIFs8ZmZmZmZm ZmY4MTA1NTk4Nz5dID8ga3RpbWVfZ2V0X3RzKzB4NDkvMHg0ZQogWzxmZmZmZmZmZjgxMDMzN2M0 Pl0gPyBocnRpY2tfc3RhcnRfZmFpcisweDE0Ny8weDE4MgogWzxmZmZmZmZmZjgxMDBlNzY3Pl0g PyBfX3N3aXRjaF90bysweDEwOS8weDNlMAogWzxmZmZmZmZmZjgxMDMzODkyPl0gPyBwaWNrX25l eHRfdGFza19mYWlyKzB4OTMvMHhhMwogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsw eDAvMHg3MAogWzxmZmZmZmZmZjgxMDg3ZWZlPl0gPyBmaWxlX3JlYWRfYWN0b3IrMHg1MS8weDEw MAogWzxmZmZmZmZmZjgxMDg5ZmNlPl0gZ2VuZXJpY19maWxlX2Fpb19yZWFkKzB4MzQxLzB4NTY0 CiBbPGZmZmZmZmZmODEwYjkxODU+XSBkb19zeW5jX3JlYWQrMHhlNy8weDEyZAogWzxmZmZmZmZm ZjgxMDljN2Y1Pl0gPyByZW1vdmVfdm1hKzB4N2QvMHg4NQogWzxmZmZmZmZmZjgxMDUyOWU1Pl0g PyBhdXRvcmVtb3ZlX3dha2VfZnVuY3Rpb24rMHgwLzB4MzgKIFs8ZmZmZmZmZmY4MTEyMjFjZT5d ID8gc2VsaW51eF9maWxlX3Blcm1pc3Npb24rMHhhZi8weGI4CiBbPGZmZmZmZmZmODExMWIwMzg+ XSA/IHNlY3VyaXR5X2ZpbGVfcGVybWlzc2lvbisweDExLzB4MTMKIFs8ZmZmZmZmZmY4MTBiOWIw Mj5dIHZmc19yZWFkKzB4YTgvMHgxMDIKIFs8ZmZmZmZmZmY4MTBiOWMyMD5dIHN5c19yZWFkKzB4 NDcvMHg2ZQogWzxmZmZmZmZmZjgxMDEwMWRhPl0gc3lzdGVtX2NhbGxfZmFzdHBhdGgrMHgxNi8w eDFiCgpSUEM6IFJlZ2lzdGVyZWQgdWRwIHRyYW5zcG9ydCBtb2R1bGUuClJQQzogUmVnaXN0ZXJl ZCB0Y3AgdHJhbnNwb3J0IG1vZHVsZS4KU0VMaW51eDogaW5pdGlhbGl6ZWQgKGRldiBycGNfcGlw ZWZzLCB0eXBlIHJwY19waXBlZnMpLCB1c2VzIGdlbmZzX2NvbnRleHRzCmV0aDA6IG5vIElQdjYg cm91dGVycyBwcmVzZW50ClBpZDogMTU5OCwgY29tbTogcnBjLmlkbWFwZCBUYWludGVkOiBHIFMg ICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpv bmVfc3RhdGlzdGljcysweDYyLzB4NjcKIFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zy b21fZnJlZWxpc3QrMHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4MTEyZmRlZj5dID8gbWxzX2xldmVs X2lzdmFsaWQrMHg1NS8weGEzCiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2lu dGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjgwZT5dIGFsbG9jX3BhZ2VzX2N1cnJl bnQrMHhiOS8weGMyCiBbPGZmZmZmZmZmODEwODg3YWU+XSBfX3BhZ2VfY2FjaGVfYWxsb2MrMHg2 Ny8weDZjCiBbPGZmZmZmZmZmODEwOTAzNTU+XSBfX2RvX3BhZ2VfY2FjaGVfcmVhZGFoZWFkKzB4 OGQvMHgxNjMKIFs8ZmZmZmZmZmY4MTA5MDQ3ZT5dIGRvX3BhZ2VfY2FjaGVfcmVhZGFoZWFkKzB4 NTMvMHg2MAogWzxmZmZmZmZmZjgxMDg4Y2YyPl0gZmlsZW1hcF9mYXVsdCsweDE2NS8weDMyOAog WzxmZmZmZmZmZjgxMDk3MzVlPl0gX19kb19mYXVsdCsweDU0LzB4MzFjCiBbPGZmZmZmZmZmODEw OTkyNDM+XSBoYW5kbGVfbW1fZmF1bHQrMHgzYWQvMHg4NWQKIFs8ZmZmZmZmZmY4MTJiOTFkMD5d ID8gdGhyZWFkX3JldHVybisweGE2LzB4ZDQKIFs8ZmZmZmZmZmY4MTA1NzkwNz5dID8gZ2V0bnN0 aW1lb2ZkYXkrMHgzYS8weDk2CiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4 NjY1LzB4YWFlCiBbPGZmZmZmZmZmODExNDgyMzY+XSA/IHByaW9fdHJlZV9yZW1vdmUrMHhjMi8w eGNjCiBbPGZmZmZmZmZmODEwOTQ1MDI+XSA/IHZtYV9wcmlvX3RyZWVfcmVtb3ZlKzB4NDIvMHhk ZAogWzxmZmZmZmZmZjgxMTI4NDBhPl0gPyBzaWR0YWJfc2VhcmNoKzB4Yi8weGQKIFs8ZmZmZmZm ZmY4MTEyYzYyMD5dID8gc2VjdXJpdHlfcGVybWlzc2l2ZV9zaWQrMHgzZC8weDQ4CiBbPGZmZmZm ZmZmODExMWQ1ZmI+XSA/IGF2Y19oYXNfcGVybV9ub2F1ZGl0KzB4MmFhLzB4M2Y2CiBbPGZmZmZm ZmZmODExNDgzZGU+XSA/IHByaW9fdHJlZV9pbnNlcnQrMHgxOWUvMHgyMmEKIFs8ZmZmZmZmZmY4 MTA5NDY1YT5dID8gdm1hX3ByaW9fdHJlZV9pbnNlcnQrMHgyMy8weGMxCiBbPGZmZmZmZmZmODEw OWM2NTM+XSA/IF9fdm1hX2xpbmtfZmlsZSsweDVmLzB4NjEKIFs8ZmZmZmZmZmY4MTA5Y2U1Nz5d ID8gdm1hX2xpbmsrMHg5Yi8weGFkCiBbPGZmZmZmZmZmODEwOWU1YmU+XSA/IG1tYXBfcmVnaW9u KzB4M2ViLzB4NGQ5CiBbPGZmZmZmZmZmODEwOWU5ZDE+XSA/IGRvX21tYXBfcGdvZmYrMHgzMjUv MHgzODgKIFs8ZmZmZmZmZmY4MTE0YTJmMD5dID8gX191cF93cml0ZSsweDQyLzB4NDcKIFs8ZmZm ZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTU5OCwgY29tbTogcnBj LmlkbWFwZCBUYWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZm ZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZm ZmZmZmZmODExMmZkZWY+XSA/IG1sc19sZXZlbF9pc3ZhbGlkKzB4NTUvMHhhMwogWzxmZmZmZmZm ZjgxMDhlNWZiPl0gX19hbGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZm ODEwYWI4MGU+XSBhbGxvY19wYWdlc19jdXJyZW50KzB4YjkvMHhjMgogWzxmZmZmZmZmZjgxMDg4 N2FlPl0gX19wYWdlX2NhY2hlX2FsbG9jKzB4NjcvMHg2YwogWzxmZmZmZmZmZjgxMDkwMzU1Pl0g X19kb19wYWdlX2NhY2hlX3JlYWRhaGVhZCsweDhkLzB4MTYzCiBbPGZmZmZmZmZmODEwOTA0N2U+ XSBkb19wYWdlX2NhY2hlX3JlYWRhaGVhZCsweDUzLzB4NjAKIFs8ZmZmZmZmZmY4MTA4OGNmMj5d IGZpbGVtYXBfZmF1bHQrMHgxNjUvMHgzMjgKIFs8ZmZmZmZmZmY4MTA5NzM1ZT5dIF9fZG9fZmF1 bHQrMHg1NC8weDMxYwogWzxmZmZmZmZmZjgxMDk5MjQzPl0gaGFuZGxlX21tX2ZhdWx0KzB4M2Fk LzB4ODVkCiBbPGZmZmZmZmZmODEyYjkxZDA+XSA/IHRocmVhZF9yZXR1cm4rMHhhNi8weGQ0CiBb PGZmZmZmZmZmODEwNTc5MDc+XSA/IGdldG5zdGltZW9mZGF5KzB4M2EvMHg5NgogWzxmZmZmZmZm ZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQogWzxmZmZmZmZmZjgxMTQ4MjM2 Pl0gPyBwcmlvX3RyZWVfcmVtb3ZlKzB4YzIvMHhjYwogWzxmZmZmZmZmZjgxMDk0NTAyPl0gPyB2 bWFfcHJpb190cmVlX3JlbW92ZSsweDQyLzB4ZGQKIFs8ZmZmZmZmZmY4MTEyODQwYT5dID8gc2lk dGFiX3NlYXJjaCsweGIvMHhkCiBbPGZmZmZmZmZmODExMmM2MjA+XSA/IHNlY3VyaXR5X3Blcm1p c3NpdmVfc2lkKzB4M2QvMHg0OAogWzxmZmZmZmZmZjgxMTFkNWZiPl0gPyBhdmNfaGFzX3Blcm1f bm9hdWRpdCsweDJhYS8weDNmNgogWzxmZmZmZmZmZjgxMTQ4M2RlPl0gPyBwcmlvX3RyZWVfaW5z ZXJ0KzB4MTllLzB4MjJhCiBbPGZmZmZmZmZmODEwOTQ2NWE+XSA/IHZtYV9wcmlvX3RyZWVfaW5z ZXJ0KzB4MjMvMHhjMQogWzxmZmZmZmZmZjgxMDljNjUzPl0gPyBfX3ZtYV9saW5rX2ZpbGUrMHg1 Zi8weDYxCiBbPGZmZmZmZmZmODEwOWNlNTc+XSA/IHZtYV9saW5rKzB4OWIvMHhhZAogWzxmZmZm ZmZmZjgxMDllNWJlPl0gPyBtbWFwX3JlZ2lvbisweDNlYi8weDRkOQogWzxmZmZmZmZmZjgxMDll OWQxPl0gPyBkb19tbWFwX3Bnb2ZmKzB4MzI1LzB4Mzg4CiBbPGZmZmZmZmZmODExNGEyZjA+XSA/ IF9fdXBfd3JpdGUrMHg0Mi8weDQ3CiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4 MC8weDcwCgp3YXJuaW5nOiBgZGJ1cy1kYWVtb24nIHVzZXMgZGVwcmVjYXRlZCB2MiBjYXBhYmls aXRpZXMgaW4gYSB3YXkgdGhhdCBtYXkgYmUgaW5zZWN1cmUuClBpZDogMTY1NywgY29tbTogaGFs ZCBUYWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZm ODEwOTRkNDI+XSA/IHpvbmVfc3RhdGlzdGljcysweDYyLzB4NjcKIFs8ZmZmZmZmZmY4MTA4ZTAy MT5dIGdldF9wYWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4MTA4ZTVm Yj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMDI1M2M2 Pl0gPyBrdm1fbW11X3dyaXRlKzB4MmUvMHgzNQogWzxmZmZmZmZmZjgxMGFiOGQ4Pl0gYWxsb2Nf cGFnZV92bWErMHhjMS8weGM2CiBbPGZmZmZmZmZmODEwOTkwNDk+XSBoYW5kbGVfbW1fZmF1bHQr MHgxYjMvMHg4NWQKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhh YWUKIFs8ZmZmZmZmZmY4MTBiMjA5YT5dID8gdmlydF90b19oZWFkX3BhZ2UrMHgzMS8weDQxCiBb PGZmZmZmZmZmODEwYzkxMTg+XSA/IGRfZnJlZSsweDRlLzB4NjUKIFs8ZmZmZmZmZmY4MTBjOTE1 ZD5dID8gZF9raWxsKzB4MmUvMHg0MgogWzxmZmZmZmZmZjgxMGNmNTc1Pl0gPyBtbnRwdXRfbm9f ZXhwaXJlKzB4MzEvMHgxNDQKIFs8ZmZmZmZmZmY4MTBjMDQ1OT5dID8gbW50cHV0KzB4MTgvMHgx YQogWzxmZmZmZmZmZjgxMGMwNTZmPl0gPyBwYXRoX3B1dCsweDFkLzB4MjEKIFs8ZmZmZmZmZmY4 MTBjZjU3NT5dID8gbW50cHV0X25vX2V4cGlyZSsweDMxLzB4MTQ0CiBbPGZmZmZmZmZmODEyYmE4 MjI+XSA/IF9zcGluX2xvY2srMHg5LzB4YwogWzxmZmZmZmZmZjgxMDlkMzdmPl0gPyB2bWFfYWRq dXN0KzB4MzY2LzB4M2U2CiBbPGZmZmZmZmZmODEwOWRiNDU+XSA/IHZtYV9tZXJnZSsweDI4Zi8w eDMwNwogWzxmZmZmZmZmZjgxMTIzYThhPl0gPyBzZWxpbnV4X3ZtX2Vub3VnaF9tZW1vcnkrMHg2 Ni8weDZlCiBbPGZmZmZmZmZmODEwOWU1YmU+XSA/IG1tYXBfcmVnaW9uKzB4M2ViLzB4NGQ5CiBb PGZmZmZmZmZmODEwOWU5ZDE+XSA/IGRvX21tYXBfcGdvZmYrMHgzMjUvMHgzODgKIFs8ZmZmZmZm ZmY4MTE0YTJmMD5dID8gX191cF93cml0ZSsweDQyLzB4NDcKIFs8ZmZmZmZmZmY4MTJiYWIxYT5d IGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTc0MywgY29tbTogaGFsZC1wcm9iZS1zdG9yIFRh aW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTA4 ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4MTAy NTJkZj5dID8ga3ZtX2RlZmVycmVkX21tdV9vcCsweDViLzB4ZWQKIFs8ZmZmZmZmZmY4MTA4ZTVm Yj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMGFiOGQ4 Pl0gYWxsb2NfcGFnZV92bWErMHhjMS8weGM2CiBbPGZmZmZmZmZmODEwOTkwNDk+XSBoYW5kbGVf bW1fZmF1bHQrMHgxYjMvMHg4NWQKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQr MHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTA5ZTViZT5dID8gbW1hcF9yZWdpb24rMHgzZWIvMHg0 ZDkKIFs8ZmZmZmZmZmY4MTA5Y2RiOD5dID8gX192bWFfbGluaysweDY4LzB4NmMKIFs8ZmZmZmZm ZmY4MTA5Y2UzOT5dID8gdm1hX2xpbmsrMHg3ZC8weGFkCiBbPGZmZmZmZmZmODEwYjIwOWE+XSA/ IHZpcnRfdG9faGVhZF9wYWdlKzB4MzEvMHg0MQogWzxmZmZmZmZmZjgxMDE3MzcyPl0gPyBmcmVl X3RocmVhZF94c3RhdGUrMHgyNC8weDMzCiBbPGZmZmZmZmZmODEwYjIwOWE+XSA/IHZpcnRfdG9f aGVhZF9wYWdlKzB4MzEvMHg0MQogWzxmZmZmZmZmZjgxMmJhODIyPl0gPyBfc3Bpbl9sb2NrKzB4 OS8weGMKIFs8ZmZmZmZmZmY4MTA5ZDM3Zj5dID8gdm1hX2FkanVzdCsweDM2Ni8weDNlNgogWzxm ZmZmZmZmZjgxMDlkYjQ1Pl0gPyB2bWFfbWVyZ2UrMHgyOGYvMHgzMDcKIFs8ZmZmZmZmZmY4MTEy M2E4YT5dID8gc2VsaW51eF92bV9lbm91Z2hfbWVtb3J5KzB4NjYvMHg2ZQogWzxmZmZmZmZmZjgx MDllNWJlPl0gPyBtbWFwX3JlZ2lvbisweDNlYi8weDRkOQogWzxmZmZmZmZmZjgxMDE3OGJhPl0g PyBpbml0X2ZwdSsweDk1LzB4ZDYKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgw LzB4NzAKClBpZDogMTc0NSwgY29tbTogaGFsZC1ydW5uZXIgVGFpbnRlZDogRyBTICAgICAgICAy LjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDhlMDIxPl0gZ2V0X3BhZ2VfZnJv bV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgxMDhlNWZiPl0gX19hbGxvY19wYWdl c19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEwYWI4ZDg+XSBhbGxvY19wYWdlX3Zt YSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5Nzg2OT5dIGRvX3dwX3BhZ2UrMHgyNDMvMHg1NGIK IFs8ZmZmZmZmZmY4MTA5NzBkOT5dID8gcG1kX2FsbG9jKzB4NDEvMHg3YwogWzxmZmZmZmZmZjgx MDk5NjNhPl0gaGFuZGxlX21tX2ZhdWx0KzB4N2E0LzB4ODVkCiBbPGZmZmZmZmZmODEwNTRkZWU+ XSA/IGVucXVldWVfaHJ0aW1lcisweGQzLzB4ZTEKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3Bh Z2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTAzMzdjND5dID8gaHJ0aWNrX3N0YXJ0 X2ZhaXIrMHgxNDcvMHgxODIKIFs8ZmZmZmZmZmY4MTAzNGY0YT5dID8gZW5xdWV1ZV90YXNrX2Zh aXIrMHgxY2YvMHgxZGIKIFs8ZmZmZmZmZmY4MTE0OWM3ZD5dID8gcmJfaW5zZXJ0X2NvbG9yKzB4 NjkvMHhlNgogWzxmZmZmZmZmZjgxMTQ5YzdkPl0gPyByYl9pbnNlcnRfY29sb3IrMHg2OS8weGU2 CiBbPGZmZmZmZmZmODEwNTRkZWU+XSA/IGVucXVldWVfaHJ0aW1lcisweGQzLzB4ZTEKIFs8ZmZm ZmZmZmY4MTA1NTdiYT5dID8gaHJ0aW1lcl9zdGFydCsweDEyZS8weDE1MAogWzxmZmZmZmZmZjgx MDU1OTg3Pl0gPyBrdGltZV9nZXRfdHMrMHg0OS8weDRlCiBbPGZmZmZmZmZmODEwMzM3YzQ+XSA/ IGhydGlja19zdGFydF9mYWlyKzB4MTQ3LzB4MTgyCiBbPGZmZmZmZmZmODEwMzM4OTI+XSA/IHBp Y2tfbmV4dF90YXNrX2ZhaXIrMHg5My8weGEzCiBbPGZmZmZmZmZmODEwMzg3MmQ+XSA/IHN3aXRj aF9tbSsweDU1LzB4YzkKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dID8gZXJyb3JfZXhpdCsweDAvMHg3 MAogWzxmZmZmZmZmZjgxMTRjZDZkPl0gPyBfX3B1dF91c2VyXzQrMHgxZC8weDMwCiBbPGZmZmZm ZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE3NDUsIGNvbW06IGhhbC1h Y2wtdG9vbCBUYWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZm ZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZm ZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZm ZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk3 M2IyPl0gX19kb19mYXVsdCsweGE4LzB4MzFjCiBbPGZmZmZmZmZmODEwMjU0NDE+XSA/IGt2bV9z ZXRfcG1kKzB4MjIvMHgyYgogWzxmZmZmZmZmZjgxMDJkNGZhPl0gPyBwdGVfYWxsb2Nfb25lKzB4 MzEvMHgzYgogWzxmZmZmZmZmZjgxMDk5MjQzPl0gaGFuZGxlX21tX2ZhdWx0KzB4M2FkLzB4ODVk CiBbPGZmZmZmZmZmODExMWZhZWM+XSA/IGlub2RlX2hhc19wZXJtKzB4NWIvMHg2MQogWzxmZmZm ZmZmZjgxMGNhNDg0Pl0gPyBfX2RfbG9va3VwKzB4ZDYvMHgxMTcKIFs8ZmZmZmZmZmY4MTJiZDE0 ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTA5NmFkND5dID8gcG1k X25vbmVfb3JfY2xlYXJfYmFkKzB4MTQvMHg1MwogWzxmZmZmZmZmZjgxMTQ4MjM2Pl0gPyBwcmlv X3RyZWVfcmVtb3ZlKzB4YzIvMHhjYwogWzxmZmZmZmZmZjgxMDk0NTAyPl0gPyB2bWFfcHJpb190 cmVlX3JlbW92ZSsweDQyLzB4ZGQKIFs8ZmZmZmZmZmY4MTEyODQwYT5dID8gc2lkdGFiX3NlYXJj aCsweGIvMHhkCiBbPGZmZmZmZmZmODExMmM2MjA+XSA/IHNlY3VyaXR5X3Blcm1pc3NpdmVfc2lk KzB4M2QvMHg0OAogWzxmZmZmZmZmZjgxMTFkNWZiPl0gPyBhdmNfaGFzX3Blcm1fbm9hdWRpdCsw eDJhYS8weDNmNgogWzxmZmZmZmZmZjgxMmJhODIyPl0gPyBfc3Bpbl9sb2NrKzB4OS8weGMKIFs8 ZmZmZmZmZmY4MTA5NDYyMz5dID8gdm1hX3ByaW9fdHJlZV9hZGQrMHg4Ni8weDlhCiBbPGZmZmZm ZmZmODEwOTQ2NmI+XSA/IHZtYV9wcmlvX3RyZWVfaW5zZXJ0KzB4MzQvMHhjMQogWzxmZmZmZmZm ZjgxMDljNjUzPl0gPyBfX3ZtYV9saW5rX2ZpbGUrMHg1Zi8weDYxCiBbPGZmZmZmZmZmODEwOWNl NTc+XSA/IHZtYV9saW5rKzB4OWIvMHhhZAogWzxmZmZmZmZmZjgxMDllNWJlPl0gPyBtbWFwX3Jl Z2lvbisweDNlYi8weDRkOQogWzxmZmZmZmZmZjgxMDllOWQxPl0gPyBkb19tbWFwX3Bnb2ZmKzB4 MzI1LzB4Mzg4CiBbPGZmZmZmZmZmODExNGEyZjA+XSA/IF9fdXBfd3JpdGUrMHg0Mi8weDQ3CiBb PGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE3NDYsIGNvbW06 IGhhbGQtcnVubmVyIFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFjZToK IFs8ZmZmZmZmZmY4MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIvMHg2NwogWzxmZmZm ZmZmZjgxMDhlMDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZm ZmZmZjgxMDhlNWZiPl0gX19hbGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZm ZmZmODEwMjUzYzY+XSA/IGt2bV9tbXVfd3JpdGUrMHgyZS8weDM1CiBbPGZmZmZmZmZmODEwYWI4 ZDg+XSBhbGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5Nzg2OT5dIGRvX3dw X3BhZ2UrMHgyNDMvMHg1NGIKIFs8ZmZmZmZmZmY4MTA5NzBkOT5dID8gcG1kX2FsbG9jKzB4NDEv MHg3YwogWzxmZmZmZmZmZjgxMDk5NjNhPl0gaGFuZGxlX21tX2ZhdWx0KzB4N2E0LzB4ODVkCiBb PGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZm ODExMWRmMzM+XSA/IGF2Y19oYXNfcGVybSsweDRlLzB4NjAKIFs8ZmZmZmZmZmY4MTExZmFlYz5d ID8gaW5vZGVfaGFzX3Blcm0rMHg1Yi8weDYxCiBbPGZmZmZmZmZmODExMWZhZWM+XSA/IGlub2Rl X2hhc19wZXJtKzB4NWIvMHg2MQogWzxmZmZmZmZmZjgxMTFiMTA5Pl0gPyBzZWN1cml0eV9kZW50 cnlfb3BlbisweDExLzB4MTMKIFs8ZmZmZmZmZmY4MTBiN2EwZT5dID8gX19kZW50cnlfb3Blbisw eDE2Mi8weDI0OQogWzxmZmZmZmZmZjgxMTFmZmU1Pl0gPyBkZW50cnlfaGFzX3Blcm0rMHg0NC8w eDRiCiBbPGZmZmZmZmZmODEwYjdiYWI+XSA/IG5hbWVpZGF0YV90b19maWxwKzB4MmUvMHg0MAog WzxmZmZmZmZmZjgxMGJjNDMwPl0gPyBjcF9uZXdfc3RhdCsweGUyLzB4ZWYKIFs8ZmZmZmZmZmY4 MTBiYzYyZj5dID8gc3lzX25ld2ZzdGF0KzB4MjkvMHgzNAogWzxmZmZmZmZmZjgxMmJhYjFhPl0g ZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxNjYxLCBjb21tOiBoYWxkLXJ1bm5lciBUYWludGVk OiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwOGUwMjE+ XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOTEyZjc+ XSA/IG1hcmtfcGFnZV9hY2Nlc3NlZCsweDVhLzB4NjYKIFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9f YWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMDk3YWYyPl0gPyBk b193cF9wYWdlKzB4NGNjLzB4NTRiCiBbPGZmZmZmZmZmODEwYWI4ZDg+XSBhbGxvY19wYWdlX3Zt YSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5OTA0OT5dIGhhbmRsZV9tbV9mYXVsdCsweDFiMy8w eDg1ZAogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQogWzxm ZmZmZmZmZjgxMTFkZjMzPl0gPyBhdmNfaGFzX3Blcm0rMHg0ZS8weDYwCiBbPGZmZmZmZmZmODEx MWYyNmI+XSA/IHNvY2tldF9oYXNfcGVybSsweDU5LzB4NWIKIFs8ZmZmZmZmZmY4MTJiOTJmND5d ID8gX2NvbmRfcmVzY2hlZCsweDkvMHgzOAogWzxmZmZmZmZmZjgxMjJjZmJjPl0gPyBfX3NvY2tf cmVjdm1zZysweDZkLzB4N2EKIFs8ZmZmZmZmZmY4MTIyZDBiOT5dID8gc29ja19haW9fcmVhZCsw eGYwLzB4MTAwCiBbPGZmZmZmZmZmODEwYjkxODU+XSA/IGRvX3N5bmNfcmVhZCsweGU3LzB4MTJk CiBbPGZmZmZmZmZmODEwY2MzMTA+XSA/IGRlc3Ryb3lfaW5vZGUrMHg0Yi8weDRmCiBbPGZmZmZm ZmZmODEwNTI5ZTU+XSA/IGF1dG9yZW1vdmVfd2FrZV9mdW5jdGlvbisweDAvMHgzOAogWzxmZmZm ZmZmZjgxMmJhODIyPl0gPyBfc3Bpbl9sb2NrKzB4OS8weGMKIFs8ZmZmZmZmZmY4MTBiOGNiOD5d ID8gZnNub3RpZnlfYWNjZXNzKzB4NjIvMHg2YQogWzxmZmZmZmZmZjgxMGI5YjI3Pl0gPyB2ZnNf cmVhZCsweGNkLzB4MTAyCiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcw CgpQaWQ6IDE3NjUsIGNvbW06IFM1NXNzaGQgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3 CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2 Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2Qw LzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUv MHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxm ZmZmZmZmZjgxMDk3ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8weDU0YgogWzxmZmZmZmZmZjgxMDk3 MGQ5Pl0gPyBwbWRfYWxsb2MrMHg0MS8weDdjCiBbPGZmZmZmZmZmODEwOTk2M2E+XSBoYW5kbGVf bW1fZmF1bHQrMHg3YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQr MHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dID8gZXJyb3JfZXhpdCsweDAvMHg3MAog WzxmZmZmZmZmZjgxMmJhNzc4Pl0gPyBfc3Bpbl9sb2NrX2lycSsweDExLzB4MTQKIFs8ZmZmZmZm ZmY4MTA0OWE5ZD5dID8gZG9fc2lnYWN0aW9uKzB4MTU4LzB4MTc5CiBbPGZmZmZmZmZmODEyYmFi MWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE3NjcsIGNvbW06IHNzaGQgVGFpbnRlZDog RyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0g PyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFn ZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9j X3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjgwZT5dIGFsbG9jX3Bh Z2VzX2N1cnJlbnQrMHhiOS8weGMyCiBbPGZmZmZmZmZmODEwODg3YWU+XSBfX3BhZ2VfY2FjaGVf YWxsb2MrMHg2Ny8weDZjCiBbPGZmZmZmZmZmODEwOTAzNTU+XSBfX2RvX3BhZ2VfY2FjaGVfcmVh ZGFoZWFkKzB4OGQvMHgxNjMKIFs8ZmZmZmZmZmY4MTA5MDQ3ZT5dIGRvX3BhZ2VfY2FjaGVfcmVh ZGFoZWFkKzB4NTMvMHg2MAogWzxmZmZmZmZmZjgxMDg4Y2YyPl0gZmlsZW1hcF9mYXVsdCsweDE2 NS8weDMyOAogWzxmZmZmZmZmZjgxMDk3MzVlPl0gX19kb19mYXVsdCsweDU0LzB4MzFjCiBbPGZm ZmZmZmZmODEwMjUzYzY+XSA/IGt2bV9tbXVfd3JpdGUrMHgyZS8weDM1CiBbPGZmZmZmZmZmODEw OTkyNDM+XSBoYW5kbGVfbW1fZmF1bHQrMHgzYWQvMHg4NWQKIFs8ZmZmZmZmZmY4MTJiOTFkMD5d ID8gdGhyZWFkX3JldHVybisweGE2LzB4ZDQKIFs8ZmZmZmZmZmY4MTA1NzkwNz5dID8gZ2V0bnN0 aW1lb2ZkYXkrMHgzYS8weDk2CiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4 NjY1LzB4YWFlCiBbPGZmZmZmZmZmODExNDgzZGU+XSA/IHByaW9fdHJlZV9pbnNlcnQrMHgxOWUv MHgyMmEKIFs8ZmZmZmZmZmY4MTA5NDUwMj5dID8gdm1hX3ByaW9fdHJlZV9yZW1vdmUrMHg0Mi8w eGRkCiBbPGZmZmZmZmZmODExMjg0MGE+XSA/IHNpZHRhYl9zZWFyY2grMHhiLzB4ZAogWzxmZmZm ZmZmZjgxMTJjNjIwPl0gPyBzZWN1cml0eV9wZXJtaXNzaXZlX3NpZCsweDNkLzB4NDgKIFs8ZmZm ZmZmZmY4MTExZDVmYj5dID8gYXZjX2hhc19wZXJtX25vYXVkaXQrMHgyYWEvMHgzZjYKIFs8ZmZm ZmZmZmY4MTJiYTgyMj5dID8gX3NwaW5fbG9jaysweDkvMHhjCiBbPGZmZmZmZmZmODEwOTQ2NWE+ XSA/IHZtYV9wcmlvX3RyZWVfaW5zZXJ0KzB4MjMvMHhjMQogWzxmZmZmZmZmZjgxMDljNjUzPl0g PyBfX3ZtYV9saW5rX2ZpbGUrMHg1Zi8weDYxCiBbPGZmZmZmZmZmODEwOWNlNTc+XSA/IHZtYV9s aW5rKzB4OWIvMHhhZAogWzxmZmZmZmZmZjgxMDllNWJlPl0gPyBtbWFwX3JlZ2lvbisweDNlYi8w eDRkOQogWzxmZmZmZmZmZjgxMDllOWQxPl0gPyBkb19tbWFwX3Bnb2ZmKzB4MzI1LzB4Mzg4CiBb PGZmZmZmZmZmODExNGEyZjA+XSA/IF9fdXBfd3JpdGUrMHg0Mi8weDQ3CiBbPGZmZmZmZmZmODEy YmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE4NTAsIGNvbW06IHVkZXZkIFRhaW50 ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTA5NGQ0 Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIvMHg2NwogWzxmZmZmZmZmZjgxMDhlMDIxPl0gZ2V0 X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgxMDI1MmRmPl0gPyBr dm1fZGVmZXJyZWRfbW11X29wKzB4NWIvMHhlZAogWzxmZmZmZmZmZjgxMDhlNWZiPl0gX19hbGxv Y19wYWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEwMjUzYzY+XSA/IGt2bV9t bXVfd3JpdGUrMHgyZS8weDM1CiBbPGZmZmZmZmZmODEwYWI4ZDg+XSBhbGxvY19wYWdlX3ZtYSsw eGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5OTA0OT5dIGhhbmRsZV9tbV9mYXVsdCsweDFiMy8weDg1 ZAogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQogWzxmZmZm ZmZmZjgxMGM5MTVkPl0gPyBkX2tpbGwrMHgyZS8weDQyCiBbPGZmZmZmZmZmODEwY2Y1NzU+XSA/ IG1udHB1dF9ub19leHBpcmUrMHgzMS8weDE0NAogWzxmZmZmZmZmZjgxMGMwNDU5Pl0gPyBtbnRw dXQrMHgxOC8weDFhCiBbPGZmZmZmZmZmODEwYzA1NmY+XSA/IHBhdGhfcHV0KzB4MWQvMHgyMQog WzxmZmZmZmZmZjgxMGNmNTc1Pl0gPyBtbnRwdXRfbm9fZXhwaXJlKzB4MzEvMHgxNDQKIFs8ZmZm ZmZmZmY4MTBiMjA5YT5dID8gdmlydF90b19oZWFkX3BhZ2UrMHgzMS8weDQxCiBbPGZmZmZmZmZm ODEwNTRkZWU+XSA/IGVucXVldWVfaHJ0aW1lcisweGQzLzB4ZTEKIFs8ZmZmZmZmZmY4MTJiYTgy Mj5dID8gX3NwaW5fbG9jaysweDkvMHhjCiBbPGZmZmZmZmZmODEwOWQzN2Y+XSA/IHZtYV9hZGp1 c3QrMHgzNjYvMHgzZTYKIFs8ZmZmZmZmZmY4MTA5ZGE4ND5dID8gdm1hX21lcmdlKzB4MWNlLzB4 MzA3CiBbPGZmZmZmZmZmODEwMzM4OTI+XSA/IHBpY2tfbmV4dF90YXNrX2ZhaXIrMHg5My8weGEz CiBbPGZmZmZmZmZmODEwOWRmZjk+XSA/IGRvX2JyaysweDI1YS8weDMyMAogWzxmZmZmZmZmZjgx MTRhMmYwPl0gPyBfX3VwX3dyaXRlKzB4NDIvMHg0NwogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJy b3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxNTIxLCBjb21tOiByc3lzbG9nZCBUYWludGVkOiBHIFMg ICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRf cGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2Fs bG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmZhMDAzNGIzOD5dID8gZXh0 M19tYXJrX2lsb2NfZGlydHkrMHgyYjQvMHgzMWYgW2V4dDNdCiBbPGZmZmZmZmZmODEwYWI4MGU+ XSBhbGxvY19wYWdlc19jdXJyZW50KzB4YjkvMHhjMgogWzxmZmZmZmZmZjgxMDg4N2FlPl0gX19w YWdlX2NhY2hlX2FsbG9jKzB4NjcvMHg2YwogWzxmZmZmZmZmZjgxMDg4OGM1Pl0gX19ncmFiX2Nh Y2hlX3BhZ2UrMHgzOS8weDdiCiBbPGZmZmZmZmZmYTAwMzY0Mjk+XSBleHQzX3dyaXRlX2JlZ2lu KzB4NjUvMHgxYTQgW2V4dDNdCiBbPGZmZmZmZmZmODEwODkzNTg+XSBnZW5lcmljX2ZpbGVfYnVm ZmVyZWRfd3JpdGUrMHgxNGIvMHg2MzgKIFs8ZmZmZmZmZmY4MTBkMDYyMj5dID8gbW50X2Ryb3Bf d3JpdGUrMHg4Mi8weDE0MwogWzxmZmZmZmZmZjgxMGNlOTRkPl0gPyBtbnRfd2FudF93cml0ZSsw eDc3LzB4OGQKIFs8ZmZmZmZmZmY4MTA4OWM1OT5dIF9fZ2VuZXJpY19maWxlX2Fpb193cml0ZV9u b2xvY2srMHgyNWUvMHgyOTIKIFs8ZmZmZmZmZmY4MTA4YTQwYj5dIGdlbmVyaWNfZmlsZV9haW9f d3JpdGUrMHg2Ny8weGMzCiBbPGZmZmZmZmZmYTAwMzM0MTc+XSBleHQzX2ZpbGVfd3JpdGUrMHgx ZS8weDlmIFtleHQzXQogWzxmZmZmZmZmZjgxMGI5MDU4Pl0gZG9fc3luY193cml0ZSsweGU3LzB4 MTJkCiBbPGZmZmZmZmZmODEwMzM3YzQ+XSA/IGhydGlja19zdGFydF9mYWlyKzB4MTQ3LzB4MTgy CiBbPGZmZmZmZmZmODEwNTI5ZTU+XSA/IGF1dG9yZW1vdmVfd2FrZV9mdW5jdGlvbisweDAvMHgz OAogWzxmZmZmZmZmZjgxMDMxYmE1Pl0gPyBwaWNrX25leHRfdGFzaysweDI1LzB4NDEKIFs8ZmZm ZmZmZmY4MTEyMjFjZT5dID8gc2VsaW51eF9maWxlX3Blcm1pc3Npb24rMHhhZi8weGI4CiBbPGZm ZmZmZmZmODExMWIwMzg+XSA/IHNlY3VyaXR5X2ZpbGVfcGVybWlzc2lvbisweDExLzB4MTMKIFs8 ZmZmZmZmZmY4MTBiOTkxND5dIHZmc193cml0ZSsweGFiLzB4MTA1CiBbPGZmZmZmZmZmODEwYjlh MzI+XSBzeXNfd3JpdGUrMHg0Ny8weDZmCiBbPGZmZmZmZmZmODEwMTAxZGE+XSBzeXN0ZW1fY2Fs bF9mYXN0cGF0aCsweDE2LzB4MWIKClBpZDogMTg1OCwgY29tbTogdWRldmQgVGFpbnRlZDogRyBT ICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6 b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9m cm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3Bh Z2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTAyNTNjNj5dID8ga3ZtX21tdV93 cml0ZSsweDJlLzB4MzUKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEv MHhjNgogWzxmZmZmZmZmZjgxMDk5MDQ5Pl0gaGFuZGxlX21tX2ZhdWx0KzB4MWIzLzB4ODVkCiBb PGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZm ODEwYzkxNWQ+XSA/IGRfa2lsbCsweDJlLzB4NDIKIFs8ZmZmZmZmZmY4MTBjZjU3NT5dID8gbW50 cHV0X25vX2V4cGlyZSsweDMxLzB4MTQ0CiBbPGZmZmZmZmZmODEwYzA0NTk+XSA/IG1udHB1dCsw eDE4LzB4MWEKIFs8ZmZmZmZmZmY4MTBjMDU2Zj5dID8gcGF0aF9wdXQrMHgxZC8weDIxCiBbPGZm ZmZmZmZmODEwY2Y1NzU+XSA/IG1udHB1dF9ub19leHBpcmUrMHgzMS8weDE0NAogWzxmZmZmZmZm ZjgxMGIyMDlhPl0gPyB2aXJ0X3RvX2hlYWRfcGFnZSsweDMxLzB4NDEKIFs8ZmZmZmZmZmY4MTA1 NGRlZT5dID8gZW5xdWV1ZV9ocnRpbWVyKzB4ZDMvMHhlMQogWzxmZmZmZmZmZjgxMDU1N2JhPl0g PyBocnRpbWVyX3N0YXJ0KzB4MTJlLzB4MTUwCiBbPGZmZmZmZmZmODEwNTU5ODc+XSA/IGt0aW1l X2dldF90cysweDQ5LzB4NGUKIFs8ZmZmZmZmZmY4MTAzMzdjND5dID8gaHJ0aWNrX3N0YXJ0X2Zh aXIrMHgxNDcvMHgxODIKIFs8ZmZmZmZmZmY4MTAzMzg5Mj5dID8gcGlja19uZXh0X3Rhc2tfZmFp cisweDkzLzB4YTMKIFs8ZmZmZmZmZmY4MTAzMWJhNT5dID8gcGlja19uZXh0X3Rhc2srMHgyNS8w eDQxCiBbPGZmZmZmZmZmODEyYjkxZDA+XSA/IHRocmVhZF9yZXR1cm4rMHhhNi8weGQ0CiBbPGZm ZmZmZmZmODExNGEyZjA+XSA/IF9fdXBfd3JpdGUrMHg0Mi8weDQ3CiBbPGZmZmZmZmZmODEyYmFi MWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE4NjAsIGNvbW06IHVkZXZkIFRhaW50ZWQ6 IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTA5NGQ0Mj5d ID8gem9uZV9zdGF0aXN0aWNzKzB4NjIvMHg2NwogWzxmZmZmZmZmZjgxMDhlMDIxPl0gZ2V0X3Bh Z2VfZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgxMDhlNWZiPl0gX19hbGxv Y19wYWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEwOTdhZjI+XSA/IGRvX3dw X3BhZ2UrMHg0Y2MvMHg1NGIKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4 YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk5MDQ5Pl0gaGFuZGxlX21tX2ZhdWx0KzB4MWIzLzB4ODVk CiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1LzB4YWFlCiBbPGZmZmZm ZmZmODEwYzkxNWQ+XSA/IGRfa2lsbCsweDJlLzB4NDIKIFs8ZmZmZmZmZmY4MTBjZjU3NT5dID8g bW50cHV0X25vX2V4cGlyZSsweDMxLzB4MTQ0CiBbPGZmZmZmZmZmODEwYzA0NTk+XSA/IG1udHB1 dCsweDE4LzB4MWEKIFs8ZmZmZmZmZmY4MTBjMDU2Zj5dID8gcGF0aF9wdXQrMHgxZC8weDIxCiBb PGZmZmZmZmZmODEwY2Y1NzU+XSA/IG1udHB1dF9ub19leHBpcmUrMHgzMS8weDE0NAogWzxmZmZm ZmZmZjgxMGIyMDlhPl0gPyB2aXJ0X3RvX2hlYWRfcGFnZSsweDMxLzB4NDEKIFs8ZmZmZmZmZmY4 MTA1NGRlZT5dID8gZW5xdWV1ZV9ocnRpbWVyKzB4ZDMvMHhlMQogWzxmZmZmZmZmZjgxMDU1N2Jh Pl0gPyBocnRpbWVyX3N0YXJ0KzB4MTJlLzB4MTUwCiBbPGZmZmZmZmZmODEwNTU5ODc+XSA/IGt0 aW1lX2dldF90cysweDQ5LzB4NGUKIFs8ZmZmZmZmZmY4MTAzMzdjND5dID8gaHJ0aWNrX3N0YXJ0 X2ZhaXIrMHgxNDcvMHgxODIKIFs8ZmZmZmZmZmY4MTAzMzg5Mj5dID8gcGlja19uZXh0X3Rhc2tf ZmFpcisweDkzLzB4YTMKIFs8ZmZmZmZmZmY4MTAzMWJhNT5dID8gcGlja19uZXh0X3Rhc2srMHgy NS8weDQxCiBbPGZmZmZmZmZmODEyYjkxZDA+XSA/IHRocmVhZF9yZXR1cm4rMHhhNi8weGQ0CiBb PGZmZmZmZmZmODExNGEyZjA+XSA/IF9fdXBfd3JpdGUrMHg0Mi8weDQ3CiBbPGZmZmZmZmZmODEy YmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE4NjEsIGNvbW06IHVkZXZkIFRhaW50 ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTA5NGQ0 Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIvMHg2NwogWzxmZmZmZmZmZjgxMDhlMDIxPl0gZ2V0 X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgxMDhlNWZiPl0gX19h bGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEwMjUzYzY+XSA/IGt2 bV9tbXVfd3JpdGUrMHgyZS8weDM1CiBbPGZmZmZmZmZmODEwYWI4ZDg+XSBhbGxvY19wYWdlX3Zt YSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5OTA0OT5dIGhhbmRsZV9tbV9mYXVsdCsweDFiMy8w eDg1ZAogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQogWzxm ZmZmZmZmZjgxMGM5MTVkPl0gPyBkX2tpbGwrMHgyZS8weDQyCiBbPGZmZmZmZmZmODEwY2Y1NzU+ XSA/IG1udHB1dF9ub19leHBpcmUrMHgzMS8weDE0NAogWzxmZmZmZmZmZjgxMGMwNDU5Pl0gPyBt bnRwdXQrMHgxOC8weDFhCiBbPGZmZmZmZmZmODEwYzA1NmY+XSA/IHBhdGhfcHV0KzB4MWQvMHgy MQogWzxmZmZmZmZmZjgxMGNmNTc1Pl0gPyBtbnRwdXRfbm9fZXhwaXJlKzB4MzEvMHgxNDQKIFs8 ZmZmZmZmZmY4MTBiMjA5YT5dID8gdmlydF90b19oZWFkX3BhZ2UrMHgzMS8weDQxCiBbPGZmZmZm ZmZmODEwNTRkZWU+XSA/IGVucXVldWVfaHJ0aW1lcisweGQzLzB4ZTEKIFs8ZmZmZmZmZmY4MTJi YTgyMj5dID8gX3NwaW5fbG9jaysweDkvMHhjCiBbPGZmZmZmZmZmODEwOWQzN2Y+XSA/IHZtYV9h ZGp1c3QrMHgzNjYvMHgzZTYKIFs8ZmZmZmZmZmY4MTA5ZGE4ND5dID8gdm1hX21lcmdlKzB4MWNl LzB4MzA3CiBbPGZmZmZmZmZmODEwMzM4OTI+XSA/IHBpY2tfbmV4dF90YXNrX2ZhaXIrMHg5My8w eGEzCiBbPGZmZmZmZmZmODEwOWRmZjk+XSA/IGRvX2JyaysweDI1YS8weDMyMAogWzxmZmZmZmZm ZjgxMTRhMmYwPl0gPyBfX3VwX3dyaXRlKzB4NDIvMHg0NwogWzxmZmZmZmZmZjgxMmJhYjFhPl0g ZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxODYyLCBjb21tOiB1ZGV2ZCBUYWludGVkOiBHIFMg ICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpv bmVfc3RhdGlzdGljcysweDYyLzB4NjcKIFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zy b21fZnJlZWxpc3QrMHgzZDAvMHg2NzQKIFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2NfcGFn ZXNfaW50ZXJuYWwrMHhmZS8weDQ1NwogWzxmZmZmZmZmZjgxMDI1M2M2Pl0gPyBrdm1fbW11X3dy aXRlKzB4MmUvMHgzNQogWzxmZmZmZmZmZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhjMS8w eGM2CiBbPGZmZmZmZmZmODEwOTkwNDk+XSBoYW5kbGVfbW1fZmF1bHQrMHgxYjMvMHg4NWQKIFs8 ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4 MTBjOTE1ZD5dID8gZF9raWxsKzB4MmUvMHg0MgogWzxmZmZmZmZmZjgxMGNmNTc1Pl0gPyBtbnRw dXRfbm9fZXhwaXJlKzB4MzEvMHgxNDQKIFs8ZmZmZmZmZmY4MTBjMDQ1OT5dID8gbW50cHV0KzB4 MTgvMHgxYQogWzxmZmZmZmZmZjgxMGMwNTZmPl0gPyBwYXRoX3B1dCsweDFkLzB4MjEKIFs8ZmZm ZmZmZmY4MTBjZjU3NT5dID8gbW50cHV0X25vX2V4cGlyZSsweDMxLzB4MTQ0CiBbPGZmZmZmZmZm ODEwYjIwOWE+XSA/IHZpcnRfdG9faGVhZF9wYWdlKzB4MzEvMHg0MQogWzxmZmZmZmZmZjgxMDU0 ZGVlPl0gPyBlbnF1ZXVlX2hydGltZXIrMHhkMy8weGUxCiBbPGZmZmZmZmZmODEyYmE4MjI+XSA/ IF9zcGluX2xvY2srMHg5LzB4YwogWzxmZmZmZmZmZjgxMDlkMzdmPl0gPyB2bWFfYWRqdXN0KzB4 MzY2LzB4M2U2CiBbPGZmZmZmZmZmODEwOWRhODQ+XSA/IHZtYV9tZXJnZSsweDFjZS8weDMwNwog WzxmZmZmZmZmZjgxMDMzODkyPl0gPyBwaWNrX25leHRfdGFza19mYWlyKzB4OTMvMHhhMwogWzxm ZmZmZmZmZjgxMDlkZmY5Pl0gPyBkb19icmsrMHgyNWEvMHgzMjAKIFs8ZmZmZmZmZmY4MTE0YTJm MD5dID8gX191cF93cml0ZSsweDQyLzB4NDcKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4 aXQrMHgwLzB4NzAKClBpZDogMTg2NCwgY29tbTogdWRldmQgVGFpbnRlZDogRyBTICAgICAgICAy LjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRp c3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVs aXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVy bmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTAyNTNjNj5dID8ga3ZtX21tdV93cml0ZSsweDJl LzB4MzUKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxm ZmZmZmZmZjgxMDk3ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8weDU0YgogWzxmZmZmZmZmZjgxMDk3 MGQ5Pl0gPyBwbWRfYWxsb2MrMHg0MS8weDdjCiBbPGZmZmZmZmZmODEwOTk2M2E+XSBoYW5kbGVf bW1fZmF1bHQrMHg3YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTA4YzgyNT5dID8gX19mcmVlX29uZV9w YWdlKzB4MWUwLzB4MjQ2CiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1 LzB4YWFlCiBbPGZmZmZmZmZmODEwNTU5ODc+XSA/IGt0aW1lX2dldF90cysweDQ5LzB4NGUKIFs8 ZmZmZmZmZmY4MTA1YTIyZD5dID8gY2xvY2tldmVudHNfcHJvZ3JhbV9ldmVudCsweDczLzB4N2MK IFs8ZmZmZmZmZmY4MTA1YjI3Mj5dID8gdGlja19kZXZfcHJvZ3JhbV9ldmVudCsweDM3LzB4YTUK IFs8ZmZmZmZmZmY4MTA1YjMzNT5dID8gdGlja19wcm9ncmFtX2V2ZW50KzB4MjUvMHgyNwogWzxm ZmZmZmZmZjgxMDU0Y2ZjPl0gPyBocnRpbWVyX3JlcHJvZ3JhbSsweDdlLzB4OWQKIFs8ZmZmZmZm ZmY4MTA1NGRlZT5dID8gZW5xdWV1ZV9ocnRpbWVyKzB4ZDMvMHhlMQogWzxmZmZmZmZmZjgxMDU1 N2JhPl0gPyBocnRpbWVyX3N0YXJ0KzB4MTJlLzB4MTUwCiBbPGZmZmZmZmZmODEwNTU5ODc+XSA/ IGt0aW1lX2dldF90cysweDQ5LzB4NGUKIFs8ZmZmZmZmZmY4MTA1NGRlZT5dID8gZW5xdWV1ZV9o cnRpbWVyKzB4ZDMvMHhlMQogWzxmZmZmZmZmZjgxMDU1N2JhPl0gPyBocnRpbWVyX3N0YXJ0KzB4 MTJlLzB4MTUwCiBbPGZmZmZmZmZmODEwNTU5ODc+XSA/IGt0aW1lX2dldF90cysweDQ5LzB4NGUK IFs8ZmZmZmZmZmY4MTE0OWNkMT5dID8gcmJfaW5zZXJ0X2NvbG9yKzB4YmQvMHhlNgogWzxmZmZm ZmZmZjgxMDU0ZGVlPl0gPyBlbnF1ZXVlX2hydGltZXIrMHhkMy8weGUxCiBbPGZmZmZmZmZmODEw NTU3YmE+XSA/IGhydGltZXJfc3RhcnQrMHgxMmUvMHgxNTAKIFs8ZmZmZmZmZmY4MTA0MzhmMj5d ID8gZG9fc2V0aXRpbWVyKzB4MTg5LzB4MzM4CiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9l eGl0KzB4MC8weDcwCgpQaWQ6IDE4NjUsIGNvbW06IHVkZXZkIFRhaW50ZWQ6IEcgUyAgICAgICAg Mi42LjI3ICMxNwoKQ2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTA5NGQ0Mj5dID8gem9uZV9zdGF0 aXN0aWNzKzB4NjIvMHg2NwogWzxmZmZmZmZmZjgxMDhlMDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVl bGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgxMDhlNWZiPl0gX19hbGxvY19wYWdlc19pbnRl cm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEwMjUzYzY+XSA/IGt2bV9tbXVfd3JpdGUrMHgy ZS8weDM1CiBbPGZmZmZmZmZmODEwYWI4ZDg+XSBhbGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8 ZmZmZmZmZmY4MTA5OTA0OT5dIGhhbmRsZV9tbV9mYXVsdCsweDFiMy8weDg1ZAogWzxmZmZmZmZm ZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2NS8weGFhZQogWzxmZmZmZmZmZjgxMGM5MTVk Pl0gPyBkX2tpbGwrMHgyZS8weDQyCiBbPGZmZmZmZmZmODEwY2Y1NzU+XSA/IG1udHB1dF9ub19l eHBpcmUrMHgzMS8weDE0NAogWzxmZmZmZmZmZjgxMGMwNDU5Pl0gPyBtbnRwdXQrMHgxOC8weDFh CiBbPGZmZmZmZmZmODEwYzA1NmY+XSA/IHBhdGhfcHV0KzB4MWQvMHgyMQogWzxmZmZmZmZmZjgx MGNmNTc1Pl0gPyBtbnRwdXRfbm9fZXhwaXJlKzB4MzEvMHgxNDQKIFs8ZmZmZmZmZmY4MTBiMjA5 YT5dID8gdmlydF90b19oZWFkX3BhZ2UrMHgzMS8weDQxCiBbPGZmZmZmZmZmODExNDljN2Q+XSA/ IHJiX2luc2VydF9jb2xvcisweDY5LzB4ZTYKIFs8ZmZmZmZmZmY4MTA1NGRlZT5dID8gZW5xdWV1 ZV9ocnRpbWVyKzB4ZDMvMHhlMQogWzxmZmZmZmZmZjgxMmJhODIyPl0gPyBfc3Bpbl9sb2NrKzB4 OS8weGMKIFs8ZmZmZmZmZmY4MTA5ZDM3Zj5dID8gdm1hX2FkanVzdCsweDM2Ni8weDNlNgogWzxm ZmZmZmZmZjgxMDlkYTg0Pl0gPyB2bWFfbWVyZ2UrMHgxY2UvMHgzMDcKIFs8ZmZmZmZmZmY4MTA5 ZGZmOT5dID8gZG9fYnJrKzB4MjVhLzB4MzIwCiBbPGZmZmZmZmZmODExNGEyZjA+XSA/IF9fdXBf d3JpdGUrMHg0Mi8weDQ3CiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcw CgpQaWQ6IDE4NjcsIGNvbW06IHVkZXZkIFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoK Q2FsbCBUcmFjZToKIFs8ZmZmZmZmZmY4MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIv MHg2NwogWzxmZmZmZmZmZjgxMDhlMDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8w eDY3NAogWzxmZmZmZmZmZjgxMDhlNWZiPl0gX19hbGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4 NDU3CiBbPGZmZmZmZmZmODEwYWI4ZDg+XSBhbGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZm ZmZmZmY4MTA5Nzg2OT5dIGRvX3dwX3BhZ2UrMHgyNDMvMHg1NGIKIFs8ZmZmZmZmZmY4MTA5NzBk OT5dID8gcG1kX2FsbG9jKzB4NDEvMHg3YwogWzxmZmZmZmZmZjgxMDk5NjNhPl0gaGFuZGxlX21t X2ZhdWx0KzB4N2E0LzB4ODVkCiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4 NjY1LzB4YWFlCiBbPGZmZmZmZmZmODEwYzkxNWQ+XSA/IGRfa2lsbCsweDJlLzB4NDIKIFs8ZmZm ZmZmZmY4MTBjZjU3NT5dID8gbW50cHV0X25vX2V4cGlyZSsweDMxLzB4MTQ0CiBbPGZmZmZmZmZm ODEwYzA0NTk+XSA/IG1udHB1dCsweDE4LzB4MWEKIFs8ZmZmZmZmZmY4MTBjMDU2Zj5dID8gcGF0 aF9wdXQrMHgxZC8weDIxCiBbPGZmZmZmZmZmODEwY2Y1NzU+XSA/IG1udHB1dF9ub19leHBpcmUr MHgzMS8weDE0NAogWzxmZmZmZmZmZjgxMGIyMDlhPl0gPyB2aXJ0X3RvX2hlYWRfcGFnZSsweDMx LzB4NDEKIFs8ZmZmZmZmZmY4MTA1NGRlZT5dID8gZW5xdWV1ZV9ocnRpbWVyKzB4ZDMvMHhlMQog WzxmZmZmZmZmZjgxMDU1N2JhPl0gPyBocnRpbWVyX3N0YXJ0KzB4MTJlLzB4MTUwCiBbPGZmZmZm ZmZmODEwNTU5ODc+XSA/IGt0aW1lX2dldF90cysweDQ5LzB4NGUKIFs8ZmZmZmZmZmY4MTAzMzdj ND5dID8gaHJ0aWNrX3N0YXJ0X2ZhaXIrMHgxNDcvMHgxODIKIFs8ZmZmZmZmZmY4MTAwZTgwZT5d ID8gX19zd2l0Y2hfdG8rMHgxYjAvMHgzZTAKIFs8ZmZmZmZmZmY4MTAzMzg5Mj5dID8gcGlja19u ZXh0X3Rhc2tfZmFpcisweDkzLzB4YTMKIFs8ZmZmZmZmZmY4MTAzYzVhNj5dID8gZmluaXNoX3Rh c2tfc3dpdGNoKzB4MmIvMHhjNAogWzxmZmZmZmZmZjgxMmI5MWQwPl0gPyB0aHJlYWRfcmV0dXJu KzB4YTYvMHhkNAogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlk OiAxODcwLCBjb21tOiB1ZGV2ZCBUYWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwg VHJhY2U6CiBbPGZmZmZmZmZmODEwOTRkNDI+XSA/IHpvbmVfc3RhdGlzdGljcysweDYyLzB4NjcK IFs8ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQK IFs8ZmZmZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1Nwog WzxmZmZmZmZmZjgxMDI1M2M2Pl0gPyBrdm1fbW11X3dyaXRlKzB4MmUvMHgzNQogWzxmZmZmZmZm ZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhjMS8weGM2CiBbPGZmZmZmZmZmODEwOTkwNDk+ XSBoYW5kbGVfbW1fZmF1bHQrMHgxYjMvMHg4NWQKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRvX3Bh Z2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTBjOTE1ZD5dID8gZF9raWxsKzB4MmUv MHg0MgogWzxmZmZmZmZmZjgxMGNmNTc1Pl0gPyBtbnRwdXRfbm9fZXhwaXJlKzB4MzEvMHgxNDQK IFs8ZmZmZmZmZmY4MTBjMDQ1OT5dID8gbW50cHV0KzB4MTgvMHgxYQogWzxmZmZmZmZmZjgxMGMw NTZmPl0gPyBwYXRoX3B1dCsweDFkLzB4MjEKIFs8ZmZmZmZmZmY4MTBjZjU3NT5dID8gbW50cHV0 X25vX2V4cGlyZSsweDMxLzB4MTQ0CiBbPGZmZmZmZmZmODEwYjIwOWE+XSA/IHZpcnRfdG9faGVh ZF9wYWdlKzB4MzEvMHg0MQogWzxmZmZmZmZmZjgxMDU0ZGVlPl0gPyBlbnF1ZXVlX2hydGltZXIr MHhkMy8weGUxCiBbPGZmZmZmZmZmODEyYmE4MjI+XSA/IF9zcGluX2xvY2srMHg5LzB4YwogWzxm ZmZmZmZmZjgxMDlkMzdmPl0gPyB2bWFfYWRqdXN0KzB4MzY2LzB4M2U2CiBbPGZmZmZmZmZmODEw OWRhODQ+XSA/IHZtYV9tZXJnZSsweDFjZS8weDMwNwogWzxmZmZmZmZmZjgxMDlkZmY5Pl0gPyBk b19icmsrMHgyNWEvMHgzMjAKIFs8ZmZmZmZmZmY4MTE0YTJmMD5dID8gX191cF93cml0ZSsweDQy LzB4NDcKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTg3 NiwgY29tbTogdWRldmQgVGFpbnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNl OgogWzxmZmZmZmZmZjgxMDk0ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZm ZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZm ZmZmZmZmODEwMjUyZGY+XSA/IGt2bV9kZWZlcnJlZF9tbXVfb3ArMHg1Yi8weGVkCiBbPGZmZmZm ZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZm ZmY4MTAyNTNjNj5dID8ga3ZtX21tdV93cml0ZSsweDJlLzB4MzUKIFs8ZmZmZmZmZmY4MTBhYjhk OD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk5MDQ5Pl0gaGFuZGxl X21tX2ZhdWx0KzB4MWIzLzB4ODVkCiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0 KzB4NjY1LzB4YWFlCiBbPGZmZmZmZmZmODEwYzkxNWQ+XSA/IGRfa2lsbCsweDJlLzB4NDIKIFs8 ZmZmZmZmZmY4MTBjZjU3NT5dID8gbW50cHV0X25vX2V4cGlyZSsweDMxLzB4MTQ0CiBbPGZmZmZm ZmZmODEwYzA0NTk+XSA/IG1udHB1dCsweDE4LzB4MWEKIFs8ZmZmZmZmZmY4MTBjMDU2Zj5dID8g cGF0aF9wdXQrMHgxZC8weDIxCiBbPGZmZmZmZmZmODEwY2Y1NzU+XSA/IG1udHB1dF9ub19leHBp cmUrMHgzMS8weDE0NAogWzxmZmZmZmZmZjgxMGIyMDlhPl0gPyB2aXJ0X3RvX2hlYWRfcGFnZSsw eDMxLzB4NDEKIFs8ZmZmZmZmZmY4MTA1NGRlZT5dID8gZW5xdWV1ZV9ocnRpbWVyKzB4ZDMvMHhl MQogWzxmZmZmZmZmZjgxMmJhODIyPl0gPyBfc3Bpbl9sb2NrKzB4OS8weGMKIFs8ZmZmZmZmZmY4 MTA5ZDM3Zj5dID8gdm1hX2FkanVzdCsweDM2Ni8weDNlNgogWzxmZmZmZmZmZjgxMDlkYTg0Pl0g PyB2bWFfbWVyZ2UrMHgxY2UvMHgzMDcKIFs8ZmZmZmZmZmY4MTA5ZGZmOT5dID8gZG9fYnJrKzB4 MjVhLzB4MzIwCiBbPGZmZmZmZmZmODExNGEyZjA+XSA/IF9fdXBfd3JpdGUrMHg0Mi8weDQ3CiBb PGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE4NzgsIGNvbW06 IHVkZXZkIFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFjZToKIFs8ZmZm ZmZmZmY4MTA5NGQ0Mj5dID8gem9uZV9zdGF0aXN0aWNzKzB4NjIvMHg2NwogWzxmZmZmZmZmZjgx MDhlMDIxPl0gZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDNkMC8weDY3NAogWzxmZmZmZmZmZjgx MDhlNWZiPl0gX19hbGxvY19wYWdlc19pbnRlcm5hbCsweGZlLzB4NDU3CiBbPGZmZmZmZmZmODEw MjUzYzY+XSA/IGt2bV9tbXVfd3JpdGUrMHgyZS8weDM1CiBbPGZmZmZmZmZmODEwYWI4ZDg+XSBh bGxvY19wYWdlX3ZtYSsweGMxLzB4YzYKIFs8ZmZmZmZmZmY4MTA5OTA0OT5dIGhhbmRsZV9tbV9m YXVsdCsweDFiMy8weDg1ZAogWzxmZmZmZmZmZjgxMmJkMTRkPl0gZG9fcGFnZV9mYXVsdCsweDY2 NS8weGFhZQogWzxmZmZmZmZmZjgxMGM5MTVkPl0gPyBkX2tpbGwrMHgyZS8weDQyCiBbPGZmZmZm ZmZmODEwY2Y1NzU+XSA/IG1udHB1dF9ub19leHBpcmUrMHgzMS8weDE0NAogWzxmZmZmZmZmZjgx MGMwNDU5Pl0gPyBtbnRwdXQrMHgxOC8weDFhCiBbPGZmZmZmZmZmODEwYzA1NmY+XSA/IHBhdGhf cHV0KzB4MWQvMHgyMQogWzxmZmZmZmZmZjgxMGNmNTc1Pl0gPyBtbnRwdXRfbm9fZXhwaXJlKzB4 MzEvMHgxNDQKIFs8ZmZmZmZmZmY4MTBiMjA5YT5dID8gdmlydF90b19oZWFkX3BhZ2UrMHgzMS8w eDQxCiBbPGZmZmZmZmZmODEwNTRkZWU+XSA/IGVucXVldWVfaHJ0aW1lcisweGQzLzB4ZTEKIFs8 ZmZmZmZmZmY4MTJiYTgyMj5dID8gX3NwaW5fbG9jaysweDkvMHhjCiBbPGZmZmZmZmZmODEwOWQz N2Y+XSA/IHZtYV9hZGp1c3QrMHgzNjYvMHgzZTYKIFs8ZmZmZmZmZmY4MTA5ZGE4ND5dID8gdm1h X21lcmdlKzB4MWNlLzB4MzA3CiBbPGZmZmZmZmZmODEwMzM4OTI+XSA/IHBpY2tfbmV4dF90YXNr X2ZhaXIrMHg5My8weGEzCiBbPGZmZmZmZmZmODEwOWRmZjk+XSA/IGRvX2JyaysweDI1YS8weDMy MAogWzxmZmZmZmZmZjgxMTRhMmYwPl0gPyBfX3VwX3dyaXRlKzB4NDIvMHg0NwogWzxmZmZmZmZm ZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxODgyLCBjb21tOiB1ZGV2ZCBU YWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBbPGZmZmZmZmZmODEw OGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEw OGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTAy NTNjNj5dID8ga3ZtX21tdV93cml0ZSsweDJlLzB4MzUKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFs bG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk5MDQ5Pl0gaGFuZGxlX21tX2Zh dWx0KzB4MWIzLzB4ODVkCiBbPGZmZmZmZmZmODEyYmQxNGQ+XSBkb19wYWdlX2ZhdWx0KzB4NjY1 LzB4YWFlCiBbPGZmZmZmZmZmODEwYzkxNWQ+XSA/IGRfa2lsbCsweDJlLzB4NDIKIFs8ZmZmZmZm ZmY4MTBjZjU3NT5dID8gbW50cHV0X25vX2V4cGlyZSsweDMxLzB4MTQ0CiBbPGZmZmZmZmZmODEw YzA0NTk+XSA/IG1udHB1dCsweDE4LzB4MWEKIFs8ZmZmZmZmZmY4MTBjMDU2Zj5dID8gcGF0aF9w dXQrMHgxZC8weDIxCiBbPGZmZmZmZmZmODEwY2Y1NzU+XSA/IG1udHB1dF9ub19leHBpcmUrMHgz MS8weDE0NAogWzxmZmZmZmZmZjgxMGIyMDlhPl0gPyB2aXJ0X3RvX2hlYWRfcGFnZSsweDMxLzB4 NDEKIFs8ZmZmZmZmZmY4MTA1NGRlZT5dID8gZW5xdWV1ZV9ocnRpbWVyKzB4ZDMvMHhlMQogWzxm ZmZmZmZmZjgxMmJhODIyPl0gPyBfc3Bpbl9sb2NrKzB4OS8weGMKIFs8ZmZmZmZmZmY4MTA5ZDM3 Zj5dID8gdm1hX2FkanVzdCsweDM2Ni8weDNlNgogWzxmZmZmZmZmZjgxMDlkYTg0Pl0gPyB2bWFf bWVyZ2UrMHgxY2UvMHgzMDcKIFs8ZmZmZmZmZmY4MTAzMzg5Mj5dID8gcGlja19uZXh0X3Rhc2tf ZmFpcisweDkzLzB4YTMKIFs8ZmZmZmZmZmY4MTA5ZGZmOT5dID8gZG9fYnJrKzB4MjVhLzB4MzIw CiBbPGZmZmZmZmZmODExNGEyZjA+XSA/IF9fdXBfd3JpdGUrMHg0Mi8weDQ3CiBbPGZmZmZmZmZm ODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgpQaWQ6IDE4ODYsIGNvbW06IHNzaGQgVGFp bnRlZDogRyBTICAgICAgICAyLjYuMjcgIzE3CgpDYWxsIFRyYWNlOgogWzxmZmZmZmZmZjgxMDk0 ZDQyPl0gPyB6b25lX3N0YXRpc3RpY3MrMHg2Mi8weDY3CiBbPGZmZmZmZmZmODEwOGUwMjE+XSBn ZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBbPGZmZmZmZmZmODEwOGU1ZmI+XSBf X2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8ZmZmZmZmZmY4MTBhYjhkOD5dIGFs bG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgxMDk3ODY5Pl0gZG9fd3BfcGFnZSsw eDI0My8weDU0YgogWzxmZmZmZmZmZjgxMDk3MGQ5Pl0gPyBwbWRfYWxsb2MrMHg0MS8weDdjCiBb PGZmZmZmZmZmODEwOTk2M2E+XSBoYW5kbGVfbW1fZmF1bHQrMHg3YTQvMHg4NWQKIFs8ZmZmZmZm ZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTBjYTQ4 ND5dID8gX19kX2xvb2t1cCsweGQ2LzB4MTE3CiBbPGZmZmZmZmZmODExMmQ4NTI+XSA/IGViaXRt YXBfbmV4dF9wb3NpdGl2ZSsweDIzLzB4NWMKIFs8ZmZmZmZmZmY4MTExZDA5Nj5dID8gYXZjX2Fs bG9jX25vZGUrMHgyMi8weDFjNQogWzxmZmZmZmZmZjgxMTFkNWE1Pl0gPyBhdmNfaGFzX3Blcm1f bm9hdWRpdCsweDI1NC8weDNmNgogWzxmZmZmZmZmZjgxMTFkZjMzPl0gPyBhdmNfaGFzX3Blcm0r MHg0ZS8weDYwCiBbPGZmZmZmZmZmODExMWYzYzY+XSA/IHNlbGludXhfc29ja2V0X3VuaXhfbWF5 X3NlbmQrMHg0Zi8weDUxCiBbPGZmZmZmZmZmODEyOWM3M2M+XSA/IHVuaXhfc3RhdGVfZG91Ymxl X2xvY2srMHg0YS8weDRmCiBbPGZmZmZmZmZmODExMWI1MDk+XSA/IHNlY3VyaXR5X3VuaXhfbWF5 X3NlbmQrMHgxMS8weDEzCiBbPGZmZmZmZmZmODEyOWRkNTQ+XSA/IHVuaXhfZGdyYW1fY29ubmVj dCsweDFiNS8weDIwOQogWzxmZmZmZmZmZjgxMjJlMzNjPl0gPyBzeXNfY29ubmVjdCsweDc2LzB4 OWMKIFs8ZmZmZmZmZmY4MTJiYWIxYT5dIGVycm9yX2V4aXQrMHgwLzB4NzAKClBpZDogMTg5MCwg Y29tbTogc3NoZCBUYWludGVkOiBHIFMgICAgICAgIDIuNi4yNyAjMTcKCkNhbGwgVHJhY2U6CiBb PGZmZmZmZmZmODEwOGUwMjE+XSBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KzB4M2QwLzB4Njc0CiBb PGZmZmZmZmZmODEwOGU1ZmI+XSBfX2FsbG9jX3BhZ2VzX2ludGVybmFsKzB4ZmUvMHg0NTcKIFs8 ZmZmZmZmZmY4MTBhYjhkOD5dIGFsbG9jX3BhZ2Vfdm1hKzB4YzEvMHhjNgogWzxmZmZmZmZmZjgx MDk3ODY5Pl0gZG9fd3BfcGFnZSsweDI0My8weDU0YgogWzxmZmZmZmZmZjgxMDk3MGQ5Pl0gPyBw bWRfYWxsb2MrMHg0MS8weDdjCiBbPGZmZmZmZmZmODEwOTk2M2E+XSBoYW5kbGVfbW1fZmF1bHQr MHg3YTQvMHg4NWQKIFs8ZmZmZmZmZmY4MTBiMzEwOT5dID8gX19zbGFiX2ZyZWUrMHhhZi8weDI4 ZQogWzxmZmZmZmZmZjgxMjMzNTRmPl0gPyBfX2tmcmVlX3NrYisweDc0LzB4NzgKIFs8ZmZmZmZm ZmY4MTJiZDE0ZD5dIGRvX3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTI3OWY3 OT5dID8gdWRwX3JlY3Ztc2crMHgxZmIvMHgyNzcKIFs8ZmZmZmZmZmY4MTIyZWYzYj5dID8gc29j a19jb21tb25fcmVjdm1zZysweDMyLzB4NDcKIFs8ZmZmZmZmZmY4MTExZjMwNj5dID8gc2VsaW51 eF9zb2NrZXRfcmVjdm1zZysweDFkLzB4MWYKIFs8ZmZmZmZmZmY4MTIyY2ZiYz5dID8gX19zb2Nr X3JlY3Ztc2crMHg2ZC8weDdhCiBbPGZmZmZmZmZmODEyMmQ2NWE+XSA/IHNvY2tfcmVjdm1zZysw eGNhLzB4ZTMKIFs8ZmZmZmZmZmY4MTA0NDkwNj5dID8gbG9jYWxfYmhfZW5hYmxlKzB4ZC8weGYK IFs8ZmZmZmZmZmY4MTA1MjllNT5dID8gYXV0b3JlbW92ZV93YWtlX2Z1bmN0aW9uKzB4MC8weDM4 CiBbPGZmZmZmZmZmODExMWRmMzM+XSA/IGF2Y19oYXNfcGVybSsweDRlLzB4NjAKIFs8ZmZmZmZm ZmY4MTIyZTQ1ZD5dID8gbW92ZV9hZGRyX3RvX3VzZXIrMHg2Ny8weDg2CiBbPGZmZmZmZmZmODEy MmU3NjY+XSA/IHN5c19yZWN2ZnJvbSsweGNiLzB4ZjgKIFs8ZmZmZmZmZmY4MTIyY2QzYz5dID8g c29ja19pb2N0bCsweDFlMi8weDIwYwogWzxmZmZmZmZmZjgxMGM0YjE2Pl0gPyB2ZnNfaW9jdGwr MHgyYS8weDc4CiBbPGZmZmZmZmZmODEwYzRkYjE+XSA/IGRvX3Zmc19pb2N0bCsweDI0ZC8weDI2 YQogWzxmZmZmZmZmZjgxMmJhYjFhPl0gZXJyb3JfZXhpdCsweDAvMHg3MAoKUGlkOiAxODkwLCBj b21tOiBiYXNoIFRhaW50ZWQ6IEcgUyAgICAgICAgMi42LjI3ICMxNwoKQ2FsbCBUcmFjZToKIFs8 ZmZmZmZmZmY4MTA4ZTAyMT5dIGdldF9wYWdlX2Zyb21fZnJlZWxpc3QrMHgzZDAvMHg2NzQKIFs8 ZmZmZmZmZmY4MTAyNTJkZj5dID8ga3ZtX2RlZmVycmVkX21tdV9vcCsweDViLzB4ZWQKIFs8ZmZm ZmZmZmY4MTA4ZTVmYj5dIF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwrMHhmZS8weDQ1NwogWzxmZmZm ZmZmZjgxMGFiOGQ4Pl0gYWxsb2NfcGFnZV92bWErMHhjMS8weGM2CiBbPGZmZmZmZmZmODEwOTkw NDk+XSBoYW5kbGVfbW1fZmF1bHQrMHgxYjMvMHg4NWQKIFs8ZmZmZmZmZmY4MTJiZDE0ZD5dIGRv X3BhZ2VfZmF1bHQrMHg2NjUvMHhhYWUKIFs8ZmZmZmZmZmY4MTExZGYzMz5dID8gYXZjX2hhc19w ZXJtKzB4NGUvMHg2MAogWzxmZmZmZmZmZjgxMTFmYWVjPl0gPyBpbm9kZV9oYXNfcGVybSsweDVi LzB4NjEKIFs8ZmZmZmZmZmY4MTJiYTgyMj5dID8gX3NwaW5fbG9jaysweDkvMHhjCiBbPGZmZmZm ZmZmODEwY2E0ODQ+XSA/IF9fZF9sb29rdXArMHhkNi8weDExNwogWzxmZmZmZmZmZjgxMGNmNTc1 Pl0gPyBtbnRwdXRfbm9fZXhwaXJlKzB4MzEvMHgxNDQKIFs8ZmZmZmZmZmY4MTBjMDQ1OT5dID8g bW50cHV0KzB4MTgvMHgxYQogWzxmZmZmZmZmZjgxMGMwNTZmPl0gPyBwYXRoX3B1dCsweDFkLzB4 MjEKIFs8ZmZmZmZmZmY4MTBjZjU3NT5dID8gbW50cHV0X25vX2V4cGlyZSsweDMxLzB4MTQ0CiBb PGZmZmZmZmZmODEwYzA0NTk+XSA/IG1udHB1dCsweDE4LzB4MWEKIFs8ZmZmZmZmZmY4MTBjMDU2 Zj5dID8gcGF0aF9wdXQrMHgxZC8weDIxCiBbPGZmZmZmZmZmODEwYzI2MmI+XSA/IHBhdGhfd2Fs aysweGI3LzB4YzQKIFs8ZmZmZmZmZmY4MTBiMjA5YT5dID8gdmlydF90b19oZWFkX3BhZ2UrMHgz MS8weDQxCiBbPGZmZmZmZmZmODEwYzMzMWU+XSA/IHB1dG5hbWUrMHgzMC8weDM5CiBbPGZmZmZm ZmZmODEwYzNlNTk+XSA/IHVzZXJfcGF0aF9hdCsweDVkLzB4OGMKIFs8ZmZmZmZmZmY4MTJiYTgy Mj5dID8gX3NwaW5fbG9jaysweDkvMHhjCiBbPGZmZmZmZmZmODEwNDZlMzc+XSA/IGNhcF9zZXRf ZWZmZWN0aXZlKzB4NTUvMHg2YgogWzxmZmZmZmZmZjgxMGI4MzY1Pl0gPyBzeXNfZmFjY2Vzc2F0 KzB4MTliLzB4MWFkCiBbPGZmZmZmZmZmODEyYmFiMWE+XSBlcnJvcl9leGl0KzB4MC8weDcwCgo= --MP_/ykKepuO.KUS18NYxT_aKF3_-- --=_freyr.drzeus.cx-6217-1236840934-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAkm4seUACgkQ7b8eESbyJLgY5ACfW1H4PIrwYxERHoZ4haUZuSnJ 3bsAn1qcX8wtTjAJGpQsyeDwAAC3a5lM =k1th -----END PGP SIGNATURE----- --=_freyr.drzeus.cx-6217-1236840934-0001-2-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail202.messagelabs.com (mail202.messagelabs.com [216.82.254.227]) by kanga.kvack.org (Postfix) with SMTP id D82876B003D for ; Thu, 12 Mar 2009 03:30:04 -0400 (EDT) Date: Thu, 12 Mar 2009 15:29:34 +0800 From: Wu Fengguang Subject: Re: [Bug 12832] New: kernel leaks a lot of memory Message-ID: <20090312072934.GA26678@localhost> References: <20090311013739.GA7078@localhost> <20090311075703.35de2488@mjolnir.ossman.eu> <20090311071445.GA13584@localhost> <20090311082658.06ff605a@mjolnir.ossman.eu> <20090311073619.GA26691@localhost> <20090311085738.4233df4e@mjolnir.ossman.eu> <20090311130022.GA22453@localhost> <20090311160223.638b4bc9@mjolnir.ossman.eu> <20090312010816.GA6619@localhost> <20090312075530.2bd42f81@mjolnir.ossman.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090312075530.2bd42f81@mjolnir.ossman.eu> Sender: owner-linux-mm@kvack.org To: Pierre Ossman Cc: Andrew Morton , "bugme-daemon@bugzilla.kernel.org" , "linux-mm@kvack.org" , Ingo Molnar , Steven Rostedt List-ID: On Thu, Mar 12, 2009 at 08:55:30AM +0200, Pierre Ossman wrote: > On Thu, 12 Mar 2009 09:08:16 +0800 > Wu Fengguang wrote: > > > On Wed, Mar 11, 2009 at 05:02:23PM +0200, Pierre Ossman wrote: > > > On Wed, 11 Mar 2009 21:00:22 +0800 > > > Wu Fengguang wrote: > > > > > > > > > > > I worked up a simple debugging patch. Since the missing pages are > > > > continuously spanned, several stack dumping shall be enough to catch > > > > the page consumer. > > > > > > > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > > > > index 27b8681..c0df7fd 100644 > > > > --- a/mm/page_alloc.c > > > > +++ b/mm/page_alloc.c > > > > @@ -1087,6 +1087,13 @@ again: > > > > goto failed; > > > > } > > > > > > > > + /* wfg - hunting the 40000 missing pages */ > > > > + { > > > > + unsigned long pfn = page_to_pfn(page); > > > > + if (pfn > 0x1000 && (pfn & 0xfff) <= 1) > > > > + dump_stack(); > > > > + } > > > > + > > > > __count_zone_vm_events(PGALLOC, zone, 1 << order); > > > > zone_statistics(preferred_zone, zone); > > > > local_irq_restore(flags); > > > > > > This got very noisy, but here's what was in the ring buffer once it had > > > booted. > > > > It's about 20 stack dumps, hehe. Could you please paste some of them? > > Thank you! > > > > Ooops, I meant to attach the dmesg output. Let's try again. :) Ooops, there're no ftrace in the dmesg. They are pretty normal page faults. I overlooked the possibility of repeated alloc/free cycles on the same pfn... Anyway please go on with Steven's ftrace patchset :-) Thanks, Fengguang -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org