This is the mail archive of the
gdb-prs@sources.redhat.com
mailing list for the GDB project.
Re: remote/1187: 'call' attempts additional remote 's'tep
- From: Brent Baccala <baccala at vger dot freesoft dot org>
- To: drow at sources dot redhat dot com
- Cc: gdb-prs at sources dot redhat dot com,
- Date: 25 Apr 2003 05:08:01 -0000
- Subject: Re: remote/1187: 'call' attempts additional remote 's'tep
- Reply-to: Brent Baccala <baccala at vger dot freesoft dot org>
The following reply was made to PR remote/1187; it has been noted by GNATS.
From: Brent Baccala <baccala at vger dot freesoft dot org>
To: Daniel Jacobowitz <drow at mvista dot com>
Cc: gdb-gnats at sources dot redhat dot com
Subject: Re: remote/1187: 'call' attempts additional remote 's'tep
Date: Fri, 25 Apr 2003 01:01:45 -0400 (EDT)
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime at docserver dot cac dot washington dot edu for more info.
---70191663-261253981-1051246905=:16473
Content-Type: TEXT/PLAIN; charset=US-ASCII
On Thu, 24 Apr 2003, Daniel Jacobowitz wrote:
> On Thu, Apr 24, 2003 at 12:37:35AM -0000, baccala at freesoft dot org wrote:
> >
> > >Number: 1187
> > >Category: remote
> > >Synopsis: 'call' attempts additional remote 's'tep
> > >Confidential: no
> > >Severity: non-critical
> > >Priority: low
> > >Responsible: unassigned
> > >State: open
> > >Class: sw-bug
> > >Submitter-Id: net
> > >Arrival-Date: Thu Apr 24 00:38:00 UTC 2003
> > >Closed-Date:
> > >Last-Modified:
> > >Originator: baccala at freesoft dot org
> > >Release: gdb-5.2.1 gdb-5.3
> > >Organization:
> > >Environment:
> > i386 Linux host / powerpc remote stub
> > >Description:
> > after building either gdb-5.2.1 or gdb-5.3 for an Intel
> > host and powerpc target, then connecting to a remote
> > powerpc Linux kernel via serial stub, 'call' command
> > fails. After creating a dummy stack frame, calling it,
> > returning, and getting the breakpoint, debugger attempts
> > to continue to program from that point (end of dummy)
> > resulting in various bizarre malfunctions
> > >How-To-Repeat:
> > compile gdb 5.2.1 or gdb 5.3 for intel host, powerpc target
> > connect to remote powerpc stub (linux-2.4.20 has a bug in
> > powerpc stub handling, requiring attached patch before it
> > works) then attempt 'call' command (with remote debugging on)
>
> You didn't attach the patch, but I assume it's the missing ampersand?
No. Mistake with the web browser attaching the file.
I'm attaching the patch, along with more documentation.
'ppc-stub.patch' is the patch I wanted to attach. It's just the patch
to the ppc stub code in the kernel. Mainly fixes the register
handling.
'ppp-kgdb.patch' is the full kernel GDB patch. Not exactly tested - I
have other patches in my kernel, and haven't checked this one against
a pristine source, but I'm 80% sure that if you have a powerpc
machine, you can apply this patch against a 2.4.20 kernel and get a
kernel with working GDB.
'gdb.bug.script' is a typescript of a typical run with the broken
GDB code. Line numbers in my explaination are from 'less -N' -
long lines count as 1.
Call command is on line 33. Line 58 pokes a trap instruction into
memory location c0000000, and line 62 continues. The called function
generates some output like it's supposed to - it's been called and
runs correctly. It returns and hits the breakpoint, which signals the
debugger on line 69. Registers are queried on line 71 - EIP (third
32-word from the end) is clearly on the breakpoint at c0000000.
Debugger replaces the original word at c0000000 on line 76, and
then... single-steps! (line 80), at which point all hell breaks loose.
'gdb.patch' is a longer version of the patch I mentioned in the web
report, with a lot more context. Debugging the debugger showed me
that this function (handle_inferior_event) generated the single step
via a keep_going() further down, even though the intention is pretty
clearly to stop_stepping() here and return. Incidentally, this
architecture doesn't define CALL_DUMMY_BREAKPOINT_OFFSET_P - it uses
the fancier stuff for multiple architectures via a function call. But
(and this is where I don't understand the code) for some reason the
call dummy didn't get 'handled above'. In any event, this seemed
like a pretty good place to stick in a hack, so I did, and lo
and behold...
'gdb.fixed.script' is a typescript of the patched debugger talking
(successfully) to the patched kernel. Line numbers seem slightly
different, but it's pretty much the same up until replacing the
original word on line 77. Then it plays with the registers a bit, I
give it a 'cont' on line 109, and now that I look closely I see that
it puts the trap instruction back in on line 113. Obviously, my patch
is just a hack. But at least the instruction pointer is back where
it's supposed to be, so the kernel goes on its merry way, until I
interrupted it a while latter.
> In general, Linux kernel stubs have required some special code for
> function calls to work; dealing with the fact that KGDB runs on the
> main kernel stack. This work hasn't been done for PowerPC, so I think
> that's more likely to be the real problem. Most likely the stack has
> gotten corrupted somehow.
Yeah, I worked on the Intel kgdb stub and I know what you're talking
about. I don't think that's the case here. For some reason, the
debugger is trying to single-step past a breakpoint that it inserted
itself.
> I checked with our KGDB gurus here, and they didn't expect function
> calls to work on PPC32.
If they have PPC32 machines, suggest they try the two patches I
sent you (the kernel and the gdb). It worked for me; I bet it
will for them.
--
-bwb
Brent Baccala
baccala at freesoft dot org
---70191663-261253981-1051246905=:16473
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="ppc-stub.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine dot LNX dot 4 dot 44 dot 0304250101450 dot 16473 at vger dot freesoft dot org>
Content-Description:
Content-Disposition: attachment; filename="ppc-stub.patch"
LS0tIGRpc3QtMi40LjIwL2FyY2gvcHBjL2tlcm5lbC9wcGMtc3R1Yi5jCU1v
biBNYXkgMjEgMjA6MDQ6NDcgMjAwMQ0KKysrIGxpbnV4LTIuNC4yMC9hcmNo
L3BwYy9rZXJuZWwvcHBjLXN0dWIuYwlNb24gQXByIDE0IDIwOjEyOjUwIDIw
MDMNCkBAIC02MTIsMTggKzYxMiwxOSBAQA0KIA0KIAkJCS8qIEdlbmVyYWwg
UHVycG9zZSBSZWdzICovDQogCQkJaGV4Mm1lbShwdHIsIChjaGFyICopcmVn
cywgMzIgKiA0KTsNCisJCQlwdHIgKz0gMzIqNCoyOw0KIA0KIAkJCS8qIEZs
b2F0aW5nIFBvaW50IFJlZ3MgLSBGSVhNRT8/ICovDQogCQkJLypwdHIgPSBo
ZXgybWVtKHB0ciwgPz8sIDMyICogOCk7Ki8NCiAJCQlwdHIgKz0gMzIqOCoy
Ow0KIA0KIAkJCS8qIHBjLCBtc3IsIGNyLCBsciwgY3RyLCB4ZXIsIChtcSBp
cyB1bnVzZWQpICovDQotCQkJcHRyID0gaGV4Mm1lbShwdHIsIChjaGFyICop
JnJlZ3MtPm5pcCwgNCk7DQotCQkJcHRyID0gaGV4Mm1lbShwdHIsIChjaGFy
ICopJnJlZ3MtPm1zciwgNCk7DQotCQkJcHRyID0gaGV4Mm1lbShwdHIsIChj
aGFyICopJnJlZ3MtPmNjciwgNCk7DQotCQkJcHRyID0gaGV4Mm1lbShwdHIs
IChjaGFyICopJnJlZ3MtPmxpbmssIDQpOw0KLQkJCXB0ciA9IGhleDJtZW0o
cHRyLCAoY2hhciAqKSZyZWdzLT5jdHIsIDQpOw0KLQkJCXB0ciA9IGhleDJt
ZW0ocHRyLCAoY2hhciAqKSZyZWdzLT54ZXIsIDQpOw0KKwkJCWhleDJtZW0o
cHRyLCAoY2hhciAqKSZyZWdzLT5uaXAsIDQpOyAgIHB0ciArPSA0KjI7DQor
CQkJaGV4Mm1lbShwdHIsIChjaGFyICopJnJlZ3MtPm1zciwgNCk7ICAgcHRy
ICs9IDQqMjsNCisJCQloZXgybWVtKHB0ciwgKGNoYXIgKikmcmVncy0+Y2Ny
LCA0KTsgICBwdHIgKz0gNCoyOw0KKwkJCWhleDJtZW0ocHRyLCAoY2hhciAq
KSZyZWdzLT5saW5rLCA0KTsgIHB0ciArPSA0KjI7DQorCQkJaGV4Mm1lbShw
dHIsIChjaGFyICopJnJlZ3MtPmN0ciwgNCk7ICAgcHRyICs9IDQqMjsNCisJ
CQloZXgybWVtKHB0ciwgKGNoYXIgKikmcmVncy0+eGVyLCA0KTsNCiANCiAJ
CQlzdHJjcHkocmVtY29tT3V0QnVmZmVyLCJPSyIpOw0KIAkJfQ0KQEAgLTc1
MSw2ICs3NTIsMTYgQEANCiANCiAgICAgICAgIHJldHVybiAxOw0KICB9DQor
DQorI2lmZGVmIENPTkZJR19HREJfQ09OU09MRQ0KKw0KK3ZvaWQgZ2RiX2Nv
bnNvbGVfd3JpdGUoc3RydWN0IGNvbnNvbGUgKmNvLCBjb25zdCBjaGFyICpz
LA0KKwkJCQl1bnNpZ25lZCBjb3VudCkNCit7DQorCWtnZGJfb3V0cHV0X3N0
cmluZyhzLCBjb3VudCk7DQorfQ0KKw0KKyNlbmRpZg0KIA0KICNpZm5kZWYg
Q09ORklHXzh4eA0KIA0K
---70191663-261253981-1051246905=:16473
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="ppc-kgdb.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine dot LNX dot 4 dot 44 dot 0304250101451 dot 16473 at vger dot freesoft dot org>
Content-Description:
Content-Disposition: attachment; filename="ppc-kgdb.patch"
LS0tIGxpbnV4LTIuNC4xOC9Eb2N1bWVudGF0aW9uL0NvbmZpZ3VyZS5oZWxw
CVN1biBNYXIgMjQgMTY6MTY6MjkgMjAwMg0KKysrIGxpbnV4L0RvY3VtZW50
YXRpb24vQ29uZmlndXJlLmhlbHAJRnJpIE1hciAyOSAyMDo0NToxMiAyMDAy
DQpAQCAtMTkwNzYsNiArMTkwNzYsMzkgQEANCiAgIElmIHlvdSBoYXZlIGEg
V2VzdGVybiBEaWdpdGFsIFdEOTMgU0NTSSBjb250cm9sbGVyIG9uDQogICBh
biBTR0kgTUlQUyBzeXN0ZW0sIHNheSBZLiAgT3RoZXJ3aXNlLCBzYXkgTi4N
CiANCitLR0RCOiBSZW1vdGUgKHNlcmlhbCkga2VybmVsIGRlYnVnZ2luZyB3
aXRoIGdkYg0KK0NPTkZJR19YODZfUkVNT1RFX0RFQlVHDQorICBJZiB5b3Ug
c2F5IFkgaGVyZSwgaXQgd2lsbCBiZSBwb3NzaWJsZSB0byByZW1vdGVseSBk
ZWJ1ZyB0aGUgeDg2DQorICBrZXJuZWwgdXNpbmcgZ2RiLiBUaGlzIGVubGFy
Z2VzIHlvdXIga2VybmVsIGltYWdlIGRpc2sgc2l6ZSBieQ0KKyAgc2V2ZXJh
bCBtZWdhYnl0ZXMgYW5kIHJlcXVpcmVzIGEgbWFjaGluZSB3aXRoIG1vcmUg
dGhhbiAxNiBNQiwNCisgIGJldHRlciAzMiBNQiBSQU0gdG8gYXZvaWQgZXhj
ZXNzaXZlIGxpbmtpbmcgdGltZS4gDQorICBUbyB1c2UgdGhpcyBmZWF0dXJl
IHlvdSBuZWVkIHRvIHBlcmZvcm0gc29tZSBiYXNpYyBzZXR1cCBkZXNjcmli
ZWQNCisgIGJyaWVmbHkgaW4gRG9jdW1lbnRhdGlvbi9pMzg2L2dkYi1zZXJp
YWwudHh0Lg0KKyAgVGhpcyBpcyBvbmx5IHVzZWZ1bCBmb3Iga2VybmVsIGhh
Y2tlcnMuIElmIHVuc3VyZSwgc2F5IE4uDQorDQorS0dEQjogVGhyZWFkIGFu
YWx5c2lzDQorQ09ORklHX0tHREJfVEhSRUFEDQorICBXaXRoIHRocmVhZCBh
bmFseXNpcyBlbmFibGVkLCBnZGIgY2FuIHRhbGsgdG8ga2dkYiBzdHViIHRv
IGxpc3QNCisgIHRocmVhZHMgYW5kIHRvIGdldCBzdGFjayB0cmFjZSBmb3Ig
YSB0aHJlYWQuIFRoaXMgb3B0aW9uIGFsc28gZW5hYmxlcw0KKyAgc29tZSBj
b2RlIHdoaWNoIGhlbHBzIGdkYiBnZXQgZXhhY3Qgc3RhdHVzIG9mIHRocmVh
ZC4gVGhyZWFkIGFuYWx5c2lzDQorICBhZGRzIHNvbWUgb3ZlcmhlYWQgdG8g
c2NoZWR1bGUgYW5kIGRvd24gZnVuY3Rpb25zLiBZb3UgY2FuIGRpc2FibGUg
dGhpcw0KKyAgb3B0aW9uIGlmIHlvdSBkbyBub3Qgd2FudCB0byBjb21wcm9t
aXNlIG9uIHNwZWVkLg0KKw0KK0tHREI6IENvbnNvbGUgbWVzc2FnZWdzIHRo
cm91Z2ggZ2RiDQorQ09ORklHX0dEQl9DT05TT0xFDQorICBJZiB5b3Ugc2F5
IFkgaGVyZSwgY29uc29sZSBtZXNzYWdlcyB3aWxsIGFwcGVhciB0aHJvdWdo
IGdkYi4NCisgIE90aGVyIGNvbnNvbGVzIHN1Y2ggYXMgdHR5IG9yIHR0eVMg
d2lsbCBjb250aW51ZSB0byB3b3JrIGFzIHVzdWFsLg0KKyAgDQorS0dEQjog
RW5hYmxlIGtlcm5lbCBhc3NlcnRzDQorQ09ORklHX0tFUk5FTF9BU1NFUlRT
DQorICBUaGlzIG9wdGlvbiBlbmFibGVzIGtlcm5lbCBhc3NlcnRzLiBBIGtl
cm5lbCBhc3NlcnQgaXMgYSBjb25kaXRpb24sDQorICB3aGljaCBpZiB0dXJu
ZXMgb3V0IHRvIGJlIGZhbHNlIGR1cmluZyBhbiBleGVjdXRpb24gcGF0aCwg
dGhlbiBrZ2RiDQorICBpcyBjYWxsZWQuIEtlcm5lbCBhc3NlcnRpb25zIGhl
bHAgaW4gbW9kaWZ5aW5nIHRoZSBrZXJuZWwgb3Igd3JpdGluZw0KKyAgZHJp
dmVycy4gQnVncyBjYW4gYmUgdHJhY2VkIHNvb25lciB3aXRoIGtlcm5lbCBh
c3NlcnRzIGJlY2F1c2UgaW52YWxpZA0KKyAgY29uZGl0aW9ucyBjYXVzZWQg
YnkgYnVncyBhcmUgY2hlY2tlZCBhdCB2YXJpb3VzIHBsYWNlcy4gS2VybmVs
IGFzc2VydHMNCisgIGFkZCB0aGUgb3ZlcmhlYWQgb2YgY2hlY2tpbmcgYXNz
ZXJ0ZWQgY29uZGl0aW9ucy4gWW91IGNhbiBkaXNhYmxlIHRoaXMNCisgIG9w
dGlvbiBpZiB5b3UgZG8gbm90IHdhbnQgdGhlIG92ZXJoZWFkLg0KKw0KIE1h
Z2ljIFN5c3RlbSBSZXF1ZXN0IEtleSBzdXBwb3J0DQogQ09ORklHX01BR0lD
X1NZU1JRDQogICBJZiB5b3Ugc2F5IFkgaGVyZSwgeW91IHdpbGwgaGF2ZSBz
b21lIGNvbnRyb2wgb3ZlciB0aGUgc3lzdGVtIGV2ZW4NCi0tLSBsaW51eC0y
LjQuMTgvRG9jdW1lbnRhdGlvbi9pMzg2L2dkYi1zZXJpYWwudHh0CVRodSBK
YW4gIDEgMDU6MzA6MDAgMTk3MA0KKysrIGxpbnV4L0RvY3VtZW50YXRpb24v
aTM4Ni9nZGItc2VyaWFsLnR4dAlGcmkgTWFyIDI5IDIwOjQ1OjEyIDIwMDIN
CkBAIC0wLDAgKzEsMzg2IEBADQorVmVyc2lvbg0KKz09PT09PT0NCisNCitU
aGlzIHZlcnNpb24gb2YgdGhlIGdkYnN0dWIgcGFja2FnZSB3YXMgZGV2ZWxv
cGVkIGFuZCB0ZXN0ZWQgb24NCitrZXJuZWwgdmVyc2lvbiAyLjMuNDguICBJ
dCB3aWxsIG5vdCBpbnN0YWxsIG9uIGEgMi4yIGtlcm5lbC4gIEl0IG1heQ0K
K25vdCB3b3JrIG9uIGVhcmxpZXIgdmVyc2lvbnMgb2YgMi4zIGtlcm5lbHMu
ICBJdCBpcyBwb3NzaWJsZSB0aGF0DQoraXQgd2lsbCBjb250aW51ZSB0byB3
b3JrIG9uIGxhdGVyIHZlcnNpb25zIG9mIDIuMyBhbmQgdGhlbg0KK3ZlcnNp
b25zIG9mIDIuNCAoSSBob3BlKS4NCisNCisNCitEZWJ1Z2dpbmcgU2V0dXAN
Cis9PT09PT09PT09PT09PT0NCisNCitEZXNpZ25hdGUgb25lIG1hY2hpbmUg
YXMgdGhlICJkZXZlbG9wbWVudCIgbWFjaGluZS4gIFRoaXMgaXMgdGhlDQor
bWFjaGluZSBvbiB3aGljaCB5b3UgcnVuIHlvdXIgY29tcGlsZXMgYW5kIHdo
aWNoIGhhcyB5b3VyIHNvdXJjZQ0KK2NvZGUgZm9yIHRoZSBrZXJuZWwuICBE
ZXNpZ25hdGUgYSBzZWNvbmQgbWFjaGluZSBhcyB0aGUgInRhcmdldCINCitt
YWNoaW5lLiAgVGhpcyBpcyB0aGUgbWFjaGluZSB0aGF0IHdpbGwgcnVuIHlv
dXIgZXhwZXJpbWVudGFsDQora2VybmVsLg0KKw0KK1RoZSB0d28gbWFjaGlu
ZXMgd2lsbCBiZSBjb25uZWN0ZWQgdG9nZXRoZXIgdmlhIGEgc2VyaWFsIGxp
bmUgb3V0DQorb25lIG9yIHRoZSBvdGhlciBvZiB0aGUgQ09NIHBvcnRzIG9m
IHRoZSBQQy4gIFlvdSB3aWxsIG5lZWQgYSBtb2RlbQ0KK2VsaW1pbmF0b3Ig
YW5kIHRoZSBhcHByb3ByaWF0ZSBjYWJsZXMuDQorDQorT24gdGhlIERFVkVM
T1BNRU5UIG1hY2hpbmUgeW91IG5lZWQgdG8gYXBwbHkgdGhlIHBhdGNoIGZv
ciB0aGUgZ2RiDQoraG9va3MuICBZb3UgaGF2ZSBwcm9iYWJseSBhbHJlYWR5
IGRvbmUgdGhhdCBpZiB5b3UgYXJlIHJlYWRpbmcgdGhpcw0KK2ZpbGUuDQor
DQorT24geW91ciBERVZFTE9QTUVOVCBtYWNoaW5lLCBnbyB0byB5b3VyIGtl
cm5lbCBzb3VyY2UgZGlyZWN0b3J5IGFuZA0KK2RvICJtYWtlIG1lbnVjb25m
aWciLiAgR28gZG93biB0byB0aGUga2VybmVsIGhhY2tpbmcgbWVudSBpdGVt
IGFuZA0KK29wZW4gaXQgdXAuICBFbmFibGUgdGhlIGtlcm5lbCBnZGIgc3R1
YiBjb2RlIGJ5IHNlbGVjdGluZyB0aGF0IGl0ZW0uDQorDQorU2F2ZSBhbmQg
ZXhpdCB0aGUgbWVudWNvbmZpZyBwcm9ncmFtLiAgVGhlbiBkbyAibWFrZSBj
bGVhbiIgYW5kDQorIm1ha2UgYnpJbWFnZSIgKG9yIHdoYXRldmVyIHRhcmdl
dCB5b3Ugd2FudCB0byBtYWtlKS4gIFRoaXMgZ2V0cw0KK3RoZSBrZXJuZWwg
Y29tcGlsZWQgd2l0aCB0aGUgIi1nIiBvcHRpb24gc2V0IC0tIG5lY2Vzc2Fy
eSBmb3INCitkZWJ1Z2dpbmcuDQorDQorWW91IGhhdmUganVzdCBidWlsdCB0
aGUga2VybmVsIG9uIHlvdXIgREVWRUxPUE1FTlQgbWFjaGluZSB0aGF0IHlv
dQ0KK2ludGVuZCB0byBydW4gb24gb3VyIFRBUkdFVCBtYWNoaW5lLg0KKw0K
K1RvIGluc3RhbGwgdGhpcyBuZXcga2VybmVsLCB1c2UgdGhlIGZvbGxvd2lu
ZyBpbnN0YWxsYXRpb24gcHJvY2VkdXJlLg0KK1JlbWVtYmVyLCB5b3UgYXJl
IG9uIHRoZSBERVZFTE9QTUVOVCBtYWNoaW5lIHBhdGNoaW5nIHRoZSBrZXJu
ZWwgc291cmNlDQorZm9yIHRoZSBrZXJuZWwgdGhhdCB5b3UgaW50ZW5kIHRv
IHJ1biBvbiB0aGUgVEFSR0VUIG1hY2hpbmUuDQorDQorQ29weSB0aGlzIGtl
cm5lbCB0byB5b3VyIHRhcmdldCBtYWNoaW5lIHVzaW5nIHlvdXIgdXN1YWwg
cHJvY2VkdXJlcy4NCitJIHVzdWFsbHkgYXJyYW5nZSB0byBjb3B5IGRldmVs
b3BtZW50Oi91c3Ivc3JjL2xpbnV4L2FyY2gvaTM4Ni9ib290L3pJbWFnZQ0K
K3RvIC92bWxpbnV6IG9uIHRoZSBUQVJHRVQgbWFjaGluZSB2aWEgYSBMQU4g
YmFzZWQgTkZTIGFjY2Vzcy4gIFRoYXQgaXMsDQorSSBydW4gdGhlIGNwIGNv
bW1hbmQgb24gdGhlIHRhcmdldCBhbmQgY29weSBmcm9tIHRoZSBkZXZlbG9w
bWVudCBtYWNoaW5lDQordmlhIHRoZSBMQU4uICBSdW4gTGlsbyBvbiB0aGUg
bmV3IGtlcm5lbCBvbiB0aGUgdGFyZ2V0IG1hY2hpbmUgc28gdGhhdCBpdA0K
K3dpbGwgYm9vdCEgIFRoZW4gYm9vdCB0aGUga2VybmVsIG9uIHRoZSB0YXJn
ZXQgbWFjaGluZS4NCisNCitUaGVyZSBpcyBhbiB1dGlsaXR5IHByb2dyYW0g
bmFtZWQgImdkYnN0YXJ0IiBpbiB0aGUNCitkZXZlbG9wbWVudDovdXNyL3Ny
Yy9saW51eC9hcmNoL2kzODYva2VybmVsIGRpcmVjdG9yeS4NCitZb3Ugc2hv
dWxkIGNvcHkgdGhpcyBwcm9ncmFtIG92ZXIgdG8geW91ciB0YXJnZXQgbWFj
aGluZSwgcHJvYmFibHkgaW50bw0KKy9zYmluLiAgVGhpcyB1dGlsaXR5IHBy
b2dyYW0gaXMgcnVuIG9uIHRoZSB0YXJnZXQgbWFjaGluZSB0bw0KK2FjdGl2
YXRlIHRoZSBrZXJuZWwgaG9va3MgZm9yIHRoZSBkZWJ1Z2dlci4gIEl0IGlz
IGludm9rZWQgYXMgZm9sbG93czoNCisNCisgICAgZ2Ric3RhcnQgWy1zIHNw
ZWVkXSBbLXQgdHR5LWRldl0NCisgICAgZGVmYXVsdHM6ICAvZGV2L3R0eVMw
IHdpdGggc3BlZWQgdW5tb2RpZmllZCBieSBnZGJzdGFydA0KKw0KK0Rvbid0
IHJ1biB0aGUgcHJvZ3JhbSBqdXN0IHlldC4gIFdlJ2xsIGdldCB0byB0aGF0
IGluIGEgYml0Lg0KKw0KK0RlY2lkZSBvbiB3aGljaCB0dHkgcG9ydCB5b3Ug
d2FudCB0aGUgbWFjaGluZXMgdG8gY29tbXVuaWNhdGUsIHRoZW4NCitjYWJs
ZSB0aGVtIHVwIGJhY2stdG8tYmFjayB1c2luZyB0aGUgbnVsbCBtb2RlbS4g
IENPTTEgaXMgL2Rldi90dHlTMA0KK2FuZCBDT00yIGlzIC9kZXYvdHR5UzEu
DQorDQorT24gdGhlIERFVkVMT1BNRU5UIG1hY2hpbmUsIGNyZWF0ZSBhIGZp
bGUgY2FsbGVkIC5nZGJpbml0IGluIHRoZQ0KK2RpcmVjdG9yeSAvdXNyL3Ny
Yy9saW51eC4gIEFuIGV4YW1wbGUgLmdkYmluaXQgZmlsZSBsb29rcyBsaWtl
IHRoaXM6DQorDQorZGVmaW5lIHJtdA0KK3NldCByZW1vdGViYXVkIDM4NDAw
DQordGFyZ2V0IHJlbW90ZSAvZGV2L3R0eVMwDQorZW5kDQorDQorQXNzdW1p
bmcgdGhhdCB5b3UgYWRkZWQgbXkgZ2RiaW5pdCBzdHVmZiB0byB5b3VyIC5n
ZGJpbml0LCBlZGl0IC5nZGJpbml0DQorYW5kIGZpbmQgdGhlIHNlY3Rpb24g
dGhhdCBsb29rcyBsaWtlIHRoaXM6DQorDQorCWRlZmluZSBybXQNCisJc2V0
IHJlbW90ZWJhdWQgMzg0MDANCisJdGFyZ2V0IHJlbW90ZSAvZGV2L3R0eVMw
DQorCWVuZA0KKw0KK0NoYW5nZSB0aGUgInRhcmdldCIgZGVmaW5pdGlvbiBz
byB0aGF0IGl0IHNwZWNpZmllcyB0aGUgdHR5IHBvcnQgdGhhdA0KK3lvdSBp
bnRlbmQgdG8gdXNlLiAgQ2hhbmdlIHRoZSAicmVtb3RlYmF1ZCIgZGVmaW5p
dGlvbiB0byBtYXRjaCB0aGUNCitkYXRhIHJhdGUgdGhhdCB5b3UgYXJlIGdv
aW5nIHRvIHVzZSBmb3IgdGhlIGNvbSBsaW5lLg0KKw0KK09uIHRoZSBUQVJH
RVQgbWFjaGluZSBJIGZpbmQgaXQgaGVscGZ1bCB0byBjcmVhdGUgc2hlbGwg
c2NyaXB0IGZpbGUNCituYW1lZCAiZGVidWciIGluIHRoZSByb290IGhvbWUg
ZGlyZWN0b3J5IHdpdGggdGhlIGZvbGxvd2luZyBjb250ZW50czoNCisNCisJ
Z2Ric3RhcnQgLXMgMzg0MDAgLXQgL2Rldi90dHlTMCA8PEVPRg0KKwk8Ymxh
bmsgbGluZT4NCisJRU9GDQorDQorVGhpcyBydW5zIHRoZSBnZGJzdGFydCBw
cm9ncmFtIGFuZCBnaXZlcyBpdCB0aGUgY2FycmlhZ2UgcmV0dXJuIHRoYXQN
CitpdCBwcm9tcHRzIGZvci4gIFRoaXMgc2V0cyB0aGUgZGF0YSByYXRlIGZy
b20gdGhlIHRhcmdldCBtYWNoaW5lJ3Mgc2lkZS4NCisNCitZb3UgYXJlIG5v
dyByZWFkeSB0byB0cnkgaXQgb3V0Lg0KKw0KK09uIHlvdXIgVEFSR0VUIG1h
Y2hpbmUsIGZyZXNobHkgcmVib290ZWQgd2l0aCB5b3VyIGdkYnN0dWItZXF1
aXBwZWQNCitrZXJuZWwsIHR5cGUgImRlYnVnIiBpbiB0aGUgcm9vdCBob21l
IGRpcmVjdG9yeS4gIFRoZSBzeXN0ZW0gd2lsbCBhcHBlYXINCit0byBoYW5n
IHdpdGggc29tZSBtZXNzYWdlcyBvbiB0aGUgc2NyZWVuIGZyb20gdGhlIGRl
YnVnIHN0dWIuICBXaGF0DQoraXQgaXMgZG9pbmcgaXMgd2FpdGluZyBmb3Ig
Y29udGFjdCBmcm9tIHRoZSBkZXZlbG9wbWVudCBtYWNoaW5lLg0KKw0KK09u
IHlvdXIgREVWRUxPUE1FTlQgbWFjaGluZSwgY2QgL3Vzci9zcmMvbGludXgg
YW5kIGVudGVyICJnZGIgdm1saW51eCIuDQorV2hlbiBnZGIgZ2V0cyB0aGUg
c3ltYm9scyBsb2FkZWQgYW5kIHByb21wdHMgeW91LCBlbnRlciAicm10IiAo
dGhhdCdzDQordGhlIG1hY3JvIGZyb20gdGhlIC5nZGJpbml0IGZpbGUgdGhh
dCB5b3UganVzdCBlZGl0ZWQpLiAgSWYgZXZlcnl0aGluZw0KK2lzIHdvcmtp
bmcgY29ycmVjdGx5IHlvdSBzaG91bGQgc2VlIGdkYiBwcmludCBvdXQgYSBm
ZXcgbGluZXMgaW5kaWNhdGluZw0KK3RoYXQgYSBicmVha3BvaW50IGhhcyBi
ZWVuIHRha2VuLiAgSXQgd2lsbCBhY3R1YWxseSBzaG93IGEgbGluZSBvZg0K
K2NvZGUgaW4gdGhlIHRhcmdldCBrZXJuZWwgaW5zaWRlIHRoZSBnZGJzdHVi
IGFjdGl2YXRpb24gY29kZS4NCisNCitUaGUgZ2RiIGludGVyYWN0aW9uIHNo
b3VsZCBsb29rIHNvbWV0aGluZyBsaWtlIHRoaXM6DQorDQorICAgIGxpbnV4
LWRldjovdXNyL3NyYy9saW51eCMgZ2RiIHZtbGludXgNCisgICAgR0RCIGlz
IGZyZWUgc29mdHdhcmUgYW5kIHlvdSBhcmUgd2VsY29tZSB0byBkaXN0cmli
dXRlIGNvcGllcyBvZiBpdA0KKyAgICAgdW5kZXIgY2VydGFpbiBjb25kaXRp
b25zOyB0eXBlICJzaG93IGNvcHlpbmciIHRvIHNlZSB0aGUgY29uZGl0aW9u
cy4NCisgICAgVGhlcmUgaXMgYWJzb2x1dGVseSBubyB3YXJyYW50eSBmb3Ig
R0RCOyB0eXBlICJzaG93IHdhcnJhbnR5IiBmb3IgZGV0YWlscy4NCisgICAg
R0RCIDQuMTUuMSAoaTQ4Ni1zbGFja3dhcmUtbGludXgpLCANCisgICAgQ29w
eXJpZ2h0IDE5OTUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLi4N
CisgICAgKGdkYikgcm10DQorICAgIGJyZWFrcG9pbnQgKCkgYXQgaTM4Ni1z
dHViLmM6NzUwDQorICAgIDc1MCAgICAgfQ0KKyAgICAoZ2RiKSANCisNCisN
CitZb3UgY2FuIG5vdyB1c2Ugd2hhdGV2ZXIgZ2RiIGNvbW1hbmRzIHlvdSBs
aWtlIHRvIHNldCBicmVha3BvaW50cy4NCitFbnRlciAiY29udGludWUiIHRv
IHN0YXJ0IHlvdXIgdGFyZ2V0IG1hY2hpbmUgZXhlY3V0aW5nIGFnYWluLiAg
QXQgdGhpcw0KK3BvaW50IHRoZSB0YXJnZXQgc3lzdGVtIHdpbGwgcnVuIGF0
IGZ1bGwgc3BlZWQgdW50aWwgaXQgZW5jb3VudGVycw0KK3lvdXIgYnJlYWtw
b2ludCBvciBnZXRzIGEgc2VnbWVudCB2aW9sYXRpb24gaW4gdGhlIGtlcm5l
bCwgb3Igd2hhdGV2ZXIuDQorDQorDQorVHJpZ2dlcmluZyBnZGJzdHViIGF0
IEtlcm5lbCBCb290IFRpbWUNCis9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQ0KKw0KK1RoZSBnZGJzdHViIHBhdGNoIG5vdyBoYXMg
dGhlIGFiaWxpdHkgZm9yIGdkYiB0byBjb25uZWN0IHRvIHRoZSBrZXJuZWwg
ZHVyaW5nDQorYm9vdHVwIChhcyBvcHBvc2VkIHRvIHdhaXRpbmcgZm9yIHRo
ZSBzeXN0ZW0gdG8gY29tZSBhbGwgdGhlIHdheSB1cCBhbmQgdGhlbg0KK3J1
bm5pbmcgdGhlIGdkYnN0YXJ0IHByb2dyYW0gb24gdGhlIHRhcmdldCBtYWNo
aW5lKS4gIFRoaXMgbmV3IGZ1bmN0aW9uYWxpdHkgd2FzDQorYWRkZWQgYnkg
U2NvdHQgRm9laG5lciA8c2ZvZWhuZXJAZW5nci5zZ2kuY29tPiBhdCBTR0ku
DQorDQorVG8gZm9yY2UgYSBrZXJuZWwgdGhhdCBoYXMgYmVlbiBjb21waWxl
ZCB3aXRoIGdkYnN0dWIgdG8gcGF1c2UgZHVyaW5nIHRoZSBib290DQorcHJv
Y2VzcyBhbmQgd2FpdCBmb3IgYSBjb25uZWN0aW9uIGZyb20gZ2RiLCB0aGUg
cGFyYW10ZXIgImdkYiIgc2hvdWxkIGJlIHBhc3NlZA0KK3RvIHRoZSBrZXJu
ZWwuIFRoaXMgY2FuIGJlIGRvbmUgYnkgdHlwaW5nICJnZGIiIGFmdGVyIHRo
ZSBuYW1lIG9mIHRoZSBrZXJuZWwNCitvbiB0aGUgTElMTyBjb21tYW5kIGxp
bmUuICBUaGUgcGF0Y2ggZGVmYXVsdHMgdG8gdXNlIHR0eVMxIGF0IGEgYmF1
ZCByYXRlIG9mDQorMzg0MDAuIFRoZXNlIHBhcmFtZXRlcnMgY2FuIGJlIGNo
YW5nZWQgYnkgdXNpbmcgImdkYnR0eVM9PHBvcnQgbnVtYmVyPiIgYW5kDQor
ImdkYmJhdWQ9PGJhdWQgcmF0ZT4iIG9uIHRoZSBjb21tYW5kIGxpbmUuDQor
DQorRXhhbXBsZToNCisNCitMSUxPIGJvb3Q6IGxpbnV4IGdkYiBnZGJ0dHlT
PTEgZ2RiYmF1ZD0zODQwMA0KKw0KK05vdGUgdGhhdCB0aGlzIGNvbW1hbmQg
aXMgZW50ZXJlZCBvbiB0aGUgVEFSR0VUIG1hY2hpbmUgYXMgaXQgaXMgYm9v
dGluZw0KK3RoZSBrZXJuZWwgdGhhdCB3YXMgY29tcGlsZWQgb24gdGhlIERF
VkVMT1BNRU5UIG1hY2hpbmUuDQorDQorQW4gYWx0ZXJuYXRlIGFwcHJvYWNo
IGlzIHRvIHBsYWNlIGEgbGluZSBpbiB0aGUgL2V0Yy9saWxvLmNvbmYgZmls
ZSBvbg0KK3lvdXIgVEFSR0VUIG1hY2hpbmUuICBVbmRlciB0aGUgaGVhZGlu
ZyBmb3IgdGhlIGtlcm5lbCB0aGF0IHlvdSBpbnRlbmQNCit0byBib290LCBw
bGFjZSBhIGxpbmUgdGhhdCBsb29rcyBsaWtlIHRoaXM6DQorDQorICAgIGFw
cGVuZCA9ICJnZGIgZ2RidHR5Uz0xIGdkYmJhdWQ9Mzg0MDAiDQorDQorVGhp
cyB3aWxsIGNhdXNlIHRoZSBrZXJuZWwgdG8gZW50ZXIgdGhlIGdkYnN0dWIg
YXV0b21hdGljYWxseSBhdCBib290DQordGltZS4NCisNCitCRSBTVVJFIHRv
IHJ1biAibGlsbyIgYWZ0ZXIgY2hhbmdpbmcgdGhlIC9ldGMvbGlsby5jb25m
IGZpbGUuDQorDQorDQorVGhlICJnZGJzdGFydCIgUHJvZ3JhbQ0KKz09PT09
PT09PT09PT09PT09PT09PQ0KKw0KK1RoaXMgdXRpbGl0eSBwcm9ncmFtIGlz
IHVzZWQgdG8gc2V0IHVwIHRoZSBjb20gcG9ydCBhbmQgZGF0YSByYXRlDQor
Zm9yIHRoZSBjb25uZWN0aW9uIGZyb20gdGhlIHRhcmdldCBzeXN0ZW0gdG8g
dGhlIGRldmVsb3BtZW50IHN5c3RlbS4NCitJdHMgdXNhZ2UgaGFzIGJlZW4g
ZGVzY3JpYmVkIGFib3ZlLg0KKw0KK1RoaXMgdmVyc2lvbiBvZiB0aGUgcGF0
Y2ggdXNlcyB0aGUgc2FtZSB0dHkgaW9jdGwgZm9yIGtlcm5lbCB2ZXJzaW9u
cw0KKzIuMC4zMCBvbndhcmRzLiAgVGh1cywgdGhlIGdkYnN0YXJ0IHV0aWxp
dHkgZG9lcyBub3QgbmVlZCB0byBiZSByZS1jb21waWxlZA0KK3RvIGluc3Rh
bGwgdGhlIHBhdGNoIGluIGEgbGF0ZXIgdmVyc2lvbiBvZiB0aGUga2VybmVs
LiAgVGhlIGlvY3RsIGFkZGVkDQordG8gdGhlIGtlcm5lbCBmb3IgdGhpcyBw
dXJwb3NlIGlzIGZhciBlbm91Z2ggIm9mZiB0aGUgZW5kIiBvZiBleGlzdGlu
Zw0KK2lvY3RscyAoYXMgb2YgMi4xLjEyMCkgdGhhdCBpdCBzaG91bGQgbm90
IGludGVyZmVyZSB3aXRoIGFueSBuZXcga2VybmVsDQordHR5IGlvY3RscyBm
b3IgcXVpdGUgc29tZSB0aW1lIChmYW1vdXMgbGFzdCB3b3JkcykuDQorDQor
VGhlIHNvdXJjZSBmb3IgdGhlIGdkYnN0YXJ0IHByb2dyYW0gcmVzaWRlcyBp
biB0aGUgYXJjaC9pMzg2L2tlcm5lbCBkaXJlY3RvcnkuDQorDQorDQorRGVi
dWdnaW5nIGhpbnRzDQorPT09PT09PT09PT09PT09DQorDQorWW91IGNhbiBi
cmVhayBpbnRvIHRoZSB0YXJnZXQgbWFjaGluZSBhdCBhbnkgdGltZSBmcm9t
IHRoZSBkZXZlbG9wbWVudA0KK21hY2hpbmUgYnkgdHlwaW5nIF5DLiAgSWYg
dGhlIHRhcmdldCBtYWNoaW5lIGhhcyBpbnRlcnJ1cHRzIGVuYWJsZWQNCit0
aGlzIHdpbGwgc3RvcCBpdCBpbiB0aGUga2VybmVsIGFuZCBlbnRlciB0aGUg
ZGVidWdnZXIuDQorDQorVGhlcmUgaXMgdW5mb3J0dW5hdGVseSBubyB3YXkg
b2YgYnJlYWtpbmcgaW50byB0aGUga2VybmVsIGlmIGl0IGlzDQoraW4gYSBs
b29wIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCwgc28gaWYgdGhpcyBoYXBw
ZW5zIHRvIHlvdSB0aGVuDQoreW91IG5lZWQgdG8gcGxhY2UgZXhwbG9yYXRv
cnkgYnJlYWtwb2ludHMgb3IgcHJpbnRrJ3MgaW50byB0aGUga2VybmVsDQor
dG8gZmluZCBvdXQgd2hlcmUgaXQgaXMgbG9vcGluZy4NCisNCitUaGVyZSBp
cyBhIGNvcHkgb2YgYW4gZS1tYWlsIGluIHRoZSBrZ2RiIGRpc3RyaWJ1dGlv
biBkaXJlY3Rvcnkgd2hpY2gNCitkZXNjcmliZXMgaG93IHRvIGNyZWF0ZSBh
biBOTUkgb24gYW4gSVNBIGJ1cyBtYWNoaW5lIHVzaW5nIGEgcGFwZXINCitj
bGlwLiAgSSBoYXZlIGEgc29waGlzdGljYXRlZCB2ZXJzaW9uIG9mIHRoaXMg
bWFkZSBieSB3aXJpbmcgYSBwdXNoDQorYnV0dG9uIHN3aXRjaCBpbnRvIGEg
UEMxMDQvSVNBIGJ1cyBhZGFwdGVyIGNhcmQuICBUaGUgYWRhcHRlciBjYXJk
DQorbmljZWx5IGZ1cm5pc2hlcyB3aXJlIHdyYXAgcGlucyBmb3IgYWxsIHRo
ZSBJU0EgYnVzIHNpZ25hbHMuDQorDQorV2hlbiB5b3UgYXJlIGRvbmUgZGVi
dWdnaW5nIHRoZSBrZXJuZWwgb24gdGhlIHRhcmdldCBtYWNoaW5lIGl0IGlz
DQorYSBnb29kIGlkZWEgdG8gbGVhdmUgaXQgaW4gYSBydW5uaW5nIHN0YXRl
LiAgVGhpcyBtYWtlcyByZWJvb3RzDQorZmFzdGVyLCBieXBhc3NpbmcgdGhl
IGZzY2suICBTbyBkbyBhIGdkYiAiY29udGludWUiIGFzIHRoZSBsYXN0IGdk
Yg0KK2NvbW1hbmQgaWYgdGhpcyBpcyBwb3NzaWJsZS4gIFRvIHRlcm1pbmF0
ZSBnZGIgaXRzZWxmIG9uIHRoZSBkZXZlbG9wbWVudA0KK21hY2hpbmUgYW5k
IGxlYXZlIHRoZSB0YXJnZXQgbWFjaGluZSBydW5uaW5nLCB0eXBlIF5aIHRv
IHN1c3BlbmQgZ2RiDQorYW5kIHRoZW4ga2lsbCBpdCB3aXRoICJraWxsICUx
IiBvciBzb21ldGhpbmcgc2ltaWxhci4NCisNCitJZiBnZGJzdHViIERvZXMg
Tm90IFdvcmsNCis9PT09PT09PT09PT09PT09PT09PT09PT0NCisNCitJZiBp
dCBkb2Vzbid0IHdvcmssIHlvdSB3aWxsIGhhdmUgdG8gdHJvdWJsZXNob290
IGl0LiAgRG8gdGhlIGVhc3kgdGhpbmdzDQorZmlyc3QgbGlrZSBkb3VibGUg
Y2hlY2tpbmcgeW91ciBjYWJsaW5nIGFuZCBkYXRhIHJhdGVzLiAgWW91IG1p
Z2h0DQordHJ5IHNvbWUgbm9uLWtlcm5lbCBiYXNlZCBwcm9ncmFtcyB0byBz
ZWUgaWYgdGhlIGJhY2stdG8tYmFjayBjb25uZWN0aW9uDQord29ya3MgcHJv
cGVybHkuICBKdXN0IHNvbWV0aGluZyBzaW1wbGUgbGlrZSBjYXQgL2V0Yy9o
b3N0cyA+L2Rldi90dHlTMA0KK29uIG9uZSBtYWNoaW5lIGFuZCBjYXQgL2Rl
di90dHlTMCBvbiB0aGUgb3RoZXIgd2lsbCB0ZWxsIHlvdSBpZiB5b3UNCitj
YW4gc2VuZCBkYXRhIGZyb20gb25lIG1hY2hpbmUgdG8gdGhlIG90aGVyLiAg
VGhlcmUgaXMgbm8gcG9pbnQgaW4gdGVhcmluZw0KK291dCB5b3VyIGhhaXIg
aW4gdGhlIGtlcm5lbCBpZiB0aGUgbGluZSBkb2Vzbid0IHdvcmsuDQorDQor
QWxsIG9mIHRoZSByZWFsIGFjdGlvbiB0YWtlcyBwbGFjZSBpbiB0aGUgZmls
ZQ0KKy91c3Ivc3JjL2xpbnV4L2FyY2gvaTM4Ni9rZXJuZWwvZ2Ric3R1Yi5j
LiAgVGhhdCBpcyB0aGUgY29kZSBvbiB0aGUgdGFyZ2V0DQorbWFjaGluZSB0
aGF0IGludGVyYWN0cyB3aXRoIGdkYiBvbiB0aGUgZGV2ZWxvcG1lbnQgbWFj
aGluZS4gIEluIGdkYiB5b3UgY2FuDQordHVybiBvbiBhIGRlYnVnIHN3aXRj
aCB3aXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZDoNCisNCisJc2V0IHJlbW90
ZWRlYnVnDQorDQorVGhpcyB3aWxsIHByaW50IG91dCB0aGUgcHJvdG9jb2wg
bWVzc2FnZXMgdGhhdCBnZGIgaXMgZXhjaGFuZ2luZyB3aXRoDQordGhlIHRh
cmdldCBtYWNoaW5lLg0KKw0KK0Fub3RoZXIgcGxhY2UgdG8gbG9vayBpcyAv
dXNyL3NyYy9saW51eC9kcml2ZXJzL2NoYXIvZ2Ric2VyaWFsLmMNCitUaGF0
IGlzIHRoZSBjb2RlIHRoYXQgdGFsa3MgdG8gdGhlIHNlcmlhbCBwb3J0IG9u
IHRoZSB0YXJnZXQgc2lkZS4NCitUaGVyZSBtaWdodCBiZSBhIHByb2JsZW0g
dGhlcmUuDQorDQorSWYgeW91IGFyZSByZWFsbHkgZGVzcGVyYXRlIHlvdSBj
YW4gdXNlIHByaW50ayBkZWJ1Z2dpbmcgaW4gdGhlDQorZ2Ric3R1YiBjb2Rl
IGluIHRoZSB0YXJnZXQga2VybmVsIHVudGlsIHlvdSBnZXQgaXQgd29ya2lu
Zy4gIEluIHBhcnRpY3VsYXIsDQordGhlcmUgaXMgYSBnbG9iYWwgdmFyaWFi
bGUgaW4gL3Vzci9zcmMvbGludXgvYXJjaC9pMzg2L2tlcm5lbC9nZGJzdHVi
LmMNCituYW1lZCAicmVtb3RlX2RlYnVnIi4gIENvbXBpbGUgeW91ciBrZXJu
ZWwgd2l0aCB0aGlzIHNldCB0byAxLCByYXRoZXINCit0aGFuIDAgYW5kIHRo
ZSBkZWJ1ZyBzdHViIHdpbGwgcHJpbnQgb3V0IGxvdHMgb2Ygc3R1ZmYgYXMg
aXQgZG9lcw0KK3doYXQgaXQgZG9lcy4NCisNCisNCitEZWJ1Z2dpbmcgTG9h
ZGFibGUgTW9kdWxlcw0KKz09PT09PT09PT09PT09PT09PT09PT09PT09DQor
DQorVGhpcyB0ZWNobmlxdWUgY29tZXMgY291cnRlc3kgb2YgRWRvdWFyZCBQ
YXJtZWxhbg0KKzxFZG91YXJkLlBhcm1lbGFuQHF1YWRyYXRlYy5mcj4NCisN
CitXaGVuIHlvdSBydW4gZ2RiLCBlbnRlciB0aGUgY29tbWFuZA0KKw0KK3Nv
dXJjZSBnZGJpbml0LW1vZHVsZXMNCisNCitUaGlzIHdpbGwgcmVhZCBpbiBh
IGZpbGUgb2YgZ2RiIG1hY3JvcyB0aGF0IHdhcyBpbnN0YWxsZWQgaW4geW91
cg0KK2tlcm5lbCBzb3VyY2UgZGlyZWN0b3J5IHdpdGgga2dkYiB3YXMgaW5z
dGFsbGVkLiAgVGhpcyBmaWxlIGltcGxlbWVudHMNCit0aGUgZm9sbG93aW5n
IGNvbW1hbmRzOg0KKw0KK21vZC1saXN0DQorICAgIExpc3RzIHRoZSBsb2Fk
ZWQgbW9kdWxlcyBpbiB0aGUgZm9ybSA8bW9kdWxlLWFkZHJlc3M+IDxtb2R1
bGUtbmFtZT4NCisNCittb2QtcHJpbnQtc3ltYm9scyA8bW9kdWxlLWFkZHJl
c3M+DQorICAgIFByaW50cyBhbGwgdGhlIHN5bWJvbHMgaW4gdGhlIGluZGlj
YXRlZCBtb2R1bGUuDQorDQorbW9kLWFkZC1zeW1ib2xzIDxtb2R1bGUtYWRk
cmVzcz4gPG9iamVjdC1maWxlLXBhdGgtbmFtZT4NCisgICAgTG9hZHMgdGhl
IHN5bWJvbHMgZnJvbSB0aGUgb2JqZWN0IGZpbGUgYW5kIGFzc29jaWF0ZXMg
dGhlbQ0KKyAgICB3aXRoIHRoZSBpbmRpY2F0ZWQgbW9kdWxlLg0KKw0KK0Fm
dGVyIHlvdSBoYXZlIGxvYWRlZCB0aGUgbW9kdWxlIHRoYXQgeW91IHdhbnQg
dG8gZGVidWcsIHVzZSB0aGUgY29tbWFuZA0KK21vZC1saXN0IHRvIGZpbmQg
dGhlIDxtb2R1bGUtYWRkcmVzcz4gb2YgeW91ciBtb2R1bGUuICBUaGVuIHVz
ZSB0aGF0DQorYWRkcmVzcyBpbiB0aGUgbW9kLWFkZC1zeW1ib2xzIGNvbW1h
bmQgdG8gbG9hZCB5b3VyIG1vZHVsZSdzIHN5bWJvbHMuDQorRnJvbSB0aGF0
IHBvaW50IG9ud2FyZCB5b3UgY2FuIGRlYnVnIHlvdXIgbW9kdWxlIGFzIGlm
IGl0IHdlcmUgYSBwYXJ0DQorb2YgdGhlIGtlcm5lbC4NCisNCitUaGUgZmls
ZSBnZGJpbml0LW1vZHVsZXMgYWxzbyBjb250YWlucyBhIGNvbW1hbmQgbmFt
ZWQgbW9kLWFkZC1saXMgYXMNCithbiBleGFtcGxlIG9mIGhvdyB0byBjb25z
dHJ1Y3QgYSBjb21tYW5kIG9mIHlvdXIgb3duIHRvIGxvYWQgeW91cg0KK2Zh
dm9yaXRlIG1vZHVsZS4gIFRoZSBpZGVhIGlzIHRvICJjYW4iIHRoZSBwYXRo
bmFtZSBvZiB0aGUgbW9kdWxlDQoraW4gdGhlIGNvbW1hbmQgc28geW91IGRv
bid0IGhhdmUgdG8gdHlwZSBzbyBtdWNoLg0KKw0KK1RocmVhZHMNCis9PT09
PT09DQorDQorRWFjaCBwcm9jZXNzIGluIGEgdGFyZ2V0IG1hY2hpbmUgaXMg
c2VlbiBhcyBhIGdkYiB0aHJlYWQuIGdkYiB0aHJlYWQgcmVsYXRlZA0KK2Nv
bW1hbmRzIChpbmZvIHRocmVhZHMsIHRocmVhZCBuKSBjYW4gYmUgdXNlZC4g
DQorDQoraWEtMzIgaGFyZHdhcmUgYnJlYWtwb2ludHMNCis9PT09PT09PT09
PT09PT09PT09PT09PT09PQ0KKw0KK2dkYiBzdHViIGNvbnRhaW5zIHN1cHBv
cnQgZm9yIGhhcmR3YXJlIGJyZWFrcG9pbnRzIHVzaW5nIGRlYnVnZ2luZyBm
ZWF0dXJlcw0KK29mIGlhLTMyKHg4NikgcHJvY2Vzc29ycy4gVGhlc2UgYnJl
YWtwb2ludHMgZG8gbm90IG5lZWQgY29kZSBtb2RpZmljYXRpb24uDQorVGhl
eSB1c2UgZGVidWdnaW5nIHJlZ2lzdGVycy4gNCBoYXJkd2FyZSBicmVha3Bv
aW50cyBhcmUgYXZhaWxhYmxlIGluIGlhLTMyDQorcHJvY2Vzc29ycy4NCisN
CitFYWNoIGhhcmR3YXJlIGJyZWFrcG9pbnQgY2FuIGJlIG9mIG9uZSBvZiB0
aGUgZm9sbG93aW5nIHRocmVlIHR5cGVzLg0KKzEuIEV4ZWN1dGlvbiBicmVh
a3BvaW50IC0gQW4gRXhlY3V0aW9uIGJyZWFrcG9pbnQgaXMgdHJpZ2dlcmVk
IHdoZW4gY29kZSBhdCB0aGUNCisJYnJlYWtwb2ludCBhZGRyZXNzIGlzIGV4
ZWN1dGVkLg0KKw0KKwlBcyBsaW1pdGVkIG51bWJlciBvZiBoYXJkd2FyZSBi
cmVha3BvaW50cyBhcmUgYXZhaWxhYmxlLCBpdCBpcyBhZHZpc2FibGUNCisJ
dG8gdXNlIHNvZnR3YXJlIGJyZWFrcG9pbnRzICggYnJlYWsgY29tbWFuZCAp
IGluc3RlYWQgb2YgZXhlY3V0aW9uDQorCWhhcmR3YXJlIGJyZWFrcG9pbnRz
LCB1bmxlc3MgbW9kaWZpY2F0aW9uIG9mIGNvZGUgaXMgdG8gYmUgYXZvaWRl
ZC4NCisNCisyLiBXcml0ZSBicmVha3BvaW50IC0gQSB3cml0ZSBicmVha3Bv
aW50IGlzIHRyaWdnZXJlZCB3aGVuIG1lbW9yeSBsb2NhdGlvbiBhdCB0aGUN
CisJYnJlYWtwb2ludCBhZGRyZXNzIGlzIHdyaXR0ZW4uDQorDQorCUEgd3Jp
dGUgb3IgY2FuIGJlIHBsYWNlZCBmb3IgZGF0YSBvZiB2YXJpYWJsZSBsZW5n
dGguIExlbmd0aCBvZiBhIHdyaXRlDQorCWJyZWFrcG9pbnQgaW5kaWNhdGVz
IGxlbmd0aCBvZiB0aGUgZGF0YXR5cGUgdG8gYmUgd2F0Y2hlZC4gTGVuZ3Ro
IGlzIDENCisJZm9yIDEgYnl0ZSBkYXRhICwgMiBmb3IgMiBieXRlIGRhdGEs
IDMgZm9yIDQgYnl0ZSBkYXRhLg0KKw0KKzMuIEFjY2VzcyBicmVha3BvaW50
IC0gQW4gYWNjZXNzIGJyZWFrcG9pbnQgaXMgdHJpZ2dlcmVkIHdoZW4gbWVt
b3J5IGxvY2F0aW9uIGF0DQorCXRoZSBicmVha3BvaW50IGFkZHJlc3MgaXMg
ZWl0aGVyIHJlYWQgb3Igd3JpdHRlbi4NCisNCisJQWNjZXNzIGJyZWFrcG9p
bnRzIGFsc28gaGF2ZSBsZW5ndGhzIHNpbWlsYXIgdG8gd3JpdGUgYnJlYWtw
b2ludHMuDQorDQorSU8gYnJlYWtwb2ludHMgaW4gaWEtMzIgYXJlIG5vdCBz
dXBwb3J0ZWQuDQorDQorU2luY2UgZ2RiIHN0dWIgYXQgcHJlc2VudCBkb2Vz
IG5vdCB1c2UgdGhlIHByb3RvY29sIHVzZWQgYnkgZ2RiIGZvciBoYXJkd2Fy
ZQ0KK2JyZWFrcG9pbnRzLCBoYXJkd2FyZSBicmVha3BvaW50cyBhcmUgYWNj
ZXNzZWQgdGhyb3VnaCBnZGIgbWFjcm9zLiBnZGIgbWFjcm9zDQorZm9yIGhh
cmR3YXJlIGJyZWFrcG9pbnRzIGFyZSBkZXNjcmliZWQgYmVsb3cuDQorDQor
aHdlYnJrCS0gUGxhY2VzIGFuIGV4ZWN1dGlvbiBicmVha3BvaW50DQorCWh3
ZWJyayBicmVha3BvaW50bm8gYWRkcmVzcw0KK2h3d2JyawktIFBsYWNlcyBh
IHdyaXRlIGJyZWFrcG9pbnQNCisJaHd3YnJrIGJyZWFrcG9pbnRubyBsZW5n
dGggYWRkcmVzcw0KK2h3YWJyawktIFBsYWNlcyBhbiBhY2Nlc3MgYnJlYWtw
b2ludA0KKwlod2FicmsgYnJlYWtwb2ludG5vIGxlbmd0aCBhZGRyZXNzDQor
aHdybWJyawktIFJlbW92ZXMgYSBicmVha3BvaW50DQorCWh3cm1icmsgYnJl
YWtwb2ludG5vDQorZXhpbmZvCS0gVGVsbHMgd2hldGhlciBhIHNvZnR3YXJl
IG9yIGhhcmR3YXJlIGJyZWFrcG9pbnQgaGFzIG9jY3VyZWQuDQorCVByaW50
cyBudW1iZXIgb2YgdGhlIGhhcmR3YXJlIGJyZWFrcG9pbnQgaWYgYSBoYXJk
d2FyZSBicmVha3BvaW50IGhhcw0KKwlvY2N1cmVkLg0KKw0KK0FyZ3VtZW50
cyByZXF1aXJlZCBieSB0aGVzZSBjb21tYW5kcyBhcmUgYXMgZm9sbG93cw0K
K2JyZWFrcG9pbnRubwktIDAgdG8gMw0KK2xlbmd0aAkJLSAxIHRvIDMNCith
ZGRyZXNzCQktIE1lbW9yeSBsb2NhdGlvbiBpbiBoZXggZGlnaXRzICggd2l0
aG91dCAweCApIGUuZyBjMDE1ZTliYw0KKw0KK01QIHN1cHBvcnQNCis9PT09
PT09PT09DQorDQorV2hlbiBhIGJyZWFrcG9pbnQgb2NjdXJzIG9yIHVzZXIg
aXNzdWVzIGEgYnJlYWsgKCBDdHJsICsgQyApIHRvIGdkYiBjbGllbnQsDQor
YWxsIHRoZSBwcm9jZXNzb3JzIGFyZSBmb3JjZWQgdG8gZW50ZXIgdGhlIGRl
YnVnZ2VyLiBDdXJyZW50IHRocmVhZA0KK2NvcnJlc3BvbmRzIHRvIHRoZSB0
aHJlYWQgcnVubmluZyBvbiB0aGUgcHJvY2Vzc29yIHdoZXJlIGJyZWFrcG9p
bnQgb2NjdXJlZC4NCitUaHJlYWRzIHJ1bm5pbmcgb24gb3RoZXIgcHJvY2Vz
c29yKHMpIGFwcGVhciBzaW1pbGFyIHRvIG90aGVyIG5vbiBydW5uaW5nDQor
dGhyZWFkcyBpbiB0aGUgJ2luZm8gdGhyZWFkcycgb3V0cHV0Lg0KKw0KK2lh
LTMyIGhhcmR3YXJlIGRlYnVnZ2luZyByZWdpc3RlcnMgb24gYWxsIHByb2Nl
c3NvcnMgYXJlIHNldCB0byBzYW1lIHZhbHVlcy4NCitIZW5jZSBhbnkgaGFy
ZHdhcmUgYnJlYWtwb2ludHMgbWF5IG9jY3VyIG9uIGFueSBwcm9jZXNzb3Iu
DQorDQorZ2RiIHRyb3VibGVzaG9vdGluZw0KKz09PT09PT09PT09PT09PT09
PT0NCisNCisxLiBnZGIgaGFuZ3MNCitLaWxsIGl0LiByZXN0YXJ0IGdkYi4g
Q29ubmVjdCB0byB0YXJnZXQgbWFjaGluZS4NCisNCisyLiBnZGIgY2Fubm90
IGNvbm5lY3QgdG8gdGFyZ2V0IG1hY2hpbmUgKGFmdGVyIGtpbGxpbmcgYSBn
ZGIgYW5kIHJlc3RhcnRpbmcNCithbm90aGVyKQ0KK0lmIHRoZSB0YXJnZXQg
bWFjaGluZSB3YXMgbm90IGluc2lkZSBkZWJ1Z2dlciB3aGVuIHlvdSBraWxs
ZWQgZ2RiLCBnZGIgY2Fubm90DQorY29ubmVjdCBiZWNhdXNlIHRoZSB0YXJn
ZXQgbWFjaGluZSB3b24ndCByZXNwb25kLg0KK0luIHRoaXMgY2FzZSBlY2hv
ICJDdHJsK0MiKGFzY2lpIDMpIGluIHRoZSBzZXJpYWwgbGluZS4NCitlLmcu
IGVjaG8gLWUgIlwwMDMiID4gL2Rldi90dHlTMSANCitUaGlzIGZvcmNlcyB0
aGF0IHRhcmdldCBtYWNoaW5lIGludG8gZGVidWdnZXIgYWZ0ZXIgd2hpY2gg
eW91IGNhbiBjb25uZWN0Lg0KKw0KKzMuIGdkYiBjYW5ub3QgY29ubmVjdCBl
dmVuIGFmdGVyIGVjaG9pbmcgQ3RybCtDIGludG8gc2VyaWFsIGxpbmUNCitU
cnkgY2hhbmdpbmcgc2VyaWFsIGxpbmUgc2V0dGluZ3MgbWluIHRvIDEgYW5k
IHRpbWUgdG8gMA0KK2UuZy4gc3R0eSBtaW4gMSB0aW1lIDAgPCAvZGV2L3R0
eVMxDQorVHJ5IGVjaG9pbmcgYWdhaW4NCisNCitjaGVjayBzZXJpYWwgbGlu
ZSBzcGVlZCBhbmQgc2V0IGl0IHRvIGNvcnJlY3QgdmFsdWUgaWYgcmVxdWly
ZWQNCitlLmcuIHN0dHkgaXNwZWVkIDExNTIwMCBvc3BlZWQgMTE1MjAwIDwg
L2Rldi90dHlTMQ0KKw0KK0ZpbmFsIEl0ZW1zDQorPT09PT09PT09PT0NCisN
CitJIHBpY2tlZCB1cCB0aGlzIGNvZGUgZnJvbSBEYXZlIEdyb3RoZSBhbmQg
ZW5oYW5jZWQgaXQuDQorDQorSWYgeW91IG1ha2Ugc29tZSByZWFsbHkgY29v
bCBtb2RpZmljYXRpb24gdG8gdGhpcyBzdHVmZiwgb3IgaWYgeW91IA0KK2Zp
eCBhIGJ1ZywgcGxlYXNlIGxldCBtZSBrbm93Lg0KKw0KK0FtaXQgUy4gS2Fs
ZQ0KKzxha2FsZUB2ZXJpdGFzLmNvbT4NCisNCisoRmlyc3Qga2dkYiBieSBE
YXZpZCBHcm90aGUgPGRhdmVAZ2NvbS5jb20+KQ0KKw0KKyhtb2RpZmllZCBi
eSBUaWdyYW4gQWl2YXppYW4gPHRpZ3JhbkBzY28uY29tPikNCisgICAgUHV0
dGluZyBnZGJzdHViIGludG8gdGhlIGtlcm5lbCBjb25maWcgbWVudS4NCisN
CisobW9kaWZpZWQgYnkgU2NvdHQgRm9laG5lciA8c2ZvZWhuZXJAZW5nci5z
Z2kuY29tPikNCisgICAgSG9va3MgZm9yIGVudGVyaW5nIGdkYnN0dWIgYXQg
Ym9vdCB0aW1lLg0KKw0KKyhtb2RpZmllZCBieSBBbWl0IFMuIEthbGUgPGFr
YWxlQHZlcml0YXMuY29tPikNCisgICAgVGhyZWFkcywgaWEtMzIgaHcgZGVi
dWdnaW5nLCBtcCBzdXBwb3J0LCBjb25zb2xlIHN1cHBvcnQsDQorICAgIG5t
aSB3YXRjaGRvZyBoYW5kbGluZy4NCi0tLSBsaW51eC0yLjQuMTgvYXJjaC9p
Mzg2L01ha2VmaWxlCVR1ZSBKdWwgMTAgMTk6MTk6MDcgMjAwMQ0KKysrIGxp
bnV4L2FyY2gvaTM4Ni9NYWtlZmlsZQlGcmkgTWFyIDI5IDIwOjQ1OjEyIDIw
MDINCkBAIC0xMDUsNiArMTA1LDExIEBADQogCSQoTUFLRSkgbGludXhzdWJk
aXJzIFNVQkRJUlM9YXJjaC9pMzg2L21tDQogDQogTUFLRUJPT1QgPSAkKE1B
S0UpIC1DIGFyY2gvJChBUkNIKS9ib290DQoraWZlcSAoJChDT05GSUdfWDg2
X1JFTU9URV9ERUJVRykseSkNCitDTEVBTktFUk5FTCA9ICQoTUFLRSkgLUMg
YXJjaC8kKEFSQ0gpL2tlcm5lbCBrZXJuZWxjbGVhbg0KK2Vsc2UNCitDTEVB
TktFUk5FTCA9DQorZW5kaWYNCiANCiB2bWxpbnV4OiBhcmNoL2kzODYvdm1s
aW51eC5sZHMNCiANCkBAIC0xNDAsNiArMTQ1LDcgQEANCiANCiBhcmNoY2xl
YW46DQogCUAkKE1BS0VCT09UKSBjbGVhbg0KKwlAJChDTEVBTktFUk5FTCkN
CiANCiBhcmNobXJwcm9wZXI6DQogDQotLS0gZGlzdC0yLjQuMjAvYXJjaC9p
Mzg2L2NvbmZpZy5pbglTdW4gQXByIDIwIDEyOjAyOjE5IDIwMDMNCisrKyBs
aW51eC0yLjQuMjAvYXJjaC9pMzg2L2NvbmZpZy5pbglTYXQgQXByIDEyIDE1
OjM5OjI1IDIwMDMNCkBAIC00NTEsNiArNDUxLDEzIEBADQogICAgYm9vbCAn
ICBNYWdpYyBTeXNScSBrZXknIENPTkZJR19NQUdJQ19TWVNSUQ0KICAgIGJv
b2wgJyAgU3BpbmxvY2sgZGVidWdnaW5nJyBDT05GSUdfREVCVUdfU1BJTkxP
Q0sNCiAgICBib29sICcgIENvbXBpbGUgdGhlIGtlcm5lbCB3aXRoIGZyYW1l
IHBvaW50ZXJzJyBDT05GSUdfRlJBTUVfUE9JTlRFUg0KKyAgIGJvb2wgJ0tH
REI6IFJlbW90ZSAoc2VyaWFsKSBrZXJuZWwgZGVidWdnaW5nIHdpdGggZ2Ri
JyBDT05GSUdfWDg2X1JFTU9URV9ERUJVRw0KKyAgIGlmIFsgIiRDT05GSUdf
WDg2X1JFTU9URV9ERUJVRyIgIT0gIm4iIF07IHRoZW4NCisgICAgICBkZWZp
bmVfYm9vbCBDT05GSUdfS0dEQiB5DQorICAgICAgYm9vbCAnS0dEQjogVGhy
ZWFkIGFuYWx5c2lzJyBDT05GSUdfS0dEQl9USFJFQUQNCisgICAgICBib29s
ICdLR0RCOiBDb25zb2xlIG1lc3NhZ2VzIHRocm91Z2ggZ2RiJyBDT05GSUdf
R0RCX0NPTlNPTEUNCisgICAgICBib29sICdLR0RCOiBFbmFibGUga2VybmVs
IGFzc2VydHMnIENPTkZJR19LRVJORUxfQVNTRVJUUw0KKyAgIGZpDQogZmkN
CiANCiBlbmRtZW51DQotLS0gbGludXgtMi40LjE4L2FyY2gvaTM4Ni9rZXJu
ZWwvTWFrZWZpbGUJU3VuIEphbiAxMyAxMzowNzo1OCAyMDAyDQorKysgbGlu
dXgvYXJjaC9pMzg2L2tlcm5lbC9NYWtlZmlsZQlGcmkgTWFyIDI5IDIwOjQ1
OjEyIDIwMDINCkBAIC0xMCw3ICsxMCwxNSBAQA0KIC5TLm86DQogCSQoQ0Mp
ICQoQUZMQUdTKSAtdHJhZGl0aW9uYWwgLWMgJDwgLW8gJCoubw0KIA0KLWFs
bDoga2VybmVsLm8gaGVhZC5vIGluaXRfdGFzay5vDQoraWZlcSAoJChDT05G
SUdfWDg2X1JFTU9URV9ERUJVRykseSkNCitHREJTVEFSVD1nZGJzdGFydA0K
K0dEQkNMRUFOPSAtcm0gLWYgZ2Ric3RhcnQgL3NiaW4vZ2Ric3RhcnQNCitl
bHNlDQorR0RCU1RBUlQ9DQorR0RCQ0xFQU49DQorZW5kaWYNCisNCithbGw6
IGtlcm5lbC5vIGhlYWQubyBpbml0X3Rhc2subyAkKEdEQlNUQVJUKQ0KIA0K
IE9fVEFSR0VUIDo9IGtlcm5lbC5vDQogDQpAQCAtMzIsNiArNDAsNyBAQA0K
IA0KIG9iai0kKENPTkZJR19NQ0EpCQkrPSBtY2Eubw0KIG9iai0kKENPTkZJ
R19NVFJSKQkJKz0gbXRyci5vDQorb2JqLSQoQ09ORklHX1g4Nl9SRU1PVEVf
REVCVUcpCSs9IGdkYnN0dWIubw0KIG9iai0kKENPTkZJR19YODZfTVNSKQkJ
Kz0gbXNyLm8NCiBvYmotJChDT05GSUdfWDg2X0NQVUlEKQkJKz0gY3B1aWQu
bw0KIG9iai0kKENPTkZJR19NSUNST0NPREUpCQkrPSBtaWNyb2NvZGUubw0K
QEAgLTQxLDQgKzUwLDkgQEANCiBvYmotJChDT05GSUdfWDg2X0lPX0FQSUMp
CSs9IGlvX2FwaWMubyBhY3BpdGFibGUubw0KIG9iai0kKENPTkZJR19YODZf
VklTV1NfQVBJQykJKz0gdmlzd3NfYXBpYy5vDQogDQorZ2Ric3RhcnQ6CWdk
YnN0YXJ0Lm8NCisJCSR7SE9TVENDfSAtbyBnZGJzdGFydCBnZGJzdGFydC5v
DQorDQora2VybmVsY2xlYW46CWR1bW15DQorDQogaW5jbHVkZSAkKFRPUERJ
UikvUnVsZXMubWFrZQ0KLS0tIGxpbnV4LTIuNC4xOC9hcmNoL2kzODYva2Vy
bmVsL2VudHJ5LlMJU3VuIE1hciAyNCAxNjoxNjozMSAyMDAyDQorKysgbGlu
dXgvYXJjaC9pMzg2L2tlcm5lbC9lbnRyeS5TCUZyaSBNYXIgMjkgMjA6NDU6
MTIgMjAwMg0KQEAgLTI1Niw3ICsyNTYsNyBAQA0KIA0KIAlBTElHTg0KIHJl
c2NoZWR1bGU6DQotCWNhbGwgU1lNQk9MX05BTUUoc2NoZWR1bGUpICAgICMg
dGVzdA0KKwljYWxsIFNZTUJPTF9OQU1FKHVzZXJfc2NoZWR1bGUpICAgICMg
dGVzdA0KIAlqbXAgcmV0X2Zyb21fc3lzX2NhbGwNCiANCiBFTlRSWShkaXZp
ZGVfZXJyb3IpDQpAQCAtMzk0LDYgKzM5NCwzMSBAQA0KIAlwdXNobCAkIFNZ
TUJPTF9OQU1FKGRvX3NwdXJpb3VzX2ludGVycnVwdF9idWcpDQogCWptcCBl
cnJvcl9jb2RlDQogDQorI2lmZGVmIENPTkZJR19LR0RCX1RIUkVBRA0KK0VO
VFJZKGtlcm5fc2NoZWR1bGUpDQorCXB1c2hsCSVlYnANCisJbW92bAklZXNw
LCAlZWJwDQorCXB1c2hsCSVzcwkJDQorCXB1c2hsCSVlYnANCisJcHVzaGZs
DQorCXB1c2hsCSVjcw0KKwlwdXNobAk0KCVlYnApDQorCXB1c2hsCSVlYXgJ
CQ0KKwlwdXNobAklZXMNCisJcHVzaGwJJWRzDQorCXB1c2hsCSVlYXgNCisJ
cHVzaGwJKCVlYnApDQorCXB1c2hsCSVlZGkNCisJcHVzaGwJJWVzaQ0KKwlw
dXNobAklZWR4DQorCXB1c2hsCSVlY3gNCisJcHVzaGwJJWVieA0KKwljYWxs
CWtlcm5fZG9fc2NoZWR1bGUNCisJbW92bAklZWJwLCAlZXNwDQorCXBvcAkl
ZWJwDQorCXJldA0KKyNlbmRpZg0KKw0KIC5kYXRhDQogRU5UUlkoc3lzX2Nh
bGxfdGFibGUpDQogCS5sb25nIFNZTUJPTF9OQU1FKHN5c19uaV9zeXNjYWxs
KQkvKiAwICAtICBvbGQgInNldHVwKCkiIHN5c3RlbSBjYWxsKi8NCi0tLSBs
aW51eC0yLjQuMTgvYXJjaC9pMzg2L2tlcm5lbC9nZGJzdGFydC5jCVRodSBK
YW4gIDEgMDU6MzA6MDAgMTk3MA0KKysrIGxpbnV4L2FyY2gvaTM4Ni9rZXJu
ZWwvZ2Ric3RhcnQuYwlGcmkgTWFyIDI5IDIwOjQ1OjEyIDIwMDINCkBAIC0w
LDAgKzEsMTQ2IEBADQorLyoNCisgKiBUaGlzIHByb2dyYW0gb3BlbnMgYSB0
dHkgZmlsZSBhbmQgaXNzdWVzIHRoZSBHREIgc3R1YiBhY3RpdmF0aW5nDQor
ICogaW9jdGwgb24gaXQuDQorICovDQorDQorI2luY2x1ZGUgPHN5cy90eXBl
cy5oPg0KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KKyNpbmNsdWRlIDxhc20v
aW9jdGxzLmg+DQorI2luY2x1ZGUgPHN0ZGlvLmg+DQorI2luY2x1ZGUgPHN0
cmluZy5oPg0KKyNpbmNsdWRlIDxmY250bC5oPg0KKyNpbmNsdWRlIDxzeXMv
aW9jdGwuaD4NCisjaW5jbHVkZSA8c3RkbGliLmg+DQorI2luY2x1ZGUgPHRl
cm1pb3MuaD4NCisjaW5jbHVkZSA8dW5pc3RkLmg+DQorDQorY2hhcgkJKnR0
eV9uYW1lID0gIi9kZXYvdHR5UzAiIDsJLyogQ09NMSBwb3J0ICovDQoraW50
CQkgc3BlZWQgPSA5NjAwIDsJCQkvKiBkZWZhdWx0IHNwZWVkICovDQorc3Ry
dWN0IHRlcm1pb3MJIHNhdmVfdHMgOwkJCS8qIG9yaWdpbmFsIHRlcm0gc3Ry
dWN0ICovDQorDQordm9pZCBwcmludF91c2FnZSh2b2lkKQ0KK3sNCisgICAg
cHJpbnRmKCJnZGJzdHViIFstcyBzcGVlZF0gWy10IHR0eS1kZXZdXG4iKSA7
DQorICAgIHByaW50ZigiICBkZWZhdWx0czogIC9kZXYvdHR5UzAgd2l0aCBz
cGVlZCB1bm1vZGlmaWVkIGJ5IHRoaXMgcHJvZ3JhbVxuIik7DQorDQorfSAv
KiBwcmludF91c2FnZSAqLw0KKw0KK3ZvaWQgdHR5X2VycihjaGFyICptc2cp
DQorew0KKyAgICBjaGFyCWJ1ZlsxMDBdIDsNCisNCisgICAgc3RyY3B5KGJ1
ZiwgbXNnKSA7DQorICAgIHN0cmNhdChidWYsICI6ICIpIDsNCisgICAgc3Ry
Y2F0KGJ1ZiwgdHR5X25hbWUpIDsNCisgICAgcGVycm9yKGJ1ZikgOw0KKyAg
ICBleGl0KDEpIDsNCisNCit9IC8qIHR0eV9lcnIgKi8NCisNCisNCit2b2lk
IHNldHVwX3Rlcm0oaW50IGZkKQ0KK3sNCisgICAgc3RydWN0IHRlcm1pb3MJ
dHMgOw0KKyAgICBpbnQJCQlzcGVlZF9jb2RlIDsNCisNCisgICAgaWYgKHRj
Z2V0YXR0cihmZCwgJnRzKSA8IDApIHR0eV9lcnIoInRjZ2V0YXR0ciIpIDsN
CisNCisgICAgc2F2ZV90cyA9IHRzIDsNCisgICAgc3dpdGNoIChzcGVlZCkN
CisgICAgew0KKyAgICBjYXNlIDQ4MDA6DQorCXNwZWVkX2NvZGUgPSBCNDgw
MCA7DQorCWJyZWFrIDsNCisgICAgY2FzZSA5NjAwOg0KKwlzcGVlZF9jb2Rl
ID0gQjk2MDAgOw0KKwlicmVhayA7DQorICAgIGNhc2UgMTkyMDA6DQorCXNw
ZWVkX2NvZGUgPSBCMTkyMDAgOw0KKwlicmVhayA7DQorICAgIGNhc2UgMzg0
MDA6DQorCXNwZWVkX2NvZGUgPSBCMzg0MDAgOw0KKwlicmVhayA7DQorICAg
IGNhc2UgNTc2MDA6DQorCXNwZWVkX2NvZGUgPSBCNTc2MDAgOw0KKwlicmVh
ayA7DQorICAgIGNhc2UgMTE1MjAwOg0KKwlzcGVlZF9jb2RlID0gQjExNTIw
MCA7DQorCWJyZWFrIDsNCisgICAgY2FzZSAyMzA0MDA6DQorCXNwZWVkX2Nv
ZGUgPSBCMjMwNDAwIDsNCisJYnJlYWsgOw0KKyAgICBkZWZhdWx0Og0KKwlw
cmludGYoIkludmFsaWQgc3BlZWQ6ICVkXG4iLCBzcGVlZCkgOw0KKwlleGl0
KDEpIDsNCisgICAgfQ0KKw0KKyAgICB0cy5jX2NmbGFnID0gQ1M4IHwgQ1JF
QUQgfCBDTE9DQUwgOw0KKyAgICBpZiAoY2ZzZXRvc3BlZWQoJnRzLCBzcGVl
ZF9jb2RlKSA8IDApIHR0eV9lcnIoImNmc2V0b3NwZWVkIikgOw0KKyAgICBp
ZiAoY2ZzZXRpc3BlZWQoJnRzLCBzcGVlZF9jb2RlKSA8IDApIHR0eV9lcnIo
ImNmc2V0aXNwZWVkIikgOw0KKw0KKyAgICBpZiAodGNzZXRhdHRyKGZkLCBU
Q1NBTk9XLCAmdHMpIDwgMCkgdHR5X2VycigidGNzZXRhdHRyIikgOw0KKw0K
K30gLyogc2V0dXBfdGVybSAqLw0KKw0KK3ZvaWQgbWFpbihpbnQgYXJnYywg
Y2hhciAqKmFyZ3YpDQorew0KKyAgICBpbnQJCW9wdCA7DQorICAgIGludAkJ
ZmlsIDsNCisgICAgaW50CQlyc2x0IDsNCisNCisgICAgd2hpbGUgKChvcHQg
PSBnZXRvcHQoYXJnYywgYXJndiwgImhzOnQ6IikpID4gMCkNCisgICAgew0K
Kwlzd2l0Y2ggKG9wdCkNCisJew0KKwljYXNlICdzJzoNCisJICAgIHNwZWVk
ID0gYXRvbChvcHRhcmcpIDsNCisJICAgIGJyZWFrIDsNCisJY2FzZSAndCc6
DQorCSAgICB0dHlfbmFtZSA9IG9wdGFyZyA7DQorCSAgICBicmVhayA7DQor
CWNhc2UgJzonOg0KKwkgICAgcHJpbnRmKCJJbnZhbGlkIG9wdGlvblxuIikg
Ow0KKwkgICAgYnJlYWsgOw0KKwljYXNlICc/JzoNCisJY2FzZSAnaCc6DQor
CWRlZmF1bHQ6DQorCSAgICBwcmludF91c2FnZSgpIDsNCisJICAgIHJldHVy
biA7DQorCX0NCisgICAgfQ0KKw0KKyAgICBmaWwgPSBvcGVuKHR0eV9uYW1l
LCBPX1JEV1IpIDsNCisgICAgaWYgKGZpbCA8IDApDQorICAgIHsNCisJcGVy
cm9yKHR0eV9uYW1lKSA7DQorCXJldHVybiA7DQorICAgIH0NCisNCisNCisg
ICAgc2V0dXBfdGVybShmaWwpIDsNCisNCisgICAgLyoNCisgICAgICogV2hl
biB3ZSBpc3N1ZSB0aGlzIGlvY3RsLCBjb250cm9sIHdpbGwgbm90IHJldHVy
biB1bnRpbA0KKyAgICAgKiB0aGUgZGVidWdnZXIgcnVubmluZyBvbiB0aGUg
cmVtb3RlIGhvc3QgbWFjaGluZSBzYXlzICJnbyIuDQorICAgICAqLw0KKyAg
ICBwcmludGYoIlxuQWJvdXQgdG8gYWN0aXZhdGUgR0RCIHN0dWIgaW4gdGhl
IGtlcm5lbCBvbiAlc1xuIiwgdHR5X25hbWUpIDsNCisgICAgcHJpbnRmKCJI
aXQgQ1IgdG8gY29udGludWUsIGtpbGwgcHJvZ3JhbSB0byBhYm9ydCAtLSAi
KSA7DQorICAgIGdldGNoYXIoKSA7DQorICAgIHN5bmMoKSA7DQorICAgIHJz
bHQgPSBpb2N0bChmaWwsIFRJT0NHREIsIDApIDsNCisgICAgaWYgKHJzbHQg
PCAwKQ0KKyAgICB7DQorCXBlcnJvcigiVElPQ0dEQiBpb2N0bCIpIDsNCisJ
cmV0dXJuIDsNCisgICAgfQ0KKw0KKyAgICBwcmludGYoIlxuR0RCIHN0dWIg
c3VjY2Vzc2Z1bGx5IGFjdGl2YXRlZFxuIikgOw0KKw0KKyAgICBmb3IgKDs7
KQ0KKyAgICB7DQorCXBhdXNlKCkgOw0KKyAgICB9DQorDQorICAgIGlmICh0
Y3NldGF0dHIoZmlsLCBUQ1NBTk9XLCAmc2F2ZV90cykgPCAwKSB0dHlfZXJy
KCJ0Y3NldGF0dHIiKSA7DQorDQorfSAvKiBtYWluICovDQotLS0gbGludXgt
Mi40LjE4L2FyY2gvaTM4Ni9rZXJuZWwvZ2Ric3R1Yi5jCVRodSBKYW4gIDEg
MDU6MzA6MDAgMTk3MA0KKysrIGxpbnV4L2FyY2gvaTM4Ni9rZXJuZWwvZ2Ri
c3R1Yi5jCUZyaSBNYXIgMjkgMjA6NDU6MTIgMjAwMg0KQEAgLTAsMCArMSwx
MjM1IEBADQorLyoNCisgKg0KKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5
IGl0DQorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlDQorICogRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueQ0KKyAqIGxhdGVyIHZlcnNpb24uDQorICoNCisg
KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0DQorICogV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0K
KyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VDQorICogR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KKyAqDQorICovDQorDQorLyoN
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDAtMjAwMSBWRVJJVEFTIFNvZnR3YXJl
IENvcnBvcmF0aW9uLg0KKyAqLw0KKy8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqDQorICogIEhlYWRlcjogcmVtY29tLmMsdiAxLjM0IDkxLzAz
LzA5IDEyOjI5OjQ5IGdsZW5uZSBFeHAgJA0KKyAqDQorICogIE1vZHVsZSBu
YW1lOiByZW1jb20uYyAkDQorICogIFJldmlzaW9uOiAxLjM0ICQNCisgKiAg
RGF0ZTogOTEvMDMvMDkgMTI6Mjk6NDkgJA0KKyAqICBDb250cmlidXRvcjog
ICAgIExha2UgU3RldmVucyBJbnN0cnVtZW50IERpdmlzaW9uJA0KKyAqDQor
ICogIERlc2NyaXB0aW9uOiAgICAgbG93IGxldmVsIHN1cHBvcnQgZm9yIGdk
YiBkZWJ1Z2dlci4gJA0KKyAqDQorICogIENvbnNpZGVyYXRpb25zOiAgb25s
eSB3b3JrcyBvbiB0YXJnZXQgaGFyZHdhcmUgJA0KKyAqDQorICogIFdyaXR0
ZW4gYnk6ICAgICAgR2xlbm4gRW5nZWwgJA0KKyAqICBVcGRhdGVkIGJ5Ogkg
ICAgIEFtaXQgS2FsZTxha2FsZUB2ZXJpdGFzLmNvbT4NCisgKiAgTW9kdWxl
U3RhdGU6ICAgICBFeHBlcmltZW50YWwgJA0KKyAqDQorICogIE5PVEVTOiAg
ICAgICAgICAgU2VlIEJlbG93ICQNCisgKg0KKyAqICBNb2RpZmllZCBmb3Ig
Mzg2IGJ5IEppbSBLaW5nZG9uLCBDeWdudXMgU3VwcG9ydC4NCisgKiAgT3Jp
Z2lhbmwga2dkYiwgY29tcGF0aWJpbGl0eSB3aXRoIDIuMS54eCBrZXJuZWwg
YnkgRGF2aWQgR3JvdGhlIDxkYXZlQGdjb20uY29tPg0KKyAqICBJbnRlZ3Jh
dGVkIGludG8gMi4yLjUga2VybmVsIGJ5IFRpZ3JhbiBBaXZhemlhbiA8dGln
cmFuQHNjby5jb20+DQorICogICAgICB0aHJlYWQgc3VwcG9ydCwNCisgKiAg
ICAgIHN1cHBvcnQgZm9yIG11bHRpcGxlIHByb2Nlc3NvcnMsDQorICogIAlz
dXBwb3J0IGZvciBpYS0zMih4ODYpIGhhcmR3YXJlIGRlYnVnZ2luZywNCisg
KiAgCUNvbnNvbGUgc3VwcG9ydCwNCisgKiAgCWhhbmRsaW5nIG5taSB3YXRj
aGRvZw0KKyAqICAJQW1pdCBTLiBLYWxlICggYWthbGVAdmVyaXRhcy5jb20g
KQ0KKyAqDQorICoNCisgKiAgVG8gZW5hYmxlIGRlYnVnZ2VyIHN1cHBvcnQs
IHR3byB0aGluZ3MgbmVlZCB0byBoYXBwZW4uICBPbmUsIGENCisgKiAgY2Fs
bCB0byBzZXRfZGVidWdfdHJhcHMoKSBpcyBuZWNlc3NhcnkgaW4gb3JkZXIg
dG8gYWxsb3cgYW55IGJyZWFrcG9pbnRzDQorICogIG9yIGVycm9yIGNvbmRp
dGlvbnMgdG8gYmUgcHJvcGVybHkgaW50ZXJjZXB0ZWQgYW5kIHJlcG9ydGVk
IHRvIGdkYi4NCisgKiAgVHdvLCBhIGJyZWFrcG9pbnQgbmVlZHMgdG8gYmUg
Z2VuZXJhdGVkIHRvIGJlZ2luIGNvbW11bmljYXRpb24uICBUaGlzDQorICog
IGlzIG1vc3QgZWFzaWx5IGFjY29tcGxpc2hlZCBieSBhIGNhbGwgdG8gYnJl
YWtwb2ludCgpLiAgQnJlYWtwb2ludCgpDQorICogIHNpbXVsYXRlcyBhIGJy
ZWFrcG9pbnQgYnkgZXhlY3V0aW5nIGFuIGludCAzLg0KKyAqDQorICoqKioq
KioqKioqKioNCisgKg0KKyAqICAgIFRoZSBmb2xsb3dpbmcgZ2RiIGNvbW1h
bmRzIGFyZSBzdXBwb3J0ZWQ6DQorICoNCisgKiBjb21tYW5kICAgICAgICAg
IGZ1bmN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy
biB2YWx1ZQ0KKyAqDQorICogICAgZyAgICAgICAgICAgICByZXR1cm4gdGhl
IHZhbHVlIG9mIHRoZSBDUFUgcmVnaXN0ZXJzICBoZXggZGF0YSBvciBFTk4N
CisgKiAgICBHICAgICAgICAgICAgIHNldCB0aGUgdmFsdWUgb2YgdGhlIENQ
VSByZWdpc3RlcnMgICAgIE9LIG9yIEVOTg0KKyAqDQorICogICAgbUFBLi5B
QSxMTExMICBSZWFkIExMTEwgYnl0ZXMgYXQgYWRkcmVzcyBBQS4uQUEgICAg
ICBoZXggZGF0YSBvciBFTk4NCisgKiAgICBNQUEuLkFBLExMTEw6IFdyaXRl
IExMTEwgYnl0ZXMgYXQgYWRkcmVzcyBBQS5BQSAgICAgIE9LIG9yIEVOTg0K
KyAqDQorICogICAgYyAgICAgICAgICAgICBSZXN1bWUgYXQgY3VycmVudCBh
ZGRyZXNzICAgICAgICAgICAgICBTTk4gICAoIHNpZ25hbCBOTikNCisgKiAg
ICBjQUEuLkFBICAgICAgIENvbnRpbnVlIGF0IGFkZHJlc3MgQUEuLkFBICAg
ICAgICAgICAgIFNOTg0KKyAqDQorICogICAgcyAgICAgICAgICAgICBTdGVw
IG9uZSBpbnN0cnVjdGlvbiAgICAgICAgICAgICAgICAgICBTTk4NCisgKiAg
ICBzQUEuLkFBICAgICAgIFN0ZXAgb25lIGluc3RydWN0aW9uIGZyb20gQUEu
LkFBICAgICAgIFNOTg0KKyAqDQorICogICAgayAgICAgICAgICAgICBraWxs
DQorICoNCisgKiAgICA/ICAgICAgICAgICAgIFdoYXQgd2FzIHRoZSBsYXN0
IHNpZ3ZhbCA/ICAgICAgICAgICAgIFNOTiAgIChzaWduYWwgTk4pDQorICoN
CisgKiBBbGwgY29tbWFuZHMgYW5kIHJlc3BvbnNlcyBhcmUgc2VudCB3aXRo
IGEgcGFja2V0IHdoaWNoIGluY2x1ZGVzIGENCisgKiBjaGVja3N1bS4gIEEg
cGFja2V0IGNvbnNpc3RzIG9mDQorICoNCisgKiAkPHBhY2tldCBpbmZvPiM8
Y2hlY2tzdW0+Lg0KKyAqDQorICogd2hlcmUNCisgKiA8cGFja2V0IGluZm8+
IDo6IDxjaGFyYWN0ZXJzIHJlcHJlc2VudGluZyB0aGUgY29tbWFuZCBvciBy
ZXNwb25zZT4NCisgKiA8Y2hlY2tzdW0+ICAgIDo6IDwgdHdvIGhleCBkaWdp
dHMgY29tcHV0ZWQgYXMgbW9kdWxvIDI1NiBzdW0gb2YgPHBhY2tldGluZm8+
Pg0KKyAqDQorICogV2hlbiBhIHBhY2tldCBpcyByZWNlaXZlZCwgaXQgaXMg
Zmlyc3QgYWNrbm93bGVkZ2VkIHdpdGggZWl0aGVyICcrJyBvciAnLScuDQor
ICogJysnIGluZGljYXRlcyBhIHN1Y2Nlc3NmdWwgdHJhbnNmZXIuICAnLScg
aW5kaWNhdGVzIGEgZmFpbGVkIHRyYW5zZmVyLg0KKyAqDQorICogRXhhbXBs
ZToNCisgKg0KKyAqIEhvc3Q6ICAgICAgICAgICAgICAgICAgUmVwbHk6DQor
ICogJG0wLDEwIzJhICAgICAgICAgICAgICAgKyQwMDAxMDIwMzA0MDUwNjA3
MDgwOTEwMTExMjEzMTQxNSM0Mg0KKyAqDQorICoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKiovDQorDQorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5o
Pg0KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4NCisjaW5jbHVkZSA8bGlu
dXgvc2NoZWQuaD4NCisjaW5jbHVkZSA8bGludXgvc21wLmg+DQorI2luY2x1
ZGUgPGxpbnV4L3NwaW5sb2NrLmg+DQorI2luY2x1ZGUgPGxpbnV4L2RlbGF5
Lmg+DQorI2luY2x1ZGUgPGFzbS92bTg2Lmg+DQorI2luY2x1ZGUgPGFzbS9z
eXN0ZW0uaD4NCisjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgkJCS8qIGZvciBs
aW51eCBwdF9yZWdzIHN0cnVjdCAqLw0KKyNpbmNsdWRlIDxsaW51eC9nZGIu
aD4NCisjaWZkZWYgQ09ORklHX0dEQl9DT05TT0xFDQorI2luY2x1ZGUgPGxp
bnV4L2NvbnNvbGUuaD4NCisjZW5kaWYNCisjaW5jbHVkZSA8bGludXgvaW5p
dC5oPg0KKw0KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisgKg0K
KyAqIGV4dGVybmFsIGxvdy1sZXZlbCBzdXBwb3J0IHJvdXRpbmVzDQorICov
DQordHlwZWRlZiB2b2lkICgqRnVuY3Rpb24pKHZvaWQpOyAgICAgICAgICAg
LyogcG9pbnRlciB0byBhIGZ1bmN0aW9uICovDQorDQorLyogVGhyZWFkIHJl
ZmVyZW5jZSAqLw0KK3R5cGVkZWYgdW5zaWduZWQgY2hhciB0aHJlYWRyZWZb
OF07DQorDQorZXh0ZXJuIGludCBwdXREZWJ1Z0NoYXIoaW50KTsgICAvKiB3
cml0ZSBhIHNpbmdsZSBjaGFyYWN0ZXIgICAgICAqLw0KK2V4dGVybiBpbnQg
Z2V0RGVidWdDaGFyKHZvaWQpOyAgIC8qIHJlYWQgYW5kIHJldHVybiBhIHNp
bmdsZSBjaGFyICovDQorDQorLyoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ki8NCisvKiBCVUZNQVggZGVmaW5lcyB0aGUgbWF4aW11bSBudW1iZXIgb2Yg
Y2hhcmFjdGVycyBpbiBpbmJvdW5kL291dGJvdW5kIGJ1ZmZlcnMqLw0KKy8q
IGF0IGxlYXN0IE5VTVJFR0JZVEVTKjIgYXJlIG5lZWRlZCBmb3IgcmVnaXN0
ZXIgcGFja2V0cyAqLw0KKy8qIExvbmdlciBidWZmZXIgaXMgbmVlZGVkIHRv
IGxpc3QgYWxsIHRocmVhZHMgKi8NCisjZGVmaW5lIEJVRk1BWCAxMDI0DQor
DQorc3RhdGljIGNoYXIgaW5pdGlhbGl6ZWQ7ICAvKiBib29sZWFuIGZsYWcu
ICE9IDAgbWVhbnMgd2UndmUgYmVlbiBpbml0aWFsaXplZCAqLw0KKw0KK3N0
YXRpYyBjb25zdCBjaGFyIGhleGNoYXJzW109IjAxMjM0NTY3ODlhYmNkZWYi
Ow0KKw0KKy8qIE51bWJlciBvZiBieXRlcyBvZiByZWdpc3RlcnMuICAqLw0K
KyNkZWZpbmUgTlVNUkVHQllURVMgNjQNCisvKg0KKyAqIE5vdGUgdGhhdCB0
aGlzIHJlZ2lzdGVyIGltYWdlIGlzIGluIGEgZGlmZmVyZW50IG9yZGVyIHRo
YW4NCisgKiB0aGUgcmVnaXN0ZXIgaW1hZ2UgdGhhdCBMaW51eCBwcm9kdWNl
cyBhdCBpbnRlcnJ1cHQgdGltZS4NCisgKg0KKyAqIExpbnV4J3MgcmVnaXN0
ZXIgaW1hZ2UgaXMgZGVmaW5lZCBieSBzdHJ1Y3QgcHRfcmVncyBpbiBwdHJh
Y2UuaC4NCisgKiBKdXN0IHdoeSBHREIgdXNlcyBhIGRpZmZlcmVudCBvcmRl
ciBpcyBhIGhpc3RvcmljYWwgbXlzdGVyeS4NCisgKi8NCitlbnVtIHJlZ25h
bWVzIHtfRUFYLAkJLyogMCAqLw0KKwkgICAgICAgX0VDWCwJCS8qIDEgKi8N
CisJICAgICAgIF9FRFgsCQkvKiAyICovDQorCSAgICAgICBfRUJYLAkJLyog
MyAqLw0KKwkgICAgICAgX0VTUCwJCS8qIDQgKi8NCisJICAgICAgIF9FQlAs
CQkvKiA1ICovDQorCSAgICAgICBfRVNJLAkJLyogNiAqLw0KKwkgICAgICAg
X0VESSwJCS8qIDcgKi8NCisJICAgICAgIF9QQyAJCS8qIDggYWxzbyBrbm93
biBhcyBlaXAgKi8sDQorCSAgICAgICBfUFMJCS8qIDkgYWxzbyBrbm93biBh
cyBlZmxhZ3MgKi8sDQorCSAgICAgICBfQ1MsCQkvKiAxMCAqLw0KKwkgICAg
ICAgX1NTLAkJLyogMTEgKi8NCisJICAgICAgIF9EUywJCS8qIDEyICovDQor
CSAgICAgICBfRVMsCQkvKiAxMyAqLw0KKwkgICAgICAgX0ZTLAkJLyogMTQg
Ki8NCisJICAgICAgIF9HU307CQkvKiAxNSAqLw0KKw0KKw0KKw0KKy8qKioq
KioqKioqKioqKioqKioqKioqKioqKiogIEFTU0VNQkxZIENPREUgTUFDUk9T
ICoqKioqKioqKioqKioqKioqKioqKioqKiovDQorLyogCQkJCQkJCQkJICAg
Ki8NCisNCisjZGVmaW5lIEJSRUFLUE9JTlQoKSBhc20oIiAgIGludCAkMyIp
Ow0KKw0KKy8qIFB1dCB0aGUgZXJyb3IgY29kZSBoZXJlIGp1c3QgaW4gY2Fz
ZSB0aGUgdXNlciBjYXJlcy4gICovDQoraW50IGdkYl9pMzg2ZXJyY29kZTsN
CisvKiBMaWtld2lzZSwgdGhlIHZlY3RvciBudW1iZXIgaGVyZSAoc2luY2Ug
R0RCIG9ubHkgZ2V0cyB0aGUgc2lnbmFsDQorICAgbnVtYmVyIHRocm91Z2gg
dGhlIHVzdWFsIG1lYW5zLCBhbmQgdGhhdCdzIG5vdCB2ZXJ5IHNwZWNpZmlj
KS4gICovDQoraW50IGdkYl9pMzg2dmVjdG9yID0gLTE7DQorDQorI2lmIEtH
REJfTUFYX05PX0NQVVMgIT0gOA0KKyNlcnJvciBjaGFuZ2UgdGhlIGRlZmlu
aXRpb24gb2Ygc2xhdmVjcHVsb2Nrcw0KKyNlbmRpZg0KKw0KK3N0YXRpYyBz
cGlubG9ja190IHNsYXZlY3B1bG9ja3NbS0dEQl9NQVhfTk9fQ1BVU10gPSB7
IFNQSU5fTE9DS19VTkxPQ0tFRCwNCisJU1BJTl9MT0NLX1VOTE9DS0VELCBT
UElOX0xPQ0tfVU5MT0NLRUQsIFNQSU5fTE9DS19VTkxPQ0tFRCwNCisJU1BJ
Tl9MT0NLX1VOTE9DS0VELCBTUElOX0xPQ0tfVU5MT0NLRUQsIFNQSU5fTE9D
S19VTkxPQ0tFRCwNCisJU1BJTl9MT0NLX1VOTE9DS0VEIH07DQordm9sYXRp
bGUgaW50IHByb2NpbmRlYnVnW0tHREJfTUFYX05PX0NQVVNdOw0KKw0KK3Zv
bGF0aWxlIHVuc2lnbmVkIGtnZGJfbG9jayA9IDA7DQorDQorc3RhdGljIHZv
aWQga2dkYl91c2VyY29kZSAodm9pZCkNCit7DQorfQ0KKw0KK2ludCBoZXgo
Y2hhciBjaCkNCit7DQorICBpZiAoKGNoID49ICdhJykgJiYgKGNoIDw9ICdm
JykpIHJldHVybiAoY2gtJ2EnKzEwKTsNCisgIGlmICgoY2ggPj0gJzAnKSAm
JiAoY2ggPD0gJzknKSkgcmV0dXJuIChjaC0nMCcpOw0KKyAgaWYgKChjaCA+
PSAnQScpICYmIChjaCA8PSAnRicpKSByZXR1cm4gKGNoLSdBJysxMCk7DQor
ICByZXR1cm4gKC0xKTsNCit9DQorDQorDQorLyogc2NhbiBmb3IgdGhlIHNl
cXVlbmNlICQ8ZGF0YT4jPGNoZWNrc3VtPiAgICAgKi8NCit2b2lkIGdldHBh
Y2tldChjaGFyICogYnVmZmVyKQ0KK3sNCisgIHVuc2lnbmVkIGNoYXIgY2hl
Y2tzdW07DQorICB1bnNpZ25lZCBjaGFyIHhtaXRjc3VtOw0KKyAgaW50ICBp
Ow0KKyAgaW50ICBjb3VudDsNCisgIGNoYXIgY2g7DQorDQorICBkbyB7DQor
ICAgIC8qIHdhaXQgYXJvdW5kIGZvciB0aGUgc3RhcnQgY2hhcmFjdGVyLCBp
Z25vcmUgYWxsIG90aGVyIGNoYXJhY3RlcnMgKi8NCisgICAgd2hpbGUgKChj
aCA9IChnZXREZWJ1Z0NoYXIoKSAmIDB4N2YpKSAhPSAnJCcpOw0KKyAgICBj
aGVja3N1bSA9IDA7DQorICAgIHhtaXRjc3VtID0gLTE7DQorDQorICAgIGNv
dW50ID0gMDsNCisNCisgICAgLyogbm93LCByZWFkIHVudGlsIGEgIyBvciBl
bmQgb2YgYnVmZmVyIGlzIGZvdW5kICovDQorICAgIHdoaWxlIChjb3VudCA8
IEJVRk1BWCkgew0KKyAgICAgIGNoID0gZ2V0RGVidWdDaGFyKCkgJiAweDdm
Ow0KKyAgICAgIGlmIChjaCA9PSAnIycpIGJyZWFrOw0KKyAgICAgIGNoZWNr
c3VtID0gY2hlY2tzdW0gKyBjaDsNCisgICAgICBidWZmZXJbY291bnRdID0g
Y2g7DQorICAgICAgY291bnQgPSBjb3VudCArIDE7DQorICAgICAgfQ0KKyAg
ICBidWZmZXJbY291bnRdID0gMDsNCisNCisgICAgaWYgKGNoID09ICcjJykg
ew0KKyAgICAgIHhtaXRjc3VtID0gaGV4KGdldERlYnVnQ2hhcigpICYgMHg3
ZikgPDwgNDsNCisgICAgICB4bWl0Y3N1bSArPSBoZXgoZ2V0RGVidWdDaGFy
KCkgJiAweDdmKTsNCisNCisgICAgICBpZiAoY2hlY2tzdW0gIT0geG1pdGNz
dW0pIHB1dERlYnVnQ2hhcignLScpOyAgLyogZmFpbGVkIGNoZWNrc3VtICov
DQorICAgICAgZWxzZSB7DQorCSBwdXREZWJ1Z0NoYXIoJysnKTsgIC8qIHN1
Y2Nlc3NmdWwgdHJhbnNmZXIgKi8NCisJIC8qIGlmIGEgc2VxdWVuY2UgY2hh
ciBpcyBwcmVzZW50LCByZXBseSB0aGUgc2VxdWVuY2UgSUQgKi8NCisJIGlm
IChidWZmZXJbMl0gPT0gJzonKSB7DQorCSAgICBwdXREZWJ1Z0NoYXIoIGJ1
ZmZlclswXSApOw0KKwkgICAgcHV0RGVidWdDaGFyKCBidWZmZXJbMV0gKTsN
CisJICAgIC8qIHJlbW92ZSBzZXF1ZW5jZSBjaGFycyBmcm9tIGJ1ZmZlciAq
Lw0KKwkgICAgY291bnQgPSBzdHJsZW4oYnVmZmVyKTsNCisJICAgIGZvciAo
aT0zOyBpIDw9IGNvdW50OyBpKyspIGJ1ZmZlcltpLTNdID0gYnVmZmVyW2ld
Ow0KKwkgfQ0KKyAgICAgIH0NCisgICAgfQ0KKyAgfSB3aGlsZSAoY2hlY2tz
dW0gIT0geG1pdGNzdW0pOw0KKw0KK30NCisNCisvKiBzZW5kIHRoZSBwYWNr
ZXQgaW4gYnVmZmVyLiAgKi8NCisNCisNCit2b2lkIHB1dHBhY2tldChjaGFy
ICogYnVmZmVyKQ0KK3sNCisgIHVuc2lnbmVkIGNoYXIgY2hlY2tzdW07DQor
ICBpbnQgIGNvdW50Ow0KKyAgY2hhciBjaDsNCisNCisgIC8qICAkPHBhY2tl
dCBpbmZvPiM8Y2hlY2tzdW0+LiAqLw0KKyAgZG8gew0KKyAgcHV0RGVidWdD
aGFyKCckJyk7DQorICBjaGVja3N1bSA9IDA7DQorICBjb3VudCAgICA9IDA7
DQorDQorICB3aGlsZSAoKGNoPWJ1ZmZlcltjb3VudF0pKSB7DQorICAgIGlm
ICghIHB1dERlYnVnQ2hhcihjaCkpIHJldHVybjsNCisgICAgY2hlY2tzdW0g
Kz0gY2g7DQorICAgIGNvdW50ICs9IDE7DQorICB9DQorDQorICBwdXREZWJ1
Z0NoYXIoJyMnKTsNCisgIHB1dERlYnVnQ2hhcihoZXhjaGFyc1tjaGVja3N1
bSA+PiA0XSk7DQorICBwdXREZWJ1Z0NoYXIoaGV4Y2hhcnNbY2hlY2tzdW0g
JSAxNl0pOw0KKw0KKyAgfSB3aGlsZSAoKGdldERlYnVnQ2hhcigpICYgMHg3
ZikgIT0gJysnKTsNCisNCit9DQorDQorc3RhdGljIGNoYXIgIHJlbWNvbUlu
QnVmZmVyW0JVRk1BWF07DQorc3RhdGljIGNoYXIgIHJlbWNvbU91dEJ1ZmZl
cltCVUZNQVhdOw0KK3N0YXRpYyBzaG9ydCBlcnJvcjsNCisNCitzdGF0aWMg
dm9pZCByZWdzX3RvX2dkYl9yZWdzKGludCAqZ2RiX3JlZ3MsIHN0cnVjdCBw
dF9yZWdzICpyZWdzKQ0KK3sNCisgICAgZ2RiX3JlZ3NbX0VBWF0gPSAgcmVn
cy0+ZWF4Ow0KKyAgICBnZGJfcmVnc1tfRUJYXSA9ICByZWdzLT5lYng7DQor
ICAgIGdkYl9yZWdzW19FQ1hdID0gIHJlZ3MtPmVjeDsNCisgICAgZ2RiX3Jl
Z3NbX0VEWF0gPSAgcmVncy0+ZWR4Ow0KKyAgICBnZGJfcmVnc1tfRVNJXSA9
ICByZWdzLT5lc2k7DQorICAgIGdkYl9yZWdzW19FREldID0gIHJlZ3MtPmVk
aTsNCisgICAgZ2RiX3JlZ3NbX0VCUF0gPSAgcmVncy0+ZWJwOw0KKyAgICBn
ZGJfcmVnc1sgX0RTXSA9ICByZWdzLT54ZHM7DQorICAgIGdkYl9yZWdzWyBf
RVNdID0gIHJlZ3MtPnhlczsNCisgICAgZ2RiX3JlZ3NbIF9QU10gPSAgcmVn
cy0+ZWZsYWdzOw0KKyAgICBnZGJfcmVnc1sgX0NTXSA9ICByZWdzLT54Y3M7
DQorICAgIGdkYl9yZWdzWyBfUENdID0gIHJlZ3MtPmVpcDsNCisgICAgZ2Ri
X3JlZ3NbX0VTUF0gPSAgKGludCkgKCZyZWdzLT5lc3ApIDsNCisgICAgZ2Ri
X3JlZ3NbIF9TU10gPSAgX19LRVJORUxfRFM7DQorICAgIGdkYl9yZWdzWyBf
RlNdID0gIDB4RkZGRjsNCisgICAgZ2RiX3JlZ3NbIF9HU10gPSAgMHhGRkZG
Ow0KK30gLyogcmVnc190b19nZGJfcmVncyAqLw0KKw0KK3N0YXRpYyB2b2lk
IGdkYl9yZWdzX3RvX3JlZ3MoaW50ICpnZGJfcmVncywgc3RydWN0IHB0X3Jl
Z3MgKnJlZ3MpDQorew0KKyAgICByZWdzLT5lYXgJPSAgICAgZ2RiX3JlZ3Nb
X0VBWF0gOw0KKyAgICByZWdzLT5lYngJPSAgICAgZ2RiX3JlZ3NbX0VCWF0g
Ow0KKyAgICByZWdzLT5lY3gJPSAgICAgZ2RiX3JlZ3NbX0VDWF0gOw0KKyAg
ICByZWdzLT5lZHgJPSAgICAgZ2RiX3JlZ3NbX0VEWF0gOw0KKyAgICByZWdz
LT5lc2kJPSAgICAgZ2RiX3JlZ3NbX0VTSV0gOw0KKyAgICByZWdzLT5lZGkJ
PSAgICAgZ2RiX3JlZ3NbX0VESV0gOw0KKyAgICByZWdzLT5lYnAJPSAgICAg
Z2RiX3JlZ3NbX0VCUF0gOw0KKyAgICByZWdzLT54ZHMJPSAgICAgZ2RiX3Jl
Z3NbIF9EU10gOw0KKyAgICByZWdzLT54ZXMJPSAgICAgZ2RiX3JlZ3NbIF9F
U10gOw0KKyAgICByZWdzLT5lZmxhZ3M9ICAgICBnZGJfcmVnc1sgX1BTXSA7
DQorICAgIHJlZ3MtPnhjcwk9ICAgICBnZGJfcmVnc1sgX0NTXSA7DQorICAg
IHJlZ3MtPmVpcAk9ICAgICBnZGJfcmVnc1sgX1BDXSA7DQorI2lmIDAJCQkJ
CS8qIGNhbid0IGNoYW5nZSB0aGVzZSAqLw0KKyAgICByZWdzLT5lc3AJPSAg
ICAgZ2RiX3JlZ3NbX0VTUF0gOw0KKyAgICByZWdzLT54c3MJPSAgICAgZ2Ri
X3JlZ3NbIF9TU10gOw0KKyAgICByZWdzLT5mcwk9ICAgICBnZGJfcmVnc1sg
X0ZTXSA7DQorICAgIHJlZ3MtPmdzCT0gICAgIGdkYl9yZWdzWyBfR1NdIDsN
CisjZW5kaWYNCisNCit9IC8qIGdkYl9yZWdzX3RvX3JlZ3MgKi8NCisNCisv
KiBJbmRpY2F0ZSB0byBjYWxsZXIgb2YgbWVtMmhleCBvciBoZXgybWVtIHRo
YXQgdGhlcmUgaGFzIGJlZW4gYW4NCisgICBlcnJvci4gICovDQorc3RhdGlj
IHZvbGF0aWxlIGludCBrZ2RiX21lbWVyciA9IDA7DQordm9sYXRpbGUgaW50
IGtnZGJfbWVtZXJyX2V4cGVjdGVkID0gMDsNCitzdGF0aWMgdm9sYXRpbGUg
aW50IGtnZGJfbWVtZXJyX2NudCA9IDA7DQorc3RhdGljICAgICAgICAgIGlu
dCBnYXJiYWdlX2xvYyA9IC0xIDsNCisNCitpbnQNCitnZXRfY2hhciAoY2hh
ciAqYWRkcikNCit7DQorICByZXR1cm4gKmFkZHI7DQorfQ0KKw0KK3ZvaWQN
CitzZXRfY2hhciAoIGNoYXIgKmFkZHIsIGludCB2YWwpDQorew0KKyAgKmFk
ZHIgPSB2YWw7DQorfQ0KKw0KKy8qIGNvbnZlcnQgdGhlIG1lbW9yeSBwb2lu
dGVkIHRvIGJ5IG1lbSBpbnRvIGhleCwgcGxhY2luZyByZXN1bHQgaW4gYnVm
ICovDQorLyogcmV0dXJuIGEgcG9pbnRlciB0byB0aGUgbGFzdCBjaGFyIHB1
dCBpbiBidWYgKG51bGwpICovDQorLyogSWYgTUFZX0ZBVUxUIGlzIG5vbi16
ZXJvLCB0aGVuIHdlIHNob3VsZCBzZXQga2dkYl9tZW1lcnIgaW4gcmVzcG9u
c2UgdG8NCisgICBhIGZhdWx0OyBpZiB6ZXJvIHRyZWF0IGEgZmF1bHQgbGlr
ZSBhbnkgb3RoZXIgZmF1bHQgaW4gdGhlIHN0dWIuICAqLw0KK2NoYXIqIG1l
bTJoZXgoIGNoYXIqIG1lbSwNCisJICAgICAgIGNoYXIqIGJ1ZiwNCisJICAg
ICAgIGludCAgIGNvdW50LA0KKwkgICAgICAgaW50IG1heV9mYXVsdCkNCit7
DQorICAgICAgaW50IGk7DQorICAgICAgdW5zaWduZWQgY2hhciBjaDsNCisN
CisgICAgICBpZiAobWF5X2ZhdWx0KQ0KKyAgICAgIHsNCisgICAgICAgICAg
a2dkYl9tZW1lcnJfZXhwZWN0ZWQgPSAxIDsNCisgICAgICAgICAga2dkYl9t
ZW1lcnIgPSAwIDsNCisgICAgICB9DQorICAgICAgZm9yIChpPTA7aTxjb3Vu
dDtpKyspIHsNCisNCisJICBjaCA9IGdldF9jaGFyIChtZW0rKyk7DQorDQor
CSAgaWYgKG1heV9mYXVsdCAmJiBrZ2RiX21lbWVycikNCisJICB7DQorCSAg
ICAqYnVmID0gMCA7CQkJCS8qIHRydW5jYXRlIGJ1ZmZlciAqLw0KKwkgICAg
cmV0dXJuIChidWYpOw0KKwkgIH0NCisgICAgICAgICAgKmJ1ZisrID0gaGV4
Y2hhcnNbY2ggPj4gNF07DQorICAgICAgICAgICpidWYrKyA9IGhleGNoYXJz
W2NoICUgMTZdOw0KKyAgICAgIH0NCisgICAgICAqYnVmID0gMDsNCisgICAg
ICBpZiAobWF5X2ZhdWx0KQ0KKwkgIGtnZGJfbWVtZXJyX2V4cGVjdGVkID0g
MCA7DQorICAgICAgcmV0dXJuKGJ1Zik7DQorfQ0KKw0KKy8qIGNvbnZlcnQg
dGhlIGhleCBhcnJheSBwb2ludGVkIHRvIGJ5IGJ1ZiBpbnRvIGJpbmFyeSB0
byBiZSBwbGFjZWQgaW4gbWVtICovDQorLyogcmV0dXJuIGEgcG9pbnRlciB0
byB0aGUgY2hhcmFjdGVyIEFGVEVSIHRoZSBsYXN0IGJ5dGUgd3JpdHRlbiAq
Lw0KK2NoYXIqIGhleDJtZW0oIGNoYXIqIGJ1ZiwNCisJICAgICAgIGNoYXIq
IG1lbSwNCisJICAgICAgIGludCAgIGNvdW50LA0KKwkgICAgICAgaW50IG1h
eV9mYXVsdCkNCit7DQorICAgICAgaW50IGk7DQorICAgICAgdW5zaWduZWQg
Y2hhciBjaDsNCisNCisgICAgICBpZiAobWF5X2ZhdWx0KQ0KKyAgICAgIHsN
CisgICAgICAgICAga2dkYl9tZW1lcnJfZXhwZWN0ZWQgPSAxIDsNCisgICAg
ICAgICAga2dkYl9tZW1lcnIgPSAwIDsNCisgICAgICB9DQorICAgICAgZm9y
IChpPTA7aTxjb3VudDtpKyspIHsNCisgICAgICAgICAgY2ggPSBoZXgoKmJ1
ZisrKSA8PCA0Ow0KKyAgICAgICAgICBjaCA9IGNoICsgaGV4KCpidWYrKyk7
DQorCSAgc2V0X2NoYXIgKG1lbSsrLCBjaCk7DQorDQorCSAgaWYgKG1heV9m
YXVsdCAmJiBrZ2RiX21lbWVycikNCisJICB7DQorCSAgICByZXR1cm4gKG1l
bSk7DQorCSAgfQ0KKyAgICAgIH0NCisgICAgICBpZiAobWF5X2ZhdWx0KQ0K
KwkgIGtnZGJfbWVtZXJyX2V4cGVjdGVkID0gMCA7DQorICAgICAgcmV0dXJu
KG1lbSk7DQorfQ0KKw0KKw0KKy8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqLw0KKy8qIFdISUxFIFdFIEZJTkQgTklD
RSBIRVggQ0hBUlMsIEJVSUxEIEFOIElOVCAqLw0KKy8qIFJFVFVSTiBOVU1C
RVIgT0YgQ0hBUlMgUFJPQ0VTU0VEICAgICAgICAgICAqLw0KKy8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KK2lu
dCBoZXhUb0ludChjaGFyICoqcHRyLCBpbnQgKmludFZhbHVlKQ0KK3sNCisg
ICAgaW50IG51bUNoYXJzID0gMDsNCisgICAgaW50IGhleFZhbHVlOw0KKw0K
KyAgICAqaW50VmFsdWUgPSAwOw0KKw0KKyAgICB3aGlsZSAoKipwdHIpDQor
ICAgIHsNCisgICAgICAgIGhleFZhbHVlID0gaGV4KCoqcHRyKTsNCisgICAg
ICAgIGlmIChoZXhWYWx1ZSA+PTApDQorICAgICAgICB7DQorICAgICAgICAg
ICAgKmludFZhbHVlID0gKCppbnRWYWx1ZSA8PDQpIHwgaGV4VmFsdWU7DQor
ICAgICAgICAgICAgbnVtQ2hhcnMgKys7DQorICAgICAgICB9DQorICAgICAg
ICBlbHNlDQorICAgICAgICAgICAgYnJlYWs7DQorDQorICAgICAgICAoKnB0
cikrKzsNCisgICAgfQ0KKw0KKyAgICByZXR1cm4gKG51bUNoYXJzKTsNCit9
DQorDQorI2lmZGVmIENPTkZJR19LR0RCX1RIUkVBRA0KK3N0YXRpYyBpbnQN
CitzdHViaGV4ICgNCisgICAgIGludCBjaCkNCit7DQorICBpZiAoY2ggPj0g
J2EnICYmIGNoIDw9ICdmJykNCisgICAgcmV0dXJuIGNoIC0gJ2EnICsgMTA7
DQorICBpZiAoY2ggPj0gJzAnICYmIGNoIDw9ICc5JykNCisgICAgcmV0dXJu
IGNoIC0gJzAnOw0KKyAgaWYgKGNoID49ICdBJyAmJiBjaCA8PSAnRicpDQor
ICAgIHJldHVybiBjaCAtICdBJyArIDEwOw0KKyAgcmV0dXJuIC0xOw0KK30N
CisNCisNCitzdGF0aWMgaW50DQorc3R1Yl91bnBhY2tfaW50ICgNCisgICAg
IGNoYXIgKmJ1ZmYsDQorICAgICBpbnQgZmllbGRsZW5ndGgpDQorew0KKyAg
aW50IG5pYmJsZTsNCisgIGludCByZXR2YWwgPSAwOw0KKw0KKyAgd2hpbGUg
KGZpZWxkbGVuZ3RoKQ0KKyAgICB7DQorICAgICAgbmliYmxlID0gc3R1Ymhl
eCAoKmJ1ZmYrKyk7DQorICAgICAgcmV0dmFsIHw9IG5pYmJsZTsNCisgICAg
ICBmaWVsZGxlbmd0aC0tOw0KKyAgICAgIGlmIChmaWVsZGxlbmd0aCkNCisJ
cmV0dmFsID0gcmV0dmFsIDw8IDQ7DQorICAgIH0NCisgIHJldHVybiByZXR2
YWw7DQorfQ0KKyNlbmRpZg0KKw0KK3N0YXRpYyBjaGFyICoNCitwYWNrX2hl
eF9ieXRlICgNCisgICAgIGNoYXIgKnBrdCwNCisgICAgIGludCBieXRlKQ0K
K3sNCisgICpwa3QrKyA9IGhleGNoYXJzWyhieXRlID4+IDQpICYgMHhmXTsN
CisgICpwa3QrKyA9IGhleGNoYXJzWyhieXRlICYgMHhmKV07DQorICByZXR1
cm4gcGt0Ow0KK30NCisNCisjZGVmaW5lIEJVRl9USFJFQURfSURfU0laRSAx
Ng0KKw0KKyNpZmRlZiBDT05GSUdfS0dEQl9USFJFQUQNCitzdGF0aWMgY2hh
ciAqDQorcGFja190aHJlYWRpZCAoDQorICAgICBjaGFyICpwa3QsDQorICAg
ICB0aHJlYWRyZWYgKmlkKQ0KK3sNCisgIGNoYXIgKmxpbWl0Ow0KKyAgdW5z
aWduZWQgY2hhciAqYWx0aWQ7DQorDQorICBhbHRpZCA9ICh1bnNpZ25lZCBj
aGFyICopIGlkOw0KKyAgbGltaXQgPSBwa3QgKyBCVUZfVEhSRUFEX0lEX1NJ
WkU7DQorICB3aGlsZSAocGt0IDwgbGltaXQpDQorICAgIHBrdCA9IHBhY2tf
aGV4X2J5dGUgKHBrdCwgKmFsdGlkKyspOw0KKyAgcmV0dXJuIHBrdDsNCit9
DQorDQorc3RhdGljIGNoYXIgKg0KK3VucGFja19ieXRlICgNCisgICAgIGNo
YXIgKmJ1ZiwNCisgICAgIGludCAqdmFsdWUpDQorew0KKyAgKnZhbHVlID0g
c3R1Yl91bnBhY2tfaW50IChidWYsIDIpOw0KKyAgcmV0dXJuIGJ1ZiArIDI7
DQorfQ0KKw0KK3N0YXRpYyBjaGFyICoNCit1bnBhY2tfdGhyZWFkaWQgKA0K
KyAgICAgY2hhciAqaW5idWYsDQorICAgICB0aHJlYWRyZWYgKmlkKQ0KK3sN
CisgIGNoYXIgKmFsdHJlZjsNCisgIGNoYXIgKmxpbWl0ID0gaW5idWYgKyBC
VUZfVEhSRUFEX0lEX1NJWkU7DQorICBpbnQgeCwgeTsNCisNCisgIGFsdHJl
ZiA9IChjaGFyICopIGlkOw0KKw0KKyAgd2hpbGUgKGluYnVmIDwgbGltaXQp
DQorICAgIHsNCisgICAgICB4ID0gc3R1YmhleCAoKmluYnVmKyspOw0KKyAg
ICAgIHkgPSBzdHViaGV4ICgqaW5idWYrKyk7DQorICAgICAgKmFsdHJlZisr
ID0gKHggPDwgNCkgfCB5Ow0KKyAgICB9DQorICByZXR1cm4gaW5idWY7DQor
fQ0KKyNlbmRpZg0KKw0KK3ZvaWQNCitpbnRfdG9fdGhyZWFkcmVmICgNCisg
ICAgIHRocmVhZHJlZiAqaWQsDQorICAgICBpbnQgdmFsdWUpDQorew0KKyAg
dW5zaWduZWQgY2hhciAqc2NhbjsNCisNCisgIHNjYW4gPSAodW5zaWduZWQg
Y2hhciAqKSBpZDsNCisgIHsNCisgICAgaW50IGkgPSA0Ow0KKyAgICB3aGls
ZSAoaS0tKQ0KKyAgICAgICpzY2FuKysgPSAwOw0KKyAgfQ0KKyAgKnNjYW4r
KyA9ICh2YWx1ZSA+PiAyNCkgJiAweGZmOw0KKyAgKnNjYW4rKyA9ICh2YWx1
ZSA+PiAxNikgJiAweGZmOw0KKyAgKnNjYW4rKyA9ICh2YWx1ZSA+PiA4KSAm
IDB4ZmY7DQorICAqc2NhbisrID0gKHZhbHVlICYgMHhmZik7DQorfQ0KKw0K
KyNpZmRlZiBDT05GSUdfS0dEQl9USFJFQUQNCitzdGF0aWMgaW50DQordGhy
ZWFkcmVmX3RvX2ludCAoDQorICAgICB0aHJlYWRyZWYgKnJlZikNCit7DQor
ICBpbnQgaSwgdmFsdWUgPSAwOw0KKyAgdW5zaWduZWQgY2hhciAqc2NhbjsN
CisNCisgIHNjYW4gPSAoY2hhciAqKSByZWY7DQorICBzY2FuICs9IDQ7DQor
ICBpID0gNDsNCisgIHdoaWxlIChpLS0gPiAwKQ0KKyAgICB2YWx1ZSA9ICh2
YWx1ZSA8PCA4KSB8ICgoKnNjYW4rKykgJiAweGZmKTsNCisgIHJldHVybiB2
YWx1ZTsNCit9DQorDQorDQorc3RydWN0IHRhc2tfc3RydWN0ICoNCitnZXR0
aHJlYWQgKA0KKwlpbnQgcGlkKQ0KK3sNCisJc3RydWN0IHRhc2tfc3RydWN0
ICp0aHJlYWQ7DQorCXRocmVhZCA9IGZpbmRfdGFza19ieV9waWQocGlkKTsN
CisJaWYgKHRocmVhZCkgew0KKwkJcmV0dXJuIHRocmVhZDsNCisJfQ0KKwl0
aHJlYWQgPSBpbml0X3Rhc2tzWzBdOw0KKwlkbyB7DQorCQlpZiAodGhyZWFk
LT5waWQgPT0gcGlkKSB7DQorCQkJcmV0dXJuIHRocmVhZDsNCisJCX0NCisJ
CXRocmVhZCA9IHRocmVhZC0+bmV4dF90YXNrOw0KKwl9IHdoaWxlICh0aHJl
YWQgIT0gaW5pdF90YXNrc1swXSk7DQorCXJldHVybiBOVUxMOw0KK30NCisj
ZW5kaWYNCisNCitzdHJ1Y3QgaHdfYnJlYWtwb2ludCB7DQorCXVuc2lnbmVk
IGVuYWJsZWQ7DQorCXVuc2lnbmVkIHR5cGU7DQorCXVuc2lnbmVkIGxlbjsN
CisJdW5zaWduZWQgYWRkcjsNCit9IGJyZWFraW5mb1s0XSA9IHsgeyBlbmFi
bGVkOjAgfSwgeyBlbmFibGVkOjAgfSwgeyBlbmFibGVkOjAgfSwgeyBlbmFi
bGVkOjAgfX07DQorDQordm9pZCBjb3JyZWN0X2h3X2JyZWFrKCB2b2lkICkN
Cit7DQorCWludCBicmVha25vOw0KKwlpbnQgY29ycmVjdGl0Ow0KKwlpbnQg
YnJlYWtiaXQ7DQorCXVuc2lnbmVkIGRyNzsNCisNCisJYXNtIHZvbGF0aWxl
ICggDQorCQkibW92bCAlJWRiNywgJTBcbiINCisJCTogIj1yIiAoZHI3KQ0K
KwkJOiApOw0KKwlkbw0KKwl7DQorCQl1bnNpZ25lZCBhZGRyMCwgYWRkcjEs
IGFkZHIyLCBhZGRyMzsNCisJCWFzbSB2b2xhdGlsZSAoDQorCQkJIm1vdmwg
JSVkYjAsICUwXG4iDQorCQkJIm1vdmwgJSVkYjEsICUxXG4iDQorCQkJIm1v
dmwgJSVkYjIsICUyXG4iDQorCQkJIm1vdmwgJSVkYjMsICUzXG4iDQorCQkJ
OiAiPXIiIChhZGRyMCksICI9ciIgKGFkZHIxKSwgIj1yIiAoYWRkcjIpLA0K
KwkJCSI9ciIgKGFkZHIzKSA6ICk7DQorCX0gd2hpbGUgKDApOw0KKwljb3Jy
ZWN0aXQgPSAwOw0KKwlmb3IgKGJyZWFrbm8gPSAwOyBicmVha25vIDwgMzsg
YnJlYWtubysrKSB7DQorCQlicmVha2JpdCA9IDIgPDwgKGJyZWFrbm8gPDwg
MSk7DQorCQlpZiAoIShkcjcgJiBicmVha2JpdCkgJiYgYnJlYWtpbmZvW2Jy
ZWFrbm9dLmVuYWJsZWQpIHsNCisJCQljb3JyZWN0aXQgPSAxOw0KKwkJCWRy
NyB8PSBicmVha2JpdDsNCisJCQlkcjcgJj0gfigweGYwMDAwIDw8IChicmVh
a25vIDw8IDIpKTsNCisJCQlkcjcgfD0gKCgoYnJlYWtpbmZvW2JyZWFrbm9d
LmxlbiA8PCAyKSB8DQorCQkJICAgICAgIGJyZWFraW5mb1ticmVha25vXS50
eXBlKSA8PCAxNikgPDwNCisJCQkgICAgICAgKGJyZWFrbm8gPDwgMik7DQor
CQkJc3dpdGNoIChicmVha25vKSB7DQorCQkJY2FzZSAwOg0KKwkJCQlhc20g
dm9sYXRpbGUgKCJtb3ZsICUwLCAlJWRyMFxuIg0KKwkJCQkJOiANCisJCQkJ
CTogInIiIChicmVha2luZm9bYnJlYWtub10uYWRkcikgKTsNCisJCQkJYnJl
YWs7DQorDQorCQkJY2FzZSAxOg0KKwkJCQlhc20gdm9sYXRpbGUgKCJtb3Zs
ICUwLCAlJWRyMVxuIg0KKwkJCQkJOiANCisJCQkJCTogInIiIChicmVha2lu
Zm9bYnJlYWtub10uYWRkcikgKTsNCisJCQkJYnJlYWs7DQorDQorCQkJY2Fz
ZSAyOg0KKwkJCQlhc20gdm9sYXRpbGUgKCJtb3ZsICUwLCAlJWRyMlxuIg0K
KwkJCQkJOiANCisJCQkJCTogInIiIChicmVha2luZm9bYnJlYWtub10uYWRk
cikgKTsNCisJCQkJYnJlYWs7DQorDQorCQkJY2FzZSAzOg0KKwkJCQlhc20g
dm9sYXRpbGUgKCJtb3ZsICUwLCAlJWRyM1xuIg0KKwkJCQkJOiANCisJCQkJ
CTogInIiIChicmVha2luZm9bYnJlYWtub10uYWRkcikgKTsNCisJCQkJYnJl
YWs7DQorCQkJfQ0KKwkJfSBlbHNlIGlmICgoZHI3ICYgYnJlYWtiaXQpICYm
ICFicmVha2luZm9bYnJlYWtub10uZW5hYmxlZCl7DQorCQkJY29ycmVjdGl0
ID0gMTsNCisJCQlkcjcgJj0gfmJyZWFrYml0Ow0KKwkJCWRyNyAmPSB+KDB4
ZjAwMDAgPDwgKGJyZWFrbm8gPDwgMikpOw0KKwkJfQ0KKwl9DQorCWlmIChj
b3JyZWN0aXQpIHsNCisJCWFzbSB2b2xhdGlsZSAoICJtb3ZsICUwLCAlJWRi
N1xuIg0KKwkJCSAgICAgICA6DQorCQkJICAgICAgIDogInIiIChkcjcpKTsN
CisJfQ0KK30NCisNCitpbnQgcmVtb3ZlX2h3X2JyZWFrKA0KKwl1bnNpZ25l
ZCBicmVha25vKQ0KK3sNCisJaWYgKCFicmVha2luZm9bYnJlYWtub10uZW5h
YmxlZCkgew0KKwkJcmV0dXJuIC0xOw0KKwl9DQorCWJyZWFraW5mb1ticmVh
a25vXS5lbmFibGVkID0gMDsNCisJcmV0dXJuIDA7DQorfQ0KKw0KK2ludCBz
ZXRfaHdfYnJlYWsoDQorCXVuc2lnbmVkIGJyZWFrbm8sDQorCXVuc2lnbmVk
IHR5cGUsDQorCXVuc2lnbmVkIGxlbiwNCisJdW5zaWduZWQgYWRkcikNCit7
DQorCWlmIChicmVha2luZm9bYnJlYWtub10uZW5hYmxlZCkgew0KKwkJcmV0
dXJuIC0xOw0KKwl9DQorCWJyZWFraW5mb1ticmVha25vXS5lbmFibGVkID0g
MTsNCisJYnJlYWtpbmZvW2JyZWFrbm9dLnR5cGUgPSB0eXBlOw0KKwlicmVh
a2luZm9bYnJlYWtub10ubGVuID0gbGVuOw0KKwlicmVha2luZm9bYnJlYWtu
b10uYWRkciA9IGFkZHI7DQorCXJldHVybiAwOw0KK30NCisNCit2b2lkIGdk
Yl93YWl0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQ0KK3sNCisJdW5zaWduZWQg
ZmxhZ3M7DQorCWludCBwcm9jZXNzb3I7DQorCQ0KKwlsb2NhbF9pcnFfc2F2
ZShmbGFncyk7DQorCXByb2Nlc3NvciA9IHNtcF9wcm9jZXNzb3JfaWQoKTsN
CisJcHJvY2luZGVidWdbcHJvY2Vzc29yXSA9IDE7DQorCWN1cnJlbnQtPnRo
cmVhZC5rZ2RicmVncyA9IHJlZ3M7DQorDQorCS8qIFdhaXQgdGlsbCBtYXN0
ZXIgcHJvY2Vzc29yIGdvZXMgY29tcGxldGVseSBpbnRvIHRoZSBkZWJ1Z2dl
ciAqLw0KKwl3aGlsZSAoIXByb2NpbmRlYnVnW2tnZGJfbG9jayAtIDFdKSB7
DQorCQlpbnQgaSA9IDEwOwkvKiBhbiBhcmJpdHJhcnkgbnVtYmVyICovDQor
DQorCQl3aGlsZSAoLS1pKQ0KKwkJCWFzbSB2b2xhdGlsZSAoIm5vcCI6IDog
OiAibWVtb3J5Iik7DQorDQorCX0NCisNCisJLyogV2FpdCB0aWxsIG1hc3Rl
ciBwcm9jZXNzb3IgaXMgZG9uZSB3aXRoIGRlYnVnZ2luZyAqLw0KKwlzcGlu
X2xvY2soc2xhdmVjcHVsb2NrcyArIHByb2Nlc3Nvcik7DQorCWNvcnJlY3Rf
aHdfYnJlYWsoKTsNCisNCisJLyogU2lnbmFsIHRoZSBtYXN0ZXIgcHJvY2Vz
c29yIHRoYXQgd2UgYXJlIGRvbmUgKi8NCisJcHJvY2luZGVidWdbcHJvY2Vz
c29yXSA9IDA7DQorCXNwaW5fdW5sb2NrKHNsYXZlY3B1bG9ja3MgKyBwcm9j
ZXNzb3IpOw0KKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7DQorfQ0KKw0K
K3ZvaWQNCitwcmludGV4Y2VwdGlvbmluZm8oDQorCWludCBleGNlcHRpb25O
bywNCisJaW50IGVycm9yY29kZSwNCisJY2hhciAqYnVmZmVyKQ0KK3sNCisJ
dW5zaWduZWQgZHI2Ow0KKwlpbnQgaTsNCisJc3dpdGNoIChleGNlcHRpb25O
bykgew0KKwljYXNlIDE6CQkJLyogZGVidWcgZXhjZXB0aW9uICovDQorCQli
cmVhazsNCisJY2FzZSAzOgkJCS8qIGJyZWFrcG9pbnQgKi8NCisJCXNwcmlu
dGYoYnVmZmVyLCAiU29mdHdhcmUgYnJlYWtwb2ludCIpOw0KKwkJcmV0dXJu
Ow0KKwlkZWZhdWx0Og0KKwkJc3ByaW50ZihidWZmZXIsICJEZXRhaWxzIG5v
dCBhdmFpbGFibGUiKTsNCisJCXJldHVybjsNCisJfQ0KKwlhc20gdm9sYXRp
bGUgKCJtb3ZsICUlZGI2LCAlMFxuIg0KKwkJICAgICAgOiAiPXIiIChkcjYp
DQorCQkgICAgICA6ICk7DQorCWlmIChkcjYgJiAweDQwMDApIHsNCisJCXNw
cmludGYoYnVmZmVyLCAiU2luZ2xlIHN0ZXAiKTsNCisJCXJldHVybjsNCisJ
fQ0KKwlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7DQorCQlpZiAoZHI2ICYg
KDEgPDwgaSkpIHsNCisJCQlzcHJpbnRmKGJ1ZmZlciwgIkhhcmR3YXJlIGJy
ZWFrcG9pbnQgJWQiLCBpKTsNCisJCQlyZXR1cm47DQorCQl9DQorCX0NCisJ
c3ByaW50ZihidWZmZXIsICJVbmtub3duIHRyYXAiKTsNCisJcmV0dXJuOw0K
K30NCisNCisvKg0KKyAqIFRoaXMgZnVuY3Rpb24gZG9lcyBhbGwgY29tbWFu
ZCBwcm9jZXNpbmcgZm9yIGludGVyZmFjaW5nIHRvIGdkYi4NCisgKg0KKyAq
IE5PVEU6ICBUaGUgSU5UIG5uIGluc3RydWN0aW9uIGxlYXZlcyB0aGUgc3Rh
dGUgb2YgdGhlIGludGVycnVwdA0KKyAqICAgICAgICBlbmFibGUgZmxhZyBV
TkNIQU5HRUQuICBUaGF0IG1lYW5zIHRoYXQgd2hlbiB0aGlzIHJvdXRpbmUN
CisgKiAgICAgICAgaXMgZW50ZXJlZCB2aWEgYSBicmVha3BvaW50IChJTlQg
MykgaW5zdHJ1Y3Rpb24gZnJvbSBjb2RlDQorICogICAgICAgIHRoYXQgaGFz
IGludGVycnVwdHMgZW5hYmxlZCwgdGhlbiBpbnRlcnJ1cHRzIHdpbGwgU1RJ
TEwgQkUNCisgKiAgICAgICAgZW5hYmxlZCB3aGVuIHRoaXMgcm91dGluZSBp
cyBlbnRlcmVkLiAgVGhlIGZpcnN0IHRoaW5nIHRoYXQNCisgKiAgICAgICAg
d2UgZG8gaGVyZSBpcyBkaXNhYmxlIGludGVycnVwdHMgc28gYXMgdG8gcHJl
dmVudCByZWN1cnNpdmUNCisgKiAgICAgICAgZW50cmllcyBhbmQgYm90aGVy
c29tZSBzZXJpYWwgaW50ZXJydXB0cyB3aGlsZSB3ZSBhcmUNCisgKiAgICAg
ICAgdHJ5aW5nIHRvIHJ1biB0aGUgc2VyaWFsIHBvcnQgaW4gcG9sbGVkIG1v
ZGUuDQorICoNCisgKiBGb3Iga2VybmVsIHZlcnNpb24gMi4xLnh4IHRoZSBj
bGkoKSBhY3R1YWxseSBnZXRzIGEgc3BpbiBsb2NrIHNvDQorICogaXQgaXMg
YWx3YXlzIG5lY2Vzc2FyeSB0byBkbyBhIHJlc3RvcmVfZmxhZ3MgYmVmb3Jl
IHJldHVybmluZw0KKyAqIHNvIGFzIHRvIGxldCBnbyBvZiB0aGF0IGxvY2su
DQorICovDQoraW50IGhhbmRsZV9leGNlcHRpb24oaW50IGV4Y2VwdGlvblZl
Y3RvciwNCisJCSAgICAgaW50IHNpZ25vLA0KKwkJICAgICBpbnQgZXJyX2Nv
ZGUsDQorCQkgICAgIHN0cnVjdCBwdF9yZWdzICpsaW51eF9yZWdzKQ0KK3sN
CisJc3RydWN0IHRhc2tfc3RydWN0CSp1c2V0aHJlYWQgPSBOVUxMOw0KKwlp
bnQJCQlhZGRyLCBsZW5ndGg7DQorCWludAkJCWJyZWFrbm8sIGJyZWFrdHlw
ZTsNCisJY2hhcgkJCSpwdHI7DQorCWludAkJCW5ld1BDOw0KKwl1bnNpZ25l
ZCBsb25nCQlmbGFnczsNCisJaW50IAkJCWdkYl9yZWdzW05VTVJFR0JZVEVT
LzRdOw0KKwlpbnQJCQlpOw0KKwlpbnQJCQlkcjY7DQorCXN0cnVjdCBwdF9y
ZWdzCQl0ZW1wcmVnczsNCisjaWZkZWYgQ09ORklHX0tHREJfVEhSRUFEDQor
CWludAkJCW5vdGhyZWFkczsNCisJaW50CQkJbWF4dGhyZWFkczsNCisJaW50
CQkJdGhyZWFkaWQ7DQorCXRocmVhZHJlZgkJdGhyZWY7DQorCXN0cnVjdCB0
YXNrX3N0cnVjdAkqdGhyZWFkID0gTlVMTDsNCisjZW5kaWYNCisJdW5zaWdu
ZWQJCXByb2NpZDsNCisNCisjZGVmaW5lCXJlZ3MJKCpsaW51eF9yZWdzKQ0K
Kw0KKwkvKg0KKwkgKiBJZiB0aGUgZW50cnkgaXMgbm90IGZyb20gdGhlIGtl
cm5lbCB0aGVuIHJldHVybiB0byB0aGUgTGludXgNCisJICogdHJhcCBoYW5k
bGVyIGFuZCBsZXQgaXQgcHJvY2VzcyB0aGUgaW50ZXJydXB0IG5vcm1hbGx5
Lg0KKwkgKi8NCisJaWYgKChsaW51eF9yZWdzLT5lZmxhZ3MgJiBWTV9NQVNL
KSB8fCAoMyAmIGxpbnV4X3JlZ3MtPnhjcykpIHsNCisJCXJldHVybigwKTsN
CisJfQ0KKw0KKwlpZiAoa2dkYl9tZW1lcnJfZXhwZWN0ZWQpDQorCXsNCisJ
CS8qDQorCQkgKiBUaGlzIGZhdWx0IG9jY3VyZWQgYmVjYXVzZSBvZiB0aGUg
Z2V0X2NoYXIgb3Igc2V0X2NoYXINCisJCSAqIHJvdXRpbmVzLiAgVGhlc2Ug
dHdvIHJvdXRpbmVzIHVzZSBlaXRoZXIgZWF4IG9mIGVkeCB0bw0KKwkJICog
aW5kaXJlY3RseSByZWZlcmVuY2UgdGhlIGxvY2F0aW9uIGluIG1lbW9yeSB0
aGF0IHRoZXkNCisJCSAqIGFyZSB3b3JraW5nIHdpdGguICBGb3IgYSBwYWdl
IGZhdWx0LCB3aGVuIHdlIHJldHVybg0KKwkJICogdGhlIGluc3RydWN0aW9u
IHdpbGwgYmUgcmV0cmllZCwgc28gd2UgaGF2ZSB0byBtYWtlDQorCQkgKiBz
dXJlIHRoYXQgdGhlc2UgcmVnaXN0ZXJzIHBvaW50IHRvIHZhbGlkIG1lbW9y
eS4NCisJCSAqLw0KKwkJa2dkYl9tZW1lcnIgPSAxIDsJCS8qIHNldCBtZW0g
ZXJyb3IgZmxhZyAqLw0KKwkJa2dkYl9tZW1lcnJfZXhwZWN0ZWQgPSAwIDsN
CisJCWtnZGJfbWVtZXJyX2NudCsrIDsJLyogaGVscHMgaW4gZGVidWdnaW5n
ICovDQorCQlyZWdzLmVheCA9IChsb25nKSAmZ2FyYmFnZV9sb2MgOwkvKiBt
YWtlIHZhbGlkIGFkZHJlc3MgKi8NCisJCXJlZ3MuZWR4ID0gKGxvbmcpICZn
YXJiYWdlX2xvYyA7CS8qIG1ha2UgdmFsaWQgYWRkcmVzcyAqLw0KKwkJcmV0
dXJuKDApIDsNCisJfQ0KKw0KKwkvKiBIb2xkIGtnZGJfbG9jayAqLw0KKwlw
cm9jaWQgPSBzbXBfcHJvY2Vzc29yX2lkKCk7DQorCXdoaWxlIChjbXB4Y2hn
KCZrZ2RiX2xvY2ssIDAsIChwcm9jaWQgKyAxKSkgIT0gMCkgew0KKwkJaW50
IGkgPSAyNTsJLyogYW4gYXJiaXRyYXJ5IG51bWJlciAqLw0KKw0KKwkJd2hp
bGUgKC0taSkNCisJCQlhc20gdm9sYXRpbGUgKCJub3AiOiA6IDogIm1lbW9y
eSIpOw0KKwl9DQorDQorCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsNCisNCisJ
LyogRGlzYWJsZSBoYXJkd2FyZSBkZWJ1Z2dpbmcgd2hpbGUgd2UgYXJlIGlu
IGtnZGIgKi8NCisJX19hc21fXygibW92bCAlMCwlJWRiNyINCisJCTogLyog
bm8gb3V0cHV0ICovDQorCQk6ICJyIiAoMCkpOw0KKw0KKwlmb3IgKGkgPSAw
OyBpIDwgc21wX251bV9jcHVzOyBpKyspIHsNCisJCXNwaW5fbG9jaygmc2xh
dmVjcHVsb2Nrc1tpXSk7DQorCX0NCisNCisJLyogc3Bpbl9sb2NrIGNvZGUg
aXMgZ29vZCBlbm91Z2ggYXMgYSBiYXJyaWVyIHNvIHdlIGRvbid0DQorCSAq
IG5lZWQgb25lIGhlcmUgKi8NCisJcHJvY2luZGVidWdbc21wX3Byb2Nlc3Nv
cl9pZCgpXSA9IDE7DQorDQorCS8qIE1hc3RlciBwcm9jZXNzb3IgaXMgY29t
cGxldGVseSBpbiB0aGUgZGVidWdnZXIgKi8NCisNCisJZ2RiX2kzODZ2ZWN0
b3IgID0gZXhjZXB0aW9uVmVjdG9yOw0KKwlnZGJfaTM4NmVycmNvZGUgPSBl
cnJfY29kZSA7DQorDQorCS8qIHJlcGx5IHRvIGhvc3QgdGhhdCBhbiBleGNl
cHRpb24gaGFzIG9jY3VycmVkICovDQorCXJlbWNvbU91dEJ1ZmZlclswXSA9
ICdTJzsNCisJcmVtY29tT3V0QnVmZmVyWzFdID0gIGhleGNoYXJzW3NpZ25v
ID4+IDRdOw0KKwlyZW1jb21PdXRCdWZmZXJbMl0gPSAgaGV4Y2hhcnNbc2ln
bm8gJSAxNl07DQorCXJlbWNvbU91dEJ1ZmZlclszXSA9IDA7DQorDQorCXB1
dHBhY2tldChyZW1jb21PdXRCdWZmZXIpOw0KKw0KKwl3aGlsZSAoMT09MSkg
ew0KKwkJZXJyb3IgPSAwOw0KKwkJcmVtY29tT3V0QnVmZmVyWzBdID0gMDsN
CisJCWdldHBhY2tldChyZW1jb21JbkJ1ZmZlcik7DQorCQlzd2l0Y2ggKHJl
bWNvbUluQnVmZmVyWzBdKSB7DQorCQljYXNlICc/JyA6IA0KKwkJCXJlbWNv
bU91dEJ1ZmZlclswXSA9ICdTJzsNCisJCQlyZW1jb21PdXRCdWZmZXJbMV0g
PSAgaGV4Y2hhcnNbc2lnbm8gPj4gNF07DQorCQkJcmVtY29tT3V0QnVmZmVy
WzJdID0gIGhleGNoYXJzW3NpZ25vICUgMTZdOw0KKwkJCXJlbWNvbU91dEJ1
ZmZlclszXSA9IDA7DQorCQkJYnJlYWs7DQorCQljYXNlICdnJyA6IC8qIHJl
dHVybiB0aGUgdmFsdWUgb2YgdGhlIENQVSByZWdpc3RlcnMgKi8NCisJCQlp
ZiAoIXVzZXRocmVhZCB8fCB1c2V0aHJlYWQgPT0gY3VycmVudCkgew0KKwkJ
CQlyZWdzX3RvX2dkYl9yZWdzKGdkYl9yZWdzLCAmcmVncykgOw0KKwkJCX0g
ZWxzZSB7DQorCQkJCW1lbXNldChnZGJfcmVncywgMCwgTlVNUkVHQllURVMp
Ow0KKwkJCQlpZiAodXNldGhyZWFkLT50aHJlYWQua2dkYnJlZ3MpIHsNCisJ
CQkJCWtnZGJfbWVtZXJyX2V4cGVjdGVkID0gMSA7DQorCQkJCQlrZ2RiX21l
bWVyciA9IDA7DQorCQkJCQlnZXRfY2hhcigoY2hhciAqKXVzZXRocmVhZC0+
dGhyZWFkLmtnZGJyZWdzKTsNCisJCQkJCWtnZGJfbWVtZXJyX2V4cGVjdGVk
ID0gMDsNCisJCQkJCWlmIChrZ2RiX21lbWVycikgew0KKwkJCQkJCSooKChj
aGFyICopJnRlbXByZWdzKSArIGkpID0gJ1wwJzsNCisJCQkJCQlnZGJfcmVn
c1tfUENdID0ga2dkYl91c2VyY29kZTsNCisJCQkJCX0gZWxzZSB7DQorCQkJ
CQkJcmVnc190b19nZGJfcmVncyhnZGJfcmVncywNCisJCQkJCQkJdXNldGhy
ZWFkLT50aHJlYWQua2dkYnJlZ3MpOw0KKwkJCQkJfQ0KKwkJCQl9IGVsc2Ug
ew0KKwkJCQkJZ2RiX3JlZ3NbX1BDXSA9IGtnZGJfdXNlcmNvZGU7DQorCQkJ
CX0NCisJCQl9DQorCQkJbWVtMmhleCgoY2hhciopIGdkYl9yZWdzLCByZW1j
b21PdXRCdWZmZXIsIE5VTVJFR0JZVEVTLCAwKTsNCisJCQlicmVhazsNCisJ
CWNhc2UgJ0cnIDogLyogc2V0IHRoZSB2YWx1ZSBvZiB0aGUgQ1BVIHJlZ2lz
dGVycyAtIHJldHVybiBPSyAqLw0KKwkJCWhleDJtZW0oJnJlbWNvbUluQnVm
ZmVyWzFdLCAoY2hhciopIGdkYl9yZWdzLCBOVU1SRUdCWVRFUywgMCk7DQor
CQkJaWYgKCF1c2V0aHJlYWQgfHwgdXNldGhyZWFkID09IGN1cnJlbnQpIHsN
CisJCQkJZ2RiX3JlZ3NfdG9fcmVncyhnZGJfcmVncywgJnJlZ3MpIDsNCisJ
CQkJc3RyY3B5KHJlbWNvbU91dEJ1ZmZlciwiT0siKTsNCisJCQl9IGVsc2Ug
ew0KKwkJCQlzdHJjcHkocmVtY29tT3V0QnVmZmVyLCJFMDAiKTsNCisJCQl9
DQorCQkJYnJlYWs7DQorDQorCQkvKiBtQUEuLkFBLExMTEwgIFJlYWQgTExM
TCBieXRlcyBhdCBhZGRyZXNzIEFBLi5BQSAqLw0KKwkJY2FzZSAnbScgOg0K
KwkJCS8qIFRSWSBUTyBSRUFEICV4LCV4LiAgSUYgU1VDQ0VFRCwgU0VUIFBU
UiA9IDAgKi8NCisJCQlwdHIgPSAmcmVtY29tSW5CdWZmZXJbMV07DQorCQkJ
aWYgKGhleFRvSW50KCZwdHIsJmFkZHIpKQ0KKwkJCWlmICgqKHB0cisrKSA9
PSAnLCcpDQorCQkJaWYgKGhleFRvSW50KCZwdHIsJmxlbmd0aCkpDQorCQkJ
ew0KKwkJCQlwdHIgPSAwOw0KKwkJCQltZW0yaGV4KChjaGFyKikgYWRkciwg
cmVtY29tT3V0QnVmZmVyLCBsZW5ndGgsIDEpOw0KKwkJCQlpZiAoa2dkYl9t
ZW1lcnIpIHsNCisJCQkJCXN0cmNweSAocmVtY29tT3V0QnVmZmVyLCAiRTAz
Iik7DQorCQkJCX0NCisJCQl9DQorDQorCQkJaWYgKHB0cikNCisJCQl7DQor
CQkJCXN0cmNweShyZW1jb21PdXRCdWZmZXIsIkUwMSIpOw0KKwkJCX0NCisJ
CQlicmVhazsNCisNCisJICAgICAgLyogTUFBLi5BQSxMTExMOiBXcml0ZSBM
TExMIGJ5dGVzIGF0IGFkZHJlc3MgQUEuQUEgcmV0dXJuIE9LICovDQorCSAg
ICAgIGNhc2UgJ00nIDoNCisJCQkJLyogVFJZIFRPIFJFQUQgJyV4LCV4Oicu
ICBJRiBTVUNDRUVELCBTRVQgUFRSID0gMCAqLw0KKwkJCQlwdHIgPSAmcmVt
Y29tSW5CdWZmZXJbMV07DQorCQkJCWlmIChoZXhUb0ludCgmcHRyLCZhZGRy
KSkNCisJCQkJaWYgKCoocHRyKyspID09ICcsJykNCisJCQkJCWlmIChoZXhU
b0ludCgmcHRyLCZsZW5ndGgpKQ0KKwkJCQkJCWlmICgqKHB0cisrKSA9PSAn
OicpDQorCQkJCQkJew0KKwkJCQkJCQloZXgybWVtKHB0ciwgKGNoYXIqKSBh
ZGRyLCBsZW5ndGgsIDEpOw0KKw0KKwkJCQkJCQlpZiAoa2dkYl9tZW1lcnIp
IHsNCisJCQkJCQkJCXN0cmNweSAocmVtY29tT3V0QnVmZmVyLCAiRTAzIik7
DQorCQkJCQkJCX0gZWxzZSB7DQorCQkJCQkJCQlzdHJjcHkocmVtY29tT3V0
QnVmZmVyLCJPSyIpOw0KKwkJCQkJCQl9DQorDQorCQkJCQkJCXB0ciA9IDA7
DQorCQkJCQkJfQ0KKwkJCQlpZiAocHRyKQ0KKwkJCQl7DQorCQkJCQlzdHJj
cHkocmVtY29tT3V0QnVmZmVyLCJFMDIiKTsNCisJCQkJfQ0KKwkJCQlicmVh
azsNCisNCisJICAgICAvKiBjQUEuLkFBICAgIENvbnRpbnVlIGF0IGFkZHJl
c3MgQUEuLkFBKG9wdGlvbmFsKSAqLw0KKwkgICAgIC8qIHNBQS4uQUEgICBT
dGVwIG9uZSBpbnN0cnVjdGlvbiBmcm9tIEFBLi5BQShvcHRpb25hbCkgKi8N
CisJICAgICBjYXNlICdjJyA6DQorCSAgICAgY2FzZSAncycgOg0KKw0KKwkJ
CS8qIHRyeSB0byByZWFkIG9wdGlvbmFsIHBhcmFtZXRlciwgcGMgdW5jaGFu
Z2VkIGlmIG5vIHBhcm0gKi8NCisJCQlwdHIgPSAmcmVtY29tSW5CdWZmZXJb
MV07DQorCQkJaWYgKGhleFRvSW50KCZwdHIsJmFkZHIpKQ0KKwkJCXsNCisJ
CQkJcmVncy5laXAgPSBhZGRyOw0KKwkJCX0NCisNCisJCQluZXdQQyA9IHJl
Z3MuZWlwIDsNCisNCisJCQkvKiBjbGVhciB0aGUgdHJhY2UgYml0ICovDQor
CQkJcmVncy5lZmxhZ3MgJj0gMHhmZmZmZmVmZjsNCisNCisJCQkvKiBzZXQg
dGhlIHRyYWNlIGJpdCBpZiB3ZSdyZSBzdGVwcGluZyAqLw0KKwkJCWlmIChy
ZW1jb21JbkJ1ZmZlclswXSA9PSAncycpIHJlZ3MuZWZsYWdzIHw9IDB4MTAw
Ow0KKw0KKwkJCWFzbSB2b2xhdGlsZSAoIm1vdmwgJSVkYjYsICUwXG4iDQor
CQkJCTogIj1yIiAoZHI2KQ0KKwkJCQk6ICk7DQorCQkJaWYgKCEoZHI2ICYg
MHg0MDAwKSkgew0KKwkJCQlmb3IgKGJyZWFrbm8gPSAwOyBicmVha25vIDwg
NDsgKyticmVha25vKSB7DQorCQkJCQlpZiAoZHI2ICYgKDEgPDwgYnJlYWtu
bykpIHsNCisJCQkJCQlpZiAoYnJlYWtpbmZvW2JyZWFrbm9dLnR5cGUgPT0g
MCkgew0KKwkJCQkJCQkvKiBTZXQgcmVzdG9yZSBmbGFnICovDQorCQkJCQkJ
CXJlZ3MuZWZsYWdzIHw9IDB4MTAwMDA7DQorCQkJCQkJCWJyZWFrOw0KKwkJ
CQkJCX0NCisJCQkJCX0NCisJCQkJfQ0KKwkJCX0NCisJCQljb3JyZWN0X2h3
X2JyZWFrKCk7DQorCQkJYXNtIHZvbGF0aWxlICggDQorCQkJCSJtb3ZsICUw
LCAlJWRiNlxuIg0KKwkJCQk6IA0KKwkJCQk6ICJyIiAoMCkgKTsNCisNCisJ
CQlwcm9jaW5kZWJ1Z1tzbXBfcHJvY2Vzc29yX2lkKCldID0gMDsNCisNCisJ
CQkvKiBTaWduYWwgdGhlIHNsYXZlIHByb2Nlc3NvcnMgdG8gcXVpdCBmcm9t
DQorCQkJICogdGhlIGRlYnVnZ2VyICovDQorCQkJZm9yIChpID0gMDsgaSA8
IHNtcF9udW1fY3B1czsgaSsrKSB7DQorCQkJCXNwaW5fdW5sb2NrKCZzbGF2
ZWNwdWxvY2tzW2ldKTsNCisJCQl9DQorDQorCQkJLyogV2FpdCB0aWxsIGFs
bCB0aGUgcHJvY2Vzc29ycyBoYXZlIHF1aXQNCisJCQkgKiBmcm9tIHRoZSBk
ZWJ1Z2dlciAqLw0KKw0KKwkJCWZvciAoaSA9IDA7IGkgPCBzbXBfbnVtX2Nw
dXM7IGkrKykgew0KKwkJCQl3aGlsZSAocHJvY2luZGVidWdbaV0pIHsNCisJ
CQkJCWludCBqID0gMTA7IC8qIGFuIGFyYml0cmFyeSBudW1iZXIgKi8NCisN
CisJCQkJCXdoaWxlICgtLWopIHsNCisJCQkJCQlhc20gdm9sYXRpbGUgKCJu
b3AiDQorCQkJCQkJCTogOiA6ICJtZW1vcnkiKTsNCisJCQkJCX0NCisJCQkJ
fQ0KKwkJCX0NCisNCisJCQkvKiBSZWxlYXNlIGtnZGJfbG9jayAqLw0KKwkJ
CWFzbSB2b2xhdGlsZSAoDQorI2lmbmRlZiBDT05GSUdfWDg2X09PU1RPUkUN
CisJCQkibW92YiAkMCwlMCINCisjZWxzZQ0KKwkJCSJsb2NrIG1vdmIgJDAs
JTAiDQorI2VuZGlmDQorCQkJOiAiPW0iIChrZ2RiX2xvY2spIDogOiAibWVt
b3J5Iik7DQorDQorCQkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpIDsNCisJ
CQlyZXR1cm4oMCkgOw0KKw0KKwkJLyoga2lsbCB0aGUgcHJvZ3JhbSAqLw0K
KwkJY2FzZSAnaycgOiAgLyogZG8gbm90aGluZyAqLw0KKwkJYnJlYWs7DQor
DQorCQkvKiBxdWVyeSAqLw0KKwkJY2FzZSAncScgOg0KKwkJCXN3aXRjaCAo
cmVtY29tSW5CdWZmZXJbMV0pIHsNCisjaWZkZWYgQ09ORklHX0tHREJfVEhS
RUFEDQorCQkJY2FzZSAnTCc6CQ0KKwkJCQkvKiBMaXN0IHRocmVhZHMgKi8N
CisJCQkJdW5wYWNrX2J5dGUocmVtY29tSW5CdWZmZXIrMywgJm1heHRocmVh
ZHMpOw0KKwkJCQl1bnBhY2tfdGhyZWFkaWQocmVtY29tSW5CdWZmZXIrNSwg
JnRocmVmKTsNCisNCisJCQkJcmVtY29tT3V0QnVmZmVyWzBdID0gJ3EnOw0K
KwkJCQlyZW1jb21PdXRCdWZmZXJbMV0gPSAnTSc7DQorCQkJCXJlbWNvbU91
dEJ1ZmZlcls0XSA9ICcwJzsNCisJCQkJcGFja190aHJlYWRpZChyZW1jb21P
dXRCdWZmZXIrNSwgJnRocmVmKTsJDQorDQorCQkJCXRocmVhZGlkID0gdGhy
ZWFkcmVmX3RvX2ludCgmdGhyZWYpOw0KKwkJCQlmb3IgKG5vdGhyZWFkcyA9
IDA7DQorCQkJCQlub3RocmVhZHMgPCBtYXh0aHJlYWRzICYmIHRocmVhZGlk
PCBQSURfTUFYOw0KKwkJCQkJdGhyZWFkaWQrKyApDQorCQkJCXsNCisJCQkJ
CXJlYWRfbG9jaygmdGFza2xpc3RfbG9jayk7DQorCQkJCQl0aHJlYWQgPSBn
ZXR0aHJlYWQodGhyZWFkaWQpOw0KKwkJCQkJcmVhZF91bmxvY2soJnRhc2ts
aXN0X2xvY2spOw0KKwkJCQkJaWYgKHRocmVhZCkgew0KKwkJCQkJCWludF90
b190aHJlYWRyZWYoJnRocmVmLCB0aHJlYWRpZCk7DQorCQkJCQkJcGFja190
aHJlYWRpZChyZW1jb21PdXRCdWZmZXIrMjErbm90aHJlYWRzKjE2LA0KKwkJ
CQkJCQkgICAgICAmdGhyZWYpOw0KKwkJCQkJCW5vdGhyZWFkcysrOw0KKwkJ
CQkJfQ0KKwkJCQl9DQorCQkJCWlmICh0aHJlYWRpZCA9PSBQSURfTUFYKSB7
DQorCQkJCQlyZW1jb21PdXRCdWZmZXJbNF0gPSAnMSc7DQorCQkJCX0NCisJ
CQkJcGFja19oZXhfYnl0ZShyZW1jb21PdXRCdWZmZXIrMiwgbm90aHJlYWRz
KTsNCisJCQkJcmVtY29tT3V0QnVmZmVyWzIxK25vdGhyZWFkcyoxNl0gPSAn
XDAnOw0KKwkJCQlicmVhazsNCisNCisJCQljYXNlICdDJzoNCisJCQkJLyog
Q3VycmVudCB0aHJlYWQgaWQgKi8NCisJCQkJcmVtY29tT3V0QnVmZmVyWzBd
ID0gJ1EnOw0KKwkJCQlyZW1jb21PdXRCdWZmZXJbMV0gPSAnQyc7DQorCQkJ
CXRocmVhZGlkID0gY3VycmVudC0+cGlkOw0KKwkJCQlpbnRfdG9fdGhyZWFk
cmVmKCZ0aHJlZiwgdGhyZWFkaWQpOw0KKwkJCQlwYWNrX3RocmVhZGlkKHJl
bWNvbU91dEJ1ZmZlcisyLCAmdGhyZWYpOwkNCisJCQkJcmVtY29tT3V0QnVm
ZmVyWzE4XSA9ICdcMCc7DQorCQkJCWJyZWFrOw0KKyNlbmRpZg0KKw0KKwkJ
CWNhc2UgJ0UnOg0KKwkJCQkvKiBQcmludCBleGNlcHRpb24gaW5mbyAqLw0K
KwkJCQlwcmludGV4Y2VwdGlvbmluZm8oZXhjZXB0aW9uVmVjdG9yLCBlcnJf
Y29kZSwgcmVtY29tT3V0QnVmZmVyKTsNCisJCQkJYnJlYWs7DQorCQkJfQ0K
KwkJCWJyZWFrOw0KKw0KKyNpZmRlZiBDT05GSUdfS0dEQl9USFJFQUQNCisJ
CS8qIHRhc2sgcmVsYXRlZCAqLw0KKwkJY2FzZSAnSCcgOgkgDQorCQkJc3dp
dGNoIChyZW1jb21JbkJ1ZmZlclsxXSkgew0KKwkJCQljYXNlICdnJzoNCisJ
CQkJCXB0ciA9ICZyZW1jb21JbkJ1ZmZlclsyXTsNCisJCQkJCWhleFRvSW50
KCZwdHIsICZ0aHJlYWRpZCk7DQorCQkJCQl0aHJlYWQgPSBnZXR0aHJlYWQo
dGhyZWFkaWQpOw0KKwkJCQkJaWYgKCF0aHJlYWQpIHsNCisJCQkJCQlyZW1j
b21PdXRCdWZmZXJbMF0gPSAnRSc7DQorCQkJCQkJcmVtY29tT3V0QnVmZmVy
WzFdID0gJ1wwJzsNCisJCQkJCQlicmVhazsNCisJCQkJCX0NCisJCQkJCXVz
ZXRocmVhZCA9IHRocmVhZDsNCisJCQkJCS8qIGZvbGxvdyB0aHJvdWdoICov
DQorCQkJCWNhc2UgJ2MnOg0KKwkJCQkJcmVtY29tT3V0QnVmZmVyWzBdID0g
J08nOw0KKwkJCQkJcmVtY29tT3V0QnVmZmVyWzFdID0gJ0snOw0KKwkJCQkJ
cmVtY29tT3V0QnVmZmVyWzJdID0gJ1wwJzsNCisJCQkJYnJlYWs7DQorCQkJ
fQ0KKwkJCWJyZWFrOw0KKw0KKwkJLyogUXVlcnkgdGhyZWFkIHN0YXR1cyAq
Lw0KKwkJY2FzZSAnVCc6DQorCQkJcHRyID0gJnJlbWNvbUluQnVmZmVyWzFd
Ow0KKwkJCWhleFRvSW50KCZwdHIsICZ0aHJlYWRpZCk7DQorCQkJdGhyZWFk
ID0gZ2V0dGhyZWFkKHRocmVhZGlkKTsNCisJCQlpZiAodGhyZWFkKSB7DQor
CQkJCXJlbWNvbU91dEJ1ZmZlclswXSA9ICdPJzsNCisJCQkJcmVtY29tT3V0
QnVmZmVyWzFdID0gJ0snOw0KKwkJCQlyZW1jb21PdXRCdWZmZXJbMl0gPSAn
XDAnOw0KKwkJCX0gZWxzZSB7DQorCQkJCXJlbWNvbU91dEJ1ZmZlclswXSA9
ICdFJzsNCisJCQkJcmVtY29tT3V0QnVmZmVyWzFdID0gJ1wwJzsNCisJCQl9
DQorCQkJYnJlYWs7DQorI2VuZGlmDQorDQorCQljYXNlICdZJzoNCisJCQlw
dHIgPSAmcmVtY29tSW5CdWZmZXJbMV07DQorCQkJaGV4VG9JbnQoJnB0ciwg
JmJyZWFrbm8pOw0KKwkJCXB0cisrOw0KKwkJCWhleFRvSW50KCZwdHIsICZi
cmVha3R5cGUpOw0KKwkJCXB0cisrOw0KKwkJCWhleFRvSW50KCZwdHIsICZs
ZW5ndGgpOw0KKwkJCXB0cisrOw0KKwkJCWhleFRvSW50KCZwdHIsICZhZGRy
KTsNCisJCQlpZiAoc2V0X2h3X2JyZWFrKGJyZWFrbm8gJiAweDMsIGJyZWFr
dHlwZSAmIDB4MyAsIGxlbmd0aCAmIDB4MywgYWRkcikNCisJCQkJPT0gMCkg
ew0KKwkJCQlzdHJjcHkocmVtY29tT3V0QnVmZmVyLCAiT0siKTsNCisJCQl9
IGVsc2Ugew0KKwkJCQlzdHJjcHkocmVtY29tT3V0QnVmZmVyLCAiRVJST1Ii
KTsNCisJCQl9DQorCQkJYnJlYWs7DQorDQorCQkvKiBSZW1vdmUgaGFyZHdh
cmUgYnJlYWtwb2ludCAqLyAgICAgIA0KKwkJY2FzZSAneSc6DQorCQkJcHRy
ID0gJnJlbWNvbUluQnVmZmVyWzFdOw0KKwkJCWhleFRvSW50KCZwdHIsICZi
cmVha25vKTsNCisJCQlpZiAocmVtb3ZlX2h3X2JyZWFrKGJyZWFrbm8gJiAw
eDMpID09IDApIHsNCisJCQkJc3RyY3B5KHJlbWNvbU91dEJ1ZmZlciwgIk9L
Iik7DQorCQkJfSBlbHNlIHsNCisJCQkJc3RyY3B5KHJlbWNvbU91dEJ1ZmZl
ciwgIkVSUk9SIik7DQorCQkJfQ0KKwkJCWJyZWFrOw0KKw0KKwkJfSAvKiBz
d2l0Y2ggKi8NCisNCisJCS8qIHJlcGx5IHRvIHRoZSByZXF1ZXN0ICovDQor
CQlwdXRwYWNrZXQocmVtY29tT3V0QnVmZmVyKTsNCisJfQ0KK30NCisNCisv
KiB0aGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gc2V0IHVwIGV4Y2VwdGlvbiBo
YW5kbGVycyBmb3IgdHJhY2luZyBhbmQNCisgICBicmVha3BvaW50cyAqLw0K
K3ZvaWQgc2V0X2RlYnVnX3RyYXBzKHZvaWQpDQorew0KKwkvKg0KKwkgKiBs
aW51eF9kZWJ1Z19ob29rIGlzIGRlZmluZWQgaW4gdHJhcHMuYy4gIFdlIHN0
b3JlIGEgcG9pbnRlcg0KKwkgKiB0byBvdXIgb3duIGV4Y2VwdGlvbiBoYW5k
bGVyIGludG8gaXQuDQorCSAqLw0KKwlsaW51eF9kZWJ1Z19ob29rID0gaGFu
ZGxlX2V4Y2VwdGlvbiA7DQorDQorCS8qDQorCSAqIEluIGNhc2UgR0RCIGlz
IHN0YXJ0ZWQgYmVmb3JlIHVzLCBhY2sgYW55IHBhY2tldHMgKHByZXN1bWFi
bHkNCisJICogIiQ/I3h4Iikgc2l0dGluZyB0aGVyZS4gICovDQorCXB1dERl
YnVnQ2hhciAoJysnKTsNCisNCisJaW5pdGlhbGl6ZWQgPSAxOw0KK30NCisN
CisvKiBUaGlzIGZ1bmN0aW9uIHdpbGwgZ2VuZXJhdGUgYSBicmVha3BvaW50
IGV4Y2VwdGlvbi4gIEl0IGlzIHVzZWQgYXQgdGhlDQorICAgYmVnaW5uaW5n
IG9mIGEgcHJvZ3JhbSB0byBzeW5jIHVwIHdpdGggYSBkZWJ1Z2dlciBhbmQg
Y2FuIGJlIHVzZWQNCisgICBvdGhlcndpc2UgYXMgYSBxdWljayBtZWFucyB0
byBzdG9wIHByb2dyYW0gZXhlY3V0aW9uIGFuZCAiYnJlYWsiIGludG8NCisg
ICB0aGUgZGVidWdnZXIuICovDQorDQordm9pZCBicmVha3BvaW50KHZvaWQp
DQorew0KKwlpZiAoaW5pdGlhbGl6ZWQpDQorCQlCUkVBS1BPSU5UKCk7DQor
fQ0KKw0KKyNpZmRlZiBDT05GSUdfR0RCX0NPTlNPTEUNCitjaGFyCWdkYmNv
bmJ1ZltCVUZNQVhdOw0KKw0KK3ZvaWQgZ2RiX2NvbnNvbGVfd3JpdGUoc3Ry
dWN0IGNvbnNvbGUgKmNvLCBjb25zdCBjaGFyICpzLA0KKwkJCQl1bnNpZ25l
ZCBjb3VudCkNCit7DQorCWludAlpOw0KKwlpbnQJd2NvdW50Ow0KKwljaGFy
CSpidWZwdHI7DQorDQorCWlmICghZ2RiX2luaXRpYWxpemVkKSB7DQorCQly
ZXR1cm47DQorCX0NCisJZ2RiY29uYnVmWzBdID0gJ08nOw0KKwlidWZwdHIg
PSBnZGJjb25idWYgKyAxOw0KKwl3aGlsZSAoY291bnQgPiAwKSB7DQorCQlp
ZiAoKGNvdW50IDw8IDEpID4gKEJVRk1BWCAtIDIpKSB7DQorCQkJd2NvdW50
ID0gKEJVRk1BWCAtIDIpID4+IDE7DQorCQl9IGVsc2Ugew0KKwkJCXdjb3Vu
dCA9IGNvdW50Ow0KKwkJfQ0KKwkJY291bnQgLT0gd2NvdW50Ow0KKwkJZm9y
IChpID0gMDsgaSA8IHdjb3VudDsgaSsrKSB7DQorCQkJYnVmcHRyID0gcGFj
a19oZXhfYnl0ZShidWZwdHIsIHNbaV0pOw0KKwkJfQ0KKwkJKmJ1ZnB0ciA9
ICdcMCc7DQorCQlzICs9IHdjb3VudDsNCisNCisJCXB1dHBhY2tldChnZGJj
b25idWYpOw0KKw0KKwl9DQorfQ0KKyNlbmRpZg0KK3N0YXRpYyBpbnQgX19p
bml0IGtnZGJfb3B0X2dkYih2b2lkKQ0KK3sNCisJZ2RiX2VudGVyID0gMTsN
CisJcmV0dXJuIDE7DQorfQ0KK3N0YXRpYyBpbnQgX19pbml0IGtnZGJfb3B0
X2dkYnR0eVMoY2hhciAqc3RyKQ0KK3sNCisJZ2RiX3R0eVMgPSBzaW1wbGVf
c3RydG91bChzdHIsTlVMTCwxMCk7DQorCXJldHVybiAxOw0KK30NCitzdGF0
aWMgaW50IF9faW5pdCBrZ2RiX29wdF9nZGJiYXVkKGNoYXIgKnN0cikNCit7
DQorCWdkYl9iYXVkID0gc2ltcGxlX3N0cnRvdWwoc3RyLE5VTEwsMTApOw0K
KwlyZXR1cm4gMTsNCit9DQorDQorLyoNCisgKiBTZXF1ZW5jZSBvZiB0aGVz
ZSBsaW5lcyBoYXMgdG8gYmUgbWFpbnRhaW5lZCBiZWNhdXNlIGdkYiBvcHRp
b24gaXMgYSBwcmVmaXgNCisgKiBvZiB0aGUgb3RoZXIgdHdvIG9wdGlvbnMN
CisgKi8NCisNCitfX3NldHVwKCJnZGJ0dHlTPSIsIGtnZGJfb3B0X2dkYnR0
eVMpOw0KK19fc2V0dXAoImdkYmJhdWQ9Iiwga2dkYl9vcHRfZ2RiYmF1ZCk7
DQorX19zZXR1cCgiZ2RiIiwga2dkYl9vcHRfZ2RiKTsNCi0tLSBsaW51eC0y
LjQuMTgvYXJjaC9pMzg2L2tlcm5lbC9ubWkuYwlUdWUgT2N0ICAyIDE3OjU1
OjMzIDIwMDENCisrKyBsaW51eC9hcmNoL2kzODYva2VybmVsL25taS5jCUZy
aSBNYXIgMjkgMjA6NDU6MTIgMjAwMg0KQEAgLTI0LDYgKzI0LDIwIEBADQog
I2luY2x1ZGUgPGFzbS9tdHJyLmg+DQogI2luY2x1ZGUgPGFzbS9tcHNwZWMu
aD4NCiANCisjaWZkZWYgQ09ORklHX1g4Nl9SRU1PVEVfREVCVUcNCitleHRl
cm4gZ2RiX2RlYnVnX2hvb2sgKiBsaW51eF9kZWJ1Z19ob29rOw0KKyNkZWZp
bmUJQ0hLX1JFTU9URV9ERUJVRyh0cmFwbnIsc2lnbnIsZXJyb3JfY29kZSxy
ZWdzLGFmdGVyKQkJXA0KKyAgIHsJCQkJCQkJCQlcDQorCWlmIChsaW51eF9k
ZWJ1Z19ob29rICE9IChnZGJfZGVidWdfaG9vayAqKSBOVUxMICYmICF1c2Vy
X21vZGUocmVncykpIFwNCisJewkJCQkJCQkJXA0KKwkJKCpsaW51eF9kZWJ1
Z19ob29rKSh0cmFwbnIsIHNpZ25yLCBlcnJvcl9jb2RlLCByZWdzKSA7CVwN
CisJCWFmdGVyOwkJCQkJCQlcDQorCX0JCQkJCQkJCVwNCisgICAgfQ0KKyNl
bHNlDQorI2RlZmluZQlDSEtfUkVNT1RFX0RFQlVHKHRyYXBucixzaWducixl
cnJvcl9jb2RlLHJlZ3MsYWZ0ZXIpCQ0KKyNlbmRpZg0KKw0KIHVuc2lnbmVk
IGludCBubWlfd2F0Y2hkb2cgPSBOTUlfTk9ORTsNCiBzdGF0aWMgdW5zaWdu
ZWQgaW50IG5taV9oeiA9IEhaOw0KIHVuc2lnbmVkIGludCBubWlfcGVyZmN0
cl9tc3I7CS8qIHRoZSBNU1IgdG8gcmVzZXQgaW4gTk1JIGhhbmRsZXIgKi8N
CkBAIC0yNjksNyArMjgzLDIwIEBADQogCWludCBzdW0sIGNwdSA9IHNtcF9w
cm9jZXNzb3JfaWQoKTsNCiANCiAJc3VtID0gYXBpY190aW1lcl9pcnFzW2Nw
dV07DQorI2lmZGVmIENPTkZJR19YODZfUkVNT1RFX0RFQlVHDQorCWlmIChr
Z2RiX2xvY2spIHsNCisNCisJCS8qDQorCQkgKiBUaGUgbWFjaGluZSBpcyBp
biBrZ2RiLCBob2xkIHRoaXMgY3B1IGlmIGFscmVhZHkNCisJCSAqIG5vdCBo
ZWxkLg0KKwkJICovDQogDQorCQlpZiAoIXByb2NpbmRlYnVnW2NwdV0gJiYg
a2dkYl9sb2NrICE9IChjcHUgKyAxKSkgew0KKwkJCWdkYl93YWl0KHJlZ3Mp
Ow0KKwkJfQ0KKwkJYWxlcnRfY291bnRlcltjcHVdID0gMDsNCisJfSBlbHNl
DQorI2VuZGlmDQogCWlmIChsYXN0X2lycV9zdW1zW2NwdV0gPT0gc3VtKSB7
DQogCQkvKg0KIAkJICogQXlpZWUsIGxvb2tzIGxpa2UgdGhpcyBDUFUgaXMg
c3R1Y2sgLi4uDQpAQCAtMjc3LDYgKzMwNCw5IEBADQogCQkgKi8NCiAJCWFs
ZXJ0X2NvdW50ZXJbY3B1XSsrOw0KIAkJaWYgKGFsZXJ0X2NvdW50ZXJbY3B1
XSA9PSA1Km5taV9oeikgew0KKw0KKwkJCUNIS19SRU1PVEVfREVCVUcoMixT
SUdTRUdWLDAscmVncywpDQorDQogCQkJc3Bpbl9sb2NrKCZubWlfcHJpbnRf
bG9jayk7DQogCQkJLyoNCiAJCQkgKiBXZSBhcmUgaW4gdHJvdWJsZSBhbnl3
YXksIGxldHMgYXQgbGVhc3QgdHJ5DQotLS0gbGludXgtMi40LjE4L2FyY2gv
aTM4Ni9rZXJuZWwvc2lnbmFsLmMJU3VuIE1hciAyNCAxNjoxNjozMiAyMDAy
DQorKysgbGludXgvYXJjaC9pMzg2L2tlcm5lbC9zaWduYWwuYwlNb24gQXBy
ICAxIDIxOjQxOjAzIDIwMDINCkBAIC02OTgsNyArNjk4LDggQEANCiAJCSAq
IGhhdmUgYmVlbiBjbGVhcmVkIGlmIHRoZSB3YXRjaHBvaW50IHRyaWdnZXJl
ZA0KIAkJICogaW5zaWRlIHRoZSBrZXJuZWwuDQogCQkgKi8NCi0JCV9fYXNt
X18oIm1vdmwgJTAsJSVkYjciCTogOiAiciIgKGN1cnJlbnQtPnRocmVhZC5k
ZWJ1Z3JlZ1s3XSkpOw0KKwkJaWYgKGN1cnJlbnQtPnRocmVhZC5kZWJ1Z3Jl
Z1s3XSkNCisJCQlfX2FzbV9fKCJtb3ZsICUwLCUlZGI3Igk6IDogInIiIChj
dXJyZW50LT50aHJlYWQuZGVidWdyZWdbN10pKTsNCiANCiAJCS8qIFdoZWUh
ICBBY3R1YWxseSBkZWxpdmVyIHRoZSBzaWduYWwuICAqLw0KIAkJaGFuZGxl
X3NpZ25hbChzaWduciwga2EsICZpbmZvLCBvbGRzZXQsIHJlZ3MpOw0KLS0t
IGxpbnV4LTIuNC4xOC9hcmNoL2kzODYva2VybmVsL3RyYXBzLmMJU3VuIEph
biAxMyAxMjo1ODo1NCAyMDAyDQorKysgbGludXgvYXJjaC9pMzg2L2tlcm5l
bC90cmFwcy5jCUZyaSBNYXIgMjkgMjA6NDU6MTIgMjAwMg0KQEAgLTQ4LDgg
KzQ4LDI5IEBADQogI2VuZGlmDQogDQogI2luY2x1ZGUgPGxpbnV4L2lycS5o
Pg0KKyNpZmRlZiBDT05GSUdfWDg2X1JFTU9URV9ERUJVRw0KKyNpbmNsdWRl
IDxsaW51eC9nZGIuaD4NCisjZW5kaWYNCiAjaW5jbHVkZSA8bGludXgvbW9k
dWxlLmg+DQogDQorI2lmZGVmIENPTkZJR19YODZfUkVNT1RFX0RFQlVHDQor
I2luY2x1ZGUgPGxpbnV4L2dkYi5oPg0KKyNlbmRpZg0KKw0KKyNpZmRlZiBD
T05GSUdfWDg2X1JFTU9URV9ERUJVRw0KK2dkYl9kZWJ1Z19ob29rICogbGlu
dXhfZGVidWdfaG9vazsNCisjZGVmaW5lCUNIS19SRU1PVEVfREVCVUcodHJh
cG5yLHNpZ25yLGVycm9yX2NvZGUscmVncyxhZnRlcikJCVwNCisgICAgewkJ
CQkJCQkJCVwNCisJaWYgKGxpbnV4X2RlYnVnX2hvb2sgIT0gKGdkYl9kZWJ1
Z19ob29rICopIE5VTEwgJiYgIXVzZXJfbW9kZShyZWdzKSkgXA0KKwl7CQkJ
CQkJCQlcDQorCQkoKmxpbnV4X2RlYnVnX2hvb2spKHRyYXBuciwgc2lnbnIs
IGVycm9yX2NvZGUsIHJlZ3MpIDsJXA0KKwkJYWZ0ZXI7CQkJCQkJCVwNCisJ
fQkJCQkJCQkJXA0KKyAgICB9DQorI2Vsc2UNCisjZGVmaW5lCUNIS19SRU1P
VEVfREVCVUcodHJhcG5yLHNpZ25yLGVycm9yX2NvZGUscmVncyxhZnRlcikJ
DQorI2VuZGlmDQorDQogYXNtbGlua2FnZSBpbnQgc3lzdGVtX2NhbGwodm9p
ZCk7DQogYXNtbGlua2FnZSB2b2lkIGxjYWxsNyh2b2lkKTsNCiBhc21saW5r
YWdlIHZvaWQgbGNhbGwyNyh2b2lkKTsNCkBAIC0yNDUsNiArMjY2LDcgQEAN
CiAJc3Bpbl9sb2NrX2lycSgmZGllX2xvY2spOw0KIAlidXN0X3NwaW5sb2Nr
cygxKTsNCiAJcHJpbnRrKCIlczogJTA0bHhcbiIsIHN0ciwgZXJyICYgMHhm
ZmZmKTsNCisJQ0hLX1JFTU9URV9ERUJVRygxLFNJR1RSQVAsZXJyLHJlZ3Ms
KQ0KIAlzaG93X3JlZ2lzdGVycyhyZWdzKTsNCiAJYnVzdF9zcGlubG9ja3Mo
MCk7DQogCXNwaW5fdW5sb2NrX2lycSgmZGllX2xvY2spOw0KQEAgLTMwNCw2
ICszMjYsNyBAQA0KICNkZWZpbmUgRE9fRVJST1IodHJhcG5yLCBzaWduciwg
c3RyLCBuYW1lKSBcDQogYXNtbGlua2FnZSB2b2lkIGRvXyMjbmFtZShzdHJ1
Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSkgXA0KIHsgXA0K
KwlDSEtfUkVNT1RFX0RFQlVHKHRyYXBucixzaWducixlcnJvcl9jb2RlLHJl
Z3MsKVwNCiAJZG9fdHJhcCh0cmFwbnIsIHNpZ25yLCBzdHIsIDAsIHJlZ3Ms
IGVycm9yX2NvZGUsIE5VTEwpOyBcDQogfQ0KIA0KQEAgLTMyMSw3ICszNDQs
MTAgQEANCiAjZGVmaW5lIERPX1ZNODZfRVJST1IodHJhcG5yLCBzaWduciwg
c3RyLCBuYW1lKSBcDQogYXNtbGlua2FnZSB2b2lkIGRvXyMjbmFtZShzdHJ1
Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSkgXA0KIHsgXA0K
KwlDSEtfUkVNT1RFX0RFQlVHKHRyYXBucixzaWducixlcnJvcl9jb2RlLHJl
Z3MsZ290byBza2lwX3RyYXApXA0KIAlkb190cmFwKHRyYXBuciwgc2lnbnIs
IHN0ciwgMSwgcmVncywgZXJyb3JfY29kZSwgTlVMTCk7IFwNCitza2lwX3Ry
YXA6IFwNCisJcmV0dXJuOyBcDQogfQ0KIA0KICNkZWZpbmUgRE9fVk04Nl9F
UlJPUl9JTkZPKHRyYXBuciwgc2lnbnIsIHN0ciwgbmFtZSwgc2ljb2RlLCBz
aWFkZHIpIFwNCkBAIC0zNzMsNiArMzk5LDcgQEANCiAJCQlyZWdzLT5laXAg
PSBmaXh1cDsNCiAJCQlyZXR1cm47DQogCQl9DQorCQlDSEtfUkVNT1RFX0RF
QlVHKDEzLFNJR1NFR1YsZXJyb3JfY29kZSxyZWdzLCkNCiAJCWRpZSgiZ2Vu
ZXJhbCBwcm90ZWN0aW9uIGZhdWx0IiwgcmVncywgZXJyb3JfY29kZSk7DQog
CX0NCiB9DQpAQCAtNTE2LDExICs1NDMsMTMgQEANCiAJaW5mby5zaV9lcnJu
byA9IDA7DQogCWluZm8uc2lfY29kZSA9IFRSQVBfQlJLUFQ7DQogCQ0KLQkv
KiBJZiB0aGlzIGlzIGEga2VybmVsIG1vZGUgdHJhcCwgc2F2ZSB0aGUgdXNl
ciBQQyBvbiBlbnRyeSB0byANCi0JICogdGhlIGtlcm5lbCwgdGhhdCdzIHdo
YXQgdGhlIGRlYnVnZ2VyIGNhbiBtYWtlIHNlbnNlIG9mLg0KLQkgKi8NCi0J
aW5mby5zaV9hZGRyID0gKChyZWdzLT54Y3MgJiAzKSA9PSAwKSA/ICh2b2lk
ICopdHNrLT50aHJlYWQuZWlwIDogDQotCSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAodm9pZCAqKXJlZ3MtPmVpcDsNCisNCisJ
LyogSWYgdGhpcyBpcyBhIGtlcm5lbCBtb2RlIHRyYXAsIHdlIG5lZWQgdG8g
cmVzZXQgZGI3IHRvIGFsbG93IHVzDQorCSAqIHRvIGNvbnRpbnVlIHNhbmVs
eSAqLw0KKwlpZiAoKHJlZ3MtPnhjcyAmIDMpID09IDApDQorCQlnb3RvIGNs
ZWFyX2RyNzsNCisNCisJaW5mby5zaV9hZGRyID0gKHZvaWQgKilyZWdzLT5l
aXA7DQogCWZvcmNlX3NpZ19pbmZvKFNJR1RSQVAsICZpbmZvLCB0c2spOw0K
IA0KIAkvKiBEaXNhYmxlIGFkZGl0aW9uYWwgdHJhcHMuIFRoZXknbGwgYmUg
cmUtZW5hYmxlZCB3aGVuDQpAQCAtNTMwLDYgKzU1OSw3IEBADQogCV9fYXNt
X18oIm1vdmwgJTAsJSVkYjciDQogCQk6IC8qIG5vIG91dHB1dCAqLw0KIAkJ
OiAiciIgKDApKTsNCisJQ0hLX1JFTU9URV9ERUJVRygxLFNJR1RSQVAsZXJy
b3JfY29kZSxyZWdzLCkNCiAJcmV0dXJuOw0KIA0KIGRlYnVnX3ZtODY6DQot
LS0gbGludXgtMi40LjE4L2FyY2gvaTM4Ni9tbS9mYXVsdC5jCVN1biBNYXIg
MjQgMTY6MTY6MzIgMjAwMg0KKysrIGxpbnV4L2FyY2gvaTM4Ni9tbS9mYXVs
dC5jCUZyaSBNYXIgMjkgMjA6NDU6MTIgMjAwMg0KQEAgLTIsNiArMiwxMSBA
QA0KICAqICBsaW51eC9hcmNoL2kzODYvbW0vZmF1bHQuYw0KICAqDQogICog
IENvcHlyaWdodCAoQykgMTk5NSAgTGludXMgVG9ydmFsZHMNCisgKg0KKyAq
ICBDaGFuZ2UgSGlzdG9yeQ0KKyAqDQorICoJVGlncmFuIEFpdmF6aWFuIDx0
aWdyYW5Ac2NvLmNvbT4JUmVtb3RlIGRlYnVnZ2luZyBzdXBwb3J0Lg0KKyAq
DQogICovDQogDQogI2luY2x1ZGUgPGxpbnV4L3NpZ25hbC5oPg0KQEAgLTE5
LDYgKzI0LDkgQEANCiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPg0KICNpbmNs
dWRlIDxsaW51eC90dHkuaD4NCiAjaW5jbHVkZSA8bGludXgvdnRfa2Vybi5o
PgkJLyogRm9yIHVuYmxhbmtfc2NyZWVuKCkgKi8NCisjaWZkZWYgQ09ORklH
X1g4Nl9SRU1PVEVfREVCVUcNCisjaW5jbHVkZSA8bGludXgvZ2RiLmg+DQor
I2VuZGlmDQogDQogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4NCiAjaW5jbHVk
ZSA8YXNtL3VhY2Nlc3MuaD4NCkBAIC0xOTAsNiArMTk4LDE1IEBADQogCWlm
IChpbl9pbnRlcnJ1cHQoKSB8fCAhbW0pDQogCQlnb3RvIG5vX2NvbnRleHQ7
DQogDQorI2lmZGVmIENPTkZJR19YODZfUkVNT1RFX0RFQlVHDQorCWlmIChr
Z2RiX21lbWVycl9leHBlY3RlZCkgew0KKwkJaWYgKGxpbnV4X2RlYnVnX2hv
b2sgIT0gKGdkYl9kZWJ1Z19ob29rICopIE5VTEwpIHsNCisJCQkoKmxpbnV4
X2RlYnVnX2hvb2spKDE0LCBTSUdTRUdWLCBlcnJvcl9jb2RlLCByZWdzKSA7
DQorCQkJcmV0dXJuOyAgICAgICAgICAgIC8qIHJldHVybiB3L21vZGlmaWVk
IHJlZ3MgKi8NCisJCX0NCisJfQ0KKyNlbmRpZg0KKw0KIAlkb3duX3JlYWQo
Jm1tLT5tbWFwX3NlbSk7DQogDQogCXZtYSA9IGZpbmRfdm1hKG1tLCBhZGRy
ZXNzKTsNCkBAIC0zMDgsNiArMzI1LDE5IEBADQogCQlyZXR1cm47DQogCX0N
CiANCisjaWZkZWYgQ09ORklHX1g4Nl9SRU1PVEVfREVCVUcNCisJaWYgKGtn
ZGJfbWVtZXJyX2V4cGVjdGVkKSB7DQorCQlpZiAobGludXhfZGVidWdfaG9v
ayAhPSAoZ2RiX2RlYnVnX2hvb2sgKikgTlVMTCkgew0KKwkJCSgqbGludXhf
ZGVidWdfaG9vaykoMTQsIFNJR1NFR1YsIGVycm9yX2NvZGUsIHJlZ3MpOw0K
KwkJCXJldHVybjsgLyogUmV0dXJuIHdpdGggbW9kaWZpZWQgcmVnaXN0ZXJz
ICovDQorCQl9DQorCX0gZWxzZSB7DQorCQlpZiAobGludXhfZGVidWdfaG9v
ayAhPSAoZ2RiX2RlYnVnX2hvb2sgKikgTlVMTCkgew0KKwkJCSgqbGludXhf
ZGVidWdfaG9vaykoMTQsIFNJR1NFR1YsIGVycm9yX2NvZGUsIHJlZ3MpOw0K
KwkJfQ0KKwl9DQorI2VuZGlmDQorDQogLyoNCiAgKiBPb3BzLiBUaGUga2Vy
bmVsIHRyaWVkIHRvIGFjY2VzcyBzb21lIGJhZCBwYWdlLiBXZSdsbCBoYXZl
IHRvDQogICogdGVybWluYXRlIHRoaW5ncyB3aXRoIGV4dHJlbWUgcHJlanVk
aWNlLg0KQEAgLTMxNSw2ICszNDUsNyBAQA0KIA0KIAlidXN0X3NwaW5sb2Nr
cygxKTsNCiANCisNCiAJaWYgKGFkZHJlc3MgPCBQQUdFX1NJWkUpDQogCQlw
cmludGsoS0VSTl9BTEVSVCAiVW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgTlVM
TCBwb2ludGVyIGRlcmVmZXJlbmNlIik7DQogCWVsc2UNCi0tLSBkaXN0LTIu
NC4yMC9hcmNoL3BwYy9jb25maWcuaW4JU3VuIEFwciAyMCAxMjowMjo1OSAy
MDAzDQorKysgbGludXgtMi40LjIwL2FyY2gvcHBjL2NvbmZpZy5pbglXZWQg
QXByIDIzIDAyOjE2OjA5IDIwMDMNCkBAIC00MTQsNiArNDE0LDExIEBADQog
ICBmaQ0KICAgYm9vbCAnICBXYWl0IHF1ZXVlIGRlYnVnZ2luZycgQ09ORklH
X0RFQlVHX1dBSVRRDQogICBib29sICcgIEluY2x1ZGUga2dkYiBrZXJuZWwg
ZGVidWdnZXInIENPTkZJR19LR0RCDQorICAgaWYgWyAiJENPTkZJR19LR0RC
IiAhPSAibiIgXTsgdGhlbg0KKyAgICAgIGJvb2wgJ0tHREI6IFRocmVhZCBh
bmFseXNpcycgQ09ORklHX0tHREJfVEhSRUFEDQorICAgICAgYm9vbCAnS0dE
QjogQ29uc29sZSBtZXNzYWdlcyB0aHJvdWdoIGdkYicgQ09ORklHX0dEQl9D
T05TT0xFDQorICAgICAgYm9vbCAnS0dEQjogRW5hYmxlIGtlcm5lbCBhc3Nl
cnRzJyBDT05GSUdfS0VSTkVMX0FTU0VSVFMNCisgICBmaQ0KICAgYm9vbCAn
ICBJbmNsdWRlIHhtb24ga2VybmVsIGRlYnVnZ2VyJyBDT05GSUdfWE1PTg0K
ICAgYm9vbCAnICBJbmNsdWRlIEJESS0yMDAwIHVzZXIgY29udGV4dCBzd2l0
Y2hlcicgQ09ORklHX0JESV9TV0lUQ0gNCiAgIGlmIFsgIiRDT05GSUdfS0dE
QiIgPSAieSIgLW8gIiRDT05GSUdfWE1PTiIgPSAieSIgXA0KLS0tIGRpc3Qt
Mi40LjIwL2FyY2gvcHBjL2tlcm5lbC9lbnRyeS5TCVN1biBBcHIgMjAgMTI6
MDM6MDEgMjAwMw0KKysrIGxpbnV4LTIuNC4yMC9hcmNoL3BwYy9rZXJuZWwv
ZW50cnkuUwlTYXQgQXByIDEyIDIwOjQxOjU2IDIwMDMNCkBAIC0yODYsNyAr
Mjg2LDcgQEANCiAJbHd6CXIzLE5FRURfUkVTQ0hFRChyMikNCiAJY21waQkw
LHIzLDAJCS8qIGNoZWNrIG5lZWRfcmVzY2hlZCBmbGFnICovDQogCWJlcSsJ
N2YNCi0JYmwJc2NoZWR1bGUNCisJYmwJdXNlcl9zY2hlZHVsZQ0KIDc6CWx3
eglyNSxTSUdQRU5ESU5HKHIyKSAvKiBDaGVjayBmb3IgcGVuZGluZyB1bmJs
b2NrZWQgc2lnbmFscyAqLw0KIAljbXB3aQkwLHI1LDANCiAJYmVxKwlkb19z
aWduYWxfcmV0DQotLS0gZGlzdC0yLjQuMjAvYXJjaC9wcGMva2VybmVsL3Bw
Yy1zdHViLmMJTW9uIE1heSAyMSAyMDowNDo0NyAyMDAxDQorKysgbGludXgt
Mi40LjIwL2FyY2gvcHBjL2tlcm5lbC9wcGMtc3R1Yi5jCU1vbiBBcHIgMTQg
MjA6MTI6NTAgMjAwMw0KQEAgLTYxMiwxOCArNjEyLDE5IEBADQogDQogCQkJ
LyogR2VuZXJhbCBQdXJwb3NlIFJlZ3MgKi8NCiAJCQloZXgybWVtKHB0ciwg
KGNoYXIgKilyZWdzLCAzMiAqIDQpOw0KKwkJCXB0ciArPSAzMio0KjI7DQog
DQogCQkJLyogRmxvYXRpbmcgUG9pbnQgUmVncyAtIEZJWE1FPz8gKi8NCiAJ
CQkvKnB0ciA9IGhleDJtZW0ocHRyLCA/PywgMzIgKiA4KTsqLw0KIAkJCXB0
ciArPSAzMio4KjI7DQogDQogCQkJLyogcGMsIG1zciwgY3IsIGxyLCBjdHIs
IHhlciwgKG1xIGlzIHVudXNlZCkgKi8NCi0JCQlwdHIgPSBoZXgybWVtKHB0
ciwgKGNoYXIgKikmcmVncy0+bmlwLCA0KTsNCi0JCQlwdHIgPSBoZXgybWVt
KHB0ciwgKGNoYXIgKikmcmVncy0+bXNyLCA0KTsNCi0JCQlwdHIgPSBoZXgy
bWVtKHB0ciwgKGNoYXIgKikmcmVncy0+Y2NyLCA0KTsNCi0JCQlwdHIgPSBo
ZXgybWVtKHB0ciwgKGNoYXIgKikmcmVncy0+bGluaywgNCk7DQotCQkJcHRy
ID0gaGV4Mm1lbShwdHIsIChjaGFyICopJnJlZ3MtPmN0ciwgNCk7DQotCQkJ
cHRyID0gaGV4Mm1lbShwdHIsIChjaGFyICopJnJlZ3MtPnhlciwgNCk7DQor
CQkJaGV4Mm1lbShwdHIsIChjaGFyICopJnJlZ3MtPm5pcCwgNCk7ICAgcHRy
ICs9IDQqMjsNCisJCQloZXgybWVtKHB0ciwgKGNoYXIgKikmcmVncy0+bXNy
LCA0KTsgICBwdHIgKz0gNCoyOw0KKwkJCWhleDJtZW0ocHRyLCAoY2hhciAq
KSZyZWdzLT5jY3IsIDQpOyAgIHB0ciArPSA0KjI7DQorCQkJaGV4Mm1lbShw
dHIsIChjaGFyICopJnJlZ3MtPmxpbmssIDQpOyAgcHRyICs9IDQqMjsNCisJ
CQloZXgybWVtKHB0ciwgKGNoYXIgKikmcmVncy0+Y3RyLCA0KTsgICBwdHIg
Kz0gNCoyOw0KKwkJCWhleDJtZW0ocHRyLCAoY2hhciAqKSZyZWdzLT54ZXIs
IDQpOw0KIA0KIAkJCXN0cmNweShyZW1jb21PdXRCdWZmZXIsIk9LIik7DQog
CQl9DQpAQCAtNzUxLDYgKzc1MiwxNiBAQA0KIA0KICAgICAgICAgcmV0dXJu
IDE7DQogIH0NCisNCisjaWZkZWYgQ09ORklHX0dEQl9DT05TT0xFDQorDQor
dm9pZCBnZGJfY29uc29sZV93cml0ZShzdHJ1Y3QgY29uc29sZSAqY28sIGNv
bnN0IGNoYXIgKnMsDQorCQkJCXVuc2lnbmVkIGNvdW50KQ0KK3sNCisJa2dk
Yl9vdXRwdXRfc3RyaW5nKHMsIGNvdW50KTsNCit9DQorDQorI2VuZGlmDQog
DQogI2lmbmRlZiBDT05GSUdfOHh4DQogDQotLS0gZGlzdC0yLjQuMjAvYXJj
aC9wcGMva2VybmVsL3NldHVwLmMJU3VuIEFwciAyMCAxMjowMzowMyAyMDAz
DQorKysgbGludXgtMi40LjIwL2FyY2gvcHBjL2tlcm5lbC9zZXR1cC5jCVN1
biBBcHIgMTMgMTE6Mjg6MTggMjAwMw0KQEAgLTU2MCw5ICs1NjAsMTMgQEAN
CiAJaWYgKCBwcGNfbWQucHJvZ3Jlc3MgKSBwcGNfbWQucHJvZ3Jlc3MoInNl
dHVwX2FyY2g6IGVudGVyIiwgMHgzZWFiKTsNCiANCiAjaWYgZGVmaW5lZChD
T05GSUdfS0dEQikNCisjaWZkZWYgQ09ORklHXzh4eA0KIAlrZ2RiX21hcF9z
Y2MoKTsNCiAJc2V0X2RlYnVnX3RyYXBzKCk7DQogCWJyZWFrcG9pbnQoKTsN
CisjZWxzZQ0KKwlpZiAoZ2RiX2VudGVyKSBnZGJfaG9vaygpOw0KKyNlbmRp
Zg0KICNlbmRpZg0KIA0KIAkvKg0KLS0tIGRpc3QtMi40LjIwL2FyY2gvcHBj
L2tlcm5lbC90cmFwcy5jCUZyaSBOb3YgIDIgMjA6NDM6NTQgMjAwMQ0KKysr
IGxpbnV4LTIuNC4yMC9hcmNoL3BwYy9rZXJuZWwvdHJhcHMuYwlNb24gQXBy
IDE0IDEzOjU3OjU2IDIwMDMNCkBAIC00MiwzMSArNDIsMzcgQEANCiBleHRl
cm4gaW50IGZpeF9hbGlnbm1lbnQoc3RydWN0IHB0X3JlZ3MgKik7DQogZXh0
ZXJuIHZvaWQgYmFkX3BhZ2VfZmF1bHQoc3RydWN0IHB0X3JlZ3MgKiwgdW5z
aWduZWQgbG9uZywgaW50IHNpZyk7DQogDQorI2lmIGRlZmluZWQoQ09ORklH
X1hNT04pIHx8IGRlZmluZWQoQ09ORklHX0tHREIpDQorDQordm9pZCAoKmRl
YnVnZ2VyKShzdHJ1Y3QgcHRfcmVncyAqcmVncykgPSBOVUxMOw0KK2ludCAo
KmRlYnVnZ2VyX2JwdCkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpID0gTlVMTDsN
CitpbnQgKCpkZWJ1Z2dlcl9zc3RlcCkoc3RydWN0IHB0X3JlZ3MgKnJlZ3Mp
ID0gTlVMTDsNCitpbnQgKCpkZWJ1Z2dlcl9pYWJyX21hdGNoKShzdHJ1Y3Qg
cHRfcmVncyAqcmVncykgPSBOVUxMOw0KK2ludCAoKmRlYnVnZ2VyX2RhYnJf
bWF0Y2gpKHN0cnVjdCBwdF9yZWdzICpyZWdzKSA9IE5VTEw7DQordm9pZCAo
KmRlYnVnZ2VyX2ZhdWx0X2hhbmRsZXIpKHN0cnVjdCBwdF9yZWdzICpyZWdz
KSA9IE5VTEw7DQorDQorI2VuZGlmDQorDQogI2lmZGVmIENPTkZJR19YTU9O
DQorDQogZXh0ZXJuIHZvaWQgeG1vbihzdHJ1Y3QgcHRfcmVncyAqcmVncyk7
DQogZXh0ZXJuIGludCB4bW9uX2JwdChzdHJ1Y3QgcHRfcmVncyAqcmVncyk7
DQogZXh0ZXJuIGludCB4bW9uX3NzdGVwKHN0cnVjdCBwdF9yZWdzICpyZWdz
KTsNCiBleHRlcm4gaW50IHhtb25faWFicl9tYXRjaChzdHJ1Y3QgcHRfcmVn
cyAqcmVncyk7DQogZXh0ZXJuIGludCB4bW9uX2RhYnJfbWF0Y2goc3RydWN0
IHB0X3JlZ3MgKnJlZ3MpOw0KIGV4dGVybiB2b2lkICgqeG1vbl9mYXVsdF9o
YW5kbGVyKShzdHJ1Y3QgcHRfcmVncyAqcmVncyk7DQotI2VuZGlmDQogDQot
I2lmZGVmIENPTkZJR19YTU9ODQotdm9pZCAoKmRlYnVnZ2VyKShzdHJ1Y3Qg
cHRfcmVncyAqcmVncykgPSB4bW9uOw0KLWludCAoKmRlYnVnZ2VyX2JwdCko
c3RydWN0IHB0X3JlZ3MgKnJlZ3MpID0geG1vbl9icHQ7DQotaW50ICgqZGVi
dWdnZXJfc3N0ZXApKHN0cnVjdCBwdF9yZWdzICpyZWdzKSA9IHhtb25fc3N0
ZXA7DQotaW50ICgqZGVidWdnZXJfaWFicl9tYXRjaCkoc3RydWN0IHB0X3Jl
Z3MgKnJlZ3MpID0geG1vbl9pYWJyX21hdGNoOw0KLWludCAoKmRlYnVnZ2Vy
X2RhYnJfbWF0Y2gpKHN0cnVjdCBwdF9yZWdzICpyZWdzKSA9IHhtb25fZGFi
cl9tYXRjaDsNCi12b2lkICgqZGVidWdnZXJfZmF1bHRfaGFuZGxlcikoc3Ry
dWN0IHB0X3JlZ3MgKnJlZ3MpOw0KLSNlbHNlDQotI2lmZGVmIENPTkZJR19L
R0RCDQotdm9pZCAoKmRlYnVnZ2VyKShzdHJ1Y3QgcHRfcmVncyAqcmVncyk7
DQotaW50ICgqZGVidWdnZXJfYnB0KShzdHJ1Y3QgcHRfcmVncyAqcmVncyk7
DQotaW50ICgqZGVidWdnZXJfc3N0ZXApKHN0cnVjdCBwdF9yZWdzICpyZWdz
KTsNCi1pbnQgKCpkZWJ1Z2dlcl9pYWJyX21hdGNoKShzdHJ1Y3QgcHRfcmVn
cyAqcmVncyk7DQotaW50ICgqZGVidWdnZXJfZGFicl9tYXRjaCkoc3RydWN0
IHB0X3JlZ3MgKnJlZ3MpOw0KLXZvaWQgKCpkZWJ1Z2dlcl9mYXVsdF9oYW5k
bGVyKShzdHJ1Y3QgcHRfcmVncyAqcmVncyk7DQotI2VuZGlmDQoraW50IF9f
aW5pdCB4bW9uX3NldHVwKHZvaWQpDQorew0KKwlkZWJ1Z2dlciA9IHhtb247
DQorCWRlYnVnZ2VyX2JwdCA9IHhtb25fYnB0Ow0KKwlkZWJ1Z2dlcl9zc3Rl
cCA9IHhtb25fc3N0ZXA7DQorCWRlYnVnZ2VyX2lhYnJfbWF0Y2ggPSB4bW9u
X2lhYnJfbWF0Y2g7DQorCWRlYnVnZ2VyX2RhYnJfbWF0Y2ggPSB4bW9uX2Rh
YnJfbWF0Y2g7DQorfQ0KKw0KK19fc2V0dXAoInhtb24iLCB4bW9uX3NldHVw
KTsNCisNCiAjZW5kaWYNCiANCiAvKg0KQEAgLTk1LDcgKzEwMSw3IEBADQog
CWlmICghdXNlcl9tb2RlKHJlZ3MpKQ0KIAl7DQogI2lmIGRlZmluZWQoQ09O
RklHX1hNT04pIHx8IGRlZmluZWQoQ09ORklHX0tHREIpDQotCQlkZWJ1Z2dl
cihyZWdzKTsNCisJCWlmIChkZWJ1Z2dlcikgZGVidWdnZXIocmVncyk7DQog
I2VuZGlmDQogCQlkaWUoIkV4Y2VwdGlvbiBpbiBrZXJuZWwgbW9kZSIsIHJl
Z3MsIHNpZ25yKTsNCiAJfQ0KQEAgLTE4Nyw3ICsxOTMsNyBAQA0KIAkJcHJp
bnRrKCJVbmtub3duIHZhbHVlcyBpbiBtc3JcbiIpOw0KIAl9DQogI2lmIGRl
ZmluZWQoQ09ORklHX1hNT04pIHx8IGRlZmluZWQoQ09ORklHX0tHREIpDQot
CWRlYnVnZ2VyKHJlZ3MpOw0KKwlpZiAoZGVidWdnZXIpIGRlYnVnZ2VyKHJl
Z3MpOw0KICNlbmRpZg0KIAlkaWUoIm1hY2hpbmUgY2hlY2siLCByZWdzLCBT
SUdCVVMpOw0KIH0NCkBAIC0xOTYsNyArMjAyLDcgQEANCiBTTUlFeGNlcHRp
b24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MpDQogew0KICNpZiBkZWZpbmVkKENP
TkZJR19YTU9OKSB8fCBkZWZpbmVkKENPTkZJR19LR0RCKQ0KLQl7DQorCWlm
IChkZWJ1Z2dlcikgew0KIAkJZGVidWdnZXIocmVncyk7DQogCQlyZXR1cm47
DQogCX0NCkBAIC0yMTcsNyArMjIzLDcgQEANCiBJbnN0cnVjdGlvbkJyZWFr
cG9pbnQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpDQogew0KICNpZiBkZWZpbmVk
KENPTkZJR19YTU9OKSB8fCBkZWZpbmVkKENPTkZJR19LR0RCKQ0KLQlpZiAo
ZGVidWdnZXJfaWFicl9tYXRjaChyZWdzKSkNCisJaWYgKGRlYnVnZ2VyX2lh
YnJfbWF0Y2ggJiYgZGVidWdnZXJfaWFicl9tYXRjaChyZWdzKSkNCiAJCXJl
dHVybjsNCiAjZW5kaWYNCiAJX2V4Y2VwdGlvbihTSUdUUkFQLCByZWdzKTsN
CkBAIC0yNzcsNyArMjgzLDcgQEANCiANCiAJaWYgKGVzciAmIEVTUl9QVFIp
IHsNCiAjaWYgZGVmaW5lZChDT05GSUdfWE1PTikgfHwgZGVmaW5lZChDT05G
SUdfS0dEQikNCi0JCWlmIChkZWJ1Z2dlcl9icHQocmVncykpDQorCQlpZiAo
ZGVidWdnZXJfYnB0ICYmIGRlYnVnZ2VyX2JwdChyZWdzKSkNCiAJCQlyZXR1
cm47DQogI2VuZGlmDQogCQlfZXhjZXB0aW9uKFNJR1RSQVAsIHJlZ3MpOw0K
QEAgLTI5MSw3ICsyOTcsNyBAQA0KIAl9IGVsc2UgaWYgKHJlZ3MtPm1zciAm
IDB4MjAwMDApIHsNCiAJCS8qIHRyYXAgZXhjZXB0aW9uICovDQogI2lmIGRl
ZmluZWQoQ09ORklHX1hNT04pIHx8IGRlZmluZWQoQ09ORklHX0tHREIpDQot
CQlpZiAoZGVidWdnZXJfYnB0KHJlZ3MpKQ0KKwkJaWYgKGRlYnVnZ2VyX2Jw
dCAmJiBkZWJ1Z2dlcl9icHQocmVncykpDQogCQkJcmV0dXJuOw0KICNlbmRp
Zg0KIAkJX2V4Y2VwdGlvbihTSUdUUkFQLCByZWdzKTsNCkBAIC0zMTMsNyAr
MzE5LDcgQEANCiB7DQogCXJlZ3MtPm1zciAmPSB+TVNSX1NFOyAgLyogVHVy
biBvZmYgJ3RyYWNlJyBiaXQgKi8NCiAjaWYgZGVmaW5lZChDT05GSUdfWE1P
TikgfHwgZGVmaW5lZChDT05GSUdfS0dEQikNCi0JaWYgKGRlYnVnZ2VyX3Nz
dGVwKHJlZ3MpKQ0KKwlpZiAoZGVidWdnZXJfc3N0ZXAgJiYgZGVidWdnZXJf
c3N0ZXAocmVncykpDQogCQlyZXR1cm47DQogI2VuZGlmDQogCV9leGNlcHRp
b24oU0lHVFJBUCwgcmVncyk7CQ0KQEAgLTM0Niw3ICszNTIsNyBAQA0KIAlw
cmludGsoS0VSTl9DUklUICJLZXJuZWwgc3RhY2sgb3ZlcmZsb3cgaW4gcHJv
Y2VzcyAlcCwgcjE9JWx4XG4iLA0KIAkgICAgICAgY3VycmVudCwgcmVncy0+
Z3ByWzFdKTsNCiAjaWYgZGVmaW5lZChDT05GSUdfWE1PTikgfHwgZGVmaW5l
ZChDT05GSUdfS0dEQikNCi0JZGVidWdnZXIocmVncyk7DQorCWlmIChkZWJ1
Z2dlcikgZGVidWdnZXIocmVncyk7DQogI2VuZGlmDQogCXNob3dfcmVncyhy
ZWdzKTsNCiAJcGFuaWMoImtlcm5lbCBzdGFjayBvdmVyZmxvdyIpOw0KQEAg
LTM2OSw3ICszNzUsNyBAQA0KIA0KIAlpZiAoIXVzZXJfbW9kZShyZWdzKSkg
ew0KICNpZiBkZWZpbmVkKENPTkZJR19YTU9OKSB8fCBkZWZpbmVkKENPTkZJ
R19LR0RCKQ0KLQkJZGVidWdnZXIocmVncyk7DQorCQlpZiAoZGVidWdnZXIp
IGRlYnVnZ2VyKHJlZ3MpOw0KICNlbmRpZg0KIAkJZGllKCJLZXJuZWwgTW9k
ZSBTb2Z0d2FyZSBGUFUgRW11bGF0aW9uIiwgcmVncywgU0lHRlBFKTsNCiAJ
fQ0KLS0tIGRpc3QtMi40LjIwL2FyY2gvcHBjL21tL2ZhdWx0LmMJU3VuIEFw
ciAyMCAxMjowMzowNCAyMDAzDQorKysgbGludXgtMi40LjIwL2FyY2gvcHBj
L21tL2ZhdWx0LmMJU3VuIEFwciAxMyAxODoyODowNCAyMDAzDQpAQCAtOTMs
NyArOTMsNyBAQA0KICNpZiAhZGVmaW5lZChDT05GSUdfNHh4KQ0KIAlpZiAo
ZXJyb3JfY29kZSAmIDB4MDA0MDAwMDApIHsNCiAJCS8qIERBQlIgbWF0Y2gg
Ki8NCi0JCWlmIChkZWJ1Z2dlcl9kYWJyX21hdGNoKHJlZ3MpKQ0KKwkJaWYg
KGRlYnVnZ2VyX2RhYnJfbWF0Y2ggJiYgZGVidWdnZXJfZGFicl9tYXRjaChy
ZWdzKSkNCiAJCQlyZXR1cm47DQogCX0NCiAjZW5kaWYgLyogIUNPTkZJR180
eHggKi8NCkBAIC0yMzcsNyArMjM3LDcgQEANCiANCiAJLyoga2VybmVsIGhh
cyBhY2Nlc3NlZCBhIGJhZCBhcmVhICovDQogI2lmIGRlZmluZWQoQ09ORklH
X1hNT04pIHx8IGRlZmluZWQoQ09ORklHX0tHREIpDQotCWlmIChkZWJ1Z2dl
cl9rZXJuZWxfZmF1bHRzKQ0KKwlpZiAoZGVidWdnZXJfa2VybmVsX2ZhdWx0
cyAmJiBkZWJ1Z2dlcikNCiAJCWRlYnVnZ2VyKHJlZ3MpOw0KICNlbmRpZg0K
IAlkaWUoImtlcm5lbCBhY2Nlc3Mgb2YgYmFkIGFyZWEiLCByZWdzLCBzaWcp
Ow0KLS0tIGRpc3QtMi40LjIwL2FyY2gvcHBjL3BsYXRmb3Jtcy9wbWFjX3Nl
dHVwLmMJU3VuIEFwciAyMCAxMjowMzowNSAyMDAzDQorKysgbGludXgtMi40
LjIwL2FyY2gvcHBjL3BsYXRmb3Jtcy9wbWFjX3NldHVwLmMJU2F0IEFwciAx
MiAxOTo0Mjo1MiAyMDAzDQpAQCAtMzM3LDkgKzMzNywxMSBAQA0KIAkJcHJp
bnRrKEtFUk5fSU5GTyAiTDJDUiBvdmVycmlkZW4gKDB4JXgpLCBiYWNrc2lk
ZSBjYWNoZSBpcyAlc1xuIiwNCiAJCQlwcGNfb3ZlcnJpZGVfbDJjcl92YWx1
ZSwgKHBwY19vdmVycmlkZV9sMmNyX3ZhbHVlICYgMHg4MDAwMDAwMCkNCiAJ
CQkJPyAiZW5hYmxlZCIgOiAiZGlzYWJsZWQiKTsNCi0JDQorDQorI2lmIDAJ
DQogI2lmZGVmIENPTkZJR19LR0RCDQogCXpzX2tnZGJfaG9vaygwKTsNCisj
ZW5kaWYNCiAjZW5kaWYNCiANCiAjaWZkZWYgQ09ORklHX0FEQl9DVURBDQot
LS0gZGlzdC0yLjQuMjAvZHJpdmVycy9jaGFyL01ha2VmaWxlCVN1biBBcHIg
MjAgMTI6MDM6MjQgMjAwMw0KKysrIGxpbnV4LTIuNC4yMC9kcml2ZXJzL2No
YXIvTWFrZWZpbGUJU2F0IEFwciAxMiAxNTozMzoxMiAyMDAzDQpAQCAtMTUx
LDYgKzE1MSw3IEBADQogICBLRVlCRCA9IGR1bW15X2tleWIubw0KIGVuZGlm
DQogDQorb2JqLSQoQ09ORklHX0tHREIpICs9IGdkYnNlcmlhbC5vDQogb2Jq
LSQoQ09ORklHX1ZUKSArPSB2dC5vIHZjX3NjcmVlbi5vIGNvbnNvbGVtYXAu
byBjb25zb2xlbWFwX2RlZnRibC5vICQoQ09OU09MRSkgc2VsZWN0aW9uLm8N
CiBvYmotJChDT05GSUdfU0VSSUFMKSArPSAkKFNFUklBTCkNCiBvYmotJChD
T05GSUdfU0VSSUFMX0hDRFApICs9IGhjZHBfc2VyaWFsLm8NCi0tLSBsaW51
eC0yLjQuMTgvZHJpdmVycy9jaGFyL2dkYnNlcmlhbC5jCVRodSBKYW4gIDEg
MDU6MzA6MDAgMTk3MA0KKysrIGxpbnV4L2RyaXZlcnMvY2hhci9nZGJzZXJp
YWwuYwlGcmkgTWFyIDI5IDIwOjQ1OjEyIDIwMDINCkBAIC0wLDAgKzEsMjgw
IEBADQorLyoNCisgKiBTZXJpYWwgaW50ZXJmYWNlIEdEQiBzdHViDQorICoN
CisgKiBXcml0dGVuIChoYWNrZWQgdG9nZXRoZXIpIGJ5IERhdmlkIEdyb3Ro
ZSAoZGF2ZUBnY29tLmNvbSkNCisgKg0KKyAqIE1vZGlmaWVkIGJ5IFNjb3R0
IEZvZWhuZXIgKHNmb2VobmVyQGVuZ3Iuc2dpLmNvbSkgdG8gYWxsb3cgY29u
bmVjdA0KKyAqIG9uIGJvb3QtdXANCisgKg0KKyAqLw0KKw0KKyNpbmNsdWRl
IDxsaW51eC9tb2R1bGUuaD4NCisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4N
CisjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+DQorI2luY2x1ZGUgPGxpbnV4
L3NjaGVkLmg+DQorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+DQorI2luY2x1
ZGUgPGxpbnV4L2ludGVycnVwdC5oPg0KKyNpbmNsdWRlIDxsaW51eC90dHku
aD4NCisjaW5jbHVkZSA8bGludXgvdHR5X2ZsaXAuaD4NCisjaW5jbHVkZSA8
bGludXgvc2VyaWFsLmg+DQorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcu
aD4NCisjaW5jbHVkZSA8bGludXgvc2VyaWFsUC5oPg0KKyNpbmNsdWRlIDxs
aW51eC9jb25maWcuaD4NCisjaW5jbHVkZSA8bGludXgvbWFqb3IuaD4NCisj
aW5jbHVkZSA8bGludXgvc3RyaW5nLmg+DQorI2luY2x1ZGUgPGxpbnV4L2Zj
bnRsLmg+DQorI2luY2x1ZGUgPGxpbnV4L3Rlcm1pb3MuaD4NCisjaW5jbHVk
ZSA8bGludXgvZ2RiLmg+DQorDQorI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4N
CisjaW5jbHVkZSA8YXNtL2lvLmg+DQorI2luY2x1ZGUgPGFzbS9zZWdtZW50
Lmg+DQorI2luY2x1ZGUgPGFzbS9iaXRvcHMuaD4NCisjaW5jbHVkZSA8YXNt
L3N5c3RlbS5oPg0KKyNpbmNsdWRlIDxhc20vaXJxLmg+DQorI2luY2x1ZGUg
PGFzbS9hdG9taWMuaD4NCisNCisjdW5kZWYJUFJOVAkJCQkvKiBkZWZpbmUg
Zm9yIGRlYnVnIHByaW50aW5nICovDQorDQorI2RlZmluZQlHREJfQlVGX1NJ
WkUJNTEyCQkvKiBwb3dlciBvZiAyLCBwbGVhc2UgKi8NCisNCitzdGF0aWMg
Y2hhcglnZGJfYnVmW0dEQl9CVUZfU0laRV0gOw0KK3N0YXRpYyBpbnQJZ2Ri
X2J1Zl9pbl9pbnggOw0KK3N0YXRpYyBhdG9taWNfdAlnZGJfYnVmX2luX2Nu
dCA7DQorc3RhdGljIGludAlnZGJfYnVmX291dF9pbnggOw0KKw0KK2V4dGVy
biB2b2lkCXNldF9kZWJ1Z190cmFwcyh2b2lkKSA7CQkvKiBHREIgcm91dGlu
ZSAqLw0KK2V4dGVybiBzdHJ1Y3Qgc2VyaWFsX3N0YXRlICoJZ2RiX3Nlcmlh
bF9zZXR1cChpbnQgdHR5UywgaW50IGJhdWQpOw0KK2V4dGVybiB2b2lkCXNo
dXRkb3duX2Zvcl9nZGIoc3RydWN0IGFzeW5jX3N0cnVjdCAqIGluZm8pIDsN
CisJCQkJCQkvKiBpbiBzZXJpYWwuYyAqLw0KKw0KK2ludCBnZGJfaXJxOw0K
K2ludCBnZGJfcG9ydDsNCitpbnQgZ2RiX3R0eVMgPSAwOwkvKiBEZWZhdWx0
OiB0dHlTMCAqLw0KK2ludCBnZGJfYmF1ZCA9IDM4NDAwOyANCitpbnQgZ2Ri
X2VudGVyID0gMDsJLyogRGVmYXVsdDogZG8gbm90IGRvIGdkYl9ob29rIG9u
IGJvb3QgKi8NCitpbnQgZ2RiX2luaXRpYWxpemVkID0gMDsNCisNCitzdGF0
aWMgaW50IGluaXRpYWxpemVkID0gLTE7DQorDQorLyoNCisgKiBHZXQgYSBi
eXRlIGZyb20gdGhlIGhhcmR3YXJlIGRhdGEgYnVmZmVyIGFuZCByZXR1cm4g
aXQNCisgKi8NCitzdGF0aWMgaW50CXJlYWRfZGF0YV9iZnIodm9pZCkNCit7
DQorICAgIGlmIChpbmIoZ2RiX3BvcnQgKyBVQVJUX0xTUikgJiBVQVJUX0xT
Ul9EUikNCisJcmV0dXJuKGluYihnZGJfcG9ydCArIFVBUlRfUlgpKTsNCisN
CisgICAgcmV0dXJuKCAtMSApIDsNCisNCit9IC8qIHJlYWRfZGF0YV9iZnIg
Ki8NCisNCisNCisvKg0KKyAqIEdldCBhIGNoYXIgaWYgYXZhaWxhYmxlLCBy
ZXR1cm4gLTEgaWYgbm90aGluZyBhdmFpbGFibGUuDQorICogRW1wdHkgdGhl
IHJlY2VpdmUgYnVmZmVyIGZpcnN0LCB0aGVuIGxvb2sgYXQgdGhlIGludGVy
ZmFjZSBoYXJkd2FyZS4NCisgKi8NCitzdGF0aWMgaW50CXJlYWRfY2hhcih2
b2lkKQ0KK3sNCisgICAgaWYgKGF0b21pY19yZWFkKCZnZGJfYnVmX2luX2Nu
dCkgIT0gMCkJLyogaW50ciByb3V0aW5lIGhhcyBxJ2QgY2hhcnMgKi8NCisg
ICAgew0KKwlpbnQJCWNociA7DQorDQorCWNociA9IGdkYl9idWZbZ2RiX2J1
Zl9vdXRfaW54KytdIDsNCisJZ2RiX2J1Zl9vdXRfaW54ICY9IChHREJfQlVG
X1NJWkUgLSAxKSA7DQorCWF0b21pY19kZWMoJmdkYl9idWZfaW5fY250KSA7
DQorCXJldHVybihjaHIpIDsNCisgICAgfQ0KKw0KKyAgICByZXR1cm4ocmVh
ZF9kYXRhX2JmcigpKSA7CS8qIHJlYWQgZnJvbSBoYXJkd2FyZSAqLw0KKw0K
K30gLyogcmVhZF9jaGFyICovDQorDQorLyoNCisgKiBXYWl0IHVudGlsIHRo
ZSBpbnRlcmZhY2UgY2FuIGFjY2VwdCBhIGNoYXIsIHRoZW4gd3JpdGUgaXQu
DQorICovDQorc3RhdGljIHZvaWQJd3JpdGVfY2hhcihpbnQgY2hyKQ0KK3sN
CisgICAgd2hpbGUgKCAhKGluYihnZGJfcG9ydCArIFVBUlRfTFNSKSAmIFVB
UlRfTFNSX1RIUkUpICkgOw0KKw0KKyAgICBvdXRiKGNociwgZ2RiX3BvcnQr
VUFSVF9UWCk7DQorDQorfSAvKiB3cml0ZV9jaGFyICovDQorDQorLyoNCisg
KiBUaGlzIGlzIHRoZSByZWNlaXZlciBpbnRlcnJ1cHQgcm91dGluZSBmb3Ig
dGhlIEdEQiBzdHViLg0KKyAqIEl0IHdpbGwgcmVjZWl2ZSBhIGxpbWl0ZWQg
bnVtYmVyIG9mIGNoYXJhY3RlcnMgb2YgaW5wdXQNCisgKiBmcm9tIHRoZSBn
ZGIgIGhvc3QgbWFjaGluZSBhbmQgc2F2ZSB0aGVtIHVwIGluIGEgYnVmZmVy
Lg0KKyAqDQorICogV2hlbiB0aGUgZ2RiIHN0dWIgcm91dGluZSBnZXREZWJ1
Z0NoYXIoKSBpcyBjYWxsZWQgaXQNCisgKiBkcmF3cyBjaGFyYWN0ZXJzIG91
dCBvZiB0aGUgYnVmZmVyIHVudGlsIGl0IGlzIGVtcHR5IGFuZA0KKyAqIHRo
ZW4gcmVhZHMgZGlyZWN0bHkgZnJvbSB0aGUgc2VyaWFsIHBvcnQuDQorICoN
CisgKiBXZSBkbyBub3QgYXR0ZW1wdCB0byB3cml0ZSBjaGFycyBmcm9tIHRo
ZSBpbnRlcnJ1cHQgcm91dGluZQ0KKyAqIHNpbmNlIHRoZSBzdHVicyBkbyBh
bGwgb2YgdGhhdCB2aWEgcHV0RGVidWdDaGFyKCkgd2hpY2gNCisgKiB3cml0
ZXMgb25lIGJ5dGUgYWZ0ZXIgd2FpdGluZyBmb3IgdGhlIGludGVyZmFjZSB0
byBiZWNvbWUNCisgKiByZWFkeS4NCisgKg0KKyAqIFRoZSBkZWJ1ZyBzdHVi
cyBsaWtlIHRvIHJ1biB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgc2luY2Us
DQorICogYWZ0ZXIgYWxsLCB0aGV5IHJ1biBhcyBhIGNvbnNlcXVlbmNlIG9m
IGEgYnJlYWtwb2ludCBpbg0KKyAqIHRoZSBrZXJuZWwuDQorICoNCisgKiBQ
ZXJoYXBzIHNvbWVvbmUgd2hvIGtub3dzIG1vcmUgYWJvdXQgdGhlIHR0eSBk
cml2ZXIgdGhhbiBJDQorICogY2FyZSB0byBsZWFybiBjYW4gbWFrZSB0aGlz
IHdvcmsgZm9yIGFueSBsb3cgbGV2ZWwgc2VyaWFsDQorICogZHJpdmVyLg0K
KyAqLw0KK3N0YXRpYyB2b2lkIGdkYl9pbnRlcnJ1cHQoaW50IGlycSwgdm9p
ZCAqZGV2X2lkLCBzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MpDQorew0KKyAgICBp
bnQJCQkgY2hyIDsNCisgICAgaW50CQkJIGlpciA7DQorDQorICAgIGRvDQor
ICAgIHsNCisJY2hyID0gcmVhZF9kYXRhX2JmcigpIDsNCisJaWlyID0gaW5i
KGdkYl9wb3J0ICsgVUFSVF9JSVIpIDsNCisjaWZkZWYgUFJOVA0KKwlwcmlu
dGsoImdkYl9pbnRlcnJ1cHQ6IGNocj0lMDJ4ICclYycgIGFmdGVyIHJlYWQg
aWlyPSUwMnhcbiIsIGNociwNCisJCWNociA+ICcgJyAmJiBjaHIgPCAweDdG
ID8gY2hyIDogJyAnLCBpaXIpIDsNCisjZW5kaWYNCisJaWYgKGNociA8IDAp
IGNvbnRpbnVlIDsNCisNCisgICAgICAgIGlmIChjaHIgPT0gMykgICAgICAg
ICAgICAgICAgICAgLyogQ3RybC1DIG1lYW5zIHJlbW90ZSBpbnRlcnJ1cHQg
Ki8NCisgICAgICAgIHsNCisgICAgICAgICAgICBicmVha3BvaW50KCk7DQor
ICAgICAgICAgICAgY29udGludWUgOw0KKyAgICAgICAgfQ0KKw0KKwlpZiAo
YXRvbWljX3JlYWQoJmdkYl9idWZfaW5fY250KSA+PSBHREJfQlVGX1NJWkUp
DQorCXsJCQkJLyogYnVmZmVyIG92ZXJmbG93LCBjbGVhciBpdCAqLw0KKwkg
ICAgZ2RiX2J1Zl9pbl9pbnggPSAwIDsNCisJICAgIGF0b21pY19zZXQoJmdk
Yl9idWZfaW5fY250LCAwKSA7DQorCSAgICBnZGJfYnVmX291dF9pbnggPSAw
IDsNCisJICAgIGJyZWFrIDsNCisJfQ0KKw0KKwlnZGJfYnVmW2dkYl9idWZf
aW5faW54KytdID0gY2hyIDsNCisJZ2RiX2J1Zl9pbl9pbnggJj0gKEdEQl9C
VUZfU0laRSAtIDEpIDsNCisJYXRvbWljX2luYygmZ2RiX2J1Zl9pbl9jbnQp
IDsNCisgICAgfQ0KKyAgICB3aGlsZSAoaWlyICYgVUFSVF9JSVJfUkRJKTsN
CisNCit9IC8qIGdkYl9pbnRlcnJ1cHQgKi8NCisNCisvKg0KKyAqIEp1c3Qg
YSBOVUxMIHJvdXRpbmUgZm9yIHRlc3RpbmcuDQorICovDQordm9pZCBnZGJf
bnVsbCh2b2lkKQ0KK3sNCit9IC8qIGdkYl9udWxsICovDQorDQorDQoraW50
ICAgICBnZGJfaG9vayh2b2lkKQ0KK3sNCisgICAgaW50ICAgICAgICAgcmV0
dmFsIDsNCisgICAgc3RydWN0IHNlcmlhbF9zdGF0ZSAqc2VyOw0KKw0KKyNp
ZmRlZiBDT05GSUdfU01QDQorICAgIGlmIChzbXBfbnVtX2NwdXMgPiBLR0RC
X01BWF9OT19DUFVTKSB7IA0KKyAgICAgICAgcHJpbnRrKCJrZ2RiOiB0b28g
bWFudSBjcHVzLiBDYW5ub3QgZW5hYmxlIGRlYnVnZ2VyIHdpdGggbW9yZSB0
aGFuIDggY3B1c1xuIik7DQorCXJldHVybiAoLTEpOw0KKyAgICB9DQorI2Vu
ZGlmDQorDQorICAgIC8qDQorICAgICAqIENhbGwgZmlyc3QgdGltZSBqdXN0
IHRvIGdldCB0aGUgc2VyIHB0cg0KKyAgICAgKi8NCisgICAgaWYoKHNlciA9
IGdkYl9zZXJpYWxfc2V0dXAoZ2RiX3R0eVMsIGdkYl9iYXVkKSkgPT0gMCkg
ew0KKyAgICAgICAgcHJpbnRrICgiZ2RiX3NlcmlhbF9zZXR1cCgpIGVycm9y
Iik7DQorICAgICAgICByZXR1cm4oLTEpOw0KKyAgICB9DQorDQorICAgIGdk
Yl9wb3J0ID0gc2VyLT5wb3J0Ow0KKyAgICBnZGJfaXJxID0gc2VyLT5pcnE7
DQorDQorICAgIGlmIChzZXItPmluZm8gIT0gTlVMTCkNCisgICAgew0KKwlz
aHV0ZG93bl9mb3JfZ2RiKHNlci0+aW5mbykgOw0KKwkvKg0KKwkgKiBDYWxs
IHNlY29uZCB0aW1lIHRvIGRvIHRoZSBzZXR1cCBub3cgdGhhdCB3ZSBoYXZl
DQorCSAqIHNodXQgZG93biB0aGUgcHJldmlvdXMgdXNlciBvZiB0aGUgaW50
ZXJmYWNlLg0KKwkgKi8NCisJZ2RiX3NlcmlhbF9zZXR1cChnZGJfdHR5Uywg
Z2RiX2JhdWQpIDsNCisgICAgfQ0KKw0KKyAgICByZXR2YWwgPSByZXF1ZXN0
X2lycShnZGJfaXJxLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICBnZGJf
aW50ZXJydXB0LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICBTQV9JTlRF
UlJVUFQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICJHREItc3R1YiIs
IE5VTEwpOw0KKyAgICBpZiAocmV0dmFsID09IDApDQorICAgICAgICBpbml0
aWFsaXplZCA9IDE7DQorICAgIGVsc2UNCisgICAgew0KKyAgICAgICAgaW5p
dGlhbGl6ZWQgPSAwOw0KKwlwcmludGsoImdkYl9ob29rOiByZXF1ZXN0X2ly
cShpcnE9JWQpIGZhaWxlZDogJWRcbiIsIGdkYl9pcnEsIHJldHZhbCk7DQor
ICAgIH0NCisNCisgICAgLyoNCisgICAgICogQ2FsbCBHREIgcm91dGluZSB0
byBzZXR1cCB0aGUgZXhjZXB0aW9uIHZlY3RvcnMgZm9yIHRoZSBkZWJ1Z2dl
cg0KKyAgICAgKi8NCisgICAgc2V0X2RlYnVnX3RyYXBzKCkgOw0KKw0KKyAg
ICAvKg0KKyAgICAgKiBDYWxsIHRoZSBicmVha3BvaW50KCkgcm91dGluZSBp
biBHREIgdG8gc3RhcnQgdGhlIGRlYnVnZ2luZw0KKyAgICAgKiBzZXNzaW9u
Lg0KKyAgICAgKi8NCisgICAgcHJpbnRrKCJXYWl0aW5nIGZvciBjb25uZWN0
aW9uIGZyb20gcmVtb3RlIGdkYi4uLiAiKSA7DQorICAgIGJyZWFrcG9pbnQo
KSA7DQorICAgIGdkYl9udWxsKCkgOw0KKw0KKyAgICBwcmludGsoIkNvbm5l
Y3RlZC5cbiIpOw0KKw0KKyAgICBnZGJfaW5pdGlhbGl6ZWQgPSAxOw0KKyAg
ICByZXR1cm4oMCkgOw0KKw0KK30gLyogZ2RiX2hvb2tfaW50ZXJydXB0MiAq
Lw0KKw0KKy8qDQorICogZ2V0RGVidWdDaGFyDQorICoNCisgKiBUaGlzIGlz
IGEgR0RCIHN0dWIgcm91dGluZS4gIEl0IHdhaXRzIGZvciBhIGNoYXJhY3Rl
ciBmcm9tIHRoZQ0KKyAqIHNlcmlhbCBpbnRlcmZhY2UgYW5kIHRoZW4gcmV0
dXJucyBpdC4gIElmIHRoZXJlIGlzIG5vIHNlcmlhbA0KKyAqIGludGVyZmFj
ZSBjb25uZWN0aW9uIHRoZW4gaXQgcmV0dXJucyBhIGJvZ3VzIHZhbHVlIHdo
aWNoIHdpbGwNCisgKiBhbG1vc3QgY2VydGFpbmx5IGNhdXNlIHRoZSBzeXN0
ZW0gdG8gaGFuZy4NCisgKi8NCitpbnQJZ2V0RGVidWdDaGFyKHZvaWQpDQor
ew0KKyAgICB2b2xhdGlsZSBpbnQJY2hyIDsNCisNCisjaWZkZWYgUFJOVA0K
KyAgICBwcmludGsoImdldERlYnVnQ2hhcjogIikgOw0KKyNlbmRpZg0KKw0K
KyAgICB3aGlsZSAoIChjaHIgPSByZWFkX2NoYXIoKSkgPCAwICkgOw0KKw0K
Kw0KKyNpZmRlZiBQUk5UDQorICAgIHByaW50aygiJWNcbiIsIGNociA+ICcg
JyAmJiBjaHIgPCAweDdGID8gY2hyIDogJyAnKSA7DQorI2VuZGlmDQorICAg
IHJldHVybihjaHIpIDsNCisNCit9IC8qIGdldERlYnVnQ2hhciAqLw0KKw0K
Ky8qDQorICogcHV0RGVidWdDaGFyDQorICoNCisgKiBUaGlzIGlzIGEgR0RC
IHN0dWIgcm91dGluZS4gIEl0IHdhaXRzIHVudGlsIHRoZSBpbnRlcmZhY2Ug
aXMgcmVhZHkNCisgKiB0byB0cmFuc21pdCBhIGNoYXIgYW5kIHRoZW4gc2Vu
ZHMgaXQuICBJZiB0aGVyZSBpcyBubyBzZXJpYWwNCisgKiBpbnRlcmZhY2Ug
Y29ubmVjdGlvbiB0aGVuIGl0IHNpbXBseSByZXR1cm5zIHRvIGl0cyBjYWxs
ZXIsIGhhdmluZw0KKyAqIHByZXRlbmRlZCB0byBzZW5kIHRoZSBjaGFyLg0K
KyAqLw0KK3ZvaWQJcHV0RGVidWdDaGFyKGludCBjaHIpDQorew0KKyNpZmRl
ZiBQUk5UDQorICAgIHByaW50aygicHV0RGVidWdDaGFyOiBjaHI9JTAyeCAn
JWMnXG4iLCBjaHIsDQorCQljaHIgPiAnICcgJiYgY2hyIDwgMHg3RiA/IGNo
ciA6ICcgJykgOw0KKyNlbmRpZg0KKw0KKyAgICB3cml0ZV9jaGFyKGNocikg
OwkvKiB0aGlzIHJvdXRpbmUgd2lsbCB3YWl0ICovDQorDQorfSAvKiBwdXRE
ZWJ1Z0NoYXIgKi8NCisNCi0tLSBkaXN0LTIuNC4yMC9kcml2ZXJzL2NoYXIv
c2VyaWFsLmMJU3VuIEFwciAyMCAxMjowMzozMSAyMDAzDQorKysgbGludXgt
Mi40LjIwL2RyaXZlcnMvY2hhci9zZXJpYWwuYwlTYXQgQXByIDEyIDE5OjM4
OjU5IDIwMDMNCkBAIC00LDYgKzQsNyBAQA0KICAqICBDb3B5cmlnaHQgKEMp
IDE5OTEsIDE5OTIgIExpbnVzIFRvcnZhbGRzDQogICogIENvcHlyaWdodCAo
QykgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgDQogICog
CQkxOTk4LCAxOTk5ICBUaGVvZG9yZSBUcydvDQorICogIENvcHlyaWdodCAo
QykgMjAwMCBWRVJJVEFTIFNvZnR3YXJlIENvcnBvcmF0aW9uLg0KICAqDQog
ICogIEV4dGVuc2l2ZWx5IHJld3JpdHRlbiBieSBUaGVvZG9yZSBUcydvLCA4
LzE2LzkyIC0tIDkvMTQvOTIuICBOb3cNCiAgKiAgbXVjaCBtb3JlIGV4dGVu
c2libGUgdG8gc3VwcG9ydCBvdGhlciBzZXJpYWwgY2FyZHMgYmFzZWQgb24g
dGhlDQpAQCAtMzQsNiArMzUsMTAgQEANCiAgKiAgNC85ODogQWRkZWQgY2hh
bmdlcyB0byBzdXBwb3J0IHRoZSBBUk0gYXJjaGl0ZWN0dXJlIHByb3Bvc2Vk
IGJ5DQogICogCSAgUnVzc2VsbCBLaW5nDQogICoNCisgKiAgMy85OTogQWRk
ZWQgVElPQ0dEQiBmb3IgcmVtb3RlIGRlYnVnZ2luZyB3aXRoIGdkYiBpZiBj
b21waWxlZCB3aXRoDQorICogICAgICAgIENPTkZJR19LR0RCDQorICogCSAg
VGlncmFuIEFpdmF6aWFuDQorICoNCiAgKiAgNS85OTogVXBkYXRlZCB0byBp
bmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBYUjE2Qzg1MCBhbmQgU1QxNkM2NTQN
CiAgKiAgICAgICAgdWFydHMuICBTdHVhcnQgTWFjRG9uYWxkIDxzdHVhcnRt
QGNvbm5lY3R0ZWNoLmNvbT4NCiAgKg0KQEAgLTIxMCw3ICsyMTUsNyBAQA0K
ICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPg0KICNlbmRpZg0KICNpbmNsdWRl
IDxsaW51eC9kZWxheS5oPg0KLSNpZmRlZiBDT05GSUdfU0VSSUFMX0NPTlNP
TEUNCisjaWYgZGVmaW5lZChDT05GSUdfU0VSSUFMX0NPTlNPTEUpIHx8IGRl
ZmluZWQoQ09ORklHX0dEQl9DT05TT0xFKQ0KICNpbmNsdWRlIDxsaW51eC9j
b25zb2xlLmg+DQogI2VuZGlmDQogI2lmZGVmIEVOQUJMRV9TRVJJQUxfUENJ
DQpAQCAtMjY5Miw2ICsyNjk3LDEyIEBADQogCQkJcHJpbnRrICgiVElPQ1NF
Uj9XSUxEIGlvY3RsIG9ic29sZXRlLCBpZ25vcmVkLlxuIik7DQogCQkJcmV0
dXJuIDA7DQogDQorI2lmZGVmIENPTkZJR19LR0RCDQorCQljYXNlIFRJT0NH
REI6DQorCQkJZ2RiX3R0eVMgPSBNSU5PUih0dHktPmRldmljZSkgJiAweDAz
RiA7DQorCQkJZ2RiX2JhdWQgPSB0dHlfZ2V0X2JhdWRfcmF0ZSh0dHkpIDsN
CisJCQlyZXR1cm4gZ2RiX2hvb2soKTsNCisjZW5kaWYNCiAJCWRlZmF1bHQ6
DQogCQkJcmV0dXJuIC1FTk9JT0NUTENNRDsNCiAJCX0NCkBAIC00OTM2LDEy
ICs0OTQ3LDE3IEBADQogICoNCiAgKiBBY2NlcHQgYSBtYXhpbXVtIG9mIGVp
Z2h0IGJvYXJkcw0KICAqDQorICogMTAvMDA6IGFkZGVkIGNvbnNvbGUgc3Vw
cG9ydCBmb3Iga2dkYi4gQW1pdCBLYWxlIDxha2FsZUB2ZXJpdGFzLmNvbT4N
CisgKg0KICAqLw0KIHN0YXRpYyB2b2lkIF9fZGV2aW5pdCBwcm9iZV9zZXJp
YWxfcGNpKHZvaWQpIA0KIHsNCiAjaWZkZWYgU0VSSUFMX0RFQlVHX1BDSQ0K
IAlwcmludGsoS0VSTl9ERUJVRyAiRW50ZXJlZCBwcm9iZV9zZXJpYWxfcGNp
KClcbiIpOw0KICNlbmRpZg0KKyNpZmRlZiBDT05GSUdfS0dEQg0KKyNpbmNs
dWRlIDxsaW51eC9nZGIuaD4NCisjZW5kaWYNCiANCiAJLyogUmVnaXN0ZXIg
Y2FsbCBQQ0kgc2VyaWFsIGRldmljZXMuICBOdWxsIG91dA0KIAkgKiB0aGUg
ZHJpdmVyIG5hbWUgdXBvbiBmYWlsdXJlLCBhcyBhIHNpZ25hbA0KQEAgLTU5
OTAsNyArNjAwNiw2IEBADQogDQogCXJldHVybiAwOw0KIH0NCi0NCiBzdGF0
aWMgc3RydWN0IGNvbnNvbGUgc2VyY29ucyA9IHsNCiAJbmFtZToJCSJ0dHlT
IiwNCiAJd3JpdGU6CQlzZXJpYWxfY29uc29sZV93cml0ZSwNCkBAIC02MDA4
LDYgKzYwMjMsMTM1IEBADQogCXJlZ2lzdGVyX2NvbnNvbGUoJnNlcmNvbnMp
Ow0KIH0NCiAjZW5kaWYNCisNCisvKg0KKyAqIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K
KyAqIFNlcmlhbCBHREIgZHJpdmVyIChtb3N0IGluIGdkYnNlcmlhbC5jKQ0K
KyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQ0KKyAqLw0KKw0KKyNpZmRlZiBDT05GSUdf
S0dEQg0KKw0KK3ZvaWQgc2h1dGRvd25fZm9yX2dkYihzdHJ1Y3QgYXN5bmNf
c3RydWN0ICogaW5mbykNCit7DQorICAgIHNodXRkb3duKGluZm8pIDsNCit9
DQorDQorI2lmZGVmIENPTkZJR19HREJfQ09OU09MRQ0KK3N0YXRpYyBzdHJ1
Y3QgY29uc29sZSBnZGJjb25zID0gew0KKwluYW1lOgkJImdkYiIsDQorCXdy
aXRlOgkJZ2RiX2NvbnNvbGVfd3JpdGUsDQorCWZsYWdzOgkJQ09OX1BSSU5U
QlVGRkVSIHwgQ09OX0VOQUJMRUQsDQorCWluZGV4OgkJLTEsDQorfTsNCisj
ZW5kaWYNCisNCisNCisvKiANCisgKiAgVGFrZXM6DQorICoJdHR5UyAtIGlu
dGVnZXIgc3BlY2lmeWluZyB3aGljaCBzZXJpYWwgcG9ydCB0byB1c2UgZm9y
IGRlYnVnZ2luZw0KKyAqCWJhdWQgLSBiYXVkIHJhdGUgb2Ygc3BlY2lmaWVk
IHNlcmlhbCBwb3J0DQorICogIFJldHVybnM6DQorICoJcG9ydCBmb3IgdXNl
IGJ5IHRoZSBnZGIgc2VyaWFsIGRyaXZlcg0KKyAqLw0KK3N0cnVjdCBzZXJp
YWxfc3RhdGUgKg0KK2dkYl9zZXJpYWxfc2V0dXAoaW50IHR0eVMsIGludCBi
YXVkKQ0KK3sNCisgICAgICAgIHN0cnVjdCBzZXJpYWxfc3RhdGUgKnNlcjsN
CisgICAgICAgIHVuc2lnbmVkIGN2YWw7DQorICAgICAgICBpbnQgICAgIGJp
dHMgPSA4Ow0KKyAgICAgICAgaW50ICAgICBwYXJpdHkgPSAnbic7DQorICAg
ICAgICBpbnQgICAgIGNmbGFnID0gQ1JFQUQgfCBIVVBDTCB8IENMT0NBTDsN
CisgICAgICAgIGludCAgICAgcXVvdCA9IDA7DQorDQorICAgICAgICAvKg0K
KyAgICAgICAgICogICAgICBOb3cgY29uc3RydWN0IGEgY2ZsYWcgc2V0dGlu
Zy4NCisgICAgICAgICAqLw0KKyAgICAgICAgc3dpdGNoKGJhdWQpIHsNCisg
ICAgICAgICAgICAgICAgY2FzZSAxMjAwOg0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNmbGFnIHw9IEIxMjAwOw0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOw0KKyAgICAgICAgICAgICAgICBjYXNlIDI0MDA6DQorICAg
ICAgICAgICAgICAgICAgICAgICAgY2ZsYWcgfD0gQjI0MDA7DQorICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAgICAgIGNh
c2UgNDgwMDoNCisgICAgICAgICAgICAgICAgICAgICAgICBjZmxhZyB8PSBC
NDgwMDsNCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisgICAg
ICAgICAgICAgICAgY2FzZSAxOTIwMDoNCisgICAgICAgICAgICAgICAgICAg
ICAgICBjZmxhZyB8PSBCMTkyMDA7DQorICAgICAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7DQorICAgICAgICAgICAgICAgIGNhc2UgMzg0MDA6DQorICAg
ICAgICAgICAgICAgICAgICAgICAgY2ZsYWcgfD0gQjM4NDAwOw0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgICAgICAgICBj
YXNlIDU3NjAwOg0KKyAgICAgICAgICAgICAgICAgICAgICAgIGNmbGFnIHw9
IEI1NzYwMDsNCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisg
ICAgICAgICAgICAgICAgY2FzZSAxMTUyMDA6DQorICAgICAgICAgICAgICAg
ICAgICAgICAgY2ZsYWcgfD0gQjExNTIwMDsNCisgICAgICAgICAgICAgICAg
ICAgICAgICBicmVhazsNCisgICAgICAgICAgICAgICAgY2FzZSA5NjAwOg0K
KyAgICAgICAgICAgICAgICBkZWZhdWx0Og0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNmbGFnIHw9IEI5NjAwOw0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOw0KKyAgICAgICAgfQ0KKyAgICAgICAgc3dpdGNoKGJpdHMp
IHsNCisgICAgICAgICAgICAgICAgY2FzZSA3Og0KKyAgICAgICAgICAgICAg
ICAgICAgICAgIGNmbGFnIHw9IENTNzsNCisgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsNCisgICAgICAgICAgICAgICAgZGVmYXVsdDoNCisgICAg
ICAgICAgICAgICAgY2FzZSA4Og0KKyAgICAgICAgICAgICAgICAgICAgICAg
IGNmbGFnIHw9IENTODsNCisgICAgICAgICAgICAgICAgICAgICAgICBicmVh
azsNCisgICAgICAgIH0NCisgICAgICAgIHN3aXRjaChwYXJpdHkpIHsNCisg
ICAgICAgICAgICAgICAgY2FzZSAnbyc6IGNhc2UgJ08nOg0KKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNmbGFnIHw9IFBBUk9ERDsNCisgICAgICAgICAg
ICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICAgICAgY2FzZSAn
ZSc6IGNhc2UgJ0UnOg0KKyAgICAgICAgICAgICAgICAgICAgICAgIGNmbGFn
IHw9IFBBUkVOQjsNCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsN
CisgICAgICAgIH0NCisNCisgICAgICAgIC8qDQorICAgICAgICAgKiAgICAg
IERpdmlzb3IsIGJ5dGVzaXplIGFuZCBwYXJpdHkNCisgICAgICAgICAqLw0K
Kw0KKyAgICAgICAgc2VyID0gcnNfdGFibGUgKyB0dHlTOw0KKwlzZXItPmZs
YWdzICY9IH5BU1lOQ19CT09UX0FVVE9DT05GOw0KKyAgICAgICAgcXVvdCA9
IHNlci0+YmF1ZF9iYXNlIC8gYmF1ZDsNCisgICAgICAgIGN2YWwgPSBjZmxh
ZyAmIChDU0laRSB8IENTVE9QQik7DQorICAgICAgICBjdmFsID4+PSA0Ow0K
KyAgICAgICAgaWYgKGNmbGFnICYgUEFSRU5CKQ0KKyAgICAgICAgICAgICAg
ICBjdmFsIHw9IFVBUlRfTENSX1BBUklUWTsNCisgICAgICAgIGlmICghKGNm
bGFnICYgUEFST0REKSkNCisgICAgICAgICAgICAgICAgY3ZhbCB8PSBVQVJU
X0xDUl9FUEFSOw0KKw0KKyAgICAgICAgLyoNCisgICAgICAgICAqICAgICAg
RGlzYWJsZSBVQVJUIGludGVycnVwdHMsIHNldCBEVFIgYW5kIFJUUyBoaWdo
DQorICAgICAgICAgKiAgICAgIGFuZCBzZXQgc3BlZWQuDQorICAgICAgICAg
Ki8NCisJY3ZhbCA9IDB4MzsNCisgICAgICAgIG91dGIoY3ZhbCB8IFVBUlRf
TENSX0RMQUIsIHNlci0+cG9ydCArIFVBUlRfTENSKTsgICAgICAgLyogc2V0
IERMQUIgKi8NCisgICAgICAgIG91dGIocXVvdCAmIDB4ZmYsIHNlci0+cG9y
dCArIFVBUlRfRExMKTsgICAgICAgICAvKiBMUyBvZiBkaXZpc29yICovDQor
ICAgICAgICBvdXRiKHF1b3QgPj4gOCwgc2VyLT5wb3J0ICsgVUFSVF9ETE0p
OyAgICAgICAgICAgLyogTVMgb2YgZGl2aXNvciAqLw0KKyAgICAgICAgb3V0
YihjdmFsLCBzZXItPnBvcnQgKyBVQVJUX0xDUik7ICAgICAgICAgICAgICAg
IC8qIHJlc2V0IERMQUIgKi8NCisgICAgICAgIG91dGIoVUFSVF9JRVJfUkRJ
LCBzZXItPnBvcnQgKyBVQVJUX0lFUik7ICAgICAgICAvKiB0dXJuIG9uIGlu
dGVycnVwdHMqLw0KKyAgICAgICAgb3V0YihVQVJUX01DUl9PVVQyIHwgVUFS
VF9NQ1JfRFRSIHwgVUFSVF9NQ1JfUlRTLCBzZXItPnBvcnQgKyBVQVJUX01D
Uik7DQorDQorICAgICAgICAvKg0KKyAgICAgICAgICogICAgICBJZiB3ZSBy
ZWFkIDB4ZmYgZnJvbSB0aGUgTFNSLCB0aGVyZSBpcyBubyBVQVJUIGhlcmUu
DQorICAgICAgICAgKi8NCisgICAgICAgIGlmIChpbmIoc2VyLT5wb3J0ICsg
VUFSVF9MU1IpID09IDB4ZmYpDQorICAgICAgICAgICAgICAgIHJldHVybiAw
Ow0KKyAgICAgICAgcmV0dXJuIHNlcjsNCit9DQorI2lmZGVmIENPTkZJR19H
REJfQ09OU09MRQ0KK3ZvaWQgX19pbml0IGdkYl9jb25zb2xlX2luaXQodm9p
ZCkNCit7DQorCXJlZ2lzdGVyX2NvbnNvbGUoJmdkYmNvbnMpOw0KK30NCisj
ZW5kaWYNCisjZW5kaWYgLyogQ09ORklHX0tHREIgKi8NCiANCiAvKg0KICAg
TG9jYWwgdmFyaWFibGVzOg0KLS0tIGRpc3QtMi40LjIwL2RyaXZlcnMvY2hh
ci90dHlfaW8uYwlTdW4gQXByIDIwIDEyOjAzOjMyIDIwMDMNCisrKyBsaW51
eC0yLjQuMjAvZHJpdmVycy9jaGFyL3R0eV9pby5jCVNhdCBBcHIgMTIgMTU6
MjQ6MzYgMjAwMw0KQEAgLTkwLDYgKzkwLDkgQEANCiAjaW5jbHVkZSA8bGlu
dXgvaW5pdC5oPg0KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4NCiAjaW5j
bHVkZSA8bGludXgvc21wX2xvY2suaD4NCisjaWZkZWYgQ09ORklHX0dEQl9D
T05TT0xFDQorI2luY2x1ZGUgPGxpbnV4L2dkYi5oPg0KKyNlbmRpZg0KIA0K
ICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPg0KICNpbmNsdWRlIDxhc20vc3lz
dGVtLmg+DQpAQCAtMjIxMCw2ICsyMjEzLDkgQEANCiAjZW5kaWYNCiAjaWZk
ZWYgQ09ORklHX0FVMTAwMF9TRVJJQUxfQ09OU09MRQ0KIAlhdTEwMDBfc2Vy
aWFsX2NvbnNvbGVfaW5pdCgpOw0KKyNlbmRpZg0KKyNpZmRlZiBDT05GSUdf
R0RCX0NPTlNPTEUNCisJZ2RiX2NvbnNvbGVfaW5pdCgpOw0KICNlbmRpZg0K
ICNpZmRlZiBDT05GSUdfU0VSSUFMX0NPTlNPTEUNCiAjaWYgKGRlZmluZWQo
Q09ORklHXzh4eCkgfHwgZGVmaW5lZChDT05GSUdfODI2MCkpDQotLS0gbGlu
dXgtMi40LjE4L2ZzL25hbWVpLmMJU3VuIE1hciAyNCAxNjoxNzowMCAyMDAy
DQorKysgbGludXgvZnMvbmFtZWkuYwlGcmkgTWFyIDI5IDIwOjQ1OjEyIDIw
MDINCkBAIC0yLDYgKzIsOCBAQA0KICAqICBsaW51eC9mcy9uYW1laS5jDQog
ICoNCiAgKiAgQ29weXJpZ2h0IChDKSAxOTkxLCAxOTkyICBMaW51cyBUb3J2
YWxkcw0KKyAqDQorICogIENvcHlyaWdodCAoQykgMjAwMQlBbWl0IFMuIEth
bGUNCiAgKi8NCiANCiAvKg0KQEAgLTMwMSw2ICszMDMsOCBAQA0KIAkJaWYg
KGRlbnRyeSkgew0KIAkJCWxvY2tfa2VybmVsKCk7DQogCQkJcmVzdWx0ID0g
ZGlyLT5pX29wLT5sb29rdXAoZGlyLCBkZW50cnkpOw0KKwkJCUtFUk5FTF9B
U1NFUlQoImxvb2t1cCByZXR1cm4gdmFsdWUgaW52YWxpZCIsDQorCQkJCQlL
QV9WQUxJRF9QVFJPUkVSUihyZXN1bHQpKTsNCiAJCQl1bmxvY2tfa2VybmVs
KCk7DQogCQkJaWYgKHJlc3VsdCkNCiAJCQkJZHB1dChkZW50cnkpOw0KQEAg
LTczMSw2ICs3MzUsOCBAQA0KIAlpZiAoKm5hbWU9PScvJykNCiAJCXJldHVy
biB3YWxrX2luaXRfcm9vdChuYW1lLG5kKTsNCiAJcmVhZF9sb2NrKCZjdXJy
ZW50LT5mcy0+bG9jayk7DQorCUtFUk5FTF9BU1NFUlQoIm5vIGZzIiwgY3Vy
cmVudC0+ZnMpOw0KKwlLRVJORUxfQVNTRVJUKCJubyBwd2QiLCBjdXJyZW50
LT5mcy0+cHdkbW50KTsNCiAJbmQtPm1udCA9IG1udGdldChjdXJyZW50LT5m
cy0+cHdkbW50KTsNCiAJbmQtPmRlbnRyeSA9IGRnZXQoY3VycmVudC0+ZnMt
PnB3ZCk7DQogCXJlYWRfdW5sb2NrKCZjdXJyZW50LT5mcy0+bG9jayk7DQpA
QCAtNzczLDYgKzc3OSw4IEBADQogCQkJZ290byBvdXQ7DQogCQlsb2NrX2tl
cm5lbCgpOw0KIAkJZGVudHJ5ID0gaW5vZGUtPmlfb3AtPmxvb2t1cChpbm9k
ZSwgbmV3KTsNCisJCUtFUk5FTF9BU1NFUlQoImxvb2t1cCByZXR1cm4gdmFs
dWUgaW52YWxpZCIsDQorCQkJCUtBX1ZBTElEX1BUUk9SRVJSKGRlbnRyeSkp
Ow0KIAkJdW5sb2NrX2tlcm5lbCgpOw0KIAkJaWYgKCFkZW50cnkpDQogCQkJ
ZGVudHJ5ID0gbmV3Ow0KLS0tIGxpbnV4LTIuNC4xOC9mcy9zdXBlci5jCVN1
biBNYXIgMjQgMTY6MTc6MDEgMjAwMg0KKysrIGxpbnV4L2ZzL3N1cGVyLmMJ
RnJpIE1hciAyOSAyMDo0NToxMiAyMDAyDQpAQCAtNDM3LDYgKzQzNyw3IEBA
DQogew0KIAlzdHJ1Y3QgbGlzdF9oZWFkICpwOw0KIA0KKwlLRVJORUxfQVNT
RVJUKCJrZXJuZWwgbG9jayBub3QgaGVsZCIsIEtBX0hFTERfR0tMKCkpOw0K
IAlsaXN0X2Zvcl9lYWNoKHAsICZzdXBlcl9ibG9ja3MpIHsNCiAJCXN0cnVj
dCBzdXBlcl9ibG9jayAqIHMgPSBzYl9lbnRyeShwKTsNCiAJCWlmIChzLT5z
X2RldiA9PSBkZXYpIHsNCkBAIC01MDgsNiArNTA5LDcgQEANCiB7DQogCXN0
cnVjdCBzdXBlcl9ibG9jayAqIHM7DQogDQorCUtFUk5FTF9BU1NFUlQoImtl
cm5lbCBsb2NrIG5vdCBoZWxkIiwgS0FfSEVMRF9HS0woKSk7DQogCWlmICgh
ZGV2KQ0KIAkJcmV0dXJuIE5VTEw7DQogcmVzdGFydDoNCi0tLSBsaW51eC0y
LjQuMTgvaW5jbHVkZS9hc20taTM4Ni9pb2N0bHMuaAlGcmkgSnVsIDI0IDIz
OjQwOjE2IDE5OTgNCisrKyBsaW51eC9pbmNsdWRlL2FzbS1pMzg2L2lvY3Rs
cy5oCUZyaSBNYXIgMjkgMjA6NDU6MTIgMjAwMg0KQEAgLTY3LDYgKzY3LDcg
QEANCiAjZGVmaW5lIFRJT0NHSUNPVU5UCTB4NTQ1RAkvKiByZWFkIHNlcmlh
bCBwb3J0IGlubGluZSBpbnRlcnJ1cHQgY291bnRzICovDQogI2RlZmluZSBU
SU9DR0hBWUVTRVNQICAgMHg1NDVFICAvKiBHZXQgSGF5ZXMgRVNQIGNvbmZp
Z3VyYXRpb24gKi8NCiAjZGVmaW5lIFRJT0NTSEFZRVNFU1AgICAweDU0NUYg
IC8qIFNldCBIYXllcyBFU1AgY29uZmlndXJhdGlvbiAqLw0KKyNkZWZpbmUg
VElPQ0dEQiAgICAgICAgIDB4NTQ3RiAgLyogZW5hYmxlIEdEQiBzdHViIG1v
ZGUgb24gdGhpcyB0dHkgKi8NCiANCiAvKiBVc2VkIGZvciBwYWNrZXQgbW9k
ZSAqLw0KICNkZWZpbmUgVElPQ1BLVF9EQVRBCQkgMA0KLS0tIGRpc3QtMi40
LjIwL2luY2x1ZGUvYXNtLWkzODYvcGFnZS5oCVN1biBBcHIgMjAgMTI6MDA6
NTcgMjAwMw0KKysrIGxpbnV4LTIuNC4yMC9pbmNsdWRlL2FzbS1pMzg2L3Bh
Z2UuaAlTYXQgQXByIDEyIDE1OjI4OjE2IDIwMDMNCkBAIC05NSw2ICs5NSw5
IEBADQogICogdW5kZWZpbmVkIiBvcGNvZGUgZm9yIHBhcnNpbmcgaW4gdGhl
IHRyYXAgaGFuZGxlci4NCiAgKi8NCiANCisjaWZkZWYgQ09ORklHX1g4Nl9S
RU1PVEVfREVCVUcNCisjZGVmaW5lIEJVRygpIEtHREJfQVNTRVJUKCJCVUci
LCAwKQ0KKyNlbHNlDQogI2lmIDEJLyogU2V0IHRvIHplcm8gZm9yIGEgc2xp
Z2h0bHkgc21hbGxlciBrZXJuZWwgKi8NCiAjZGVmaW5lIEJVRygpCQkJCVwN
CiAgX19hc21fXyBfX3ZvbGF0aWxlX18oCSJ1ZDJcbiIJCVwNCkBAIC0xMDMs
NiArMTA2LDcgQEANCiAJCQkgOiA6ICJpIiAoX19MSU5FX18pLCAiaSIgKF9f
RklMRV9fKSkNCiAjZWxzZQ0KICNkZWZpbmUgQlVHKCkgX19hc21fXyBfX3Zv
bGF0aWxlX18oInVkMlxuIikNCisjZW5kaWYNCiAjZW5kaWYNCiANCiAjZGVm
aW5lIFBBR0VfQlVHKHBhZ2UpIGRvIHsgXA0KLS0tIGxpbnV4LTIuNC4xOC9p
bmNsdWRlL2FzbS1pMzg2L3Byb2Nlc3Nvci5oCVN1biBKYW4gMTMgMTM6MDg6
MjAgMjAwMg0KKysrIGxpbnV4L2luY2x1ZGUvYXNtLWkzODYvcHJvY2Vzc29y
LmgJTW9uIEFwciAgMSAyMTo0MToyNCAyMDAyDQpAQCAtMzgxLDYgKzM4MSw5
IEBADQogLyogSU8gcGVybWlzc2lvbnMgKi8NCiAJaW50CQlpb3Blcm07DQog
CXVuc2lnbmVkIGxvbmcJaW9fYml0bWFwW0lPX0JJVE1BUF9TSVpFKzFdOw0K
KyNpZmRlZiBDT05GSUdfWDg2X1JFTU9URV9ERUJVRw0KKwlzdHJ1Y3QgcHRf
cmVncyAqa2dkYnJlZ3M7DQorI2VuZGlmDQogfTsNCiANCiAjZGVmaW5lIElO
SVRfVEhSRUFEICB7CQkJCQkJXA0KLS0tIGRpc3QtMi40LjIwL2luY2x1ZGUv
YXNtLXBwYy9pb2N0bHMuaAlNb24gTWF5IDIxIDE4OjAyOjA2IDIwMDENCisr
KyBsaW51eC0yLjQuMjAvaW5jbHVkZS9hc20tcHBjL2lvY3Rscy5oCVNhdCBB
cHIgMTIgMTU6MzU6MTggMjAwMw0KQEAgLTEwNyw1ICsxMDcsNiBAQA0KIA0K
ICNkZWZpbmUgVElPQ01JV0FJVAkweDU0NUMJLyogd2FpdCBmb3IgYSBjaGFu
Z2Ugb24gc2VyaWFsIGlucHV0IGxpbmUocykgKi8NCiAjZGVmaW5lIFRJT0NH
SUNPVU5UCTB4NTQ1RAkvKiByZWFkIHNlcmlhbCBwb3J0IGlubGluZSBpbnRl
cnJ1cHQgY291bnRzICovDQorI2RlZmluZSBUSU9DR0RCICAgICAgICAgMHg1
NDdGICAvKiBlbmFibGUgR0RCIHN0dWIgbW9kZSBvbiB0aGlzIHR0eSAqLw0K
IA0KICNlbmRpZiAvKiBfQVNNX1BQQ19JT0NUTFNfSCAqLw0KLS0tIGxpbnV4
LTIuNC4xOC9pbmNsdWRlL2xpbnV4L2RjYWNoZS5oCVN1biBKYW4gMTMgMTI6
NTk6MzEgMjAwMg0KKysrIGxpbnV4L2luY2x1ZGUvbGludXgvZGNhY2hlLmgJ
TW9uIEFwciAgMSAyMTo0MToyNSAyMDAyDQpAQCAtNCw2ICs0LDcgQEANCiAj
aWZkZWYgX19LRVJORUxfXw0KIA0KICNpbmNsdWRlIDxhc20vYXRvbWljLmg+
DQorI2luY2x1ZGUgPGxpbnV4L2dkYi5oPg0KICNpbmNsdWRlIDxsaW51eC9t
b3VudC5oPg0KIA0KIC8qDQotLS0gbGludXgtMi40LjE4L2luY2x1ZGUvbGlu
dXgvZ2RiLmgJVGh1IEphbiAgMSAwNTozMDowMCAxOTcwDQorKysgbGludXgv
aW5jbHVkZS9saW51eC9nZGIuaAlNb24gQXByICAxIDIxOjQxOjI1IDIwMDIN
CkBAIC0wLDAgKzEsNjcgQEANCisjaWZuZGVmIF9HREJfSF8NCisjZGVmaW5l
IF9HREJfSF8NCisNCisvKg0KKyAqIENvcHlyaWdodCAoQykgMjAwMSBBbWl0
IFMuIEthbGUNCisgKi8NCisNCisvKiBnZGIgbG9ja3MgKi8NCisjZGVmaW5l
IEtHREJfTUFYX05PX0NQVVMgOA0KKw0KK2V4dGVybiBpbnQgZ2RiX2VudGVy
OwkvKiAxID0gZW50ZXIgZGVidWdnZXIgb24gYm9vdCAqLw0KK2V4dGVybiBp
bnQgZ2RiX3R0eVM7DQorZXh0ZXJuIGludCBnZGJfYmF1ZDsNCitleHRlcm4g
aW50IGdkYl9pbml0aWFsaXplZDsNCisNCitleHRlcm4gaW50IGdkYl9ob29r
KHZvaWQpOw0KK2V4dGVybiB2b2lkIGJyZWFrcG9pbnQodm9pZCk7DQorDQor
dHlwZWRlZiBpbnQgICAgIGdkYl9kZWJ1Z19ob29rKGludCB0cmFwbm8sDQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzaWdubywNCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGVycl9jb2RlLA0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcHRfcmVn
cyAqcmVncyk7DQorZXh0ZXJuIGdkYl9kZWJ1Z19ob29rICAqbGludXhfZGVi
dWdfaG9vazsNCisNCitleHRlcm4gdm9sYXRpbGUgdW5zaWduZWQga2dkYl9s
b2NrOw0KKw0KK2V4dGVybiB2b2xhdGlsZSBpbnQga2dkYl9tZW1lcnJfZXhw
ZWN0ZWQ7DQorDQorc3RydWN0IGNvbnNvbGU7DQordm9pZCBnZGJfY29uc29s
ZV93cml0ZShzdHJ1Y3QgY29uc29sZSAqY28sIGNvbnN0IGNoYXIgKnMsDQor
CQkJCXVuc2lnbmVkIGNvdW50KTsNCit2b2lkIGdkYl9jb25zb2xlX2luaXQo
dm9pZCk7DQorDQorZXh0ZXJuIHZvbGF0aWxlIGludCBwcm9jaW5kZWJ1Z1tL
R0RCX01BWF9OT19DUFVTXTsNCisNCit2b2lkIGdkYl93YWl0KHN0cnVjdCBw
dF9yZWdzICpyZWdzKTsNCisNCisjZGVmaW5lIEtHREJfQVNTRVJUKG1lc3Nh
Z2UsIGNvbmRpdGlvbikJZG8gewkJCVwNCisJaWYgKCEoY29uZGl0aW9uKSkg
ewkJCQkJXA0KKwkJcHJpbnRrKCJrZ2RiIGFzc2VydGlvbiBmYWlsZWQ6ICVz
XG4iLCBtZXNzYWdlKTsgXA0KKwkJYXNtICgiaW50ICQweDMiKTsJCQkJXA0K
Kwl9CQkJCQkJCVwNCit9IHdoaWxlICgwKQ0KKw0KKyNpZmRlZiBDT05GSUdf
S0VSTkVMX0FTU0VSVFMNCisjZGVmaW5lIEtFUk5FTF9BU1NFUlQobWVzc2Fn
ZSwgY29uZGl0aW9uKSBLR0RCX0FTU0VSVChtZXNzYWdlLCBjb25kaXRpb24p
DQorI2Vsc2UNCisjZGVmaW5lIEtFUk5FTF9BU1NFUlQobWVzc2FnZSwgY29u
ZGl0aW9uKQ0KKyNlbmRpZg0KKw0KKyNkZWZpbmUgS0FfVkFMSURfRVJSTk8o
ZXJybm8pICgoZXJybm8pID4gMCAmJiAoZXJybm8pIDw9IEVNRURJVU1UWVBF
KQ0KKw0KKyNkZWZpbmUgS0FfVkFMSURfUFRSX0VSUihwdHIpIEtBX1ZBTElE
X0VSUk5PKC1QVFJfRVJSKHB0cikpDQorDQorI2RlZmluZSBLQV9WQUxJRF9L
UFRSKHB0cikgICghKHB0cikgfHwJXA0KKwkgICAgICAgKCh2b2lkICopKHB0
cikgPj0gKHZvaWQgKilQQUdFX09GRlNFVCAmJiAgXA0KKwkgICAgICAgKHZv
aWQgKikocHRyKSA8IEVSUl9QVFIoLUVNRURJVU1UWVBFKSkpDQorDQorI2Rl
ZmluZSBLQV9WQUxJRF9QVFJPUkVSUihlcnJwdHIpIChLQV9WQUxJRF9LUFRS
KGVycnB0cikgfHwgS0FfVkFMSURfUFRSX0VSUihlcnJwdHIpKQ0KKw0KKyNp
Zm5kZWYgQ09ORklHX1NNUA0KKyNkZWZpbmUgS0FfSEVMRF9HS0woKQkxDQor
I2Vsc2UNCisjZGVmaW5lIEtBX0hFTERfR0tMKCkJKGN1cnJlbnQtPmxvY2tf
ZGVwdGggPj0gMCkNCisjZW5kaWYNCisNCisjZW5kaWYgLyogX0dEQl9IXyAq
Lw0KLS0tIGxpbnV4LTIuNC4xOC9pbmNsdWRlL2xpbnV4L21vdW50LmgJU3Vu
IEphbiAxMyAxMjo1OTozMSAyMDAyDQorKysgbGludXgvaW5jbHVkZS9saW51
eC9tb3VudC5oCUZyaSBNYXIgMjkgMjA6NDU6MTIgMjAwMg0KQEAgLTMzLDgg
KzMzLDExIEBADQogDQogc3RhdGljIGlubGluZSBzdHJ1Y3QgdmZzbW91bnQg
Km1udGdldChzdHJ1Y3QgdmZzbW91bnQgKm1udCkNCiB7DQotCWlmIChtbnQp
DQorCWlmIChtbnQpIHsNCisJCUtFUk5FTF9BU1NFUlQoIm1vdW50X2NvdW50
IHdyb25nIiwNCisJCQlhdG9taWNfcmVhZCgmbW50LT5tbnRfY291bnQpID4g
MCk7DQogCQlhdG9taWNfaW5jKCZtbnQtPm1udF9jb3VudCk7DQorCX0NCiAJ
cmV0dXJuIG1udDsNCiB9DQogDQotLS0gbGludXgtMi40LjE4L2luY2x1ZGUv
bGludXgvc2NoZWQuaAlTdW4gTWFyIDI0IDE2OjE1OjU5IDIwMDINCisrKyBs
aW51eC9pbmNsdWRlL2xpbnV4L3NjaGVkLmgJTW9uIEFwciAgMSAyMTo0MToy
OCAyMDAyDQpAQCAtMTUzLDcgKzE1Myw5IEBADQogDQogI2RlZmluZQlNQVhf
U0NIRURVTEVfVElNRU9VVAlMT05HX01BWA0KIGV4dGVybiBzaWduZWQgbG9u
ZyBGQVNUQ0FMTChzY2hlZHVsZV90aW1lb3V0KHNpZ25lZCBsb25nIHRpbWVv
dXQpKTsNCi1hc21saW5rYWdlIHZvaWQgc2NoZWR1bGUodm9pZCk7DQorYXNt
bGlua2FnZSB2b2lkIGRvX3NjaGVkdWxlKHZvaWQpOw0KK2FzbWxpbmthZ2Ug
dm9pZCBrZXJuX3NjaGVkdWxlKHZvaWQpOw0KK2FzbWxpbmthZ2Ugdm9pZCBr
ZXJuX2RvX3NjaGVkdWxlKHN0cnVjdCBwdF9yZWdzKTsNCiANCiBleHRlcm4g
aW50IHNjaGVkdWxlX3Rhc2soc3RydWN0IHRxX3N0cnVjdCAqdGFzayk7DQog
ZXh0ZXJuIHZvaWQgZmx1c2hfc2NoZWR1bGVkX3Rhc2tzKHZvaWQpOw0KQEAg
LTkyNyw2ICs5MjksMTUgQEANCiAJcmV0dXJuIHJlczsNCiB9DQogDQorc3Rh
dGljIGlubGluZSB2b2lkIHNjaGVkdWxlKHZvaWQpDQorew0KKyNpZmRlZiBD
T05GSUdfS0dEQl9USFJFQUQNCisJa2Vybl9zY2hlZHVsZSgpOw0KKyNlbHNl
DQorCWRvX3NjaGVkdWxlKCk7DQorI2VuZGlmDQorfQ0KKw0KICNlbmRpZiAv
KiBfX0tFUk5FTF9fICovDQogDQogI2VuZGlmDQotLS0gZGlzdC0yLjQuMjAv
aW5pdC9tYWluLmMJU3VuIEFwciAyMCAxMjowMTozOCAyMDAzDQorKysgbGlu
dXgtMi40LjIwL2luaXQvbWFpbi5jCVNhdCBBcHIgMTIgMjI6NTk6NTggMjAw
Mw0KQEAgLTU2LDYgKzU2LDEwIEBADQogI2luY2x1ZGUgPGxpbnV4L251YnVz
Lmg+DQogI2VuZGlmDQogDQorI2lmZGVmIENPTkZJR19LR0RCDQorI2luY2x1
ZGUgPGxpbnV4L2dkYi5oPg0KKyNlbmRpZg0KKw0KICNpZmRlZiBDT05GSUdf
SVNBUE5QDQogI2luY2x1ZGUgPGxpbnV4L2lzYXBucC5oPg0KICNlbmRpZg0K
QEAgLTIxNyw2ICsyMjEsMzUgQEANCiBfX3NldHVwKCJkZWJ1ZyIsIGRlYnVn
X2tlcm5lbCk7DQogX19zZXR1cCgicXVpZXQiLCBxdWlldF9rZXJuZWwpOw0K
IA0KKyNpZmRlZiBDT05GSUdfS0dEQg0KKw0KK3N0YXRpYyBpbnQgX19pbml0
IGtnZGJfb3B0X2dkYih2b2lkKQ0KK3sNCisJZ2RiX2VudGVyID0gMTsNCisJ
cmV0dXJuIDE7DQorfQ0KK3N0YXRpYyBpbnQgX19pbml0IGtnZGJfb3B0X2dk
YnR0eVMoY2hhciAqc3RyKQ0KK3sNCisJZ2RiX3R0eVMgPSBzaW1wbGVfc3Ry
dG91bChzdHIsTlVMTCwxMCk7DQorCXJldHVybiAxOw0KK30NCitzdGF0aWMg
aW50IF9faW5pdCBrZ2RiX29wdF9nZGJiYXVkKGNoYXIgKnN0cikNCit7DQor
CWdkYl9iYXVkID0gc2ltcGxlX3N0cnRvdWwoc3RyLE5VTEwsMTApOw0KKwly
ZXR1cm4gMTsNCit9DQorDQorLyoNCisgKiBTZXF1ZW5jZSBvZiB0aGVzZSBs
aW5lcyBoYXMgdG8gYmUgbWFpbnRhaW5lZCBiZWNhdXNlIGdkYiBvcHRpb24g
aXMgYSBwcmVmaXgNCisgKiBvZiB0aGUgb3RoZXIgdHdvIG9wdGlvbnMNCisg
Ki8NCisNCitfX3NldHVwKCJnZGJ0dHlTPSIsIGtnZGJfb3B0X2dkYnR0eVMp
Ow0KK19fc2V0dXAoImdkYmJhdWQ9Iiwga2dkYl9vcHRfZ2RiYmF1ZCk7DQor
X19zZXR1cCgiZ2RiIiwga2dkYl9vcHRfZ2RiKTsNCisNCisjZW5kaWYNCisN
CiAvKg0KICAqIFRoaXMgaXMgYSBzaW1wbGUga2VybmVsIGNvbW1hbmQgbGlu
ZSBwYXJzaW5nIGZ1bmN0aW9uOiBpdCBwYXJzZXMNCiAgKiB0aGUgY29tbWFu
ZCBsaW5lLCBhbmQgZmlsbHMgaW4gdGhlIGFyZ3VtZW50cy9lbnZpcm9ubWVu
dCB0byBpbml0DQpAQCAtNDMyLDYgKzQ2NSwxMiBAQA0KIAkgKgltYWtlIHN5
c2NhbGxzIChhbmQgdGh1cyBiZSBsb2NrZWQpLg0KIAkgKi8NCiAJc21wX2lu
aXQoKTsNCisjaWZkZWYgQ09ORklHX0tHREINCisJaWYgKGdkYl9lbnRlcikg
ew0KKwkJZ2RiX2hvb2soKTsJCS8qIHJpZ2h0IGF0IGJvb3QgdGltZSAqLw0K
Kwl9DQorI2VuZGlmDQorDQogCXJlc3RfaW5pdCgpOw0KIH0NCiANCi0tLSBs
aW51eC0yLjQuMTgva2VybmVsL2tzeW1zLmMJU3VuIE1hciAyNCAxNjoxNzow
NiAyMDAyDQorKysgbGludXgva2VybmVsL2tzeW1zLmMJRnJpIE1hciAyOSAy
MDo0NToxMyAyMDAyDQpAQCAtNDM2LDcgKzQzNiwxMCBAQA0KIEVYUE9SVF9T
WU1CT0woc2xlZXBfb25fdGltZW91dCk7DQogRVhQT1JUX1NZTUJPTChpbnRl
cnJ1cHRpYmxlX3NsZWVwX29uKTsNCiBFWFBPUlRfU1lNQk9MKGludGVycnVw
dGlibGVfc2xlZXBfb25fdGltZW91dCk7DQotRVhQT1JUX1NZTUJPTChzY2hl
ZHVsZSk7DQorRVhQT1JUX1NZTUJPTChkb19zY2hlZHVsZSk7DQorI2lmZGVm
IENPTkZJR19LR0RCX1RIUkVBRA0KK0VYUE9SVF9TWU1CT0woa2Vybl9zY2hl
ZHVsZSk7DQorI2VuZGlmDQogRVhQT1JUX1NZTUJPTChzY2hlZHVsZV90aW1l
b3V0KTsNCiBFWFBPUlRfU1lNQk9MKGppZmZpZXMpOw0KIEVYUE9SVF9TWU1C
T0woeHRpbWUpOw0KLS0tIGxpbnV4LTIuNC4xOC9rZXJuZWwvc2NoZWQuYwlT
dW4gTWFyIDI0IDE2OjE2OjAwIDIwMDINCisrKyBsaW51eC9rZXJuZWwvc2No
ZWQuYwlGcmkgTWFyIDI5IDIwOjQ1OjEzIDIwMDINCkBAIC01NDYsNyArNTQ2
LDcgQEANCiAgKiB0YXNrcyBjYW4gcnVuLiBJdCBjYW4gbm90IGJlIGtpbGxl
ZCwgYW5kIGl0IGNhbm5vdCBzbGVlcC4gVGhlICdzdGF0ZScNCiAgKiBpbmZv
cm1hdGlvbiBpbiB0YXNrWzBdIGlzIG5ldmVyIHVzZWQuDQogICovDQotYXNt
bGlua2FnZSB2b2lkIHNjaGVkdWxlKHZvaWQpDQorYXNtbGlua2FnZSB2b2lk
IGRvX3NjaGVkdWxlKHZvaWQpDQogew0KIAlzdHJ1Y3Qgc2NoZWR1bGVfZGF0
YSAqIHNjaGVkX2RhdGE7DQogCXN0cnVjdCB0YXNrX3N0cnVjdCAqcHJldiwg
Km5leHQsICpwOw0KQEAgLTcwNCw2ICs3MDQsMjIgQEANCiAJcmV0dXJuOw0K
IH0NCiANCithc21saW5rYWdlIHZvaWQgdXNlcl9zY2hlZHVsZSh2b2lkKQ0K
K3sNCisjaWZkZWYgQ09ORklHX0tHREJfVEhSRUFEDQorCWN1cnJlbnQtPnRo
cmVhZC5rZ2RicmVncyA9IE5VTEw7DQorI2VuZGlmDQorCWRvX3NjaGVkdWxl
KCk7DQorfQ0KKw0KKyNpZmRlZiBDT05GSUdfS0dEQl9USFJFQUQNCithc21s
aW5rYWdlIHZvaWQga2Vybl9kb19zY2hlZHVsZShzdHJ1Y3QgcHRfcmVncyBy
ZWdzKQ0KK3sNCisJY3VycmVudC0+dGhyZWFkLmtnZGJyZWdzID0gJnJlZ3M7
DQorCWRvX3NjaGVkdWxlKCk7DQorfQ0KKyNlbmRpZg0KKw0KIC8qDQogICog
VGhlIGNvcmUgd2FrZXVwIGZ1bmN0aW9uLiAgTm9uLWV4Y2x1c2l2ZSB3YWtl
dXBzIChucl9leGNsdXNpdmUgPT0gMCkganVzdCB3YWtlIGV2ZXJ5dGhpbmcN
CiAgKiB1cC4gIElmIGl0J3MgYW4gZXhjbHVzaXZlIHdha2V1cCAobnJfZXhj
bHVzaXZlID09IHNtYWxsICt2ZSBudW1iZXIpIHRoZW4gd2Ugd2FrZSBhbGwg
dGhlDQo=
---70191663-261253981-1051246905=:16473
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="gdb.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine dot LNX dot 4 dot 44 dot 0304250101452 dot 16473 at vger dot freesoft dot org>
Content-Description:
Content-Disposition: attachment; filename="gdb.patch"
LS0tIGluZnJ1bi5jfgkyMDAyLTAyLTI0IDE3OjMxOjE5LjAwMDAwMDAwMCAt
MDUwMA0KKysrIGluZnJ1bi5jCTIwMDMtMDQtMTkgMTk6MDk6NDEuMDAwMDAw
MDAwIC0wNDAwDQpAQCAtMjUzOCw1MCArMjUzOCw1NSBAQA0KICAgICBpZiAo
IUNBTExfRFVNTVlfQlJFQUtQT0lOVF9PRkZTRVRfUCkNCiAgICAgICB7DQog
CS8qIFRoaXMgaXMgdGhlIG9sZCB3YXkgb2YgZGV0ZWN0aW5nIHRoZSBlbmQg
b2YgdGhlIHN0YWNrIGR1bW15Lg0KIAkgICBBbiBhcmNoaXRlY3R1cmUgd2hp
Y2ggZGVmaW5lcyBDQUxMX0RVTU1ZX0JSRUFLUE9JTlRfT0ZGU0VUIGdldHMN
CiAJICAgaGFuZGxlZCBhYm92ZS4gIEFzIHNvb24gYXMgd2UgY2FuIHRlc3Qg
aXQgb24gYWxsIG9mIHRoZW0sIGFsbA0KIAkgICBhcmNoaXRlY3R1cmVzIHNo
b3VsZCBkZWZpbmUgaXQuICAqLw0KIA0KIAkvKiBJZiB0aGlzIGlzIHRoZSBi
cmVha3BvaW50IGF0IHRoZSBlbmQgb2YgYSBzdGFjayBkdW1teSwNCiAJICAg
anVzdCBzdG9wIHNpbGVudGx5LCB1bmxlc3MgdGhlIHVzZXIgd2FzIGRvaW5n
IGFuIHNpL25pLCBpbiB3aGljaA0KIAkgICBjYXNlIHNoZSdkIGJldHRlciBr
bm93IHdoYXQgc2hlJ3MgZG9pbmcuICAqLw0KIA0KIAlpZiAoQ0FMTF9EVU1N
WV9IQVNfQ09NUExFVEVEIChzdG9wX3BjLCByZWFkX3NwICgpLA0KIAkJCQkg
ICAgICBGUkFNRV9GUCAoZ2V0X2N1cnJlbnRfZnJhbWUgKCkpKQ0KIAkgICAg
JiYgIXN0ZXBfcmFuZ2VfZW5kKQ0KIAkgIHsNCiAJICAgIHN0b3BfcHJpbnRf
ZnJhbWUgPSAwOw0KIAkgICAgc3RvcF9zdGFja19kdW1teSA9IDE7DQogI2lm
ZGVmIEhQX09TX0JVRw0KIAkgICAgdHJhcF9leHBlY3RlZF9hZnRlcl9jb250
aW51ZSA9IDE7DQogI2VuZGlmDQogCSAgICBzdG9wX3N0ZXBwaW5nIChlY3Mp
Ow0KIAkgICAgcmV0dXJuOw0KIAkgIH0NCiAgICAgICB9DQogDQorICAgIGlm
IChzdG9wX3N0YWNrX2R1bW15KSB7DQorICAgICAgc3RvcF9zdGVwcGluZyhl
Y3MpOw0KKyAgICAgIHJldHVybjsNCisgICAgfQ0KKw0KICAgICBpZiAoc3Rl
cF9yZXN1bWVfYnJlYWtwb2ludCkNCiAgICAgICB7DQogCS8qIEhhdmluZyBh
IHN0ZXAtcmVzdW1lIGJyZWFrcG9pbnQgb3ZlcnJpZGVzIGFueXRoaW5nDQog
CSAgIGVsc2UgaGF2aW5nIHRvIGRvIHdpdGggc3RlcHBpbmcgY29tbWFuZHMg
dW50aWwNCiAJICAgdGhhdCBicmVha3BvaW50IGlzIHJlYWNoZWQuICAqLw0K
IAkvKiBJJ20gbm90IHN1cmUgd2hldGhlciB0aGlzIG5lZWRzIHRvIGJlIGNo
ZWNrX3NpZ3RyYW1wMiBvcg0KIAkgICB3aGV0aGVyIGl0IGNvdWxkL3Nob3Vs
ZCBiZSBrZWVwX2dvaW5nLiAgKi8NCiAJY2hlY2tfc2lndHJhbXAyIChlY3Mp
Ow0KIAlrZWVwX2dvaW5nIChlY3MpOw0KIAlyZXR1cm47DQogICAgICAgfQ0K
ICAgICANCiAgICAgaWYgKHN0ZXBfcmFuZ2VfZW5kID09IDApDQogICAgICAg
ew0KIAkvKiBMaWtld2lzZSBpZiB3ZSBhcmVuJ3QgZXZlbiBzdGVwcGluZy4g
ICovDQogCS8qIEknbSBub3Qgc3VyZSB3aGV0aGVyIHRoaXMgbmVlZHMgdG8g
YmUgY2hlY2tfc2lndHJhbXAyIG9yDQogCSAgIHdoZXRoZXIgaXQgY291bGQv
c2hvdWxkIGJlIGtlZXBfZ29pbmcuICAqLw0KIAljaGVja19zaWd0cmFtcDIg
KGVjcyk7DQogCWtlZXBfZ29pbmcgKGVjcyk7DQogCXJldHVybjsNCiAgICAg
ICB9DQogDQogICAgIC8qIElmIHN0ZXBwaW5nIHRocm91Z2ggYSBsaW5lLCBr
ZWVwIGdvaW5nIGlmIHN0aWxsIHdpdGhpbiBpdC4NCiANCiAgICAgICAgTm90
ZSB0aGF0IHN0ZXBfcmFuZ2VfZW5kIGlzIHRoZSBhZGRyZXNzIG9mIHRoZSBm
aXJzdCBpbnN0cnVjdGlvbg0K
---70191663-261253981-1051246905=:16473
Content-Type: TEXT/PLAIN; charset=X-UNKNOWN; name="gdb.bug.script"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine dot LNX dot 4 dot 44 dot 0304250101453 dot 16473 at vger dot freesoft dot org>
Content-Description:
Content-Disposition: attachment; filename="gdb.bug.script"
U2NyaXB0IHN0YXJ0ZWQgb24gRnJpIEFwciAyNSAwMDowOTowNiAyMDAzDQob
XTA7YmFjY2FsYUB5Mms6IC9wb3dlcnBjL2xpbnV4LTIuNC4yMAdbYmFjY2Fs
YUB5MmsgbGludXgtMi40LjIwXSQgcHdlCCAICCAIb3dlcnBjLWdkYiB2bWxp
bnV4DQ0KR05VIGdkYiA1LjMNDQpDb3B5cmlnaHQgMjAwMiBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4NDQpHREIgaXMgZnJlZSBzb2Z0d2FyZSwg
Y292ZXJlZCBieSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGFu
ZCB5b3UgYXJlDQ0Kd2VsY29tZSB0byBjaGFuZ2UgaXQgYW5kL29yIGRpc3Ry
aWJ1dGUgY29waWVzIG9mIGl0IHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucy4N
DQpUeXBlICJzaG93IGNvcHlpbmciIHRvIHNlZSB0aGUgY29uZGl0aW9ucy4N
DQpUaGVyZSBpcyBhYnNvbHV0ZWx5IG5vIHdhcnJhbnR5IGZvciBHREIuICBU
eXBlICJzaG93IHdhcnJhbnR5IiBmb3IgZGV0YWlscy4NDQpUaGlzIEdEQiB3
YXMgY29uZmlndXJlZCBhcyAiLS1ob3N0PWk2ODYtcGMtbGludXgtZ251IC0t
dGFyZ2V0PXBvd2VycGMtdW5rbm93bi1saW51eCIuLi4NDQooZ2RiKSBzZXQg
cmVtb3RlYmF1ZCAzODQwMA0NCihnZGIpIHNldCBkZWJ1ZyByZW1vdGUgMQ0N
CihnZGIpIHRhcmdldCByZW1vdGUgL2Rldi9jdWEwDQ0KUmVtb3RlIGRlYnVn
Z2luZyB1c2luZyAvZGV2L2N1YTANDQpTZW5kaW5nIHBhY2tldDogJEhjLTEj
MDkuLi5BY2sNDQpQYWNrZXQgcmVjZWl2ZWQ6IE9LDQ0KU2VuZGluZyBwYWNr
ZXQ6ICRxQyNiNC4uLkFjaw0NClBhY2tldCByZWNlaXZlZDogDQ0KU2VuZGlu
ZyBwYWNrZXQ6ICRxT2Zmc2V0cyM0Yi4uLkFjaw0NClBhY2tldCByZWNlaXZl
ZDogDQ0KU2VuZGluZyBwYWNrZXQ6ICQ/IzNmLi4uQWNrDQ0KUGFja2V0IHJl
Y2VpdmVkOiBTMDUNDQpTZW5kaW5nIHBhY2tldDogJEhnMCNkZi4uLkFjaw0N
ClBhY2tldCByZWNlaXZlZDogT0sNDQpTZW5kaW5nIHBhY2tldDogJGcjNjcu
Li5BY2sNDQpQYWNrZXQgcmVjZWl2ZWQ6IDAwMDAwMDAxYzAxODUzYjBjMDE4
MzQyMDAwMDAwMDJhMDAwMDEwMzIwMDAwMDAwMTAwMDAwMDE4YzAyNDllMDQw
MDAwMTEwZWMwMjMwMDAwMDAwMDAwMDBjMDE4NTJlMDgyMjgwMjIyMDAwMDAw
MDAwMDI0OWYwMDAwMDAwMDAwMDAwMDA1MmIwMDIwNmQ5MDAwMjQ5Zjg4MDAw
MDAwMDQwMDNmZjAwMDAwMjQ5ZmE4MDAwMDAwMDMwMDAwMDAwMjAwMDAwMDAw
MDAwMDAwMDA0MDAwMDAwMDAwMDAwMDIwMjAwMDExMTBjMDFjMDAwMGMwMWMw
MDAwYzAyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGMwMDBkYzg0MDAwMjkwMzI0
MjI4MDIyMmMwMDlkNzk0YzAwZTMxOGMwMDAwMDAwMA0NClNlbmRpbmcgcGFj
a2V0OiAkbWMwMDlkNzkwLGMjZmMuLi5BY2sNDQpQYWNrZXQgcmVjZWl2ZWQ6
IDRiZjcwNGM1NGJmZmZmMWQzYzYwYzAxNg0NCmJyZWFraW5zdCAoKSBhdCBw
cGMtc3R1Yi5jOjczNA0NCjczNAl9DQ0KU2VuZGluZyBwYWNrZXQ6ICRxU3lt
Ym9sOjojNWIuLi5BY2sNDQpQYWNrZXQgcmVjZWl2ZWQ6IA0NClBhY2tldCBx
U3ltYm9sIChzeW1ib2wtbG9va3VwKSBpcyBOT1Qgc3VwcG9ydGVkDQ0KKGdk
YikgY2FsbCBzaG93X3N0YXRlKCkNDQpTZW5kaW5nIHBhY2tldDogJFAxPWMw
MTg1M2EwI2IzLi4uQWNrDQ0KUGFja2V0IHJlY2VpdmVkOiANDQpTZW5kaW5n
IHBhY2tldDogJEcwMDAwMDAwMWMwMTg1M2EwYzAxODM0MjAwMDAwMDAyYTAw
MDAxMDMyMDAwMDAwMDEwMDAwMDAxOGMwMjQ5ZTA0MDAwMDExMGVjMDIzMDAw
MDAwMDAwMDAwYzAxODUyZTA4MjI4MDIyMjAwMDAwMDAwMDAyNDlmMDAwMDAw
MDAwMDAwMDAwNTJiMDAyMDZkOTAwMDI0OWY4ODAwMDAwMDA0MDAzZmYwMDAw
MDI0OWZhODAwMDAwMDAzMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwNDAwMDAw
MDAwMDAwMDAyMDIwMDAxMTEwYzAxYzAwMDBjMDFjMDAwMGMwMjMwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDBjMDAwZGM4NDAwMDI5MDMyNDIyODAyMjJjMDA5ZDc5
NGMwMGUzMThjMDAwMDAwMDAjZDcuLi5BY2sNDQpQYWNrZXQgcmVjZWl2ZWQ6
IE9LDQ0KU2VuZGluZyBwYWNrZXQ6ICRYYzAxODUzYTAsMDojZTMuLi5BY2sN
DQpQYWNrZXQgcmVjZWl2ZWQ6IA0NCmJpbmFyeSBkb3dubG9hZGluZyBOT1Qg
c3VwcHBvcnRlZCBieSB0YXJnZXQNDQpTZW5kaW5nIHBhY2tldDogJE1jMDE4
NTNhMCw0OmMwMTg1M2IwI2QyLi4uQWNrDQ0KUGFja2V0IHJlY2VpdmVkOiBP
Sw0NClNlbmRpbmcgcGFja2V0OiAkRzAwMDAwMDAxYzAxODUzYTBjMDE4MzQy
MDAwMDAwMDJhMDAwMDEwMzIwMDAwMDAwMTAwMDAwMDE4YzAyNDllMDQwMDAw
MTEwZWMwMjMwMDAwMDAwMDAwMDBjMDE4NTJlMDgyMjgwMjIyMDAwMDAwMDAw
MDI0OWYwMDAwMDAwMDAwMDAwMDA1MmIwMDIwNmQ5MDAwMjQ5Zjg4MDAwMDAw
MDQwMDNmZjAwMDAwMjQ5ZmE4MDAwMDAwMDMwMDAwMDAwMjAwMDAwMDAwMDAw
MDAwMDA0MDAwMDAwMDAwMDAwMDIwMjAwMDExMTBjMDFjMDAwMGMwMWMwMDAw
YzAyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGMwMDBkYzg0MDAwMjkwMzI0MjI4
MDIyMmMwMDlkNzk0YzAwZTMxOGMwMDAwMDAwMCNkNy4uLkFjaw0NClBhY2tl
dCByZWNlaXZlZDogT0sNDQpTZW5kaW5nIHBhY2tldDogJEcwMDAwMDAwMWMw
MTg1M2EwYzAxODM0MjAwMDAwMDAyYTAwMDAxMDMyMDAwMDAwMDEwMDAwMDAx
OGMwMjQ5ZTA0MDAwMDExMGVjMDIzMDAwMDAwMDAwMDAwYzAxODUyZTA4MjI4
MDIyMjAwMDAwMDAwMDAyNDlmMDAwMDAwMDAwMDAwMDAwNTJiMDAyMDZkOTAw
MDI0OWY4ODAwMDAwMDA0MDAzZmYwMDAwMDI0OWZhODAwMDAwMDAzMDAwMDAw
MDIwMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAyMDIwMDAxMTEwYzAx
YzAwMDBjMDFjMDAwMGMwMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDAwZGM4
NDAwMDI5MDMyNDIyODAyMjJjMDAwMDAwMGMwMGUzMThjMDAwMDAwMDAjODYu
Li5BY2sNDQpQYWNrZXQgcmVjZWl2ZWQ6IE9LDQ0KU2VuZGluZyBwYWNrZXQ6
ICRtYmZmZmZmZmMsYyMyNS4uLkFjaw0NClBhY2tldCByZWNlaXZlZDogDQ0K
U2VuZGluZyBwYWNrZXQ6ICRtYmZmZmZmZmMsYyMyNS4uLkFjaw0NClBhY2tl
dCByZWNlaXZlZDogDQ0KU2VuZGluZyBwYWNrZXQ6ICRHMDAwMDAwMDFjMDE4
NTNhMGMwMTgzNDIwMDAwMDAwMmEwMDAwMTAzMjAwMDAwMDAxMDAwMDAwMThj
MDI0OWUwNDAwMDAxMTBlYzAyMzAwMDAwMDAwMDAwMGMwMTg1MmUwODIyODAy
MjIwMDAwMDAwMDAwMjQ5ZjAwMDAwMDAwMDAwMDAwMDUyYjAwMjA2ZDkwMDAy
NDlmODgwMDAwMDAwNDAwM2ZmMDAwMDAyNDlmYTgwMDAwMDAwMzAwMDAwMDAy
MDAwMDAwMDAwMDAwMDAwMDQwMDAwMDAwMDAwMDAwMjAyMDAwMTExMGMwMWMw
MDAwYzAxYzAwMDBjMDIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzAwMTRhMzQw
MDAyOTAzMjQyMjgwMjIyYzAwMDAwMDBjMDBlMzE4YzAwMDAwMDAwIzUwLi4u
QWNrDQ0KUGFja2V0IHJlY2VpdmVkOiBPSw0NClNlbmRpbmcgcGFja2V0OiAk
WjAsYzAwMDAwMDAsNCNjOS4uLkFjaw0NClBhY2tldCByZWNlaXZlZDogDQ0K
UGFja2V0IFowIChzb2Z0d2FyZS1icmVha3BvaW50KSBpcyBOT1Qgc3VwcG9y
dGVkDQ0KU2VuZGluZyBwYWNrZXQ6ICRtYzAwMDAwMDAsNCM4MC4uLkFjaw0N
ClBhY2tldCByZWNlaXZlZDogZGVhZGMwZGUNDQpTZW5kaW5nIHBhY2tldDog
JE1jMDAwMDAwMCw0OjdkODIxMDA4IzY4Li4uQWNrDQ0KUGFja2V0IHJlY2Vp
dmVkOiBPSw0NClNlbmRpbmcgcGFja2V0OiAkSGMwI2RiLi4uQWNrDQ0KUGFj
a2V0IHJlY2VpdmVkOiBPSw0NClNlbmRpbmcgcGFja2V0OiAkYyM2My4uLkFj
aw0NClBhY2tldCByZWNlaXZlZDogTzBhDQ0KDQ0KUGFja2V0IHJlY2VpdmVk
OiBPMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIw
MjAyMDIwMjA2NjcyNjU2NTIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAy
MDIwMjAyMDIwMjAyMDIwMjAyMDczNjk2MjZjNjk2ZTY3MGENDQogICAgICAg
ICAgICAgICAgICAgICAgICAgZnJlZSAgICAgICAgICAgICAgICAgICAgICAg
IHNpYmxpbmcNDQpQYWNrZXQgcmVjZWl2ZWQ6IE8yMDIwNzQ2MTczNmIyMDIw
MjAyMDIwMjAyMDIwMjAyMDIwMjAyMDUwNDMyMDIwMjAyMDczNzQ2MTYzNmIy
MDIwMjA3MDY5NjQyMDY2NjE3NDY4NjU3MjIwNjM2ODY5NmM2NDIwNzk2Zjc1
NmU2NzY1NzIyMDZmNmM2NDY1NzIwYQ0NCiAgdGFzayAgICAgICAgICAgICBQ
QyAgICBzdGFjayAgIHBpZCBmYXRoZXIgY2hpbGQgeW91bmdlciBvbGRlcg0N
ClBhY2tldCByZWNlaXZlZDogVDA1NDA6YzAwMDAwMDA7MDE6YzAyMmI0MDI7
DQ0KU2VuZGluZyBwYWNrZXQ6ICRnIzY3Li4uQWNrDQ0KUGFja2V0IHJlY2Vp
dmVkOiBjMDAwMDAwMGMwMTg1M2EwYzAxODM0MjAwMDAwMDA0MDAwMDAxMDMy
MDAwMDAwMDEwMDAwMDAwMWMwMjI5NTg0MDAwMDA0NjNjMDE4MDAwMDAwMDAw
MDAwYzAxODUzYTA4MjI4MDIyMjAwMDAwMDAwMDAyNDlmMDAwMDAwMDAwMDAw
MDAwNTJiMDAyMDZkOTAwMDI0OWY4ODAwMDAwMDA0MDAzZmYwMDAwMDI0OWZh
ODAwMDAwMDAzMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAw
MDAyMDIwMDAxMTEwYzAxYzAwMDBjMDFjMDAwMGMwMjMwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDBjMDAwMDAwMDAwMDI5MDMyMjIyODAyMjJjMDAwMDAwMGMwMGUz
MThjMDAwMDAwMDANDQpTZW5kaW5nIHBhY2tldDogJG1iZmZmZmZmYyxjIzI1
Li4uQWNrDQ0KUGFja2V0IHJlY2VpdmVkOiANDQpTZW5kaW5nIHBhY2tldDog
JG1iZmZmZmZmYyxjIzI1Li4uQWNrDQ0KUGFja2V0IHJlY2VpdmVkOiANDQpT
ZW5kaW5nIHBhY2tldDogJE1jMDAwMDAwMCw0OmRlYWRjMGRlIzg0Li4uQWNr
DQ0KUGFja2V0IHJlY2VpdmVkOiBPSw0NClNlbmRpbmcgcGFja2V0OiAkSGMw
I2RiLi4uQWNrDQ0KUGFja2V0IHJlY2VpdmVkOiBPSw0NClNlbmRpbmcgcGFj
a2V0OiAkcyM3My4uLkFjaw0NClBhY2tldCByZWNlaXZlZDogTzY2NmM2ZjYx
NzQ2OTZlNjcyMDcwNmY2OTZlNzQyMDc1NzM2NTY0MjA2OTZlMjA2YjY1NzI2
ZTY1NmMyMDI4NzQ2MTczNmIzZDYzMzAzMTM4MzMzNDMyMzAyYzIwNzA2MzNk
NjMzMDMwMzAzMDMwMzAzMDI5MGENDQpmbG9hdGluZyBwb2ludCB1c2VkIGlu
IGtlcm5lbCAodGFzaz1jMDE4MzQyMCwgcGM9YzAwMDAwMDApDQ0KUGFja2V0
IHJlY2VpdmVkOiBUMDc0MDpjMDAwMDAwMDswMTpjMDIyYjQwMjsNDQoNDQpQ
cm9ncmFtIHJlY2VpdmVkIHNpZ25hbCBTSUdFTVQsIEVtdWxhdGlvbiB0cmFw
Lg0NClNlbmRpbmcgcGFja2V0OiAkZyM2Ny4uLkFjaw0NClBhY2tldCByZWNl
aXZlZDogYzAwMDAwMDBjMDE4NTNhMGMwMTgzNDIwMDAwMDAwNDAwMDAwMTAz
MjAwMDAwMDAxMDAwMDAwMDFjMDIyOTU4NDAwMDAwNDYzYzAxODAwMDAwMDAw
MDAwMGMwMTg1M2EwODIyODAyMjIwMDAwMDAwMDAwMjQ5ZjAwMDAwMDAwMDAw
MDAwMDUyYjAwMjA2ZDkwMDAyNDlmODgwMDAwMDAwNDAwM2ZmMDAwMDAyNDlm
YTgwMDAwMDAwMzAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDQwMDAwMDAwMDAw
MDAwMjAyMDAwMTExMGMwMWMwMDAwYzAxYzAwMDBjMDIzMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwYzAwMDAwMDAwMDAwYjQzMjIyMjgwMjIyYzAwMDAwMDBjMDBl
MzE4YzAwMDAwMDAwDQ0KU2VuZGluZyBwYWNrZXQ6ICRtYmZmZmZmZmMsYyMy
NS4uLkFjaw0NClBhY2tldCByZWNlaXZlZDogDQ0KU2VuZGluZyBwYWNrZXQ6
ICRtYmZmZmZmZmMsYyMyNS4uLkFjaw0NClBhY2tldCByZWNlaXZlZDogDQ0K
PGZ1bmN0aW9uIGNhbGxlZCBmcm9tIGdkYj4NDQpUaGUgcHJvZ3JhbSBiZWlu
ZyBkZWJ1Z2dlZCB3YXMgc2lnbmFsZWQgd2hpbGUgaW4gYSBmdW5jdGlvbiBj
YWxsZWQgZnJvbSBHREIuDQ0KR0RCIHJlbWFpbnMgaW4gdGhlIGZyYW1lIHdo
ZXJlIHRoZSBzaWduYWwgd2FzIHJlY2VpdmVkLg0NClRvIGNoYW5nZSB0aGlz
IGJlaGF2aW9yIHVzZSAic2V0IHVud2luZG9uc2lnbmFsIG9uIg0NCkV2YWx1
YXRpb24gb2YgdGhlIGV4cHJlc3Npb24gY29udGFpbmluZyB0aGUgZnVuY3Rp
b24gKHNob3dfc3RhdGUpIHdpbGwgYmUgYWJhbmRvbmVkLg0NCihnZGIpIHF1
aXQNDQpUaGUgcHJvZ3JhbSBpcyBydW5uaW5nLiAgRXhpdCBhbnl3YXk/ICh5
IG9yIG4pIHkNDQpTZW5kaW5nIHBhY2tldDogJGsjNmIuLi5BY2sNDQobXTA7
YmFjY2FsYUB5Mms6IC9wb3dlcnBjL2xpbnV4LTIuNC4yMAdbYmFjY2FsYUB5
MmsgbGludXgtMi40LjIwXSQgDQpTY3JpcHQgZG9uZSBvbiBGcmkgQXByIDI1
IDAwOjEyOjM4IDIwMDMNCg==
---70191663-261253981-1051246905=:16473
Content-Type: APPLICATION/octet-stream; name="gdb.fixed.script"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine dot LNX dot 4 dot 44 dot 0304250101454 dot 16473 at vger dot freesoft dot org>
Content-Description:
Content-Disposition: attachment; filename="gdb.fixed.script"
U2NyaXB0IHN0YXJ0ZWQgb24gVGh1IEFwciAyNCAyMzo1OTo1OCAyMDAzChtd
MDtiYWNjYWxhQHdpbmJvb2s6L3Bvd2VycGMvbGludXgtMi40LjIwBw0NW2Jh
Y2NhbGFAd2luYm9vayBsaW51eC0yLjQuMjBdJCANW2JhY2NhbGFAd2luYm9v
ayBsaW51eC0yLjQuMjBdJCANW2JhY2NhbGFAd2luYm9vayBsaW51eC0yLjQu
MjBdJCBwDVtiYWNjYWxhQHdpbmJvb2sgbGludXgtMi40LjIwXSQgcA1bYmFj
Y2FsYUB3aW5ib29rIGxpbnV4LTIuNC4yMF0kIHBvDVtiYWNjYWxhQHdpbmJv
b2sgbGludXgtMi40LjIwXSQgcG8NW2JhY2NhbGFAd2luYm9vayBsaW51eC0y
LjQuMjBdJCBwb3cNW2JhY2NhbGFAd2luYm9vayBsaW51eC0yLjQuMjBdJCBw
b3cNW2JhY2NhbGFAd2luYm9vayBsaW51eC0yLjQuMjBdJCBwb3dlDVtiYWNj
YWxhQHdpbmJvb2sgbGludXgtMi40LjIwXSQgcG93ZQ1bYmFjY2FsYUB3aW5i
b29rIGxpbnV4LTIuNC4yMF0kIHBvd2VyDVtiYWNjYWxhQHdpbmJvb2sgbGlu
dXgtMi40LjIwXSQgcG93ZXINW2JhY2NhbGFAd2luYm9vayBsaW51eC0yLjQu
MjBdJCBwb3dlcnANW2JhY2NhbGFAd2luYm9vayBsaW51eC0yLjQuMjBdJCBw
b3dlcnANW2JhY2NhbGFAd2luYm9vayBsaW51eC0yLjQuMjBdJCBwb3dlcnBj
DVtiYWNjYWxhQHdpbmJvb2sgbGludXgtMi40LjIwXSQgcG93ZXJwYw1bYmFj
Y2FsYUB3aW5ib29rIGxpbnV4LTIuNC4yMF0kIHBvd2VycGMtDVtiYWNjYWxh
QHdpbmJvb2sgbGludXgtMi40LjIwXSQgcG93ZXJwYy0NW2JhY2NhbGFAd2lu
Ym9vayBsaW51eC0yLjQuMjBdJCBwb3dlcnBjLWcNW2JhY2NhbGFAd2luYm9v
ayBsaW51eC0yLjQuMjBdJCBwb3dlcnBjLWcNW2JhY2NhbGFAd2luYm9vayBs
aW51eC0yLjQuMjBdJCBwb3dlcnBjLWdkDVtiYWNjYWxhQHdpbmJvb2sgbGlu
dXgtMi40LjIwXSQgcG93ZXJwYy1nZA1bYmFjY2FsYUB3aW5ib29rIGxpbnV4
LTIuNC4yMF0kIHBvd2VycGMtZ2RiDVtiYWNjYWxhQHdpbmJvb2sgbGludXgt
Mi40LjIwXSQgcG93ZXJwYy1nZGINW2JhY2NhbGFAd2luYm9vayBsaW51eC0y
LjQuMjBdJCBwb3dlcnBjLWdkYiANW2JhY2NhbGFAd2luYm9vayBsaW51eC0y
LjQuMjBdJCBwb3dlcnBjLWdkYiANW2JhY2NhbGFAd2luYm9vayBsaW51eC0y
LjQuMjBdJCBwb3dlcnBjLWdkYiB2DVtiYWNjYWxhQHdpbmJvb2sgbGludXgt
Mi40LjIwXSQgcG93ZXJwYy1nZGIgdg1bYmFjY2FsYUB3aW5ib29rIGxpbnV4
LTIuNC4yMF0kIHBvd2VycGMtZ2RiIHZtDVtiYWNjYWxhQHdpbmJvb2sgbGlu
dXgtMi40LjIwXSQgcG93ZXJwYy1nZGIgdm0NW2JhY2NhbGFAd2luYm9vayBs
aW51eC0yLjQuMjBdJCBwb3dlcnBjLWdkYiB2bWwNW2JhY2NhbGFAd2luYm9v
ayBsaW51eC0yLjQuMjBdJCBwb3dlcnBjLWdkYiB2bWwNW2JhY2NhbGFAd2lu
Ym9vayBsaW51eC0yLjQuMjBdJCBwb3dlcnBjLWdkYiB2bWxpbnV4IA1bYmFj
Y2FsYUB3aW5ib29rIGxpbnV4LTIuNC4yMF0kIHBvd2VycGMtZ2RiIHZtbGlu
dXggDQpHTlUgZ2RiIDUuMi4xDQpDb3B5cmlnaHQgMjAwMiBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4NCkdEQiBpcyBmcmVlIHNvZnR3YXJlLCBj
b3ZlcmVkIGJ5IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgYW5k
IHlvdSBhcmUNCndlbGNvbWUgdG8gY2hhbmdlIGl0IGFuZC9vciBkaXN0cmli
dXRlIGNvcGllcyBvZiBpdCB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMuDQpU
eXBlICJzaG93IGNvcHlpbmciIHRvIHNlZSB0aGUgY29uZGl0aW9ucy4NClRo
ZXJlIGlzIGFic29sdXRlbHkgbm8gd2FycmFudHkgZm9yIEdEQi4gIFR5cGUg
InNob3cgd2FycmFudHkiIGZvciBkZXRhaWxzLg0KVGhpcyBHREIgd2FzIGNv
bmZpZ3VyZWQgYXMgIi0taG9zdD1pNjg2LXBjLWxpbnV4LWdudSAtLXRhcmdl
dD1wb3dlcnBjLWxpbnV4Ii4uLg0KKGdkYikgc2V0IHJlbW90ZWJhdWQgMzg0
MDANCihnZGIpIHNldCBkZWJ1ZyByZW1vdGUgMQ0KKGdkYikgdGFyZ2V0IHJl
bW90ZSAvZGV2L2N1YTANClJlbW90ZSBkZWJ1Z2dpbmcgdXNpbmcgL2Rldi9j
dWEwDQpTZW5kaW5nIHBhY2tldDogJEhjLTEjMDkuLi5BY2sNClBhY2tldCBy
ZWNlaXZlZDogT0sNClNlbmRpbmcgcGFja2V0OiAkcUMjYjQuLi5BY2sNClBh
Y2tldCByZWNlaXZlZDogDQpTZW5kaW5nIHBhY2tldDogJHFPZmZzZXRzIzRi
Li4uQWNrDQpQYWNrZXQgcmVjZWl2ZWQ6IA0KU2VuZGluZyBwYWNrZXQ6ICQ/
IzNmLi4uQWNrDQpQYWNrZXQgcmVjZWl2ZWQ6IFMwNQ0KU2VuZGluZyBwYWNr
ZXQ6ICRIZzAjZGYuLi5BY2sNClBhY2tldCByZWNlaXZlZDogT0sNClNlbmRp
bmcgcGFja2V0OiAkZyM2Ny4uLkFjaw0KUGFja2V0IHJlY2VpdmVkOiAwMDAw
MDAwMWMwMTg1M2IwYzAxODM0MjAwMDAwMDAyYTAwMDAxMDMyMDAwMDAwMDEw
MDAwMDAxOGMwMjQ5ZTA0MDAwMDExMGVjMDIzMDAwMDAwMDAwMDAwYzAxODUy
ZTA4MjI4MDIyMjAwMDAwMDAwMDAyNDlmMDAwMDAwMDAwMDAwMDAwNTJiMDAy
MDZkOTAwMDI0OWY4ODAwMDAwMDA0MDAzZmYwMDAwMDI0OWZhODAwMDAwMDAz
MDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAyMDIwMDAx
MTEwYzAxYzAwMDBjMDFjMDAwMGMwMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBj
MDAwZGM4NDAwMDI5MDMyNDIyODAyMjJjMDA5ZDc5NGMwMGUzMThjMDAwMDAw
MDANClNlbmRpbmcgcGFja2V0OiAkbWMwMDlkNzkwLGMjZmMuLi5BY2sNClBh
Y2tldCByZWNlaXZlZDogNGJmNzA0YzU0YmZmZmYxZDNjNjBjMDE2DQpicmVh
a2luc3QgKCkgYXQgcHBjLXN0dWIuYzo3MzQNCjczNAl9DQpTZW5kaW5nIHBh
Y2tldDogJHFTeW1ib2w6OiM1Yi4uLkFjaw0KUGFja2V0IHJlY2VpdmVkOiAN
ClBhY2tldCBxU3ltYm9sIChzeW1ib2wtbG9va3VwKSBpcyBOT1Qgc3VwcG9y
dGVkDQooZ2RiKSBjYWxsIHNob3dfc3RhdGUoKQ0KU2VuZGluZyBwYWNrZXQ6
ICRQMT1jMDE4NTNhMCNiMy4uLkFjaw0KUGFja2V0IHJlY2VpdmVkOiANClNl
bmRpbmcgcGFja2V0OiAkRzAwMDAwMDAxYzAxODUzYTBjMDE4MzQyMDAwMDAw
MDJhMDAwMDEwMzIwMDAwMDAwMTAwMDAwMDE4YzAyNDllMDQwMDAwMTEwZWMw
MjMwMDAwMDAwMDAwMDBjMDE4NTJlMDgyMjgwMjIyMDAwMDAwMDAwMDI0OWYw
MDAwMDAwMDAwMDAwMDA1MmIwMDIwNmQ5MDAwMjQ5Zjg4MDAwMDAwMDQwMDNm
ZjAwMDAwMjQ5ZmE4MDAwMDAwMDMwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDA0
MDAwMDAwMDAwMDAwMDIwMjAwMDExMTBjMDFjMDAwMGMwMWMwMDAwYzAyMzAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMGMwMDBkYzg0MDAwMjkwMzI0MjI4MDIyMmMw
MDlkNzk0YzAwZTMxOGMwMDAwMDAwMCNkNy4uLkFjaw0KUGFja2V0IHJlY2Vp
dmVkOiBPSw0KU2VuZGluZyBwYWNrZXQ6ICRYYzAxODUzYTAsMDojZTMuLi5B
Y2sNClBhY2tldCByZWNlaXZlZDogDQpiaW5hcnkgZG93bmxvYWRpbmcgTk9U
IHN1cHBwb3J0ZWQgYnkgdGFyZ2V0DQpTZW5kaW5nIHBhY2tldDogJE1jMDE4
NTNhMCw0OmMwMTg1M2IwI2QyLi4uQWNrDQpQYWNrZXQgcmVjZWl2ZWQ6IE9L
DQpTZW5kaW5nIHBhY2tldDogJEcwMDAwMDAwMWMwMTg1M2EwYzAxODM0MjAw
MDAwMDAyYTAwMDAxMDMyMDAwMDAwMDEwMDAwMDAxOGMwMjQ5ZTA0MDAwMDEx
MGVjMDIzMDAwMDAwMDAwMDAwYzAxODUyZTA4MjI4MDIyMjAwMDAwMDAwMDAy
NDlmMDAwMDAwMDAwMDAwMDAwNTJiMDAyMDZkOTAwMDI0OWY4ODAwMDAwMDA0
MDAzZmYwMDAwMDI0OWZhODAwMDAwMDAzMDAwMDAwMDIwMDAwMDAwMDAwMDAw
MDAwNDAwMDAwMDAwMDAwMDAyMDIwMDAxMTEwYzAxYzAwMDBjMDFjMDAwMGMw
MjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDAwZGM4NDAwMDI5MDMyNDIyODAy
MjJjMDA5ZDc5NGMwMGUzMThjMDAwMDAwMDAjZDcuLi5BY2sNClBhY2tldCBy
ZWNlaXZlZDogT0sNClNlbmRpbmcgcGFja2V0OiAkRzAwMDAwMDAxYzAxODUz
YTBjMDE4MzQyMDAwMDAwMDJhMDAwMDEwMzIwMDAwMDAwMTAwMDAwMDE4YzAy
NDllMDQwMDAwMTEwZWMwMjMwMDAwMDAwMDAwMDBjMDE4NTJlMDgyMjgwMjIy
MDAwMDAwMDAwMDI0OWYwMDAwMDAwMDAwMDAwMDA1MmIwMDIwNmQ5MDAwMjQ5
Zjg4MDAwMDAwMDQwMDNmZjAwMDAwMjQ5ZmE4MDAwMDAwMDMwMDAwMDAwMjAw
MDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDIwMjAwMDExMTBjMDFjMDAw
MGMwMWMwMDAwYzAyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGMwMDBkYzg0MDAw
MjkwMzI0MjI4MDIyMmMwMDAwMDAwYzAwZTMxOGMwMDAwMDAwMCM4Ni4uLkFj
aw0KUGFja2V0IHJlY2VpdmVkOiBPSw0KU2VuZGluZyBwYWNrZXQ6ICRtYmZm
ZmZmZmMsYyMyNS4uLkFjaw0KUGFja2V0IHJlY2VpdmVkOiANClNlbmRpbmcg
cGFja2V0OiAkbWJmZmZmZmZjLGMjMjUuLi5BY2sNClBhY2tldCByZWNlaXZl
ZDogDQpTZW5kaW5nIHBhY2tldDogJEcwMDAwMDAwMWMwMTg1M2EwYzAxODM0
MjAwMDAwMDAyYTAwMDAxMDMyMDAwMDAwMDEwMDAwMDAxOGMwMjQ5ZTA0MDAw
MDExMGVjMDIzMDAwMDAwMDAwMDAwYzAxODUyZTA4MjI4MDIyMjAwMDAwMDAw
MDAyNDlmMDAwMDAwMDAwMDAwMDAwNTJiMDAyMDZkOTAwMDI0OWY4ODAwMDAw
MDA0MDAzZmYwMDAwMDI0OWZhODAwMDAwMDAzMDAwMDAwMDIwMDAwMDAwMDAw
MDAwMDAwNDAwMDAwMDAwMDAwMDAyMDIwMDAxMTEwYzAxYzAwMDBjMDFjMDAw
MGMwMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDAxNGEzNDAwMDI5MDMyNDIy
ODAyMjJjMDAwMDAwMGMwMGUzMThjMDAwMDAwMDAjNTAuLi5BY2sNClBhY2tl
dCByZWNlaXZlZDogT0sNClNlbmRpbmcgcGFja2V0OiAkWjAsYzAwMDAwMDAs
NCNjOS4uLkFjaw0KUGFja2V0IHJlY2VpdmVkOiANClBhY2tldCBaMCAoc29m
dHdhcmUtYnJlYWtwb2ludCkgaXMgTk9UIHN1cHBvcnRlZA0KU2VuZGluZyBw
YWNrZXQ6ICRtYzAwMDAwMDAsNCM4MC4uLkFjaw0KUGFja2V0IHJlY2VpdmVk
OiBkZWFkYzBkZQ0KU2VuZGluZyBwYWNrZXQ6ICRNYzAwMDAwMDAsNDo3ZDgy
MTAwOCM2OC4uLkFjaw0KUGFja2V0IHJlY2VpdmVkOiBPSw0KU2VuZGluZyBw
YWNrZXQ6ICRIYzAjZGIuLi5BY2sNClBhY2tldCByZWNlaXZlZDogT0sNClNl
bmRpbmcgcGFja2V0OiAkYyM2My4uLkFjaw0KUGFja2V0IHJlY2VpdmVkOiBP
MGENCg0KUGFja2V0IHJlY2VpdmVkOiBPMjAyMDIwMjAyMDIwMjAyMDIwMjAy
MDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjA2NjcyNjU2NTIwMjAyMDIw
MjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDczNjk2
MjZjNjk2ZTY3MGENCiAgICAgICAgICAgICAgICAgICAgICAgICBmcmVlICAg
ICAgICAgICAgICAgICAgICAgICAgc2libGluZw0KUGFja2V0IHJlY2VpdmVk
OiBPMjAyMDc0NjE3MzZiMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjA1MDQz
MjAyMDIwMjA3Mzc0NjE2MzZiMjAyMDIwNzA2OTY0MjA2NjYxNzQ2ODY1NzIy
MDYzNjg2OTZjNjQyMDc5NmY3NTZlNjc2NTcyMjA2ZjZjNjQ2NTcyMGENCiAg
dGFzayAgICAgICAgICAgICBQQyAgICBzdGFjayAgIHBpZCBmYXRoZXIgY2hp
bGQgeW91bmdlciBvbGRlcg0KUGFja2V0IHJlY2VpdmVkOiBUMDU0MDpjMDAw
MDAwMDswMTpjMDIyYjQwMjsNClNlbmRpbmcgcGFja2V0OiAkZyM2Ny4uLkFj
aw0KUGFja2V0IHJlY2VpdmVkOiBjMDAwMDAwMGMwMTg1M2EwYzAxODM0MjAw
MDAwMDA0MDAwMDAxMDMyMDAwMDAwMDEwMDAwMDAwMWMwMjI5NTg0MDAwMDA0
NjNjMDE4MDAwMDAwMDAwMDAwYzAxODUzYTA4MjI4MDIyMjAwMDAwMDAwMDAy
NDlmMDAwMDAwMDAwMDAwMDAwNTJiMDAyMDZkOTAwMDI0OWY4ODAwMDAwMDA0
MDAzZmYwMDAwMDI0OWZhODAwMDAwMDAzMDAwMDAwMDIwMDAwMDAwMDAwMDAw
MDAwNDAwMDAwMDAwMDAwMDAyMDIwMDAxMTEwYzAxYzAwMDBjMDFjMDAwMGMw
MjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDAwMDAwMDAwMDI5MDMyMjIyODAy
MjJjMDAwMDAwMGMwMGUzMThjMDAwMDAwMDANClNlbmRpbmcgcGFja2V0OiAk
bWJmZmZmZmZjLGMjMjUuLi5BY2sNClBhY2tldCByZWNlaXZlZDogDQpTZW5k
aW5nIHBhY2tldDogJG1iZmZmZmZmYyxjIzI1Li4uQWNrDQpQYWNrZXQgcmVj
ZWl2ZWQ6IA0KU2VuZGluZyBwYWNrZXQ6ICRNYzAwMDAwMDAsNDpkZWFkYzBk
ZSM4NC4uLkFjaw0KUGFja2V0IHJlY2VpdmVkOiBPSw0KU2VuZGluZyBwYWNr
ZXQ6ICRHYzAwMDAwMDBjMDIyYjQwMmMwMTgzNDIwMDAwMDAwNDAwMDAwMTAz
MjAwMDAwMDAxMDAwMDAwMDFjMDIyOTU4NDAwMDAwNDYzYzAxODAwMDAwMDAw
MDAwMGMwMTg1M2EwODIyODAyMjIwMDAwMDAwMDAwMjQ5ZjAwMDAwMDAwMDAw
MDAwMDUyYjAwMjA2ZDkwMDAyNDlmODgwMDAwMDAwNDAwM2ZmMDAwMDAyNDlm
YTgwMDAwMDAwMzAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDQwMDAwMDAwMDAw
MDAwMjAyMDAwMTExMGMwMWMwMDAwYzAxYzAwMDBjMDIzMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwYzAwMDAwMDAwMDAyOTAzMjIyMjgwMjIyYzAwMDAwMDBjMDBl
MzE4YzAwMDAwMDAwI2IzLi4uQWNrDQpQYWNrZXQgcmVjZWl2ZWQ6IE9LDQpT
ZW5kaW5nIHBhY2tldDogJEdjMDAwMDAwMGMwMjJiNDAyYzAxODM0MjAwMDAw
MDA0MDAwMDAxMDMyMDAwMDAwMDEwMDAwMDAwMWMwMjI5NTg0MDAwMDA0NjNj
MDE4MDAwMDAwMDAwMDAwYzAxODUzYTA4MjI4MDIyMjAwMDAwMDAwMDAyNDlm
MDAwMDAwMDAwMDAwMDAwNTJiMDAyMDZkOTAwMDI0OWY4ODAwMDAwMDA0MDAz
ZmYwMDAwMDI0OWZhODAwMDAwMDAzMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAw
NDAwMDAwMDAwMDAwMDAyMDIwMDAxMTEwYzAxYzAwMDBjMDFjMDAwMGMwMjMw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDBjMDAwMDAwMDAwMDI5MDMyMjIyODAyMjJj
MDAwMDAwMGMwMGUzMThjMDAwMDAwMDAjYjMuLi5BY2sNClBhY2tldCByZWNl
aXZlZDogT0sNClNlbmRpbmcgcGFja2V0OiAkbWJmZmZmZmZjLGMjMjUuLi5B
Y2sNClBhY2tldCByZWNlaXZlZDogDQpTZW5kaW5nIHBhY2tldDogJG1iZmZm
ZmZmYyxjIzI1Li4uQWNrDQpQYWNrZXQgcmVjZWl2ZWQ6IA0KU2VuZGluZyBw
YWNrZXQ6ICRHMDAwMDAwMDFjMDIyYjQwMmMwMTgzNDIwMDAwMDAwNDAwMDAw
MTAzMjAwMDAwMDAxMDAwMDAwMDFjMDIyOTU4NDAwMDAwNDYzYzAxODAwMDAw
MDAwMDAwMGMwMTg1M2EwODIyODAyMjIwMDAwMDAwMDAwMjQ5ZjAwMDAwMDAw
MDAwMDAwMDUyYjAwMjA2ZDkwMDAyNDlmODgwMDAwMDAwNDAwM2ZmMDAwMDAy
NDlmYTgwMDAwMDAwMzAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDQwMDAwMDAw
MDAwMDAwMjAyMDAwMTExMGMwMWMwMDAwYzAxYzAwMDBjMDIzMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwYzAwMDAwMDAwMDAyOTAzMjIyMjgwMjIyYzAwMDAwMDBj
MDBlMzE4YzAwMDAwMDAwIzgxLi4uQWNrDQpQYWNrZXQgcmVjZWl2ZWQ6IE9L
DQpTZW5kaW5nIHBhY2tldDogJEcwMDAwMDAwMWMwMTg1M2IwYzAxODM0MjAw
MDAwMDA0MDAwMDAxMDMyMDAwMDAwMDEwMDAwMDAwMWMwMjI5NTg0MDAwMDA0
NjNjMDE4MDAwMDAwMDAwMDAwYzAxODUzYTA4MjI4MDIyMjAwMDAwMDAwMDAy
NDlmMDAwMDAwMDAwMDAwMDAwNTJiMDAyMDZkOTAwMDI0OWY4ODAwMDAwMDA0
MDAzZmYwMDAwMDI0OWZhODAwMDAwMDAzMDAwMDAwMDIwMDAwMDAwMDAwMDAw
MDAwNDAwMDAwMDAwMDAwMDAyMDIwMDAxMTEwYzAxYzAwMDBjMDFjMDAwMGMw
MjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDAwMDAwMDAwMDI5MDMyMjIyODAy
MjJjMDAwMDAwMGMwMGUzMThjMDAwMDAwMDAjODguLi5BY2sNClBhY2tldCBy
ZWNlaXZlZDogT0sNClNlbmRpbmcgcGFja2V0OiAkRzAwMDAwMDAxYzAxODUz
YjBjMDE4MzQyMDAwMDAwMDJhMDAwMDEwMzIwMDAwMDAwMTAwMDAwMDAxYzAy
Mjk1ODQwMDAwMDQ2M2MwMTgwMDAwMDAwMDAwMDBjMDE4NTNhMDgyMjgwMjIy
MDAwMDAwMDAwMDI0OWYwMDAwMDAwMDAwMDAwMDA1MmIwMDIwNmQ5MDAwMjQ5
Zjg4MDAwMDAwMDQwMDNmZjAwMDAwMjQ5ZmE4MDAwMDAwMDMwMDAwMDAwMjAw
MDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDIwMjAwMDExMTBjMDFjMDAw
MGMwMWMwMDAwYzAyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGMwMDAwMDAwMDAw
MjkwMzIyMjI4MDIyMmMwMDAwMDAwYzAwZTMxOGMwMDAwMDAwMCNiNy4uLkFj
aw0KUGFja2V0IHJlY2VpdmVkOiBPSw0KU2VuZGluZyBwYWNrZXQ6ICRHMDAw
MDAwMDFjMDE4NTNiMGMwMTgzNDIwMDAwMDAwMmEwMDAwMTAzMjAwMDAwMDAx
MDAwMDAwMThjMDIyOTU4NDAwMDAwNDYzYzAxODAwMDAwMDAwMDAwMGMwMTg1
M2EwODIyODAyMjIwMDAwMDAwMDAwMjQ5ZjAwMDAwMDAwMDAwMDAwMDUyYjAw
MjA2ZDkwMDAyNDlmODgwMDAwMDAwNDAwM2ZmMDAwMDAyNDlmYTgwMDAwMDAw
MzAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDQwMDAwMDAwMDAwMDAwMjAyMDAw
MTExMGMwMWMwMDAwYzAxYzAwMDBjMDIzMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
YzAwMDAwMDAwMDAyOTAzMjIyMjgwMjIyYzAwMDAwMDBjMDBlMzE4YzAwMDAw
MDAwI2JmLi4uQWNrDQpQYWNrZXQgcmVjZWl2ZWQ6IE9LDQpTZW5kaW5nIHBh
Y2tldDogJEcwMDAwMDAwMWMwMTg1M2IwYzAxODM0MjAwMDAwMDAyYTAwMDAx
MDMyMDAwMDAwMDEwMDAwMDAxOGMwMjQ5ZTA0MDAwMDA0NjNjMDE4MDAwMDAw
MDAwMDAwYzAxODUzYTA4MjI4MDIyMjAwMDAwMDAwMDAyNDlmMDAwMDAwMDAw
MDAwMDAwNTJiMDAyMDZkOTAwMDI0OWY4ODAwMDAwMDA0MDAzZmYwMDAwMDI0
OWZhODAwMDAwMDAzMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAw
MDAwMDAyMDIwMDAxMTEwYzAxYzAwMDBjMDFjMDAwMGMwMjMwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDBjMDAwMDAwMDAwMDI5MDMyMjIyODAyMjJjMDAwMDAwMGMw
MGUzMThjMDAwMDAwMDAjZTkuLi5BY2sNClBhY2tldCByZWNlaXZlZDogT0sN
ClNlbmRpbmcgcGFja2V0OiAkRzAwMDAwMDAxYzAxODUzYjBjMDE4MzQyMDAw
MDAwMDJhMDAwMDEwMzIwMDAwMDAwMTAwMDAwMDE4YzAyNDllMDQwMDAwMTEw
ZWMwMTgwMDAwMDAwMDAwMDBjMDE4NTNhMDgyMjgwMjIyMDAwMDAwMDAwMDI0
OWYwMDAwMDAwMDAwMDAwMDA1MmIwMDIwNmQ5MDAwMjQ5Zjg4MDAwMDAwMDQw
MDNmZjAwMDAwMjQ5ZmE4MDAwMDAwMDMwMDAwMDAwMjAwMDAwMDAwMDAwMDAw
MDA0MDAwMDAwMDAwMDAwMDIwMjAwMDExMTBjMDFjMDAwMGMwMWMwMDAwYzAy
MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMGMwMDAwMDAwMDAwMjkwMzIyMjI4MDIy
MmMwMDAwMDAwYzAwZTMxOGMwMDAwMDAwMCMxMy4uLkFjaw0KUGFja2V0IHJl
Y2VpdmVkOiBPSw0KU2VuZGluZyBwYWNrZXQ6ICRHMDAwMDAwMDFjMDE4NTNi
MGMwMTgzNDIwMDAwMDAwMmEwMDAwMTAzMjAwMDAwMDAxMDAwMDAwMThjMDI0
OWUwNDAwMDAxMTBlYzAyMzAwMDAwMDAwMDAwMGMwMTg1M2EwODIyODAyMjIw
MDAwMDAwMDAwMjQ5ZjAwMDAwMDAwMDAwMDAwMDUyYjAwMjA2ZDkwMDAyNDlm
ODgwMDAwMDAwNDAwM2ZmMDAwMDAyNDlmYTgwMDAwMDAwMzAwMDAwMDAyMDAw
MDAwMDAwMDAwMDAwMDQwMDAwMDAwMDAwMDAwMjAyMDAwMTExMGMwMWMwMDAw
YzAxYzAwMDBjMDIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzAwMDAwMDAwMDAy
OTAzMjIyMjgwMjIyYzAwMDAwMDBjMDBlMzE4YzAwMDAwMDAwIzBmLi4uQWNr
DQpQYWNrZXQgcmVjZWl2ZWQ6IE9LDQpTZW5kaW5nIHBhY2tldDogJEcwMDAw
MDAwMWMwMTg1M2IwYzAxODM0MjAwMDAwMDAyYTAwMDAxMDMyMDAwMDAwMDEw
MDAwMDAxOGMwMjQ5ZTA0MDAwMDExMGVjMDIzMDAwMDAwMDAwMDAwYzAxODUy
ZTA4MjI4MDIyMjAwMDAwMDAwMDAyNDlmMDAwMDAwMDAwMDAwMDAwNTJiMDAy
MDZkOTAwMDI0OWY4ODAwMDAwMDA0MDAzZmYwMDAwMDI0OWZhODAwMDAwMDAz
MDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAyMDIwMDAx
MTEwYzAxYzAwMDBjMDFjMDAwMGMwMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBj
MDAwMDAwMDAwMDI5MDMyMjIyODAyMjJjMDAwMDAwMGMwMGUzMThjMDAwMDAw
MDAjMTIuLi5BY2sNClBhY2tldCByZWNlaXZlZDogT0sNClNlbmRpbmcgcGFj
a2V0OiAkRzAwMDAwMDAxYzAxODUzYjBjMDE4MzQyMDAwMDAwMDJhMDAwMDEw
MzIwMDAwMDAwMTAwMDAwMDE4YzAyNDllMDQwMDAwMTEwZWMwMjMwMDAwMDAw
MDAwMDBjMDE4NTJlMDgyMjgwMjIyMDAwMDAwMDAwMDI0OWYwMDAwMDAwMDAw
MDAwMDA1MmIwMDIwNmQ5MDAwMjQ5Zjg4MDAwMDAwMDQwMDNmZjAwMDAwMjQ5
ZmE4MDAwMDAwMDMwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAw
MDAwMDIwMjAwMDExMTBjMDFjMDAwMGMwMWMwMDAwYzAyMzAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMGMwMDBkYzg0MDAwMjkwMzIyMjI4MDIyMmMwMDAwMDAwYzAw
ZTMxOGMwMDAwMDAwMCM4NS4uLkFjaw0KUGFja2V0IHJlY2VpdmVkOiBPSw0K
U2VuZGluZyBwYWNrZXQ6ICRHMDAwMDAwMDFjMDE4NTNiMGMwMTgzNDIwMDAw
MDAwMmEwMDAwMTAzMjAwMDAwMDAxMDAwMDAwMThjMDI0OWUwNDAwMDAxMTBl
YzAyMzAwMDAwMDAwMDAwMGMwMTg1MmUwODIyODAyMjIwMDAwMDAwMDAwMjQ5
ZjAwMDAwMDAwMDAwMDAwMDUyYjAwMjA2ZDkwMDAyNDlmODgwMDAwMDAwNDAw
M2ZmMDAwMDAyNDlmYTgwMDAwMDAwMzAwMDAwMDAyMDAwMDAwMDAwMDAwMDAw
MDQwMDAwMDAwMDAwMDAwMjAyMDAwMTExMGMwMWMwMDAwYzAxYzAwMDBjMDIz
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwYzAwMGRjODQwMDAyOTAzMjQyMjgwMjIy
YzAwMDAwMDBjMDBlMzE4YzAwMDAwMDAwIzg3Li4uQWNrDQpQYWNrZXQgcmVj
ZWl2ZWQ6IE9LDQpTZW5kaW5nIHBhY2tldDogJEcwMDAwMDAwMWMwMTg1M2Iw
YzAxODM0MjAwMDAwMDAyYTAwMDAxMDMyMDAwMDAwMDEwMDAwMDAxOGMwMjQ5
ZTA0MDAwMDExMGVjMDIzMDAwMDAwMDAwMDAwYzAxODUyZTA4MjI4MDIyMjAw
MDAwMDAwMDAyNDlmMDAwMDAwMDAwMDAwMDAwNTJiMDAyMDZkOTAwMDI0OWY4
ODAwMDAwMDA0MDAzZmYwMDAwMDI0OWZhODAwMDAwMDAzMDAwMDAwMDIwMDAw
MDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAyMDIwMDAxMTEwYzAxYzAwMDBj
MDFjMDAwMGMwMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDAwZGM4NDAwMDI5
MDMyNDIyODAyMjJjMDA5ZDc5NGMwMGUzMThjMDAwMDAwMDAjZDguLi5BY2sN
ClBhY2tldCByZWNlaXZlZDogT0sNCihnZGIpIGNvbnQNCkNvbnRpbnVpbmcu
DQpTZW5kaW5nIHBhY2tldDogJG1jMDAwMDAwMCw0IzgwLi4uQWNrDQpQYWNr
ZXQgcmVjZWl2ZWQ6IGRlYWRjMGRlDQpTZW5kaW5nIHBhY2tldDogJE1jMDAw
MDAwMCw0OjdkODIxMDA4IzY4Li4uQWNrDQpQYWNrZXQgcmVjZWl2ZWQ6IE9L
DQpTZW5kaW5nIHBhY2tldDogJGMjNjMuLi5BY2sNClBhY2tldCByZWNlaXZl
ZDogTzQzNmY2ZTZlNjU2Mzc0NjU2NDJlMGENCkNvbm5lY3RlZC4NClBhY2tl
dCByZWNlaXZlZDogTzUwNDM0OTNhMjA1MDcyNmY2MjY5NmU2NzIwNTA0MzQ5
MjA2ODYxNzI2NDc3NjE3MjY1MGENClBDSTogUHJvYmluZyBQQ0kgaGFyZHdh
cmUNClBhY2tldCByZWNlaXZlZDogTzQ5NDI0ZDIwNDk0NDNhMjAzMDMwMzAz
MDMwMzA2NjY2MGENCklCTSBJRDogMDAwMDAwZmYNClBhY2tldCByZWNlaXZl
ZDogTzUzNjU3NDc0Njk2ZTY3MjA1MDQzNDkyMDY5NmU3NDY1NzI3Mjc1NzA3
NDczMjA2NjZmNzIyMDYxMjAyMjQ5NDI0ZDIwNTQ2ODY5NmU2YjcwNjE2NDIw
MzgzNTMwMmYzODM2MzAyMjBhDQpTZXR0aW5nIFBDSSBpbnRlcnJ1cHRzIGZv
ciBhICJJQk0gVGhpbmtwYWQgODUwLzg2MCINClBhY2tldCByZWNlaXZlZDog
TzUyNjU2YzZmNjM2MTc0Njk2ZTY3MjA1MDQzNDkyMDYxNjQ2NDcyNjU3Mzcz
MjAzMjMwMzAzMDMwMzAzMDMwMjAyZDNlMjAzMTMwMzAzMDMwMzAzMDBhDQpS
ZWxvY2F0aW5nIFBDSSBhZGRyZXNzIDIwMDAwMDAwIC0+IDEwMDAwMDANClBh
Y2tldCByZWNlaXZlZDogTzUwNDM0OTNhMjA0MzYxNmU2ZTZmNzQyMDYxNmM2
YzZmNjM2MTc0NjUyMDcyNjU3MzZmNzU3MjYzNjUyMDcyNjU2NzY5NmY2ZTIw
MzAyMDZmNjYyMDUwNDM0OTIwNjI3MjY5NjQ2NzY1MjAzMDBhDQpQQ0k6IENh
bm5vdCBhbGxvY2F0ZSByZXNvdXJjZSByZWdpb24gMCBvZiBQQ0kgYnJpZGdl
IDANClBhY2tldCByZWNlaXZlZDogTzRjNjk2ZTc1NzgyMDRlNDU1NDM0MmUz
MDIwNjY2ZjcyMjA0YzY5NmU3NTc4MjAzMjJlMzQwYQ0KTGludXggTkVUNC4w
IGZvciBMaW51eCAyLjQNClBhY2tldCByZWNlaXZlZDogTzQyNjE3MzY1NjQy
MDc1NzA2ZjZlMjA1Mzc3NjE2ZTczNjU2MTIwNTU2ZTY5NzY2NTcyNzM2OTc0
NzkyMDQzNmY2ZDcwNzU3NDY1NzIyMDUzNmY2MzY5NjU3NDc5MjA0ZTQ1NTQz
MzJlMzAzMzM5MGENCkJhc2VkIHVwb24gU3dhbnNlYSBVbml2ZXJzaXR5IENv
bXB1dGVyIFNvY2lldHkgTkVUMy4wMzkNClBhY2tldCByZWNlaXZlZDogTzQ5
NmU2OTc0Njk2MTZjNjk3YTY5NmU2NzIwNTI1NDIwNmU2NTc0NmM2OTZlNmIy
MDczNmY2MzZiNjU3NDBhDQpJbml0aWFsaXppbmcgUlQgbmV0bGluayBzb2Nr
ZXQNClBhY2tldCByZWNlaXZlZDogTzU0Njg2NTcyNmQ2MTZjMjA2MTczNzM2
OTczNzQyMDc1NmU2OTc0MjA2ZTZmNzQyMDYxNzY2MTY5NmM2MTYyNmM2NTBh
DQpUaGVybWFsIGFzc2lzdCB1bml0IG5vdCBhdmFpbGFibGUNClBhY2tldCBy
ZWNlaXZlZDogTzUzNzQ2MTcyNzQ2OTZlNjcyMDZiNzM3NzYxNzA2NDBhDQpT
dGFydGluZyBrc3dhcGQNClBhY2tldCByZWNlaXZlZDogTzRhNmY3NTcyNmU2
MTZjNmM2NTY0MjA0MjZjNmY2MzZiMjA0NDY1NzY2OTYzNjUyMDY0NzI2OTc2
NjU3MjIwNmM2ZjYxNjQ2NTY0MGENCkpvdXJuYWxsZWQgQmxvY2sgRGV2aWNl
IGRyaXZlciBsb2FkZWQNClBhY2tldCByZWNlaXZlZDogTzY0NjU3NjY2NzMz
YTIwNzYzMTJlMzEzMjYzMjAyODMyMzAzMDMyMzAzODMxMzgyOTIwNTI2OTYz
Njg2MTcyNjQyMDQ3NmY2ZjYzNjgyMDI4NzI2NzZmNmY2MzY4NDA2MTc0NmU2
NjJlNjM3MzY5NzI2ZjJlNjE3NTI5MGENCmRldmZzOiB2MS4xMmMgKDIwMDIw
ODE4KSBSaWNoYXJkIEdvb2NoIChyZ29vY2hAYXRuZi5jc2lyby5hdSkNClBh
Y2tldCByZWNlaXZlZDogTzY0NjU3NjY2NzMzYTIwNjI2ZjZmNzQ1ZjZmNzA3
NDY5NmY2ZTczM2EyMDMwNzgzMDBhDQpkZXZmczogYm9vdF9vcHRpb25zOiAw
eDANClBhY2tldCByZWNlaXZlZDogTzQzNmY2ZTczNmY2YzY1M2EyMDczNzc2
OTc0NjM2ODY5NmU2NzIwDQpDb25zb2xlOiBzd2l0Y2hpbmcgUGFja2V0IHJl
Y2VpdmVkOiBPNzQ2ZjIwNjM2ZjZjNmY3NTcyMjA2NjcyNjE2ZDY1MjA2Mjc1
NjY2NjY1NzIyMDY0NjU3NjY5NjM2NTIwMzEzMjM4NzgzNDM4MGENCnRvIGNv
bG91ciBmcmFtZSBidWZmZXIgZGV2aWNlIDEyOHg0OA0KUGFja2V0IHJlY2Vp
dmVkOiBPNjY2MjMwM2EyMDQzNzk2MjY1NzI3NjY5NzM2OTZmNmUyMDY2NzI2
MTZkNjUyMDYyNzU2NjY2NjU3MjIwNjQ2NTc2Njk2MzY1MmMyMDc1NzM2OTZl
NjcyMDM0MzAzOTM2NGIyMDZmNjYyMDc2Njk2NDY1NmYyMDZkNjU2ZDZmNzI3
OTBhDQpmYjA6IEN5YmVydmlzaW9uIGZyYW1lIGJ1ZmZlciBkZXZpY2UsIHVz
aW5nIDQwOTZLIG9mIHZpZGVvIG1lbW9yeQ0KUGFja2V0IHJlY2VpdmVkOiBP
NzY2NzYxMzEzNjY2NjIzYTIwNmQ2MTcwNzA2NTY0MjA3NDZmMjAzMDc4NjYz
MDMwNjEzMDMwMzAzMDBhDQp2Z2ExNmZiOiBtYXBwZWQgdG8gMHhmMDBhMDAw
MA0KUGFja2V0IHJlY2VpdmVkOiBPNjY2MjMxM2EyMDU2NDc0MTMxMzYyMDU2
NDc0MTIwNjY3MjYxNmQ2NTIwNjI3NTY2NjY2NTcyMjA2NDY1NzY2OTYzNjUw
YQ0KZmIxOiBWR0ExNiBWR0EgZnJhbWUgYnVmZmVyIGRldmljZQ0KUGFja2V0
IHJlY2VpdmVkOiBPNDQ2NTc0NjU2Mzc0NjU2NDIwNTA1MzJmMzIyMDRkNmY3
NTczNjUyMDUwNmY3Mjc0MmUwYQ0KRGV0ZWN0ZWQgUFMvMiBNb3VzZSBQb3J0
Lg0KUGFja2V0IHJlY2VpdmVkOiBPNzA3NDc5M2EyMDMyMzUzNjIwNTU2ZTY5
NzgzOTM4MjA3MDc0Nzk3MzIwNjM2ZjZlNjY2OTY3NzU3MjY1NjQwYQ0KcHR5
OiAyNTYgVW5peDk4IHB0eXMgY29uZmlndXJlZA0KUGFja2V0IHJlY2VpdmVk
OiBPNTM2NTcyNjk2MTZjMjA2NDcyNjk3NjY1NzIyMDc2NjU3MjczNjk2ZjZl
MjAzNTJlMzAzNTYzMjAyODMyMzAzMDMxMmQzMDM3MmQzMDM4MjkyMDc3Njk3
NDY4MjA0ZDQxNGU1OTVmNTA0ZjUyNTQ1MzIwNTM0ODQxNTI0NTVmNDk1MjUx
MjA1MzQ1NTI0OTQxNGM1ZjUwNDM0OTIwNjU2ZTYxNjI2YzY1NjQwYQ0KU2Vy
aWFsIGRyaXZlciB2ZXJzaW9uIDUuMDVjICgyMDAxLTA3LTA4KSB3aXRoIE1B
TllfUE9SVFMgU0hBUkVfSVJRIFNFUklBTF9QQ0kgZW5hYmxlZA0KUGFja2V0
IHJlY2VpdmVkOiBPNTM0MzUzNDkyMDczNzU2MjczNzk3Mzc0NjU2ZDIwNjQ3
MjY5NzY2NTcyMjA1MjY1NzY2OTczNjk2ZjZlM2EyMDMxMmUzMDMwMGENClND
U0kgc3Vic3lzdGVtIGRyaXZlciBSZXZpc2lvbjogMS4wMA0KUGFja2V0IHJl
Y2VpdmVkOiBPNTA0MzQ5M2EyMDQ1NmU2MTYyNmM2OTZlNjcyMDY0NjU3NjY5
NjM2NTIwMzAzMDNhMzA2MzJlMzAyMDI4MzAzMDMwMzAyMDJkM2UyMDMwMzAz
MDMzMjkwYQ0KUENJOiBFbmFibGluZyBkZXZpY2UgMDA6MGMuMCAoMDAwMCAt
PiAwMDAzKQ0KUGFja2V0IHJlY2VpdmVkOiBPNmU2MzcyMzUzMzYzMzg3ODc4
M2EyMDYxNzQyMDUwNDM0OTIwNjI3NTczMjAzMDJjMjA2NDY1NzY2OTYzNjUy
MDMxMzIyYzIwNjY3NTZlNjM3NDY5NmY2ZTIwMzAwYQ0KbmNyNTNjOHh4OiBh
dCBQQ0kgYnVzIDAsIGRldmljZSAxMiwgZnVuY3Rpb24gMA0KUGFja2V0IHJl
Y2VpdmVkOiBPNmU2MzcyMzUzMzYzMzg3ODc4M2EyMDczNjU3NDc0Njk2ZTY3
MjA1MDQzNDk1ZjQzNGY0ZDRkNDE0ZTQ0NWY0ZDQxNTM1NDQ1NTIyZTJlMmUy
ODY2Njk3ODJkNzU3MDI5MGENCm5jcjUzYzh4eDogc2V0dGluZyBQQ0lfQ09N
TUFORF9NQVNURVIuLi4oZml4LXVwKQ0KUGFja2V0IHJlY2VpdmVkOiBPNmU2
MzcyMzUzMzYzMzg3ODc4M2EyMDM1MzM2MzM4MzEzMDIwNjQ2NTc0NjU2Mzc0
NjU2NDIwMGENCm5jcjUzYzh4eDogNTNjODEwIGRldGVjdGVkIA0KUGFja2V0
IHJlY2VpdmVkOiBPNmU2MzcyMzUzMzYzMzgzMTMwMmQzMDNhMjA3MjY1NzYy
MDMwNzgzMjIwNmY2ZTIwNzA2MzY5MjA2Mjc1NzMyMDMwMjA2NDY1NzY2OTYz
NjUyMDMxMzIyMDY2NzU2ZTYzNzQ2OTZmNmUyMDMwMjA2OTcyNzEyMDMxMzMw
YQ0KbmNyNTNjODEwLTA6IHJldiAweDIgb24gcGNpIGJ1cyAwIGRldmljZSAx
MiBmdW5jdGlvbiAwIGlycSAxMw0KUGFja2V0IHJlY2VpdmVkOiBPNmU2Mzcy
MzUzMzYzMzgzMTMwMmQzMDNhMjA0OTQ0MjAzNzJjMjA0NjYxNzM3NDJkMzEz
MDJjMjA1MDYxNzI2OTc0NzkyMDQzNjg2NTYzNmI2OTZlNjcwYQ0KbmNyNTNj
ODEwLTA6IElEIDcsIEZhc3QtMTAsIFBhcml0eSBDaGVja2luZw0KUGFja2V0
IHJlY2VpdmVkOiBPNzM2MzczNjkzMDIwM2EyMDZlNjM3MjM1MzM2MzM4Nzg3
ODJkMzMyZTM0MmUzMzYyMmQzMjMwMzAzMTMwMzUzMTMyMGENCnNjc2kwIDog
bmNyNTNjOHh4LTMuNC4zYi0yMDAxMDUxMg0KcmVtb3RlX2ludGVycnVwdCBj
YWxsZWQNCnJlbW90ZV9zdG9wIGNhbGxlZA0KUGFja2V0IHJlY2VpdmVkOiBU
MDU0MDpjMDAwZGM4NDswMTpjMDIyYjQwMjsNCg0KUHJvZ3JhbSByZWNlaXZl
ZCBzaWduYWwgU0lHVFJBUCwgVHJhY2UvYnJlYWtwb2ludCB0cmFwLg0KU2Vu
ZGluZyBwYWNrZXQ6ICRnIzY3Li4uQWNrDQpQYWNrZXQgcmVjZWl2ZWQ6IDAw
MDAwMDAxYzAxODUyNzBjMDE4MzQyMDAwMDAwMDAzMDAwMDAwMDBjMDE4NTMw
MGMwMTgzMzk0MDAwNDkwMzJjMDFjMDAwMGMwMjMwMDAwMDAwMDAzZjg4MDAw
MDAwMDg0MjgwMjIzMDAwMDAwMDAwMDI0OWYwMDAwMDAwMDAwMDAwMDA1MmIw
MDIwNmQ5MDAwMjQ5Zjg4MDAwMDAwMDQwMDAwMTAzMjAwMTg1MmYwMDAwMDAw
MDBjMDAwNDY1MGMwMDA1YjM0MDAwMDAwODBjMDI0OWEwY2MwMjMwMDAwYzAx
YzAwMDAwMDAwMDAwMGMwMjMwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MGMwMDBkYzg0MDAwMjEwMzI0NDkwYzgwMGMwMDlkNjQ0MDAwMDAwMDAwMDAw
MDAwMA0KU2VuZGluZyBwYWNrZXQ6ICRtYzAwOWQ2NDAsYyNmNi4uLkFjaw0K
UGFja2V0IHJlY2VpdmVkOiA0YmY3MDYxNTQ4MDAwMDUwM2Q2MGMwMjMNClNl
bmRpbmcgcGFja2V0OiAkTWMwMDAwMDAwLDQ6ZGVhZGMwZGUjODQuLi5BY2sN
ClBhY2tldCByZWNlaXZlZDogT0sNCmJyZWFraW5zdCAoKSBhdCBwcGMtc3R1
Yi5jOjczNA0KNzM0CX0NCihnZGIpIHF1aXQNClRoZSBwcm9ncmFtIGlzIHJ1
bm5pbmcuICBFeGl0IGFueXdheT8gKHkgb3IgbikgeQ0KU2VuZGluZyBwYWNr
ZXQ6ICRrIzZiLi4uQWNrDQobXTA7YmFjY2FsYUB3aW5ib29rOi9wb3dlcnBj
L2xpbnV4LTIuNC4yMAcNDVtiYWNjYWxhQHdpbmJvb2sgbGludXgtMi40LjIw
XSQgDVtiYWNjYWxhQHdpbmJvb2sgbGludXgtMi40LjIwXSQgZXhpdA0KClNj
cmlwdCBkb25lIG9uIEZyaSBBcHIgMjUgMDA6MDI6MjQgMjAwMwo=
---70191663-261253981-1051246905=:16473--