Re: [PATCH] multibyte_identifiers: opt-in UTF-8 variable names (UAX #31 + NFC) behind a root-controlled system switch
"
[email protected]" <
[email protected]>
Thu, 23 Jul 2026 19:30:32 +0200
| Newsgroups |
gmane.comp.shells.bash.bugs |
| Message-ID |
<AMBP191MB2886D35B9CB62E932007FBFFCEC02@AMBP191MB2886.EURP191.PROD.OUTLOOK.COM> |
--------------5ZUteQTrubWIpvop08KxuFH4
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
(Replying in the thread here: my first copy of this reply accidentally
went to Robert off-list.)
Hello Robert,
thank you for actually reading the patch and the tables -- this is exactly
the review I was hoping for. Answers inline; the short version is that one
of your points found a real improvement (v2 attached), one is a fair
review request I'm happy to act on, and on the central design question --
tables vs. anything-goes -- I'd like to defend the tables, because the
properties they buy are the point of the patch.
> I believe this to be a poor idea, scripts should always remain
> portable.
For scripts meant to travel, agreed without reservation -- which is why
the feature is off by default, triple-gated (root-created consent file,
UTF-8 locale, explicit warning at enable time), and byte-for-byte inert
when off. But bash already lets people write deliberately non-portable
scripts on an opt-in basis (arrays, [[, extglob, globstar...), and for
interactive use and site-local scripts that trade-off is routinely made.
zsh -- the default login shell on macOS and Kali -- has shipped multibyte
identifiers for many years with the same "not portable" caveat in its
manual; the demand and the practice exist, the question is only whether
bash offers a well-defined version of it.
> I have no problem with only supporting UTF-8 encodings, though others
> who still use neither that nor ascii might.
Deliberate: UTF-8 is self-synchronizing and no byte of a multibyte
sequence collides with ASCII syntax characters, which is not true of the
older East Asian encodings. In a non-UTF-8 locale the option quietly
suspends itself, so those users keep exactly today's behavior.
> It also looks as if your patch may have some irrelevant changes
> included, that are not inside the HANDLE_MULTIBYTE blocks.
Fair, and there are exactly two categories. First, the declared
incidental fix: toggle_shopts() now honors the return value of shopt set
functions (previously ignored), and the hostcomplete wrapper is
normalized to return 0 like every other set function -- needed so that
enabling this option can fail cleanly. I'm happy to split that into a
separate preliminary patch. Second, call sites like valid_identifier()
and the ${!name}/${#name} starters use MBIDENT_ACTIVE()/
MBIDENT_STARTER_P(), which are defined as constant 0 when
HANDLE_MULTIBYTE is not defined, so the compiler removes them and the
object code is unchanged; that null-macro pattern keeps the hot paths
free of #ifdef noise. If you'd prefer explicit guards there instead,
that's a mechanical change I can make.
> the unicode people keep adding new characters, and whole new code
> planes (for additional languages). Deciding now, to apply forever,
> what is to be acceptable and what is not, once stepping outside
> simple ascii, seems like a very poor idea.
This is the strongest objection, and it is the one UAX #31's XID
properties were created to answer. The Unicode Consortium's stability
policy makes a formal guarantee: "All strings that are valid default
Unicode identifiers will continue to be valid default Unicode
identifiers in all subsequent versions of Unicode." XID_Start/
XID_Continue only ever grow. So nothing is decided "forever" against
anyone: a bash built with an older table accepts a subset, everything it
accepts stays valid under every future table, and a newly encoded script
becomes available by regenerating the header (one command; the ~200-line
generator ships in support/, tables are ~46KB of read-only ranges with a
binary search). This is precisely the versioned-table model C23, C++
(P1949R7, applied as a DR to older standards), Rust, GCC and Clang
settled on after weighing the same concern.
The proposal that really does decide forever is the other one: freezing
"everything from 0x80 up, assigned or not" means today's unassigned code
point can become tomorrow's combining mark or format control, silently
changing how existing names normalize and display.
> Beyond that, for fun, I had a look at your tables in the Thai section,
> (\u0E00 .. \u0E7F, though not all of those are used) and what's there
> looks to be nonsense to me.
Let me make that concrete, because no word-plausibility test exists
anywhere in the patch -- I agree completely that names need not be words.
In U+0E00..U+0E7F the tables contain: all 55 Thai letters (category Lo)
plus MAIYAMOK as start characters; SARA AM, all 16 combining vowel/tone
marks (Mn) and the ten Thai digits as continue characters (they cannot
lead a name, exactly like ASCII digits); excluded are only U+0E3F THAI
CURRENCY SYMBOL BAHT and the three punctuation characters U+0E4F, U+0E5A,
U+0E5B. That is the same letters/marks/digits vs. punctuation/symbols
line that [A-Za-z0-9_] draws for ASCII, mechanically derived from
DerivedCoreProperties.txt -- any combination of Thai letters is a valid
name, sensible as a word or not. If some specific code point in there
struck you as wrong, please name it: the table is generated, so a
discrepancy would be a generator bug and I very much want to know.
> I'm actually not sure why, if non-ascii var names were to be allowed,
> there needs to be any restriction at all on what (non-ascii)
> characters would be used for them [...] they might just as well all
> be allowed (even things like non-breaking space, and zero-width
> space, and stuff like that) as they're not sh syntax either.
You're right that above 0x7F the *syntax* no longer forces a boundary --
the boundary has to be chosen, and the question is which choice creates
the fewest problems downstream. "Everything" has three known ones:
1. Invisible characters. With ZWSP allowed, $Straße and
$Straße<U+200B> are two different variables that render
identically in every terminal and diff; an NBSP inside ${foo bar}
looks like a syntax error but isn't. This is the "Trojan Source"
class (CVE-2021-42574) that made GCC and Clang add warnings and
pushed every language that has revisited identifiers since toward
UAX #31 rather than anything-goes. Reviewability of shell scripts
is worth a lot; scripts are reviewed by eye more than most code.
2. Bidi format controls are also "not sh syntax", and allowing them
in names lets displayed order diverge from byte order in the
middle of a command line.
3. Aliasing without normalization: precomposed a-umlaut and
a + U+0308 would be two distinct, visually identical variables --
an equivalence-class problem ASCII never had. The patch's
NFC-or-reject rule keeps byte equality == identity, so grep and
humans stay reliable.
And your instinct about invisibles caught something real: the UCD leaves
variation selectors in XID_Continue, and my generated table had them.
UAX #31 itself recommends a profile that excludes default-ignorable code
points from general-purpose identifiers; v2 (attached) applies exactly
that profile -- variation selectors, ZWJ/ZWNJ, fillers, CGJ and soft
hyphen are now excluded whatever UCD generates the tables, with a
generator self-check and test cases. Thank you for pushing on that
line; it made the patch better.
> People could use emoji's as variable names!
Under anything-goes, yes -- under this patch no, and I'd argue that's
the consistent side of the line: emoji are symbols (So), the same
category as $ and ~, not letters. (zsh's iswalnum() rejects them too.)
If demand ever materializes, UAX #31 profiles are the sanctioned way to
add them as a deliberate decision rather than as fallout.
So: I'll gladly split out the shopt return-value fix, add explicit
guards if preferred, and rebase onto devel. The one design point I'd
argue to keep is UAX #31 + NFC itself -- the tables aren't incidental
complexity, they are what makes the feature reviewable, stable across
Unicode versions by formal guarantee, and aligned with what C, C++,
Rust and Python users already know as "an identifier".
Regards,
Luca Rodenhäuser
--------------5ZUteQTrubWIpvop08KxuFH4
Content-Type: text/x-patch; charset=UTF-8;
name="v2-0001-Add-multibyte-UTF-8-shell-variable-names-behind-a.patch"
Content-Disposition: attachment;
filename*0="v2-0001-Add-multibyte-UTF-8-shell-variable-names-behind-a.pa";
filename*1="tch"
Content-Transfer-Encoding: base64
RnJvbSBhM2M2MDIzYzYwMzczZWEyOTViNDdmOTY2ZDE0NGZjMjNkOWYzZWU5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUMzPTkzdHo9QzM9QUY9MjBSb2Rlbmg9QzM9
QTR1c2VyPz0gPG9AZXhhbXBsZS5vcmc+CkRhdGU6IFR1ZSwgMjEgSnVsIDIwMjYgMTQ6MjQ6NDYg
KzAwMDAKU3ViamVjdDogW1BBVENIIHYyXSBBZGQgbXVsdGlieXRlIChVVEYtOCkgc2hlbGwgdmFy
aWFibGUgbmFtZXMgYmVoaW5kIGEKIHJvb3QtY29udHJvbGxlZCBzeXN0ZW0gc3dpdGNoOiBtdWx0
aWJ5dGVfaWRlbnRpZmllcnMKCldoZW4gdGhlIG5ldyBgbXVsdGlieXRlX2lkZW50aWZpZXJzJyBz
aG9wdCBvcHRpb24gaXMgb24gaW4gYSBVVEYtOApsb2NhbGUsIHNoZWxsIHZhcmlhYmxlIG5hbWVz
IG1heSBhZGRpdGlvbmFsbHkgY29udGFpbiBub24tQVNDSUkKY2hhcmFjdGVycy4gIFRoZSBhY2Nl
cHRlZCByZXBlcnRvaXJlIGZvbGxvd3MgdGhlIGRlZmF1bHQgaWRlbnRpZmllcgpzeW50YXggb2Yg
VUFYICMzMSAoWElEX1N0YXJ0L1hJRF9Db250aW51ZSwgdGhlIHNldCB0aGUgUnVzdCBsYW5ndWFn
ZQp1c2VzKSwgYW5kIG5hbWVzIGFyZSByZXF1aXJlZCB0byBiZSBpbiBOb3JtYWxpemF0aW9uIEZv
cm0gQywgdmVyaWZpZWQKd2l0aCB0aGUgTkZDIHF1aWNrIGNoZWNrIG9mIFVBWCAjMTUsIHNvIGVx
dWFsaXR5IG9mIGlkZW50aWZpZXJzIHJlbWFpbnMKZXF1YWxpdHkgb2YgYnl0ZSBzdHJpbmdzLiAg
QVNDSUkgaGFuZGxpbmcgaXMgdW50b3VjaGVkOiB0aGUgVW5pY29kZQp0YWJsZXMgZGVsaWJlcmF0
ZWx5IGJlZ2luIGF0IFUrMDA4MCwgYW5kIHdpdGggdGhlIG9wdGlvbiBvZmYgYmVoYXZpb3IKaXMg
Ynl0ZS1mb3ItYnl0ZSBpZGVudGljYWwgdG8gYmVmb3JlLgoKVGhlIGNvbnNlbnQgZmlsZSAvZXRj
L2Jhc2hfbXVsdGlieXRlX2lkZW50aWZpZXJzIChvdmVycmlkYWJsZSB2aWEKTUJJREVOVF9TWVNU
RU1fRklMRSkgaXMgdGhlIHN5c3RlbS13aWRlIHN3aXRjaC4gIFJvb3QgbWFuYWdlcyBpdCB3aXRo
CnRoZSBuZXcgYGJhc2gtbWJpZGVudCcgY29tbWFuZDogYGVuYWJsZScgd2FybnMgdGhhdCBzY3Jp
cHRzIHVzaW5nIHN1Y2gKbmFtZXMgYXJlIG5vdCBwb3J0YWJsZSwgYXNrcyBmb3IgY29uZmlybWF0
aW9uIHVzaW5nIHRoZSBsb2NhbGUncwp5ZXNleHByLCByZXF1aXJlcyBhIFVURi04IGxvY2FsZSwg
YW5kIGNyZWF0ZXMgdGhlIGZpbGU7IGBkaXNhYmxlJwpyZW1vdmVzIGl0OyBgc3RhdHVzJyByZXBv
cnRzIHRoZSBzdGF0ZSB3aXRoIGV4aXQgMC8xIGFuZCBuZWVkcyBubwpwcml2aWxlZ2VzLiAgbWJp
ZGVudF9pbml0KCksIGNhbGxlZCBlYXJseSBpbiBtYWluKCksIGNvcGllcyB0aGUgc3RhdGUKb2Yg
dGhlIHN3aXRjaCBpbnRvIGV2ZXJ5IG5ld2x5IHN0YXJ0ZWQgc2hlbGwsIHNvIG9yZGluYXJ5IHVz
ZXJzIHNpbXBseQp1c2UgdGhlIGZlYXR1cmUgd2l0aG91dCB0b3VjaGluZyBzaG9wdCBvbmNlIHRo
ZSBhZG1pbmlzdHJhdG9yIGhhcwp0dXJuZWQgaXQgb24sIGFuZCBtdWx0aWJ5dGUgbmFtZXMgaW4g
dGhlIGVudmlyb25tZW50IGltcG9ydCBkaXJlY3RseS4KUm9vdCBtYXkgYWRkaXRpb25hbGx5IG92
ZXJyaWRlIHRoZSBzdGF0ZSBmb3IgYSBzaW5nbGUgc2hlbGwgd2l0aApgc2hvcHQgLXMnIG9yIGBz
aG9wdCAtdSc7IG9ubHkgcmVhbCBzdGF0ZSBjaGFuZ2VzIHJlcXVpcmUgcm9vdApwcml2aWxlZ2Vz
LCB3aGlsZSByZWR1bmRhbnQgdG9nZ2xlcyBzdWNjZWVkIGFzIG5vLW9wcyBmb3IgZXZlcnlvbmUs
CndoaWNoIGtlZXBzIHNjcmlwdHMgdGhhdCByZXNldCBldmVyeSBvcHRpb24sIGFuZCB0aGUgQkFT
SE9QVFMgc3RhcnR1cAppbXBvcnQgaW4gc2hlbGxzIHRoYXQgaW5oZXJpdCB0aGUgb3B0aW9uLCB3
b3JraW5nIHVucHJpdmlsZWdlZC4KUXVlcnlpbmcgaXMgZnJlZSBmb3IgYWxsIHVzZXJzIHZpYSBg
c2hvcHQgbXVsdGlieXRlX2lkZW50aWZpZXJzJyBhbmQKYHNob3B0IC1xJy4gIFR1cm5pbmcgdGhl
IGxvY2FsZSBub24tVVRGLTggYXQgcnVuIHRpbWUgcXVpZXRseSBzdXNwZW5kcwp0aGUgZXh0ZW5k
ZWQgc3ludGF4LgoKSW1wbGVtZW50YXRpb24gbm90ZXM6CgogIC0gbWJpZGVudC5jL21iaWRlbnQu
aDogc3RyaWN0IFVURi04IGRlY29kZXIgKHJlamVjdHMgb3ZlcmxvbmcgZm9ybXMsCiAgICBzdXJy
b2dhdGVzLCA+IFUrMTBGRkZGKSwgYmluYXJ5IHNlYXJjaCBvdmVyIGdlbmVyYXRlZCByYW5nZSB0
YWJsZXMsCiAgICBhbmQgdGhlIE5GQyBxdWljayBjaGVjayAoTkZDX1FDPU5vL01heWJlIHJlamVj
dGVkIG91dHJpZ2h0LCBzbwogICAgc2Nhbm5lcnMgbmV2ZXIgY29uc3VtZSBhIGNoYXJhY3RlciBO
RkMgd291bGQgcmV3cml0ZTsgY2Fub25pY2FsCiAgICBvcmRlcmluZyBvZiBjb21iaW5pbmcgY2xh
c3NlcyBjaGVja2VkIGluIGZ1bGwtbmFtZSB2YWxpZGF0aW9uKS4KICAtIG1iaWR0YmwuaCBpcyBn
ZW5lcmF0ZWQgYnkgc3VwcG9ydC9ta21iaWR0YmwucHkgZnJvbSB0aGUgVW5pY29kZQogICAgQ2hh
cmFjdGVyIERhdGFiYXNlIHRoYXQgc2hpcHMgd2l0aCB0aGUgUHl0aG9uIHVzZWQgdG8gcnVuIGl0
OwogICAgcmVnZW5lcmF0aW5nIHdpdGggYSBuZXdlciBQeXRob24gcGlja3MgdXAgYSBuZXdlciBV
Q0QuICBUaGUKICAgIGdlbmVyYXRvciBhcHBsaWVzIHRoZSBwcm9maWxlIFVBWCAjMzEgaXRzZWxm
IHJlY29tbWVuZHMgZm9yCiAgICBnZW5lcmFsLXB1cnBvc2UgaWRlbnRpZmllcnM6IERlZmF1bHRf
SWdub3JhYmxlIGNvZGUgcG9pbnRzCiAgICAodmFyaWF0aW9uIHNlbGVjdG9ycywgWldKL1pXTkos
IGZpbGxlcnMsIENHSiwgc29mdCBoeXBoZW4pIGFyZQogICAgZXhjbHVkZWQgZXZlbiB3aGVyZSB0
aGUgVUNEIGxlYXZlcyB0aGVtIGluIFhJRF9Db250aW51ZSwgc28gbm8KICAgIGludmlzaWJsZSBj
aGFyYWN0ZXIgY2FuIGFwcGVhciBpbiBhIG5hbWU7IGEgZ2VuZXJhdG9yIHNlbGYtY2hlY2sKICAg
IGVuZm9yY2VzIHRoaXMuCiAgLSB2YWxpZF9pZGVudGlmaWVyKCkgYW5kIGFzc2lnbm1lbnQoKSAo
Z2VuZXJhbC5jKSB0YWtlIHRoZSBuZXcgcGF0aAogICAgb25seSB3aGVuIHRoZSBvcHRpb24gaXMg
YWN0aXZlOyBhc3NpZ25tZW50KCkgcmUtdmFsaWRhdGVzIHRoZSB3aG9sZQogICAgbmFtZSAoTkZD
KSBvbmNlIGl0IGZpbmRzIGA9JywgYCs9JyBvciBgWycuCiAgLSBzdWJzdC5jOiB0aGUgZml2ZSBs
ZWdhbF92YXJpYWJsZV9zdGFydGVyIGNhbGwgc2l0ZXMgZm9yICR7IW5hbWV9LAogICAgJHsjbmFt
ZX0gYW5kICR7IXByZWZpeCp9IGFjY2VwdCBtdWx0aWJ5dGUgc3RhcnRlcnMsIGFuZCB0aGUgJG5h
bWUKICAgIHNjYW5uZXIgaW4gcGFyYW1fZXhwYW5kKCkgZXh0ZW5kcyBuYW1lcyB3aXRoIFhJRF9D
b250aW51ZSBzZXF1ZW5jZXMuCiAgLSBleHByLmM6IHJlYWR0b2soKSBzY2FucyBtdWx0aWJ5dGUg
bmFtZXMgaW4gYXJpdGhtZXRpYyBleHByZXNzaW9ucwogICAgYW5kIGluc2lzdHMgb24gTkZDIGJl
Zm9yZSBhIG5hbWUgY2FuIGJlIGJvdW5kLCBrZWVwaW5nIGFyaXRobWV0aWMKICAgIGFzc2lnbm1l
bnRzIGNvbnNpc3RlbnQgd2l0aCBhc3NpZ25tZW50IHN0YXRlbWVudHMuCiAgLSBFbnZpcm9ubWVu
dCBzdHJpbmdzIHdpdGggbmFtZXMgdGhhdCBhcmUgaW52YWxpZCB1bmRlciB0aGUgYWN0aXZlCiAg
ICBzeW50YXgga2VlcCBnb2luZyBpbnRvIGludmFsaWRfZW52IGV4YWN0bHkgYXMgYmVmb3JlIChh
bmQgc28KICAgIGNvbnRpbnVlIHRvIGJlIHBhc3NlZCB0byBjaGlsZHJlbik7IHdoZW4gdGhlIG9w
dGlvbiBpcyB0dXJuZWQgb24gaW4KICAgIGEgcnVubmluZyBzaGVsbCwgbWJpZGVudF9hZG9wdF9p
bnZhbGlkX2VudigpIGNvbnZlcnRzIG5ld2x5IHZhbGlkCiAgICBvbmVzIGludG8gcmVndWxhciBl
eHBvcnRlZCB2YXJpYWJsZXMuCiAgLSBtYmlkZW50X2FjY2VwdGVkIHJlY29yZHMgdGhlIHN0YXRl
IGxhc3QgZXN0YWJsaXNoZWQgYnkKICAgIG1iaWRlbnRfaW5pdCgpIG9yIGFjY2VwdGVkIGJ5IHRo
ZSBzaG9wdCBzZXQgZnVuY3Rpb24sIGJlY2F1c2UgdGhlCiAgICBzaG9wdCBtYWNoaW5lcnkgb3Zl
cndyaXRlcyB0aGUgb3B0aW9uIHZhcmlhYmxlIGJlZm9yZSB0aGUgc2V0CiAgICBmdW5jdGlvbiBy
dW5zOyByZXNldF9zaG9wdF9vcHRpb25zKCkgZG9lcyBub3QgdG91Y2ggdGhpcyBvcHRpb24sIHNv
CiAgICB0aGUgcmVjb3JkIGNhbm5vdCBnZXQgb3V0IG9mIHN5bmMuCiAgLSB0b2dnbGVfc2hvcHRz
KCkgbm93IGhvbm9ycyB0aGUgcmV0dXJuIHZhbHVlIG9mIHNob3B0IHNldCBmdW5jdGlvbnMKICAg
IHNvIHRoYXQgdG9nZ2xpbmcgbXVsdGlieXRlX2lkZW50aWZpZXJzIGNhbiBmYWlsIGNsZWFubHk7
CiAgICBzaG9wdF9lbmFibGVfaG9zdG5hbWVfY29tcGxldGlvbigpIHByZXZpb3VzbHkgbGVha2Vk
IHRoZSBvbGQgdmFsdWUKICAgIG9mIHBlcmZvcm1faG9zdG5hbWVfY29tcGxldGlvbiBhcyBhIHJl
dHVybiB2YWx1ZSB0aGF0IHdhcyBpZ25vcmVkLAogICAgYW5kIG5vdyByZXR1cm5zIDAgYXMgZXZl
cnkgb3RoZXIgc2V0IGZ1bmN0aW9uIGRvZXMuCiAgLSBEb2N1bWVudGF0aW9uIGluIGJhc2guMSBh
bmQgYmFzaHJlZi50ZXhpOyB0ZXN0cyBpbgogICAgdGVzdHMvbWJpZGVudC50ZXN0cyB3aXRoIGEg
cnVuLW1iaWRlbnQgZHJpdmVyIHRoYXQgcnVucyBvbmx5IGFzCiAgICByb290IG9uIHN5c3RlbXMg
d2l0aCB0aGUgY29uc2VudCBmaWxlIGFuZCBhIFVURi04IGxvY2FsZS4KICAgIHJ1bi1zaG9wdCBh
bmQgcnVuLWludm9jYXRpb24gbm9ybWFsaXplIHRoZSBvcHRpb24gb3V0IG9mIHNob3B0IGFuZAog
ICAgJEJBU0hPUFRTIGxpc3RpbmdzIHNvIHRoZSBzdWl0ZSBkb2VzIG5vdCBkZXBlbmQgb24gdGhl
IHN0YXRlIG9mCiAgICBNQklERU5UX1NZU1RFTV9GSUxFLgotLS0KIE1ha2VmaWxlLmluICAgICAg
ICAgICAgIHwgIDE2ICstCiBidWlsdGlucy9NYWtlZmlsZS5pbiAgICB8ICAgMSArCiBidWlsdGlu
cy9zaG9wdC5kZWYgICAgICB8ICA4NSArKysrLQogY29uZmlnLXRvcC5oICAgICAgICAgICAgfCAg
IDcgKwogZG9jL2Jhc2guMSAgICAgICAgICAgICAgfCAgMjUgKysKIGRvYy9iYXNocmVmLnRleGkg
ICAgICAgIHwgIDE2ICsKIGV4cHIuYyAgICAgICAgICAgICAgICAgIHwgIDM4ICsrLQogZ2VuZXJh
bC5jICAgICAgICAgICAgICAgfCAgNTMgKystCiBtYmlkZW50LmMgICAgICAgICAgICAgICB8IDI3
MSArKysrKysrKysrKysrKysrCiBtYmlkZW50LmggICAgICAgICAgICAgICB8ICA2NiArKysrCiBt
YmlkdGJsLmggICAgICAgICAgICAgICB8IDcwMyArKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrCiBzaGVsbC5jICAgICAgICAgICAgICAgICB8ICAgNSArCiBzdWJzdC5jICAg
ICAgICAgICAgICAgICB8ICAzOSArKy0KIHN1cHBvcnQvYmFzaC1tYmlkZW50LnNoIHwgMTA4ICsr
KysrKwogc3VwcG9ydC9ta21iaWR0YmwucHkgICAgfCAyNzUgKysrKysrKysrKysrKysrKwogdGVz
dHMvbWJpZGVudC5yaWdodCAgICAgfCAgMjQgKysKIHRlc3RzL21iaWRlbnQudGVzdHMgICAgIHwg
IDcwICsrKysKIHRlc3RzL3J1bi1pbnZvY2F0aW9uICAgIHwgICA1ICstCiB0ZXN0cy9ydW4tbWJp
ZGVudCAgICAgICB8ICAgOSArCiB0ZXN0cy9ydW4tc2hvcHQgICAgICAgICB8ICAgNCArLQogdGVz
dHMvc2hvcHQxLnN1YiAgICAgICAgfCAgIDYgKy0KIHZhcmlhYmxlcy5jICAgICAgICAgICAgIHwg
IDY0ICsrKysKIHZhcmlhYmxlcy5oICAgICAgICAgICAgIHwgICAxICsKIDIzIGZpbGVzIGNoYW5n
ZWQsIDE4NjkgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2
NDQgbWJpZGVudC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWJpZGVudC5oCiBjcmVhdGUgbW9kZSAx
MDA2NDQgbWJpZHRibC5oCiBjcmVhdGUgbW9kZSAxMDA3NTUgc3VwcG9ydC9iYXNoLW1iaWRlbnQu
c2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzdXBwb3J0L21rbWJpZHRibC5weQogY3JlYXRlIG1vZGUg
MTAwNjQ0IHRlc3RzL21iaWRlbnQucmlnaHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9tYmlk
ZW50LnRlc3RzCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvcnVuLW1iaWRlbnQKCmRpZmYgLS1n
aXQgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCmluZGV4IGM0YTg4MmYuLmVhM2NmYmYgMTAw
NjQ0Ci0tLSBhL01ha2VmaWxlLmluCisrKyBiL01ha2VmaWxlLmluCkBAIC00NzcsNyArNDc3LDcg
QEAgTElCUkFSWV9TT1VSQ0UgPSAkKFNITElCX1NPVVJDRSkgJChHTE9CX1NPVVJDRSkgXAogIwog
CiAjIFRoZSBtYWluIHNvdXJjZSBjb2RlIGZvciB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgotQ1NP
VVJDRVMgPSBzaGVsbC5jIGV2YWwuYyBwYXJzZS55IGdlbmVyYWwuYyBtYWtlX2NtZC5jIHByaW50
X2NtZC5jIHkudGFiLmMgXAorQ1NPVVJDRVMgPSBzaGVsbC5jIGV2YWwuYyBwYXJzZS55IGdlbmVy
YWwuYyBtYmlkZW50LmMgbWFrZV9jbWQuYyBwcmludF9jbWQuYyB5LnRhYi5jIFwKIAkgICBkaXNw
b3NlX2NtZC5jIGV4ZWN1dGVfY21kLmMgdmFyaWFibGVzLmMgdmVyc2lvbi5jIFwKIAkgICBleHBy
LmMgY29weV9jbWQuYyBmbGFncy5jIHN1YnN0LmMgaGFzaGNtZC5jIGhhc2hsaWIuYyBtYWlsY2hl
Y2suYyBcCiAJICAgdGVzdC5jIHRyYXAuYyBhbGlhcy5jIGpvYnMuYyBub2pvYnMuYyBicmFjZXMu
YyBcCkBAIC00ODYsNyArNDg2LDcgQEAgQ1NPVVJDRVMgPSBzaGVsbC5jIGV2YWwuYyBwYXJzZS55
IGdlbmVyYWwuYyBtYWtlX2NtZC5jIHByaW50X2NtZC5jIHkudGFiLmMgXAogCSAgIGxpc3QuYyBz
dHJpbmdsaWIuYyBsb2NhbGUuYyBmaW5kY21kLmMgcmVkaXIuYyBcCiAJICAgcGNvbXBsZXRlLmMg
cGNvbXBsaWIuYyBzeW50YXguYyB4bWFsbG9jLmMKIAotSFNPVVJDRVMgPSBzaGVsbC5oIGZsYWdz
LmggdHJhcC5oIGhhc2hjbWQuaCBoYXNobGliLmggam9icy5oIGJ1aWx0aW5zLmggXAorSFNPVVJD
RVMgPSBtYmlkZW50LmggbWJpZHRibC5oIHNoZWxsLmggZmxhZ3MuaCB0cmFwLmggaGFzaGNtZC5o
IGhhc2hsaWIuaCBqb2JzLmggYnVpbHRpbnMuaCBcCiAJICAgZ2VuZXJhbC5oIHZhcmlhYmxlcy5o
IGNvbmZpZy5oICQoQUxMT0NfSEVBREVSUykgYWxpYXMuaCBcCiAJICAgcXVpdC5oIHVud2luZF9w
cm90Lmggc3ludGF4LmggXAogCSAgIGNvbW1hbmQuaCBpbnB1dC5oIGVycm9yLmggYmFzaGFuc2ku
aCBkaXNwb3NlX2NtZC5oIG1ha2VfY21kLmggXApAQCAtNTI2LDcgKzUyNiw3IEBAIFNJR05BTUVT
X08gPSBAU0lHTkFNRVNfT0AKIEFSUkFZX08gPSBAQVJSQVlfT0AKIAogIyBNYXRjaGluZyBvYmpl
Y3QgZmlsZXMuCi1PQkpFQ1RTCSA9IHNoZWxsLm8gZXZhbC5vIHkudGFiLm8gZ2VuZXJhbC5vIG1h
a2VfY21kLm8gcHJpbnRfY21kLm8gXAorT0JKRUNUUwkgPSBzaGVsbC5vIGV2YWwubyB5LnRhYi5v
IGdlbmVyYWwubyBtYmlkZW50Lm8gbWFrZV9jbWQubyBwcmludF9jbWQubyBcCiAJICAgZGlzcG9z
ZV9jbWQubyBleGVjdXRlX2NtZC5vIHZhcmlhYmxlcy5vIGNvcHlfY21kLm8gZXJyb3IubyBcCiAJ
ICAgZXhwci5vIGZsYWdzLm8gJChKT0JTX08pIHN1YnN0Lm8gaGFzaGNtZC5vIGhhc2hsaWIubyBt
YWlsY2hlY2subyBcCiAJICAgdHJhcC5vIGlucHV0Lm8gdW53aW5kX3Byb3QubyBwYXRoZXhwLm8g
c2lnLm8gdGVzdC5vIHZlcnNpb24ubyBcCkBAIC0xMTgyLDYgKzExODIsNyBAQCBleHByLm86IGNv
bmZpZy5oIGJhc2hhbnNpLmggJHtCQVNISU5DRElSfS9hbnNpX3N0ZGxpYi5oCiBleHByLm86IHNo
ZWxsLmggc3ludGF4LmggY29uZmlnLmggYmFzaGptcC5oICR7QkFTSElOQ0RJUn0vcG9zaXhqbXAu
aCBjb21tYW5kLmggJHtCQVNISU5DRElSfS9zdGRjLmggZXJyb3IuaAogZXhwci5vOiBnZW5lcmFs
LmggeG1hbGxvYy5oIGJhc2h0eXBlcy5oIHZhcmlhYmxlcy5oIGFycmF5ZnVuYy5oIGNvbmZ0eXBl
cy5oIGFycmF5LmggaGFzaGxpYi5oCiBleHByLm86IHF1aXQuaCAke0JBU0hJTkNESVJ9L21heHBh
dGguaCB1bndpbmRfcHJvdC5oIGRpc3Bvc2VfY21kLmgKK2V4cHIubzogbWJpZGVudC5oIG1iaWR0
YmwuaAogZXhwci5vOiBtYWtlX2NtZC5oIHN1YnN0Lmggc2lnLmggcGF0aG5hbWVzLmggZXh0ZXJu
cy5oIGZsYWdzLmggZXhlY3V0ZV9jbWQuaAogZXhwci5vOiAke0JBU0hJTkNESVJ9L2NoYXJ0eXBl
cy5oCiBleHByLm86IGFzc29jLmggJHtCQVNISU5DRElSfS9vY2FjaGUuaCAke0JBU0hJTkNESVJ9
L3R5cGVtYXguaApAQCAtMTIwMiwxMiArMTIwMywxOSBAQCBnZW5lcmFsLm86IGNvbmZpZy5oIGJh
c2h0eXBlcy5oICR7QkFTSElOQ0RJUn0vcG9zaXhzdGF0LmggJHtCQVNISU5DRElSfS9maWxlY250
bAogZ2VuZXJhbC5vOiBzaGVsbC5oIHN5bnRheC5oIGNvbmZpZy5oIGJhc2hqbXAuaCAke0JBU0hJ
TkNESVJ9L3Bvc2l4am1wLmggY29tbWFuZC5oICR7QkFTSElOQ0RJUn0vc3RkYy5oIGVycm9yLmgK
IGdlbmVyYWwubzogZ2VuZXJhbC5oIHhtYWxsb2MuaCBiYXNodHlwZXMuaCB2YXJpYWJsZXMuaCBh
cnJheWZ1bmMuaCBjb25mdHlwZXMuaCBhcnJheS5oIGhhc2hsaWIuaAogZ2VuZXJhbC5vOiBxdWl0
LmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmggdW53aW5kX3Byb3QuaCBkaXNwb3NlX2NtZC5oCitn
ZW5lcmFsLm86IG1iaWRlbnQuaCBtYmlkdGJsLmgKIGdlbmVyYWwubzogbWFrZV9jbWQuaCBzdWJz
dC5oIHNpZy5oIHBhdGhuYW1lcy5oIGV4dGVybnMuaCBmbGFncy5oIHBhcnNlci5oCiBnZW5lcmFs
Lm86IHBhdGhleHAuaAogZ2VuZXJhbC5vOiAke0JBU0hJTkNESVJ9L21heHBhdGguaCAke0JBU0hJ
TkNESVJ9L3Bvc2l4dGltZS5oCiBnZW5lcmFsLm86ICR7QkFTSElOQ0RJUn0vY2hhcnR5cGVzLmgK
IGdlbmVyYWwubzogdHJhcC5oIGlucHV0LmggYXNzb2MuaCB0ZXN0LmggZmluZGNtZC5oIAogZ2Vu
ZXJhbC5vOiAke0JBU0hJTkNESVJ9L29jYWNoZS5oICQoREVGU1JDKS9jb21tb24uaAorbWJpZGVu
dC5vOiBjb25maWcuaCBiYXNodHlwZXMuaCBiYXNoYW5zaS5oICR7QkFTSElOQ0RJUn0vYW5zaV9z
dGRsaWIuaCAke0JBU0hJTkNESVJ9L2NoYXJ0eXBlcy5oCittYmlkZW50Lm86IHNoZWxsLmggc3lu
dGF4LmggY29uZmlnLmggYmFzaGptcC5oICR7QkFTSElOQ0RJUn0vcG9zaXhqbXAuaCBjb21tYW5k
LmggJHtCQVNISU5DRElSfS9zdGRjLmggZXJyb3IuaAorbWJpZGVudC5vOiBnZW5lcmFsLmggeG1h
bGxvYy5oIGJhc2h0eXBlcy5oIHZhcmlhYmxlcy5oIGFycmF5ZnVuYy5oIGNvbmZ0eXBlcy5oIGFy
cmF5LmggaGFzaGxpYi5oCittYmlkZW50Lm86IHF1aXQuaCAke0JBU0hJTkNESVJ9L21heHBhdGgu
aCB1bndpbmRfcHJvdC5oIGRpc3Bvc2VfY21kLmgKK21iaWRlbnQubzogbWFrZV9jbWQuaCBzdWJz
dC5oIHNpZy5oIHBhdGhuYW1lcy5oIGV4dGVybnMuaAorbWJpZGVudC5vOiBtYmlkZW50LmggbWJp
ZHRibC5oCiBoYXNoY21kLm86IGNvbmZpZy5oICR7QkFTSElOQ0RJUn0vcG9zaXhzdGF0LmggYmFz
aHR5cGVzLmggYmFzaGFuc2kuaCAke0JBU0hJTkNESVJ9L2Fuc2lfc3RkbGliLmgKIGhhc2hjbWQu
bzogc2hlbGwuaCBzeW50YXguaCBjb25maWcuaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3Np
eGptcC5oIGNvbW1hbmQuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaCBlcnJvci5oCiBoYXNoY21kLm86
IGdlbmVyYWwuaCB4bWFsbG9jLmggYmFzaHR5cGVzLmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmgg
Y29uZnR5cGVzLmggYXJyYXkuaCBoYXNoY21kLmgKQEAgLTEzMTgsNiArMTMyNiw3IEBAIHN1YnN0
Lm86IGNvbmZpZy5oIGJhc2h0eXBlcy5oIGJhc2hhbnNpLmggJHtCQVNISU5DRElSfS9hbnNpX3N0
ZGxpYi5oICR7QkFTSElOQ0RJCiBzdWJzdC5vOiBzaGVsbC5oIHN5bnRheC5oIGNvbmZpZy5oIGJh
c2hqbXAuaCAke0JBU0hJTkNESVJ9L3Bvc2l4am1wLmggY29tbWFuZC5oICR7QkFTSElOQ0RJUn0v
c3RkYy5oIGVycm9yLmgKIHN1YnN0Lm86IGdlbmVyYWwuaCB4bWFsbG9jLmggYmFzaHR5cGVzLmgg
dmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggYXJyYXkuaCBoYXNobGliLmgKIHN1
YnN0Lm86IHF1aXQuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaCB1bndpbmRfcHJvdC5oIGRpc3Bv
c2VfY21kLmgKK3N1YnN0Lm86IG1iaWRlbnQuaCBtYmlkdGJsLmgKIHN1YnN0Lm86IG1ha2VfY21k
Lmggc3Vic3QuaCBzaWcuaCBwYXRobmFtZXMuaCBleHRlcm5zLmggcGFyc2VyLmgKIHN1YnN0Lm86
IGZsYWdzLmggam9icy5oIHNpZ2xpc3QuaCBleGVjdXRlX2NtZC5oICR7QkFTSElOQ0RJUn0vZmls
ZWNudGwuaCB0cmFwLmggcGF0aGV4cC5oCiBzdWJzdC5vOiBtYWlsY2hlY2suaCBpbnB1dC5oICQo
REVGU1JDKS9nZXRvcHQuaCAkKERFRlNSQykvY29tbW9uLmgKQEAgLTEzNDgsNiArMTM1Nyw3IEBA
IHZhcmlhYmxlcy5vOiBjb25maWcuaCBiYXNodHlwZXMuaCAke0JBU0hJTkNESVJ9L3Bvc2l4c3Rh
dC5oIGJhc2hhbnNpLmggJHtCQVNISU5DCiB2YXJpYWJsZXMubzogc2hlbGwuaCBzeW50YXguaCBj
b25maWcuaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIGNvbW1hbmQuaCAke0JB
U0hJTkNESVJ9L3N0ZGMuaCBlcnJvci5oCiB2YXJpYWJsZXMubzogZ2VuZXJhbC5oIHhtYWxsb2Mu
aCBiYXNodHlwZXMuaCB2YXJpYWJsZXMuaCBhcnJheWZ1bmMuaCBjb25mdHlwZXMuaCBhcnJheS5o
IGhhc2hsaWIuaAogdmFyaWFibGVzLm86IHF1aXQuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaCB1
bndpbmRfcHJvdC5oIGRpc3Bvc2VfY21kLmgKK3ZhcmlhYmxlcy5vOiBtYmlkZW50LmggbWJpZHRi
bC5oCiB2YXJpYWJsZXMubzogbWFrZV9jbWQuaCBzdWJzdC5oIHNpZy5oIHBhdGhuYW1lcy5oIGV4
dGVybnMuaCBwYXJzZXIuaAogdmFyaWFibGVzLm86IGZsYWdzLmggZXhlY3V0ZV9jbWQuaCBtYWls
Y2hlY2suaCBpbnB1dC5oICQoREVGU1JDKS9jb21tb24uaAogdmFyaWFibGVzLm86IGZpbmRjbWQu
aCBiYXNoaGlzdC5oIGhhc2hjbWQuaCBwYXRoZXhwLmgKZGlmZiAtLWdpdCBhL2J1aWx0aW5zL01h
a2VmaWxlLmluIGIvYnVpbHRpbnMvTWFrZWZpbGUuaW4KaW5kZXggN2UwZWMzMi4uMmVlYzVmZCAx
MDA2NDQKLS0tIGEvYnVpbHRpbnMvTWFrZWZpbGUuaW4KKysrIGIvYnVpbHRpbnMvTWFrZWZpbGUu
aW4KQEAgLTYxMiw2ICs2MTIsNyBAQCBzaGlmdC5vOiAkKHRvcGRpcikvcXVpdC5oICQodG9wZGly
KS9kaXNwb3NlX2NtZC5oICQodG9wZGlyKS9tYWtlX2NtZC5oICQodG9wZGlyKQogc2hpZnQubzog
JCh0b3BkaXIpL3N1YnN0LmggJCh0b3BkaXIpL2V4dGVybnMuaCAkKEJBU0hJTkNESVIpL21heHBh
dGguaAogc2hpZnQubzogJCh0b3BkaXIpL3NoZWxsLmggJCh0b3BkaXIpL3N5bnRheC5oICQodG9w
ZGlyKS91bndpbmRfcHJvdC5oICQodG9wZGlyKS92YXJpYWJsZXMuaCAkKHRvcGRpcikvY29uZnR5
cGVzLmgKIHNoaWZ0Lm86IC4uL3BhdGhuYW1lcy5oCitzaG9wdC5vOiAkKHRvcGRpcikvbWJpZGVu
dC5oICQodG9wZGlyKS9tYmlkdGJsLmggJChCQVNISU5DRElSKS9wb3NpeHN0YXQuaAogc2hvcHQu
bzogJCh0b3BkaXIpL2NvbW1hbmQuaCAuLi9jb25maWcuaCAkKEJBU0hJTkNESVIpL21lbWFsbG9j
LmgKIHNob3B0Lm86ICQodG9wZGlyKS9lcnJvci5oICQodG9wZGlyKS9nZW5lcmFsLmggJCh0b3Bk
aXIpL3htYWxsb2MuaCAKIHNob3B0Lm86ICQodG9wZGlyKS9xdWl0LmggJCh0b3BkaXIpL2Rpc3Bv
c2VfY21kLmggJCh0b3BkaXIpL21ha2VfY21kLmgKZGlmZiAtLWdpdCBhL2J1aWx0aW5zL3Nob3B0
LmRlZiBiL2J1aWx0aW5zL3Nob3B0LmRlZgppbmRleCBjZjZmNmJlLi40ZDBiNDMwIDEwMDY0NAot
LS0gYS9idWlsdGlucy9zaG9wdC5kZWYKKysrIGIvYnVpbHRpbnMvc2hvcHQuZGVmCkBAIC01NCw4
ICs1NCwxMiBAQCAkRU5ECiAKICNpbmNsdWRlICIuLi9iYXNoaW50bC5oIgogCisjaW5jbHVkZSAi
Li4vYmFzaHR5cGVzLmgiCisjaW5jbHVkZSAicG9zaXhzdGF0LmgiCisKICNpbmNsdWRlICIuLi9z
aGVsbC5oIgogI2luY2x1ZGUgIi4uL2ZsYWdzLmgiCisjaW5jbHVkZSAiLi4vbWJpZGVudC5oIgog
I2luY2x1ZGUgImNvbW1vbi5oIgogI2luY2x1ZGUgImJhc2hnZXRvcHQuaCIKIApAQCAtMTU2LDYg
KzE2MCw5IEBAIGludCBleHBhbGlhc2VzX2ZsYWcgPSAwOwogc3RhdGljIGludCBzaG9wdF9zZXRf
ZXhwYWxpYXNlcyAoY2hhciAqLCBpbnQpOwogCiBzdGF0aWMgaW50IHNob3B0X3NldF9kZWJ1Z19t
b2RlIChjaGFyICosIGludCk7CisjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKK3N0YXRp
YyBpbnQgc2hvcHRfc2V0X211bHRpYnl0ZV9pZGVudGlmaWVycyAoY2hhciAqLCBpbnQpOworI2Vu
ZGlmCiAKIHN0YXRpYyBpbnQgc2hvcHRfbG9naW5fc2hlbGw7CiBzdGF0aWMgaW50IHNob3B0X2Nv
bXBhdDMxOwpAQCAtMjQzLDYgKzI1MCw5IEBAIHN0YXRpYyBzdHJ1Y3QgewogICB7ICJsb2NhbHZh
cl91bnNldCIsICZsb2NhbHZhcl91bnNldCwgKHNob3B0X3NldF9mdW5jX3QgKilOVUxMIH0sCiAg
IHsgImxvZ2luX3NoZWxsIiwgJnNob3B0X2xvZ2luX3NoZWxsLCBzZXRfbG9naW5fc2hlbGwgfSwK
ICAgeyAibWFpbHdhcm4iLCAmbWFpbF93YXJuaW5nLCAoc2hvcHRfc2V0X2Z1bmNfdCAqKU5VTEwg
fSwKKyNpZiBkZWZpbmVkIChIQU5ETEVfTVVMVElCWVRFKQorICB7ICJtdWx0aWJ5dGVfaWRlbnRp
ZmllcnMiLCAmbXVsdGlieXRlX2lkZW50aWZpZXJzLCBzaG9wdF9zZXRfbXVsdGlieXRlX2lkZW50
aWZpZXJzIH0sCisjZW5kaWYKICNpZiBkZWZpbmVkIChSRUFETElORSkKICAgeyAibm9fZW1wdHlf
Y21kX2NvbXBsZXRpb24iLCAmbm9fZW1wdHlfY29tbWFuZF9jb21wbGV0aW9uLCAoc2hvcHRfc2V0
X2Z1bmNfdCAqKU5VTEwgfSwKICNlbmRpZgpAQCAtNDc1LDggKzQ4NSw5IEBAIHRvZ2dsZV9zaG9w
dHMgKGludCBtb2RlLCBXT1JEX0xJU1QgKmxpc3QsIGludCBxdWlldCkKICAgICAgIGVsc2UKIAl7
CiAJICAqc2hvcHRfdmFyc1tpbmRdLnZhbHVlID0gbW9kZTsJLyogMSBmb3Igc2V0LCAwIGZvciB1
bnNldCAqLwotCSAgaWYgKHNob3B0X3ZhcnNbaW5kXS5zZXRfZnVuYykKLQkgICAgKCpzaG9wdF92
YXJzW2luZF0uc2V0X2Z1bmMpIChzaG9wdF92YXJzW2luZF0ubmFtZSwgbW9kZSk7CisJICBpZiAo
c2hvcHRfdmFyc1tpbmRdLnNldF9mdW5jICYmCisJICAgICAgKCpzaG9wdF92YXJzW2luZF0uc2V0
X2Z1bmMpIChzaG9wdF92YXJzW2luZF0ubmFtZSwgbW9kZSkgIT0gRVhFQ1VUSU9OX1NVQ0NFU1Mp
CisJICAgIHJ2YWwgPSBFWEVDVVRJT05fRkFJTFVSRTsKIAl9CiAgICAgfQogCkBAIC02NDYsNyAr
NjU3LDEyIEBAIHNob3B0X3NldF9leHRnbG9iIChjaGFyICpvcHRpb25fbmFtZSwgaW50IG1vZGUp
CiBzdGF0aWMgaW50CiBzaG9wdF9lbmFibGVfaG9zdG5hbWVfY29tcGxldGlvbiAoY2hhciAqb3B0
aW9uX25hbWUsIGludCBtb2RlKQogewotICByZXR1cm4gKGVuYWJsZV9ob3N0bmFtZV9jb21wbGV0
aW9uIChtb2RlKSk7CisgIC8qIGVuYWJsZV9ob3N0bmFtZV9jb21wbGV0aW9uIHJldHVybnMgdGhl
IG9sZCB2YWx1ZSBvZgorICAgICBwZXJmb3JtX2hvc3RuYW1lX2NvbXBsZXRpb24uICBUaGF0IGlz
IG5vdCBhbiBlcnJvciBpbmRpY2F0aW9uLCBzbyBkbworICAgICBub3QgcGFzcyBpdCBiYWNrIHRv
IHRvZ2dsZV9zaG9wdHMgbm93IHRoYXQgc2V0X2Z1bmMgcmV0dXJuIHZhbHVlcyBhcmUKKyAgICAg
aG9ub3JlZC4gKi8KKyAgZW5hYmxlX2hvc3RuYW1lX2NvbXBsZXRpb24gKG1vZGUpOworICByZXR1
cm4gKDApOwogfQogI2VuZGlmCiAKQEAgLTc2Nyw2ICs3ODMsNjkgQEAgc2V0X2xvZ2luX3NoZWxs
IChjaGFyICpvcHRpb25fbmFtZSwgaW50IG1vZGUpCiAgIHJldHVybiAoMCk7CiB9CiAKKyNpZiBk
ZWZpbmVkIChIQU5ETEVfTVVMVElCWVRFKQorLyogR3VhcmQgdGhlIG11bHRpYnl0ZV9pZGVudGlm
aWVycyBvcHRpb24uICBUaGUgY29uc2VudCBmaWxlCisgICBNQklERU5UX1NZU1RFTV9GSUxFICht
YW5hZ2VkIGJ5IHJvb3Qgd2l0aCBgYmFzaC1tYmlkZW50IGVuYWJsZScgYW5kCisgICBgZGlzYWJs
ZScpIGlzIHRoZSBzeXN0ZW0td2lkZSBzd2l0Y2g7IG1iaWRlbnRfaW5pdCgpIGNvcGllcyBpdHMg
c3RhdGUKKyAgIGludG8gZXZlcnkgbmV3bHkgc3RhcnRlZCBzaGVsbCwgc28gb3JkaW5hcnkgdXNl
cnMgc2ltcGx5IHVzZSB0aGUKKyAgIGZlYXR1cmUgd2l0aG91dCB0b3VjaGluZyBzaG9wdC4gIFJv
b3QgbWF5IGFkZGl0aW9uYWxseSBvdmVycmlkZSB0aGUKKyAgIHN0YXRlIGZvciBhIHNpbmdsZSBz
aGVsbCBoZXJlLiAgT25seSByZWFsIHN0YXRlIGNoYW5nZXMgcmVxdWlyZSByb290CisgICBwcml2
aWxlZ2VzIGFuZCwgd2hlbiB0dXJuaW5nIG9uLCBhIFVURi04IGxvY2FsZSBhbmQgdGhlIGNvbnNl
bnQgZmlsZTsKKyAgIHJlZHVuZGFudCB0b2dnbGVzIHN1Y2NlZWQgYXMgbm8tb3BzIGZvciBldmVy
eW9uZSwgd2hpY2gga2VlcHMgc2NyaXB0cworICAgdGhhdCByZXNldCBldmVyeSBvcHRpb24sIGFu
ZCB0aGUgQkFTSE9QVFMgc3RhcnR1cCBpbXBvcnQgaW4gc2hlbGxzCisgICB0aGF0IGluaGVyaXQg
dGhlIG9wdGlvbiwgd29ya2luZyB1bnByaXZpbGVnZWQuICBPbiBmYWlsdXJlLCByZXN0b3JlCisg
ICB0aGUgb3B0aW9uIHZhcmlhYmxlIHRoYXQgdG9nZ2xlX3Nob3B0cyBoYXMgYWxyZWFkeSBjaGFu
Z2VkLiAqLworc3RhdGljIGludAorc2hvcHRfc2V0X211bHRpYnl0ZV9pZGVudGlmaWVycyAoY2hh
ciAqb3B0aW9uX25hbWUsIGludCBtb2RlKQoreworICBzdHJ1Y3Qgc3RhdCBzYjsKKworICBpZiAo
bW9kZSA9PSAwKQorICAgIHsKKyAgICAgIGlmIChtYmlkZW50X2FjY2VwdGVkID09IDApCS8qIGFs
cmVhZHkgb2ZmOiBuby1vcCAqLworCXJldHVybiAoMCk7CisgICAgICBpZiAoY3VycmVudF91c2Vy
LmV1aWQgIT0gMCkKKwl7CisJICBtdWx0aWJ5dGVfaWRlbnRpZmllcnMgPSAxOworCSAgYnVpbHRp
bl9lcnJvciAoXygiJXM6IG9ubHkgcm9vdCBtYXkgdW5zZXQgdGhpcyBvcHRpb24iKSwgb3B0aW9u
X25hbWUpOworCSAgcmV0dXJuIChFWEVDVVRJT05fRkFJTFVSRSk7CisJfQorICAgICAgbWJpZGVu
dF9hY2NlcHRlZCA9IDA7CisgICAgICByZXR1cm4gKDApOworICAgIH0KKworICBpZiAobWJpZGVu
dF9hY2NlcHRlZCkJCQkvKiBhbHJlYWR5IG9uOiBuby1vcCAqLworICAgIHsKKyAgICAgIG11bHRp
Ynl0ZV9pZGVudGlmaWVycyA9IDE7CisgICAgICByZXR1cm4gKDApOworICAgIH0KKyAgaWYgKGN1
cnJlbnRfdXNlci5ldWlkICE9IDApCisgICAgeworICAgICAgbXVsdGlieXRlX2lkZW50aWZpZXJz
ID0gMDsKKyAgICAgIGJ1aWx0aW5fZXJyb3IgKF8oIiVzOiBvbmx5IHJvb3QgbWF5IHNldCB0aGlz
IG9wdGlvbiIpLCBvcHRpb25fbmFtZSk7CisgICAgICByZXR1cm4gKEVYRUNVVElPTl9GQUlMVVJF
KTsKKyAgICB9CisgIGlmIChsb2NhbGVfdXRmOGxvY2FsZSA9PSAwKQorICAgIHsKKyAgICAgIG11
bHRpYnl0ZV9pZGVudGlmaWVycyA9IDA7CisgICAgICBidWlsdGluX2Vycm9yIChfKCIlczogdGhl
IGN1cnJlbnQgbG9jYWxlIGlzIG5vdCBhIFVURi04IGxvY2FsZSIpLCBvcHRpb25fbmFtZSk7Cisg
ICAgICByZXR1cm4gKEVYRUNVVElPTl9GQUlMVVJFKTsKKyAgICB9CisgIGlmIChzdGF0IChNQklE
RU5UX1NZU1RFTV9GSUxFLCAmc2IpIDwgMCkKKyAgICB7CisgICAgICBtdWx0aWJ5dGVfaWRlbnRp
ZmllcnMgPSAwOworICAgICAgYnVpbHRpbl9lcnJvciAoXygiJXM6IG5vdCBlbmFibGVkIG9uIHRo
aXMgc3lzdGVtOyBydW4gYGJhc2gtbWJpZGVudCBlbmFibGUnIGFzIHJvb3QiKSwgb3B0aW9uX25h
bWUpOworICAgICAgcmV0dXJuIChFWEVDVVRJT05fRkFJTFVSRSk7CisgICAgfQorCisgIC8qIEVu
dmlyb25tZW50IHN0cmluZ3Mgd2hvc2UgbmFtZXMgb25seSBqdXN0IGJlY2FtZSB2YWxpZCBpZGVu
dGlmaWVycworICAgICB0dXJuIGludG8gcmVndWxhciBleHBvcnRlZCB2YXJpYWJsZXMgbm93LiAq
LworICBtYmlkZW50X2Fkb3B0X2ludmFsaWRfZW52ICgpOworICBtYmlkZW50X2FjY2VwdGVkID0g
MTsKKyAgcmV0dXJuICgwKTsKK30KKyNlbmRpZiAvKiBIQU5ETEVfTVVMVElCWVRFICovCisKIGNo
YXIgKioKIGdldF9zaG9wdF9vcHRpb25zICh2b2lkKQogewpkaWZmIC0tZ2l0IGEvY29uZmlnLXRv
cC5oIGIvY29uZmlnLXRvcC5oCmluZGV4IGM0N2FiMDEuLjEwNDYyNmMgMTAwNjQ0Ci0tLSBhL2Nv
bmZpZy10b3AuaAorKysgYi9jb25maWctdG9wLmgKQEAgLTk3LDYgKzk3LDEzIEBACiAvKiBTeXN0
ZW0td2lkZSAuYmFzaF9sb2dvdXQgZm9yIGxvZ2luIHNoZWxscy4gKi8KIC8qICNkZWZpbmUgU1lT
X0JBU0hfTE9HT1VUICIvZXRjL2Jhc2guYmFzaF9sb2dvdXQiICovCiAKKy8qIFByZXNlbmNlIG9m
IHRoaXMgZmlsZSBwZXJtaXRzIHRoZSBgbXVsdGlieXRlX2lkZW50aWZpZXJzJyBzaGVsbCBvcHRp
b24KKyAgIHRvIGJlIGVuYWJsZWQ7IHRoZSBhZG1pbmlzdHJhdG9yIGNyZWF0ZXMgaXQgd2l0aCBg
YmFzaC1tYmlkZW50IGVuYWJsZScuCisgICBPdmVycmlkZSB3aXRoIC1ETUJJREVOVF9TWVNURU1f
RklMRT0nIi4uLiInIGluIENGTEFHUyBpZiBkZXNpcmVkLiAqLworI2lmICFkZWZpbmVkIChNQklE
RU5UX1NZU1RFTV9GSUxFKQorIyAgZGVmaW5lIE1CSURFTlRfU1lTVEVNX0ZJTEUgIi9ldGMvYmFz
aF9tdWx0aWJ5dGVfaWRlbnRpZmllcnMiCisjZW5kaWYKKwogLyogRGVmaW5lIHRoaXMgdG8gbWFr
ZSBub24taW50ZXJhY3RpdmUgc2hlbGxzIGJlZ3VuIHdpdGggYXJndlswXVswXSA9PSAnLScKICAg
IHJ1biB0aGUgc3RhcnR1cCBmaWxlcyB3aGVuIG5vdCBpbiBwb3NpeCBtb2RlLiAqLwogLyogI2Rl
ZmluZSBOT05fSU5URVJBQ1RJVkVfTE9HSU5fU0hFTExTICovCmRpZmYgLS1naXQgYS9kb2MvYmFz
aC4xIGIvZG9jL2Jhc2guMQppbmRleCA1YWYzNDkyLi42ZTQyN2ZhIDEwMDY0NAotLS0gYS9kb2Mv
YmFzaC4xCisrKyBiL2RvYy9iYXNoLjEKQEAgLTEyMjE0LDYgKzEyMjE0LDMxIEBAIGFjY2Vzc2Vk
IHNpbmNlIHRoZSBsYXN0IHRpbWUgaXQgd2FzIGNoZWNrZWQsCiBcZkJiYXNoXGZQIGRpc3BsYXlz
IHRoZSBtZXNzYWdlCiAuUSAiVGhlIG1haWwgaW4gXGZJbWFpbGZpbGVcZlAgaGFzIGJlZW4gcmVh
ZCIgLgogLlRQIDgKKy5CIG11bHRpYnl0ZV9pZGVudGlmaWVycworVGhpcyBvcHRpb24gcmVmbGVj
dHMgYSBzeXN0ZW0td2lkZSBzd2l0Y2g6IGl0IGlzIG9uIGF0IHNoZWxsIHN0YXJ0dXAgaWYKK3Ro
ZSBhZG1pbmlzdHJhdG9yIGhhcyBjcmVhdGVkCisuSSAvZXRjL2Jhc2hfbXVsdGlieXRlX2lkZW50
aWZpZXJzCitieSBydW5uaW5nCisuQlIgImJhc2gtbWJpZGVudCBlbmFibGUiICwKK2FuZCBvZmYg
b3RoZXJ3aXNlLgorV2hpbGUgaXQgaXMgb24gYW5kIHRoZSBjdXJyZW50IGxvY2FsZSB1c2VzIFVU
Ri04LAorLkIgYmFzaAorYWRkaXRpb25hbGx5IGFjY2VwdHMgbXVsdGlieXRlIGNoYXJhY3RlcnMg
aW4gdGhlIG5hbWVzIG9mIHNoZWxsIHZhcmlhYmxlczoKK25hbWVzIG1heSBjb25zaXN0IG9mIEFT
Q0lJIGxldHRlcnMsIGRpZ2l0cywgdW5kZXJzY29yZXMsIGFuZCBjaGFyYWN0ZXJzCit3aXRoIHRo
ZSBVbmljb2RlCisuSSBYSURfU3RhcnQKK2FuZAorLkkgWElEX0NvbnRpbnVlCitwcm9wZXJ0aWVz
LCBtdXN0IG5vdCBiZWdpbiB3aXRoIGEgZGlnaXQgb3IKKy5JUiBYSURfQ29udGludWUgLW9ubHkK
K2NoYXJhY3RlciwgYW5kIG11c3QgYmUgaW4gVW5pY29kZSBOb3JtYWxpemF0aW9uIEZvcm0gQy4K
K0FueSB1c2VyIG1heSBxdWVyeSB0aGUgc3RhdGUgb2YgdGhpcyBvcHRpb247IGNoYW5naW5nIGl0
IHdpdGgKKy5CIHNob3B0CitvdmVycmlkZXMgdGhlIHN5c3RlbS13aWRlIHN3aXRjaCBmb3IgdGhl
IGN1cnJlbnQgc2hlbGwgb25seSBhbmQgcmVxdWlyZXMKK3Jvb3QgcHJpdmlsZWdlcy4KK1Njcmlw
dHMgdGhhdCB1c2UgbXVsdGlieXRlIGlkZW50aWZpZXJzIGFyZSBub3QgcG9ydGFibGUuCitUaGlz
IGlzIGFuIGV4cGVyaW1lbnRhbCBmZWF0dXJlLgorLlRQIDgKIC5CIG5vX2VtcHR5X2NtZF9jb21w
bGV0aW9uCiBJZiBzZXQsIGFuZAogLkIgcmVhZGxpbmUKZGlmZiAtLWdpdCBhL2RvYy9iYXNocmVm
LnRleGkgYi9kb2MvYmFzaHJlZi50ZXhpCmluZGV4IDEzOGEwZjkuLjEyMDIwMTUgMTAwNjQ0Ci0t
LSBhL2RvYy9iYXNocmVmLnRleGkKKysrIGIvZG9jL2Jhc2hyZWYudGV4aQpAQCAtNjUzMyw2ICs2
NTMzLDIyIEBAIElmIHNldCwgYW5kIGEgZmlsZSB0aGF0IEJhc2ggaXMgY2hlY2tpbmcgZm9yIG1h
aWwgaGFzIGJlZW4KIGFjY2Vzc2VkIHNpbmNlIHRoZSBsYXN0IHRpbWUgaXQgd2FzIGNoZWNrZWQs
IEJhc2ggZGlzcGxheXMgdGhlIG1lc3NhZ2UKIEBjb2RleyJUaGUgbWFpbCBpbiBAdmFye21haWxm
aWxlfSBoYXMgYmVlbiByZWFkIn0uCiAKK0BpdGVtIG11bHRpYnl0ZV9pZGVudGlmaWVycworVGhp
cyBvcHRpb24gcmVmbGVjdHMgYSBzeXN0ZW0td2lkZSBzd2l0Y2g6IGl0IGlzIG9uIGF0IHNoZWxs
IHN0YXJ0dXAgaWYKK3RoZSBhZG1pbmlzdHJhdG9yIGhhcyBjcmVhdGVkIEBmaWxley9ldGMvYmFz
aF9tdWx0aWJ5dGVfaWRlbnRpZmllcnN9IGJ5CitydW5uaW5nIEBjb2Rle2Jhc2gtbWJpZGVudCBl
bmFibGV9LCBhbmQgb2ZmIG90aGVyd2lzZS4KK1doaWxlIGl0IGlzIG9uIGFuZCB0aGUgY3VycmVu
dCBsb2NhbGUgdXNlcyBVVEYtOCwgQmFzaCBhZGRpdGlvbmFsbHkKK2FjY2VwdHMgbXVsdGlieXRl
IGNoYXJhY3RlcnMgaW4gdGhlIG5hbWVzIG9mIHNoZWxsIHZhcmlhYmxlczogbmFtZXMgbWF5Citj
b25zaXN0IG9mIEFTQ0lJIGxldHRlcnMsIGRpZ2l0cywgdW5kZXJzY29yZXMsIGFuZCBjaGFyYWN0
ZXJzIHdpdGggdGhlCitVbmljb2RlIEBjb2Rle1hJRF9TdGFydH0gYW5kIEBjb2Rle1hJRF9Db250
aW51ZX0gcHJvcGVydGllcywgbXVzdCBub3QKK2JlZ2luIHdpdGggYSBkaWdpdCBvciBAY29kZXtY
SURfQ29udGludWV9LW9ubHkgY2hhcmFjdGVyLCBhbmQgbXVzdCBiZSBpbgorVW5pY29kZSBOb3Jt
YWxpemF0aW9uIEZvcm0gQy4KK0FueSB1c2VyIG1heSBxdWVyeSB0aGUgc3RhdGUgb2YgdGhpcyBv
cHRpb247IGNoYW5naW5nIGl0IHdpdGgKK0Bjb2Rle3Nob3B0fSBvdmVycmlkZXMgdGhlIHN5c3Rl
bS13aWRlIHN3aXRjaCBmb3IgdGhlIGN1cnJlbnQgc2hlbGwgb25seQorYW5kIHJlcXVpcmVzIHJv
b3QgcHJpdmlsZWdlcy4KK1NjcmlwdHMgdGhhdCB1c2UgbXVsdGlieXRlIGlkZW50aWZpZXJzIGFy
ZSBub3QgcG9ydGFibGUuCitUaGlzIGlzIGFuIGV4cGVyaW1lbnRhbCBmZWF0dXJlLgorCiBAaXRl
bSBub19lbXB0eV9jbWRfY29tcGxldGlvbgogSWYgc2V0LCBhbmQgUmVhZGxpbmUgaXMgYmVpbmcg
dXNlZCwgQmFzaCBkb2VzIG5vdCBzZWFyY2gKIHRoZSBAZW52e1BBVEh9CmRpZmYgLS1naXQgYS9l
eHByLmMgYi9leHByLmMKaW5kZXggYzFmMmUzMy4uZTIyM2M0YSAxMDA2NDQKLS0tIGEvZXhwci5j
CisrKyBiL2V4cHIuYwpAQCAtODYsNiArODYsNyBAQAogI2luY2x1ZGUgImV4ZWN1dGVfY21kLmgi
CiAjaW5jbHVkZSAiZmxhZ3MuaCIKICNpbmNsdWRlICJzdWJzdC5oIgorI2luY2x1ZGUgIm1iaWRl
bnQuaCIKICNpbmNsdWRlICJ0eXBlbWF4LmgiCQkvKiBJTlRNQVhfTUFYLCBJTlRNQVhfTUlOICov
CiAKICNpbmNsdWRlICJidWlsdGlucy9jb21tb24uaCIJLyogdGhpc19zaGVsbF9idWlsdGluICov
CkBAIC0xMzQxLDE4ICsxMzQyLDQ3IEBAIHJlYWR0b2sgKHZvaWQpCiAgICAgfQogICBsYXN0dHAg
PSB0cCA9IGNwIC0gMTsKIAotICBpZiAobGVnYWxfdmFyaWFibGVfc3RhcnRlciAoYykpCisgIGlm
IChsZWdhbF92YXJpYWJsZV9zdGFydGVyIChjKSB8fCBNQklERU5UX1NUQVJURVJfUCAoY3AgLSAx
KSkKICAgICB7CiAgICAgICAvKiB2YXJpYWJsZSBuYW1lcyBub3QgcHJlY2VkZWQgd2l0aCBhIGRv
bGxhciBzaWduIGFyZSBzaGVsbCB2YXJpYWJsZXMuICovCiAgICAgICBjaGFyICpzYXZlY3A7CiAg
ICAgICBFWFBSX0NPTlRFWFQgZWM7CiAgICAgICBpbnQgcGVla3RvazsKKyNpZiBkZWZpbmVkIChI
QU5ETEVfTVVMVElCWVRFKQorICAgICAgaW50IG1ibCwgc2F3bWI7CiAKLSAgICAgIHdoaWxlIChs
ZWdhbF92YXJpYWJsZV9jaGFyIChjKSkKLQljID0gKmNwKys7CisgICAgICBzYXdtYiA9IDA7Cisj
ZW5kaWYKKworICAgICAgZm9yICg7OykKKwl7CisJICBpZiAobGVnYWxfdmFyaWFibGVfY2hhciAo
YykpCisJICAgIHsKKwkgICAgICBjID0gKmNwKys7CisJICAgICAgY29udGludWU7CisJICAgIH0K
KyNpZiBkZWZpbmVkIChIQU5ETEVfTVVMVElCWVRFKQorCSAgaWYgKGMgPj0gMHg4MCAmJiBNQklE
RU5UX0FDVElWRSAoKSAmJiAobWJsID0gbWJpZGVudF9jb250X2xlbiAoY3AgLSAxKSkpCisJICAg
IHsKKwkgICAgICBjcCArPSBtYmwgLSAxOworCSAgICAgIGMgPSAqY3ArKzsKKwkgICAgICBzYXdt
YiA9IDE7CisJICAgICAgY29udGludWU7CisJICAgIH0KKyNlbmRpZgorCSAgYnJlYWs7CisJfQog
CiAgICAgICBjID0gKi0tY3A7CiAKKyNpZiBkZWZpbmVkIChIQU5ETEVfTVVMVElCWVRFKQorICAg
ICAgLyogSW5zaXN0IG9uIE5vcm1hbGl6YXRpb24gRm9ybSBDIGZvciB0aGUgbmFtZSBhcyBhIHdo
b2xlOyBzZWUKKwkgbWJpZGVudC5jLiAgVGhpcyBrZWVwcyBhcml0aG1ldGljIGFzc2lnbm1lbnRz
IGNvbnNpc3RlbnQgd2l0aAorCSBhc3NpZ25tZW50IHN0YXRlbWVudHMuICovCisgICAgICBpZiAo
c2F3bWIgJiYgbWJpZGVudF92YWxpZF9uYW1lX2xlbiAodHAsIChzaXplX3QpKGNwIC0gdHApKSA9
PSAwKQorCWV2YWxlcnJvciAoXygiaW52YWxpZCBtdWx0aWJ5dGUgdmFyaWFibGUgbmFtZSIpKTsK
KyNlbmRpZgorCiAjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKICAgICAgIGlmIChjID09ICdbJykK
IAl7CkBAIC0xNDc2LDcgKzE1MDYsNyBAQCByZWFkdG9rICh2b2lkKQogCSAgeHAgPSBjcDsKIAkg
IHdoaWxlICh4cCAmJiAqeHAgJiYgY3Jfd2hpdGVzcGFjZSAoKnhwKSkKIAkgICAgeHArKzsKLQkg
IGlmIChsZWdhbF92YXJpYWJsZV9zdGFydGVyICgodW5zaWduZWQgY2hhcikqeHApKQorCSAgaWYg
KGxlZ2FsX3ZhcmlhYmxlX3N0YXJ0ZXIgKCh1bnNpZ25lZCBjaGFyKSp4cCkgfHwgTUJJREVOVF9T
VEFSVEVSX1AgKHhwKSkKIAkgICAgYyA9IChjID09ICctJykgPyBQUkVERUMgOiBQUkVJTkM7CiAJ
ICBlbHNlCiAJICAgIC8qIENvdWxkIGZvcmNlIHBhcnNpbmcgYXMgcHJlaW5jIG9yIHByZWRlYyBh
bmQgdGhyb3cgYW4gZXJyb3IgKi8KZGlmZiAtLWdpdCBhL2dlbmVyYWwuYyBiL2dlbmVyYWwuYwpp
bmRleCBhZWZmZGE1Li45ZmFiNThkIDEwMDY0NAotLS0gYS9nZW5lcmFsLmMKKysrIGIvZ2VuZXJh
bC5jCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAic2hlbGwuaCIKICNpbmNsdWRlICJwYXJz
ZXIuaCIKICNpbmNsdWRlICJmbGFncy5oIgorI2luY2x1ZGUgIm1iaWRlbnQuaCIKICNpbmNsdWRl
ICJmaW5kY21kLmgiCiAjaW5jbHVkZSAidGVzdC5oIgogI2luY2x1ZGUgInRyYXAuaCIKQEAgLTI4
MywxNCArMjg0LDI0IEBAIHZhbGlkX251bWJlciAoY29uc3QgY2hhciAqc3RyaW5nLCBpbnRtYXhf
dCAqcmVzdWx0KQogCiAvKiBSZXR1cm4gMSBpZiB0aGlzIHRva2VuIGlzIGEgdmFsaWQgc2hlbGwg
YGlkZW50aWZpZXInOyB0aGF0IGlzLCBpdCBjb25zaXN0cwogICAgc29sZWx5IG9mIGxldHRlcnMs
IGRpZ2l0cywgYW5kIHVuZGVyc2NvcmVzLCBhbmQgZG9lcyBub3QgYmVnaW4gd2l0aCBhCi0gICBk
aWdpdC4gKi8KKyAgIGRpZ2l0LiAgSWYgdGhlIGBtdWx0aWJ5dGVfaWRlbnRpZmllcnMnIHNoZWxs
IG9wdGlvbiBpcyBlbmFibGVkIGluIGEgVVRGLTgKKyAgIGxvY2FsZSwgWElEX1N0YXJ0IGFuZCBY
SURfQ29udGludWUgY2hhcmFjdGVycyBhcmUgYWRkaXRpb25hbGx5IGFjY2VwdGVkOworICAgc2Vl
IG1iaWRlbnQuYy4gKi8KIGludAogdmFsaWRfaWRlbnRpZmllciAoY29uc3QgY2hhciAqbmFtZSkK
IHsKICAgcmVnaXN0ZXIgY29uc3QgY2hhciAqczsKICAgdW5zaWduZWQgY2hhciBjOwogCi0gIGlm
ICghbmFtZSB8fCAhKGMgPSAqbmFtZSkgfHwgKGxlZ2FsX3ZhcmlhYmxlX3N0YXJ0ZXIgKGMpID09
IDApKQorICBpZiAoIW5hbWUgfHwgIShjID0gKm5hbWUpKQorICAgIHJldHVybiAoMCk7CisKKyNp
ZiBkZWZpbmVkIChIQU5ETEVfTVVMVElCWVRFKQorICBpZiAoTUJJREVOVF9BQ1RJVkUgKCkpCisg
ICAgcmV0dXJuIChtYmlkZW50X3ZhbGlkX25hbWUgKG5hbWUpKTsKKyNlbmRpZgorCisgIGlmIChs
ZWdhbF92YXJpYWJsZV9zdGFydGVyIChjKSA9PSAwKQogICAgIHJldHVybiAoMCk7CiAKICAgZm9y
IChzID0gbmFtZSArIDE7IChjID0gKnMpICE9IDA7IHMrKykKQEAgLTQ4MSw2ICs0OTIsMTEgQEAg
YXNzaWdubWVudCAoY29uc3QgY2hhciAqc3RyaW5nLCBpbnQgZmxhZ3MpCiB7CiAgIHVuc2lnbmVk
IGNoYXIgYzsKICAgaW50IG5ld2ksIGluZHg7CisjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllU
RSkKKyAgaW50IG1ibGVuLCBzYXdtYjsKKworICBzYXdtYiA9IDA7CisjZW5kaWYKIAogICBjID0g
c3RyaW5nW2luZHggPSAwXTsKIApAQCAtNDk1LDkgKzUxMSwxMCBAQCBhc3NpZ25tZW50IChjb25z
dCBjaGFyICpzdHJpbmcsIGludCBmbGFncykKICAgICAgc3RhdGVtZW50IG90aGVyd2lzZSwgd2Ug
ZG9uJ3Qgd2FudCB0byB0cmVhdCBpdCBhcyBvbmUuICovCiAgIGlmICgoZmxhZ3MgJiAxKSAmJiBj
ICE9ICdbJykJCS8qIF0gKi8KICAgICByZXR1cm4gKDApOwotICBlbHNlIGlmICgoZmxhZ3MgJiAx
KSA9PSAwICYmIGxlZ2FsX3ZhcmlhYmxlX3N0YXJ0ZXIgKGMpID09IDApCisgIGVsc2UgaWYgKChm
bGFncyAmIDEpID09IDAgJiYgbGVnYWxfdmFyaWFibGVfc3RhcnRlciAoYykgPT0gMCAmJgorCSAg
IE1CSURFTlRfU1RBUlRFUl9QIChzdHJpbmcpID09IDApCiAjZWxzZQotICBpZiAobGVnYWxfdmFy
aWFibGVfc3RhcnRlciAoYykgPT0gMCkKKyAgaWYgKGxlZ2FsX3ZhcmlhYmxlX3N0YXJ0ZXIgKGMp
ID09IDAgJiYgTUJJREVOVF9TVEFSVEVSX1AgKHN0cmluZykgPT0gMCkKICNlbmRpZgogICAgIHJl
dHVybiAoMCk7CiAKQEAgLTUwNiwxMSArNTIzLDIyIEBAIGFzc2lnbm1lbnQgKGNvbnN0IGNoYXIg
KnN0cmluZywgaW50IGZsYWdzKQogICAgICAgLyogVGhlIGZvbGxvd2luZyBpcyBzYWZlLiAgTm90
ZSB0aGF0ICc9JyBhdCB0aGUgc3RhcnQgb2YgYSB3b3JkCiAJIGlzIG5vdCBhbiBhc3NpZ25tZW50
IHN0YXRlbWVudC4gKi8KICAgICAgIGlmIChjID09ICc9JykKKyNpZiBkZWZpbmVkIChIQU5ETEVf
TVVMVElCWVRFKQorCS8qIElmIHRoZSBuYW1lIGNvbnRhaW5zIG11bHRpYnl0ZSBjaGFyYWN0ZXJz
LCBpbnNpc3QgdGhhdCB0aGUgd2hvbGUKKwkgICBvZiBpdCBzYXRpc2ZpZXMgbWJpZGVudF92YWxp
ZF9uYW1lX2xlbiwgd2hpY2ggYWRkaXRpb25hbGx5CisJICAgdmVyaWZpZXMgTm9ybWFsaXphdGlv
biBGb3JtIEMuICovCisJcmV0dXJuICgoc2F3bWIgPT0gMCB8fCBtYmlkZW50X3ZhbGlkX25hbWVf
bGVuIChzdHJpbmcsIChzaXplX3QpaW5keCkpID8gaW5keCA6IDApOworI2Vsc2UKIAlyZXR1cm4g
KGluZHgpOworI2VuZGlmCiAKICNpZiBkZWZpbmVkIChBUlJBWV9WQVJTKQogICAgICAgaWYgKGMg
PT0gJ1snKQogCXsKKyNpZiBkZWZpbmVkIChIQU5ETEVfTVVMVElCWVRFKQorCSAgaWYgKHNhd21i
ICYmIG1iaWRlbnRfdmFsaWRfbmFtZV9sZW4gKHN0cmluZywgKHNpemVfdClpbmR4KSA9PSAwKQor
CSAgICByZXR1cm4gKDApOworI2VuZGlmCiAJICBuZXdpID0gc2tpcHN1YnNjcmlwdCAoc3RyaW5n
LCBpbmR4LCAoZmxhZ3MgJiAyKSA/IDEgOiAwKTsKIAkgIC8qIFhYWCAtIHdoeSBub3QgY2hlY2sg
Zm9yIGJsYW5rIHN1YnNjcmlwdHMgaGVyZSwgaWYgd2UgZG8gaW4KIAkgICAgIHZhbGlkX2FycmF5
X3JlZmVyZW5jZT8gKi8KQEAgLTUyNCw3ICs1NTIsMjQgQEAgYXNzaWdubWVudCAoY29uc3QgY2hh
ciAqc3RyaW5nLCBpbnQgZmxhZ3MpCiAKICAgICAgIC8qIENoZWNrIGZvciBgKz0nICovCiAgICAg
ICBpZiAoYyA9PSAnKycgJiYgc3RyaW5nW2luZHgrMV0gPT0gJz0nKQorI2lmIGRlZmluZWQgKEhB
TkRMRV9NVUxUSUJZVEUpCisJcmV0dXJuICgoc2F3bWIgPT0gMCB8fCBtYmlkZW50X3ZhbGlkX25h
bWVfbGVuIChzdHJpbmcsIChzaXplX3QpaW5keCkpID8gaW5keCArIDEgOiAwKTsKKyNlbHNlCiAJ
cmV0dXJuIChpbmR4ICsgMSk7CisjZW5kaWYKKworI2lmIGRlZmluZWQgKEhBTkRMRV9NVUxUSUJZ
VEUpCisgICAgICAvKiBDb25zdW1lIGEgVVRGLTggaWRlbnRpZmllciBjaGFyYWN0ZXIgaWYgdGhl
IG11bHRpYnl0ZV9pZGVudGlmaWVycworCSBzaGVsbCBvcHRpb24gcGVybWl0cyBpdC4gKi8KKyAg
ICAgIGlmIChjID49IDB4ODAgJiYgTUJJREVOVF9BQ1RJVkUgKCkpCisJeworCSAgaWYgKChtYmxl
biA9IG1iaWRlbnRfY29udF9sZW4gKHN0cmluZyArIGluZHgpKSA9PSAwKQorCSAgICByZXR1cm4g
KDApOworCSAgaW5keCArPSBtYmxlbjsKKwkgIHNhd21iID0gMTsKKwkgIGNvbnRpbnVlOworCX0K
KyNlbmRpZgogCiAgICAgICAvKiBWYXJpYWJsZSBuYW1lcyBpbiBhc3NpZ25tZW50IHN0YXRlbWVu
dHMgbWF5IGNvbnRhaW4gb25seSBsZXR0ZXJzLAogCSBkaWdpdHMsIGFuZCBgXycuICovCmRpZmYg
LS1naXQgYS9tYmlkZW50LmMgYi9tYmlkZW50LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uYWZlN2IzYgotLS0gL2Rldi9udWxsCisrKyBiL21iaWRlbnQuYwpAQCAtMCwwICsx
LDI3MSBAQAorLyogbWJpZGVudC5jIC0tIG11bHRpYnl0ZSBzaGVsbCBpZGVudGlmaWVycyAoZXhw
ZXJpbWVudGFsKS4gKi8KKworLyogQ29weXJpZ2h0IChDKSAyMDI2IEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLgorCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJv
dXJuZSBBZ2FpbiBTSGVsbC4KKworICAgQmFzaCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IK
KyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIEJhc2ggaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
CisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCBCYXNoLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93
d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKi8KKworLyogV2hlbiB0aGUgYG11bHRpYnl0ZV9pZGVu
dGlmaWVycycgc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQgaW4gYSBVVEYtOAorICAgbG9jYWxlLCBz
aGVsbCBpZGVudGlmaWVycyBtYXkgYWRkaXRpb25hbGx5IGNvbnRhaW4gbm9uLUFTQ0lJCisgICBj
aGFyYWN0ZXJzLiAgVGhlIGFjY2VwdGVkIHJlcGVydG9pcmUgZm9sbG93cyB0aGUgZGVmYXVsdCBp
ZGVudGlmaWVyCisgICBzeW50YXggb2YgVUFYICMzMSB3aXRoIHRoZSBYSURfU3RhcnQgYW5kIFhJ
RF9Db250aW51ZSBwcm9wZXJ0aWVzICh0aGUKKyAgIHNldCBvZiBjaGFyYWN0ZXJzIHRoZSBSdXN0
IGxhbmd1YWdlIGFjY2VwdHMgaW4gaWRlbnRpZmllcnMpLCBhbmQKKyAgIGlkZW50aWZpZXJzIGFy
ZSByZXF1aXJlZCB0byBiZSBpbiBVbmljb2RlIE5vcm1hbGl6YXRpb24gRm9ybSBDLCB3aGljaAor
ICAgaXMgdmVyaWZpZWQgd2l0aCB0aGUgTkZDIHF1aWNrIGNoZWNrIG9mIFVBWCAjMTUuICBTZXF1
ZW5jZXMgd2hvc2UgTkZDCisgICBzdGF0dXMgdGhlIHF1aWNrIGNoZWNrIGNhbm5vdCBjb25maXJt
IGFyZSByZWplY3RlZCwgc28gZXZlcnkgYWNjZXB0ZWQKKyAgIGlkZW50aWZpZXIgaXMgZ3VhcmFu
dGVlZCB0byBiZSBpbiBORkMgYW5kIHR3byBpZGVudGlmaWVycyBhcmUgZXF1YWwKKyAgIGV4YWN0
bHkgd2hlbiB0aGVpciBieXRlIHN0cmluZ3MgYXJlLgorCisgICBBU0NJSSBjaGFyYWN0ZXJzIGFy
ZSBnb3Zlcm5lZCBleGNsdXNpdmVseSBieSB0aGUgaGlzdG9yaWNhbAorICAgbGVnYWxfdmFyaWFi
bGVfc3RhcnRlciBhbmQgbGVnYWxfdmFyaWFibGVfY2hhciBtYWNyb3M7IHRoZSB0YWJsZXMgaW4K
KyAgIG1iaWR0YmwuaCBkZWxpYmVyYXRlbHkgYmVnaW4gYXQgVSswMDgwLCBzbyB0dXJuaW5nIHRo
ZSBvcHRpb24gb24gY2FuCisgICBuZXZlciBjaGFuZ2UgdGhlIHRyZWF0bWVudCBvZiBhIHBvcnRh
YmxlIHNjcmlwdC4gKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgZGVmaW5lZCAoSEFO
RExFX01VTFRJQllURSkKKworI2luY2x1ZGUgImJhc2h0eXBlcy5oIgorI2luY2x1ZGUgInBvc2l4
c3RhdC5oIgorI2luY2x1ZGUgImJhc2hhbnNpLmgiCisjaW5jbHVkZSAiY2hhcnR5cGVzLmgiCisK
KyNpbmNsdWRlICJzaGVsbC5oIgorI2luY2x1ZGUgIm1iaWRlbnQuaCIKKyNpbmNsdWRlICJtYmlk
dGJsLmgiCisKK2ludCBtdWx0aWJ5dGVfaWRlbnRpZmllcnMgPSAwOworCisvKiBUaGUgc3RhdGUg
bGFzdCBlc3RhYmxpc2hlZCBieSBtYmlkZW50X2luaXQoKSBvciBhY2NlcHRlZCBieSB0aGUgc2hv
cHQKKyAgIHNldCBmdW5jdGlvbi4gIFRoZSBzaG9wdCBtYWNoaW5lcnkgb3ZlcndyaXRlcyBtdWx0
aWJ5dGVfaWRlbnRpZmllcnMKKyAgIGJlZm9yZSB0aGUgc2V0IGZ1bmN0aW9uIHJ1bnMsIHNvIHRo
ZSBzZXQgZnVuY3Rpb24gbmVlZHMgdGhpcyBzZXBhcmF0ZQorICAgcmVjb3JkIG9mIHRoZSBwcmV2
aW91cyBzdGF0ZSB0byB0ZWxsIGEgcmVhbCBzdGF0ZSBjaGFuZ2UgKHJvb3Qgb25seSkKKyAgIGZy
b20gYSByZWR1bmRhbnQgdG9nZ2xlIChhIG5vLW9wIGZvciBldmVyeW9uZSkuICovCitpbnQgbWJp
ZGVudF9hY2NlcHRlZCA9IDA7CisKKy8qIENhbGxlZCBlYXJseSBpbiBtYWluKCk6IHRoZSBjb25z
ZW50IGZpbGUgaXMgdGhlIHN5c3RlbS13aWRlIHN3aXRjaCwgc28KKyAgIGEgbmV3bHkgc3RhcnRl
ZCBzaGVsbCBzaW1wbHkgYWRvcHRzIGl0cyBzdGF0ZS4gIFRoZSBsb2NhbGUgcmVxdWlyZW1lbnQK
KyAgIGlzIGVuZm9yY2VkIGR5bmFtaWNhbGx5IGJ5IE1CSURFTlRfQUNUSVZFKCkuICBSb290IG1h
eSBzdGlsbCBvdmVycmlkZQorICAgdGhlIHN0YXRlIGZvciBhIHNpbmdsZSBzaGVsbCB3aXRoIGBz
aG9wdCcuICovCit2b2lkCittYmlkZW50X2luaXQgKHZvaWQpCit7CisgIHN0cnVjdCBzdGF0IHNi
OworCisgIG11bHRpYnl0ZV9pZGVudGlmaWVycyA9IG1iaWRlbnRfYWNjZXB0ZWQgPSAoc3RhdCAo
TUJJREVOVF9TWVNURU1fRklMRSwgJnNiKSA9PSAwKTsKK30KKworLyogRGVjb2RlIHRoZSBVVEYt
OCBzZXF1ZW5jZSBiZWdpbm5pbmcgYXQgUywgb2Ygd2hpY2ggYXQgbW9zdCBBVkFJTCBieXRlcwor
ICAgbWF5IGJlIGV4YW1pbmVkLCBpbnRvICpDUFAuICBSZXR1cm4gdGhlIGxlbmd0aCBvZiB0aGUg
c2VxdWVuY2UgaW4KKyAgIGJ5dGVzLCBvciAwIGlmIFMgZG9lcyBub3QgYmVnaW4gYSB2YWxpZCBz
ZXF1ZW5jZS4gIFRoZSBkZWNvZGVyIGlzCisgICBzdHJpY3Q6IG92ZXJsb25nIGVuY29kaW5ncywg
c3Vycm9nYXRlcywgYW5kIGNvZGVwb2ludHMgYWJvdmUgVSsxMEZGRkYKKyAgIGFyZSByZWplY3Rl
ZC4gIEEgTlVMIGJ5dGUgaXMgbmV2ZXIgYSB2YWxpZCBjb250aW51YXRpb24gYnl0ZSwgc28KKyAg
IE5VTC10ZXJtaW5hdGVkIHN0cmluZ3MgbWF5IGJlIHBhc3NlZCB3aXRoIGEgZ2VuZXJvdXMgQVZB
SUwuICovCitzdGF0aWMgaW50CittYmlkX3V0ZjhfZGVjb2RlIChjb25zdCBjaGFyICpzLCBzaXpl
X3QgYXZhaWwsIHVfYml0czMyX3QgKmNwcCkKK3sKKyAgY29uc3QgdW5zaWduZWQgY2hhciAqdTsK
KyAgdV9iaXRzMzJfdCBjcDsKKyAgaW50IG4sIGk7CisKKyAgdSA9IChjb25zdCB1bnNpZ25lZCBj
aGFyICopczsKKyAgaWYgKGF2YWlsID09IDApCisgICAgcmV0dXJuIDA7CisKKyAgaWYgKHVbMF0g
PCAweDgwKQorICAgIHsKKyAgICAgICpjcHAgPSB1WzBdOworICAgICAgcmV0dXJuIDE7CisgICAg
fQorICBlbHNlIGlmICgodVswXSAmIDB4RTApID09IDB4QzApCisgICAgeworICAgICAgY3AgPSB1
WzBdICYgMHgxRjsKKyAgICAgIG4gPSAyOworICAgIH0KKyAgZWxzZSBpZiAoKHVbMF0gJiAweEYw
KSA9PSAweEUwKQorICAgIHsKKyAgICAgIGNwID0gdVswXSAmIDB4MEY7CisgICAgICBuID0gMzsK
KyAgICB9CisgIGVsc2UgaWYgKCh1WzBdICYgMHhGOCkgPT0gMHhGMCkKKyAgICB7CisgICAgICBj
cCA9IHVbMF0gJiAweDA3OworICAgICAgbiA9IDQ7CisgICAgfQorICBlbHNlCisgICAgcmV0dXJu
IDA7CQkvKiBjb250aW51YXRpb24gYnl0ZSBvciBpbnZhbGlkIGxlYWRpbmcgYnl0ZSAqLworCisg
IGlmICgoc2l6ZV90KW4gPiBhdmFpbCkKKyAgICByZXR1cm4gMDsKKworICBmb3IgKGkgPSAxOyBp
IDwgbjsgaSsrKQorICAgIHsKKyAgICAgIGlmICgodVtpXSAmIDB4QzApICE9IDB4ODApCisJcmV0
dXJuIDA7CisgICAgICBjcCA9IChjcCA8PCA2KSB8ICh1W2ldICYgMHgzRik7CisgICAgfQorCisg
IGlmIChjcCA+IDB4MTBGRkZGIHx8IChjcCA+PSAweEQ4MDAgJiYgY3AgPD0gMHhERkZGKSkKKyAg
ICByZXR1cm4gMDsKKyAgaWYgKChuID09IDIgJiYgY3AgPCAweDgwKSB8fCAobiA9PSAzICYmIGNw
IDwgMHg4MDApIHx8IChuID09IDQgJiYgY3AgPCAweDEwMDAwKSkKKyAgICByZXR1cm4gMDsJCS8q
IG92ZXJsb25nIGVuY29kaW5nICovCisKKyAgKmNwcCA9IGNwOworICByZXR1cm4gbjsKK30KKwor
LyogUmV0dXJuIDEgaWYgQ1AgbGllcyBpbiBvbmUgb2YgdGhlIE4gc29ydGVkLCBkaXNqb2ludCBy
YW5nZXMgb2YgVEJMLiAqLworc3RhdGljIGludAorbWJpZF9pbl9yYW5nZXMgKHVfYml0czMyX3Qg
Y3AsIGNvbnN0IE1CSURfUkFOR0UgKnRibCwgc2l6ZV90IG4pCit7CisgIHNpemVfdCBsbywgaGks
IG1pZDsKKworICBsbyA9IDA7CisgIGhpID0gbjsKKyAgd2hpbGUgKGxvIDwgaGkpCisgICAgewor
ICAgICAgbWlkID0gbG8gKyAoaGkgLSBsbykgLyAyOworICAgICAgaWYgKGNwIDwgdGJsW21pZF0u
Zmlyc3QpCisJaGkgPSBtaWQ7CisgICAgICBlbHNlIGlmIChjcCA+IHRibFttaWRdLmxhc3QpCisJ
bG8gPSBtaWQgKyAxOworICAgICAgZWxzZQorCXJldHVybiAxOworICAgIH0KKyAgcmV0dXJuIDA7
Cit9CisKKy8qIFJldHVybiB0aGUgY2Fub25pY2FsIGNvbWJpbmluZyBjbGFzcyBvZiBDUCwgb3Ig
MC4gKi8KK3N0YXRpYyB1bnNpZ25lZCBjaGFyCittYmlkX2NvbWJpbmluZ19jbGFzcyAodV9iaXRz
MzJfdCBjcCkKK3sKKyAgc2l6ZV90IGxvLCBoaSwgbWlkOworCisgIGxvID0gMDsKKyAgaGkgPSBN
QklEX0NDQ19MRU47CisgIHdoaWxlIChsbyA8IGhpKQorICAgIHsKKyAgICAgIG1pZCA9IGxvICsg
KGhpIC0gbG8pIC8gMjsKKyAgICAgIGlmIChjcCA8IG1iaWRfY2NjW21pZF0uZmlyc3QpCisJaGkg
PSBtaWQ7CisgICAgICBlbHNlIGlmIChjcCA+IG1iaWRfY2NjW21pZF0ubGFzdCkKKwlsbyA9IG1p
ZCArIDE7CisgICAgICBlbHNlCisJcmV0dXJuIG1iaWRfY2NjW21pZF0uY2NjOworICAgIH0KKyAg
cmV0dXJuIDA7Cit9CisKKy8qIElmIFMgcG9pbnRzIGF0IGEgVVRGLTggc2VxdWVuY2UgZW5jb2Rp
bmcgYW4gWElEX1N0YXJ0IGNoYXJhY3RlciwgcmV0dXJuCisgICB0aGUgbGVuZ3RoIG9mIHRoZSBz
ZXF1ZW5jZSBpbiBieXRlcywgZWxzZSAwLiAgUyBtdXN0IGJlIHJlYWRhYmxlIHVwIHRvCisgICBp
dHMgZmlyc3QgaW52YWxpZCBjb250aW51YXRpb24gYnl0ZSBvciBmb3IgZm91ciBieXRlcywgd2hp
Y2hldmVyIGNvbWVzCisgICBmaXJzdDsgTlVMLXRlcm1pbmF0ZWQgc3RyaW5ncyBhbHdheXMgc2F0
aXNmeSB0aGlzLiAgQVNDSUkgcmV0dXJucyAwOgorICAgdGhlIGhpc3RvcmljYWwgbWFjcm9zIHJl
bWFpbiByZXNwb25zaWJsZSBmb3IgdGhhdCByYW5nZS4gKi8KK2ludAorbWJpZGVudF9zdGFydF9s
ZW4gKGNvbnN0IGNoYXIgKnMpCit7CisgIHVfYml0czMyX3QgY3A7CisgIGludCBuOworCisgIGlm
ICgodW5zaWduZWQgY2hhcikqcyA8IDB4ODApCisgICAgcmV0dXJuIDA7CisgIG4gPSBtYmlkX3V0
ZjhfZGVjb2RlIChzLCAoc2l6ZV90KTQsICZjcCk7CisgIGlmIChuID09IDApCisgICAgcmV0dXJu
IDA7CisgIGlmIChtYmlkX2luX3JhbmdlcyAoY3AsIG1iaWRfbmZjX25vdF95ZXMsIE1CSURfTkZD
X05PVF9ZRVNfTEVOKSkKKyAgICByZXR1cm4gMDsJCS8qIG5ldmVyIHNjYW4gY2hhcmFjdGVycyB0
aGF0IE5GQyB3b3VsZCByZXdyaXRlICovCisgIHJldHVybiAobWJpZF9pbl9yYW5nZXMgKGNwLCBt
YmlkX3hpZF9zdGFydCwgTUJJRF9YSURfU1RBUlRfTEVOKSA/IG4gOiAwKTsKK30KKworLyogQXMg
YWJvdmUsIGZvciBYSURfQ29udGludWUuICovCitpbnQKK21iaWRlbnRfY29udF9sZW4gKGNvbnN0
IGNoYXIgKnMpCit7CisgIHVfYml0czMyX3QgY3A7CisgIGludCBuOworCisgIGlmICgodW5zaWdu
ZWQgY2hhcikqcyA8IDB4ODApCisgICAgcmV0dXJuIDA7CisgIG4gPSBtYmlkX3V0ZjhfZGVjb2Rl
IChzLCAoc2l6ZV90KTQsICZjcCk7CisgIGlmIChuID09IDApCisgICAgcmV0dXJuIDA7CisgIGlm
IChtYmlkX2luX3JhbmdlcyAoY3AsIG1iaWRfbmZjX25vdF95ZXMsIE1CSURfTkZDX05PVF9ZRVNf
TEVOKSkKKyAgICByZXR1cm4gMDsJCS8qIG5ldmVyIHNjYW4gY2hhcmFjdGVycyB0aGF0IE5GQyB3
b3VsZCByZXdyaXRlICovCisgIHJldHVybiAobWJpZF9pbl9yYW5nZXMgKGNwLCBtYmlkX3hpZF9j
b250LCBNQklEX1hJRF9DT05UX0xFTikgPyBuIDogMCk7Cit9CisKKy8qIFJldHVybiAxIGlmIHRo
ZSBMRU4gYnl0ZXMgYmVnaW5uaW5nIGF0IE5BTUUgZm9ybSBhIHZhbGlkIG11bHRpYnl0ZQorICAg
aWRlbnRpZmllcjogYW4gQVNDSUkgbGV0dGVyLCBgXycsIG9yIFhJRF9TdGFydCBjaGFyYWN0ZXIg
Zm9sbG93ZWQgYnkKKyAgIEFTQ0lJIGxldHRlcnMsIGRpZ2l0cywgYF8nLCBvciBYSURfQ29udGlu
dWUgY2hhcmFjdGVycywgdGhlIHdob2xlIGluCisgICBOb3JtYWxpemF0aW9uIEZvcm0gQyBhcyBl
c3RhYmxpc2hlZCBieSB0aGUgTkZDIHF1aWNrIGNoZWNrLiAgTkFNRSBuZWVkCisgICBub3QgYmUg
TlVMLXRlcm1pbmF0ZWQgYXQgTEVOLiAqLworaW50CittYmlkZW50X3ZhbGlkX25hbWVfbGVuIChj
b25zdCBjaGFyICpuYW1lLCBzaXplX3QgbGVuKQoreworICBzaXplX3QgaTsKKyAgdV9iaXRzMzJf
dCBjcDsKKyAgaW50IG4sIGZpcnN0OworICB1bnNpZ25lZCBjaGFyIGMsIGNjYywgbGFzdF9jY2M7
CisKKyAgaWYgKG5hbWUgPT0gMCB8fCBsZW4gPT0gMCkKKyAgICByZXR1cm4gMDsKKworICBsYXN0
X2NjYyA9IDA7CisgIGZvciAoaSA9IDAsIGZpcnN0ID0gMTsgaSA8IGxlbjsgaSArPSBuLCBmaXJz
dCA9IDApCisgICAgeworICAgICAgYyA9ICh1bnNpZ25lZCBjaGFyKW5hbWVbaV07CisgICAgICBp
ZiAoYyA8IDB4ODApCisJeworCSAgaWYgKChmaXJzdCA/IGxlZ2FsX3ZhcmlhYmxlX3N0YXJ0ZXIg
KGMpIDogbGVnYWxfdmFyaWFibGVfY2hhciAoYykpID09IDApCisJICAgIHJldHVybiAwOworCSAg
biA9IDE7CisJICBsYXN0X2NjYyA9IDA7CisJICBjb250aW51ZTsKKwl9CisKKyAgICAgIG4gPSBt
YmlkX3V0ZjhfZGVjb2RlIChuYW1lICsgaSwgbGVuIC0gaSwgJmNwKTsKKyAgICAgIGlmIChuID09
IDApCisJcmV0dXJuIDA7CisgICAgICBpZiAoZmlyc3QpCisJeworCSAgaWYgKG1iaWRfaW5fcmFu
Z2VzIChjcCwgbWJpZF94aWRfc3RhcnQsIE1CSURfWElEX1NUQVJUX0xFTikgPT0gMCkKKwkgICAg
cmV0dXJuIDA7CisJfQorICAgICAgZWxzZSBpZiAobWJpZF9pbl9yYW5nZXMgKGNwLCBtYmlkX3hp
ZF9jb250LCBNQklEX1hJRF9DT05UX0xFTikgPT0gMCkKKwlyZXR1cm4gMDsKKworICAgICAgLyog
TkZDIHF1aWNrIGNoZWNrIChVQVggIzE1KTogcmVqZWN0IGNoYXJhY3RlcnMgd2hvc2UgTkZDX1FD
CisJIHByb3BlcnR5IGlzIE5vIG9yIE1heWJlLCBhbmQgcmVxdWlyZSBjb21iaW5pbmcgbWFya3Mg
dG8gYXBwZWFyCisJIGluIGNhbm9uaWNhbCBvcmRlci4gKi8KKyAgICAgIGlmIChtYmlkX2luX3Jh
bmdlcyAoY3AsIG1iaWRfbmZjX25vdF95ZXMsIE1CSURfTkZDX05PVF9ZRVNfTEVOKSkKKwlyZXR1
cm4gMDsKKyAgICAgIGNjYyA9IG1iaWRfY29tYmluaW5nX2NsYXNzIChjcCk7CisgICAgICBpZiAo
Y2NjICE9IDAgJiYgbGFzdF9jY2MgPiBjY2MpCisJcmV0dXJuIDA7CisgICAgICBsYXN0X2NjYyA9
IGNjYzsKKyAgICB9CisKKyAgcmV0dXJuIDE7Cit9CisKKy8qIENvbnZlbmllbmNlIHdyYXBwZXIg
Zm9yIE5VTC10ZXJtaW5hdGVkIG5hbWVzLiAqLworaW50CittYmlkZW50X3ZhbGlkX25hbWUgKGNv
bnN0IGNoYXIgKm5hbWUpCit7CisgIHJldHVybiAobmFtZSA/IG1iaWRlbnRfdmFsaWRfbmFtZV9s
ZW4gKG5hbWUsIHN0cmxlbiAobmFtZSkpIDogMCk7Cit9CisKKyNlbmRpZiAvKiBIQU5ETEVfTVVM
VElCWVRFICovCmRpZmYgLS1naXQgYS9tYmlkZW50LmggYi9tYmlkZW50LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjMzOWNmYgotLS0gL2Rldi9udWxsCisrKyBiL21iaWRl
bnQuaApAQCAtMCwwICsxLDY2IEBACisvKiBtYmlkZW50LmggLS0gbXVsdGlieXRlIHNoZWxsIGlk
ZW50aWZpZXJzIChleHBlcmltZW50YWwpLiAqLworCisvKiBDb3B5cmlnaHQgKEMpIDIwMjYgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdO
VSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgorCisgICBCYXNoIGlzIGZyZWUgc29mdHdh
cmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgIGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo
ZSBMaWNlbnNlLCBvcgorICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKwor
ICAgQmFzaCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIEJhc2guICBJZiBub3Qs
IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisqLworCisjaWYgIWRlZmluZWQg
KF9NQklERU5UX0hfKQorI2RlZmluZSBfTUJJREVOVF9IXworCisjaW5jbHVkZSAic3RkYy5oIgor
CisjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKKworLyogTm9uLXplcm8gaWYgdGhlIGBt
dWx0aWJ5dGVfaWRlbnRpZmllcnMnIHNoZWxsIG9wdGlvbiBoYXMgYmVlbiBlbmFibGVkCisgICB3
aXRoIGBzaG9wdCcuICBFbmFibGluZyBpdCByZXF1aXJlcyBhIFVURi04IGxvY2FsZSBhbmQgdGhl
IHByZXNlbmNlIG9mCisgICBNQklERU5UX1NZU1RFTV9GSUxFIChzZWUgY29uZmlnLXRvcC5oKS4g
Ki8KK2V4dGVybiBpbnQgbXVsdGlieXRlX2lkZW50aWZpZXJzOworZXh0ZXJuIGludCBtYmlkZW50
X2FjY2VwdGVkOworCisvKiBUcnVlIHdoZW4gbXVsdGlieXRlIGlkZW50aWZpZXJzIG1heSBiZSB1
c2VkIHJpZ2h0IG5vdzogdGhlIHNoZWxsIG9wdGlvbgorICAgaXMgb24gYW5kIHRoZSBjdXJyZW50
IGxvY2FsZSB1c2VzIFVURi04ICh0dXJuaW5nIG9mZiB0aGUgbG9jYWxlIGF0IHJ1bgorICAgdGlt
ZSBxdWlldGx5IHN1c3BlbmRzIHRoZSBleHRlbmRlZCBzeW50YXgpLiAqLworI2RlZmluZSBNQklE
RU5UX0FDVElWRSgpIFwKKyAgKG11bHRpYnl0ZV9pZGVudGlmaWVycyAmJiBsb2NhbGVfdXRmOGxv
Y2FsZSkKKworLyogVHJ1ZSBpZiBTIHBvaW50cyBhdCBhIFVURi04IHNlcXVlbmNlIHRoYXQgbWF5
IHN0YXJ0IGFuIGlkZW50aWZpZXIuCisgICBBU0NJSSBpcyBsZWZ0IHRvIHRoZSBoaXN0b3JpY2Fs
IGxlZ2FsX3ZhcmlhYmxlX3N0YXJ0ZXIgbWFjcm8uICovCisjZGVmaW5lIE1CSURFTlRfU1RBUlRF
Ul9QKHMpIFwKKyAgKE1CSURFTlRfQUNUSVZFICgpICYmIG1iaWRlbnRfc3RhcnRfbGVuIChzKSA+
IDApCisKK2V4dGVybiB2b2lkIG1iaWRlbnRfaW5pdCAodm9pZCk7CisKK2V4dGVybiBpbnQgbWJp
ZGVudF9zdGFydF9sZW4gKGNvbnN0IGNoYXIgKik7CitleHRlcm4gaW50IG1iaWRlbnRfY29udF9s
ZW4gKGNvbnN0IGNoYXIgKik7CitleHRlcm4gaW50IG1iaWRlbnRfdmFsaWRfbmFtZSAoY29uc3Qg
Y2hhciAqKTsKK2V4dGVybiBpbnQgbWJpZGVudF92YWxpZF9uYW1lX2xlbiAoY29uc3QgY2hhciAq
LCBzaXplX3QpOworCisjZWxzZSAvKiAhSEFORExFX01VTFRJQllURSAqLworCisjZGVmaW5lIE1C
SURFTlRfQUNUSVZFKCkJCTAKKyNkZWZpbmUgTUJJREVOVF9TVEFSVEVSX1AocykJCTAKKworI2Rl
ZmluZSBtYmlkZW50X2luaXQoKQkJCWRvIHsgfSB3aGlsZSAoMCkKKworI2RlZmluZSBtYmlkZW50
X3N0YXJ0X2xlbihzKQkJMAorI2RlZmluZSBtYmlkZW50X2NvbnRfbGVuKHMpCQkwCisjZGVmaW5l
IG1iaWRlbnRfdmFsaWRfbmFtZShzKQkJMAorI2RlZmluZSBtYmlkZW50X3ZhbGlkX25hbWVfbGVu
KHMsIG4pCTAKKworI2VuZGlmIC8qICFIQU5ETEVfTVVMVElCWVRFICovCisKKyNlbmRpZiAvKiBf
TUJJREVOVF9IXyAqLwpkaWZmIC0tZ2l0IGEvbWJpZHRibC5oIGIvbWJpZHRibC5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliNTExMGIKLS0tIC9kZXYvbnVsbAorKysgYi9t
YmlkdGJsLmgKQEAgLTAsMCArMSw3MDMgQEAKKy8qIG1iaWR0YmwuaCAtLSBVbmljb2RlIHRhYmxl
cyBmb3IgbXVsdGlieXRlIHNoZWxsIGlkZW50aWZpZXJzLiAqLworCisvKiBHZW5lcmF0ZWQgYnkg
c3VwcG9ydC9ta21iaWR0YmwucHkgZnJvbSB0aGUgVW5pY29kZSBDaGFyYWN0ZXIgRGF0YWJhc2UK
KyAgIHZlcnNpb24gMTUuMC4wLiAgRG8gbm90IGVkaXQgdGhpcyBmaWxlIGJ5IGhhbmQuICovCisK
Ky8qIENvcHlyaWdodCAoQykgMjAyNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKwor
ICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwu
CisKKyAgIEJhc2ggaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yIG1vZGlmeQorICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisgICAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBCYXNoIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAg
IGFsb25nIHdpdGggQmFzaC4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z
ZXMvPi4KKyovCisKKyNpZiAhZGVmaW5lZCAoX01CSURUQkxfSF8pCisjZGVmaW5lIF9NQklEVEJM
X0hfCisKKyNkZWZpbmUgTUJJRF9VTklDT0RFX1ZFUlNJT04JIjE1LjAuMCIKKwordHlwZWRlZiBz
dHJ1Y3QgeworICB1X2JpdHMzMl90IGZpcnN0LCBsYXN0OworfSBNQklEX1JBTkdFOworCit0eXBl
ZGVmIHN0cnVjdCB7CisgIHVfYml0czMyX3QgZmlyc3QsIGxhc3Q7CisgIHVuc2lnbmVkIGNoYXIg
Y2NjOworfSBNQklEX0NDQ19SQU5HRTsKKworLyogWElEX1N0YXJ0IGNvZGVwb2ludHMgPj0gVSsw
MDgwLiAqLworc3RhdGljIGNvbnN0IE1CSURfUkFOR0UgbWJpZF94aWRfc3RhcnRbXSA9IHsKKyAg
eyAweDAwMEFBLCAweDAwMEFBIH0sIHsgMHgwMDBCNSwgMHgwMDBCNSB9LCB7IDB4MDAwQkEsIDB4
MDAwQkEgfSwKKyAgeyAweDAwMEMwLCAweDAwMEQ2IH0sIHsgMHgwMDBEOCwgMHgwMDBGNiB9LCB7
IDB4MDAwRjgsIDB4MDAyQzEgfSwKKyAgeyAweDAwMkM2LCAweDAwMkQxIH0sIHsgMHgwMDJFMCwg
MHgwMDJFNCB9LCB7IDB4MDAyRUMsIDB4MDAyRUMgfSwKKyAgeyAweDAwMkVFLCAweDAwMkVFIH0s
IHsgMHgwMDM3MCwgMHgwMDM3NCB9LCB7IDB4MDAzNzYsIDB4MDAzNzcgfSwKKyAgeyAweDAwMzdC
LCAweDAwMzdEIH0sIHsgMHgwMDM3RiwgMHgwMDM3RiB9LCB7IDB4MDAzODYsIDB4MDAzODYgfSwK
KyAgeyAweDAwMzg4LCAweDAwMzhBIH0sIHsgMHgwMDM4QywgMHgwMDM4QyB9LCB7IDB4MDAzOEUs
IDB4MDAzQTEgfSwKKyAgeyAweDAwM0EzLCAweDAwM0Y1IH0sIHsgMHgwMDNGNywgMHgwMDQ4MSB9
LCB7IDB4MDA0OEEsIDB4MDA1MkYgfSwKKyAgeyAweDAwNTMxLCAweDAwNTU2IH0sIHsgMHgwMDU1
OSwgMHgwMDU1OSB9LCB7IDB4MDA1NjAsIDB4MDA1ODggfSwKKyAgeyAweDAwNUQwLCAweDAwNUVB
IH0sIHsgMHgwMDVFRiwgMHgwMDVGMiB9LCB7IDB4MDA2MjAsIDB4MDA2NEEgfSwKKyAgeyAweDAw
NjZFLCAweDAwNjZGIH0sIHsgMHgwMDY3MSwgMHgwMDZEMyB9LCB7IDB4MDA2RDUsIDB4MDA2RDUg
fSwKKyAgeyAweDAwNkU1LCAweDAwNkU2IH0sIHsgMHgwMDZFRSwgMHgwMDZFRiB9LCB7IDB4MDA2
RkEsIDB4MDA2RkMgfSwKKyAgeyAweDAwNkZGLCAweDAwNkZGIH0sIHsgMHgwMDcxMCwgMHgwMDcx
MCB9LCB7IDB4MDA3MTIsIDB4MDA3MkYgfSwKKyAgeyAweDAwNzRELCAweDAwN0E1IH0sIHsgMHgw
MDdCMSwgMHgwMDdCMSB9LCB7IDB4MDA3Q0EsIDB4MDA3RUEgfSwKKyAgeyAweDAwN0Y0LCAweDAw
N0Y1IH0sIHsgMHgwMDdGQSwgMHgwMDdGQSB9LCB7IDB4MDA4MDAsIDB4MDA4MTUgfSwKKyAgeyAw
eDAwODFBLCAweDAwODFBIH0sIHsgMHgwMDgyNCwgMHgwMDgyNCB9LCB7IDB4MDA4MjgsIDB4MDA4
MjggfSwKKyAgeyAweDAwODQwLCAweDAwODU4IH0sIHsgMHgwMDg2MCwgMHgwMDg2QSB9LCB7IDB4
MDA4NzAsIDB4MDA4ODcgfSwKKyAgeyAweDAwODg5LCAweDAwODhFIH0sIHsgMHgwMDhBMCwgMHgw
MDhDOSB9LCB7IDB4MDA5MDQsIDB4MDA5MzkgfSwKKyAgeyAweDAwOTNELCAweDAwOTNEIH0sIHsg
MHgwMDk1MCwgMHgwMDk1MCB9LCB7IDB4MDA5NTgsIDB4MDA5NjEgfSwKKyAgeyAweDAwOTcxLCAw
eDAwOTgwIH0sIHsgMHgwMDk4NSwgMHgwMDk4QyB9LCB7IDB4MDA5OEYsIDB4MDA5OTAgfSwKKyAg
eyAweDAwOTkzLCAweDAwOUE4IH0sIHsgMHgwMDlBQSwgMHgwMDlCMCB9LCB7IDB4MDA5QjIsIDB4
MDA5QjIgfSwKKyAgeyAweDAwOUI2LCAweDAwOUI5IH0sIHsgMHgwMDlCRCwgMHgwMDlCRCB9LCB7
IDB4MDA5Q0UsIDB4MDA5Q0UgfSwKKyAgeyAweDAwOURDLCAweDAwOUREIH0sIHsgMHgwMDlERiwg
MHgwMDlFMSB9LCB7IDB4MDA5RjAsIDB4MDA5RjEgfSwKKyAgeyAweDAwOUZDLCAweDAwOUZDIH0s
IHsgMHgwMEEwNSwgMHgwMEEwQSB9LCB7IDB4MDBBMEYsIDB4MDBBMTAgfSwKKyAgeyAweDAwQTEz
LCAweDAwQTI4IH0sIHsgMHgwMEEyQSwgMHgwMEEzMCB9LCB7IDB4MDBBMzIsIDB4MDBBMzMgfSwK
KyAgeyAweDAwQTM1LCAweDAwQTM2IH0sIHsgMHgwMEEzOCwgMHgwMEEzOSB9LCB7IDB4MDBBNTks
IDB4MDBBNUMgfSwKKyAgeyAweDAwQTVFLCAweDAwQTVFIH0sIHsgMHgwMEE3MiwgMHgwMEE3NCB9
LCB7IDB4MDBBODUsIDB4MDBBOEQgfSwKKyAgeyAweDAwQThGLCAweDAwQTkxIH0sIHsgMHgwMEE5
MywgMHgwMEFBOCB9LCB7IDB4MDBBQUEsIDB4MDBBQjAgfSwKKyAgeyAweDAwQUIyLCAweDAwQUIz
IH0sIHsgMHgwMEFCNSwgMHgwMEFCOSB9LCB7IDB4MDBBQkQsIDB4MDBBQkQgfSwKKyAgeyAweDAw
QUQwLCAweDAwQUQwIH0sIHsgMHgwMEFFMCwgMHgwMEFFMSB9LCB7IDB4MDBBRjksIDB4MDBBRjkg
fSwKKyAgeyAweDAwQjA1LCAweDAwQjBDIH0sIHsgMHgwMEIwRiwgMHgwMEIxMCB9LCB7IDB4MDBC
MTMsIDB4MDBCMjggfSwKKyAgeyAweDAwQjJBLCAweDAwQjMwIH0sIHsgMHgwMEIzMiwgMHgwMEIz
MyB9LCB7IDB4MDBCMzUsIDB4MDBCMzkgfSwKKyAgeyAweDAwQjNELCAweDAwQjNEIH0sIHsgMHgw
MEI1QywgMHgwMEI1RCB9LCB7IDB4MDBCNUYsIDB4MDBCNjEgfSwKKyAgeyAweDAwQjcxLCAweDAw
QjcxIH0sIHsgMHgwMEI4MywgMHgwMEI4MyB9LCB7IDB4MDBCODUsIDB4MDBCOEEgfSwKKyAgeyAw
eDAwQjhFLCAweDAwQjkwIH0sIHsgMHgwMEI5MiwgMHgwMEI5NSB9LCB7IDB4MDBCOTksIDB4MDBC
OUEgfSwKKyAgeyAweDAwQjlDLCAweDAwQjlDIH0sIHsgMHgwMEI5RSwgMHgwMEI5RiB9LCB7IDB4
MDBCQTMsIDB4MDBCQTQgfSwKKyAgeyAweDAwQkE4LCAweDAwQkFBIH0sIHsgMHgwMEJBRSwgMHgw
MEJCOSB9LCB7IDB4MDBCRDAsIDB4MDBCRDAgfSwKKyAgeyAweDAwQzA1LCAweDAwQzBDIH0sIHsg
MHgwMEMwRSwgMHgwMEMxMCB9LCB7IDB4MDBDMTIsIDB4MDBDMjggfSwKKyAgeyAweDAwQzJBLCAw
eDAwQzM5IH0sIHsgMHgwMEMzRCwgMHgwMEMzRCB9LCB7IDB4MDBDNTgsIDB4MDBDNUEgfSwKKyAg
eyAweDAwQzVELCAweDAwQzVEIH0sIHsgMHgwMEM2MCwgMHgwMEM2MSB9LCB7IDB4MDBDODAsIDB4
MDBDODAgfSwKKyAgeyAweDAwQzg1LCAweDAwQzhDIH0sIHsgMHgwMEM4RSwgMHgwMEM5MCB9LCB7
IDB4MDBDOTIsIDB4MDBDQTggfSwKKyAgeyAweDAwQ0FBLCAweDAwQ0IzIH0sIHsgMHgwMENCNSwg
MHgwMENCOSB9LCB7IDB4MDBDQkQsIDB4MDBDQkQgfSwKKyAgeyAweDAwQ0RELCAweDAwQ0RFIH0s
IHsgMHgwMENFMCwgMHgwMENFMSB9LCB7IDB4MDBDRjEsIDB4MDBDRjIgfSwKKyAgeyAweDAwRDA0
LCAweDAwRDBDIH0sIHsgMHgwMEQwRSwgMHgwMEQxMCB9LCB7IDB4MDBEMTIsIDB4MDBEM0EgfSwK
KyAgeyAweDAwRDNELCAweDAwRDNEIH0sIHsgMHgwMEQ0RSwgMHgwMEQ0RSB9LCB7IDB4MDBENTQs
IDB4MDBENTYgfSwKKyAgeyAweDAwRDVGLCAweDAwRDYxIH0sIHsgMHgwMEQ3QSwgMHgwMEQ3RiB9
LCB7IDB4MDBEODUsIDB4MDBEOTYgfSwKKyAgeyAweDAwRDlBLCAweDAwREIxIH0sIHsgMHgwMERC
MywgMHgwMERCQiB9LCB7IDB4MDBEQkQsIDB4MDBEQkQgfSwKKyAgeyAweDAwREMwLCAweDAwREM2
IH0sIHsgMHgwMEUwMSwgMHgwMEUzMCB9LCB7IDB4MDBFMzIsIDB4MDBFMzIgfSwKKyAgeyAweDAw
RTQwLCAweDAwRTQ2IH0sIHsgMHgwMEU4MSwgMHgwMEU4MiB9LCB7IDB4MDBFODQsIDB4MDBFODQg
fSwKKyAgeyAweDAwRTg2LCAweDAwRThBIH0sIHsgMHgwMEU4QywgMHgwMEVBMyB9LCB7IDB4MDBF
QTUsIDB4MDBFQTUgfSwKKyAgeyAweDAwRUE3LCAweDAwRUIwIH0sIHsgMHgwMEVCMiwgMHgwMEVC
MiB9LCB7IDB4MDBFQkQsIDB4MDBFQkQgfSwKKyAgeyAweDAwRUMwLCAweDAwRUM0IH0sIHsgMHgw
MEVDNiwgMHgwMEVDNiB9LCB7IDB4MDBFREMsIDB4MDBFREYgfSwKKyAgeyAweDAwRjAwLCAweDAw
RjAwIH0sIHsgMHgwMEY0MCwgMHgwMEY0NyB9LCB7IDB4MDBGNDksIDB4MDBGNkMgfSwKKyAgeyAw
eDAwRjg4LCAweDAwRjhDIH0sIHsgMHgwMTAwMCwgMHgwMTAyQSB9LCB7IDB4MDEwM0YsIDB4MDEw
M0YgfSwKKyAgeyAweDAxMDUwLCAweDAxMDU1IH0sIHsgMHgwMTA1QSwgMHgwMTA1RCB9LCB7IDB4
MDEwNjEsIDB4MDEwNjEgfSwKKyAgeyAweDAxMDY1LCAweDAxMDY2IH0sIHsgMHgwMTA2RSwgMHgw
MTA3MCB9LCB7IDB4MDEwNzUsIDB4MDEwODEgfSwKKyAgeyAweDAxMDhFLCAweDAxMDhFIH0sIHsg
MHgwMTBBMCwgMHgwMTBDNSB9LCB7IDB4MDEwQzcsIDB4MDEwQzcgfSwKKyAgeyAweDAxMENELCAw
eDAxMENEIH0sIHsgMHgwMTBEMCwgMHgwMTBGQSB9LCB7IDB4MDEwRkMsIDB4MDExNUUgfSwKKyAg
eyAweDAxMTYxLCAweDAxMjQ4IH0sIHsgMHgwMTI0QSwgMHgwMTI0RCB9LCB7IDB4MDEyNTAsIDB4
MDEyNTYgfSwKKyAgeyAweDAxMjU4LCAweDAxMjU4IH0sIHsgMHgwMTI1QSwgMHgwMTI1RCB9LCB7
IDB4MDEyNjAsIDB4MDEyODggfSwKKyAgeyAweDAxMjhBLCAweDAxMjhEIH0sIHsgMHgwMTI5MCwg
MHgwMTJCMCB9LCB7IDB4MDEyQjIsIDB4MDEyQjUgfSwKKyAgeyAweDAxMkI4LCAweDAxMkJFIH0s
IHsgMHgwMTJDMCwgMHgwMTJDMCB9LCB7IDB4MDEyQzIsIDB4MDEyQzUgfSwKKyAgeyAweDAxMkM4
LCAweDAxMkQ2IH0sIHsgMHgwMTJEOCwgMHgwMTMxMCB9LCB7IDB4MDEzMTIsIDB4MDEzMTUgfSwK
KyAgeyAweDAxMzE4LCAweDAxMzVBIH0sIHsgMHgwMTM4MCwgMHgwMTM4RiB9LCB7IDB4MDEzQTAs
IDB4MDEzRjUgfSwKKyAgeyAweDAxM0Y4LCAweDAxM0ZEIH0sIHsgMHgwMTQwMSwgMHgwMTY2QyB9
LCB7IDB4MDE2NkYsIDB4MDE2N0YgfSwKKyAgeyAweDAxNjgxLCAweDAxNjlBIH0sIHsgMHgwMTZB
MCwgMHgwMTZFQSB9LCB7IDB4MDE2RUUsIDB4MDE2RjggfSwKKyAgeyAweDAxNzAwLCAweDAxNzEx
IH0sIHsgMHgwMTcxRiwgMHgwMTczMSB9LCB7IDB4MDE3NDAsIDB4MDE3NTEgfSwKKyAgeyAweDAx
NzYwLCAweDAxNzZDIH0sIHsgMHgwMTc2RSwgMHgwMTc3MCB9LCB7IDB4MDE3ODAsIDB4MDE3QjMg
fSwKKyAgeyAweDAxN0Q3LCAweDAxN0Q3IH0sIHsgMHgwMTdEQywgMHgwMTdEQyB9LCB7IDB4MDE4
MjAsIDB4MDE4NzggfSwKKyAgeyAweDAxODgwLCAweDAxOEE4IH0sIHsgMHgwMThBQSwgMHgwMThB
QSB9LCB7IDB4MDE4QjAsIDB4MDE4RjUgfSwKKyAgeyAweDAxOTAwLCAweDAxOTFFIH0sIHsgMHgw
MTk1MCwgMHgwMTk2RCB9LCB7IDB4MDE5NzAsIDB4MDE5NzQgfSwKKyAgeyAweDAxOTgwLCAweDAx
OUFCIH0sIHsgMHgwMTlCMCwgMHgwMTlDOSB9LCB7IDB4MDFBMDAsIDB4MDFBMTYgfSwKKyAgeyAw
eDAxQTIwLCAweDAxQTU0IH0sIHsgMHgwMUFBNywgMHgwMUFBNyB9LCB7IDB4MDFCMDUsIDB4MDFC
MzMgfSwKKyAgeyAweDAxQjQ1LCAweDAxQjRDIH0sIHsgMHgwMUI4MywgMHgwMUJBMCB9LCB7IDB4
MDFCQUUsIDB4MDFCQUYgfSwKKyAgeyAweDAxQkJBLCAweDAxQkU1IH0sIHsgMHgwMUMwMCwgMHgw
MUMyMyB9LCB7IDB4MDFDNEQsIDB4MDFDNEYgfSwKKyAgeyAweDAxQzVBLCAweDAxQzdEIH0sIHsg
MHgwMUM4MCwgMHgwMUM4OCB9LCB7IDB4MDFDOTAsIDB4MDFDQkEgfSwKKyAgeyAweDAxQ0JELCAw
eDAxQ0JGIH0sIHsgMHgwMUNFOSwgMHgwMUNFQyB9LCB7IDB4MDFDRUUsIDB4MDFDRjMgfSwKKyAg
eyAweDAxQ0Y1LCAweDAxQ0Y2IH0sIHsgMHgwMUNGQSwgMHgwMUNGQSB9LCB7IDB4MDFEMDAsIDB4
MDFEQkYgfSwKKyAgeyAweDAxRTAwLCAweDAxRjE1IH0sIHsgMHgwMUYxOCwgMHgwMUYxRCB9LCB7
IDB4MDFGMjAsIDB4MDFGNDUgfSwKKyAgeyAweDAxRjQ4LCAweDAxRjREIH0sIHsgMHgwMUY1MCwg
MHgwMUY1NyB9LCB7IDB4MDFGNTksIDB4MDFGNTkgfSwKKyAgeyAweDAxRjVCLCAweDAxRjVCIH0s
IHsgMHgwMUY1RCwgMHgwMUY1RCB9LCB7IDB4MDFGNUYsIDB4MDFGN0QgfSwKKyAgeyAweDAxRjgw
LCAweDAxRkI0IH0sIHsgMHgwMUZCNiwgMHgwMUZCQyB9LCB7IDB4MDFGQkUsIDB4MDFGQkUgfSwK
KyAgeyAweDAxRkMyLCAweDAxRkM0IH0sIHsgMHgwMUZDNiwgMHgwMUZDQyB9LCB7IDB4MDFGRDAs
IDB4MDFGRDMgfSwKKyAgeyAweDAxRkQ2LCAweDAxRkRCIH0sIHsgMHgwMUZFMCwgMHgwMUZFQyB9
LCB7IDB4MDFGRjIsIDB4MDFGRjQgfSwKKyAgeyAweDAxRkY2LCAweDAxRkZDIH0sIHsgMHgwMjA3
MSwgMHgwMjA3MSB9LCB7IDB4MDIwN0YsIDB4MDIwN0YgfSwKKyAgeyAweDAyMDkwLCAweDAyMDlD
IH0sIHsgMHgwMjEwMiwgMHgwMjEwMiB9LCB7IDB4MDIxMDcsIDB4MDIxMDcgfSwKKyAgeyAweDAy
MTBBLCAweDAyMTEzIH0sIHsgMHgwMjExNSwgMHgwMjExNSB9LCB7IDB4MDIxMTgsIDB4MDIxMUQg
fSwKKyAgeyAweDAyMTI0LCAweDAyMTI0IH0sIHsgMHgwMjEyNiwgMHgwMjEyNiB9LCB7IDB4MDIx
MjgsIDB4MDIxMjggfSwKKyAgeyAweDAyMTJBLCAweDAyMTM5IH0sIHsgMHgwMjEzQywgMHgwMjEz
RiB9LCB7IDB4MDIxNDUsIDB4MDIxNDkgfSwKKyAgeyAweDAyMTRFLCAweDAyMTRFIH0sIHsgMHgw
MjE2MCwgMHgwMjE4OCB9LCB7IDB4MDJDMDAsIDB4MDJDRTQgfSwKKyAgeyAweDAyQ0VCLCAweDAy
Q0VFIH0sIHsgMHgwMkNGMiwgMHgwMkNGMyB9LCB7IDB4MDJEMDAsIDB4MDJEMjUgfSwKKyAgeyAw
eDAyRDI3LCAweDAyRDI3IH0sIHsgMHgwMkQyRCwgMHgwMkQyRCB9LCB7IDB4MDJEMzAsIDB4MDJE
NjcgfSwKKyAgeyAweDAyRDZGLCAweDAyRDZGIH0sIHsgMHgwMkQ4MCwgMHgwMkQ5NiB9LCB7IDB4
MDJEQTAsIDB4MDJEQTYgfSwKKyAgeyAweDAyREE4LCAweDAyREFFIH0sIHsgMHgwMkRCMCwgMHgw
MkRCNiB9LCB7IDB4MDJEQjgsIDB4MDJEQkUgfSwKKyAgeyAweDAyREMwLCAweDAyREM2IH0sIHsg
MHgwMkRDOCwgMHgwMkRDRSB9LCB7IDB4MDJERDAsIDB4MDJERDYgfSwKKyAgeyAweDAyREQ4LCAw
eDAyRERFIH0sIHsgMHgwMzAwNSwgMHgwMzAwNyB9LCB7IDB4MDMwMjEsIDB4MDMwMjkgfSwKKyAg
eyAweDAzMDMxLCAweDAzMDM1IH0sIHsgMHgwMzAzOCwgMHgwMzAzQyB9LCB7IDB4MDMwNDEsIDB4
MDMwOTYgfSwKKyAgeyAweDAzMDlELCAweDAzMDlGIH0sIHsgMHgwMzBBMSwgMHgwMzBGQSB9LCB7
IDB4MDMwRkMsIDB4MDMwRkYgfSwKKyAgeyAweDAzMTA1LCAweDAzMTJGIH0sIHsgMHgwMzEzMSwg
MHgwMzE2MyB9LCB7IDB4MDMxNjUsIDB4MDMxOEUgfSwKKyAgeyAweDAzMUEwLCAweDAzMUJGIH0s
IHsgMHgwMzFGMCwgMHgwMzFGRiB9LCB7IDB4MDM0MDAsIDB4MDREQkYgfSwKKyAgeyAweDA0RTAw
LCAweDBBNDhDIH0sIHsgMHgwQTREMCwgMHgwQTRGRCB9LCB7IDB4MEE1MDAsIDB4MEE2MEMgfSwK
KyAgeyAweDBBNjEwLCAweDBBNjFGIH0sIHsgMHgwQTYyQSwgMHgwQTYyQiB9LCB7IDB4MEE2NDAs
IDB4MEE2NkUgfSwKKyAgeyAweDBBNjdGLCAweDBBNjlEIH0sIHsgMHgwQTZBMCwgMHgwQTZFRiB9
LCB7IDB4MEE3MTcsIDB4MEE3MUYgfSwKKyAgeyAweDBBNzIyLCAweDBBNzg4IH0sIHsgMHgwQTc4
QiwgMHgwQTdDQSB9LCB7IDB4MEE3RDAsIDB4MEE3RDEgfSwKKyAgeyAweDBBN0QzLCAweDBBN0Qz
IH0sIHsgMHgwQTdENSwgMHgwQTdEOSB9LCB7IDB4MEE3RjIsIDB4MEE4MDEgfSwKKyAgeyAweDBB
ODAzLCAweDBBODA1IH0sIHsgMHgwQTgwNywgMHgwQTgwQSB9LCB7IDB4MEE4MEMsIDB4MEE4MjIg
fSwKKyAgeyAweDBBODQwLCAweDBBODczIH0sIHsgMHgwQTg4MiwgMHgwQThCMyB9LCB7IDB4MEE4
RjIsIDB4MEE4RjcgfSwKKyAgeyAweDBBOEZCLCAweDBBOEZCIH0sIHsgMHgwQThGRCwgMHgwQThG
RSB9LCB7IDB4MEE5MEEsIDB4MEE5MjUgfSwKKyAgeyAweDBBOTMwLCAweDBBOTQ2IH0sIHsgMHgw
QTk2MCwgMHgwQTk3QyB9LCB7IDB4MEE5ODQsIDB4MEE5QjIgfSwKKyAgeyAweDBBOUNGLCAweDBB
OUNGIH0sIHsgMHgwQTlFMCwgMHgwQTlFNCB9LCB7IDB4MEE5RTYsIDB4MEE5RUYgfSwKKyAgeyAw
eDBBOUZBLCAweDBBOUZFIH0sIHsgMHgwQUEwMCwgMHgwQUEyOCB9LCB7IDB4MEFBNDAsIDB4MEFB
NDIgfSwKKyAgeyAweDBBQTQ0LCAweDBBQTRCIH0sIHsgMHgwQUE2MCwgMHgwQUE3NiB9LCB7IDB4
MEFBN0EsIDB4MEFBN0EgfSwKKyAgeyAweDBBQTdFLCAweDBBQUFGIH0sIHsgMHgwQUFCMSwgMHgw
QUFCMSB9LCB7IDB4MEFBQjUsIDB4MEFBQjYgfSwKKyAgeyAweDBBQUI5LCAweDBBQUJEIH0sIHsg
MHgwQUFDMCwgMHgwQUFDMCB9LCB7IDB4MEFBQzIsIDB4MEFBQzIgfSwKKyAgeyAweDBBQURCLCAw
eDBBQUREIH0sIHsgMHgwQUFFMCwgMHgwQUFFQSB9LCB7IDB4MEFBRjIsIDB4MEFBRjQgfSwKKyAg
eyAweDBBQjAxLCAweDBBQjA2IH0sIHsgMHgwQUIwOSwgMHgwQUIwRSB9LCB7IDB4MEFCMTEsIDB4
MEFCMTYgfSwKKyAgeyAweDBBQjIwLCAweDBBQjI2IH0sIHsgMHgwQUIyOCwgMHgwQUIyRSB9LCB7
IDB4MEFCMzAsIDB4MEFCNUEgfSwKKyAgeyAweDBBQjVDLCAweDBBQjY5IH0sIHsgMHgwQUI3MCwg
MHgwQUJFMiB9LCB7IDB4MEFDMDAsIDB4MEQ3QTMgfSwKKyAgeyAweDBEN0IwLCAweDBEN0M2IH0s
IHsgMHgwRDdDQiwgMHgwRDdGQiB9LCB7IDB4MEY5MDAsIDB4MEZBNkQgfSwKKyAgeyAweDBGQTcw
LCAweDBGQUQ5IH0sIHsgMHgwRkIwMCwgMHgwRkIwNiB9LCB7IDB4MEZCMTMsIDB4MEZCMTcgfSwK
KyAgeyAweDBGQjFELCAweDBGQjFEIH0sIHsgMHgwRkIxRiwgMHgwRkIyOCB9LCB7IDB4MEZCMkEs
IDB4MEZCMzYgfSwKKyAgeyAweDBGQjM4LCAweDBGQjNDIH0sIHsgMHgwRkIzRSwgMHgwRkIzRSB9
LCB7IDB4MEZCNDAsIDB4MEZCNDEgfSwKKyAgeyAweDBGQjQzLCAweDBGQjQ0IH0sIHsgMHgwRkI0
NiwgMHgwRkJCMSB9LCB7IDB4MEZCRDMsIDB4MEZDNUQgfSwKKyAgeyAweDBGQzY0LCAweDBGRDNE
IH0sIHsgMHgwRkQ1MCwgMHgwRkQ4RiB9LCB7IDB4MEZEOTIsIDB4MEZEQzcgfSwKKyAgeyAweDBG
REYwLCAweDBGREY5IH0sIHsgMHgwRkU3MSwgMHgwRkU3MSB9LCB7IDB4MEZFNzMsIDB4MEZFNzMg
fSwKKyAgeyAweDBGRTc3LCAweDBGRTc3IH0sIHsgMHgwRkU3OSwgMHgwRkU3OSB9LCB7IDB4MEZF
N0IsIDB4MEZFN0IgfSwKKyAgeyAweDBGRTdELCAweDBGRTdEIH0sIHsgMHgwRkU3RiwgMHgwRkVG
QyB9LCB7IDB4MEZGMjEsIDB4MEZGM0EgfSwKKyAgeyAweDBGRjQxLCAweDBGRjVBIH0sIHsgMHgw
RkY2NiwgMHgwRkY5RCB9LCB7IDB4MEZGQTEsIDB4MEZGQkUgfSwKKyAgeyAweDBGRkMyLCAweDBG
RkM3IH0sIHsgMHgwRkZDQSwgMHgwRkZDRiB9LCB7IDB4MEZGRDIsIDB4MEZGRDcgfSwKKyAgeyAw
eDBGRkRBLCAweDBGRkRDIH0sIHsgMHgxMDAwMCwgMHgxMDAwQiB9LCB7IDB4MTAwMEQsIDB4MTAw
MjYgfSwKKyAgeyAweDEwMDI4LCAweDEwMDNBIH0sIHsgMHgxMDAzQywgMHgxMDAzRCB9LCB7IDB4
MTAwM0YsIDB4MTAwNEQgfSwKKyAgeyAweDEwMDUwLCAweDEwMDVEIH0sIHsgMHgxMDA4MCwgMHgx
MDBGQSB9LCB7IDB4MTAxNDAsIDB4MTAxNzQgfSwKKyAgeyAweDEwMjgwLCAweDEwMjlDIH0sIHsg
MHgxMDJBMCwgMHgxMDJEMCB9LCB7IDB4MTAzMDAsIDB4MTAzMUYgfSwKKyAgeyAweDEwMzJELCAw
eDEwMzRBIH0sIHsgMHgxMDM1MCwgMHgxMDM3NSB9LCB7IDB4MTAzODAsIDB4MTAzOUQgfSwKKyAg
eyAweDEwM0EwLCAweDEwM0MzIH0sIHsgMHgxMDNDOCwgMHgxMDNDRiB9LCB7IDB4MTAzRDEsIDB4
MTAzRDUgfSwKKyAgeyAweDEwNDAwLCAweDEwNDlEIH0sIHsgMHgxMDRCMCwgMHgxMDREMyB9LCB7
IDB4MTA0RDgsIDB4MTA0RkIgfSwKKyAgeyAweDEwNTAwLCAweDEwNTI3IH0sIHsgMHgxMDUzMCwg
MHgxMDU2MyB9LCB7IDB4MTA1NzAsIDB4MTA1N0EgfSwKKyAgeyAweDEwNTdDLCAweDEwNThBIH0s
IHsgMHgxMDU4QywgMHgxMDU5MiB9LCB7IDB4MTA1OTQsIDB4MTA1OTUgfSwKKyAgeyAweDEwNTk3
LCAweDEwNUExIH0sIHsgMHgxMDVBMywgMHgxMDVCMSB9LCB7IDB4MTA1QjMsIDB4MTA1QjkgfSwK
KyAgeyAweDEwNUJCLCAweDEwNUJDIH0sIHsgMHgxMDYwMCwgMHgxMDczNiB9LCB7IDB4MTA3NDAs
IDB4MTA3NTUgfSwKKyAgeyAweDEwNzYwLCAweDEwNzY3IH0sIHsgMHgxMDc4MCwgMHgxMDc4NSB9
LCB7IDB4MTA3ODcsIDB4MTA3QjAgfSwKKyAgeyAweDEwN0IyLCAweDEwN0JBIH0sIHsgMHgxMDgw
MCwgMHgxMDgwNSB9LCB7IDB4MTA4MDgsIDB4MTA4MDggfSwKKyAgeyAweDEwODBBLCAweDEwODM1
IH0sIHsgMHgxMDgzNywgMHgxMDgzOCB9LCB7IDB4MTA4M0MsIDB4MTA4M0MgfSwKKyAgeyAweDEw
ODNGLCAweDEwODU1IH0sIHsgMHgxMDg2MCwgMHgxMDg3NiB9LCB7IDB4MTA4ODAsIDB4MTA4OUUg
fSwKKyAgeyAweDEwOEUwLCAweDEwOEYyIH0sIHsgMHgxMDhGNCwgMHgxMDhGNSB9LCB7IDB4MTA5
MDAsIDB4MTA5MTUgfSwKKyAgeyAweDEwOTIwLCAweDEwOTM5IH0sIHsgMHgxMDk4MCwgMHgxMDlC
NyB9LCB7IDB4MTA5QkUsIDB4MTA5QkYgfSwKKyAgeyAweDEwQTAwLCAweDEwQTAwIH0sIHsgMHgx
MEExMCwgMHgxMEExMyB9LCB7IDB4MTBBMTUsIDB4MTBBMTcgfSwKKyAgeyAweDEwQTE5LCAweDEw
QTM1IH0sIHsgMHgxMEE2MCwgMHgxMEE3QyB9LCB7IDB4MTBBODAsIDB4MTBBOUMgfSwKKyAgeyAw
eDEwQUMwLCAweDEwQUM3IH0sIHsgMHgxMEFDOSwgMHgxMEFFNCB9LCB7IDB4MTBCMDAsIDB4MTBC
MzUgfSwKKyAgeyAweDEwQjQwLCAweDEwQjU1IH0sIHsgMHgxMEI2MCwgMHgxMEI3MiB9LCB7IDB4
MTBCODAsIDB4MTBCOTEgfSwKKyAgeyAweDEwQzAwLCAweDEwQzQ4IH0sIHsgMHgxMEM4MCwgMHgx
MENCMiB9LCB7IDB4MTBDQzAsIDB4MTBDRjIgfSwKKyAgeyAweDEwRDAwLCAweDEwRDIzIH0sIHsg
MHgxMEU4MCwgMHgxMEVBOSB9LCB7IDB4MTBFQjAsIDB4MTBFQjEgfSwKKyAgeyAweDEwRjAwLCAw
eDEwRjFDIH0sIHsgMHgxMEYyNywgMHgxMEYyNyB9LCB7IDB4MTBGMzAsIDB4MTBGNDUgfSwKKyAg
eyAweDEwRjcwLCAweDEwRjgxIH0sIHsgMHgxMEZCMCwgMHgxMEZDNCB9LCB7IDB4MTBGRTAsIDB4
MTBGRjYgfSwKKyAgeyAweDExMDAzLCAweDExMDM3IH0sIHsgMHgxMTA3MSwgMHgxMTA3MiB9LCB7
IDB4MTEwNzUsIDB4MTEwNzUgfSwKKyAgeyAweDExMDgzLCAweDExMEFGIH0sIHsgMHgxMTBEMCwg
MHgxMTBFOCB9LCB7IDB4MTExMDMsIDB4MTExMjYgfSwKKyAgeyAweDExMTQ0LCAweDExMTQ0IH0s
IHsgMHgxMTE0NywgMHgxMTE0NyB9LCB7IDB4MTExNTAsIDB4MTExNzIgfSwKKyAgeyAweDExMTc2
LCAweDExMTc2IH0sIHsgMHgxMTE4MywgMHgxMTFCMiB9LCB7IDB4MTExQzEsIDB4MTExQzQgfSwK
KyAgeyAweDExMURBLCAweDExMURBIH0sIHsgMHgxMTFEQywgMHgxMTFEQyB9LCB7IDB4MTEyMDAs
IDB4MTEyMTEgfSwKKyAgeyAweDExMjEzLCAweDExMjJCIH0sIHsgMHgxMTIzRiwgMHgxMTI0MCB9
LCB7IDB4MTEyODAsIDB4MTEyODYgfSwKKyAgeyAweDExMjg4LCAweDExMjg4IH0sIHsgMHgxMTI4
QSwgMHgxMTI4RCB9LCB7IDB4MTEyOEYsIDB4MTEyOUQgfSwKKyAgeyAweDExMjlGLCAweDExMkE4
IH0sIHsgMHgxMTJCMCwgMHgxMTJERSB9LCB7IDB4MTEzMDUsIDB4MTEzMEMgfSwKKyAgeyAweDEx
MzBGLCAweDExMzEwIH0sIHsgMHgxMTMxMywgMHgxMTMyOCB9LCB7IDB4MTEzMkEsIDB4MTEzMzAg
fSwKKyAgeyAweDExMzMyLCAweDExMzMzIH0sIHsgMHgxMTMzNSwgMHgxMTMzOSB9LCB7IDB4MTEz
M0QsIDB4MTEzM0QgfSwKKyAgeyAweDExMzUwLCAweDExMzUwIH0sIHsgMHgxMTM1RCwgMHgxMTM2
MSB9LCB7IDB4MTE0MDAsIDB4MTE0MzQgfSwKKyAgeyAweDExNDQ3LCAweDExNDRBIH0sIHsgMHgx
MTQ1RiwgMHgxMTQ2MSB9LCB7IDB4MTE0ODAsIDB4MTE0QUYgfSwKKyAgeyAweDExNEM0LCAweDEx
NEM1IH0sIHsgMHgxMTRDNywgMHgxMTRDNyB9LCB7IDB4MTE1ODAsIDB4MTE1QUUgfSwKKyAgeyAw
eDExNUQ4LCAweDExNURCIH0sIHsgMHgxMTYwMCwgMHgxMTYyRiB9LCB7IDB4MTE2NDQsIDB4MTE2
NDQgfSwKKyAgeyAweDExNjgwLCAweDExNkFBIH0sIHsgMHgxMTZCOCwgMHgxMTZCOCB9LCB7IDB4
MTE3MDAsIDB4MTE3MUEgfSwKKyAgeyAweDExNzQwLCAweDExNzQ2IH0sIHsgMHgxMTgwMCwgMHgx
MTgyQiB9LCB7IDB4MTE4QTAsIDB4MTE4REYgfSwKKyAgeyAweDExOEZGLCAweDExOTA2IH0sIHsg
MHgxMTkwOSwgMHgxMTkwOSB9LCB7IDB4MTE5MEMsIDB4MTE5MTMgfSwKKyAgeyAweDExOTE1LCAw
eDExOTE2IH0sIHsgMHgxMTkxOCwgMHgxMTkyRiB9LCB7IDB4MTE5M0YsIDB4MTE5M0YgfSwKKyAg
eyAweDExOTQxLCAweDExOTQxIH0sIHsgMHgxMTlBMCwgMHgxMTlBNyB9LCB7IDB4MTE5QUEsIDB4
MTE5RDAgfSwKKyAgeyAweDExOUUxLCAweDExOUUxIH0sIHsgMHgxMTlFMywgMHgxMTlFMyB9LCB7
IDB4MTFBMDAsIDB4MTFBMDAgfSwKKyAgeyAweDExQTBCLCAweDExQTMyIH0sIHsgMHgxMUEzQSwg
MHgxMUEzQSB9LCB7IDB4MTFBNTAsIDB4MTFBNTAgfSwKKyAgeyAweDExQTVDLCAweDExQTg5IH0s
IHsgMHgxMUE5RCwgMHgxMUE5RCB9LCB7IDB4MTFBQjAsIDB4MTFBRjggfSwKKyAgeyAweDExQzAw
LCAweDExQzA4IH0sIHsgMHgxMUMwQSwgMHgxMUMyRSB9LCB7IDB4MTFDNDAsIDB4MTFDNDAgfSwK
KyAgeyAweDExQzcyLCAweDExQzhGIH0sIHsgMHgxMUQwMCwgMHgxMUQwNiB9LCB7IDB4MTFEMDgs
IDB4MTFEMDkgfSwKKyAgeyAweDExRDBCLCAweDExRDMwIH0sIHsgMHgxMUQ0NiwgMHgxMUQ0NiB9
LCB7IDB4MTFENjAsIDB4MTFENjUgfSwKKyAgeyAweDExRDY3LCAweDExRDY4IH0sIHsgMHgxMUQ2
QSwgMHgxMUQ4OSB9LCB7IDB4MTFEOTgsIDB4MTFEOTggfSwKKyAgeyAweDExRUUwLCAweDExRUYy
IH0sIHsgMHgxMUYwMiwgMHgxMUYwMiB9LCB7IDB4MTFGMDQsIDB4MTFGMTAgfSwKKyAgeyAweDEx
RjEyLCAweDExRjMzIH0sIHsgMHgxMUZCMCwgMHgxMUZCMCB9LCB7IDB4MTIwMDAsIDB4MTIzOTkg
fSwKKyAgeyAweDEyNDAwLCAweDEyNDZFIH0sIHsgMHgxMjQ4MCwgMHgxMjU0MyB9LCB7IDB4MTJG
OTAsIDB4MTJGRjAgfSwKKyAgeyAweDEzMDAwLCAweDEzNDJGIH0sIHsgMHgxMzQ0MSwgMHgxMzQ0
NiB9LCB7IDB4MTQ0MDAsIDB4MTQ2NDYgfSwKKyAgeyAweDE2ODAwLCAweDE2QTM4IH0sIHsgMHgx
NkE0MCwgMHgxNkE1RSB9LCB7IDB4MTZBNzAsIDB4MTZBQkUgfSwKKyAgeyAweDE2QUQwLCAweDE2
QUVEIH0sIHsgMHgxNkIwMCwgMHgxNkIyRiB9LCB7IDB4MTZCNDAsIDB4MTZCNDMgfSwKKyAgeyAw
eDE2QjYzLCAweDE2Qjc3IH0sIHsgMHgxNkI3RCwgMHgxNkI4RiB9LCB7IDB4MTZFNDAsIDB4MTZF
N0YgfSwKKyAgeyAweDE2RjAwLCAweDE2RjRBIH0sIHsgMHgxNkY1MCwgMHgxNkY1MCB9LCB7IDB4
MTZGOTMsIDB4MTZGOUYgfSwKKyAgeyAweDE2RkUwLCAweDE2RkUxIH0sIHsgMHgxNkZFMywgMHgx
NkZFMyB9LCB7IDB4MTcwMDAsIDB4MTg3RjcgfSwKKyAgeyAweDE4ODAwLCAweDE4Q0Q1IH0sIHsg
MHgxOEQwMCwgMHgxOEQwOCB9LCB7IDB4MUFGRjAsIDB4MUFGRjMgfSwKKyAgeyAweDFBRkY1LCAw
eDFBRkZCIH0sIHsgMHgxQUZGRCwgMHgxQUZGRSB9LCB7IDB4MUIwMDAsIDB4MUIxMjIgfSwKKyAg
eyAweDFCMTMyLCAweDFCMTMyIH0sIHsgMHgxQjE1MCwgMHgxQjE1MiB9LCB7IDB4MUIxNTUsIDB4
MUIxNTUgfSwKKyAgeyAweDFCMTY0LCAweDFCMTY3IH0sIHsgMHgxQjE3MCwgMHgxQjJGQiB9LCB7
IDB4MUJDMDAsIDB4MUJDNkEgfSwKKyAgeyAweDFCQzcwLCAweDFCQzdDIH0sIHsgMHgxQkM4MCwg
MHgxQkM4OCB9LCB7IDB4MUJDOTAsIDB4MUJDOTkgfSwKKyAgeyAweDFENDAwLCAweDFENDU0IH0s
IHsgMHgxRDQ1NiwgMHgxRDQ5QyB9LCB7IDB4MUQ0OUUsIDB4MUQ0OUYgfSwKKyAgeyAweDFENEEy
LCAweDFENEEyIH0sIHsgMHgxRDRBNSwgMHgxRDRBNiB9LCB7IDB4MUQ0QTksIDB4MUQ0QUMgfSwK
KyAgeyAweDFENEFFLCAweDFENEI5IH0sIHsgMHgxRDRCQiwgMHgxRDRCQiB9LCB7IDB4MUQ0QkQs
IDB4MUQ0QzMgfSwKKyAgeyAweDFENEM1LCAweDFENTA1IH0sIHsgMHgxRDUwNywgMHgxRDUwQSB9
LCB7IDB4MUQ1MEQsIDB4MUQ1MTQgfSwKKyAgeyAweDFENTE2LCAweDFENTFDIH0sIHsgMHgxRDUx
RSwgMHgxRDUzOSB9LCB7IDB4MUQ1M0IsIDB4MUQ1M0UgfSwKKyAgeyAweDFENTQwLCAweDFENTQ0
IH0sIHsgMHgxRDU0NiwgMHgxRDU0NiB9LCB7IDB4MUQ1NEEsIDB4MUQ1NTAgfSwKKyAgeyAweDFE
NTUyLCAweDFENkE1IH0sIHsgMHgxRDZBOCwgMHgxRDZDMCB9LCB7IDB4MUQ2QzIsIDB4MUQ2REEg
fSwKKyAgeyAweDFENkRDLCAweDFENkZBIH0sIHsgMHgxRDZGQywgMHgxRDcxNCB9LCB7IDB4MUQ3
MTYsIDB4MUQ3MzQgfSwKKyAgeyAweDFENzM2LCAweDFENzRFIH0sIHsgMHgxRDc1MCwgMHgxRDc2
RSB9LCB7IDB4MUQ3NzAsIDB4MUQ3ODggfSwKKyAgeyAweDFENzhBLCAweDFEN0E4IH0sIHsgMHgx
RDdBQSwgMHgxRDdDMiB9LCB7IDB4MUQ3QzQsIDB4MUQ3Q0IgfSwKKyAgeyAweDFERjAwLCAweDFE
RjFFIH0sIHsgMHgxREYyNSwgMHgxREYyQSB9LCB7IDB4MUUwMzAsIDB4MUUwNkQgfSwKKyAgeyAw
eDFFMTAwLCAweDFFMTJDIH0sIHsgMHgxRTEzNywgMHgxRTEzRCB9LCB7IDB4MUUxNEUsIDB4MUUx
NEUgfSwKKyAgeyAweDFFMjkwLCAweDFFMkFEIH0sIHsgMHgxRTJDMCwgMHgxRTJFQiB9LCB7IDB4
MUU0RDAsIDB4MUU0RUIgfSwKKyAgeyAweDFFN0UwLCAweDFFN0U2IH0sIHsgMHgxRTdFOCwgMHgx
RTdFQiB9LCB7IDB4MUU3RUQsIDB4MUU3RUUgfSwKKyAgeyAweDFFN0YwLCAweDFFN0ZFIH0sIHsg
MHgxRTgwMCwgMHgxRThDNCB9LCB7IDB4MUU5MDAsIDB4MUU5NDMgfSwKKyAgeyAweDFFOTRCLCAw
eDFFOTRCIH0sIHsgMHgxRUUwMCwgMHgxRUUwMyB9LCB7IDB4MUVFMDUsIDB4MUVFMUYgfSwKKyAg
eyAweDFFRTIxLCAweDFFRTIyIH0sIHsgMHgxRUUyNCwgMHgxRUUyNCB9LCB7IDB4MUVFMjcsIDB4
MUVFMjcgfSwKKyAgeyAweDFFRTI5LCAweDFFRTMyIH0sIHsgMHgxRUUzNCwgMHgxRUUzNyB9LCB7
IDB4MUVFMzksIDB4MUVFMzkgfSwKKyAgeyAweDFFRTNCLCAweDFFRTNCIH0sIHsgMHgxRUU0Miwg
MHgxRUU0MiB9LCB7IDB4MUVFNDcsIDB4MUVFNDcgfSwKKyAgeyAweDFFRTQ5LCAweDFFRTQ5IH0s
IHsgMHgxRUU0QiwgMHgxRUU0QiB9LCB7IDB4MUVFNEQsIDB4MUVFNEYgfSwKKyAgeyAweDFFRTUx
LCAweDFFRTUyIH0sIHsgMHgxRUU1NCwgMHgxRUU1NCB9LCB7IDB4MUVFNTcsIDB4MUVFNTcgfSwK
KyAgeyAweDFFRTU5LCAweDFFRTU5IH0sIHsgMHgxRUU1QiwgMHgxRUU1QiB9LCB7IDB4MUVFNUQs
IDB4MUVFNUQgfSwKKyAgeyAweDFFRTVGLCAweDFFRTVGIH0sIHsgMHgxRUU2MSwgMHgxRUU2MiB9
LCB7IDB4MUVFNjQsIDB4MUVFNjQgfSwKKyAgeyAweDFFRTY3LCAweDFFRTZBIH0sIHsgMHgxRUU2
QywgMHgxRUU3MiB9LCB7IDB4MUVFNzQsIDB4MUVFNzcgfSwKKyAgeyAweDFFRTc5LCAweDFFRTdD
IH0sIHsgMHgxRUU3RSwgMHgxRUU3RSB9LCB7IDB4MUVFODAsIDB4MUVFODkgfSwKKyAgeyAweDFF
RThCLCAweDFFRTlCIH0sIHsgMHgxRUVBMSwgMHgxRUVBMyB9LCB7IDB4MUVFQTUsIDB4MUVFQTkg
fSwKKyAgeyAweDFFRUFCLCAweDFFRUJCIH0sIHsgMHgyMDAwMCwgMHgyQTZERiB9LCB7IDB4MkE3
MDAsIDB4MkI3MzkgfSwKKyAgeyAweDJCNzQwLCAweDJCODFEIH0sIHsgMHgyQjgyMCwgMHgyQ0VB
MSB9LCB7IDB4MkNFQjAsIDB4MkVCRTAgfSwKKyAgeyAweDJGODAwLCAweDJGQTFEIH0sIHsgMHgz
MDAwMCwgMHgzMTM0QSB9LCB7IDB4MzEzNTAsIDB4MzIzQUYgfSwKK307CisjZGVmaW5lIE1CSURf
WElEX1NUQVJUX0xFTgkoc2l6ZW9mIChtYmlkX3hpZF9zdGFydCkgLyBzaXplb2YgKG1iaWRfeGlk
X3N0YXJ0WzBdKSkKKworLyogWElEX0NvbnRpbnVlIGNvZGVwb2ludHMgPj0gVSswMDgwLiAqLwor
c3RhdGljIGNvbnN0IE1CSURfUkFOR0UgbWJpZF94aWRfY29udFtdID0geworICB7IDB4MDAwQUEs
IDB4MDAwQUEgfSwgeyAweDAwMEI1LCAweDAwMEI1IH0sIHsgMHgwMDBCNywgMHgwMDBCNyB9LAor
ICB7IDB4MDAwQkEsIDB4MDAwQkEgfSwgeyAweDAwMEMwLCAweDAwMEQ2IH0sIHsgMHgwMDBEOCwg
MHgwMDBGNiB9LAorICB7IDB4MDAwRjgsIDB4MDAyQzEgfSwgeyAweDAwMkM2LCAweDAwMkQxIH0s
IHsgMHgwMDJFMCwgMHgwMDJFNCB9LAorICB7IDB4MDAyRUMsIDB4MDAyRUMgfSwgeyAweDAwMkVF
LCAweDAwMkVFIH0sIHsgMHgwMDMwMCwgMHgwMDM0RSB9LAorICB7IDB4MDAzNTAsIDB4MDAzNzQg
fSwgeyAweDAwMzc2LCAweDAwMzc3IH0sIHsgMHgwMDM3QiwgMHgwMDM3RCB9LAorICB7IDB4MDAz
N0YsIDB4MDAzN0YgfSwgeyAweDAwMzg2LCAweDAwMzhBIH0sIHsgMHgwMDM4QywgMHgwMDM4QyB9
LAorICB7IDB4MDAzOEUsIDB4MDAzQTEgfSwgeyAweDAwM0EzLCAweDAwM0Y1IH0sIHsgMHgwMDNG
NywgMHgwMDQ4MSB9LAorICB7IDB4MDA0ODMsIDB4MDA0ODcgfSwgeyAweDAwNDhBLCAweDAwNTJG
IH0sIHsgMHgwMDUzMSwgMHgwMDU1NiB9LAorICB7IDB4MDA1NTksIDB4MDA1NTkgfSwgeyAweDAw
NTYwLCAweDAwNTg4IH0sIHsgMHgwMDU5MSwgMHgwMDVCRCB9LAorICB7IDB4MDA1QkYsIDB4MDA1
QkYgfSwgeyAweDAwNUMxLCAweDAwNUMyIH0sIHsgMHgwMDVDNCwgMHgwMDVDNSB9LAorICB7IDB4
MDA1QzcsIDB4MDA1QzcgfSwgeyAweDAwNUQwLCAweDAwNUVBIH0sIHsgMHgwMDVFRiwgMHgwMDVG
MiB9LAorICB7IDB4MDA2MTAsIDB4MDA2MUEgfSwgeyAweDAwNjIwLCAweDAwNjY5IH0sIHsgMHgw
MDY2RSwgMHgwMDZEMyB9LAorICB7IDB4MDA2RDUsIDB4MDA2REMgfSwgeyAweDAwNkRGLCAweDAw
NkU4IH0sIHsgMHgwMDZFQSwgMHgwMDZGQyB9LAorICB7IDB4MDA2RkYsIDB4MDA2RkYgfSwgeyAw
eDAwNzEwLCAweDAwNzRBIH0sIHsgMHgwMDc0RCwgMHgwMDdCMSB9LAorICB7IDB4MDA3QzAsIDB4
MDA3RjUgfSwgeyAweDAwN0ZBLCAweDAwN0ZBIH0sIHsgMHgwMDdGRCwgMHgwMDdGRCB9LAorICB7
IDB4MDA4MDAsIDB4MDA4MkQgfSwgeyAweDAwODQwLCAweDAwODVCIH0sIHsgMHgwMDg2MCwgMHgw
MDg2QSB9LAorICB7IDB4MDA4NzAsIDB4MDA4ODcgfSwgeyAweDAwODg5LCAweDAwODhFIH0sIHsg
MHgwMDg5OCwgMHgwMDhFMSB9LAorICB7IDB4MDA4RTMsIDB4MDA5NjMgfSwgeyAweDAwOTY2LCAw
eDAwOTZGIH0sIHsgMHgwMDk3MSwgMHgwMDk4MyB9LAorICB7IDB4MDA5ODUsIDB4MDA5OEMgfSwg
eyAweDAwOThGLCAweDAwOTkwIH0sIHsgMHgwMDk5MywgMHgwMDlBOCB9LAorICB7IDB4MDA5QUEs
IDB4MDA5QjAgfSwgeyAweDAwOUIyLCAweDAwOUIyIH0sIHsgMHgwMDlCNiwgMHgwMDlCOSB9LAor
ICB7IDB4MDA5QkMsIDB4MDA5QzQgfSwgeyAweDAwOUM3LCAweDAwOUM4IH0sIHsgMHgwMDlDQiwg
MHgwMDlDRSB9LAorICB7IDB4MDA5RDcsIDB4MDA5RDcgfSwgeyAweDAwOURDLCAweDAwOUREIH0s
IHsgMHgwMDlERiwgMHgwMDlFMyB9LAorICB7IDB4MDA5RTYsIDB4MDA5RjEgfSwgeyAweDAwOUZD
LCAweDAwOUZDIH0sIHsgMHgwMDlGRSwgMHgwMDlGRSB9LAorICB7IDB4MDBBMDEsIDB4MDBBMDMg
fSwgeyAweDAwQTA1LCAweDAwQTBBIH0sIHsgMHgwMEEwRiwgMHgwMEExMCB9LAorICB7IDB4MDBB
MTMsIDB4MDBBMjggfSwgeyAweDAwQTJBLCAweDAwQTMwIH0sIHsgMHgwMEEzMiwgMHgwMEEzMyB9
LAorICB7IDB4MDBBMzUsIDB4MDBBMzYgfSwgeyAweDAwQTM4LCAweDAwQTM5IH0sIHsgMHgwMEEz
QywgMHgwMEEzQyB9LAorICB7IDB4MDBBM0UsIDB4MDBBNDIgfSwgeyAweDAwQTQ3LCAweDAwQTQ4
IH0sIHsgMHgwMEE0QiwgMHgwMEE0RCB9LAorICB7IDB4MDBBNTEsIDB4MDBBNTEgfSwgeyAweDAw
QTU5LCAweDAwQTVDIH0sIHsgMHgwMEE1RSwgMHgwMEE1RSB9LAorICB7IDB4MDBBNjYsIDB4MDBB
NzUgfSwgeyAweDAwQTgxLCAweDAwQTgzIH0sIHsgMHgwMEE4NSwgMHgwMEE4RCB9LAorICB7IDB4
MDBBOEYsIDB4MDBBOTEgfSwgeyAweDAwQTkzLCAweDAwQUE4IH0sIHsgMHgwMEFBQSwgMHgwMEFC
MCB9LAorICB7IDB4MDBBQjIsIDB4MDBBQjMgfSwgeyAweDAwQUI1LCAweDAwQUI5IH0sIHsgMHgw
MEFCQywgMHgwMEFDNSB9LAorICB7IDB4MDBBQzcsIDB4MDBBQzkgfSwgeyAweDAwQUNCLCAweDAw
QUNEIH0sIHsgMHgwMEFEMCwgMHgwMEFEMCB9LAorICB7IDB4MDBBRTAsIDB4MDBBRTMgfSwgeyAw
eDAwQUU2LCAweDAwQUVGIH0sIHsgMHgwMEFGOSwgMHgwMEFGRiB9LAorICB7IDB4MDBCMDEsIDB4
MDBCMDMgfSwgeyAweDAwQjA1LCAweDAwQjBDIH0sIHsgMHgwMEIwRiwgMHgwMEIxMCB9LAorICB7
IDB4MDBCMTMsIDB4MDBCMjggfSwgeyAweDAwQjJBLCAweDAwQjMwIH0sIHsgMHgwMEIzMiwgMHgw
MEIzMyB9LAorICB7IDB4MDBCMzUsIDB4MDBCMzkgfSwgeyAweDAwQjNDLCAweDAwQjQ0IH0sIHsg
MHgwMEI0NywgMHgwMEI0OCB9LAorICB7IDB4MDBCNEIsIDB4MDBCNEQgfSwgeyAweDAwQjU1LCAw
eDAwQjU3IH0sIHsgMHgwMEI1QywgMHgwMEI1RCB9LAorICB7IDB4MDBCNUYsIDB4MDBCNjMgfSwg
eyAweDAwQjY2LCAweDAwQjZGIH0sIHsgMHgwMEI3MSwgMHgwMEI3MSB9LAorICB7IDB4MDBCODIs
IDB4MDBCODMgfSwgeyAweDAwQjg1LCAweDAwQjhBIH0sIHsgMHgwMEI4RSwgMHgwMEI5MCB9LAor
ICB7IDB4MDBCOTIsIDB4MDBCOTUgfSwgeyAweDAwQjk5LCAweDAwQjlBIH0sIHsgMHgwMEI5Qywg
MHgwMEI5QyB9LAorICB7IDB4MDBCOUUsIDB4MDBCOUYgfSwgeyAweDAwQkEzLCAweDAwQkE0IH0s
IHsgMHgwMEJBOCwgMHgwMEJBQSB9LAorICB7IDB4MDBCQUUsIDB4MDBCQjkgfSwgeyAweDAwQkJF
LCAweDAwQkMyIH0sIHsgMHgwMEJDNiwgMHgwMEJDOCB9LAorICB7IDB4MDBCQ0EsIDB4MDBCQ0Qg
fSwgeyAweDAwQkQwLCAweDAwQkQwIH0sIHsgMHgwMEJENywgMHgwMEJENyB9LAorICB7IDB4MDBC
RTYsIDB4MDBCRUYgfSwgeyAweDAwQzAwLCAweDAwQzBDIH0sIHsgMHgwMEMwRSwgMHgwMEMxMCB9
LAorICB7IDB4MDBDMTIsIDB4MDBDMjggfSwgeyAweDAwQzJBLCAweDAwQzM5IH0sIHsgMHgwMEMz
QywgMHgwMEM0NCB9LAorICB7IDB4MDBDNDYsIDB4MDBDNDggfSwgeyAweDAwQzRBLCAweDAwQzRE
IH0sIHsgMHgwMEM1NSwgMHgwMEM1NiB9LAorICB7IDB4MDBDNTgsIDB4MDBDNUEgfSwgeyAweDAw
QzVELCAweDAwQzVEIH0sIHsgMHgwMEM2MCwgMHgwMEM2MyB9LAorICB7IDB4MDBDNjYsIDB4MDBD
NkYgfSwgeyAweDAwQzgwLCAweDAwQzgzIH0sIHsgMHgwMEM4NSwgMHgwMEM4QyB9LAorICB7IDB4
MDBDOEUsIDB4MDBDOTAgfSwgeyAweDAwQzkyLCAweDAwQ0E4IH0sIHsgMHgwMENBQSwgMHgwMENC
MyB9LAorICB7IDB4MDBDQjUsIDB4MDBDQjkgfSwgeyAweDAwQ0JDLCAweDAwQ0M0IH0sIHsgMHgw
MENDNiwgMHgwMENDOCB9LAorICB7IDB4MDBDQ0EsIDB4MDBDQ0QgfSwgeyAweDAwQ0Q1LCAweDAw
Q0Q2IH0sIHsgMHgwMENERCwgMHgwMENERSB9LAorICB7IDB4MDBDRTAsIDB4MDBDRTMgfSwgeyAw
eDAwQ0U2LCAweDAwQ0VGIH0sIHsgMHgwMENGMSwgMHgwMENGMyB9LAorICB7IDB4MDBEMDAsIDB4
MDBEMEMgfSwgeyAweDAwRDBFLCAweDAwRDEwIH0sIHsgMHgwMEQxMiwgMHgwMEQ0NCB9LAorICB7
IDB4MDBENDYsIDB4MDBENDggfSwgeyAweDAwRDRBLCAweDAwRDRFIH0sIHsgMHgwMEQ1NCwgMHgw
MEQ1NyB9LAorICB7IDB4MDBENUYsIDB4MDBENjMgfSwgeyAweDAwRDY2LCAweDAwRDZGIH0sIHsg
MHgwMEQ3QSwgMHgwMEQ3RiB9LAorICB7IDB4MDBEODEsIDB4MDBEODMgfSwgeyAweDAwRDg1LCAw
eDAwRDk2IH0sIHsgMHgwMEQ5QSwgMHgwMERCMSB9LAorICB7IDB4MDBEQjMsIDB4MDBEQkIgfSwg
eyAweDAwREJELCAweDAwREJEIH0sIHsgMHgwMERDMCwgMHgwMERDNiB9LAorICB7IDB4MDBEQ0Es
IDB4MDBEQ0EgfSwgeyAweDAwRENGLCAweDAwREQ0IH0sIHsgMHgwMERENiwgMHgwMERENiB9LAor
ICB7IDB4MDBERDgsIDB4MDBEREYgfSwgeyAweDAwREU2LCAweDAwREVGIH0sIHsgMHgwMERGMiwg
MHgwMERGMyB9LAorICB7IDB4MDBFMDEsIDB4MDBFM0EgfSwgeyAweDAwRTQwLCAweDAwRTRFIH0s
IHsgMHgwMEU1MCwgMHgwMEU1OSB9LAorICB7IDB4MDBFODEsIDB4MDBFODIgfSwgeyAweDAwRTg0
LCAweDAwRTg0IH0sIHsgMHgwMEU4NiwgMHgwMEU4QSB9LAorICB7IDB4MDBFOEMsIDB4MDBFQTMg
fSwgeyAweDAwRUE1LCAweDAwRUE1IH0sIHsgMHgwMEVBNywgMHgwMEVCRCB9LAorICB7IDB4MDBF
QzAsIDB4MDBFQzQgfSwgeyAweDAwRUM2LCAweDAwRUM2IH0sIHsgMHgwMEVDOCwgMHgwMEVDRSB9
LAorICB7IDB4MDBFRDAsIDB4MDBFRDkgfSwgeyAweDAwRURDLCAweDAwRURGIH0sIHsgMHgwMEYw
MCwgMHgwMEYwMCB9LAorICB7IDB4MDBGMTgsIDB4MDBGMTkgfSwgeyAweDAwRjIwLCAweDAwRjI5
IH0sIHsgMHgwMEYzNSwgMHgwMEYzNSB9LAorICB7IDB4MDBGMzcsIDB4MDBGMzcgfSwgeyAweDAw
RjM5LCAweDAwRjM5IH0sIHsgMHgwMEYzRSwgMHgwMEY0NyB9LAorICB7IDB4MDBGNDksIDB4MDBG
NkMgfSwgeyAweDAwRjcxLCAweDAwRjg0IH0sIHsgMHgwMEY4NiwgMHgwMEY5NyB9LAorICB7IDB4
MDBGOTksIDB4MDBGQkMgfSwgeyAweDAwRkM2LCAweDAwRkM2IH0sIHsgMHgwMTAwMCwgMHgwMTA0
OSB9LAorICB7IDB4MDEwNTAsIDB4MDEwOUQgfSwgeyAweDAxMEEwLCAweDAxMEM1IH0sIHsgMHgw
MTBDNywgMHgwMTBDNyB9LAorICB7IDB4MDEwQ0QsIDB4MDEwQ0QgfSwgeyAweDAxMEQwLCAweDAx
MEZBIH0sIHsgMHgwMTBGQywgMHgwMTE1RSB9LAorICB7IDB4MDExNjEsIDB4MDEyNDggfSwgeyAw
eDAxMjRBLCAweDAxMjREIH0sIHsgMHgwMTI1MCwgMHgwMTI1NiB9LAorICB7IDB4MDEyNTgsIDB4
MDEyNTggfSwgeyAweDAxMjVBLCAweDAxMjVEIH0sIHsgMHgwMTI2MCwgMHgwMTI4OCB9LAorICB7
IDB4MDEyOEEsIDB4MDEyOEQgfSwgeyAweDAxMjkwLCAweDAxMkIwIH0sIHsgMHgwMTJCMiwgMHgw
MTJCNSB9LAorICB7IDB4MDEyQjgsIDB4MDEyQkUgfSwgeyAweDAxMkMwLCAweDAxMkMwIH0sIHsg
MHgwMTJDMiwgMHgwMTJDNSB9LAorICB7IDB4MDEyQzgsIDB4MDEyRDYgfSwgeyAweDAxMkQ4LCAw
eDAxMzEwIH0sIHsgMHgwMTMxMiwgMHgwMTMxNSB9LAorICB7IDB4MDEzMTgsIDB4MDEzNUEgfSwg
eyAweDAxMzVELCAweDAxMzVGIH0sIHsgMHgwMTM2OSwgMHgwMTM3MSB9LAorICB7IDB4MDEzODAs
IDB4MDEzOEYgfSwgeyAweDAxM0EwLCAweDAxM0Y1IH0sIHsgMHgwMTNGOCwgMHgwMTNGRCB9LAor
ICB7IDB4MDE0MDEsIDB4MDE2NkMgfSwgeyAweDAxNjZGLCAweDAxNjdGIH0sIHsgMHgwMTY4MSwg
MHgwMTY5QSB9LAorICB7IDB4MDE2QTAsIDB4MDE2RUEgfSwgeyAweDAxNkVFLCAweDAxNkY4IH0s
IHsgMHgwMTcwMCwgMHgwMTcxNSB9LAorICB7IDB4MDE3MUYsIDB4MDE3MzQgfSwgeyAweDAxNzQw
LCAweDAxNzUzIH0sIHsgMHgwMTc2MCwgMHgwMTc2QyB9LAorICB7IDB4MDE3NkUsIDB4MDE3NzAg
fSwgeyAweDAxNzcyLCAweDAxNzczIH0sIHsgMHgwMTc4MCwgMHgwMTdCMyB9LAorICB7IDB4MDE3
QjYsIDB4MDE3RDMgfSwgeyAweDAxN0Q3LCAweDAxN0Q3IH0sIHsgMHgwMTdEQywgMHgwMTdERCB9
LAorICB7IDB4MDE3RTAsIDB4MDE3RTkgfSwgeyAweDAxODEwLCAweDAxODE5IH0sIHsgMHgwMTgy
MCwgMHgwMTg3OCB9LAorICB7IDB4MDE4ODAsIDB4MDE4QUEgfSwgeyAweDAxOEIwLCAweDAxOEY1
IH0sIHsgMHgwMTkwMCwgMHgwMTkxRSB9LAorICB7IDB4MDE5MjAsIDB4MDE5MkIgfSwgeyAweDAx
OTMwLCAweDAxOTNCIH0sIHsgMHgwMTk0NiwgMHgwMTk2RCB9LAorICB7IDB4MDE5NzAsIDB4MDE5
NzQgfSwgeyAweDAxOTgwLCAweDAxOUFCIH0sIHsgMHgwMTlCMCwgMHgwMTlDOSB9LAorICB7IDB4
MDE5RDAsIDB4MDE5REEgfSwgeyAweDAxQTAwLCAweDAxQTFCIH0sIHsgMHgwMUEyMCwgMHgwMUE1
RSB9LAorICB7IDB4MDFBNjAsIDB4MDFBN0MgfSwgeyAweDAxQTdGLCAweDAxQTg5IH0sIHsgMHgw
MUE5MCwgMHgwMUE5OSB9LAorICB7IDB4MDFBQTcsIDB4MDFBQTcgfSwgeyAweDAxQUIwLCAweDAx
QUJEIH0sIHsgMHgwMUFCRiwgMHgwMUFDRSB9LAorICB7IDB4MDFCMDAsIDB4MDFCNEMgfSwgeyAw
eDAxQjUwLCAweDAxQjU5IH0sIHsgMHgwMUI2QiwgMHgwMUI3MyB9LAorICB7IDB4MDFCODAsIDB4
MDFCRjMgfSwgeyAweDAxQzAwLCAweDAxQzM3IH0sIHsgMHgwMUM0MCwgMHgwMUM0OSB9LAorICB7
IDB4MDFDNEQsIDB4MDFDN0QgfSwgeyAweDAxQzgwLCAweDAxQzg4IH0sIHsgMHgwMUM5MCwgMHgw
MUNCQSB9LAorICB7IDB4MDFDQkQsIDB4MDFDQkYgfSwgeyAweDAxQ0QwLCAweDAxQ0QyIH0sIHsg
MHgwMUNENCwgMHgwMUNGQSB9LAorICB7IDB4MDFEMDAsIDB4MDFGMTUgfSwgeyAweDAxRjE4LCAw
eDAxRjFEIH0sIHsgMHgwMUYyMCwgMHgwMUY0NSB9LAorICB7IDB4MDFGNDgsIDB4MDFGNEQgfSwg
eyAweDAxRjUwLCAweDAxRjU3IH0sIHsgMHgwMUY1OSwgMHgwMUY1OSB9LAorICB7IDB4MDFGNUIs
IDB4MDFGNUIgfSwgeyAweDAxRjVELCAweDAxRjVEIH0sIHsgMHgwMUY1RiwgMHgwMUY3RCB9LAor
ICB7IDB4MDFGODAsIDB4MDFGQjQgfSwgeyAweDAxRkI2LCAweDAxRkJDIH0sIHsgMHgwMUZCRSwg
MHgwMUZCRSB9LAorICB7IDB4MDFGQzIsIDB4MDFGQzQgfSwgeyAweDAxRkM2LCAweDAxRkNDIH0s
IHsgMHgwMUZEMCwgMHgwMUZEMyB9LAorICB7IDB4MDFGRDYsIDB4MDFGREIgfSwgeyAweDAxRkUw
LCAweDAxRkVDIH0sIHsgMHgwMUZGMiwgMHgwMUZGNCB9LAorICB7IDB4MDFGRjYsIDB4MDFGRkMg
fSwgeyAweDAyMDNGLCAweDAyMDQwIH0sIHsgMHgwMjA1NCwgMHgwMjA1NCB9LAorICB7IDB4MDIw
NzEsIDB4MDIwNzEgfSwgeyAweDAyMDdGLCAweDAyMDdGIH0sIHsgMHgwMjA5MCwgMHgwMjA5QyB9
LAorICB7IDB4MDIwRDAsIDB4MDIwREMgfSwgeyAweDAyMEUxLCAweDAyMEUxIH0sIHsgMHgwMjBF
NSwgMHgwMjBGMCB9LAorICB7IDB4MDIxMDIsIDB4MDIxMDIgfSwgeyAweDAyMTA3LCAweDAyMTA3
IH0sIHsgMHgwMjEwQSwgMHgwMjExMyB9LAorICB7IDB4MDIxMTUsIDB4MDIxMTUgfSwgeyAweDAy
MTE4LCAweDAyMTFEIH0sIHsgMHgwMjEyNCwgMHgwMjEyNCB9LAorICB7IDB4MDIxMjYsIDB4MDIx
MjYgfSwgeyAweDAyMTI4LCAweDAyMTI4IH0sIHsgMHgwMjEyQSwgMHgwMjEzOSB9LAorICB7IDB4
MDIxM0MsIDB4MDIxM0YgfSwgeyAweDAyMTQ1LCAweDAyMTQ5IH0sIHsgMHgwMjE0RSwgMHgwMjE0
RSB9LAorICB7IDB4MDIxNjAsIDB4MDIxODggfSwgeyAweDAyQzAwLCAweDAyQ0U0IH0sIHsgMHgw
MkNFQiwgMHgwMkNGMyB9LAorICB7IDB4MDJEMDAsIDB4MDJEMjUgfSwgeyAweDAyRDI3LCAweDAy
RDI3IH0sIHsgMHgwMkQyRCwgMHgwMkQyRCB9LAorICB7IDB4MDJEMzAsIDB4MDJENjcgfSwgeyAw
eDAyRDZGLCAweDAyRDZGIH0sIHsgMHgwMkQ3RiwgMHgwMkQ5NiB9LAorICB7IDB4MDJEQTAsIDB4
MDJEQTYgfSwgeyAweDAyREE4LCAweDAyREFFIH0sIHsgMHgwMkRCMCwgMHgwMkRCNiB9LAorICB7
IDB4MDJEQjgsIDB4MDJEQkUgfSwgeyAweDAyREMwLCAweDAyREM2IH0sIHsgMHgwMkRDOCwgMHgw
MkRDRSB9LAorICB7IDB4MDJERDAsIDB4MDJERDYgfSwgeyAweDAyREQ4LCAweDAyRERFIH0sIHsg
MHgwMkRFMCwgMHgwMkRGRiB9LAorICB7IDB4MDMwMDUsIDB4MDMwMDcgfSwgeyAweDAzMDIxLCAw
eDAzMDJGIH0sIHsgMHgwMzAzMSwgMHgwMzAzNSB9LAorICB7IDB4MDMwMzgsIDB4MDMwM0MgfSwg
eyAweDAzMDQxLCAweDAzMDk2IH0sIHsgMHgwMzA5OSwgMHgwMzA5QSB9LAorICB7IDB4MDMwOUQs
IDB4MDMwOUYgfSwgeyAweDAzMEExLCAweDAzMEZBIH0sIHsgMHgwMzBGQywgMHgwMzBGRiB9LAor
ICB7IDB4MDMxMDUsIDB4MDMxMkYgfSwgeyAweDAzMTMxLCAweDAzMTYzIH0sIHsgMHgwMzE2NSwg
MHgwMzE4RSB9LAorICB7IDB4MDMxQTAsIDB4MDMxQkYgfSwgeyAweDAzMUYwLCAweDAzMUZGIH0s
IHsgMHgwMzQwMCwgMHgwNERCRiB9LAorICB7IDB4MDRFMDAsIDB4MEE0OEMgfSwgeyAweDBBNEQw
LCAweDBBNEZEIH0sIHsgMHgwQTUwMCwgMHgwQTYwQyB9LAorICB7IDB4MEE2MTAsIDB4MEE2MkIg
fSwgeyAweDBBNjQwLCAweDBBNjZGIH0sIHsgMHgwQTY3NCwgMHgwQTY3RCB9LAorICB7IDB4MEE2
N0YsIDB4MEE2RjEgfSwgeyAweDBBNzE3LCAweDBBNzFGIH0sIHsgMHgwQTcyMiwgMHgwQTc4OCB9
LAorICB7IDB4MEE3OEIsIDB4MEE3Q0EgfSwgeyAweDBBN0QwLCAweDBBN0QxIH0sIHsgMHgwQTdE
MywgMHgwQTdEMyB9LAorICB7IDB4MEE3RDUsIDB4MEE3RDkgfSwgeyAweDBBN0YyLCAweDBBODI3
IH0sIHsgMHgwQTgyQywgMHgwQTgyQyB9LAorICB7IDB4MEE4NDAsIDB4MEE4NzMgfSwgeyAweDBB
ODgwLCAweDBBOEM1IH0sIHsgMHgwQThEMCwgMHgwQThEOSB9LAorICB7IDB4MEE4RTAsIDB4MEE4
RjcgfSwgeyAweDBBOEZCLCAweDBBOEZCIH0sIHsgMHgwQThGRCwgMHgwQTkyRCB9LAorICB7IDB4
MEE5MzAsIDB4MEE5NTMgfSwgeyAweDBBOTYwLCAweDBBOTdDIH0sIHsgMHgwQTk4MCwgMHgwQTlD
MCB9LAorICB7IDB4MEE5Q0YsIDB4MEE5RDkgfSwgeyAweDBBOUUwLCAweDBBOUZFIH0sIHsgMHgw
QUEwMCwgMHgwQUEzNiB9LAorICB7IDB4MEFBNDAsIDB4MEFBNEQgfSwgeyAweDBBQTUwLCAweDBB
QTU5IH0sIHsgMHgwQUE2MCwgMHgwQUE3NiB9LAorICB7IDB4MEFBN0EsIDB4MEFBQzIgfSwgeyAw
eDBBQURCLCAweDBBQUREIH0sIHsgMHgwQUFFMCwgMHgwQUFFRiB9LAorICB7IDB4MEFBRjIsIDB4
MEFBRjYgfSwgeyAweDBBQjAxLCAweDBBQjA2IH0sIHsgMHgwQUIwOSwgMHgwQUIwRSB9LAorICB7
IDB4MEFCMTEsIDB4MEFCMTYgfSwgeyAweDBBQjIwLCAweDBBQjI2IH0sIHsgMHgwQUIyOCwgMHgw
QUIyRSB9LAorICB7IDB4MEFCMzAsIDB4MEFCNUEgfSwgeyAweDBBQjVDLCAweDBBQjY5IH0sIHsg
MHgwQUI3MCwgMHgwQUJFQSB9LAorICB7IDB4MEFCRUMsIDB4MEFCRUQgfSwgeyAweDBBQkYwLCAw
eDBBQkY5IH0sIHsgMHgwQUMwMCwgMHgwRDdBMyB9LAorICB7IDB4MEQ3QjAsIDB4MEQ3QzYgfSwg
eyAweDBEN0NCLCAweDBEN0ZCIH0sIHsgMHgwRjkwMCwgMHgwRkE2RCB9LAorICB7IDB4MEZBNzAs
IDB4MEZBRDkgfSwgeyAweDBGQjAwLCAweDBGQjA2IH0sIHsgMHgwRkIxMywgMHgwRkIxNyB9LAor
ICB7IDB4MEZCMUQsIDB4MEZCMjggfSwgeyAweDBGQjJBLCAweDBGQjM2IH0sIHsgMHgwRkIzOCwg
MHgwRkIzQyB9LAorICB7IDB4MEZCM0UsIDB4MEZCM0UgfSwgeyAweDBGQjQwLCAweDBGQjQxIH0s
IHsgMHgwRkI0MywgMHgwRkI0NCB9LAorICB7IDB4MEZCNDYsIDB4MEZCQjEgfSwgeyAweDBGQkQz
LCAweDBGQzVEIH0sIHsgMHgwRkM2NCwgMHgwRkQzRCB9LAorICB7IDB4MEZENTAsIDB4MEZEOEYg
fSwgeyAweDBGRDkyLCAweDBGREM3IH0sIHsgMHgwRkRGMCwgMHgwRkRGOSB9LAorICB7IDB4MEZF
MjAsIDB4MEZFMkYgfSwgeyAweDBGRTMzLCAweDBGRTM0IH0sIHsgMHgwRkU0RCwgMHgwRkU0RiB9
LAorICB7IDB4MEZFNzEsIDB4MEZFNzEgfSwgeyAweDBGRTczLCAweDBGRTczIH0sIHsgMHgwRkU3
NywgMHgwRkU3NyB9LAorICB7IDB4MEZFNzksIDB4MEZFNzkgfSwgeyAweDBGRTdCLCAweDBGRTdC
IH0sIHsgMHgwRkU3RCwgMHgwRkU3RCB9LAorICB7IDB4MEZFN0YsIDB4MEZFRkMgfSwgeyAweDBG
RjEwLCAweDBGRjE5IH0sIHsgMHgwRkYyMSwgMHgwRkYzQSB9LAorICB7IDB4MEZGM0YsIDB4MEZG
M0YgfSwgeyAweDBGRjQxLCAweDBGRjVBIH0sIHsgMHgwRkY2NiwgMHgwRkY5RiB9LAorICB7IDB4
MEZGQTEsIDB4MEZGQkUgfSwgeyAweDBGRkMyLCAweDBGRkM3IH0sIHsgMHgwRkZDQSwgMHgwRkZD
RiB9LAorICB7IDB4MEZGRDIsIDB4MEZGRDcgfSwgeyAweDBGRkRBLCAweDBGRkRDIH0sIHsgMHgx
MDAwMCwgMHgxMDAwQiB9LAorICB7IDB4MTAwMEQsIDB4MTAwMjYgfSwgeyAweDEwMDI4LCAweDEw
MDNBIH0sIHsgMHgxMDAzQywgMHgxMDAzRCB9LAorICB7IDB4MTAwM0YsIDB4MTAwNEQgfSwgeyAw
eDEwMDUwLCAweDEwMDVEIH0sIHsgMHgxMDA4MCwgMHgxMDBGQSB9LAorICB7IDB4MTAxNDAsIDB4
MTAxNzQgfSwgeyAweDEwMUZELCAweDEwMUZEIH0sIHsgMHgxMDI4MCwgMHgxMDI5QyB9LAorICB7
IDB4MTAyQTAsIDB4MTAyRDAgfSwgeyAweDEwMkUwLCAweDEwMkUwIH0sIHsgMHgxMDMwMCwgMHgx
MDMxRiB9LAorICB7IDB4MTAzMkQsIDB4MTAzNEEgfSwgeyAweDEwMzUwLCAweDEwMzdBIH0sIHsg
MHgxMDM4MCwgMHgxMDM5RCB9LAorICB7IDB4MTAzQTAsIDB4MTAzQzMgfSwgeyAweDEwM0M4LCAw
eDEwM0NGIH0sIHsgMHgxMDNEMSwgMHgxMDNENSB9LAorICB7IDB4MTA0MDAsIDB4MTA0OUQgfSwg
eyAweDEwNEEwLCAweDEwNEE5IH0sIHsgMHgxMDRCMCwgMHgxMDREMyB9LAorICB7IDB4MTA0RDgs
IDB4MTA0RkIgfSwgeyAweDEwNTAwLCAweDEwNTI3IH0sIHsgMHgxMDUzMCwgMHgxMDU2MyB9LAor
ICB7IDB4MTA1NzAsIDB4MTA1N0EgfSwgeyAweDEwNTdDLCAweDEwNThBIH0sIHsgMHgxMDU4Qywg
MHgxMDU5MiB9LAorICB7IDB4MTA1OTQsIDB4MTA1OTUgfSwgeyAweDEwNTk3LCAweDEwNUExIH0s
IHsgMHgxMDVBMywgMHgxMDVCMSB9LAorICB7IDB4MTA1QjMsIDB4MTA1QjkgfSwgeyAweDEwNUJC
LCAweDEwNUJDIH0sIHsgMHgxMDYwMCwgMHgxMDczNiB9LAorICB7IDB4MTA3NDAsIDB4MTA3NTUg
fSwgeyAweDEwNzYwLCAweDEwNzY3IH0sIHsgMHgxMDc4MCwgMHgxMDc4NSB9LAorICB7IDB4MTA3
ODcsIDB4MTA3QjAgfSwgeyAweDEwN0IyLCAweDEwN0JBIH0sIHsgMHgxMDgwMCwgMHgxMDgwNSB9
LAorICB7IDB4MTA4MDgsIDB4MTA4MDggfSwgeyAweDEwODBBLCAweDEwODM1IH0sIHsgMHgxMDgz
NywgMHgxMDgzOCB9LAorICB7IDB4MTA4M0MsIDB4MTA4M0MgfSwgeyAweDEwODNGLCAweDEwODU1
IH0sIHsgMHgxMDg2MCwgMHgxMDg3NiB9LAorICB7IDB4MTA4ODAsIDB4MTA4OUUgfSwgeyAweDEw
OEUwLCAweDEwOEYyIH0sIHsgMHgxMDhGNCwgMHgxMDhGNSB9LAorICB7IDB4MTA5MDAsIDB4MTA5
MTUgfSwgeyAweDEwOTIwLCAweDEwOTM5IH0sIHsgMHgxMDk4MCwgMHgxMDlCNyB9LAorICB7IDB4
MTA5QkUsIDB4MTA5QkYgfSwgeyAweDEwQTAwLCAweDEwQTAzIH0sIHsgMHgxMEEwNSwgMHgxMEEw
NiB9LAorICB7IDB4MTBBMEMsIDB4MTBBMTMgfSwgeyAweDEwQTE1LCAweDEwQTE3IH0sIHsgMHgx
MEExOSwgMHgxMEEzNSB9LAorICB7IDB4MTBBMzgsIDB4MTBBM0EgfSwgeyAweDEwQTNGLCAweDEw
QTNGIH0sIHsgMHgxMEE2MCwgMHgxMEE3QyB9LAorICB7IDB4MTBBODAsIDB4MTBBOUMgfSwgeyAw
eDEwQUMwLCAweDEwQUM3IH0sIHsgMHgxMEFDOSwgMHgxMEFFNiB9LAorICB7IDB4MTBCMDAsIDB4
MTBCMzUgfSwgeyAweDEwQjQwLCAweDEwQjU1IH0sIHsgMHgxMEI2MCwgMHgxMEI3MiB9LAorICB7
IDB4MTBCODAsIDB4MTBCOTEgfSwgeyAweDEwQzAwLCAweDEwQzQ4IH0sIHsgMHgxMEM4MCwgMHgx
MENCMiB9LAorICB7IDB4MTBDQzAsIDB4MTBDRjIgfSwgeyAweDEwRDAwLCAweDEwRDI3IH0sIHsg
MHgxMEQzMCwgMHgxMEQzOSB9LAorICB7IDB4MTBFODAsIDB4MTBFQTkgfSwgeyAweDEwRUFCLCAw
eDEwRUFDIH0sIHsgMHgxMEVCMCwgMHgxMEVCMSB9LAorICB7IDB4MTBFRkQsIDB4MTBGMUMgfSwg
eyAweDEwRjI3LCAweDEwRjI3IH0sIHsgMHgxMEYzMCwgMHgxMEY1MCB9LAorICB7IDB4MTBGNzAs
IDB4MTBGODUgfSwgeyAweDEwRkIwLCAweDEwRkM0IH0sIHsgMHgxMEZFMCwgMHgxMEZGNiB9LAor
ICB7IDB4MTEwMDAsIDB4MTEwNDYgfSwgeyAweDExMDY2LCAweDExMDc1IH0sIHsgMHgxMTA3Riwg
MHgxMTBCQSB9LAorICB7IDB4MTEwQzIsIDB4MTEwQzIgfSwgeyAweDExMEQwLCAweDExMEU4IH0s
IHsgMHgxMTBGMCwgMHgxMTBGOSB9LAorICB7IDB4MTExMDAsIDB4MTExMzQgfSwgeyAweDExMTM2
LCAweDExMTNGIH0sIHsgMHgxMTE0NCwgMHgxMTE0NyB9LAorICB7IDB4MTExNTAsIDB4MTExNzMg
fSwgeyAweDExMTc2LCAweDExMTc2IH0sIHsgMHgxMTE4MCwgMHgxMTFDNCB9LAorICB7IDB4MTEx
QzksIDB4MTExQ0MgfSwgeyAweDExMUNFLCAweDExMURBIH0sIHsgMHgxMTFEQywgMHgxMTFEQyB9
LAorICB7IDB4MTEyMDAsIDB4MTEyMTEgfSwgeyAweDExMjEzLCAweDExMjM3IH0sIHsgMHgxMTIz
RSwgMHgxMTI0MSB9LAorICB7IDB4MTEyODAsIDB4MTEyODYgfSwgeyAweDExMjg4LCAweDExMjg4
IH0sIHsgMHgxMTI4QSwgMHgxMTI4RCB9LAorICB7IDB4MTEyOEYsIDB4MTEyOUQgfSwgeyAweDEx
MjlGLCAweDExMkE4IH0sIHsgMHgxMTJCMCwgMHgxMTJFQSB9LAorICB7IDB4MTEyRjAsIDB4MTEy
RjkgfSwgeyAweDExMzAwLCAweDExMzAzIH0sIHsgMHgxMTMwNSwgMHgxMTMwQyB9LAorICB7IDB4
MTEzMEYsIDB4MTEzMTAgfSwgeyAweDExMzEzLCAweDExMzI4IH0sIHsgMHgxMTMyQSwgMHgxMTMz
MCB9LAorICB7IDB4MTEzMzIsIDB4MTEzMzMgfSwgeyAweDExMzM1LCAweDExMzM5IH0sIHsgMHgx
MTMzQiwgMHgxMTM0NCB9LAorICB7IDB4MTEzNDcsIDB4MTEzNDggfSwgeyAweDExMzRCLCAweDEx
MzREIH0sIHsgMHgxMTM1MCwgMHgxMTM1MCB9LAorICB7IDB4MTEzNTcsIDB4MTEzNTcgfSwgeyAw
eDExMzVELCAweDExMzYzIH0sIHsgMHgxMTM2NiwgMHgxMTM2QyB9LAorICB7IDB4MTEzNzAsIDB4
MTEzNzQgfSwgeyAweDExNDAwLCAweDExNDRBIH0sIHsgMHgxMTQ1MCwgMHgxMTQ1OSB9LAorICB7
IDB4MTE0NUUsIDB4MTE0NjEgfSwgeyAweDExNDgwLCAweDExNEM1IH0sIHsgMHgxMTRDNywgMHgx
MTRDNyB9LAorICB7IDB4MTE0RDAsIDB4MTE0RDkgfSwgeyAweDExNTgwLCAweDExNUI1IH0sIHsg
MHgxMTVCOCwgMHgxMTVDMCB9LAorICB7IDB4MTE1RDgsIDB4MTE1REQgfSwgeyAweDExNjAwLCAw
eDExNjQwIH0sIHsgMHgxMTY0NCwgMHgxMTY0NCB9LAorICB7IDB4MTE2NTAsIDB4MTE2NTkgfSwg
eyAweDExNjgwLCAweDExNkI4IH0sIHsgMHgxMTZDMCwgMHgxMTZDOSB9LAorICB7IDB4MTE3MDAs
IDB4MTE3MUEgfSwgeyAweDExNzFELCAweDExNzJCIH0sIHsgMHgxMTczMCwgMHgxMTczOSB9LAor
ICB7IDB4MTE3NDAsIDB4MTE3NDYgfSwgeyAweDExODAwLCAweDExODNBIH0sIHsgMHgxMThBMCwg
MHgxMThFOSB9LAorICB7IDB4MTE4RkYsIDB4MTE5MDYgfSwgeyAweDExOTA5LCAweDExOTA5IH0s
IHsgMHgxMTkwQywgMHgxMTkxMyB9LAorICB7IDB4MTE5MTUsIDB4MTE5MTYgfSwgeyAweDExOTE4
LCAweDExOTM1IH0sIHsgMHgxMTkzNywgMHgxMTkzOCB9LAorICB7IDB4MTE5M0IsIDB4MTE5NDMg
fSwgeyAweDExOTUwLCAweDExOTU5IH0sIHsgMHgxMTlBMCwgMHgxMTlBNyB9LAorICB7IDB4MTE5
QUEsIDB4MTE5RDcgfSwgeyAweDExOURBLCAweDExOUUxIH0sIHsgMHgxMTlFMywgMHgxMTlFNCB9
LAorICB7IDB4MTFBMDAsIDB4MTFBM0UgfSwgeyAweDExQTQ3LCAweDExQTQ3IH0sIHsgMHgxMUE1
MCwgMHgxMUE5OSB9LAorICB7IDB4MTFBOUQsIDB4MTFBOUQgfSwgeyAweDExQUIwLCAweDExQUY4
IH0sIHsgMHgxMUMwMCwgMHgxMUMwOCB9LAorICB7IDB4MTFDMEEsIDB4MTFDMzYgfSwgeyAweDEx
QzM4LCAweDExQzQwIH0sIHsgMHgxMUM1MCwgMHgxMUM1OSB9LAorICB7IDB4MTFDNzIsIDB4MTFD
OEYgfSwgeyAweDExQzkyLCAweDExQ0E3IH0sIHsgMHgxMUNBOSwgMHgxMUNCNiB9LAorICB7IDB4
MTFEMDAsIDB4MTFEMDYgfSwgeyAweDExRDA4LCAweDExRDA5IH0sIHsgMHgxMUQwQiwgMHgxMUQz
NiB9LAorICB7IDB4MTFEM0EsIDB4MTFEM0EgfSwgeyAweDExRDNDLCAweDExRDNEIH0sIHsgMHgx
MUQzRiwgMHgxMUQ0NyB9LAorICB7IDB4MTFENTAsIDB4MTFENTkgfSwgeyAweDExRDYwLCAweDEx
RDY1IH0sIHsgMHgxMUQ2NywgMHgxMUQ2OCB9LAorICB7IDB4MTFENkEsIDB4MTFEOEUgfSwgeyAw
eDExRDkwLCAweDExRDkxIH0sIHsgMHgxMUQ5MywgMHgxMUQ5OCB9LAorICB7IDB4MTFEQTAsIDB4
MTFEQTkgfSwgeyAweDExRUUwLCAweDExRUY2IH0sIHsgMHgxMUYwMCwgMHgxMUYxMCB9LAorICB7
IDB4MTFGMTIsIDB4MTFGM0EgfSwgeyAweDExRjNFLCAweDExRjQyIH0sIHsgMHgxMUY1MCwgMHgx
MUY1OSB9LAorICB7IDB4MTFGQjAsIDB4MTFGQjAgfSwgeyAweDEyMDAwLCAweDEyMzk5IH0sIHsg
MHgxMjQwMCwgMHgxMjQ2RSB9LAorICB7IDB4MTI0ODAsIDB4MTI1NDMgfSwgeyAweDEyRjkwLCAw
eDEyRkYwIH0sIHsgMHgxMzAwMCwgMHgxMzQyRiB9LAorICB7IDB4MTM0NDAsIDB4MTM0NTUgfSwg
eyAweDE0NDAwLCAweDE0NjQ2IH0sIHsgMHgxNjgwMCwgMHgxNkEzOCB9LAorICB7IDB4MTZBNDAs
IDB4MTZBNUUgfSwgeyAweDE2QTYwLCAweDE2QTY5IH0sIHsgMHgxNkE3MCwgMHgxNkFCRSB9LAor
ICB7IDB4MTZBQzAsIDB4MTZBQzkgfSwgeyAweDE2QUQwLCAweDE2QUVEIH0sIHsgMHgxNkFGMCwg
MHgxNkFGNCB9LAorICB7IDB4MTZCMDAsIDB4MTZCMzYgfSwgeyAweDE2QjQwLCAweDE2QjQzIH0s
IHsgMHgxNkI1MCwgMHgxNkI1OSB9LAorICB7IDB4MTZCNjMsIDB4MTZCNzcgfSwgeyAweDE2QjdE
LCAweDE2QjhGIH0sIHsgMHgxNkU0MCwgMHgxNkU3RiB9LAorICB7IDB4MTZGMDAsIDB4MTZGNEEg
fSwgeyAweDE2RjRGLCAweDE2Rjg3IH0sIHsgMHgxNkY4RiwgMHgxNkY5RiB9LAorICB7IDB4MTZG
RTAsIDB4MTZGRTEgfSwgeyAweDE2RkUzLCAweDE2RkU0IH0sIHsgMHgxNkZGMCwgMHgxNkZGMSB9
LAorICB7IDB4MTcwMDAsIDB4MTg3RjcgfSwgeyAweDE4ODAwLCAweDE4Q0Q1IH0sIHsgMHgxOEQw
MCwgMHgxOEQwOCB9LAorICB7IDB4MUFGRjAsIDB4MUFGRjMgfSwgeyAweDFBRkY1LCAweDFBRkZC
IH0sIHsgMHgxQUZGRCwgMHgxQUZGRSB9LAorICB7IDB4MUIwMDAsIDB4MUIxMjIgfSwgeyAweDFC
MTMyLCAweDFCMTMyIH0sIHsgMHgxQjE1MCwgMHgxQjE1MiB9LAorICB7IDB4MUIxNTUsIDB4MUIx
NTUgfSwgeyAweDFCMTY0LCAweDFCMTY3IH0sIHsgMHgxQjE3MCwgMHgxQjJGQiB9LAorICB7IDB4
MUJDMDAsIDB4MUJDNkEgfSwgeyAweDFCQzcwLCAweDFCQzdDIH0sIHsgMHgxQkM4MCwgMHgxQkM4
OCB9LAorICB7IDB4MUJDOTAsIDB4MUJDOTkgfSwgeyAweDFCQzlELCAweDFCQzlFIH0sIHsgMHgx
Q0YwMCwgMHgxQ0YyRCB9LAorICB7IDB4MUNGMzAsIDB4MUNGNDYgfSwgeyAweDFEMTY1LCAweDFE
MTY5IH0sIHsgMHgxRDE2RCwgMHgxRDE3MiB9LAorICB7IDB4MUQxN0IsIDB4MUQxODIgfSwgeyAw
eDFEMTg1LCAweDFEMThCIH0sIHsgMHgxRDFBQSwgMHgxRDFBRCB9LAorICB7IDB4MUQyNDIsIDB4
MUQyNDQgfSwgeyAweDFENDAwLCAweDFENDU0IH0sIHsgMHgxRDQ1NiwgMHgxRDQ5QyB9LAorICB7
IDB4MUQ0OUUsIDB4MUQ0OUYgfSwgeyAweDFENEEyLCAweDFENEEyIH0sIHsgMHgxRDRBNSwgMHgx
RDRBNiB9LAorICB7IDB4MUQ0QTksIDB4MUQ0QUMgfSwgeyAweDFENEFFLCAweDFENEI5IH0sIHsg
MHgxRDRCQiwgMHgxRDRCQiB9LAorICB7IDB4MUQ0QkQsIDB4MUQ0QzMgfSwgeyAweDFENEM1LCAw
eDFENTA1IH0sIHsgMHgxRDUwNywgMHgxRDUwQSB9LAorICB7IDB4MUQ1MEQsIDB4MUQ1MTQgfSwg
eyAweDFENTE2LCAweDFENTFDIH0sIHsgMHgxRDUxRSwgMHgxRDUzOSB9LAorICB7IDB4MUQ1M0Is
IDB4MUQ1M0UgfSwgeyAweDFENTQwLCAweDFENTQ0IH0sIHsgMHgxRDU0NiwgMHgxRDU0NiB9LAor
ICB7IDB4MUQ1NEEsIDB4MUQ1NTAgfSwgeyAweDFENTUyLCAweDFENkE1IH0sIHsgMHgxRDZBOCwg
MHgxRDZDMCB9LAorICB7IDB4MUQ2QzIsIDB4MUQ2REEgfSwgeyAweDFENkRDLCAweDFENkZBIH0s
IHsgMHgxRDZGQywgMHgxRDcxNCB9LAorICB7IDB4MUQ3MTYsIDB4MUQ3MzQgfSwgeyAweDFENzM2
LCAweDFENzRFIH0sIHsgMHgxRDc1MCwgMHgxRDc2RSB9LAorICB7IDB4MUQ3NzAsIDB4MUQ3ODgg
fSwgeyAweDFENzhBLCAweDFEN0E4IH0sIHsgMHgxRDdBQSwgMHgxRDdDMiB9LAorICB7IDB4MUQ3
QzQsIDB4MUQ3Q0IgfSwgeyAweDFEN0NFLCAweDFEN0ZGIH0sIHsgMHgxREEwMCwgMHgxREEzNiB9
LAorICB7IDB4MURBM0IsIDB4MURBNkMgfSwgeyAweDFEQTc1LCAweDFEQTc1IH0sIHsgMHgxREE4
NCwgMHgxREE4NCB9LAorICB7IDB4MURBOUIsIDB4MURBOUYgfSwgeyAweDFEQUExLCAweDFEQUFG
IH0sIHsgMHgxREYwMCwgMHgxREYxRSB9LAorICB7IDB4MURGMjUsIDB4MURGMkEgfSwgeyAweDFF
MDAwLCAweDFFMDA2IH0sIHsgMHgxRTAwOCwgMHgxRTAxOCB9LAorICB7IDB4MUUwMUIsIDB4MUUw
MjEgfSwgeyAweDFFMDIzLCAweDFFMDI0IH0sIHsgMHgxRTAyNiwgMHgxRTAyQSB9LAorICB7IDB4
MUUwMzAsIDB4MUUwNkQgfSwgeyAweDFFMDhGLCAweDFFMDhGIH0sIHsgMHgxRTEwMCwgMHgxRTEy
QyB9LAorICB7IDB4MUUxMzAsIDB4MUUxM0QgfSwgeyAweDFFMTQwLCAweDFFMTQ5IH0sIHsgMHgx
RTE0RSwgMHgxRTE0RSB9LAorICB7IDB4MUUyOTAsIDB4MUUyQUUgfSwgeyAweDFFMkMwLCAweDFF
MkY5IH0sIHsgMHgxRTREMCwgMHgxRTRGOSB9LAorICB7IDB4MUU3RTAsIDB4MUU3RTYgfSwgeyAw
eDFFN0U4LCAweDFFN0VCIH0sIHsgMHgxRTdFRCwgMHgxRTdFRSB9LAorICB7IDB4MUU3RjAsIDB4
MUU3RkUgfSwgeyAweDFFODAwLCAweDFFOEM0IH0sIHsgMHgxRThEMCwgMHgxRThENiB9LAorICB7
IDB4MUU5MDAsIDB4MUU5NEIgfSwgeyAweDFFOTUwLCAweDFFOTU5IH0sIHsgMHgxRUUwMCwgMHgx
RUUwMyB9LAorICB7IDB4MUVFMDUsIDB4MUVFMUYgfSwgeyAweDFFRTIxLCAweDFFRTIyIH0sIHsg
MHgxRUUyNCwgMHgxRUUyNCB9LAorICB7IDB4MUVFMjcsIDB4MUVFMjcgfSwgeyAweDFFRTI5LCAw
eDFFRTMyIH0sIHsgMHgxRUUzNCwgMHgxRUUzNyB9LAorICB7IDB4MUVFMzksIDB4MUVFMzkgfSwg
eyAweDFFRTNCLCAweDFFRTNCIH0sIHsgMHgxRUU0MiwgMHgxRUU0MiB9LAorICB7IDB4MUVFNDcs
IDB4MUVFNDcgfSwgeyAweDFFRTQ5LCAweDFFRTQ5IH0sIHsgMHgxRUU0QiwgMHgxRUU0QiB9LAor
ICB7IDB4MUVFNEQsIDB4MUVFNEYgfSwgeyAweDFFRTUxLCAweDFFRTUyIH0sIHsgMHgxRUU1NCwg
MHgxRUU1NCB9LAorICB7IDB4MUVFNTcsIDB4MUVFNTcgfSwgeyAweDFFRTU5LCAweDFFRTU5IH0s
IHsgMHgxRUU1QiwgMHgxRUU1QiB9LAorICB7IDB4MUVFNUQsIDB4MUVFNUQgfSwgeyAweDFFRTVG
LCAweDFFRTVGIH0sIHsgMHgxRUU2MSwgMHgxRUU2MiB9LAorICB7IDB4MUVFNjQsIDB4MUVFNjQg
fSwgeyAweDFFRTY3LCAweDFFRTZBIH0sIHsgMHgxRUU2QywgMHgxRUU3MiB9LAorICB7IDB4MUVF
NzQsIDB4MUVFNzcgfSwgeyAweDFFRTc5LCAweDFFRTdDIH0sIHsgMHgxRUU3RSwgMHgxRUU3RSB9
LAorICB7IDB4MUVFODAsIDB4MUVFODkgfSwgeyAweDFFRThCLCAweDFFRTlCIH0sIHsgMHgxRUVB
MSwgMHgxRUVBMyB9LAorICB7IDB4MUVFQTUsIDB4MUVFQTkgfSwgeyAweDFFRUFCLCAweDFFRUJC
IH0sIHsgMHgxRkJGMCwgMHgxRkJGOSB9LAorICB7IDB4MjAwMDAsIDB4MkE2REYgfSwgeyAweDJB
NzAwLCAweDJCNzM5IH0sIHsgMHgyQjc0MCwgMHgyQjgxRCB9LAorICB7IDB4MkI4MjAsIDB4MkNF
QTEgfSwgeyAweDJDRUIwLCAweDJFQkUwIH0sIHsgMHgyRjgwMCwgMHgyRkExRCB9LAorICB7IDB4
MzAwMDAsIDB4MzEzNEEgfSwgeyAweDMxMzUwLCAweDMyM0FGIH0sCit9OworI2RlZmluZSBNQklE
X1hJRF9DT05UX0xFTgkoc2l6ZW9mIChtYmlkX3hpZF9jb250KSAvIHNpemVvZiAobWJpZF94aWRf
Y29udFswXSkpCisKKy8qIFhJRF9Db250aW51ZSBjb2RlcG9pbnRzIHdpdGggTkZDX1F1aWNrX0No
ZWNrIG9mIE5vIG9yIE1heWJlLiAqLworc3RhdGljIGNvbnN0IE1CSURfUkFOR0UgbWJpZF9uZmNf
bm90X3llc1tdID0geworICB7IDB4MDAzMDAsIDB4MDAzMDQgfSwgeyAweDAwMzA2LCAweDAwMzBD
IH0sIHsgMHgwMDMwRiwgMHgwMDMwRiB9LAorICB7IDB4MDAzMTEsIDB4MDAzMTEgfSwgeyAweDAw
MzEzLCAweDAwMzE0IH0sIHsgMHgwMDMxQiwgMHgwMDMxQiB9LAorICB7IDB4MDAzMjMsIDB4MDAz
MjggfSwgeyAweDAwMzJELCAweDAwMzJFIH0sIHsgMHgwMDMzMCwgMHgwMDMzMSB9LAorICB7IDB4
MDAzMzgsIDB4MDAzMzggfSwgeyAweDAwMzQwLCAweDAwMzQ1IH0sIHsgMHgwMDM3NCwgMHgwMDM3
NCB9LAorICB7IDB4MDAzODcsIDB4MDAzODcgfSwgeyAweDAwNjUzLCAweDAwNjU1IH0sIHsgMHgw
MDkzQywgMHgwMDkzQyB9LAorICB7IDB4MDA5NTgsIDB4MDA5NUYgfSwgeyAweDAwOUJFLCAweDAw
OUJFIH0sIHsgMHgwMDlENywgMHgwMDlENyB9LAorICB7IDB4MDA5REMsIDB4MDA5REQgfSwgeyAw
eDAwOURGLCAweDAwOURGIH0sIHsgMHgwMEEzMywgMHgwMEEzMyB9LAorICB7IDB4MDBBMzYsIDB4
MDBBMzYgfSwgeyAweDAwQTU5LCAweDAwQTVCIH0sIHsgMHgwMEE1RSwgMHgwMEE1RSB9LAorICB7
IDB4MDBCM0UsIDB4MDBCM0UgfSwgeyAweDAwQjU2LCAweDAwQjU3IH0sIHsgMHgwMEI1QywgMHgw
MEI1RCB9LAorICB7IDB4MDBCQkUsIDB4MDBCQkUgfSwgeyAweDAwQkQ3LCAweDAwQkQ3IH0sIHsg
MHgwMEM1NiwgMHgwMEM1NiB9LAorICB7IDB4MDBDQzIsIDB4MDBDQzIgfSwgeyAweDAwQ0Q1LCAw
eDAwQ0Q2IH0sIHsgMHgwMEQzRSwgMHgwMEQzRSB9LAorICB7IDB4MDBENTcsIDB4MDBENTcgfSwg
eyAweDAwRENBLCAweDAwRENBIH0sIHsgMHgwMERDRiwgMHgwMERDRiB9LAorICB7IDB4MDBEREYs
IDB4MDBEREYgfSwgeyAweDAwRjQzLCAweDAwRjQzIH0sIHsgMHgwMEY0RCwgMHgwMEY0RCB9LAor
ICB7IDB4MDBGNTIsIDB4MDBGNTIgfSwgeyAweDAwRjU3LCAweDAwRjU3IH0sIHsgMHgwMEY1Qywg
MHgwMEY1QyB9LAorICB7IDB4MDBGNjksIDB4MDBGNjkgfSwgeyAweDAwRjczLCAweDAwRjczIH0s
IHsgMHgwMEY3NSwgMHgwMEY3NiB9LAorICB7IDB4MDBGNzgsIDB4MDBGNzggfSwgeyAweDAwRjgx
LCAweDAwRjgxIH0sIHsgMHgwMEY5MywgMHgwMEY5MyB9LAorICB7IDB4MDBGOUQsIDB4MDBGOUQg
fSwgeyAweDAwRkEyLCAweDAwRkEyIH0sIHsgMHgwMEZBNywgMHgwMEZBNyB9LAorICB7IDB4MDBG
QUMsIDB4MDBGQUMgfSwgeyAweDAwRkI5LCAweDAwRkI5IH0sIHsgMHgwMTAyRSwgMHgwMTAyRSB9
LAorICB7IDB4MDExNjEsIDB4MDExNzUgfSwgeyAweDAxMUE4LCAweDAxMUMyIH0sIHsgMHgwMUIz
NSwgMHgwMUIzNSB9LAorICB7IDB4MDFGNzEsIDB4MDFGNzEgfSwgeyAweDAxRjczLCAweDAxRjcz
IH0sIHsgMHgwMUY3NSwgMHgwMUY3NSB9LAorICB7IDB4MDFGNzcsIDB4MDFGNzcgfSwgeyAweDAx
Rjc5LCAweDAxRjc5IH0sIHsgMHgwMUY3QiwgMHgwMUY3QiB9LAorICB7IDB4MDFGN0QsIDB4MDFG
N0QgfSwgeyAweDAxRkJCLCAweDAxRkJCIH0sIHsgMHgwMUZCRSwgMHgwMUZCRSB9LAorICB7IDB4
MDFGQzksIDB4MDFGQzkgfSwgeyAweDAxRkNCLCAweDAxRkNCIH0sIHsgMHgwMUZEMywgMHgwMUZE
MyB9LAorICB7IDB4MDFGREIsIDB4MDFGREIgfSwgeyAweDAxRkUzLCAweDAxRkUzIH0sIHsgMHgw
MUZFQiwgMHgwMUZFQiB9LAorICB7IDB4MDFGRjksIDB4MDFGRjkgfSwgeyAweDAxRkZCLCAweDAx
RkZCIH0sIHsgMHgwMjEyNiwgMHgwMjEyNiB9LAorICB7IDB4MDIxMkEsIDB4MDIxMkIgfSwgeyAw
eDAzMDk5LCAweDAzMDlBIH0sIHsgMHgwRjkwMCwgMHgwRkEwRCB9LAorICB7IDB4MEZBMTAsIDB4
MEZBMTAgfSwgeyAweDBGQTEyLCAweDBGQTEyIH0sIHsgMHgwRkExNSwgMHgwRkExRSB9LAorICB7
IDB4MEZBMjAsIDB4MEZBMjAgfSwgeyAweDBGQTIyLCAweDBGQTIyIH0sIHsgMHgwRkEyNSwgMHgw
RkEyNiB9LAorICB7IDB4MEZBMkEsIDB4MEZBNkQgfSwgeyAweDBGQTcwLCAweDBGQUQ5IH0sIHsg
MHgwRkIxRCwgMHgwRkIxRCB9LAorICB7IDB4MEZCMUYsIDB4MEZCMUYgfSwgeyAweDBGQjJBLCAw
eDBGQjM2IH0sIHsgMHgwRkIzOCwgMHgwRkIzQyB9LAorICB7IDB4MEZCM0UsIDB4MEZCM0UgfSwg
eyAweDBGQjQwLCAweDBGQjQxIH0sIHsgMHgwRkI0MywgMHgwRkI0NCB9LAorICB7IDB4MEZCNDYs
IDB4MEZCNEUgfSwgeyAweDExMEJBLCAweDExMEJBIH0sIHsgMHgxMTEyNywgMHgxMTEyNyB9LAor
ICB7IDB4MTEzM0UsIDB4MTEzM0UgfSwgeyAweDExMzU3LCAweDExMzU3IH0sIHsgMHgxMTRCMCwg
MHgxMTRCMCB9LAorICB7IDB4MTE0QkEsIDB4MTE0QkEgfSwgeyAweDExNEJELCAweDExNEJEIH0s
IHsgMHgxMTVBRiwgMHgxMTVBRiB9LAorICB7IDB4MTE5MzAsIDB4MTE5MzAgfSwgeyAweDJGODAw
LCAweDJGQTFEIH0sCit9OworI2RlZmluZSBNQklEX05GQ19OT1RfWUVTX0xFTgkoc2l6ZW9mICht
YmlkX25mY19ub3RfeWVzKSAvIHNpemVvZiAobWJpZF9uZmNfbm90X3llc1swXSkpCisKKy8qIE5v
bi16ZXJvIGNhbm9uaWNhbCBjb21iaW5pbmcgY2xhc3NlcyBvZiBYSURfQ29udGludWUgY29kZXBv
aW50cy4gKi8KK3N0YXRpYyBjb25zdCBNQklEX0NDQ19SQU5HRSBtYmlkX2NjY1tdID0geworICB7
IDB4MDAzMDAsIDB4MDAzMTQsIDIzMCB9LCB7IDB4MDAzMTUsIDB4MDAzMTUsIDIzMiB9LCB7IDB4
MDAzMTYsIDB4MDAzMTksIDIyMCB9LAorICB7IDB4MDAzMUEsIDB4MDAzMUEsIDIzMiB9LCB7IDB4
MDAzMUIsIDB4MDAzMUIsIDIxNiB9LCB7IDB4MDAzMUMsIDB4MDAzMjAsIDIyMCB9LAorICB7IDB4
MDAzMjEsIDB4MDAzMjIsIDIwMiB9LCB7IDB4MDAzMjMsIDB4MDAzMjYsIDIyMCB9LCB7IDB4MDAz
MjcsIDB4MDAzMjgsIDIwMiB9LAorICB7IDB4MDAzMjksIDB4MDAzMzMsIDIyMCB9LCB7IDB4MDAz
MzQsIDB4MDAzMzgsICAgMSB9LCB7IDB4MDAzMzksIDB4MDAzM0MsIDIyMCB9LAorICB7IDB4MDAz
M0QsIDB4MDAzNDQsIDIzMCB9LCB7IDB4MDAzNDUsIDB4MDAzNDUsIDI0MCB9LCB7IDB4MDAzNDYs
IDB4MDAzNDYsIDIzMCB9LAorICB7IDB4MDAzNDcsIDB4MDAzNDksIDIyMCB9LCB7IDB4MDAzNEEs
IDB4MDAzNEMsIDIzMCB9LCB7IDB4MDAzNEQsIDB4MDAzNEUsIDIyMCB9LAorICB7IDB4MDAzNTAs
IDB4MDAzNTIsIDIzMCB9LCB7IDB4MDAzNTMsIDB4MDAzNTYsIDIyMCB9LCB7IDB4MDAzNTcsIDB4
MDAzNTcsIDIzMCB9LAorICB7IDB4MDAzNTgsIDB4MDAzNTgsIDIzMiB9LCB7IDB4MDAzNTksIDB4
MDAzNUEsIDIyMCB9LCB7IDB4MDAzNUIsIDB4MDAzNUIsIDIzMCB9LAorICB7IDB4MDAzNUMsIDB4
MDAzNUMsIDIzMyB9LCB7IDB4MDAzNUQsIDB4MDAzNUUsIDIzNCB9LCB7IDB4MDAzNUYsIDB4MDAz
NUYsIDIzMyB9LAorICB7IDB4MDAzNjAsIDB4MDAzNjEsIDIzNCB9LCB7IDB4MDAzNjIsIDB4MDAz
NjIsIDIzMyB9LCB7IDB4MDAzNjMsIDB4MDAzNkYsIDIzMCB9LAorICB7IDB4MDA0ODMsIDB4MDA0
ODcsIDIzMCB9LCB7IDB4MDA1OTEsIDB4MDA1OTEsIDIyMCB9LCB7IDB4MDA1OTIsIDB4MDA1OTUs
IDIzMCB9LAorICB7IDB4MDA1OTYsIDB4MDA1OTYsIDIyMCB9LCB7IDB4MDA1OTcsIDB4MDA1OTks
IDIzMCB9LCB7IDB4MDA1OUEsIDB4MDA1OUEsIDIyMiB9LAorICB7IDB4MDA1OUIsIDB4MDA1OUIs
IDIyMCB9LCB7IDB4MDA1OUMsIDB4MDA1QTEsIDIzMCB9LCB7IDB4MDA1QTIsIDB4MDA1QTcsIDIy
MCB9LAorICB7IDB4MDA1QTgsIDB4MDA1QTksIDIzMCB9LCB7IDB4MDA1QUEsIDB4MDA1QUEsIDIy
MCB9LCB7IDB4MDA1QUIsIDB4MDA1QUMsIDIzMCB9LAorICB7IDB4MDA1QUQsIDB4MDA1QUQsIDIy
MiB9LCB7IDB4MDA1QUUsIDB4MDA1QUUsIDIyOCB9LCB7IDB4MDA1QUYsIDB4MDA1QUYsIDIzMCB9
LAorICB7IDB4MDA1QjAsIDB4MDA1QjAsICAxMCB9LCB7IDB4MDA1QjEsIDB4MDA1QjEsICAxMSB9
LCB7IDB4MDA1QjIsIDB4MDA1QjIsICAxMiB9LAorICB7IDB4MDA1QjMsIDB4MDA1QjMsICAxMyB9
LCB7IDB4MDA1QjQsIDB4MDA1QjQsICAxNCB9LCB7IDB4MDA1QjUsIDB4MDA1QjUsICAxNSB9LAor
ICB7IDB4MDA1QjYsIDB4MDA1QjYsICAxNiB9LCB7IDB4MDA1QjcsIDB4MDA1QjcsICAxNyB9LCB7
IDB4MDA1QjgsIDB4MDA1QjgsICAxOCB9LAorICB7IDB4MDA1QjksIDB4MDA1QkEsICAxOSB9LCB7
IDB4MDA1QkIsIDB4MDA1QkIsICAyMCB9LCB7IDB4MDA1QkMsIDB4MDA1QkMsICAyMSB9LAorICB7
IDB4MDA1QkQsIDB4MDA1QkQsICAyMiB9LCB7IDB4MDA1QkYsIDB4MDA1QkYsICAyMyB9LCB7IDB4
MDA1QzEsIDB4MDA1QzEsICAyNCB9LAorICB7IDB4MDA1QzIsIDB4MDA1QzIsICAyNSB9LCB7IDB4
MDA1QzQsIDB4MDA1QzQsIDIzMCB9LCB7IDB4MDA1QzUsIDB4MDA1QzUsIDIyMCB9LAorICB7IDB4
MDA1QzcsIDB4MDA1QzcsICAxOCB9LCB7IDB4MDA2MTAsIDB4MDA2MTcsIDIzMCB9LCB7IDB4MDA2
MTgsIDB4MDA2MTgsICAzMCB9LAorICB7IDB4MDA2MTksIDB4MDA2MTksICAzMSB9LCB7IDB4MDA2
MUEsIDB4MDA2MUEsICAzMiB9LCB7IDB4MDA2NEIsIDB4MDA2NEIsICAyNyB9LAorICB7IDB4MDA2
NEMsIDB4MDA2NEMsICAyOCB9LCB7IDB4MDA2NEQsIDB4MDA2NEQsICAyOSB9LCB7IDB4MDA2NEUs
IDB4MDA2NEUsICAzMCB9LAorICB7IDB4MDA2NEYsIDB4MDA2NEYsICAzMSB9LCB7IDB4MDA2NTAs
IDB4MDA2NTAsICAzMiB9LCB7IDB4MDA2NTEsIDB4MDA2NTEsICAzMyB9LAorICB7IDB4MDA2NTIs
IDB4MDA2NTIsICAzNCB9LCB7IDB4MDA2NTMsIDB4MDA2NTQsIDIzMCB9LCB7IDB4MDA2NTUsIDB4
MDA2NTYsIDIyMCB9LAorICB7IDB4MDA2NTcsIDB4MDA2NUIsIDIzMCB9LCB7IDB4MDA2NUMsIDB4
MDA2NUMsIDIyMCB9LCB7IDB4MDA2NUQsIDB4MDA2NUUsIDIzMCB9LAorICB7IDB4MDA2NUYsIDB4
MDA2NUYsIDIyMCB9LCB7IDB4MDA2NzAsIDB4MDA2NzAsICAzNSB9LCB7IDB4MDA2RDYsIDB4MDA2
REMsIDIzMCB9LAorICB7IDB4MDA2REYsIDB4MDA2RTIsIDIzMCB9LCB7IDB4MDA2RTMsIDB4MDA2
RTMsIDIyMCB9LCB7IDB4MDA2RTQsIDB4MDA2RTQsIDIzMCB9LAorICB7IDB4MDA2RTcsIDB4MDA2
RTgsIDIzMCB9LCB7IDB4MDA2RUEsIDB4MDA2RUEsIDIyMCB9LCB7IDB4MDA2RUIsIDB4MDA2RUMs
IDIzMCB9LAorICB7IDB4MDA2RUQsIDB4MDA2RUQsIDIyMCB9LCB7IDB4MDA3MTEsIDB4MDA3MTEs
ICAzNiB9LCB7IDB4MDA3MzAsIDB4MDA3MzAsIDIzMCB9LAorICB7IDB4MDA3MzEsIDB4MDA3MzEs
IDIyMCB9LCB7IDB4MDA3MzIsIDB4MDA3MzMsIDIzMCB9LCB7IDB4MDA3MzQsIDB4MDA3MzQsIDIy
MCB9LAorICB7IDB4MDA3MzUsIDB4MDA3MzYsIDIzMCB9LCB7IDB4MDA3MzcsIDB4MDA3MzksIDIy
MCB9LCB7IDB4MDA3M0EsIDB4MDA3M0EsIDIzMCB9LAorICB7IDB4MDA3M0IsIDB4MDA3M0MsIDIy
MCB9LCB7IDB4MDA3M0QsIDB4MDA3M0QsIDIzMCB9LCB7IDB4MDA3M0UsIDB4MDA3M0UsIDIyMCB9
LAorICB7IDB4MDA3M0YsIDB4MDA3NDEsIDIzMCB9LCB7IDB4MDA3NDIsIDB4MDA3NDIsIDIyMCB9
LCB7IDB4MDA3NDMsIDB4MDA3NDMsIDIzMCB9LAorICB7IDB4MDA3NDQsIDB4MDA3NDQsIDIyMCB9
LCB7IDB4MDA3NDUsIDB4MDA3NDUsIDIzMCB9LCB7IDB4MDA3NDYsIDB4MDA3NDYsIDIyMCB9LAor
ICB7IDB4MDA3NDcsIDB4MDA3NDcsIDIzMCB9LCB7IDB4MDA3NDgsIDB4MDA3NDgsIDIyMCB9LCB7
IDB4MDA3NDksIDB4MDA3NEEsIDIzMCB9LAorICB7IDB4MDA3RUIsIDB4MDA3RjEsIDIzMCB9LCB7
IDB4MDA3RjIsIDB4MDA3RjIsIDIyMCB9LCB7IDB4MDA3RjMsIDB4MDA3RjMsIDIzMCB9LAorICB7
IDB4MDA3RkQsIDB4MDA3RkQsIDIyMCB9LCB7IDB4MDA4MTYsIDB4MDA4MTksIDIzMCB9LCB7IDB4
MDA4MUIsIDB4MDA4MjMsIDIzMCB9LAorICB7IDB4MDA4MjUsIDB4MDA4MjcsIDIzMCB9LCB7IDB4
MDA4MjksIDB4MDA4MkQsIDIzMCB9LCB7IDB4MDA4NTksIDB4MDA4NUIsIDIyMCB9LAorICB7IDB4
MDA4OTgsIDB4MDA4OTgsIDIzMCB9LCB7IDB4MDA4OTksIDB4MDA4OUIsIDIyMCB9LCB7IDB4MDA4
OUMsIDB4MDA4OUYsIDIzMCB9LAorICB7IDB4MDA4Q0EsIDB4MDA4Q0UsIDIzMCB9LCB7IDB4MDA4
Q0YsIDB4MDA4RDMsIDIyMCB9LCB7IDB4MDA4RDQsIDB4MDA4RTEsIDIzMCB9LAorICB7IDB4MDA4
RTMsIDB4MDA4RTMsIDIyMCB9LCB7IDB4MDA4RTQsIDB4MDA4RTUsIDIzMCB9LCB7IDB4MDA4RTYs
IDB4MDA4RTYsIDIyMCB9LAorICB7IDB4MDA4RTcsIDB4MDA4RTgsIDIzMCB9LCB7IDB4MDA4RTks
IDB4MDA4RTksIDIyMCB9LCB7IDB4MDA4RUEsIDB4MDA4RUMsIDIzMCB9LAorICB7IDB4MDA4RUQs
IDB4MDA4RUYsIDIyMCB9LCB7IDB4MDA4RjAsIDB4MDA4RjAsICAyNyB9LCB7IDB4MDA4RjEsIDB4
MDA4RjEsICAyOCB9LAorICB7IDB4MDA4RjIsIDB4MDA4RjIsICAyOSB9LCB7IDB4MDA4RjMsIDB4
MDA4RjUsIDIzMCB9LCB7IDB4MDA4RjYsIDB4MDA4RjYsIDIyMCB9LAorICB7IDB4MDA4RjcsIDB4
MDA4RjgsIDIzMCB9LCB7IDB4MDA4RjksIDB4MDA4RkEsIDIyMCB9LCB7IDB4MDA4RkIsIDB4MDA4
RkYsIDIzMCB9LAorICB7IDB4MDA5M0MsIDB4MDA5M0MsICAgNyB9LCB7IDB4MDA5NEQsIDB4MDA5
NEQsICAgOSB9LCB7IDB4MDA5NTEsIDB4MDA5NTEsIDIzMCB9LAorICB7IDB4MDA5NTIsIDB4MDA5
NTIsIDIyMCB9LCB7IDB4MDA5NTMsIDB4MDA5NTQsIDIzMCB9LCB7IDB4MDA5QkMsIDB4MDA5QkMs
ICAgNyB9LAorICB7IDB4MDA5Q0QsIDB4MDA5Q0QsICAgOSB9LCB7IDB4MDA5RkUsIDB4MDA5RkUs
IDIzMCB9LCB7IDB4MDBBM0MsIDB4MDBBM0MsICAgNyB9LAorICB7IDB4MDBBNEQsIDB4MDBBNEQs
ICAgOSB9LCB7IDB4MDBBQkMsIDB4MDBBQkMsICAgNyB9LCB7IDB4MDBBQ0QsIDB4MDBBQ0QsICAg
OSB9LAorICB7IDB4MDBCM0MsIDB4MDBCM0MsICAgNyB9LCB7IDB4MDBCNEQsIDB4MDBCNEQsICAg
OSB9LCB7IDB4MDBCQ0QsIDB4MDBCQ0QsICAgOSB9LAorICB7IDB4MDBDM0MsIDB4MDBDM0MsICAg
NyB9LCB7IDB4MDBDNEQsIDB4MDBDNEQsICAgOSB9LCB7IDB4MDBDNTUsIDB4MDBDNTUsICA4NCB9
LAorICB7IDB4MDBDNTYsIDB4MDBDNTYsICA5MSB9LCB7IDB4MDBDQkMsIDB4MDBDQkMsICAgNyB9
LCB7IDB4MDBDQ0QsIDB4MDBDQ0QsICAgOSB9LAorICB7IDB4MDBEM0IsIDB4MDBEM0MsICAgOSB9
LCB7IDB4MDBENEQsIDB4MDBENEQsICAgOSB9LCB7IDB4MDBEQ0EsIDB4MDBEQ0EsICAgOSB9LAor
ICB7IDB4MDBFMzgsIDB4MDBFMzksIDEwMyB9LCB7IDB4MDBFM0EsIDB4MDBFM0EsICAgOSB9LCB7
IDB4MDBFNDgsIDB4MDBFNEIsIDEwNyB9LAorICB7IDB4MDBFQjgsIDB4MDBFQjksIDExOCB9LCB7
IDB4MDBFQkEsIDB4MDBFQkEsICAgOSB9LCB7IDB4MDBFQzgsIDB4MDBFQ0IsIDEyMiB9LAorICB7
IDB4MDBGMTgsIDB4MDBGMTksIDIyMCB9LCB7IDB4MDBGMzUsIDB4MDBGMzUsIDIyMCB9LCB7IDB4
MDBGMzcsIDB4MDBGMzcsIDIyMCB9LAorICB7IDB4MDBGMzksIDB4MDBGMzksIDIxNiB9LCB7IDB4
MDBGNzEsIDB4MDBGNzEsIDEyOSB9LCB7IDB4MDBGNzIsIDB4MDBGNzIsIDEzMCB9LAorICB7IDB4
MDBGNzQsIDB4MDBGNzQsIDEzMiB9LCB7IDB4MDBGN0EsIDB4MDBGN0QsIDEzMCB9LCB7IDB4MDBG
ODAsIDB4MDBGODAsIDEzMCB9LAorICB7IDB4MDBGODIsIDB4MDBGODMsIDIzMCB9LCB7IDB4MDBG
ODQsIDB4MDBGODQsICAgOSB9LCB7IDB4MDBGODYsIDB4MDBGODcsIDIzMCB9LAorICB7IDB4MDBG
QzYsIDB4MDBGQzYsIDIyMCB9LCB7IDB4MDEwMzcsIDB4MDEwMzcsICAgNyB9LCB7IDB4MDEwMzks
IDB4MDEwM0EsICAgOSB9LAorICB7IDB4MDEwOEQsIDB4MDEwOEQsIDIyMCB9LCB7IDB4MDEzNUQs
IDB4MDEzNUYsIDIzMCB9LCB7IDB4MDE3MTQsIDB4MDE3MTUsICAgOSB9LAorICB7IDB4MDE3MzQs
IDB4MDE3MzQsICAgOSB9LCB7IDB4MDE3RDIsIDB4MDE3RDIsICAgOSB9LCB7IDB4MDE3REQsIDB4
MDE3REQsIDIzMCB9LAorICB7IDB4MDE4QTksIDB4MDE4QTksIDIyOCB9LCB7IDB4MDE5MzksIDB4
MDE5MzksIDIyMiB9LCB7IDB4MDE5M0EsIDB4MDE5M0EsIDIzMCB9LAorICB7IDB4MDE5M0IsIDB4
MDE5M0IsIDIyMCB9LCB7IDB4MDFBMTcsIDB4MDFBMTcsIDIzMCB9LCB7IDB4MDFBMTgsIDB4MDFB
MTgsIDIyMCB9LAorICB7IDB4MDFBNjAsIDB4MDFBNjAsICAgOSB9LCB7IDB4MDFBNzUsIDB4MDFB
N0MsIDIzMCB9LCB7IDB4MDFBN0YsIDB4MDFBN0YsIDIyMCB9LAorICB7IDB4MDFBQjAsIDB4MDFB
QjQsIDIzMCB9LCB7IDB4MDFBQjUsIDB4MDFBQkEsIDIyMCB9LCB7IDB4MDFBQkIsIDB4MDFBQkMs
IDIzMCB9LAorICB7IDB4MDFBQkQsIDB4MDFBQkQsIDIyMCB9LCB7IDB4MDFBQkYsIDB4MDFBQzAs
IDIyMCB9LCB7IDB4MDFBQzEsIDB4MDFBQzIsIDIzMCB9LAorICB7IDB4MDFBQzMsIDB4MDFBQzQs
IDIyMCB9LCB7IDB4MDFBQzUsIDB4MDFBQzksIDIzMCB9LCB7IDB4MDFBQ0EsIDB4MDFBQ0EsIDIy
MCB9LAorICB7IDB4MDFBQ0IsIDB4MDFBQ0UsIDIzMCB9LCB7IDB4MDFCMzQsIDB4MDFCMzQsICAg
NyB9LCB7IDB4MDFCNDQsIDB4MDFCNDQsICAgOSB9LAorICB7IDB4MDFCNkIsIDB4MDFCNkIsIDIz
MCB9LCB7IDB4MDFCNkMsIDB4MDFCNkMsIDIyMCB9LCB7IDB4MDFCNkQsIDB4MDFCNzMsIDIzMCB9
LAorICB7IDB4MDFCQUEsIDB4MDFCQUIsICAgOSB9LCB7IDB4MDFCRTYsIDB4MDFCRTYsICAgNyB9
LCB7IDB4MDFCRjIsIDB4MDFCRjMsICAgOSB9LAorICB7IDB4MDFDMzcsIDB4MDFDMzcsICAgNyB9
LCB7IDB4MDFDRDAsIDB4MDFDRDIsIDIzMCB9LCB7IDB4MDFDRDQsIDB4MDFDRDQsICAgMSB9LAor
ICB7IDB4MDFDRDUsIDB4MDFDRDksIDIyMCB9LCB7IDB4MDFDREEsIDB4MDFDREIsIDIzMCB9LCB7
IDB4MDFDREMsIDB4MDFDREYsIDIyMCB9LAorICB7IDB4MDFDRTAsIDB4MDFDRTAsIDIzMCB9LCB7
IDB4MDFDRTIsIDB4MDFDRTgsICAgMSB9LCB7IDB4MDFDRUQsIDB4MDFDRUQsIDIyMCB9LAorICB7
IDB4MDFDRjQsIDB4MDFDRjQsIDIzMCB9LCB7IDB4MDFDRjgsIDB4MDFDRjksIDIzMCB9LCB7IDB4
MDFEQzAsIDB4MDFEQzEsIDIzMCB9LAorICB7IDB4MDFEQzIsIDB4MDFEQzIsIDIyMCB9LCB7IDB4
MDFEQzMsIDB4MDFEQzksIDIzMCB9LCB7IDB4MDFEQ0EsIDB4MDFEQ0EsIDIyMCB9LAorICB7IDB4
MDFEQ0IsIDB4MDFEQ0MsIDIzMCB9LCB7IDB4MDFEQ0QsIDB4MDFEQ0QsIDIzNCB9LCB7IDB4MDFE
Q0UsIDB4MDFEQ0UsIDIxNCB9LAorICB7IDB4MDFEQ0YsIDB4MDFEQ0YsIDIyMCB9LCB7IDB4MDFE
RDAsIDB4MDFERDAsIDIwMiB9LCB7IDB4MDFERDEsIDB4MDFERjUsIDIzMCB9LAorICB7IDB4MDFE
RjYsIDB4MDFERjYsIDIzMiB9LCB7IDB4MDFERjcsIDB4MDFERjgsIDIyOCB9LCB7IDB4MDFERjks
IDB4MDFERjksIDIyMCB9LAorICB7IDB4MDFERkEsIDB4MDFERkEsIDIxOCB9LCB7IDB4MDFERkIs
IDB4MDFERkIsIDIzMCB9LCB7IDB4MDFERkMsIDB4MDFERkMsIDIzMyB9LAorICB7IDB4MDFERkQs
IDB4MDFERkQsIDIyMCB9LCB7IDB4MDFERkUsIDB4MDFERkUsIDIzMCB9LCB7IDB4MDFERkYsIDB4
MDFERkYsIDIyMCB9LAorICB7IDB4MDIwRDAsIDB4MDIwRDEsIDIzMCB9LCB7IDB4MDIwRDIsIDB4
MDIwRDMsICAgMSB9LCB7IDB4MDIwRDQsIDB4MDIwRDcsIDIzMCB9LAorICB7IDB4MDIwRDgsIDB4
MDIwREEsICAgMSB9LCB7IDB4MDIwREIsIDB4MDIwREMsIDIzMCB9LCB7IDB4MDIwRTEsIDB4MDIw
RTEsIDIzMCB9LAorICB7IDB4MDIwRTUsIDB4MDIwRTYsICAgMSB9LCB7IDB4MDIwRTcsIDB4MDIw
RTcsIDIzMCB9LCB7IDB4MDIwRTgsIDB4MDIwRTgsIDIyMCB9LAorICB7IDB4MDIwRTksIDB4MDIw
RTksIDIzMCB9LCB7IDB4MDIwRUEsIDB4MDIwRUIsICAgMSB9LCB7IDB4MDIwRUMsIDB4MDIwRUYs
IDIyMCB9LAorICB7IDB4MDIwRjAsIDB4MDIwRjAsIDIzMCB9LCB7IDB4MDJDRUYsIDB4MDJDRjEs
IDIzMCB9LCB7IDB4MDJEN0YsIDB4MDJEN0YsICAgOSB9LAorICB7IDB4MDJERTAsIDB4MDJERkYs
IDIzMCB9LCB7IDB4MDMwMkEsIDB4MDMwMkEsIDIxOCB9LCB7IDB4MDMwMkIsIDB4MDMwMkIsIDIy
OCB9LAorICB7IDB4MDMwMkMsIDB4MDMwMkMsIDIzMiB9LCB7IDB4MDMwMkQsIDB4MDMwMkQsIDIy
MiB9LCB7IDB4MDMwMkUsIDB4MDMwMkYsIDIyNCB9LAorICB7IDB4MDMwOTksIDB4MDMwOUEsICAg
OCB9LCB7IDB4MEE2NkYsIDB4MEE2NkYsIDIzMCB9LCB7IDB4MEE2NzQsIDB4MEE2N0QsIDIzMCB9
LAorICB7IDB4MEE2OUUsIDB4MEE2OUYsIDIzMCB9LCB7IDB4MEE2RjAsIDB4MEE2RjEsIDIzMCB9
LCB7IDB4MEE4MDYsIDB4MEE4MDYsICAgOSB9LAorICB7IDB4MEE4MkMsIDB4MEE4MkMsICAgOSB9
LCB7IDB4MEE4QzQsIDB4MEE4QzQsICAgOSB9LCB7IDB4MEE4RTAsIDB4MEE4RjEsIDIzMCB9LAor
ICB7IDB4MEE5MkIsIDB4MEE5MkQsIDIyMCB9LCB7IDB4MEE5NTMsIDB4MEE5NTMsICAgOSB9LCB7
IDB4MEE5QjMsIDB4MEE5QjMsICAgNyB9LAorICB7IDB4MEE5QzAsIDB4MEE5QzAsICAgOSB9LCB7
IDB4MEFBQjAsIDB4MEFBQjAsIDIzMCB9LCB7IDB4MEFBQjIsIDB4MEFBQjMsIDIzMCB9LAorICB7
IDB4MEFBQjQsIDB4MEFBQjQsIDIyMCB9LCB7IDB4MEFBQjcsIDB4MEFBQjgsIDIzMCB9LCB7IDB4
MEFBQkUsIDB4MEFBQkYsIDIzMCB9LAorICB7IDB4MEFBQzEsIDB4MEFBQzEsIDIzMCB9LCB7IDB4
MEFBRjYsIDB4MEFBRjYsICAgOSB9LCB7IDB4MEFCRUQsIDB4MEFCRUQsICAgOSB9LAorICB7IDB4
MEZCMUUsIDB4MEZCMUUsICAyNiB9LCB7IDB4MEZFMjAsIDB4MEZFMjYsIDIzMCB9LCB7IDB4MEZF
MjcsIDB4MEZFMkQsIDIyMCB9LAorICB7IDB4MEZFMkUsIDB4MEZFMkYsIDIzMCB9LCB7IDB4MTAx
RkQsIDB4MTAxRkQsIDIyMCB9LCB7IDB4MTAyRTAsIDB4MTAyRTAsIDIyMCB9LAorICB7IDB4MTAz
NzYsIDB4MTAzN0EsIDIzMCB9LCB7IDB4MTBBMEQsIDB4MTBBMEQsIDIyMCB9LCB7IDB4MTBBMEYs
IDB4MTBBMEYsIDIzMCB9LAorICB7IDB4MTBBMzgsIDB4MTBBMzgsIDIzMCB9LCB7IDB4MTBBMzks
IDB4MTBBMzksICAgMSB9LCB7IDB4MTBBM0EsIDB4MTBBM0EsIDIyMCB9LAorICB7IDB4MTBBM0Ys
IDB4MTBBM0YsICAgOSB9LCB7IDB4MTBBRTUsIDB4MTBBRTUsIDIzMCB9LCB7IDB4MTBBRTYsIDB4
MTBBRTYsIDIyMCB9LAorICB7IDB4MTBEMjQsIDB4MTBEMjcsIDIzMCB9LCB7IDB4MTBFQUIsIDB4
MTBFQUMsIDIzMCB9LCB7IDB4MTBFRkQsIDB4MTBFRkYsIDIyMCB9LAorICB7IDB4MTBGNDYsIDB4
MTBGNDcsIDIyMCB9LCB7IDB4MTBGNDgsIDB4MTBGNEEsIDIzMCB9LCB7IDB4MTBGNEIsIDB4MTBG
NEIsIDIyMCB9LAorICB7IDB4MTBGNEMsIDB4MTBGNEMsIDIzMCB9LCB7IDB4MTBGNEQsIDB4MTBG
NTAsIDIyMCB9LCB7IDB4MTBGODIsIDB4MTBGODIsIDIzMCB9LAorICB7IDB4MTBGODMsIDB4MTBG
ODMsIDIyMCB9LCB7IDB4MTBGODQsIDB4MTBGODQsIDIzMCB9LCB7IDB4MTBGODUsIDB4MTBGODUs
IDIyMCB9LAorICB7IDB4MTEwNDYsIDB4MTEwNDYsICAgOSB9LCB7IDB4MTEwNzAsIDB4MTEwNzAs
ICAgOSB9LCB7IDB4MTEwN0YsIDB4MTEwN0YsICAgOSB9LAorICB7IDB4MTEwQjksIDB4MTEwQjks
ICAgOSB9LCB7IDB4MTEwQkEsIDB4MTEwQkEsICAgNyB9LCB7IDB4MTExMDAsIDB4MTExMDIsIDIz
MCB9LAorICB7IDB4MTExMzMsIDB4MTExMzQsICAgOSB9LCB7IDB4MTExNzMsIDB4MTExNzMsICAg
NyB9LCB7IDB4MTExQzAsIDB4MTExQzAsICAgOSB9LAorICB7IDB4MTExQ0EsIDB4MTExQ0EsICAg
NyB9LCB7IDB4MTEyMzUsIDB4MTEyMzUsICAgOSB9LCB7IDB4MTEyMzYsIDB4MTEyMzYsICAgNyB9
LAorICB7IDB4MTEyRTksIDB4MTEyRTksICAgNyB9LCB7IDB4MTEyRUEsIDB4MTEyRUEsICAgOSB9
LCB7IDB4MTEzM0IsIDB4MTEzM0MsICAgNyB9LAorICB7IDB4MTEzNEQsIDB4MTEzNEQsICAgOSB9
LCB7IDB4MTEzNjYsIDB4MTEzNkMsIDIzMCB9LCB7IDB4MTEzNzAsIDB4MTEzNzQsIDIzMCB9LAor
ICB7IDB4MTE0NDIsIDB4MTE0NDIsICAgOSB9LCB7IDB4MTE0NDYsIDB4MTE0NDYsICAgNyB9LCB7
IDB4MTE0NUUsIDB4MTE0NUUsIDIzMCB9LAorICB7IDB4MTE0QzIsIDB4MTE0QzIsICAgOSB9LCB7
IDB4MTE0QzMsIDB4MTE0QzMsICAgNyB9LCB7IDB4MTE1QkYsIDB4MTE1QkYsICAgOSB9LAorICB7
IDB4MTE1QzAsIDB4MTE1QzAsICAgNyB9LCB7IDB4MTE2M0YsIDB4MTE2M0YsICAgOSB9LCB7IDB4
MTE2QjYsIDB4MTE2QjYsICAgOSB9LAorICB7IDB4MTE2QjcsIDB4MTE2QjcsICAgNyB9LCB7IDB4
MTE3MkIsIDB4MTE3MkIsICAgOSB9LCB7IDB4MTE4MzksIDB4MTE4MzksICAgOSB9LAorICB7IDB4
MTE4M0EsIDB4MTE4M0EsICAgNyB9LCB7IDB4MTE5M0QsIDB4MTE5M0UsICAgOSB9LCB7IDB4MTE5
NDMsIDB4MTE5NDMsICAgNyB9LAorICB7IDB4MTE5RTAsIDB4MTE5RTAsICAgOSB9LCB7IDB4MTFB
MzQsIDB4MTFBMzQsICAgOSB9LCB7IDB4MTFBNDcsIDB4MTFBNDcsICAgOSB9LAorICB7IDB4MTFB
OTksIDB4MTFBOTksICAgOSB9LCB7IDB4MTFDM0YsIDB4MTFDM0YsICAgOSB9LCB7IDB4MTFENDIs
IDB4MTFENDIsICAgNyB9LAorICB7IDB4MTFENDQsIDB4MTFENDUsICAgOSB9LCB7IDB4MTFEOTcs
IDB4MTFEOTcsICAgOSB9LCB7IDB4MTFGNDEsIDB4MTFGNDIsICAgOSB9LAorICB7IDB4MTZBRjAs
IDB4MTZBRjQsICAgMSB9LCB7IDB4MTZCMzAsIDB4MTZCMzYsIDIzMCB9LCB7IDB4MTZGRjAsIDB4
MTZGRjEsICAgNiB9LAorICB7IDB4MUJDOUUsIDB4MUJDOUUsICAgMSB9LCB7IDB4MUQxNjUsIDB4
MUQxNjYsIDIxNiB9LCB7IDB4MUQxNjcsIDB4MUQxNjksICAgMSB9LAorICB7IDB4MUQxNkQsIDB4
MUQxNkQsIDIyNiB9LCB7IDB4MUQxNkUsIDB4MUQxNzIsIDIxNiB9LCB7IDB4MUQxN0IsIDB4MUQx
ODIsIDIyMCB9LAorICB7IDB4MUQxODUsIDB4MUQxODksIDIzMCB9LCB7IDB4MUQxOEEsIDB4MUQx
OEIsIDIyMCB9LCB7IDB4MUQxQUEsIDB4MUQxQUQsIDIzMCB9LAorICB7IDB4MUQyNDIsIDB4MUQy
NDQsIDIzMCB9LCB7IDB4MUUwMDAsIDB4MUUwMDYsIDIzMCB9LCB7IDB4MUUwMDgsIDB4MUUwMTgs
IDIzMCB9LAorICB7IDB4MUUwMUIsIDB4MUUwMjEsIDIzMCB9LCB7IDB4MUUwMjMsIDB4MUUwMjQs
IDIzMCB9LCB7IDB4MUUwMjYsIDB4MUUwMkEsIDIzMCB9LAorICB7IDB4MUUwOEYsIDB4MUUwOEYs
IDIzMCB9LCB7IDB4MUUxMzAsIDB4MUUxMzYsIDIzMCB9LCB7IDB4MUUyQUUsIDB4MUUyQUUsIDIz
MCB9LAorICB7IDB4MUUyRUMsIDB4MUUyRUYsIDIzMCB9LCB7IDB4MUU0RUMsIDB4MUU0RUQsIDIz
MiB9LCB7IDB4MUU0RUUsIDB4MUU0RUUsIDIyMCB9LAorICB7IDB4MUU0RUYsIDB4MUU0RUYsIDIz
MCB9LCB7IDB4MUU4RDAsIDB4MUU4RDYsIDIyMCB9LCB7IDB4MUU5NDQsIDB4MUU5NDksIDIzMCB9
LAorICB7IDB4MUU5NEEsIDB4MUU5NEEsICAgNyB9LAorfTsKKyNkZWZpbmUgTUJJRF9DQ0NfTEVO
CShzaXplb2YgKG1iaWRfY2NjKSAvIHNpemVvZiAobWJpZF9jY2NbMF0pKQorCisjZW5kaWYgLyog
X01CSURUQkxfSF8gKi8KZGlmZiAtLWdpdCBhL3NoZWxsLmMgYi9zaGVsbC5jCmluZGV4IGU1OTAy
OWMuLjcwNmQ3MzYgMTAwNjQ0Ci0tLSBhL3NoZWxsLmMKKysrIGIvc2hlbGwuYwpAQCAtNTMsNiAr
NTMsNyBAQAogI2luY2x1ZGUgInNoZWxsLmgiCiAjaW5jbHVkZSAicGFyc2VyLmgiCiAjaW5jbHVk
ZSAiZmxhZ3MuaCIKKyNpbmNsdWRlICJtYmlkZW50LmgiCiAjaW5jbHVkZSAidHJhcC5oIgogI2lu
Y2x1ZGUgIm1haWxjaGVjay5oIgogI2luY2x1ZGUgImJ1aWx0aW5zLmgiCkBAIC00MTgsNiArNDE5
LDEwIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndiwgY2hhciAqKmVudikKIAogICBzZXRf
ZGVmYXVsdF9sb2NhbGUgKCk7CiAKKyAgLyogQWRvcHQgdGhlIHN5c3RlbS13aWRlIHN0YXRlIG9m
IHRoZSBtdWx0aWJ5dGVfaWRlbnRpZmllcnMgb3B0aW9uCisgICAgIGJlZm9yZSB0aGUgZW52aXJv
bm1lbnQgaXMgaW1wb3J0ZWQuICovCisgIG1iaWRlbnRfaW5pdCAoKTsKKwogICBydW5uaW5nX3Nl
dHVpZCA9IHVpZGdldCAoKTsKIAogICBpZiAoZ2V0ZW52ICgiUE9TSVhMWV9DT1JSRUNUIikgfHwg
Z2V0ZW52ICgiUE9TSVhfUEVEQU5USUMiKSkKZGlmZiAtLWdpdCBhL3N1YnN0LmMgYi9zdWJzdC5j
CmluZGV4IGU5ZDNlNzUuLmMwZDU2ZDcgMTAwNjQ0Ci0tLSBhL3N1YnN0LmMKKysrIGIvc3Vic3Qu
YwpAQCAtNjAsNiArNjAsNyBAQAogI2luY2x1ZGUgIm1haWxjaGVjay5oIgogCiAjaW5jbHVkZSAi
c2htYnV0aWwuaCIKKyNpbmNsdWRlICJtYmlkZW50LmgiCiAjaWYgZGVmaW5lZCAoSEFWRV9NQlNU
Ul9IKSAmJiBkZWZpbmVkIChIQVZFX01CU0NIUikKICMgIGluY2x1ZGUgPG1ic3RyLmg+CQkvKiBt
YnNjaHIgKi8KICNlbmRpZgpAQCAtODA5Miw3ICs4MDkzLDggQEAgcGFyYW1ldGVyX2JyYWNlX2V4
cGFuZF9yaHMgKGNoYXIgKm5hbWUsIGNoYXIgKnZhbHVlLAogICAvKiBiYXNoLTQuNC81LjAgKi8K
ICAgdm5hbWUgPSBuYW1lOwogICBpZiAoKm5hbWUgPT0gJyEnICYmCi0gICAgICAobGVnYWxfdmFy
aWFibGVfc3RhcnRlciAoKHVuc2lnbmVkIGNoYXIpbmFtZVsxXSkgfHwgRElHSVQgKG5hbWVbMV0p
IHx8IFZBTElEX0lORElSX1BBUkFNIChuYW1lWzFdKSkpCisgICAgICAobGVnYWxfdmFyaWFibGVf
c3RhcnRlciAoKHVuc2lnbmVkIGNoYXIpbmFtZVsxXSkgfHwgRElHSVQgKG5hbWVbMV0pIHx8IFZB
TElEX0lORElSX1BBUkFNIChuYW1lWzFdKQorCXx8IE1CSURFTlRfU1RBUlRFUl9QIChuYW1lICsg
MSkpKQogICAgIHsKICAgICAgIHZuYW1lID0gcGFyYW1ldGVyX2JyYWNlX2ZpbmRfaW5kaXIgKG5h
bWUgKyAxLCBTUEVDSUFMX1ZBUiAobmFtZSwgMSksIHF1b3RlZCwgMSk7CiAgICAgICBpZiAodm5h
bWUgPT0gMCB8fCAqdm5hbWUgPT0gMCkKQEAgLTg1MjgsNyArODUzMCw4IEBAIGdldF92YXJfYW5k
X3R5cGUgKGNoYXIgKnZhcm5hbWUsIGNoYXIgKnZhbHVlLCBhcnJheV9lbHRzdGF0ZV90ICplc3Rh
dGVwLCBpbnQgcXVvCiAKICAgd2FudF9pbmRpciA9ICp2YXJuYW1lID09ICchJyAmJgogICAgIChs
ZWdhbF92YXJpYWJsZV9zdGFydGVyICgodW5zaWduZWQgY2hhcil2YXJuYW1lWzFdKSB8fCBESUdJ
VCAodmFybmFtZVsxXSkKLQkJCQkJfHwgVkFMSURfSU5ESVJfUEFSQU0gKHZhcm5hbWVbMV0pKTsK
KwkJCQkJfHwgVkFMSURfSU5ESVJfUEFSQU0gKHZhcm5hbWVbMV0pCisJCQkJCXx8IE1CSURFTlRf
U1RBUlRFUl9QICh2YXJuYW1lICsgMSkpOwogICBpZiAod2FudF9pbmRpcikKICAgICB2bmFtZSA9
IHBhcmFtZXRlcl9icmFjZV9maW5kX2luZGlyICh2YXJuYW1lKzEsIFNQRUNJQUxfVkFSICh2YXJu
YW1lLCAxKSwgcXVvdGVkLCAxKTsKICAgICAvKiBYWFggLSB3aGF0IGlmIHZuYW1lID09IDAgfHwg
KnZuYW1lID09IDAgPyAqLwpAQCAtOTc4OCw3ICs5NzkxLDggQEAgcGFyYW1ldGVyX2JyYWNlX2V4
cGFuZCAoY2hhciAqc3RyaW5nLCBzaXplX3QgKmluZGV4cCwgaW50IHF1b3RlZCwgaW50IHBmbGFn
cywgaW4KICAgc2luZGV4ID0gKmluZGV4cDsKICAgdF9pbmRleCA9ICsrc2luZGV4OwogICAvKiAk
eyN2YXJ9IGRvZXNuJ3QgaGF2ZSBhbnkgb2YgdGhlIG90aGVyIHBhcmFtZXRlciBleHBhbnNpb25z
IG9uIGl0LiAqLwotICBpZiAoc3RyaW5nW3RfaW5kZXhdID09ICcjJyAmJiBsZWdhbF92YXJpYWJs
ZV9zdGFydGVyIChzdHJpbmdbdF9pbmRleCsxXSkpCQkvKiB7eyAqLworICBpZiAoc3RyaW5nW3Rf
aW5kZXhdID09ICcjJyAmJgorICAgICAgKGxlZ2FsX3ZhcmlhYmxlX3N0YXJ0ZXIgKHN0cmluZ1t0
X2luZGV4KzFdKSB8fCBNQklERU5UX1NUQVJURVJfUCAoc3RyaW5nICsgdF9pbmRleCArIDEpKSkJ
CS8qIHt7ICovCiAgICAgbmFtZSA9IHN0cmluZ19leHRyYWN0IChzdHJpbmcsICZ0X2luZGV4LCAi
fSIsIFNYX1ZBUk5BTUUpOwogICBlbHNlCiAjaWYgZGVmaW5lZCAoQ0FTRU1PRF9FWFBBTlNJT05T
KQpAQCAtOTkxMiw3ICs5OTE2LDggQEAgcGFyYW1ldGVyX2JyYWNlX2V4cGFuZCAoY2hhciAqc3Ry
aW5nLCBzaXplX3QgKmluZGV4cCwgaW50IHF1b3RlZCwgaW50IHBmbGFncywgaW4KICAgICAgdmFy
aWFibGUgdGhhdCBleHBhbmRzIHRvIG9uZSBvZiB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLiAq
LwogICB3YW50X2luZGlyID0gKm5hbWUgPT0gJyEnICYmCiAgICAgKGxlZ2FsX3ZhcmlhYmxlX3N0
YXJ0ZXIgKCh1bnNpZ25lZCBjaGFyKW5hbWVbMV0pIHx8IERJR0lUIChuYW1lWzFdKQotCQkJCQl8
fCBWQUxJRF9JTkRJUl9QQVJBTSAobmFtZVsxXSkpOworCQkJCQl8fCBWQUxJRF9JTkRJUl9QQVJB
TSAobmFtZVsxXSkKKwkJCQkJfHwgTUJJREVOVF9TVEFSVEVSX1AgKG5hbWUgKyAxKSk7CiAKICAg
LyogRGV0ZXJtaW5lIHRoZSB2YWx1ZSBvZiB0aGlzIHZhcmlhYmxlIHdob3NlIG5hbWUgaXMgTkFN
RS4gKi8KIApAQCAtOTk3MCw3ICs5OTc1LDcgQEAgcGFyYW1ldGVyX2JyYWNlX2V4cGFuZCAoY2hh
ciAqc3RyaW5nLCBzaXplX3QgKmluZGV4cCwgaW50IHF1b3RlZCwgaW50IHBmbGFncywgaW4KICAg
LyogUHJvY2VzcyAkeyFQUkVGSVgqfSBleHBhbnNpb24uICovCiAgIGlmICh3YW50X2luZGlyICYm
IHN0cmluZ1tzaW5kZXggLSAxXSA9PSBSQlJBQ0UgJiYKICAgICAgIChzdHJpbmdbc2luZGV4IC0g
Ml0gPT0gJyonIHx8IHN0cmluZ1tzaW5kZXggLSAyXSA9PSAnQCcpICYmCi0gICAgICBsZWdhbF92
YXJpYWJsZV9zdGFydGVyICgodW5zaWduZWQgY2hhcikgbmFtZVsxXSkpCisgICAgICAobGVnYWxf
dmFyaWFibGVfc3RhcnRlciAoKHVuc2lnbmVkIGNoYXIpIG5hbWVbMV0pIHx8IE1CSURFTlRfU1RB
UlRFUl9QIChuYW1lICsgMSkpKQogICAgIHsKICAgICAgIGNoYXIgKip4OwogICAgICAgV09SRF9M
SVNUICp4bGlzdDsKQEAgLTEwOTI2LDYgKzEwOTMxLDMwIEBAIGNvbXN1YjoKIAogICAgICAgZm9y
ICh0X2luZGV4ID0gemluZGV4OyAoYyA9IHN0cmluZ1t6aW5kZXhdKSAmJiBsZWdhbF92YXJpYWJs
ZV9jaGFyIChjKTsgemluZGV4KyspCiAJOworI2lmIGRlZmluZWQgKEhBTkRMRV9NVUxUSUJZVEUp
CisgICAgICAvKiBXaXRoIHRoZSBtdWx0aWJ5dGVfaWRlbnRpZmllcnMgc2hlbGwgb3B0aW9uIGVu
YWJsZWQsIGV4dGVuZCB0aGUKKwkgbmFtZSB3aXRoIFVURi04IGlkZW50aWZpZXIgY2hhcmFjdGVy
czsgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiB0aGUKKwkgbmFtZSBtdXN0IGhhdmUgdGhlIFhJRF9T
dGFydCBwcm9wZXJ0eS4gKi8KKyAgICAgIGlmIChNQklERU5UX0FDVElWRSAoKSkKKwl7CisJICBp
bnQgbWJsOworCisJICBpZiAoemluZGV4ID09IHRfaW5kZXgpCisJICAgIHppbmRleCArPSBtYmlk
ZW50X3N0YXJ0X2xlbiAoc3RyaW5nICsgemluZGV4KTsKKwkgIGlmICh6aW5kZXggPiB0X2luZGV4
KQorCSAgICB3aGlsZSAoYyA9IHN0cmluZ1t6aW5kZXhdKQorCSAgICAgIHsKKwkJaWYgKGxlZ2Fs
X3ZhcmlhYmxlX2NoYXIgKGMpKQorCQkgIHsKKwkJICAgIHppbmRleCsrOworCQkgICAgY29udGlu
dWU7CisJCSAgfQorCQlpZiAoKG1ibCA9IG1iaWRlbnRfY29udF9sZW4gKHN0cmluZyArIHppbmRl
eCkpID09IDApCisJCSAgYnJlYWs7CisJCXppbmRleCArPSBtYmw7CisJICAgICAgfQorCX0KKyNl
bmRpZgogICAgICAgdGVtcDEgPSAoemluZGV4ID4gdF9pbmRleCkgPyBzdWJzdHJpbmcgKHN0cmlu
ZywgdF9pbmRleCwgemluZGV4KSA6IChjaGFyICopTlVMTDsKIAogICAgICAgLyogSWYgdGhpcyBp
c24ndCBhIHZhcmlhYmxlIG5hbWUsIHRoZW4ganVzdCBvdXRwdXQgdGhlIGAkJy4gKi8KZGlmZiAt
LWdpdCBhL3N1cHBvcnQvYmFzaC1tYmlkZW50LnNoIGIvc3VwcG9ydC9iYXNoLW1iaWRlbnQuc2gK
bmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDU0MWM0YgotLS0gL2Rldi9udWxs
CisrKyBiL3N1cHBvcnQvYmFzaC1tYmlkZW50LnNoCkBAIC0wLDAgKzEsMTA4IEBACisjIS9iaW4v
c2ggLQorIyBiYXNoLW1iaWRlbnQgLSBtYW5hZ2Ugc3lzdGVtLXdpZGUgY29uc2VudCBmb3IgdGhl
IGJhc2gKKyMJCSBgbXVsdGlieXRlX2lkZW50aWZpZXJzJyBzaGVsbCBvcHRpb24KKyMKKyMgQ29w
eXJpZ2h0IChDKSAyMDI2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIworIyBUaGlz
IGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KKyMKKyMg
QmFzaCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k
aWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhl
ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisjCisjIEJhc2ggaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIEJh
c2guICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKyMgVGhl
IGBtdWx0aWJ5dGVfaWRlbnRpZmllcnMnIHNoZWxsIG9wdGlvbiByZWZ1c2VzIHRvIHR1cm4gb24g
dW5sZXNzIHRoaXMKKyMgZmlsZSBleGlzdHMuICBDcmVhdGluZyBpdCBpcyBhIGRlbGliZXJhdGUs
IHJvb3Qtb25seSBhY3QsIHNvIHRoYXQgdGhlCisjIGV4dGVuZGVkIGlkZW50aWZpZXIgc3ludGF4
IGNhbm5vdCBjcmVlcCBpbnRvIGEgc3lzdGVtIGJlaGluZCB0aGUgYmFjayBvZgorIyBpdHMgYWRt
aW5pc3RyYXRvci4KKworUFJPR05BTUU9YGJhc2VuYW1lICQwYAorQ09OU0VOVF9GSUxFPSR7TUJJ
REVOVF9TWVNURU1fRklMRTotL2V0Yy9iYXNoX211bHRpYnl0ZV9pZGVudGlmaWVyc30KKwordXNh
Z2UoKQoreworCWVjaG8gInVzYWdlOiAkUFJPR05BTUUgZW5hYmxlIHwgZGlzYWJsZSB8IHN0YXR1
cyIgPiYyCisJZXhpdCAyCit9CisKK3JlcXVpcmVfcm9vdCgpCit7CisJaWYgWyAiYGlkIC11IDI+
L2Rldi9udWxsYCIgIT0gMCBdOyB0aGVuCisJCWVjaG8gIiRQUk9HTkFNRTogJDEgcmVxdWlyZXMg
cm9vdCBwcml2aWxlZ2VzOyB0cnkgXGBzdWRvICRQUk9HTkFNRSAkMSciID4mMgorCQlleGl0IDEK
KwlmaQorfQorCitjYXNlICIkMSIgaW4KK2VuYWJsZSkKKwlyZXF1aXJlX3Jvb3QgZW5hYmxlCisK
KwkjIE11bHRpYnl0ZSBpZGVudGlmaWVycyBvbmx5IG1ha2Ugc2Vuc2UgaW4gYSBVVEYtOCBsb2Nh
bGU7IGluc2lzdCBvbgorCSMgb25lIGhlcmUgc28gdGhlIGFkbWluaXN0cmF0b3Igc2VlcyBhIHNw
ZWNpZmljIG1lc3NhZ2UgaW5zdGVhZCBvZiBhCisJIyBsYXRlciwgbW9yZSBwdXp6bGluZyBmYWls
dXJlIGZyb20gc2hvcHQuCisJY2hhcm1hcD1gbG9jYWxlIGNoYXJtYXAgMj4vZGV2L251bGxgCisJ
Y2FzZSAiJGNoYXJtYXAiIGluCisJVVRGLTgpCTs7CisJKikJZWNobyAiJFBST0dOQU1FOiB0aGUg
Y3VycmVudCBsb2NhbGUgZG9lcyBub3QgdXNlIFVURi04IChsb2NhbGUgY2hhcm1hcCByZXBvcnRz
IFxgJHtjaGFybWFwOi11bmtub3dufScpIiA+JjIKKwkJZWNobyAiJFBST0dOQU1FOiBzZXQgTEFO
RyBvciBMQ19DVFlQRSB0byBhIFVURi04IGxvY2FsZSBhbmQgdHJ5IGFnYWluIiA+JjIKKwkJZXhp
dCAxOzsKKwllc2FjCisKKwlpZiBbIC1lICIkQ09OU0VOVF9GSUxFIiBdOyB0aGVuCisJCWVjaG8g
IiRQUk9HTkFNRTogbXVsdGlieXRlIGlkZW50aWZpZXJzIGFyZSBhbHJlYWR5IGVuYWJsZWQgKCRD
T05TRU5UX0ZJTEUgZXhpc3RzKSIKKwkJZXhpdCAwCisJZmkKKworCWVjaG8gIlRoaXMgcGVybWl0
cyBiYXNoIHNoZWxsIG9wdGlvbnMgdG8gYWNjZXB0IG11bHRpYnl0ZSAobm9uLUFTQ0lJKSIKKwll
Y2hvICJ2YXJpYWJsZSBuYW1lcyBvbiB0aGlzIHN5c3RlbS4gIFNjcmlwdHMgdXNpbmcgc3VjaCBu
YW1lcyBhcmUgbm90IgorCWVjaG8gInBvcnRhYmxlLCBhbmQgb3RoZXIgcHJvZ3JhbXMgdGhhdCBw
YXJzZSBzaGVsbCBjb2RlIG9yIHByb2Nlc3MgdGhlIgorCWVjaG8gImVudmlyb25tZW50IG1heSBo
YXZlIGRpZmZpY3VsdGllcyB3aXRoIHRoZW0uICBFbmFibGUgd2l0aCBjYXJlLiIKKwllY2hvICIi
CisKKwkjIEFjY2VwdCB0aGUgYWZmaXJtYXRpdmUgYW5zd2VycyBvZiB0aGUgY3VycmVudCBsb2Nh
bGUgKGluIGEgR2VybWFuCisJIyBsb2NhbGUsIGBsb2NhbGUgeWVzZXhwcicgbWF0Y2hlcyBqL0og
YXMgd2VsbCBhcyB5L1kpLCBmYWxsaW5nIGJhY2sKKwkjIHRvIGEgZml4ZWQgc2V0IGlmIHRoZSBs
b2NhbGUgcHJvdmlkZXMgbm90aGluZyB1c2FibGUuCisJeWVzZXhwcj1gbG9jYWxlIHllc2V4cHIg
Mj4vZGV2L251bGxgCisJcHJpbnRmICVzICJEbyB5b3Ugd2FudCB0byBjb250aW51ZT8gW3kvTl0g
IgorCXJlYWQgYW5zd2VyIHx8IGV4aXQgMQorCWNhc2UgIiR5ZXNleHByIiBpbgorCSIiKQlleHBy
ICJYJGFuc3dlciIgOiAnWFt5WWpKXScgPi9kZXYvbnVsbCB8fCB7IGVjaG8gIiRQUk9HTkFNRTog
YWJvcnRlZCI7IGV4aXQgMTsgfSA7OworCSopCXByaW50ZiAnJXNcbicgIiRhbnN3ZXIiIHwgZ3Jl
cCAtRXEgIiR5ZXNleHByIiB8fCB7IGVjaG8gIiRQUk9HTkFNRTogYWJvcnRlZCI7IGV4aXQgMTsg
fSA7OworCWVzYWMKKworCTogPiAiJENPTlNFTlRfRklMRSIgfHwgZXhpdCAxCisJY2htb2QgMDY0
NCAiJENPTlNFTlRfRklMRSIKKwllY2hvICIkUFJPR05BTUU6IGNyZWF0ZWQgJENPTlNFTlRfRklM
RSIKKwllY2hvICIkUFJPR05BTUU6IG5ld2x5IHN0YXJ0ZWQgYmFzaCBzaGVsbHMgd2lsbCBhY2Nl
cHQgbXVsdGlieXRlIGlkZW50aWZpZXJzIGluIFVURi04IGxvY2FsZXMiCisJZXhpdCAwOzsKKwor
ZGlzYWJsZSkKKwlyZXF1aXJlX3Jvb3QgZGlzYWJsZQorCWlmIFsgLWUgIiRDT05TRU5UX0ZJTEUi
IF07IHRoZW4KKwkJcm0gLWYgIiRDT05TRU5UX0ZJTEUiIHx8IGV4aXQgMQorCQllY2hvICIkUFJP
R05BTUU6IHJlbW92ZWQgJENPTlNFTlRfRklMRSIKKwllbHNlCisJCWVjaG8gIiRQUk9HTkFNRTog
bXVsdGlieXRlIGlkZW50aWZpZXJzIGFyZSBub3QgZW5hYmxlZCIKKwlmaQorCWV4aXQgMDs7CisK
K3N0YXR1cykKKwlpZiBbIC1lICIkQ09OU0VOVF9GSUxFIiBdOyB0aGVuCisJCWVjaG8gIiRQUk9H
TkFNRTogZW5hYmxlZCAoJENPTlNFTlRfRklMRSBleGlzdHMpIgorCQlleGl0IDAKKwllbHNlCisJ
CWVjaG8gIiRQUk9HTkFNRTogZGlzYWJsZWQgKCRDT05TRU5UX0ZJTEUgZG9lcyBub3QgZXhpc3Qp
IgorCQlleGl0IDEKKwlmaTs7CisKKyopCisJdXNhZ2U7OworZXNhYwpkaWZmIC0tZ2l0IGEvc3Vw
cG9ydC9ta21iaWR0YmwucHkgYi9zdXBwb3J0L21rbWJpZHRibC5weQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5lYzE3OTM0Ci0tLSAvZGV2L251bGwKKysrIGIvc3VwcG9ydC9t
a21iaWR0YmwucHkKQEAgLTAsMCArMSwyNzUgQEAKKyMhIC91c3IvYmluL2VudiBweXRob24zCisj
IG1rbWJpZHRibC5weSAtIGdlbmVyYXRlIG1iaWR0YmwuaCwgdGhlIFVuaWNvZGUgdGFibGVzIHVz
ZWQgYnkgbWJpZGVudC5jCisjCisjIENvcHlyaWdodCAoQykgMjAyNiBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBC
b3VybmUgQWdhaW4gU0hlbGwuCisjCisjIEJhc2ggaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgor
IyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBCYXNoIGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMg
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyMgYWxvbmcgd2l0aCBCYXNoLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251
Lm9yZy9saWNlbnNlcy8+LgorCisiIiJHZW5lcmF0ZSBtYmlkdGJsLmggZnJvbSB0aGUgVW5pY29k
ZSBDaGFyYWN0ZXIgRGF0YWJhc2UuCisKK1RoZSB0YWJsZXMgZGVzY3JpYmUgdGhlIGlkZW50aWZp
ZXIgY2hhcmFjdGVyIHNldCB1c2VkIHdoZW4gdGhlCitgbXVsdGlieXRlX2lkZW50aWZpZXJzJyBz
aGVsbCBvcHRpb24gaXMgZW5hYmxlZDoKKworICBtYmlkX3hpZF9zdGFydCAgICBYSURfU3RhcnQg
Y29kZXBvaW50cyA+PSBVKzAwODAgKFVBWCAjMzEpOyB0aGlzIGlzCisgICAgICAgICAgICAgICAg
ICAgIHRoZSBzYW1lIGNoYXJhY3RlciByZXBlcnRvaXJlIHRoZSBSdXN0IGxhbmd1YWdlIHVzZXMK
KyAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgYW4gaWRlbnRp
Zmllci4KKyAgbWJpZF94aWRfY29udCAgICAgWElEX0NvbnRpbnVlIGNvZGVwb2ludHMgPj0gVSsw
MDgwLgorICBtYmlkX25mY19ub3RfeWVzICBjb2RlcG9pbnRzIHdob3NlIE5GQ19RdWlja19DaGVj
ayBwcm9wZXJ0eSBpcyBgTm8nIG9yCisgICAgICAgICAgICAgICAgICAgIGBNYXliZScgKFVBWCAj
MTUpLCByZXN0cmljdGVkIHRvIFhJRF9Db250aW51ZS4gIEEKKyAgICAgICAgICAgICAgICAgICAg
dmFsaWQgaWRlbnRpZmllciBtYXkgbm90IGNvbnRhaW4gYW55IG9mIHRoZXNlOyB0aGlzCisgICAg
ICAgICAgICAgICAgICAgIGd1YXJhbnRlZXMsIHRvZ2V0aGVyIHdpdGggdGhlIGNhbm9uaWNhbCBv
cmRlcmluZworICAgICAgICAgICAgICAgICAgICBjaGVjaywgdGhhdCBhY2NlcHRlZCBpZGVudGlm
aWVycyBhcmUgaW4gTkZDLgorICBtYmlkX2NjYyAgICAgICAgICBub24temVybyBDYW5vbmljYWxf
Q29tYmluaW5nX0NsYXNzIHZhbHVlcyAocmVzdHJpY3RlZAorICAgICAgICAgICAgICAgICAgICB0
byBYSURfQ29udGludWUpLCB1c2VkIGZvciB0aGUgY2Fub25pY2FsIG9yZGVyaW5nCisgICAgICAg
ICAgICAgICAgICAgIHBhcnQgb2YgdGhlIE5GQyBxdWljayBjaGVjay4KKworVGhlIFB5dGhvbiBz
dGFuZGFyZCBsaWJyYXJ5IGNhcnJpZXMgYSBjb3B5IG9mIHRoZSBVQ0QsIHNvIHRoZSB0YWJsZXMg
Y2FuCitiZSByZWdlbmVyYXRlZCB3aXRoIGEgYmFyZSBQeXRob24gMyBpbnN0YWxsYXRpb246CisK
KyAgICAgICAgcHl0aG9uMyBzdXBwb3J0L21rbWJpZHRibC5weSA+IG1iaWR0YmwuaAorCitUaGUg
VUNEIHZlcnNpb24gdGhlIHRhYmxlcyB3ZXJlIGdlbmVyYXRlZCBmcm9tIGlzIHJlY29yZGVkIGlu
IHRoZQorZ2VuZXJhdGVkIGZpbGUuICBBU0NJSSBpcyBkZWxpYmVyYXRlbHkgZXhjbHVkZWQgZnJv
bSBhbGwgdGFibGVzOyB0aGUKK2hpc3RvcmljYWwgbGVnYWxfdmFyaWFibGVfc3RhcnRlci9sZWdh
bF92YXJpYWJsZV9jaGFyIG1hY3JvcyByZW1haW4gdGhlCitzaW5nbGUgc291cmNlIG9mIHRydXRo
IGZvciB0aGUgQVNDSUkgcmFuZ2UuIiIiCisKK2ltcG9ydCBzeXMKK2ltcG9ydCB1bmljb2RlZGF0
YQorCitNQVhDUCA9IDB4MTEwMDAwCisKKworZGVmIGNvbXB1dGVfeGlkKCk6CisgICAgIiIiUmV0
dXJuICh4aWRfc3RhcnQsIHhpZF9jb250KSBhcyBzZXRzIG9mIGNvZGVwb2ludHMgPj0gVSswMDgw
LgorCisgICAgc3RyLmlzaWRlbnRpZmllcigpIGltcGxlbWVudHMgdGhlIFVBWCAjMzEgZGVmYXVs
dCBpZGVudGlmaWVyIHN5bnRheAorICAgIHdpdGggdGhlIFhJRF9TdGFydC9YSURfQ29udGludWUg
cHJvcGVydGllcyAocGx1cyBgXycsIHdoaWNoIGxpZXMgaW4KKyAgICB0aGUgQVNDSUkgcmFuZ2Ug
YW5kIGlzIHRoZXJlZm9yZSBpcnJlbGV2YW50IGhlcmUpLiIiIgorICAgIHhpZF9zdGFydCA9IHNl
dCgpCisgICAgeGlkX2NvbnQgPSBzZXQoKQorICAgIGZvciBjcCBpbiByYW5nZSgweDgwLCBNQVhD
UCk6CisgICAgICAgIGNoID0gY2hyKGNwKQorICAgICAgICBpZiBjaC5pc2lkZW50aWZpZXIoKToK
KyAgICAgICAgICAgIHhpZF9zdGFydC5hZGQoY3ApCisgICAgICAgIGlmICgnYScgKyBjaCkuaXNp
ZGVudGlmaWVyKCk6CisgICAgICAgICAgICB4aWRfY29udC5hZGQoY3ApCisgICAgIyBYSURfU3Rh
cnQgaXMgYSBzdWJzZXQgb2YgWElEX0NvbnRpbnVlIGJ5IGNvbnN0cnVjdGlvbjsgY2hlY2sgYW55
d2F5LgorICAgIGFzc2VydCB4aWRfc3RhcnQgPD0geGlkX2NvbnQKKworICAgICMgQXBwbHkgdGhl
IFVBWCAjMzEgcHJvZmlsZTogbm8gZGVmYXVsdC1pZ25vcmFibGUgY29kZSBwb2ludHMgaW4KKyAg
ICAjIGlkZW50aWZpZXJzLCBldmVuIHdoZXJlIHRoZSBVQ0QgbGVhdmVzIHRoZW0gaW4gWElEX0Nv
bnRpbnVlLgorICAgIHhpZF9zdGFydCAtPSBERUZBVUxUX0lHTk9SQUJMRV9YSUQKKyAgICB4aWRf
Y29udCAtPSBERUZBVUxUX0lHTk9SQUJMRV9YSUQKKyAgICByZXR1cm4geGlkX3N0YXJ0LCB4aWRf
Y29udAorCisKK2RlZiBjb21wdXRlX25mY19ub3RfeWVzKHhpZF9jb250KToKKyAgICAiIiJSZXR1
cm4gdGhlIHNldCBvZiBYSURfQ29udGludWUgY29kZXBvaW50cyB3aXRoIE5GQ19RQyAhPSBZZXMu
CisKKyAgICBORkNfUUM9Tm8gaXMgZXhhY3RseSB0aGUgc2V0IG9mIGNoYXJhY3RlcnMgdGhhdCBu
ZXZlciBvY2N1ciBpbiBORkMKKyAgICB0ZXh0LCBpLmUuIHRob3NlIGZvciB3aGljaCBORkMoYykg
IT0gYyB0YWtlbiBpbiBpc29sYXRpb24uCisKKyAgICBORkNfUUM9TWF5YmUgaXMgdGhlIHNldCBv
ZiBjaGFyYWN0ZXJzIHRoYXQgY2FuIGNvbWJpbmUgd2l0aCBhCisgICAgcHJlY2VkaW5nIGNoYXJh
Y3RlciB1bmRlciBjYW5vbmljYWwgY29tcG9zaXRpb246IHRoZSBzZWNvbmQgZWxlbWVudAorICAg
IG9mIGV2ZXJ5IHByaW1hcnkgY29tcG9zaXRlJ3MgY2Fub25pY2FsIGRlY29tcG9zaXRpb24sIHBs
dXMgdGhlCisgICAgSGFuZ3VsIGp1bmdzZW9uZyAoVikgYW5kIGpvbmdzZW9uZyAoVCkgamFtbyBy
YW5nZXMuIiIiCisgICAgbm90X3llcyA9IHNldCgpCisKKyAgICBmb3IgY3AgaW4geGlkX2NvbnQ6
CisgICAgICAgIGNoID0gY2hyKGNwKQorICAgICAgICBpZiB1bmljb2RlZGF0YS5ub3JtYWxpemUo
J05GQycsIGNoKSAhPSBjaDoKKyAgICAgICAgICAgIG5vdF95ZXMuYWRkKGNwKSAgICAgICAgICAg
ICAgICAgICAgICMgTkZDX1FDPU5vCisKKyAgICBmb3IgY3AgaW4gcmFuZ2UoTUFYQ1ApOgorICAg
ICAgICBpZiAweEQ4MDAgPD0gY3AgPD0gMHhERkZGOgorICAgICAgICAgICAgY29udGludWUKKyAg
ICAgICAgY2ggPSBjaHIoY3ApCisgICAgICAgIGQgPSB1bmljb2RlZGF0YS5kZWNvbXBvc2l0aW9u
KGNoKQorICAgICAgICBpZiBub3QgZCBvciBkLnN0YXJ0c3dpdGgoJzwnKToKKyAgICAgICAgICAg
IGNvbnRpbnVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgbm9uZSwgb3IgY29tcGF0aWJp
bGl0eSBvbmx5CisgICAgICAgIHBhcnRzID0gZC5zcGxpdCgpCisgICAgICAgIGlmIGxlbihwYXJ0
cykgIT0gMjoKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGZpcnN0LCBzZWNvbmQgPSAo
Y2hyKGludChwLCAxNikpIGZvciBwIGluIHBhcnRzKQorICAgICAgICAjIFByaW1hcnkgY29tcG9z
aXRlIGlmZiByZWNvbXBvc2l0aW9uIHJvdW5kLXRyaXBzICh0aGlzIGV4Y2x1ZGVzCisgICAgICAg
ICMgdGhlIGNvbXBvc2l0aW9uIGV4Y2x1c2lvbnMgb2YgVUFYICMxNSkuCisgICAgICAgIGlmIHVu
aWNvZGVkYXRhLm5vcm1hbGl6ZSgnTkZDJywgZmlyc3QgKyBzZWNvbmQpID09IGNoOgorICAgICAg
ICAgICAgaWYgb3JkKHNlY29uZCkgaW4geGlkX2NvbnQ6CisgICAgICAgICAgICAgICAgbm90X3ll
cy5hZGQob3JkKHNlY29uZCkpICAgICAgICAjIE5GQ19RQz1NYXliZQorCisgICAgZm9yIGNwIGlu
IHJhbmdlKDB4MTE2MSwgMHgxMTc2KTogICAgICAgICAgICAjIEhhbmd1bCBqdW5nc2VvbmcgKFYp
CisgICAgICAgIGlmIGNwIGluIHhpZF9jb250OgorICAgICAgICAgICAgbm90X3llcy5hZGQoY3Ap
CisgICAgZm9yIGNwIGluIHJhbmdlKDB4MTFBOCwgMHgxMUMzKTogICAgICAgICAgICAjIEhhbmd1
bCBqb25nc2VvbmcgKFQpCisgICAgICAgIGlmIGNwIGluIHhpZF9jb250OgorICAgICAgICAgICAg
bm90X3llcy5hZGQoY3ApCisKKyAgICByZXR1cm4gbm90X3llcworCisKK2RlZiBjb21wdXRlX2Nj
Yyh4aWRfY29udCk6CisgICAgIiIiUmV0dXJuIHtjb2RlcG9pbnQ6IGNjY30gZm9yIFhJRF9Db250
aW51ZSBjb2RlcG9pbnRzIHdpdGggY2NjID4gMC4iIiIKKyAgICBjY2MgPSB7fQorICAgIGZvciBj
cCBpbiB4aWRfY29udDoKKyAgICAgICAgayA9IHVuaWNvZGVkYXRhLmNvbWJpbmluZyhjaHIoY3Ap
KQorICAgICAgICBpZiBrOgorICAgICAgICAgICAgY2NjW2NwXSA9IGsKKyAgICByZXR1cm4gY2Nj
CisKKworZGVmIHRvX3JhbmdlcyhjcHMpOgorICAgICIiIkNvbGxhcHNlIGEgc2V0IG9mIGNvZGVw
b2ludHMgaW50byBhIHNvcnRlZCBsaXN0IG9mIChmaXJzdCwgbGFzdCkuIiIiCisgICAgcmFuZ2Vz
ID0gW10KKyAgICBmb3IgY3AgaW4gc29ydGVkKGNwcyk6CisgICAgICAgIGlmIHJhbmdlcyBhbmQg
Y3AgPT0gcmFuZ2VzWy0xXVsxXSArIDE6CisgICAgICAgICAgICByYW5nZXNbLTFdID0gKHJhbmdl
c1stMV1bMF0sIGNwKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFuZ2VzLmFwcGVuZCgo
Y3AsIGNwKSkKKyAgICByZXR1cm4gcmFuZ2VzCisKKworZGVmIHRvX2NjY19yYW5nZXMoY2NjKToK
KyAgICAiIiJDb2xsYXBzZSB7Y29kZXBvaW50OiBjY2N9IGludG8gYSBzb3J0ZWQgbGlzdCBvZiAo
Zmlyc3QsIGxhc3QsIGNjYykuIiIiCisgICAgcmFuZ2VzID0gW10KKyAgICBmb3IgY3AgaW4gc29y
dGVkKGNjYyk6CisgICAgICAgIGsgPSBjY2NbY3BdCisgICAgICAgIGlmIHJhbmdlcyBhbmQgY3Ag
PT0gcmFuZ2VzWy0xXVsxXSArIDEgYW5kIGsgPT0gcmFuZ2VzWy0xXVsyXToKKyAgICAgICAgICAg
IHJhbmdlc1stMV0gPSAocmFuZ2VzWy0xXVswXSwgY3AsIGspCisgICAgICAgIGVsc2U6CisgICAg
ICAgICAgICByYW5nZXMuYXBwZW5kKChjcCwgY3AsIGspKQorICAgIHJldHVybiByYW5nZXMKKwor
CitkZWYgZW1pdF9yYW5nZXMob3V0LCBuYW1lLCByYW5nZXMpOgorICAgIG91dC53cml0ZSgnc3Rh
dGljIGNvbnN0IE1CSURfUkFOR0UgJXNbXSA9IHtcbicgJSBuYW1lKQorICAgIGZvciBpIGluIHJh
bmdlKDAsIGxlbihyYW5nZXMpLCAzKToKKyAgICAgICAgY2h1bmsgPSByYW5nZXNbaTppICsgM10K
KyAgICAgICAgb3V0LndyaXRlKCcgICVzLFxuJyAlCisgICAgICAgICAgICAgICAgICAnLCAnLmpv
aW4oJ3sgMHglMDVYLCAweCUwNVggfScgJSByIGZvciByIGluIGNodW5rKSkKKyAgICBvdXQud3Jp
dGUoJ307XG4nKQorICAgIG91dC53cml0ZSgnI2RlZmluZSAlc19MRU5cdChzaXplb2YgKCVzKSAv
IHNpemVvZiAoJXNbMF0pKVxuXG4nCisgICAgICAgICAgICAgICUgKG5hbWUudXBwZXIoKSwgbmFt
ZSwgbmFtZSkpCisKKworZGVmIGVtaXRfY2NjX3JhbmdlcyhvdXQsIG5hbWUsIHJhbmdlcyk6Cisg
ICAgb3V0LndyaXRlKCdzdGF0aWMgY29uc3QgTUJJRF9DQ0NfUkFOR0UgJXNbXSA9IHtcbicgJSBu
YW1lKQorICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihyYW5nZXMpLCAzKToKKyAgICAgICAgY2h1
bmsgPSByYW5nZXNbaTppICsgM10KKyAgICAgICAgb3V0LndyaXRlKCcgICVzLFxuJyAlCisgICAg
ICAgICAgICAgICAgICAnLCAnLmpvaW4oJ3sgMHglMDVYLCAweCUwNVgsICUzZCB9JyAlIHIgZm9y
IHIgaW4gY2h1bmspKQorICAgIG91dC53cml0ZSgnfTtcbicpCisgICAgb3V0LndyaXRlKCcjZGVm
aW5lICVzX0xFTlx0KHNpemVvZiAoJXMpIC8gc2l6ZW9mICglc1swXSkpXG5cbicKKyAgICAgICAg
ICAgICAgJSAobmFtZS51cHBlcigpLCBuYW1lLCBuYW1lKSkKKworCisjIFVBWCAjMzEgcHJvZmls
ZSAoU2VjdGlvbiAyLjM7IHNlZSBhbHNvIFVUUyAjNTUpOiBleGNsdWRlCisjIERlZmF1bHRfSWdu
b3JhYmxlX0NvZGVfUG9pbnRzIGZyb20gaWRlbnRpZmllcnMuIFRoZXNlIGNoYXJhY3RlcnMgcmVx
dWVzdAorIyBpbnZpc2libGUgcmVuZGVyaW5nLCBzbyB0d28gZGlzdGluY3QgbmFtZXMgY291bGQg
YmUgZGlzcGxheWVkIGlkZW50aWNhbGx5OworIyBVQVggIzMxIGV4cGxpY2l0bHkgcmVjb21tZW5k
cyByZW1vdmluZyB0aGVtIGZyb20gZ2VuZXJhbC1wdXJwb3NlCisjIGlkZW50aWZpZXJzIGV2ZW4g
dGhvdWdoIHRoZSBVQ0QgbGVhdmVzIHNvbWUgb2YgdGhlbSAodmFyaWF0aW9uIHNlbGVjdG9ycywK
KyMgYW5kIGluIG5ld2VyIHZlcnNpb25zIHRoZSBqb2luaW5nIGNvbnRyb2xzKSBpbiBYSURfQ29u
dGludWUuIFRoZSBzZXQgYmVsb3cKKyMgaXMgREkgaW50ZXJzZWN0ZWQgd2l0aCBYSUQgYWNyb3Nz
IFVDRCB2ZXJzaW9ucywgbGlzdGVkIGV4cGxpY2l0bHkgc28gdGhlCisjIGV4Y2x1c2lvbiBpcyBz
dGFibGUgbm8gbWF0dGVyIHdoaWNoIFVDRCBnZW5lcmF0ZXMgdGhlIHRhYmxlcy4KK0RFRkFVTFRf
SUdOT1JBQkxFX1hJRCA9ICgKKyAgICBzZXQocmFuZ2UoMHhGRTAwLCAweEZFMTApKSB8ICAgICAg
ICAjIHZhcmlhdGlvbiBzZWxlY3RvcnMgMS0xNgorICAgIHNldChyYW5nZSgweEUwMTAwLCAweEUw
MUYwKSkgfCAgICAgICMgdmFyaWF0aW9uIHNlbGVjdG9ycyAxNy0yNTYKKyAgICBzZXQocmFuZ2Uo
MHgxODBCLCAweDE4MTApKSB8ICAgICAgICAjIE1vbmdvbGlhbiBmcmVlIHZhcmlhdGlvbiBzZWxl
Y3RvcnMKKyAgICB7MHgwMEFELCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHNvZnQgaHlw
aGVuCisgICAgIDB4MDM0RiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBjb21iaW5pbmcg
Z3JhcGhlbWUgam9pbmVyCisgICAgIDB4MTE1RiwgMHgxMTYwLCAgICAgICAgICAgICAgICAgICAg
IyBIYW5ndWwgY2hvc2VvbmcvanVuZ3Nlb25nIGZpbGxlcgorICAgICAweDE3QjQsIDB4MTdCNSwg
ICAgICAgICAgICAgICAgICAgICMgS2htZXIgaW5oZXJlbnQgdm93ZWxzCisgICAgIDB4MjAwQywg
MHgyMDBELCAgICAgICAgICAgICAgICAgICAgIyBaV05KLCBaV0oKKyAgICAgMHgzMTY0LCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAjIEhhbmd1bCBmaWxsZXIKKyAgICAgMHhGRkEwfSkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAjIGhhbGZ3aWR0aCBIYW5ndWwgZmlsbGVyCisKK2RlZiBz
ZWxmY2hlY2soeGlkX3N0YXJ0LCB4aWRfY29udCwgbm90X3llcywgY2NjKToKKyAgICAiIiJBIGZl
dyBpbnZhcmlhbnRzIHRoYXQgbXVzdCBob2xkIGZvciBhbnkgVUNEIHZlcnNpb24uIiIiCisgICAg
IyBMYXRpbiBsZXR0ZXJzIHVzZWQgYWNyb3NzIEV1cm9wZWFuIGxhbmd1YWdlcy4KKyAgICBmb3Ig
Y2ggaW4gJ8Okw7bDvMOEw5bDnMOf4bqew6nDscOnxZDFsSc6CisgICAgICAgIGFzc2VydCBvcmQo
Y2gpIGluIHhpZF9zdGFydCwgY2gKKyAgICAjIEdyZWVrLCBDeXJpbGxpYywgSGFuLCBIaXJhZ2Fu
YS4KKyAgICBmb3IgY2ggaW4gJ86pz4nQlua8ouOBsic6CisgICAgICAgIGFzc2VydCBvcmQoY2gp
IGluIHhpZF9zdGFydCwgY2gKKyAgICAjIENvbWJpbmluZyBtYXJrcyBjb250aW51ZSBidXQgZG8g
bm90IHN0YXJ0IGlkZW50aWZpZXJzLgorICAgIGFzc2VydCAweDAzMDAgbm90IGluIHhpZF9zdGFy
dCBhbmQgMHgwMzAwIGluIHhpZF9jb250CisgICAgZm9yIGNwIGluIERFRkFVTFRfSUdOT1JBQkxF
X1hJRDoKKyAgICAgICAgYXNzZXJ0IGNwIG5vdCBpbiB4aWRfc3RhcnQgYW5kIGNwIG5vdCBpbiB4
aWRfY29udCwgaGV4KGNwKQorICAgICMgQ09NQklOSU5HIERJQUVSRVNJUyBjb21wb3NlcyB3aXRo
IGEgcHJlY2VkaW5nIGJhc2U6IE5GQ19RQz1NYXliZS4KKyAgICBhc3NlcnQgMHgwMzA4IGluIG5v
dF95ZXMKKyAgICAjIE9ITSBTSUdOIGhhcyBhIHNpbmdsZXRvbiBkZWNvbXBvc2l0aW9uIHRvIEdS
RUVLIENBUElUQUwgT01FR0E6CisgICAgIyBORkNfUUM9Tm8sIHNvIGl0IG11c3QgYmUgcmVqZWN0
ZWQgd2hpbGUgVSswM0E5IGlzIGFjY2VwdGVkLgorICAgIGFzc2VydCAweDIxMjYgaW4gbm90X3ll
cyBhbmQgMHgwM0E5IG5vdCBpbiBub3RfeWVzCisgICAgIyBERVZBTkFHQVJJIFNJR04gVklSQU1B
OiBjY2M9OSwgTkZDX1FDPVllczsgSW5kaWMgc2NyaXB0cyBzdGF5IHVzYWJsZS4KKyAgICBhc3Nl
cnQgY2NjLmdldCgweDA5NEQpID09IDkgYW5kIDB4MDk0RCBub3QgaW4gbm90X3llcworICAgICMg
Tm8gZ2VuZXJhbCBjYXRlZ29yeSBzdXJwcmlzZXM6IEFTQ0lJIG5ldmVyIGFwcGVhcnMgaW4gdGhl
IHRhYmxlcy4KKyAgICBhc3NlcnQgbWluKHhpZF9jb250KSA+PSAweDgwCisKKworZGVmIG1haW4o
KToKKyAgICBvdXQgPSBzeXMuc3Rkb3V0CisgICAgeGlkX3N0YXJ0LCB4aWRfY29udCA9IGNvbXB1
dGVfeGlkKCkKKyAgICBub3RfeWVzID0gY29tcHV0ZV9uZmNfbm90X3llcyh4aWRfY29udCkKKyAg
ICBjY2MgPSBjb21wdXRlX2NjYyh4aWRfY29udCkKKyAgICBzZWxmY2hlY2soeGlkX3N0YXJ0LCB4
aWRfY29udCwgbm90X3llcywgY2NjKQorCisgICAgcl9zdGFydCA9IHRvX3Jhbmdlcyh4aWRfc3Rh
cnQpCisgICAgcl9jb250ID0gdG9fcmFuZ2VzKHhpZF9jb250KQorICAgIHJfbm90eWVzID0gdG9f
cmFuZ2VzKG5vdF95ZXMpCisgICAgcl9jY2MgPSB0b19jY2NfcmFuZ2VzKGNjYykKKworICAgIG91
dC53cml0ZSgnLyogbWJpZHRibC5oIC0tIFVuaWNvZGUgdGFibGVzIGZvciBtdWx0aWJ5dGUgc2hl
bGwnCisgICAgICAgICAgICAgICcgaWRlbnRpZmllcnMuICovXG5cbicpCisgICAgb3V0LndyaXRl
KCcvKiBHZW5lcmF0ZWQgYnkgc3VwcG9ydC9ta21iaWR0YmwucHkgZnJvbSB0aGUgVW5pY29kZScK
KyAgICAgICAgICAgICAgJyBDaGFyYWN0ZXIgRGF0YWJhc2VcbiAgIHZlcnNpb24gJXMuICBEbyBu
b3QgZWRpdCB0aGlzIGZpbGUnCisgICAgICAgICAgICAgICcgYnkgaGFuZC4gKi9cblxuJyAlIHVu
aWNvZGVkYXRhLnVuaWRhdGFfdmVyc2lvbikKKyAgICBvdXQud3JpdGUoJy8qIENvcHlyaWdodCAo
QykgMjAyNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cblxuJykKKyAgICBvdXQud3Jp
dGUoJyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNI
ZWxsLlxuXG4nKQorICAgIG91dC53cml0ZSgnICAgQmFzaCBpcyBmcmVlIHNvZnR3YXJlOiB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3InCisgICAgICAgICAgICAgICcgbW9kaWZ5XG4gICBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYycKKyAgICAgICAgICAg
ICAgJyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwnCisgICAgICAgICAgICAgICcgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg
b3JcbiAgIChhdCB5b3VyIG9wdGlvbiknCisgICAgICAgICAgICAgICcgYW55IGxhdGVyIHZlcnNp
b24uXG5cbicpCisgICAgb3V0LndyaXRlKCcgICBCYXNoIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4nCisgICAgICAgICAgICAgICcgICBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCcKKyAgICAgICAgICAg
ICAgJyB3YXJyYW50eSBvZlxuICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUicKKyAgICAgICAgICAgICAgJyBQVVJQT1NFLiAgU2VlIHRoZVxuICAgR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUnCisgICAgICAgICAgICAgICcgZGV0YWlscy5cblxu
JykKKyAgICBvdXQud3JpdGUoJyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBHZW5lcmFsIFB1YmxpYycKKyAgICAgICAgICAgICAgJyBMaWNlbnNlXG4gICBhbG9u
ZyB3aXRoIEJhc2guICBJZiBub3QsIHNlZScKKyAgICAgICAgICAgICAgJyA8aHR0cDovL3d3dy5n
bnUub3JnL2xpY2Vuc2VzLz4uXG4qL1xuXG4nKQorICAgIG91dC53cml0ZSgnI2lmICFkZWZpbmVk
IChfTUJJRFRCTF9IXylcbiNkZWZpbmUgX01CSURUQkxfSF9cblxuJykKKyAgICBvdXQud3JpdGUo
JyNkZWZpbmUgTUJJRF9VTklDT0RFX1ZFUlNJT05cdCIlcyJcblxuJworICAgICAgICAgICAgICAl
IHVuaWNvZGVkYXRhLnVuaWRhdGFfdmVyc2lvbikKKyAgICBvdXQud3JpdGUoJ3R5cGVkZWYgc3Ry
dWN0IHtcbiAgdV9iaXRzMzJfdCBmaXJzdCwgbGFzdDtcbn0gTUJJRF9SQU5HRTtcblxuJykKKyAg
ICBvdXQud3JpdGUoJ3R5cGVkZWYgc3RydWN0IHtcbiAgdV9iaXRzMzJfdCBmaXJzdCwgbGFzdDtc
bicKKyAgICAgICAgICAgICAgJyAgdW5zaWduZWQgY2hhciBjY2M7XG59IE1CSURfQ0NDX1JBTkdF
O1xuXG4nKQorCisgICAgb3V0LndyaXRlKCcvKiBYSURfU3RhcnQgY29kZXBvaW50cyA+PSBVKzAw
ODAuICovXG4nKQorICAgIGVtaXRfcmFuZ2VzKG91dCwgJ21iaWRfeGlkX3N0YXJ0Jywgcl9zdGFy
dCkKKyAgICBvdXQud3JpdGUoJy8qIFhJRF9Db250aW51ZSBjb2RlcG9pbnRzID49IFUrMDA4MC4g
Ki9cbicpCisgICAgZW1pdF9yYW5nZXMob3V0LCAnbWJpZF94aWRfY29udCcsIHJfY29udCkKKyAg
ICBvdXQud3JpdGUoJy8qIFhJRF9Db250aW51ZSBjb2RlcG9pbnRzIHdpdGggTkZDX1F1aWNrX0No
ZWNrIG9mIE5vIG9yJworICAgICAgICAgICAgICAnIE1heWJlLiAqL1xuJykKKyAgICBlbWl0X3Jh
bmdlcyhvdXQsICdtYmlkX25mY19ub3RfeWVzJywgcl9ub3R5ZXMpCisgICAgb3V0LndyaXRlKCcv
KiBOb24temVybyBjYW5vbmljYWwgY29tYmluaW5nIGNsYXNzZXMgb2YgWElEX0NvbnRpbnVlJwor
ICAgICAgICAgICAgICAnIGNvZGVwb2ludHMuICovXG4nKQorICAgIGVtaXRfY2NjX3Jhbmdlcyhv
dXQsICdtYmlkX2NjYycsIHJfY2NjKQorCisgICAgb3V0LndyaXRlKCcjZW5kaWYgLyogX01CSURU
QkxfSF8gKi9cbicpCisKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICBtYWluKCkK
ZGlmZiAtLWdpdCBhL3Rlc3RzL21iaWRlbnQucmlnaHQgYi90ZXN0cy9tYmlkZW50LnJpZ2h0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwY2RhOTAKLS0tIC9kZXYvbnVsbAor
KysgYi90ZXN0cy9tYmlkZW50LnJpZ2h0CkBAIC0wLDAgKzEsMjQgQEAKK3N5c3RlbSBkZWZhdWx0
OiBvbgorbXVsdGlieXRlX2lkZW50aWZpZXJzCW9uCisxIDEgMQorenfDtmxmIDUKKzYgMTIgNwor
MjEKKzEKKzEwCitiIDMgMCAxIDIKK3JlZCBncmVlbgorOQorNDIKK1rDpGhsZXIKK0tpbmQ6IDEw
CitkZWNvbXBvc2VkIHJlamVjdGVkCitvaG0gcmVqZWN0ZWQKK29tZWdhOiAzCittaWNybyBtdQor
dmFyaWF0aW9uIHNlbGVjdG9yIHJlamVjdGVkCit6ZXJvIHdpZHRoIGpvaW5lciByZWplY3RlZAor
ZGlnaXQgc3RhcnQgcmVqZWN0ZWQKK29wdGlvbiBvZmY6IHJlamVjdGVkIGFnYWluCitbw59lXQor
b3B0aW9uIG9mZjogYmFkIHN1YnN0aXR1dGlvbiBhZ2FpbgpkaWZmIC0tZ2l0IGEvdGVzdHMvbWJp
ZGVudC50ZXN0cyBiL3Rlc3RzL21iaWRlbnQudGVzdHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uNzU4MGFjNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21iaWRlbnQudGVz
dHMKQEAgLTAsMCArMSw3MCBAQAorIyB0ZXN0cyBmb3IgdGhlIG11bHRpYnl0ZV9pZGVudGlmaWVy
cyBzaGVsbCBvcHRpb247IHJ1bi1tYmlkZW50IGFycmFuZ2VzIGZvcgorIyBhIFVURi04IGxvY2Fs
ZSBhbmQgc2tpcHMgdGhpcyBmaWxlIHdoZW4gdGhlIG9wdGlvbiBjYW5ub3QgYmUgZW5hYmxlZAor
CisjIHRoZSBjb25zZW50IGZpbGUgaXMgcHJlc2VudCwgc28gdGhlIG9wdGlvbiBpcyBvbiBmcm9t
IHRoZSBzdGFydAorc2hvcHQgLXEgbXVsdGlieXRlX2lkZW50aWZpZXJzICYmIGVjaG8gc3lzdGVt
IGRlZmF1bHQ6IG9uCisKK3Nob3B0IC1zIG11bHRpYnl0ZV9pZGVudGlmaWVycyB8fCBleGl0IDEK
K3Nob3B0IG11bHRpYnl0ZV9pZGVudGlmaWVycworCisjIGFzc2lnbm1lbnQsIGV4cGFuc2lvbiwg
bGVuZ3RoCitTdHJhw59lPTEKK2VjaG8gJFN0cmHDn2UgJHtTdHJhw59lfSAkeyNTdHJhw59lfQor
CisjIFUrMUU5RSBMQVRJTiBDQVBJVEFMIExFVFRFUiBTSEFSUCBTCitHUsOW4bqeRT16d8O2bGYK
K2VjaG8gJHtHUsOW4bqeRX0gJHsjR1LDluG6nkV9CisKKyMgYXJpdGhtZXRpYywgaW5jbHVkaW5n
IGluY3JlbWVudCBvcGVyYXRvcnMKK1rDpGhsZXI9NQorKCggWsOkaGxlcisrICkpCitlY2hvICRa
w6RobGVyICQoKCBaw6RobGVyICogMiApKSAkKCggKytaw6RobGVyICkpCisoKCBHUsOW4bqeRSA9
IFrDpGhsZXIgKiAzICkpCitlY2hvICR7R1LDluG6nkV9CisKKyMgaW5kaXJlY3Rpb24gYW5kIGFw
cGVuZGluZworVmVyd2Vpcz1TdHJhw59lCitlY2hvICR7IVZlcndlaXN9CitTdHJhw59lKz0wCitl
Y2hvICRTdHJhw59lCisKKyMgYXJyYXlzLCBhc3NvY2lhdGl2ZSBhcnJheXMsIGtleSBleHBhbnNp
b24KK1N0cmHDn2VuPShhIGIgYykKK2VjaG8gJHtTdHJhw59lblsxXX0gJHsjU3RyYcOfZW5bQF19
ICR7IVN0cmHDn2VuW0BdfQorZGVjbGFyZSAtQSDDnGJlcnNldHp1bmc9KFtyb3RdPXJlZCBbZ3LD
vG5dPWdyZWVuKQorZWNobyAke8OcYmVyc2V0enVuZ1tyb3RdfSAke8OcYmVyc2V0enVuZ1tncsO8
bl19CisKKyMgZm9yIHZhcmlhYmxlcywgcmVhZCwgcHJlZml4IGxpc3RpbmcKK2ZvciBaw6RobGVy
IGluIDcgOCA5OyBkbyA6OyBkb25lCitlY2hvICRaw6RobGVyCityZWFkIEdyw7bDn2UgPDw8IDQy
CitlY2hvICRHcsO2w59lCitlY2hvICR7IVoqfQorCisjIGV4cG9ydCBzdXJ2aXZlcyBpbnRvIGEg
Y2hpbGQgdGhhdCBlbmFibGVzIHRoZSBvcHRpb24KK2V4cG9ydCBTdHJhw59lCiske1RISVNfU0h9
IC1jICdzaG9wdCAtcyBtdWx0aWJ5dGVfaWRlbnRpZmllcnMgMj4vZGV2L251bGw7IGVjaG8gS2lu
ZDogJFN0cmHDn2UnCisKKyMgTkZDIGlzIHJlcXVpcmVkOiBhIGRlY29tcG9zZWQgc2VxdWVuY2Ug
aXMgbm90IGFuIGFzc2lnbm1lbnQKK2V2YWwgJCdhXHUwMzA4PTEnIDI+L2Rldi9udWxsIHx8IGVj
aG8gZGVjb21wb3NlZCByZWplY3RlZAorIyBVKzIxMjYgT0hNIFNJR04gbm9ybWFsaXplcyBhd2F5
LCBVKzAzQTkgR1JFRUsgQ0FQSVRBTCBPTUVHQSBpcyBmaW5lCitldmFsICQnXHUyMTI2PTEnIDI+
L2Rldi9udWxsIHx8IGVjaG8gb2htIHJlamVjdGVkCitldmFsICQnXHUwM2E5PTMnICYmIGV2YWwg
J2VjaG8gb21lZ2E6ICQnJCdcdTAzYTknCisjIE5GQywgbm90IE5GS0M6IFUrMDBCNSBNSUNSTyBT
SUdOIGFuZCBVKzAzQkMgTVUgc3RheSBkaXN0aW5jdAorwrU9bWljcm8gzrw9bXUKK2VjaG8gJMK1
ICTOvAorCisjIFVBWCAjMzEgcHJvZmlsZTogZGVmYXVsdC1pZ25vcmFibGUgKGludmlzaWJsZSkg
Y29kZSBwb2ludHMgYXJlIGV4Y2x1ZGVkCisjIGV2ZW4gd2hlcmUgdGhlIFVDRCBsZWF2ZXMgdGhl
bSBpbiBYSURfQ29udGludWUKK2V2YWwgJCdWXHVGRTBGPTEnIDI+L2Rldi9udWxsIHx8IGVjaG8g
dmFyaWF0aW9uIHNlbGVjdG9yIHJlamVjdGVkCitldmFsICQnYVx1MjAwRGI9MScgMj4vZGV2L251
bGwgfHwgZWNobyB6ZXJvIHdpZHRoIGpvaW5lciByZWplY3RlZAorCisjIG5hbWVzIHN0aWxsIGNh
bm5vdCBiZWdpbiB3aXRoIGEgZGlnaXQKK2V2YWwgJCcxXHUwMGRjPXgnIDI+L2Rldi9udWxsIHx8
IGVjaG8gZGlnaXQgc3RhcnQgcmVqZWN0ZWQKKworIyB0dXJuaW5nIHRoZSBvcHRpb24gb2ZmIHJl
c3RvcmVzIHRoZSBoaXN0b3JpY2FsIHN5bnRheAordW5zZXQgU3RyYcOfZQorc2hvcHQgLXUgbXVs
dGlieXRlX2lkZW50aWZpZXJzCitldmFsICdXZWnDnz0yJyAyPi9kZXYvbnVsbCB8fCBlY2hvIG9w
dGlvbiBvZmY6IHJlamVjdGVkIGFnYWluCitlY2hvIFskU3RyYcOfZV0KK2V2YWwgJ2VjaG8gJHtX
ZWnDn30nIDI+L2Rldi9udWxsIHx8IGVjaG8gb3B0aW9uIG9mZjogYmFkIHN1YnN0aXR1dGlvbiBh
Z2FpbgpkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLWludm9jYXRpb24gYi90ZXN0cy9ydW4taW52b2Nh
dGlvbgppbmRleCA1ODUxYjZjLi5mZGMxMzNhIDEwMDY0NAotLS0gYS90ZXN0cy9ydW4taW52b2Nh
dGlvbgorKysgYi90ZXN0cy9ydW4taW52b2NhdGlvbgpAQCAtMSwyICsxLDUgQEAKLSR7VEhJU19T
SH0gLi9pbnZvY2F0aW9uLnRlc3RzIDI+JjEgfCBncmVwIC12ICdeZXhwZWN0JyA+ICR7QkFTSF9U
U1RPVVR9CisjIG11bHRpYnl0ZV9pZGVudGlmaWVycyByZWZsZWN0cyBhIHN5c3RlbS13aWRlIHN3
aXRjaDsgbm9ybWFsaXplIGl0IG91dCBvZgorIyAkQkFTSE9QVFMgbGlzdGluZ3Mgc28gdGhpcyB0
ZXN0IGRvZXMgbm90IGRlcGVuZCBvbiBNQklERU5UX1NZU1RFTV9GSUxFCiske1RISVNfU0h9IC4v
aW52b2NhdGlvbi50ZXN0cyAyPiYxIHwgZ3JlcCAtdiAnXmV4cGVjdCcgfAorCXNlZCAtZSAncy9t
dWx0aWJ5dGVfaWRlbnRpZmllcnM6Ly9nJyAtZSAncy86bXVsdGlieXRlX2lkZW50aWZpZXJzJC8v
JyA+ICR7QkFTSF9UU1RPVVR9CiBkaWZmICR7QkFTSF9UU1RPVVR9IGludm9jYXRpb24ucmlnaHQg
JiYgcm0gLWYgJHtCQVNIX1RTVE9VVH0KZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi1tYmlkZW50IGIv
dGVzdHMvcnVuLW1iaWRlbnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTcw
NWNlYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3J1bi1tYmlkZW50CkBAIC0wLDAgKzEsOSBA
QAorIyBtdWx0aWJ5dGUgaWRlbnRpZmllcnMgcmVxdWlyZSBhIFVURi04IGxvY2FsZSBhbmQgc3lz
dGVtLXdpZGUgY29uc2VudAorIyAoTUJJREVOVF9TWVNURU1fRklMRSk7IHNraXAgY2xlYW5seSB3
aGVuIHRoaXMgc3lzdGVtIHByb3ZpZGVzIG5laXRoZXIKK2lmIFsgImBpZCAtdSAyPi9kZXYvbnVs
bGAiID0gMCBdICYmCisgICBMQ19BTEw9Qy5VVEYtOCAke1RISVNfU0h9IC1jICdzaG9wdCAtcyBt
dWx0aWJ5dGVfaWRlbnRpZmllcnMnIDI+L2Rldi9udWxsOyB0aGVuCisJTENfQUxMPUMuVVRGLTgg
JHtUSElTX1NIfSAuL21iaWRlbnQudGVzdHMgPiAke0JBU0hfVFNUT1VUfSAyPiYxCisJZGlmZiAk
e0JBU0hfVFNUT1VUfSBtYmlkZW50LnJpZ2h0ICYmIHJtIC1mICR7QkFTSF9UU1RPVVR9CitlbHNl
CisJZWNobyAibWJpZGVudCB0ZXN0cyBza2lwcGVkOiBjYW5ub3QgZW5hYmxlIG11bHRpYnl0ZV9p
ZGVudGlmaWVycyBvbiB0aGlzIHN5c3RlbSIgPiYyCitmaQpkaWZmIC0tZ2l0IGEvdGVzdHMvcnVu
LXNob3B0IGIvdGVzdHMvcnVuLXNob3B0CmluZGV4IDAyYzQzZTcuLmE3YmExYzYgMTAwNjQ0Ci0t
LSBhL3Rlc3RzL3J1bi1zaG9wdAorKysgYi90ZXN0cy9ydW4tc2hvcHQKQEAgLTEsMiArMSw0IEBA
Ci0ke1RISVNfU0h9IC4vc2hvcHQudGVzdHMgPiAke0JBU0hfVFNUT1VUfSAyPiYxCisjIG11bHRp
Ynl0ZV9pZGVudGlmaWVycyByZWZsZWN0cyBhIHN5c3RlbS13aWRlIHN3aXRjaDsgZmlsdGVyIGl0
IHNvIHRoaXMKKyMgdGVzdCBkb2VzIG5vdCBkZXBlbmQgb24gdGhlIHN0YXRlIG9mIE1CSURFTlRf
U1lTVEVNX0ZJTEUKKyR7VEhJU19TSH0gLi9zaG9wdC50ZXN0cyAyPiYxIHwgZ3JlcCAtdiBtdWx0
aWJ5dGVfaWRlbnRpZmllcnMgPiAke0JBU0hfVFNUT1VUfQogZGlmZiAke0JBU0hfVFNUT1VUfSBz
aG9wdC5yaWdodCAmJiBybSAtZiAke0JBU0hfVFNUT1VUfQpkaWZmIC0tZ2l0IGEvdGVzdHMvc2hv
cHQxLnN1YiBiL3Rlc3RzL3Nob3B0MS5zdWIKaW5kZXggOGMxMTUwZi4uMjNhNDUxYyAxMDA2NDQK
LS0tIGEvdGVzdHMvc2hvcHQxLnN1YgorKysgYi90ZXN0cy9zaG9wdDEuc3ViCkBAIC0zOCw2ICsz
OCw3IEBAIGZvciBvIGluICQoY29tcGdlbiAtQSBzaG9wdCkKIGRvCiAJY2FzZSAkbyBpbgogCWV4
dGRlYnVnKQk7OworCW11bHRpYnl0ZV9pZGVudGlmaWVycykJOzsJIyByZXF1aXJlcyBVVEYtOCBs
b2NhbGUgYW5kIHN5c3RlbSBjb25zZW50CiAJKikJCXNob3B0IC1zICRvIDs7CiAJZXNhYwogZG9u
ZQpAQCAtNDUsNyArNDYsMTAgQEAgZGlmZiA8KCIkdDEiKSA8KCIkdDIiKQogCiBmb3IgbyBpbiAk
KGNvbXBnZW4gLUEgc2hvcHQpCiBkbwotCXNob3B0IC11ICRvOworCWNhc2UgJG8gaW4KKwltdWx0
aWJ5dGVfaWRlbnRpZmllcnMpCTs7CSMgdW5zZXR0aW5nIHJlcXVpcmVzIHJvb3Qgd2hlbiBlbmFi
bGVkCisJKikJCXNob3B0IC11ICRvIDs7CisJZXNhYwogZG9uZQogZGlmZiA8KCIkdDEiKSA8KCIk
dDIiKQogCmRpZmYgLS1naXQgYS92YXJpYWJsZXMuYyBiL3ZhcmlhYmxlcy5jCmluZGV4IDRlNmY5
M2IuLjQ3ZWJkNDcgMTAwNjQ0Ci0tLSBhL3ZhcmlhYmxlcy5jCisrKyBiL3ZhcmlhYmxlcy5jCkBA
IC00OCw2ICs0OCw3IEBACiAjZGVmaW5lIE5FRURfWFRSQUNFX1NFVF9ERUNMCiAKICNpbmNsdWRl
ICJzaGVsbC5oIgorI2luY2x1ZGUgIm1iaWRlbnQuaCIKICNpbmNsdWRlICJwYXJzZXIuaCIKICNp
bmNsdWRlICJmbGFncy5oIgogI2luY2x1ZGUgImV4ZWN1dGVfY21kLmgiCkBAIC0zMzExLDYgKzMz
MTIsNTAgQEAgYmluZF9pbnZhbGlkX2VudnZhciAoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hh
ciAqdmFsdWUsIGludCBhZmxhZ3MpCiAgIHJldHVybiAoYmluZF92YXJpYWJsZV9pbnRlcm5hbCAo
bmFtZSwgdmFsdWUsIGludmFsaWRfZW52LCBIQVNIX05PU1JDSCwgYWZsYWdzKSk7CiB9CiAKKyNp
ZiBkZWZpbmVkIChIQU5ETEVfTVVMVElCWVRFKQorLyogQ2FsbGVkIHdoZW4gdGhlIGBtdWx0aWJ5
dGVfaWRlbnRpZmllcnMnIHNoZWxsIG9wdGlvbiBpcyB0dXJuZWQgb24uICBBbnkKKyAgIGVudmly
b25tZW50IHN0cmluZyB3aG9zZSBuYW1lIHdhcyBub3QgYSB2YWxpZCBpZGVudGlmaWVyIHdoZW4g
dGhlIHNoZWxsCisgICBzdGFydGVkLCBidXQgaXMgb25lIHVuZGVyIHRoZSBleHRlbmRlZCBzeW50
YXgsIGJlY29tZXMgYSByZWd1bGFyCisgICBleHBvcnRlZCBzaGVsbCB2YXJpYWJsZSwgYXMgaWYg
aXQgaGFkIGJlZW4gaW1wb3J0YWJsZSBhbGwgYWxvbmcuICovCit2b2lkCittYmlkZW50X2Fkb3B0
X2ludmFsaWRfZW52ICh2b2lkKQoreworICBWQVJMSVNUICp2bGlzdDsKKyAgU0hFTExfVkFSICp2
YXIsICp0ZW1wX3ZhcjsKKyAgQlVDS0VUX0NPTlRFTlRTICplbHQ7CisgIGludCBpOworCisgIGlm
IChpbnZhbGlkX2VudiA9PSAwIHx8IEhBU0hfRU5UUklFUyAoaW52YWxpZF9lbnYpID09IDApCisg
ICAgcmV0dXJuOworCisgIHZsaXN0ID0gdmxpc3RfYWxsb2MgKEhBU0hfRU5UUklFUyAoaW52YWxp
ZF9lbnYpKTsKKyAgZmxhdHRlbiAoaW52YWxpZF9lbnYsIChzaF92YXJfbWFwX2Z1bmNfdCAqKU5V
TEwsIHZsaXN0LCAwKTsKKworICBmb3IgKGkgPSAwOyBpIDwgdmxpc3QtPmxpc3RfbGVuOyBpKysp
CisgICAgeworICAgICAgdmFyID0gdmxpc3QtPmxpc3RbaV07CisgICAgICBpZiAobWJpZGVudF92
YWxpZF9uYW1lICh2YXItPm5hbWUpID09IDApCisJY29udGludWU7CisgICAgICB0ZW1wX3ZhciA9
IGJpbmRfdmFyaWFibGUgKHZhci0+bmFtZSwgdmFsdWVfY2VsbCAodmFyKSA/IHZhbHVlX2NlbGwg
KHZhcikgOiAiIiwgMCk7CisgICAgICBpZiAodGVtcF92YXIgPT0gMCkKKwljb250aW51ZTsKKyAg
ICAgIFZTRVRBVFRSICh0ZW1wX3ZhciwgKGF0dF9leHBvcnRlZCB8IGF0dF9pbXBvcnRlZCkpOwor
ICAgICAgVlVOU0VUQVRUUiAodGVtcF92YXIsIGF0dF9pbnZpc2libGUpOworICAgICAgZWx0ID0g
aGFzaF9yZW1vdmUgKHZhci0+bmFtZSwgaW52YWxpZF9lbnYsIDApOworICAgICAgaWYgKGVsdCkK
Kwl7CisJICBmcmVlIChlbHQtPmtleSk7CisJICBmcmVlIChlbHQpOworCSAgZGlzcG9zZV92YXJp
YWJsZSAodmFyKTsKKwl9CisgICAgICBhcnJheV9uZWVkc19tYWtpbmcgPSAxOworICAgIH0KKwor
ICBmcmVlICh2bGlzdC0+bGlzdCk7CisgIGZyZWUgKHZsaXN0KTsKK30KKyNlbmRpZiAvKiBIQU5E
TEVfTVVMVElCWVRFICovCisKIC8qIE1ha2UgVkFSLCBhIHNpbXBsZSBzaGVsbCB2YXJpYWJsZSwg
aGF2ZSB2YWx1ZSBWQUxVRS4gIE9uY2UgYXNzaWduZWQgYQogICAgdmFsdWUsIHZhcmlhYmxlcyBh
cmUgbm8gbG9uZ2VyIGludmlzaWJsZS4gIFRoaXMgaXMgYSBkdXBsaWNhdGUgb2YgcGFydAogICAg
b2YgdGhlIGludGVybmFscyBvZiBiaW5kX3ZhcmlhYmxlLiAgSWYgdGhlIHZhcmlhYmxlIGlzIGV4
cG9ydGVkLCBvcgpAQCAtNDgxNiw2ICs0ODYxLDI1IEBAIHZhbGlkX2V4cG9ydHN0ciAoU0hFTExf
VkFSICp2KQogICAgICAgaW50ZXJuYWxfZXJyb3IgKF8oIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIp
LCB2LT5uYW1lKTsKICAgICAgIHJldHVybiAoMCk7CiAgICAgfQorI2lmIGRlZmluZWQgKEhBTkRM
RV9NVUxUSUJZVEUpCisgIGlmIChNQklERU5UX0FDVElWRSAoKSkKKyAgICB7CisgICAgICBjaGFy
ICplOworCisgICAgICBlID0gc3RyY2hyIChzLCAnPScpOworICAgICAgaWYgKGUgPT0gMCkKKwl7
CisJICBpbnRlcm5hbF9lcnJvciAoXygibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiKSwgdi0+
bmFtZSk7CisJICByZXR1cm4gKDApOworCX0KKyAgICAgIGlmIChtYmlkZW50X3ZhbGlkX25hbWVf
bGVuIChzLCAoc2l6ZV90KShlIC0gcykpID09IDApCisJeworCSAgaW50ZXJuYWxfZXJyb3IgKF8o
ImludmFsaWQgbXVsdGlieXRlIHZhcmlhYmxlIG5hbWUgaW4gZXhwb3J0c3RyIGZvciAlcyIpLCB2
LT5uYW1lKTsKKwkgIHJldHVybiAoMCk7CisJfQorICAgICAgcmV0dXJuICgxKTsKKyAgICB9Cisj
ZW5kaWYKICAgaWYgKGxlZ2FsX3ZhcmlhYmxlX3N0YXJ0ZXIgKCh1bnNpZ25lZCBjaGFyKSpzKSA9
PSAwKQogICAgIHsKICAgICAgIGludGVybmFsX2Vycm9yIChfKCJpbnZhbGlkIGNoYXJhY3RlciAl
ZCBpbiBleHBvcnRzdHIgZm9yICVzIiksICpzLCB2LT5uYW1lKTsKZGlmZiAtLWdpdCBhL3Zhcmlh
Ymxlcy5oIGIvdmFyaWFibGVzLmgKaW5kZXggZTkzOWU1OS4uMGZiOWVkOSAxMDA2NDQKLS0tIGEv
dmFyaWFibGVzLmgKKysrIGIvdmFyaWFibGVzLmgKQEAgLTMwMyw2ICszMDMsNyBAQCBleHRlcm4g
Y2hhciAqbmFtZXJlZl90cmFuc2Zvcm1fbmFtZSAoY29uc3QgY2hhciAqLCBpbnQpOwogZXh0ZXJu
IFNIRUxMX1ZBUiAqY29weV92YXJpYWJsZSAoU0hFTExfVkFSICopOwogZXh0ZXJuIFNIRUxMX1ZB
UiAqbWFrZV9sb2NhbF92YXJpYWJsZSAoY29uc3QgY2hhciAqLCBpbnQpOwogZXh0ZXJuIFNIRUxM
X1ZBUiAqYmluZF92YXJpYWJsZSAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGludCk7Citl
eHRlcm4gdm9pZCBtYmlkZW50X2Fkb3B0X2ludmFsaWRfZW52ICh2b2lkKTsKIGV4dGVybiBTSEVM
TF9WQVIgKmJpbmRfZ2xvYmFsX3ZhcmlhYmxlIChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwg
aW50KTsKIGV4dGVybiBTSEVMTF9WQVIgKmJpbmRfZnVuY3Rpb24gKGNvbnN0IGNoYXIgKiwgQ09N
TUFORCAqKTsKIAotLSAKMi40My4wCgo=
--------------5ZUteQTrubWIpvop08KxuFH4--