<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>124251</bug_id>
          
          <creation_ts>2013-11-12 17:15:56 -0800</creation_ts>
          <short_desc>Change callToJavaScript thunk into an offline assembled stub</short_desc>
          <delta_ts>2013-11-13 23:37:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>116888</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>gyuyoung.kim</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>949962</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-12 17:15:56 -0800</bug_when>
    <thetext>After r158751: &lt;http://trac.webkit.org/changeset/158751&gt;, JavaScript execution requires the ability to JIT a thunk to enter JavaScript.  The thunks callToJavaScript and throwNotCaught should be changed into offline assembled stubs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949988</commentid>
    <comment_count>1</comment_count>
      <attachid>216754</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-12 17:53:26 -0800</bug_when>
    <thetext>Created attachment 216754
Patch

The changes for ARM64, MIPS and SH4 have not been compiled or tested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949998</commentid>
    <comment_count>2</comment_count>
      <attachid>216754</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-11-12 18:04:10 -0800</bug_when>
    <thetext>Comment on attachment 216754
Patch

Attachment 216754 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/22868904</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950003</commentid>
    <comment_count>3</comment_count>
      <attachid>216760</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-12 18:16:47 -0800</bug_when>
    <thetext>Created attachment 216760
Updated patch

Speculative fix for EFL build failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950023</commentid>
    <comment_count>4</comment_count>
      <attachid>216760</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-11-12 19:03:10 -0800</bug_when>
    <thetext>Comment on attachment 216760
Updated patch

Attachment 216760 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/22888894</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950220</commentid>
    <comment_count>5</comment_count>
      <attachid>216815</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-13 09:47:45 -0800</bug_when>
    <thetext>Created attachment 216815
Updated with speculative windows build fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950235</commentid>
    <comment_count>6</comment_count>
      <attachid>216815</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-11-13 10:30:19 -0800</bug_when>
    <thetext>Comment on attachment 216815
Updated with speculative windows build fix

Attachment 216815 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/22779954</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950291</commentid>
    <comment_count>7</comment_count>
      <attachid>216836</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-13 12:09:24 -0800</bug_when>
    <thetext>Created attachment 216836
Patch with fix for windows

Since the LLInt doesn&apos;t work on Windows, I reverted the Windows stubs back to inline assembly in JITStubsX86.h and JITStubsMSVC64.asm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950292</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-13 12:11:50 -0800</bug_when>
    <thetext>Attachment 216836 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source/JavaScriptCore/dfg/DFGDriver.cpp&apos;, u&apos;Source/JavaScriptCore/jit/GPRInfo.h&apos;, u&apos;Source/JavaScriptCore/jit/JITCode.cpp&apos;, u&apos;Source/JavaScriptCore/jit/JITExceptions.cpp&apos;, u&apos;Source/JavaScriptCore/jit/JITStubs.h&apos;, u&apos;Source/JavaScriptCore/jit/JITStubsMSVC64.asm&apos;, u&apos;Source/JavaScriptCore/jit/JITStubsX86.h&apos;, u&apos;Source/JavaScriptCore/jit/ThunkGenerators.cpp&apos;, u&apos;Source/JavaScriptCore/jit/ThunkGenerators.h&apos;, u&apos;Source/JavaScriptCore/llint/LLIntThunks.h&apos;, u&apos;Source/JavaScriptCore/llint/LowLevelInterpreter.asm&apos;, u&apos;Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm&apos;, u&apos;Source/JavaScriptCore/llint/LowLevelInterpreter64.asm&apos;, u&apos;Source/JavaScriptCore/offlineasm/arm.rb&apos;, u&apos;Source/JavaScriptCore/offlineasm/arm64.rb&apos;, u&apos;Source/JavaScriptCore/offlineasm/instructions.rb&apos;, u&apos;Source/JavaScriptCore/offlineasm/mips.rb&apos;, u&apos;Source/JavaScriptCore/offlineasm/registers.rb&apos;, u&apos;Source/JavaScriptCore/offlineasm/sh4.rb&apos;, u&apos;Source/JavaScriptCore/offlineasm/x86.rb&apos;, u&apos;Source/JavaScriptCore/runtime/VM.cpp&apos;, u&apos;Source/JavaScriptCore/runtime/VM.h&apos;]&quot; exit_code: 1
Source/JavaScriptCore/jit/JITStubsX86.h:222:  Extra space before [  [whitespace/braces] [5]
Source/JavaScriptCore/jit/JITStubsX86.h:223:  Extra space before [  [whitespace/braces] [5]
Total errors found: 2 in 18 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950314</commentid>
    <comment_count>9</comment_count>
      <attachid>216836</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-11-13 12:57:29 -0800</bug_when>
    <thetext>Comment on attachment 216836
Patch with fix for windows

View in context: https://bugs.webkit.org/attachment.cgi?id=216836&amp;action=review

r=me

Please test on 32bit, 64bit, and Windows before landing.

&gt; Source/JavaScriptCore/llint/LowLevelInterpreter.asm:424
&gt; +macro makeCallToJavaScript(entry, newCallFrame, previousCFR)

50% of this function is #ifdef&apos;d, and it is confusingly named synonymously with doCallToJavaScript. So, I think you should just move the relevant code into the right places by hand, and remove this helper function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950452</commentid>
    <comment_count>10</comment_count>
      <attachid>216836</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-11-13 17:06:08 -0800</bug_when>
    <thetext>Comment on attachment 216836
Patch with fix for windows

Attachment 216836 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/22600136</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950535</commentid>
    <comment_count>11</comment_count>
      <attachid>216903</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-13 23:36:51 -0800</bug_when>
    <thetext>Created attachment 216903
Patch for Landing

Made the changes suggested.  Made minor fixes to the X86 windows stubs.

Built and ran JavaScript tests on Mac 32 &amp; 64 and Windows 32.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950536</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-13 23:37:25 -0800</bug_when>
    <thetext>Committed r159276: &lt;http://trac.webkit.org/changeset/159276&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216754</attachid>
            <date>2013-11-12 17:53:26 -0800</date>
            <delta_ts>2013-11-12 18:16:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>124251.patch</filename>
            <type>text/plain</type>
            <size>34817</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU5MTY4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBA
CisyMDEzLTExLTEyICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENoYW5nZSBjYWxsVG9KYXZhU2NyaXB0IHRodW5rIGludG8gYW4gb2ZmbGluZSBhc3NlbWJs
ZWQgc3R1YgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI0MjUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q2hhbmdlZCBjYWxsVG9KYXZhU2NyaXB0IGFuZCB0aHJvd05vdENhdWdodCBpbnRvIHN0dWJzIGdl
bmVyYXRlZCBieSB0aGUgb2ZmbGluZSBhc3NlbWJsZXIuCisgICAgICAgIEFkZGVkIHBvcENhbGxl
ZVNhdmVzIGFuZCBwdXNoQ2FsbGVlU2F2ZXMgcHNldWRvIG9wcyB0byB0aGUgb2ZmbGluZSBhc3Nl
bWJsZXIgdG8gaGFuZGxlCisgICAgICAgIHRoZSBzYXZpbmcgYW5kIHJlc3RvcmluZyBvZiBjYWxs
ZWUgc2F2ZSByZWdpc3RlcnMuICBGaXhlZCBjYWxsRnJhbWVSZWdpc3RlciBkaWZmZXJlbmNlcwor
ICAgICAgICBiZXR3ZWVuIGFybSB0cmFkaXRpb25hbCAocjExKSBhbmQgYXJtIFRodW1iMiAocjcp
IGluIEdQUkluZm8uaC4gIEFsc28gZml4ZWQgaW1wbGVtZW50YXRpb24KKyAgICAgICAgb2YgcG9w
ICYgcHVzaCBpbiBhcm0ucmIuCisKKyAgICAgICAgKiBkZmcvREZHRHJpdmVyLmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpjb21waWxlSW1wbCk6CisgICAgICAgICogaml0L0dQUkluZm8uaDoKKyAg
ICAgICAgKEpTQzo6R1BSSW5mbzo6dG9JbmRleCk6CisgICAgICAgIChKU0M6OkdQUkluZm86OmRl
YnVnTmFtZSk6CisgICAgICAgICogaml0L0pJVENvZGUuY3BwOgorICAgICAgICAoSlNDOjpKSVRD
b2RlOjpleGVjdXRlKToKKyAgICAgICAgKiBqaXQvSklURXhjZXB0aW9ucy5jcHA6CisgICAgICAg
IChKU0M6OmdlbmVyaWNVbndpbmQpOgorICAgICAgICAqIGppdC9UaHVua0dlbmVyYXRvcnMuY3Bw
OgorICAgICAgICAqIGppdC9UaHVua0dlbmVyYXRvcnMuaDoKKyAgICAgICAgKiBsbGludC9MTElu
dFRodW5rcy5oOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOgorICAg
ICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc206CisgICAgICAgICogbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToKKyAgICAgICAgKiBvZmZsaW5lYXNtL2FybS5y
YjoKKyAgICAgICAgKiBvZmZsaW5lYXNtL2FybTY0LnJiOgorICAgICAgICAqIG9mZmxpbmVhc20v
aW5zdHJ1Y3Rpb25zLnJiOgorICAgICAgICAqIG9mZmxpbmVhc20vbWlwcy5yYjoKKyAgICAgICAg
KiBvZmZsaW5lYXNtL3JlZ2lzdGVycy5yYjoKKyAgICAgICAgKiBvZmZsaW5lYXNtL3NoNC5yYjoK
KyAgICAgICAgKiBvZmZsaW5lYXNtL3g4Ni5yYjoKKyAgICAgICAgKiBydW50aW1lL1ZNLmNwcDoK
KyAgICAgICAgKEpTQzo6Vk06OlZNKToKKyAgICAgICAgKiBydW50aW1lL1ZNLmg6CisKIDIwMTMt
MTEtMTIgIEp1bGllbiBCcmlhbmNlYXUgIDxqYnJpYW5jZUBjaXNjby5jb20+CiAKICAgICAgICAg
W3NoNF0gRml4IGxvYWQzMldpdGhVbmFsaWduZWRIYWxmV29yZHMgZnVuY3Rpb24gaW4gYmFzZWxp
bmUgSklULgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEcml2ZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRHJpdmVyLmNwcAkocmV2
aXNpb24gMTU5MTY4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEcml2ZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC03OCw4ICs3OCw2IEBAIHN0YXRpYyBDb21waWxhdGlvblJlc3Vs
dCBjb21waWxlSW1wbCgKICAgICAKICAgICAvLyBNYWtlIHN1cmUgdGhhdCBhbnkgc3R1YnMgdGhh
dCB0aGUgREZHIGlzIGdvaW5nIHRvIHVzZSBhcmUgaW5pdGlhbGl6ZWQuIFdlIHdhbnQgdG8KICAg
ICAvLyBtYWtlIHN1cmUgdGhhdCBhbGwgSklUIGNvZGUgZ2VuZXJhdGlvbiBkb2VzIGZpbmFsaXph
dGlvbiBvbiB0aGUgbWFpbiB0aHJlYWQuCi0gICAgdm0uZ2V0Q1RJU3R1YihjYWxsVG9KYXZhU2Ny
aXB0KTsKLSAgICB2bS5nZXRDVElTdHViKHRocm93Tm90Q2F1Z2h0KTsKICAgICB2bS5nZXRDVElT
dHViKG9zckV4aXRHZW5lcmF0aW9uVGh1bmtHZW5lcmF0b3IpOwogICAgIHZtLmdldENUSVN0dWIo
dGhyb3dFeGNlcHRpb25Gcm9tQ2FsbFNsb3dQYXRoR2VuZXJhdG9yKTsKICAgICB2bS5nZXRDVElT
dHViKGxpbmtDYWxsVGh1bmtHZW5lcmF0b3IpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9HUFJJbmZvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9H
UFJJbmZvLmgJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
R1BSSW5mby5oCSh3b3JraW5nIGNvcHkpCkBAIC00NjAsNyArNDYwLDExIEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q0ID0gQVJNUmVnaXN0ZXJzOjpyODsKICAgICBzdGF0
aWMgY29uc3QgR1BSUmVnIHJlZ1Q1ID0gQVJNUmVnaXN0ZXJzOjpyOTsKICAgICBzdGF0aWMgY29u
c3QgR1BSUmVnIHJlZ1Q2ID0gQVJNUmVnaXN0ZXJzOjpyMTA7Ci0gICAgc3RhdGljIGNvbnN0IEdQ
UlJlZyByZWdUNyA9IEFSTVJlZ2lzdGVyczo6cjU7CisjaWYgQ1BVKEFSTV9USFVNQjIpCisgICAg
c3RhdGljIGNvbnN0IEdQUlJlZyByZWdUNyA9IEFSTVJlZ2lzdGVyczo6cjExOworI2Vsc2UgCisg
ICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdUNyA9IEFSTVJlZ2lzdGVyczo6cjc7CisjZW5kaWYK
ICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q4ID0gQVJNUmVnaXN0ZXJzOjpyMzsKICAgICAv
LyBUaGVzZSByZWdpc3RlcnMgbWF0Y2ggdGhlIGJhc2VsaW5lIEpJVC4KICAgICBzdGF0aWMgY29u
c3QgR1BSUmVnIGNhY2hlZFJlc3VsdFJlZ2lzdGVyID0gcmVnVDA7CkBAIC00ODgsOCArNDkyLDEz
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdW5zaWduZWQgdG9JbmRleChHUFJSZWcgcmVnKQogICAg
IHsKICAgICAgICAgQVNTRVJUKHJlZyAhPSBJbnZhbGlkR1BSUmVnKTsKLSAgICAgICAgQVNTRVJU
KHJlZyA8IDE2KTsKLSAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGluZGV4Rm9yUmVnaXN0
ZXJbMTZdID0geyAwLCAxLCAyLCA4LCAzLCA3LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwg
NCwgNSwgNiwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxp
ZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKKyAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGludD4o
cmVnKSA8IDE2KTsKKyAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGluZGV4Rm9yUmVnaXN0
ZXJbMTZdID0KKyNpZiBDUFUoQVJNX1RIVU1CMikKKyAgICAgICAgICAgIHsgMCwgMSwgMiwgOCwg
MywgOSwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIDQsIDUsIDYsIDcsIEludmFsaWRJbmRl
eCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCB9OworI2Vsc2UKKyAg
ICAgICAgICAgIHsgMCwgMSwgMiwgOCwgMywgOSwgSW52YWxpZEluZGV4LCA3LCA0LCA1LCA2LCBJ
bnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIElu
dmFsaWRJbmRleCB9OworI2VuZGlmCiAgICAgICAgIHVuc2lnbmVkIHJlc3VsdCA9IGluZGV4Rm9y
UmVnaXN0ZXJbcmVnXTsKICAgICAgICAgQVNTRVJUKHJlc3VsdCAhPSBJbnZhbGlkSW5kZXgpOwog
ICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtNDk4LDcgKzUwNyw3IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgY29uc3QgY2hhciogZGVidWdOYW1lKEdQUlJlZyByZWcpCiAgICAgewogICAgICAgICBB
U1NFUlQocmVnICE9IEludmFsaWRHUFJSZWcpOwotICAgICAgICBBU1NFUlQocmVnIDwgMTYpOwor
ICAgICAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8aW50PihyZWcpIDwgMTYpOwogICAgICAgICBzdGF0
aWMgY29uc3QgY2hhciogbmFtZUZvclJlZ2lzdGVyWzE2XSA9IHsKICAgICAgICAgICAgICJyMCIs
ICJyMSIsICJyMiIsICJyMyIsCiAgICAgICAgICAgICAicjQiLCAicjUiLCAicjYiLCAicjciLApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDb2RlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENvZGUuY3BwCShyZXZpc2lvbiAxNTkxNjgp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENvZGUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNiw4ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSklUQ29k
ZS5oIgogCisjaW5jbHVkZSAiTExJbnRUaHVua3MuaCIKICNpbmNsdWRlICJPcGVyYXRpb25zLmgi
Ci0jaW5jbHVkZSAiVGh1bmtHZW5lcmF0b3JzLmgiCiAjaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFt
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDYsNyArNDYsNyBAQCBKU1ZhbHVlIEpJVENvZGU6
OmV4ZWN1dGUoSlNTdGFjayogc3RhY2ssCiB7CiAgICAgVU5VU0VEX1BBUkFNKHN0YWNrKTsKIAot
ICAgIEpTVmFsdWUgcmVzdWx0ID0gSlNWYWx1ZTo6ZGVjb2RlKHZtLT5jYWxsSmF2YVNjcmlwdEpJ
VEZ1bmN0aW9uKGV4ZWN1dGFibGVBZGRyZXNzKCksIGNhbGxGcmFtZSkpOworICAgIEpTVmFsdWUg
cmVzdWx0ID0gSlNWYWx1ZTo6ZGVjb2RlKGNhbGxUb0phdmFTY3JpcHQoZXhlY3V0YWJsZUFkZHJl
c3MoKSwgY2FsbEZyYW1lKSk7CiAgICAgcmV0dXJuIHZtLT5leGNlcHRpb24oKSA/IGpzTnVsbCgp
IDogcmVzdWx0OwogfQogI2VuZGlmCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VEV4Y2VwdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklURXhjZXB0aW9ucy5jcHAJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklURXhjZXB0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcg
QEAKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgogI2lu
Y2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKyNpbmNsdWRlICJMTEludFRodW5rcy5oIgogI2luY2x1ZGUg
IlZNLmgiCiAjaW5jbHVkZSAiT3BlcmF0aW9ucy5oIgogCkBAIC00OSw3ICs1MCw3IEBAIHZvaWQg
Z2VuZXJpY1Vud2luZChWTSogdm0sIEV4ZWNTdGF0ZSogY2EKICAgICAgICAgY2F0Y2hQQ0Zvcklu
dGVycHJldGVyID0gJmNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPmluc3RydWN0aW9ucygpW2hhbmRs
ZXItPnRhcmdldF07CiAgICAgICAgIGNhdGNoUm91dGluZSA9IEV4ZWN1dGFibGVCYXNlOjpjYXRj
aFJvdXRpbmVGb3IoaGFuZGxlciwgY2F0Y2hQQ0ZvckludGVycHJldGVyKTsKICAgICB9IGVsc2UK
LSAgICAgICAgY2F0Y2hSb3V0aW5lID0gdm0tPmdldENUSVN0dWIodGhyb3dOb3RDYXVnaHQpLmNv
ZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpOworICAgICAgICBjYXRjaFJvdXRpbmUgPSBGdW5jdGlv
blB0cihMTEludDo6Z2V0Q29kZVB0cihyZXR1cm5Gcm9tSmF2YVNjcmlwdCkpLnZhbHVlKCk7CiAg
ICAgCiAgICAgdm0tPmNhbGxGcmFtZUZvclRocm93ID0gY2FsbEZyYW1lOwogICAgIHZtLT50YXJn
ZXRNYWNoaW5lUENGb3JUaHJvdyA9IGNhdGNoUm91dGluZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAJKHJldmlzaW9uIDE1OTE2OCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTYsMjc3ICs1Niw2IEBAIGlubGluZSB2b2lkIGVtaXRQb2ludGVyVmFsaWRhdGlv
bihDQ2FsbEgKICNlbmRpZgogfQogCi1zdGF0aWMgdm9pZCByZXR1cm5Gcm9tSmF2YVNjcmlwdChD
Q2FsbEhlbHBlcnMmIGppdCkKLXsKLSNpZiBDUFUoWDg2XzY0KQotI2lmIE9TKFdJTkRPV1MpCi0g
ICAgLy8gSklUIG9wZXJhdGlvbnMgY2FuIHVzZSB1cCB0byA2IGFyZ3MgKDQgaW4gcmVnaXN0ZXJz
IGFuZCAyIG9uIHRoZSBzdGFjaykuCi0gICAgLy8gSW4gYWRkaXRpb24sIFg4Nl82NCBBQkkgc3Bl
Y2lmaWVzIHRoYXQgdGhlIHdvcnNlIGNhc2Ugc3RhY2sgYWxpZ25tZW50Ci0gICAgLy8gcmVxdWly
ZW1lbnQgaXMgMzIgYnl0ZXMuIEJhc2VkIG9uIHRoZXNlIGZhY3RvcnMsIHdlIG5lZWQgdG8gcGFk
IHRoZSBzdGFjawotICAgIC8vIGFuZCBhZGRpdGlvbmFsIDQwIGJ5dGVzLgotIyAgIGRlZmluZSBF
WFRSQV9TVEFDS19TSVpFICAgICAgICAgICAgICA0MAotICAgIGppdC5hZGRQdHIoQ0NhbGxIZWxw
ZXJzOjpUcnVzdGVkSW1tMzIoOCksIFg4NlJlZ2lzdGVyczo6ZXNwKTsKLSNlbHNlCi0gICAgLy8g
V2UgZG9uJ3QgbmVlZCBleHRyYSBzdGFjayBzcGFjZSBmb3Igb3V0LWdvaW5nIGFyZ3MsIGJ1dCB3
ZSBuZWVkIHRvIGFsaWduIHRoZQotICAgIC8vIHN0YWNrIHRvIDMyIGJ5dGUgYWxpZ25tZW50LCB0
aGVyZWZvcmUgYWRkIDggYnl0ZXMgdG8gdGhlIHN0YWNrLgotIyAgIGRlZmluZSBFWFRSQV9TVEFD
S19TSVpFICAgICAgICAgICAgICA4Ci0gICAgaml0LmFkZFB0cihDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW0zMihFWFRSQV9TVEFDS19TSVpFKSwgWDg2UmVnaXN0ZXJzOjplc3ApOwotI2VuZGlmCi0K
LSAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6ZWJ4KTsKLSAgICBqaXQucG9wKFg4NlJlZ2lzdGVy
czo6cjE1KTsKLSAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6cjE0KTsKLSAgICBqaXQucG9wKFg4
NlJlZ2lzdGVyczo6cjEzKTsKLSAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6cjEyKTsKLSAgICBq
aXQucG9wKFg4NlJlZ2lzdGVyczo6ZWJwKTsKLSNlbGlmIENQVShYODYpCi0gICAgLy8gSklUIE9w
ZXJhdGlvbiBjYW4gdXNlIHVwIHRvIDYgYXJndW1lbnRzIHJpZ2h0IG5vdy4gU28sIHdlIG5lZWQg
dG8KLSAgICAvLyByZXNlcnZlIHNwYWNlIGluIHRoaXMgc3RhY2sgZnJhbWUgZm9yIHRoZSBvdXQt
Z29pbmcgYXJncy4gVG8gZW5zdXJlIHRoYXQKLSAgICAvLyB0aGUgc3RhY2sgcmVtYWlucyBhbGln
bmVkIG9uIGFuIDE2IGJ5dGUgYm91bmRhcnksIHdlIHJvdW5kIHRoZSBwYWRkaW5nIHVwCi0gICAg
Ly8gYnkgMjggYnl0ZXMuCi0jICAgZGVmaW5lIEVYVFJBX1NUQUNLX1NJWkUgMjgKLQotICAgIGpp
dC5hZGRQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoRVhUUkFfU1RBQ0tfU0laRSksIFg4
NlJlZ2lzdGVyczo6ZXNwKTsKLQotICAgIGppdC5wb3AoWDg2UmVnaXN0ZXJzOjplYngpOwotICAg
IGppdC5wb3AoWDg2UmVnaXN0ZXJzOjplZGkpOwotICAgIGppdC5wb3AoWDg2UmVnaXN0ZXJzOjpl
c2kpOwotICAgIGppdC5wb3AoWDg2UmVnaXN0ZXJzOjplYnApOwotI2VsaWYgQ1BVKEFSTV9UUkFE
SVRJT05BTCkKLSAgICAvLyBKSVQgT3BlcmF0aW9uIGNhbiB1c2UgdXAgdG8gNiBhcmd1bWVudHMg
cmlnaHQgbm93LiBTbywgd2UgbmVlZCB0bwotICAgIC8vIHJlc2VydmUgc3BhY2UgaW4gdGhpcyBz
dGFjayBmcmFtZSBmb3IgdGhlIG91dC1nb2luZyBhcmdzLiBXZSBuZWVkIHRvCi0gICAgLy8gYWRk
IHNwYWNlIGZvciAxNiBtb3JlIGJ5dGVzLgotIyAgIGRlZmluZSBFWFRSQV9TVEFDS19TSVpFICAg
ICAgICAgICAgICAxNgotCi0gICAgaml0LmFkZFB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0z
MihFWFRSQV9TVEFDS19TSVpFKSwgQVJNUmVnaXN0ZXJzOjpzcCk7Ci0KLSAgICBqaXQucG9wKEFS
TVJlZ2lzdGVyczo6bHIpOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyMTEpOwotICAgIGpp
dC5wb3AoQVJNUmVnaXN0ZXJzOjpyMTApOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyOSk7
Ci0gICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnI4KTsKLSAgICBqaXQucG9wKEFSTVJlZ2lzdGVy
czo6cjYpOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyNSk7Ci0gICAgaml0LnBvcChBUk1S
ZWdpc3RlcnM6OnI0KTsKLSNlbGlmIENQVShBUk1fVEhVTUIyKQotICAgIC8vIEpJVCBPcGVyYXRp
b24gY2FuIHVzZSB1cCB0byA2IGFyZ3VtZW50cyByaWdodCBub3cuIFNvLCB3ZSBuZWVkIHRvCi0g
ICAgLy8gcmVzZXJ2ZSBzcGFjZSBpbiB0aGlzIHN0YWNrIGZyYW1lIGZvciB0aGUgb3V0LWdvaW5n
IGFyZ3MuIFRvIGVuc3VyZSB0aGF0Ci0gICAgLy8gdGhlIHN0YWNrIHJlbWFpbnMgYWxpZ25lZCBv
biBhbiAxNiBieXRlIGJvdW5kYXJ5LCB3ZSByb3VuZCB0aGUgcGFkZGluZyB1cAotICAgIC8vIGJ5
IDI4IGJ5dGVzLgotIyAgIGRlZmluZSBFWFRSQV9TVEFDS19TSVpFICAgICAgICAgICAgICAyOAot
Ci0gICAgaml0LmFkZFB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihFWFRSQV9TVEFDS19T
SVpFKSwgQVJNUmVnaXN0ZXJzOjpzcCk7Ci0gICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnIxMSk7
Ci0gICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnIxMCk7Ci0gICAgaml0LnBvcChBUk1SZWdpc3Rl
cnM6OnI5KTsKLSAgICBqaXQucG9wKEFSTVJlZ2lzdGVyczo6cjgpOwotICAgIGppdC5wb3AoQVJN
UmVnaXN0ZXJzOjpyNyk7Ci0gICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnI2KTsKLSAgICBqaXQu
cG9wKEFSTVJlZ2lzdGVyczo6cjUpOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyNCk7Ci0g
ICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OmxyKTsKLSNlbGlmIENQVShBUk02NCkKLSAgICBqaXQu
cG9wKEFSTTY0UmVnaXN0ZXJzOjp4MjgpOwotICAgIGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6Ongy
Nyk7Ci0gICAgaml0LnBvcChBUk02NFJlZ2lzdGVyczo6eDI2KTsKLSAgICBqaXQucG9wKEFSTTY0
UmVnaXN0ZXJzOjp4MjUpOwotICAgIGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6OngyNCk7Ci0gICAg
aml0LnBvcChBUk02NFJlZ2lzdGVyczo6eDIzKTsKLSAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJz
Ojp4MjIpOwotICAgIGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6OngyMSk7Ci0gICAgaml0LnBvcChB
Uk02NFJlZ2lzdGVyczo6eDIwKTsKLSAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJzOjp4MTkpOwot
ICAgIGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6OmxyKTsKLSNlbGlmIENQVShNSVBTKQotIyAgIGRl
ZmluZSBQUkVTRVJWRURfR1BfT0ZGU0VUICAgICAgICAgNjAKLSMgICBkZWZpbmUgUFJFU0VSVkVE
X1MwX09GRlNFVCAgICAgICAgIDY0Ci0jICAgZGVmaW5lIFBSRVNFUlZFRF9TMV9PRkZTRVQgICAg
ICAgICA2OAotIyAgIGRlZmluZSBQUkVTRVJWRURfUzJfT0ZGU0VUICAgICAgICAgNzIKLSMgICBk
ZWZpbmUgUFJFU0VSVkVEX1MzX09GRlNFVCAgICAgICAgIDc2Ci0jICAgZGVmaW5lIFBSRVNFUlZF
RF9TNF9PRkZTRVQgICAgICAgICA4MAotIyAgIGRlZmluZSBQUkVTRVJWRURfUkVUVVJOX0FERFJF
U1NfT0ZGU0VUIDg0Ci0jICAgZGVmaW5lIFBSRVNFUlZFRF9GUF9PRkZTRVQgICAgICAgICA4OAot
IyAgIGRlZmluZSBTVEFDS19MRU5HVEggICAgICAgICAgICAgICAxMTIKLQotICAgIGppdC5sb2Fk
UHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX1Mw
X09GRlNFVCksIE1JUFNSZWdpc3RlcnM6OnMwKTsKLSAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9TMV9PRkZTRVQpLCBNSVBT
UmVnaXN0ZXJzOjpzMSk7Ci0gICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1J
UFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfUzJfT0ZGU0VUKSwgTUlQU1JlZ2lzdGVyczo6czIp
OwotICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpz
cCwgUFJFU0VSVkVEX1MzX09GRlNFVCksIE1JUFNSZWdpc3RlcnM6OnMzKTsKLSAgICBqaXQubG9h
ZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9T
NF9PRkZTRVQpLCBNSVBTUmVnaXN0ZXJzOjpzNCk7Ci0gICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxw
ZXJzOjpBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfUkVUVVJOX0FERFJFU1Nf
T0ZGU0VUKSwgTUlQU1JlZ2lzdGVyczo6cmEpOwotICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVy
czo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX0ZQX09GRlNFVCksIE1JUFNS
ZWdpc3RlcnM6OmZwKTsKLSAgICBqaXQuYWRkUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMy
KFNUQUNLX0xFTkdUSCksIE1JUFNSZWdpc3RlcnM6OnNwKTsKLSNlbGlmIENQVShTSDQpCi0jICAg
ZGVmaW5lIEVYVFJBX1NUQUNLX1NJWkUgMjAKLQotICAgIGppdC5hZGRQdHIoQ0NhbGxIZWxwZXJz
OjpUcnVzdGVkSW1tMzIoRVhUUkFfU1RBQ0tfU0laRSksIFNINFJlZ2lzdGVyczo6c3ApOwotICAg
IGppdC5wb3AoU0g0UmVnaXN0ZXJzOjpyOCk7Ci0gICAgaml0LnBvcChTSDRSZWdpc3RlcnM6OnI5
KTsKLSAgICBqaXQucG9wKFNINFJlZ2lzdGVyczo6cjEwKTsKLSAgICBqaXQucG9wKFNINFJlZ2lz
dGVyczo6cjExKTsKLSAgICBqaXQucG9wKFNINFJlZ2lzdGVyczo6cjEzKTsKLSAgICBqaXQucG9w
KFNINFJlZ2lzdGVyczo6cHIpOwotICAgIGppdC5wb3AoU0g0UmVnaXN0ZXJzOjpmcCk7Ci0jZW5k
aWYKLQotICAgIGppdC5yZXQoKTsKLX0KLQotTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGNhbGxUb0ph
dmFTY3JpcHQoVk0qIHZtKQotewotICAgIC8vIFRoZSBzaWduYXR1cmUgb2YgdGhlIGNvZGUgZ2Vu
ZXJhdGVkIGlzIEVuY29kZWRKU1ZhbHVlIGNhbGxUb0phdmFTY3JpcHQodm9pZCogY29kZSwgQ2Fs
bEZyYW1lKikKLQotICAgIENDYWxsSGVscGVycyBqaXQodm0pOwotCi0jaWYgQ1BVKFg4Nl82NCkK
LSNpZiBPUyhXSU5ET1dTKQotICAgIC8vIER1bXAgcmVnaXN0ZXIgcGFyYW1ldGVycyB0byB0aGVp
ciBob21lIGFkZHJlc3MKLSAgICBqaXQuc3RvcmVQdHIoWDg2UmVnaXN0ZXJzOjpyOSwgQ0NhbGxI
ZWxwZXJzOjpBZGRyZXNzKFg4NlJlZ2lzdGVyczo6ZXNwLCAweDIwKSk7Ci0gICAgaml0LnN0b3Jl
UHRyKFg4NlJlZ2lzdGVyczo6cjgsIENDYWxsSGVscGVyczo6QWRkcmVzcyhYODZSZWdpc3RlcnM6
OmVzcCwgMHgxOCkpOwotICAgIGppdC5zdG9yZVB0cihYODZSZWdpc3RlcnM6OmVkeCwgQ0NhbGxI
ZWxwZXJzOjpBZGRyZXNzKFg4NlJlZ2lzdGVyczo6ZXNwLCAweDEwKSk7Ci0gICAgaml0LnN0b3Jl
UHRyKFg4NlJlZ2lzdGVyczo6ZWN4LCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoWDg2UmVnaXN0ZXJz
Ojplc3AsIDB4OCkpOwotI2VuZGlmIC8vIE9TKFdJTkRPV1MpCi0gICAgaml0LnB1c2goWDg2UmVn
aXN0ZXJzOjplYnApOwotICAgIGppdC5tb3ZlKFg4NlJlZ2lzdGVyczo6ZWJwLCBHUFJJbmZvOjpu
b25BcmdHUFIwKTsKLSAgICBqaXQubW92ZShYODZSZWdpc3RlcnM6OmVzcCwgWDg2UmVnaXN0ZXJz
OjplYnApOwotICAgIGppdC5wdXNoKFg4NlJlZ2lzdGVyczo6cjEyKTsKLSAgICBqaXQucHVzaChY
ODZSZWdpc3RlcnM6OnIxMyk7Ci0gICAgaml0LnB1c2goWDg2UmVnaXN0ZXJzOjpyMTQpOwotICAg
IGppdC5wdXNoKFg4NlJlZ2lzdGVyczo6cjE1KTsKLSAgICBqaXQucHVzaChYODZSZWdpc3RlcnM6
OmVieCk7Ci0KLSAgICBqaXQuc3ViUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKEVYVFJB
X1NUQUNLX1NJWkUpLCBYODZSZWdpc3RlcnM6OmVzcCk7Ci0KLSMgICBkZWZpbmUgQ0FMTEZSQU1F
X1NSQ19SRUcgR1BSSW5mbzo6YXJndW1lbnRHUFIxCi0jICAgZGVmaW5lIFBSRVZJT1VTX0NBTExG
UkFNRV9SRUcgR1BSSW5mbzo6bm9uQXJnR1BSMAotI2VsaWYgQ1BVKFg4NikKLSAgICBqaXQucHVz
aChYODZSZWdpc3RlcnM6OmVicCk7Ci0gICAgaml0Lm1vdmUoWDg2UmVnaXN0ZXJzOjplYnAsIEdQ
UkluZm86Om5vbkFyZ0dQUjApOwotICAgIGppdC5tb3ZlKFg4NlJlZ2lzdGVyczo6ZXNwLCBYODZS
ZWdpc3RlcnM6OmVicCk7Ci0gICAgaml0LnB1c2goWDg2UmVnaXN0ZXJzOjplc2kpOwotICAgIGpp
dC5wdXNoKFg4NlJlZ2lzdGVyczo6ZWRpKTsKLSAgICBqaXQucHVzaChYODZSZWdpc3RlcnM6OmVi
eCk7Ci0KLSAgICBqaXQuc3ViUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKEVYVFJBX1NU
QUNLX1NJWkUpLCBYODZSZWdpc3RlcnM6OmVzcCk7Ci0KLSAgICBqaXQubG9hZDMyKENDYWxsSGVs
cGVyczo6QWRkcmVzcyhYODZSZWdpc3RlcnM6OmVzcCwgRVhUUkFfU1RBQ0tfU0laRSArIDI0KSwg
R1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwotCi0jICAgZGVmaW5lIENBTExGUkFNRV9TUkNf
UkVHIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyCi0jICAgZGVmaW5lIENBTExfQ09ERSBqaXQu
Y2FsbChDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoWDg2UmVnaXN0ZXJzOjplc3AsIEVYVFJBX1NUQUNL
X1NJWkUgKyAyMCkpCi0jICAgZGVmaW5lIFBSRVZJT1VTX0NBTExGUkFNRV9SRUcgR1BSSW5mbzo6
bm9uQXJnR1BSMAotI2VsaWYgQ1BVKEFSTV9UUkFESVRJT05BTCkKLSAgICBqaXQucHVzaChBUk1S
ZWdpc3RlcnM6OnI0KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI1KTsKLSAgICBqaXQu
cHVzaChBUk1SZWdpc3RlcnM6OnI2KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI4KTsK
LSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI5KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3Rl
cnM6OnIxMCk7Ci0gICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyMTEpOwotICAgIGppdC5wdXNo
KEFSTVJlZ2lzdGVyczo6bHIpOwotICAgIGppdC5tb3ZlKEFSTVJlZ2lzdGVyczo6cjExLCBHUFJJ
bmZvOjpub25BcmdHUFIwKTsKLSAgICBqaXQuc3ViUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZElt
bTMyKEVYVFJBX1NUQUNLX1NJWkUpLCBBUk1SZWdpc3RlcnM6OnNwKTsKLQotIyAgIGRlZmluZSBD
QUxMRlJBTUVfU1JDX1JFRyBHUFJJbmZvOjphcmd1bWVudEdQUjEKLSMgICBkZWZpbmUgUFJFVklP
VVNfQ0FMTEZSQU1FX1JFRyBHUFJJbmZvOjpub25BcmdHUFIwCi0jZWxpZiBDUFUoQVJNX1RIVU1C
MikKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OmxyKTsKLSAgICBqaXQucHVzaChBUk1SZWdp
c3RlcnM6OnI0KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI1KTsKLSAgICBqaXQucHVz
aChBUk1SZWdpc3RlcnM6OnI2KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI3KTsKLSAg
ICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI4KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6
OnI5KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnIxMCk7Ci0gICAgaml0LnB1c2goQVJN
UmVnaXN0ZXJzOjpyMTEpOwotICAgIGppdC5tb3ZlKEFSTVJlZ2lzdGVyczo6cjcsIEdQUkluZm86
Om5vbkFyZ0dQUjApOwotICAgIGppdC5zdWJQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIo
RVhUUkFfU1RBQ0tfU0laRSksIEFSTVJlZ2lzdGVyczo6c3ApOwotCi0jICAgZGVmaW5lIENBTExG
UkFNRV9TUkNfUkVHIEdQUkluZm86OmFyZ3VtZW50R1BSMQotIyAgIGRlZmluZSBQUkVWSU9VU19D
QUxMRlJBTUVfUkVHIEdQUkluZm86Om5vbkFyZ0dQUjAKLSNlbGlmIENQVShBUk02NCkKLSAgICBq
aXQucHVzaChBUk02NFJlZ2lzdGVyczo6bHIpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJz
Ojp4MTkpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjApOwotICAgIGppdC5wdXNo
KEFSTTY0UmVnaXN0ZXJzOjp4MjEpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjIp
OwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjMpOwotICAgIGppdC5wdXNoKEFSTTY0
UmVnaXN0ZXJzOjp4MjQpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjUpOwotICAg
IGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjYpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0
ZXJzOjp4MjcpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjgpOwotICAgIGppdC5w
dXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjkpOwotICAgIGppdC5tb3ZlKEFSTTY0UmVnaXN0ZXJzOjp4
MjksIEdQUkluZm86Om5vbkFyZ0dQUjApOwotCi0jICAgZGVmaW5lIENBTExGUkFNRV9TUkNfUkVH
IEdQUkluZm86OmFyZ3VtZW50R1BSMQotIyAgIGRlZmluZSBQUkVWSU9VU19DQUxMRlJBTUVfUkVH
IEdQUkluZm86Om5vbkFyZ0dQUjAKLSNlbGlmIENQVShNSVBTKQotICAgIGppdC5zdWJQdHIoQ0Nh
bGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoU1RBQ0tfTEVOR1RIKSwgTUlQU1JlZ2lzdGVyczo6c3Ap
OwotICAgIGppdC5zdG9yZVB0cihNSVBTUmVnaXN0ZXJzOjpmcCwgQ0NhbGxIZWxwZXJzOjpBZGRy
ZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfRlBfT0ZGU0VUKSk7Ci0gICAgaml0LnN0
b3JlUHRyKE1JUFNSZWdpc3RlcnM6OnJhLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lz
dGVyczo6c3AsIFBSRVNFUlZFRF9SRVRVUk5fQUREUkVTU19PRkZTRVQpKTsKLSAgICBqaXQuc3Rv
cmVQdHIoTUlQU1JlZ2lzdGVyczo6czQsIENDYWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0
ZXJzOjpzcCwgUFJFU0VSVkVEX1M0X09GRlNFVCkpOwotICAgIGppdC5zdG9yZVB0cihNSVBTUmVn
aXN0ZXJzOjpzMywgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVT
RVJWRURfUzNfT0ZGU0VUKSk7Ci0gICAgaml0LnN0b3JlUHRyKE1JUFNSZWdpc3RlcnM6OnMyLCBD
Q2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9TMl9PRkZT
RVQpKTsKLSAgICBqaXQuc3RvcmVQdHIoTUlQU1JlZ2lzdGVyczo6czEsIENDYWxsSGVscGVyczo6
QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX1MxX09GRlNFVCkpOwotICAgIGpp
dC5zdG9yZVB0cihNSVBTUmVnaXN0ZXJzOjpzMCwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1JUFNS
ZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfUzBfT0ZGU0VUKSk7Ci0jaWYgV1RGX01JUFNfUElDCi0g
ICAgaml0LnN0b3JlUHRyKE1JUFNSZWdpc3RlcnM6OmdwLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Mo
TUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9HUF9PRkZTRVQpKTsKLSNlbmRpZgotICAgIGpp
dC5tb3ZlKE1JUFNSZWdpc3RlcnM6OmZwLCBHUFJJbmZvOjpub25BcmdHUFIwKTsKLQotIyAgIGRl
ZmluZSBDQUxMRlJBTUVfU1JDX1JFRyBHUFJJbmZvOjphcmd1bWVudEdQUjEKLSMgICBkZWZpbmUg
UFJFVklPVVNfQ0FMTEZSQU1FX1JFRyBHUFJJbmZvOjpub25BcmdHUFIwCi0jZWxpZiBDUFUoU0g0
KQotICAgIGppdC5wdXNoKFNINFJlZ2lzdGVyczo6ZnApOwotICAgIGppdC5wdXNoKFNINFJlZ2lz
dGVyczo6cHIpOwotICAgIGppdC5wdXNoKFNINFJlZ2lzdGVyczo6cjEzKTsKLSAgICBqaXQucHVz
aChTSDRSZWdpc3RlcnM6OnIxMSk7Ci0gICAgaml0LnB1c2goU0g0UmVnaXN0ZXJzOjpyMTApOwot
ICAgIGppdC5wdXNoKFNINFJlZ2lzdGVyczo6cjkpOwotICAgIGppdC5wdXNoKFNINFJlZ2lzdGVy
czo6cjgpOwotICAgIGppdC5zdWJQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoRVhUUkFf
U1RBQ0tfU0laRSksIFNINFJlZ2lzdGVyczo6c3ApOwotICAgIGppdC5tb3ZlKFNINFJlZ2lzdGVy
czo6ZnAsIEdQUkluZm86Om5vbkFyZ0dQUjApOwotCi0jICAgZGVmaW5lIENBTExGUkFNRV9TUkNf
UkVHIEdQUkluZm86OmFyZ3VtZW50R1BSMQotIyAgIGRlZmluZSBQUkVWSU9VU19DQUxMRlJBTUVf
UkVHIEdQUkluZm86Om5vbkFyZ0dQUjAKLSNlbmRpZgotCi0gICAgaWYgKENBTExGUkFNRV9TUkNf
UkVHICE9IEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKQotICAgICAgICBqaXQubW92ZShDQUxM
RlJBTUVfU1JDX1JFRywgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwotICAgIGppdC5sb2Fk
UHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciksIEdQ
UkluZm86Om5vbkFyZ0dQUjEpOwotICAgIGppdC5zdG9yZVB0cihQUkVWSU9VU19DQUxMRlJBTUVf
UkVHLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6bm9uQXJnR1BSMSkpOwotCi0jaWYg
VVNFKEpTVkFMVUU2NCkKLSAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NCgw
eGZmZmYwMDAwMDAwMDAwMDBMKSwgR1BSSW5mbzo6dGFnVHlwZU51bWJlclJlZ2lzdGVyKTsKLSAg
ICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NCgweGZmZmYwMDAwMDAwMDAwMDJM
KSwgR1BSSW5mbzo6dGFnTWFza1JlZ2lzdGVyKTsKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChDQUxM
X0NPREUpCi0gICAgQ0FMTF9DT0RFOwotI2Vsc2UKLSAgICBqaXQuY2FsbChHUFJJbmZvOjphcmd1
bWVudEdQUjApOwotI2VuZGlmCi0KLSN1bmRlZiBDQUxMRlJBTUVfU1JDX1JFRwotI3VuZGVmIENB
TExfQ09ERQotI3VuZGVmIFBSRVZJT1VTX0NBTExGUkFNRV9SRUcKLQotICAgIHJldHVybkZyb21K
YXZhU2NyaXB0KGppdCk7Ci0KLSAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKCp2bSwgJmppdCwg
R0xPQkFMX1RIVU5LX0lEKTsKLSAgICByZXR1cm4gRklOQUxJWkVfQ09ERShwYXRjaEJ1ZmZlciwg
KCJDYWxsIHRvIEphdmFTY3JpcHQgdGh1bmsiKSk7Ci19Ci0KLU1hY3JvQXNzZW1ibGVyQ29kZVJl
ZiB0aHJvd05vdENhdWdodChWTSogdm0pCi17Ci0gICAgQ0NhbGxIZWxwZXJzIGppdCh2bSk7Ci0K
LSAgICByZXR1cm5Gcm9tSmF2YVNjcmlwdChqaXQpOwotCi0gICAgTGlua0J1ZmZlciBwYXRjaEJ1
ZmZlcigqdm0sICZqaXQsIEdMT0JBTF9USFVOS19JRCk7Ci0gICAgcmV0dXJuIEZJTkFMSVpFX0NP
REUocGF0Y2hCdWZmZXIsICgiVW5jYXVnaHQgdGhyb3cgdGh1bmsiKSk7Ci19Ci0KIC8vIFdlIHdp
bGwganVtcCBoZXJlIGlmIHRoZSBKSVQgY29kZSB0cmllcyB0byBtYWtlIGEgY2FsbCwgYnV0IHRo
ZQogLy8gbGlua2luZyBoZWxwZXIgKEMrKyBjb2RlKSBkZWNpZGVzIHRvIHRocm93IGFuIGV4Y2Vw
dGlvbiBpbnN0ZWFkLgogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHRocm93RXhjZXB0aW9uRnJvbUNh
bGxTbG93UGF0aEdlbmVyYXRvcihWTSogdm0pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L1RodW5rR2VuZXJhdG9ycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmgJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDkg
KzMxLDYgQEAKICNpZiBFTkFCTEUoSklUKQogbmFtZXNwYWNlIEpTQyB7CiAKLU1hY3JvQXNzZW1i
bGVyQ29kZVJlZiBjYWxsVG9KYXZhU2NyaXB0KFZNKik7Ci1NYWNyb0Fzc2VtYmxlckNvZGVSZWYg
dGhyb3dOb3RDYXVnaHQoVk0qKTsKLQogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHRocm93RXhjZXB0
aW9uRnJvbUNhbGxTbG93UGF0aEdlbmVyYXRvcihWTSopOwogCiBNYWNyb0Fzc2VtYmxlckNvZGVS
ZWYgbGlua0NhbGxUaHVua0dlbmVyYXRvcihWTSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50VGh1bmtzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50VGh1bmtzLmgJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFRodW5rcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw4ICsz
NCwxNCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorY2xhc3MgRXhlY1N0YXRlOwogY2xhc3MgVk07
CiAKK2V4dGVybiAiQyIgeworICAgIEVuY29kZWRKU1ZhbHVlIGNhbGxUb0phdmFTY3JpcHQodm9p
ZCosIEV4ZWNTdGF0ZSopOworICAgIHZvaWQgcmV0dXJuRnJvbUphdmFTY3JpcHQoKTsKK30KKwog
bmFtZXNwYWNlIExMSW50IHsKIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGZ1bmN0aW9uRm9yQ2Fs
bEVudHJ5VGh1bmtHZW5lcmF0b3IoVk0qKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCShyZXZpc2lv
biAxNTkxNjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjMyXzY0LmFzbQkod29ya2luZyBjb3B5KQpAQCAtMTQ5LDYgKzE0OSw3NSBAQCBtYWNybyBj
YWxsU2xvd1BhdGgoc2xvd1BhdGgpCiAgICAgbW92ZSB0MSwgY2ZyCiBlbmQKIAorbWFjcm8gZnVu
Y3Rpb25Qcm9sb2d1ZShleHRyYVN0YWNrU3BhY2UpCisgICAgaWYgWDg2CisgICAgICAgIHB1c2gg
Y2ZyCisgICAgICAgIG1vdmUgc3AsIGNmcgorICAgIGVuZAorICAgIHB1c2hDYWxsZWVTYXZlcwor
ICAgIGlmIEFSTSBvciBBUk12NyBvciBBUk12N19UUkFESVRJT05BTCBvciBNSVBTCisgICAgICAg
IHB1c2ggY2ZyCisgICAgICAgIHB1c2ggbHIKKyAgICBlbmQKKyAgICBzdWJwIGV4dHJhU3RhY2tT
cGFjZSwgc3AKK2VuZAorCittYWNybyBmdW5jdGlvbkVwaWxvZ3VlKGV4dHJhU3RhY2tTcGFjZSkK
KyAgICBhZGRwIGV4dHJhU3RhY2tTcGFjZSwgc3AKKyAgICBpZiBBUk0gb3IgQVJNdjcgb3IgQVJN
djdfVFJBRElUSU9OQUwgb3IgTUlQUworICAgICAgICBwb3AgbHIKKyAgICAgICAgcG9wIGNmcgor
ICAgIGVuZAorICAgIHBvcENhbGxlZVNhdmVzCisgICAgaWYgWDg2CisgICAgICAgIHBvcCBjZnIK
KyAgICBlbmQKK2VuZAorCittYWNybyBkb0NhbGxUb0phdmFTY3JpcHQoKQorICAgIGlmIFg4Ngor
ICAgICAgICBjb25zdCBleHRyYVN0YWNrU3BhY2UgPSAyOAorICAgICAgICBjb25zdCBwcmV2aW91
c0NGUiA9IHQwCisgICAgICAgIGNvbnN0IGVudHJ5ID0gdDUKKyAgICAgICAgY29uc3QgbmV3Q2Fs
bEZyYW1lID0gdDQKKyAgICBlbHNpZiBBUk0gb3IgQVJNdjdfVFJBRElUSU9OQUwKKyAgICAgICAg
Y29uc3QgZXh0cmFTdGFja1NwYWNlID0gMTYKKyAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0
MyAgCisgICAgICAgIGNvbnN0IGVudHJ5ID0gYTAKKyAgICAgICAgY29uc3QgbmV3Q2FsbEZyYW1l
ID0gYTEKKyAgICBlbHNpZiBBUk12NworICAgICAgICBjb25zdCBleHRyYVN0YWNrU3BhY2UgPSAy
OAorICAgICAgICBjb25zdCBwcmV2aW91c0NGUiA9IHQzICAKKyAgICAgICAgY29uc3QgZW50cnkg
PSBhMAorICAgICAgICBjb25zdCBuZXdDYWxsRnJhbWUgPSBhMQorICAgIGVsc2lmIE1JUFMKKyAg
ICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNlID0gMjAKKyAgICAgICAgY29uc3QgcHJldmlvdXND
RlIgPSB0MiAgCisgICAgICAgIGNvbnN0IGVudHJ5ID0gYTAKKyAgICAgICAgY29uc3QgbmV3Q2Fs
bEZyYW1lID0gYTEKKyAgICBlbHNpZiBTSDQKKyAgICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNl
ID0gMjAKKyAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0MyAgCisgICAgICAgIGNvbnN0IGVu
dHJ5ID0gYTAKKyAgICAgICAgY29uc3QgbmV3Q2FsbEZyYW1lID0gYTEKKyAgICBlbmQKKworICAg
IGlmIFg4NgorICAgICAgICBtb3ZlIGNmciwgcHJldmlvdXNDRlIKKyAgICBlbmQKKyAgICBmdW5j
dGlvblByb2xvZ3VlKGV4dHJhU3RhY2tTcGFjZSkKKyAgICBpZiBYODYKKyAgICAgICAgbG9hZHAg
ZXh0cmFTdGFja1NwYWNlKzIwW3NwXSwgZW50cnkKKyAgICAgICAgbG9hZHAgZXh0cmFTdGFja1Nw
YWNlKzI0W3NwXSwgbmV3Q2FsbEZyYW1lCisgICAgZWxzZQorICAgICAgICBtb3ZlIGNmciwgcHJl
dmlvdXNDRlIKKyAgICBlbmQKKyAgICBtYWtlQ2FsbFRvSmF2YVNjcmlwdChlbnRyeSwgbmV3Q2Fs
bEZyYW1lLCBwcmV2aW91c0NGUikKK19yZXR1cm5Gcm9tSmF2YVNjcmlwdDoKKyAgICBmdW5jdGlv
bkVwaWxvZ3VlKGV4dHJhU3RhY2tTcGFjZSkKKyAgICByZXQKK2VuZAorCiAjIERlYnVnZ2luZyBv
cGVyYXRpb24gaWYgeW91J2QgbGlrZSB0byBwcmludCBhbiBvcGVyYW5kIGluIHRoZSBpbnN0cnVj
dGlvbiBzdHJlYW0uIGZyb21XaGVyZQogIyBzaG91bGQgYmUgYW4gaW1tZWRpYXRlIGludGVnZXIg
LSBhbnkgaW50ZWdlciB5b3UgbGlrZTsgdXNlIGl0IHRvIGlkZW50aWZ5IHRoZSBwbGFjZSB5b3Un
cmUKICMgZGVidWdnaW5nIGZyb20uIG9wZXJhbmQgc2hvdWxkIGxpa2V3aXNlIGJlIGFuIGltbWVk
aWF0ZSwgYW5kIHNob3VsZCBpZGVudGlmeSB0aGUgb3BlcmFuZApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20JKHJl
dmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtCSh3b3JraW5nIGNvcHkpCkBAIC04OCw2ICs4OCw1NCBAQCBtYWNybyBj
Q2FsbDQoZnVuY3Rpb24sIGFyZzEsIGFyZzIsIGFyZzMsCiAgICAgZW5kCiBlbmQKIAorbWFjcm8g
ZnVuY3Rpb25Qcm9sb2d1ZShleHRyYVN0YWNrU3BhY2UpCisgICAgaWYgWDg2XzY0CisgICAgICAg
IHB1c2ggY2ZyCisgICAgICAgIG1vdmUgc3AsIGNmcgorICAgIGVsc2lmIEFSTTY0CisgICAgICAg
IHB1c2ggbHIKKyAgICBlbmQKKyAgICBwdXNoQ2FsbGVlU2F2ZXMKKyAgICBpZiBYODZfNjQKKyAg
ICAgICAgc3VicCBleHRyYVN0YWNrU3BhY2UsIHNwCisgICAgZWxzaWYgQVJNNjQKKyAgICAgICAg
cHVzaCBjZnIKKyAgICBlbmQKK2VuZAorCittYWNybyBmdW5jdGlvbkVwaWxvZ3VlKGV4dHJhU3Rh
Y2tTcGFjZSkKKyAgICBpZiBYODZfNjQKKyAgICAgICAgYWRkcCBleHRyYVN0YWNrU3BhY2UsIHNw
CisgICAgZW5kCisgICAgcG9wQ2FsbGVlU2F2ZXMKKyAgICBpZiBYODZfNjQKKyAgICAgICAgcG9w
IGNmcgorICAgIGVsc2lmIEFSTTY0CisgICAgICAgIHBvcCBscgorICAgIGVuZAorZW5kCisKK21h
Y3JvIGRvQ2FsbFRvSmF2YVNjcmlwdCgpCisgICAgaWYgWDg2XzY0CisgICAgICAgIGNvbnN0IGV4
dHJhU3RhY2tTcGFjZSA9IDgKKyAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0MAorICAgICAg
ICBjb25zdCBlbnRyeSA9IHQ1CisgICAgICAgIGNvbnN0IG5ld0NhbGxGcmFtZSA9IHQ0CisgICAg
ZWxzaWYgQVJNNjQKKyAgICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNlID0gMAorICAgICAgICBj
b25zdCBwcmV2aW91c0NGUiA9IHQ0ICAKKyAgICAgICAgY29uc3QgZW50cnkgPSBhMAorICAgICAg
ICBjb25zdCBuZXdDYWxsRnJhbWUgPSBhMQorICAgIGVuZAorCisgICAgbW92ZSBjZnIsIHByZXZp
b3VzQ0ZSCisgICAgZnVuY3Rpb25Qcm9sb2d1ZShleHRyYVN0YWNrU3BhY2UpCisgICAgbWFrZUNh
bGxUb0phdmFTY3JpcHQoZW50cnksIG5ld0NhbGxGcmFtZSwgcHJldmlvdXNDRlIpCitfcmV0dXJu
RnJvbUphdmFTY3JpcHQ6CisgICAgZnVuY3Rpb25FcGlsb2d1ZShleHRyYVN0YWNrU3BhY2UpCisg
ICAgcmV0CitlbmQKKwogbWFjcm8gcHJlcGFyZVN0YXRlRm9yQ0NhbGwoKQogICAgIGxlYXAgW1BC
LCBQQywgOF0sIFBDCiAgICAgbW92ZSBQQiwgdDMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20JKHJldmlzaW9uIDE1OTE2
OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bQkod29ya2luZyBjb3B5KQpAQCAtNDIxLDYgKzQyMSwyMSBAQCBtYWNybyBkb1JldHVybigpCiAg
ICAgcmV0CiBlbmQKIAorbWFjcm8gbWFrZUNhbGxUb0phdmFTY3JpcHQoZW50cnksIG5ld0NhbGxG
cmFtZSwgcHJldmlvdXNDRlIpCisgICAgbW92ZSBuZXdDYWxsRnJhbWUsIGNmcgorICAgIGxvYWRw
IFtjZnJdLCBuZXdDYWxsRnJhbWUKKyAgICBzdG9yZXAgcHJldmlvdXNDRlIsIFtuZXdDYWxsRnJh
bWVdCisgICAgaWYgSlNWQUxVRTY0CisgICAgICAgIG1vdmUgMHhmZmZmMDAwMDAwMDAwMDAwLCBj
c3IxCisgICAgICAgIGFkZHAgMiwgY3NyMSwgY3NyMgorICAgIGVuZAorICAgIGNhbGwgZW50cnkK
K2VuZAorCisjIHN0dWIgdG8gY2FsbCBpbnRvIEphdmFTY3JpcHQKKyMgRW5jb2RlZEpTVmFsdWUg
Y2FsbFRvSmF2YVNjcmlwdCh2b2lkKiBjb2RlLCBSZWdpc3RlciogdG9wT2ZTdGFjaykKK19jYWxs
VG9KYXZhU2NyaXB0OgorICAgIGRvQ2FsbFRvSmF2YVNjcmlwdCgpCiAKICMgSW5kaWNhdGUgdGhl
IGJlZ2lubmluZyBvZiBMTEludC4KIF9sbGludF9iZWdpbjoKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9vZmZsaW5lYXNtL2FybTY0LnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9vZmZsaW5lYXNtL2FybTY0LnJiCShyZXZpc2lvbiAxNTkxNjgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hcm02NC5yYgkod29ya2luZyBjb3B5KQpAQCAtMzgs
NyArMzgsOCBAQCByZXF1aXJlICJyaXNjIgogIwogIyAgeDAgID0+IHJldHVybiB2YWx1ZSwgY2Fj
aGVkIHJlc3VsdCwgZmlyc3QgYXJndW1lbnQsIHQwLCBhMCwgcjAKICMgIHgxICA9PiB0MSwgYTEs
IHIxCi0jICB4MiAgPT4gdDIKKyMgIHgyICA9PiB0MiwgYTIKKyMgIHgzICA9PiBhMwogIyAgeDkg
ID0+IChub25BcmdHUFIxIGluIGJhc2VsaW5lKQogIyB4MTAgID0+IHQ0ICh1bnVzZWQgaW4gYmFz
ZWxpbmUpCiAjIHgxMSAgPT4gdDUgKHVudXNlZCBpbiBiYXNlbGluZSkKQEAgLTQ3LDEwICs0OCw5
IEBAIHJlcXVpcmUgInJpc2MiCiAjIHgxNiAgPT4gc2NyYXRjaAogIyB4MTcgID0+IHNjcmF0Y2gK
ICMgeDIzICA9PiB0MwotIyB4MjUgID0+IGNmcgotIyB4MjYgID0+IHRpbWVvdXQgY2hlY2sgKGku
ZS4gbm90IHRvdWNoZWQgYnkgTExJbnQpCiAjIHgyNyAgPT4gY3NyMSAodGFnVHlwZU51bWJlcikK
ICMgeDI4ICA9PiBjc3IyICh0YWdNYXNrKQorIyB4MjkgID0+IGNmcgogIyAgc3AgID0+IHNwCiAj
ICBsciAgPT4gbHIKICMKQEAgLTEwNiw4ICsxMDYsMTAgQEAgY2xhc3MgUmVnaXN0ZXJJRAogICAg
ICAgICAgICAgYXJtNjRHUFJOYW1lKCd4MCcsIGtpbmQpCiAgICAgICAgIHdoZW4gJ3QxJywgJ2Ex
JywgJ3IxJwogICAgICAgICAgICAgYXJtNjRHUFJOYW1lKCd4MScsIGtpbmQpCi0gICAgICAgIHdo
ZW4gJ3QyJworICAgICAgICB3aGVuICd0MicsICdhMicKICAgICAgICAgICAgIGFybTY0R1BSTmFt
ZSgneDInLCBraW5kKQorICAgICAgICB3aGVuICdhMycKKyAgICAgICAgICAgIGFybTY0R1BSTmFt
ZSgneDMnLCBraW5kKQogICAgICAgICB3aGVuICd0MycKICAgICAgICAgICAgIGFybTY0R1BSTmFt
ZSgneDIzJywga2luZCkKICAgICAgICAgd2hlbiAndDQnCkBAIC01NjcsNiArNTY5LDI4IEBAIGNs
YXNzIEluc3RydWN0aW9uCiAgICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQoInBvcCIsIG9w
ZXJhbmRzLCA6cHRyKQogICAgICAgICB3aGVuICJwdXNoIgogICAgICAgICAgICAgZW1pdEFSTTY0
VW5mbGlwcGVkKCJwdXNoIiwgb3BlcmFuZHMsIDpwdHIpCisgICAgICAgIHdoZW4gInBvcENhbGxl
ZVNhdmVzIgorICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwb3AiLCAieDI4IiwgOnB0
cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBlZCgicG9wIiwgIngyNyIsIDpwdHIpCisg
ICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQoInBvcCIsICJ4MjYiLCA6cHRyKQorICAgICAg
ICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwb3AiLCAieDI1IiwgOnB0cikKKyAgICAgICAgICAg
IGVtaXRBUk02NFVuZmxpcHBlZCgicG9wIiwgIngyNCIsIDpwdHIpCisgICAgICAgICAgICBlbWl0
QVJNNjRVbmZsaXBwZWQoInBvcCIsICJ4MjMiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0
VW5mbGlwcGVkKCJwb3AiLCAieDIyIiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxp
cHBlZCgicG9wIiwgIngyMSIsIDpwdHIpCisgICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQo
InBvcCIsICJ4MjAiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwb3Ai
LCAieDE5IiwgOnB0cikKKyAgICAgICAgd2hlbiAicHVzaENhbGxlZVNhdmVzIgorICAgICAgICAg
ICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwdXNoIiwgIngxOSIsIDpwdHIpCisgICAgICAgICAgICBl
bWl0QVJNNjRVbmZsaXBwZWQoInB1c2giLCAieDIwIiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRB
Uk02NFVuZmxpcHBlZCgicHVzaCIsICJ4MjEiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0
VW5mbGlwcGVkKCJwdXNoIiwgIngyMiIsIDpwdHIpCisgICAgICAgICAgICBlbWl0QVJNNjRVbmZs
aXBwZWQoInB1c2giLCAieDIzIiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBl
ZCgicHVzaCIsICJ4MjQiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJw
dXNoIiwgIngyNSIsIDpwdHIpCisgICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQoInB1c2gi
LCAieDI2IiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBlZCgicHVzaCIsICJ4
MjciLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwdXNoIiwgIngyOCIs
IDpwdHIpCiAgICAgICAgIHdoZW4gIm1vdmUiCiAgICAgICAgICAgICBpZiBvcGVyYW5kc1swXS5p
bW1lZGlhdGU/CiAgICAgICAgICAgICAgICAgZW1pdEFSTTY0TW92ZUltbWVkaWF0ZShvcGVyYW5k
c1swXS52YWx1ZSwgb3BlcmFuZHNbMV0pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvb2Zm
bGluZWFzbS9hcm0ucmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxp
bmVhc20vYXJtLnJiCShyZXZpc2lvbiAxNTkxNjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
b2ZmbGluZWFzbS9hcm0ucmIJKHdvcmtpbmcgY29weSkKQEAgLTk3LDcgKzk3LDkgQEAgY2xhc3Mg
UmVnaXN0ZXJJRAogICAgICAgICB3aGVuICJ0MyIKICAgICAgICAgICAgICJyNCIKICAgICAgICAg
d2hlbiAidDQiCi0gICAgICAgICAgICAicjEwIgorICAgICAgICAgICAgInI4IgorICAgICAgICB3
aGVuICJ0NSIKKyAgICAgICAgICAgICJyOSIKICAgICAgICAgd2hlbiAiY2ZyIgogICAgICAgICAg
ICAgaXNBUk12NyA/ICAicjciIDogInIxMSIKICAgICAgICAgd2hlbiAibHIiCkBAIC00NTEsOSAr
NDUzLDIxIEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAgICAgICAjIEZJWE1FOiBlaXRoZXIg
c3VwcG9ydCB0aGlzIG9yIHJlbW92ZSBpdC4KICAgICAgICAgICAgIHJhaXNlICJBUk0gZG9lcyBu
b3Qgc3VwcG9ydCB0aGlzIG9wY29kZSB5ZXQsICN7Y29kZU9yaWdpbn0iCiAgICAgICAgIHdoZW4g
InBvcCIKLSAgICAgICAgICAgICRhc20ucHV0cyAicG9wICN7b3BlcmFuZHNbMF0uYXJtT3BlcmFu
ZH0iCisgICAgICAgICAgICAkYXNtLnB1dHMgInBvcCB7ICN7b3BlcmFuZHNbMF0uYXJtT3BlcmFu
ZH0gfSIKICAgICAgICAgd2hlbiAicHVzaCIKLSAgICAgICAgICAgICRhc20ucHV0cyAicHVzaCAj
e29wZXJhbmRzWzBdLmFybU9wZXJhbmR9IgorICAgICAgICAgICAgJGFzbS5wdXRzICJwdXNoIHsg
I3tvcGVyYW5kc1swXS5hcm1PcGVyYW5kfSB9IgorICAgICAgICB3aGVuICJwb3BDYWxsZWVTYXZl
cyIKKyAgICAgICAgICAgIGlmIGlzQVJNdjcKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInBv
cCB7cjQtcjYsIHI4LXIxMX0iICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgICRhc20ucHV0cyAicG9wIHtyNC1yMTB9IgorICAgICAgICAgICAgZW5kCisg
ICAgICAgIHdoZW4gInB1c2hDYWxsZWVTYXZlcyIKKyAgICAgICAgICAgIGlmIGlzQVJNdjcKKyAg
ICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2gge3I0LXI2LCByOC1yMTF9IgorICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICRhc20ucHV0cyAicHVzaCB7cjQtcjEwfSIKKyAgICAg
ICAgICAgIGVuZAogICAgICAgICB3aGVuICJtb3ZlIgogICAgICAgICAgICAgaWYgb3BlcmFuZHNb
MF0uaW1tZWRpYXRlPwogICAgICAgICAgICAgICAgIGFybU1vdmVJbW1lZGlhdGUob3BlcmFuZHNb
MF0udmFsdWUsIG9wZXJhbmRzWzFdKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxp
bmVhc20vaW5zdHJ1Y3Rpb25zLnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9vZmZsaW5lYXNtL2luc3RydWN0aW9ucy5yYgkocmV2aXNpb24gMTU5MTY4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vaW5zdHJ1Y3Rpb25zLnJiCSh3b3JraW5nIGNvcHkp
CkBAIC0yNDksNiArMjQ5LDggQEAgTUFDUk9fSU5TVFJVQ1RJT05TID0KICAgICAgImJueiIsCiAg
ICAgICJsZWFpIiwKICAgICAgImxlYXAiLAorICAgICAicHVzaENhbGxlZVNhdmVzIiwKKyAgICAg
InBvcENhbGxlZVNhdmVzIgogICAgIF0KIAogWDg2X0lOU1RSVUNUSU9OUyA9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9taXBzLnJiCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL21pcHMucmIJKHJldmlzaW9uIDE1OTE2OCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL21pcHMucmIJKHdvcmtpbmcgY29weSkK
QEAgLTgyLDYgKzgyLDEwIEBAIGNsYXNzIFJlZ2lzdGVySUQKICAgICAgICAgICAgICIkYTAiCiAg
ICAgICAgIHdoZW4gImExIgogICAgICAgICAgICAgIiRhMSIKKyAgICAgICAgd2hlbiAiYTIiCisg
ICAgICAgICAgICAiJGEyIgorICAgICAgICB3aGVuICJhMyIKKyAgICAgICAgICAgICIkYTMiCiAg
ICAgICAgIHdoZW4gInIwIiwgInQwIgogICAgICAgICAgICAgIiR2MCIKICAgICAgICAgd2hlbiAi
cjEiLCAidDEiCkBAIC03OTIsNiArNzk2LDIwIEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAg
IHdoZW4gInB1c2giCiAgICAgICAgICAgICAkYXNtLnB1dHMgImFkZGl1ICRzcCwgJHNwLCAtNCIK
ICAgICAgICAgICAgICRhc20ucHV0cyAic3cgI3tvcGVyYW5kc1swXS5taXBzT3BlcmFuZH0sIDAo
JHNwKSIKKyAgICAgICAgd2hlbiAicG9wQ2FsbGVlU2F2ZXMiCisgICAgICAgICAgICAkYXNtLnB1
dHMgImx3ICQxNiwgMCgkc3ApIgorICAgICAgICAgICAgJGFzbS5wdXRzICJsdyAkMTcsIDQoJHNw
KSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibHcgJDE4LCA4KCRzcCkiCisgICAgICAgICAgICAk
YXNtLnB1dHMgImx3ICQxOSwgMTIoJHNwKSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibHcgJDIw
LCAxNigkc3ApIgorICAgICAgICAgICAgJGFzbS5wdXRzICJhZGRpdSAkc3AsICRzcCwgMjAiCisg
ICAgICAgIHdoZW4gInB1c2hDYWxsZWVTYXZlcyIKKyAgICAgICAgICAgICRhc20ucHV0cyAiYWRk
aXUgJHNwLCAkc3AsIC0yMCIKKyAgICAgICAgICAgICRhc20ucHV0cyAic3cgJDIwLCAxNigkc3Ap
IgorICAgICAgICAgICAgJGFzbS5wdXRzICJzdyAkMTksIDEyKCRzcCkiCisgICAgICAgICAgICAk
YXNtLnB1dHMgInN3ICQxOCwgOCgkc3ApIgorICAgICAgICAgICAgJGFzbS5wdXRzICJzdyAkMTcs
IDQoJHNwKSIKKyAgICAgICAgICAgICRhc20ucHV0cyAic3cgJDE2LCAwKCRzcCkiCiAgICAgICAg
IHdoZW4gIm1vdmUiLCAic3hpMnAiLCAienhpMnAiCiAgICAgICAgICAgICBpZiBvcGVyYW5kc1sw
XS5pc19hPyBJbW1lZGlhdGUKICAgICAgICAgICAgICAgICBtaXBzTW92ZUltbWVkaWF0ZShvcGVy
YW5kc1swXS52YWx1ZSwgb3BlcmFuZHNbMV0pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
b2ZmbGluZWFzbS9yZWdpc3RlcnMucmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL29mZmxpbmVhc20vcmVnaXN0ZXJzLnJiCShyZXZpc2lvbiAxNTkxNjgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9yZWdpc3RlcnMucmIJKHdvcmtpbmcgY29weSkKQEAg
LTMwLDE5ICszMCwyMSBAQCBHUFJTID0KICAgICAgInQyIiwKICAgICAgInQzIiwKICAgICAgInQ0
IiwKKyAgICAgInQ1IiwKICAgICAgImNmciIsCiAgICAgICJhMCIsCiAgICAgICJhMSIsCisgICAg
ICJhMiIsCisgICAgICJhMyIsCiAgICAgICJyMCIsCiAgICAgICJyMSIsCiAgICAgICJzcCIsCiAg
ICAgICJsciIsCiAgICAgIAogICAgICAjIDY0LWJpdCBvbmx5IHJlZ2lzdGVyczoKLSAgICAgInQ1
IiwKLSAgICAgInQ2IiwgICMgcjEwCi0gICAgICJjc3IxIiwgICMgcjE0LCB0YWcgdHlwZSBudW1i
ZXIgcmVnaXN0ZXIKLSAgICAgImNzcjIiICAgIyByMTUsIHRhZyBtYXNrIHJlZ2lzdGVyCisgICAg
ICJ0NiIsCisgICAgICJjc3IxIiwgICMgdGFnIHR5cGUgbnVtYmVyIHJlZ2lzdGVyCisgICAgICJj
c3IyIiAgICMgdGFnIG1hc2sgcmVnaXN0ZXIKICAgICBdCiAKIEZQUlMgPQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vc2g0LnJiCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3NoNC5yYgkocmV2aXNpb24gMTU5MTY4KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vc2g0LnJiCSh3b3JraW5nIGNvcHkpCkBAIC02
MSw2ICs2MSwxMCBAQCBjbGFzcyBSZWdpc3RlcklECiAgICAgICAgICAgICAicjQiCiAgICAgICAg
IHdoZW4gImExIgogICAgICAgICAgICAgInI1IgorICAgICAgICB3aGVuICJhMiIKKyAgICAgICAg
ICAgICJyNiIKKyAgICAgICAgd2hlbiAiYTMiCisgICAgICAgICAgICAicjciCiAgICAgICAgIHdo
ZW4gInQwIgogICAgICAgICAgICAgInIwIgogICAgICAgICB3aGVuICJ0MSIKQEAgLTcwLDcgKzc0
LDkgQEAgY2xhc3MgUmVnaXN0ZXJJRAogICAgICAgICB3aGVuICJ0MyIKICAgICAgICAgICAgICJy
MTAiCiAgICAgICAgIHdoZW4gInQ0IgotICAgICAgICAgICAgInI2IgorICAgICAgICAgICAgInI0
IgorICAgICAgICB3aGVuICJ0NSIKKyAgICAgICAgICAgICJyNSIKICAgICAgICAgd2hlbiAiY2Zy
IgogICAgICAgICAgICAgInIxNCIKICAgICAgICAgd2hlbiAic3AiCkBAIC05MDUsNiArOTExLDIy
IEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAgICAgICAkYXNtLnB1dHMgImxkcyAje3NoNE9w
ZXJhbmRzKG9wZXJhbmRzKX0sIHByIgogICAgICAgICB3aGVuICJzdHNwciIKICAgICAgICAgICAg
ICRhc20ucHV0cyAic3RzIHByLCAje3NoNE9wZXJhbmRzKG9wZXJhbmRzKX0iCisgICAgICAgIHdo
ZW4gInBvcENhbGxlZVNhdmVzIgorICAgICAgICAgICAgJGFzbS5wdXRzICJtb3YubCBAcjE1Kywg
cjgiCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdi5sIEByMTUrLCByOSIKKyAgICAgICAgICAg
ICRhc20ucHV0cyAibW92LmwgQHIxNSssIHIxMCIKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92
LmwgQHIxNSssIHIxMSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92LmwgQHIxNSssIHIxMyIK
KyAgICAgICAgICAgICRhc20ucHV0cyAibGRzLmwgQHIxNSsscHIiCisgICAgICAgICAgICAkYXNt
LnB1dHMgIm1vdi5sIEByMTUrLCBmcCIKKyAgICAgICAgd2hlbiAicHVzaENhbGxlZVNhdmVzIgor
ICAgICAgICAgICAgJGFzbS5wdXRzICJtb3YubCBmcCwgQC1yMTUiCisgICAgICAgICAgICAkYXNt
LnB1dHMgInN0cy5sIHByLCBALXIxNSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92LmwgcjEz
LCBALXIxNSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92LmwgcjExLCBALXIxNSIKKyAgICAg
ICAgICAgICRhc20ucHV0cyAibW92LmwgcjEwLCBALXIxNSIKKyAgICAgICAgICAgICRhc20ucHV0
cyAibW92LmwgcjksIEAtcjE1IgorICAgICAgICAgICAgJGFzbS5wdXRzICJtb3YubCByOCwgQC1y
MTUiCiAgICAgICAgIHdoZW4gImJyZWFrIgogICAgICAgICAgICAgIyBUaGlzIHNwZWNpYWwgb3Bj
b2RlIGFsd2F5cyBnZW5lcmF0ZXMgYW4gaWxsZWdhbCBpbnN0cnVjdGlvbiBleGNlcHRpb24uCiAg
ICAgICAgICAgICAkYXNtLnB1dHMgIi53b3JkIDB4ZmZmZCIKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9vZmZsaW5lYXNtL3g4Ni5yYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvb2ZmbGluZWFzbS94ODYucmIJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9vZmZsaW5lYXNtL3g4Ni5yYgkod29ya2luZyBjb3B5KQpAQCAtNzQsMTEgKzc0
LDExIEBAIFg2NF9TQ1JBVENIX1JFR0lTVEVSID0gU3BlY2lhbFJlZ2lzdGVyLm4KIGNsYXNzIFJl
Z2lzdGVySUQKICAgICBkZWYgc3VwcG9ydHM4Qml0T25YODYKICAgICAgICAgY2FzZSBuYW1lCi0g
ICAgICAgIHdoZW4gInQwIiwgImEwIiwgInIwIiwgInQxIiwgImExIiwgInIxIiwgInQyIiwgInQz
IgorICAgICAgICB3aGVuICJ0MCIsICJhMCIsICJyMCIsICJ0MSIsICJhMSIsICJyMSIsICJ0MiIs
ICJ0MyIsICJ0NCIsICJ0NSIKICAgICAgICAgICAgIHRydWUKICAgICAgICAgd2hlbiAiY2ZyIiwg
InR0bnIiLCAidG1yIgogICAgICAgICAgICAgZmFsc2UKLSAgICAgICAgd2hlbiAidDQiLCAidDUi
CisgICAgICAgIHdoZW4gInQ2IgogICAgICAgICAgICAgaXNYNjQKICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgcmFpc2UKQEAgLTIwNCw3ICsyMDQsNiBAQCBjbGFzcyBSZWdpc3RlcklECiAgICAg
ICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgIGVuZAogICAgICAgICB3aGVuICJ0NSIKLSAg
ICAgICAgICAgIHJhaXNlICJDYW5ub3QgdXNlICN7bmFtZX0gaW4gMzItYml0IFg4NiBhdCAje2Nv
ZGVPcmlnaW5TdHJpbmd9IiB1bmxlc3MgaXNYNjQKICAgICAgICAgICAgIGNhc2Uga2luZAogICAg
ICAgICAgICAgd2hlbiA6Ynl0ZQogICAgICAgICAgICAgICAgICIlZGlsIgpAQCAtMjEzLDkgKzIx
Miw5IEBAIGNsYXNzIFJlZ2lzdGVySUQKICAgICAgICAgICAgIHdoZW4gOmludAogICAgICAgICAg
ICAgICAgICIlZWRpIgogICAgICAgICAgICAgd2hlbiA6cHRyCi0gICAgICAgICAgICAgICAgIiVy
ZGkiCisgICAgICAgICAgICAgICAgaXNYNjQgPyAiJXJkaSIgOiAiJWVkaSIKICAgICAgICAgICAg
IHdoZW4gOnF1YWQKLSAgICAgICAgICAgICAgICAiJXJkaSIKKyAgICAgICAgICAgICAgICBpc1g2
NCA/ICIlcmRpIiA6IHJhaXNlCiAgICAgICAgICAgICBlbmQKICAgICAgICAgd2hlbiAidDYiCiAg
ICAgICAgICAgICByYWlzZSAiQ2Fubm90IHVzZSAje25hbWV9IGluIDMyLWJpdCBYODYgYXQgI3tj
b2RlT3JpZ2luU3RyaW5nfSIgdW5sZXNzIGlzWDY0CkBAIC05ODIsNiArOTgxLDMwIEBAIGNsYXNz
IEluc3RydWN0aW9uCiAgICAgICAgICAgICAkYXNtLnB1dHMgInBvcCAje29wZXJhbmRzWzBdLng4
Nk9wZXJhbmQoOnB0cil9IgogICAgICAgICB3aGVuICJwdXNoIgogICAgICAgICAgICAgJGFzbS5w
dXRzICJwdXNoICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6cHRyKX0iCisgICAgICAgIHdoZW4g
InBvcENhbGxlZVNhdmVzIgorICAgICAgICAgICAgaWYgaXNYNjQKKyAgICAgICAgICAgICAgICAk
YXNtLnB1dHMgInBvcCAlZWJ4IgorICAgICAgICAgICAgICAgICRhc20ucHV0cyAicG9wICVyMTUi
CisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJwb3AgJXIxNCIKKyAgICAgICAgICAgICAgICAk
YXNtLnB1dHMgInBvcCAlcjEzIgorICAgICAgICAgICAgICAgICRhc20ucHV0cyAicG9wICVyMTIi
CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJwb3AgJWVieCIK
KyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInBvcCAlZWRpIgorICAgICAgICAgICAgICAgICRh
c20ucHV0cyAicG9wICVlc2kiCisgICAgICAgICAgICBlbmQKKyAgICAgICAgd2hlbiAicHVzaENh
bGxlZVNhdmVzIgorICAgICAgICAgICAgaWYgaXNYNjQKKyAgICAgICAgICAgICAgICAkYXNtLnB1
dHMgInB1c2ggJXIxMiIKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2ggJXIxMyIKKyAg
ICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2ggJXIxNCIKKyAgICAgICAgICAgICAgICAkYXNt
LnB1dHMgInB1c2ggJXIxNSIKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2ggJWVieCIK
KyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2ggJWVzaSIK
KyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2ggJWVkaSIKKyAgICAgICAgICAgICAgICAk
YXNtLnB1dHMgInB1c2ggJWVieCIKKyAgICAgICAgICAgIGVuZAogICAgICAgICB3aGVuICJtb3Zl
IgogICAgICAgICAgICAgaGFuZGxlTW92ZQogICAgICAgICB3aGVuICJzeGkycSIKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU3LDgg
KzI1Nyw2IEBAIFZNOjpWTShWTVR5cGUgdm1UeXBlLCBIZWFwVHlwZSBoZWFwVHlwZSkKIAogI2lm
IEVOQUJMRShKSVQpCiAgICAgaml0U3R1YnMgPSBhZG9wdFB0cihuZXcgSklUVGh1bmtzKCkpOwot
Ci0gICAgY2FsbEphdmFTY3JpcHRKSVRGdW5jdGlvbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Q2FsbEph
dmFTY3JpcHRKSVRGdW5jdGlvbj4oZ2V0Q1RJU3R1YihjYWxsVG9KYXZhU2NyaXB0KS5jb2RlKCku
ZXhlY3V0YWJsZUFkZHJlc3MoKSk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShGVExfSklUKQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCShyZXZpc2lvbiAxNTkxNjgpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMjksMTAg
KzMyOSw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgcmV0dXJuIGppdFN0dWJzLT5j
dGlTdHViKHRoaXMsIGdlbmVyYXRvcik7CiAgICAgICAgIH0KICAgICAgICAgTmF0aXZlRXhlY3V0
YWJsZSogZ2V0SG9zdEZ1bmN0aW9uKE5hdGl2ZUZ1bmN0aW9uLCBJbnRyaW5zaWMpOwotCi0gICAg
ICAgIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUoKkNhbGxKYXZhU2NyaXB0SklURnVuY3Rpb24pKHZv
aWQgKiwgRXhlY1N0YXRlKik7Ci0KLSAgICAgICAgQ2FsbEphdmFTY3JpcHRKSVRGdW5jdGlvbiBj
YWxsSmF2YVNjcmlwdEpJVEZ1bmN0aW9uOwogI2VuZGlmCiAjaWYgRU5BQkxFKEZUTF9KSVQpCiAg
ICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxGVEw6OlRodW5rcz4gZnRsVGh1bmtzOwo=
</data>
<flag name="commit-queue"
          id="239786"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216760</attachid>
            <date>2013-11-12 18:16:47 -0800</date>
            <delta_ts>2013-11-13 09:47:45 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>124251-2.patch</filename>
            <type>text/plain</type>
            <size>34817</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU5MTY4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBA
CisyMDEzLTExLTEyICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENoYW5nZSBjYWxsVG9KYXZhU2NyaXB0IHRodW5rIGludG8gYW4gb2ZmbGluZSBhc3NlbWJs
ZWQgc3R1YgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI0MjUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q2hhbmdlZCBjYWxsVG9KYXZhU2NyaXB0IGFuZCB0aHJvd05vdENhdWdodCBpbnRvIHN0dWJzIGdl
bmVyYXRlZCBieSB0aGUgb2ZmbGluZSBhc3NlbWJsZXIuCisgICAgICAgIEFkZGVkIHBvcENhbGxl
ZVNhdmVzIGFuZCBwdXNoQ2FsbGVlU2F2ZXMgcHNldWRvIG9wcyB0byB0aGUgb2ZmbGluZSBhc3Nl
bWJsZXIgdG8gaGFuZGxlCisgICAgICAgIHRoZSBzYXZpbmcgYW5kIHJlc3RvcmluZyBvZiBjYWxs
ZWUgc2F2ZSByZWdpc3RlcnMuICBGaXhlZCBjYWxsRnJhbWVSZWdpc3RlciBkaWZmZXJlbmNlcwor
ICAgICAgICBiZXR3ZWVuIGFybSB0cmFkaXRpb25hbCAocjExKSBhbmQgYXJtIFRodW1iMiAocjcp
IGluIEdQUkluZm8uaC4gIEFsc28gZml4ZWQgaW1wbGVtZW50YXRpb24KKyAgICAgICAgb2YgcG9w
ICYgcHVzaCBpbiBhcm0ucmIuCisKKyAgICAgICAgKiBkZmcvREZHRHJpdmVyLmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpjb21waWxlSW1wbCk6CisgICAgICAgICogaml0L0dQUkluZm8uaDoKKyAg
ICAgICAgKEpTQzo6R1BSSW5mbzo6dG9JbmRleCk6CisgICAgICAgIChKU0M6OkdQUkluZm86OmRl
YnVnTmFtZSk6CisgICAgICAgICogaml0L0pJVENvZGUuY3BwOgorICAgICAgICAoSlNDOjpKSVRD
b2RlOjpleGVjdXRlKToKKyAgICAgICAgKiBqaXQvSklURXhjZXB0aW9ucy5jcHA6CisgICAgICAg
IChKU0M6OmdlbmVyaWNVbndpbmQpOgorICAgICAgICAqIGppdC9UaHVua0dlbmVyYXRvcnMuY3Bw
OgorICAgICAgICAqIGppdC9UaHVua0dlbmVyYXRvcnMuaDoKKyAgICAgICAgKiBsbGludC9MTElu
dFRodW5rcy5oOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOgorICAg
ICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc206CisgICAgICAgICogbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToKKyAgICAgICAgKiBvZmZsaW5lYXNtL2FybS5y
YjoKKyAgICAgICAgKiBvZmZsaW5lYXNtL2FybTY0LnJiOgorICAgICAgICAqIG9mZmxpbmVhc20v
aW5zdHJ1Y3Rpb25zLnJiOgorICAgICAgICAqIG9mZmxpbmVhc20vbWlwcy5yYjoKKyAgICAgICAg
KiBvZmZsaW5lYXNtL3JlZ2lzdGVycy5yYjoKKyAgICAgICAgKiBvZmZsaW5lYXNtL3NoNC5yYjoK
KyAgICAgICAgKiBvZmZsaW5lYXNtL3g4Ni5yYjoKKyAgICAgICAgKiBydW50aW1lL1ZNLmNwcDoK
KyAgICAgICAgKEpTQzo6Vk06OlZNKToKKyAgICAgICAgKiBydW50aW1lL1ZNLmg6CisKIDIwMTMt
MTEtMTIgIEp1bGllbiBCcmlhbmNlYXUgIDxqYnJpYW5jZUBjaXNjby5jb20+CiAKICAgICAgICAg
W3NoNF0gRml4IGxvYWQzMldpdGhVbmFsaWduZWRIYWxmV29yZHMgZnVuY3Rpb24gaW4gYmFzZWxp
bmUgSklULgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEcml2ZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRHJpdmVyLmNwcAkocmV2
aXNpb24gMTU5MTY4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEcml2ZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC03OCw4ICs3OCw2IEBAIHN0YXRpYyBDb21waWxhdGlvblJlc3Vs
dCBjb21waWxlSW1wbCgKICAgICAKICAgICAvLyBNYWtlIHN1cmUgdGhhdCBhbnkgc3R1YnMgdGhh
dCB0aGUgREZHIGlzIGdvaW5nIHRvIHVzZSBhcmUgaW5pdGlhbGl6ZWQuIFdlIHdhbnQgdG8KICAg
ICAvLyBtYWtlIHN1cmUgdGhhdCBhbGwgSklUIGNvZGUgZ2VuZXJhdGlvbiBkb2VzIGZpbmFsaXph
dGlvbiBvbiB0aGUgbWFpbiB0aHJlYWQuCi0gICAgdm0uZ2V0Q1RJU3R1YihjYWxsVG9KYXZhU2Ny
aXB0KTsKLSAgICB2bS5nZXRDVElTdHViKHRocm93Tm90Q2F1Z2h0KTsKICAgICB2bS5nZXRDVElT
dHViKG9zckV4aXRHZW5lcmF0aW9uVGh1bmtHZW5lcmF0b3IpOwogICAgIHZtLmdldENUSVN0dWIo
dGhyb3dFeGNlcHRpb25Gcm9tQ2FsbFNsb3dQYXRoR2VuZXJhdG9yKTsKICAgICB2bS5nZXRDVElT
dHViKGxpbmtDYWxsVGh1bmtHZW5lcmF0b3IpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9HUFJJbmZvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9H
UFJJbmZvLmgJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
R1BSSW5mby5oCSh3b3JraW5nIGNvcHkpCkBAIC00NjAsNyArNDYwLDExIEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q0ID0gQVJNUmVnaXN0ZXJzOjpyODsKICAgICBzdGF0
aWMgY29uc3QgR1BSUmVnIHJlZ1Q1ID0gQVJNUmVnaXN0ZXJzOjpyOTsKICAgICBzdGF0aWMgY29u
c3QgR1BSUmVnIHJlZ1Q2ID0gQVJNUmVnaXN0ZXJzOjpyMTA7Ci0gICAgc3RhdGljIGNvbnN0IEdQ
UlJlZyByZWdUNyA9IEFSTVJlZ2lzdGVyczo6cjU7CisjaWYgQ1BVKEFSTV9USFVNQjIpCisgICAg
c3RhdGljIGNvbnN0IEdQUlJlZyByZWdUNyA9IEFSTVJlZ2lzdGVyczo6cjExOworI2Vsc2UgCisg
ICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdUNyA9IEFSTVJlZ2lzdGVyczo6cjc7CisjZW5kaWYK
ICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q4ID0gQVJNUmVnaXN0ZXJzOjpyMzsKICAgICAv
LyBUaGVzZSByZWdpc3RlcnMgbWF0Y2ggdGhlIGJhc2VsaW5lIEpJVC4KICAgICBzdGF0aWMgY29u
c3QgR1BSUmVnIGNhY2hlZFJlc3VsdFJlZ2lzdGVyID0gcmVnVDA7CkBAIC00ODgsOCArNDkyLDEz
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdW5zaWduZWQgdG9JbmRleChHUFJSZWcgcmVnKQogICAg
IHsKICAgICAgICAgQVNTRVJUKHJlZyAhPSBJbnZhbGlkR1BSUmVnKTsKLSAgICAgICAgQVNTRVJU
KHJlZyA8IDE2KTsKLSAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGluZGV4Rm9yUmVnaXN0
ZXJbMTZdID0geyAwLCAxLCAyLCA4LCAzLCA3LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwg
NCwgNSwgNiwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxp
ZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKKyAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGludD4o
cmVnKSA8IDE2KTsKKyAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGluZGV4Rm9yUmVnaXN0
ZXJbMTZdID0KKyNpZiBDUFUoQVJNX1RIVU1CMikKKyAgICAgICAgICAgIHsgMCwgMSwgMiwgOCwg
MywgOSwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIDQsIDUsIDYsIDcsIEludmFsaWRJbmRl
eCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCB9OworI2Vsc2UKKyAg
ICAgICAgICAgIHsgMCwgMSwgMiwgOCwgMywgOSwgSW52YWxpZEluZGV4LCA3LCA0LCA1LCA2LCBJ
bnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIElu
dmFsaWRJbmRleCB9OworI2VuZGlmCiAgICAgICAgIHVuc2lnbmVkIHJlc3VsdCA9IGluZGV4Rm9y
UmVnaXN0ZXJbcmVnXTsKICAgICAgICAgQVNTRVJUKHJlc3VsdCAhPSBJbnZhbGlkSW5kZXgpOwog
ICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtNDk4LDcgKzUwNyw3IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgY29uc3QgY2hhciogZGVidWdOYW1lKEdQUlJlZyByZWcpCiAgICAgewogICAgICAgICBB
U1NFUlQocmVnICE9IEludmFsaWRHUFJSZWcpOwotICAgICAgICBBU1NFUlQocmVnIDwgMTYpOwor
ICAgICAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8aW50PihyZWcpIDwgMTYpOwogICAgICAgICBzdGF0
aWMgY29uc3QgY2hhciogbmFtZUZvclJlZ2lzdGVyWzE2XSA9IHsKICAgICAgICAgICAgICJyMCIs
ICJyMSIsICJyMiIsICJyMyIsCiAgICAgICAgICAgICAicjQiLCAicjUiLCAicjYiLCAicjciLApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDb2RlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENvZGUuY3BwCShyZXZpc2lvbiAxNTkxNjgp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENvZGUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNiw4ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSklUQ29k
ZS5oIgogCisjaW5jbHVkZSAiTExJbnRUaHVua3MuaCIKICNpbmNsdWRlICJPcGVyYXRpb25zLmgi
Ci0jaW5jbHVkZSAiVGh1bmtHZW5lcmF0b3JzLmgiCiAjaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFt
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDYsNyArNDYsNyBAQCBKU1ZhbHVlIEpJVENvZGU6
OmV4ZWN1dGUoSlNTdGFjayogc3RhY2ssCiB7CiAgICAgVU5VU0VEX1BBUkFNKHN0YWNrKTsKIAot
ICAgIEpTVmFsdWUgcmVzdWx0ID0gSlNWYWx1ZTo6ZGVjb2RlKHZtLT5jYWxsSmF2YVNjcmlwdEpJ
VEZ1bmN0aW9uKGV4ZWN1dGFibGVBZGRyZXNzKCksIGNhbGxGcmFtZSkpOworICAgIEpTVmFsdWUg
cmVzdWx0ID0gSlNWYWx1ZTo6ZGVjb2RlKGNhbGxUb0phdmFTY3JpcHQoZXhlY3V0YWJsZUFkZHJl
c3MoKSwgY2FsbEZyYW1lKSk7CiAgICAgcmV0dXJuIHZtLT5leGNlcHRpb24oKSA/IGpzTnVsbCgp
IDogcmVzdWx0OwogfQogI2VuZGlmCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VEV4Y2VwdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklURXhjZXB0aW9ucy5jcHAJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklURXhjZXB0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcg
QEAKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgogI2lu
Y2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKyNpbmNsdWRlICJMTEludFRodW5rcy5oIgogI2luY2x1ZGUg
IlZNLmgiCiAjaW5jbHVkZSAiT3BlcmF0aW9ucy5oIgogCkBAIC00OSw3ICs1MCw3IEBAIHZvaWQg
Z2VuZXJpY1Vud2luZChWTSogdm0sIEV4ZWNTdGF0ZSogY2EKICAgICAgICAgY2F0Y2hQQ0Zvcklu
dGVycHJldGVyID0gJmNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPmluc3RydWN0aW9ucygpW2hhbmRs
ZXItPnRhcmdldF07CiAgICAgICAgIGNhdGNoUm91dGluZSA9IEV4ZWN1dGFibGVCYXNlOjpjYXRj
aFJvdXRpbmVGb3IoaGFuZGxlciwgY2F0Y2hQQ0ZvckludGVycHJldGVyKTsKICAgICB9IGVsc2UK
LSAgICAgICAgY2F0Y2hSb3V0aW5lID0gdm0tPmdldENUSVN0dWIodGhyb3dOb3RDYXVnaHQpLmNv
ZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpOworICAgICAgICBjYXRjaFJvdXRpbmUgPSBGdW5jdGlv
blB0cihMTEludDo6Z2V0Q29kZVB0cihyZXR1cm5Gcm9tSmF2YVNjcmlwdCkpLnZhbHVlKCk7CiAg
ICAgCiAgICAgdm0tPmNhbGxGcmFtZUZvclRocm93ID0gY2FsbEZyYW1lOwogICAgIHZtLT50YXJn
ZXRNYWNoaW5lUENGb3JUaHJvdyA9IGNhdGNoUm91dGluZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAJKHJldmlzaW9uIDE1OTE2OCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTYsMjc3ICs1Niw2IEBAIGlubGluZSB2b2lkIGVtaXRQb2ludGVyVmFsaWRhdGlv
bihDQ2FsbEgKICNlbmRpZgogfQogCi1zdGF0aWMgdm9pZCByZXR1cm5Gcm9tSmF2YVNjcmlwdChD
Q2FsbEhlbHBlcnMmIGppdCkKLXsKLSNpZiBDUFUoWDg2XzY0KQotI2lmIE9TKFdJTkRPV1MpCi0g
ICAgLy8gSklUIG9wZXJhdGlvbnMgY2FuIHVzZSB1cCB0byA2IGFyZ3MgKDQgaW4gcmVnaXN0ZXJz
IGFuZCAyIG9uIHRoZSBzdGFjaykuCi0gICAgLy8gSW4gYWRkaXRpb24sIFg4Nl82NCBBQkkgc3Bl
Y2lmaWVzIHRoYXQgdGhlIHdvcnNlIGNhc2Ugc3RhY2sgYWxpZ25tZW50Ci0gICAgLy8gcmVxdWly
ZW1lbnQgaXMgMzIgYnl0ZXMuIEJhc2VkIG9uIHRoZXNlIGZhY3RvcnMsIHdlIG5lZWQgdG8gcGFk
IHRoZSBzdGFjawotICAgIC8vIGFuZCBhZGRpdGlvbmFsIDQwIGJ5dGVzLgotIyAgIGRlZmluZSBF
WFRSQV9TVEFDS19TSVpFICAgICAgICAgICAgICA0MAotICAgIGppdC5hZGRQdHIoQ0NhbGxIZWxw
ZXJzOjpUcnVzdGVkSW1tMzIoOCksIFg4NlJlZ2lzdGVyczo6ZXNwKTsKLSNlbHNlCi0gICAgLy8g
V2UgZG9uJ3QgbmVlZCBleHRyYSBzdGFjayBzcGFjZSBmb3Igb3V0LWdvaW5nIGFyZ3MsIGJ1dCB3
ZSBuZWVkIHRvIGFsaWduIHRoZQotICAgIC8vIHN0YWNrIHRvIDMyIGJ5dGUgYWxpZ25tZW50LCB0
aGVyZWZvcmUgYWRkIDggYnl0ZXMgdG8gdGhlIHN0YWNrLgotIyAgIGRlZmluZSBFWFRSQV9TVEFD
S19TSVpFICAgICAgICAgICAgICA4Ci0gICAgaml0LmFkZFB0cihDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW0zMihFWFRSQV9TVEFDS19TSVpFKSwgWDg2UmVnaXN0ZXJzOjplc3ApOwotI2VuZGlmCi0K
LSAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6ZWJ4KTsKLSAgICBqaXQucG9wKFg4NlJlZ2lzdGVy
czo6cjE1KTsKLSAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6cjE0KTsKLSAgICBqaXQucG9wKFg4
NlJlZ2lzdGVyczo6cjEzKTsKLSAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6cjEyKTsKLSAgICBq
aXQucG9wKFg4NlJlZ2lzdGVyczo6ZWJwKTsKLSNlbGlmIENQVShYODYpCi0gICAgLy8gSklUIE9w
ZXJhdGlvbiBjYW4gdXNlIHVwIHRvIDYgYXJndW1lbnRzIHJpZ2h0IG5vdy4gU28sIHdlIG5lZWQg
dG8KLSAgICAvLyByZXNlcnZlIHNwYWNlIGluIHRoaXMgc3RhY2sgZnJhbWUgZm9yIHRoZSBvdXQt
Z29pbmcgYXJncy4gVG8gZW5zdXJlIHRoYXQKLSAgICAvLyB0aGUgc3RhY2sgcmVtYWlucyBhbGln
bmVkIG9uIGFuIDE2IGJ5dGUgYm91bmRhcnksIHdlIHJvdW5kIHRoZSBwYWRkaW5nIHVwCi0gICAg
Ly8gYnkgMjggYnl0ZXMuCi0jICAgZGVmaW5lIEVYVFJBX1NUQUNLX1NJWkUgMjgKLQotICAgIGpp
dC5hZGRQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoRVhUUkFfU1RBQ0tfU0laRSksIFg4
NlJlZ2lzdGVyczo6ZXNwKTsKLQotICAgIGppdC5wb3AoWDg2UmVnaXN0ZXJzOjplYngpOwotICAg
IGppdC5wb3AoWDg2UmVnaXN0ZXJzOjplZGkpOwotICAgIGppdC5wb3AoWDg2UmVnaXN0ZXJzOjpl
c2kpOwotICAgIGppdC5wb3AoWDg2UmVnaXN0ZXJzOjplYnApOwotI2VsaWYgQ1BVKEFSTV9UUkFE
SVRJT05BTCkKLSAgICAvLyBKSVQgT3BlcmF0aW9uIGNhbiB1c2UgdXAgdG8gNiBhcmd1bWVudHMg
cmlnaHQgbm93LiBTbywgd2UgbmVlZCB0bwotICAgIC8vIHJlc2VydmUgc3BhY2UgaW4gdGhpcyBz
dGFjayBmcmFtZSBmb3IgdGhlIG91dC1nb2luZyBhcmdzLiBXZSBuZWVkIHRvCi0gICAgLy8gYWRk
IHNwYWNlIGZvciAxNiBtb3JlIGJ5dGVzLgotIyAgIGRlZmluZSBFWFRSQV9TVEFDS19TSVpFICAg
ICAgICAgICAgICAxNgotCi0gICAgaml0LmFkZFB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0z
MihFWFRSQV9TVEFDS19TSVpFKSwgQVJNUmVnaXN0ZXJzOjpzcCk7Ci0KLSAgICBqaXQucG9wKEFS
TVJlZ2lzdGVyczo6bHIpOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyMTEpOwotICAgIGpp
dC5wb3AoQVJNUmVnaXN0ZXJzOjpyMTApOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyOSk7
Ci0gICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnI4KTsKLSAgICBqaXQucG9wKEFSTVJlZ2lzdGVy
czo6cjYpOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyNSk7Ci0gICAgaml0LnBvcChBUk1S
ZWdpc3RlcnM6OnI0KTsKLSNlbGlmIENQVShBUk1fVEhVTUIyKQotICAgIC8vIEpJVCBPcGVyYXRp
b24gY2FuIHVzZSB1cCB0byA2IGFyZ3VtZW50cyByaWdodCBub3cuIFNvLCB3ZSBuZWVkIHRvCi0g
ICAgLy8gcmVzZXJ2ZSBzcGFjZSBpbiB0aGlzIHN0YWNrIGZyYW1lIGZvciB0aGUgb3V0LWdvaW5n
IGFyZ3MuIFRvIGVuc3VyZSB0aGF0Ci0gICAgLy8gdGhlIHN0YWNrIHJlbWFpbnMgYWxpZ25lZCBv
biBhbiAxNiBieXRlIGJvdW5kYXJ5LCB3ZSByb3VuZCB0aGUgcGFkZGluZyB1cAotICAgIC8vIGJ5
IDI4IGJ5dGVzLgotIyAgIGRlZmluZSBFWFRSQV9TVEFDS19TSVpFICAgICAgICAgICAgICAyOAot
Ci0gICAgaml0LmFkZFB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihFWFRSQV9TVEFDS19T
SVpFKSwgQVJNUmVnaXN0ZXJzOjpzcCk7Ci0gICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnIxMSk7
Ci0gICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnIxMCk7Ci0gICAgaml0LnBvcChBUk1SZWdpc3Rl
cnM6OnI5KTsKLSAgICBqaXQucG9wKEFSTVJlZ2lzdGVyczo6cjgpOwotICAgIGppdC5wb3AoQVJN
UmVnaXN0ZXJzOjpyNyk7Ci0gICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnI2KTsKLSAgICBqaXQu
cG9wKEFSTVJlZ2lzdGVyczo6cjUpOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyNCk7Ci0g
ICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OmxyKTsKLSNlbGlmIENQVShBUk02NCkKLSAgICBqaXQu
cG9wKEFSTTY0UmVnaXN0ZXJzOjp4MjgpOwotICAgIGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6Ongy
Nyk7Ci0gICAgaml0LnBvcChBUk02NFJlZ2lzdGVyczo6eDI2KTsKLSAgICBqaXQucG9wKEFSTTY0
UmVnaXN0ZXJzOjp4MjUpOwotICAgIGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6OngyNCk7Ci0gICAg
aml0LnBvcChBUk02NFJlZ2lzdGVyczo6eDIzKTsKLSAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJz
Ojp4MjIpOwotICAgIGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6OngyMSk7Ci0gICAgaml0LnBvcChB
Uk02NFJlZ2lzdGVyczo6eDIwKTsKLSAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJzOjp4MTkpOwot
ICAgIGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6OmxyKTsKLSNlbGlmIENQVShNSVBTKQotIyAgIGRl
ZmluZSBQUkVTRVJWRURfR1BfT0ZGU0VUICAgICAgICAgNjAKLSMgICBkZWZpbmUgUFJFU0VSVkVE
X1MwX09GRlNFVCAgICAgICAgIDY0Ci0jICAgZGVmaW5lIFBSRVNFUlZFRF9TMV9PRkZTRVQgICAg
ICAgICA2OAotIyAgIGRlZmluZSBQUkVTRVJWRURfUzJfT0ZGU0VUICAgICAgICAgNzIKLSMgICBk
ZWZpbmUgUFJFU0VSVkVEX1MzX09GRlNFVCAgICAgICAgIDc2Ci0jICAgZGVmaW5lIFBSRVNFUlZF
RF9TNF9PRkZTRVQgICAgICAgICA4MAotIyAgIGRlZmluZSBQUkVTRVJWRURfUkVUVVJOX0FERFJF
U1NfT0ZGU0VUIDg0Ci0jICAgZGVmaW5lIFBSRVNFUlZFRF9GUF9PRkZTRVQgICAgICAgICA4OAot
IyAgIGRlZmluZSBTVEFDS19MRU5HVEggICAgICAgICAgICAgICAxMTIKLQotICAgIGppdC5sb2Fk
UHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX1Mw
X09GRlNFVCksIE1JUFNSZWdpc3RlcnM6OnMwKTsKLSAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9TMV9PRkZTRVQpLCBNSVBT
UmVnaXN0ZXJzOjpzMSk7Ci0gICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1J
UFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfUzJfT0ZGU0VUKSwgTUlQU1JlZ2lzdGVyczo6czIp
OwotICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpz
cCwgUFJFU0VSVkVEX1MzX09GRlNFVCksIE1JUFNSZWdpc3RlcnM6OnMzKTsKLSAgICBqaXQubG9h
ZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9T
NF9PRkZTRVQpLCBNSVBTUmVnaXN0ZXJzOjpzNCk7Ci0gICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxw
ZXJzOjpBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfUkVUVVJOX0FERFJFU1Nf
T0ZGU0VUKSwgTUlQU1JlZ2lzdGVyczo6cmEpOwotICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVy
czo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX0ZQX09GRlNFVCksIE1JUFNS
ZWdpc3RlcnM6OmZwKTsKLSAgICBqaXQuYWRkUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMy
KFNUQUNLX0xFTkdUSCksIE1JUFNSZWdpc3RlcnM6OnNwKTsKLSNlbGlmIENQVShTSDQpCi0jICAg
ZGVmaW5lIEVYVFJBX1NUQUNLX1NJWkUgMjAKLQotICAgIGppdC5hZGRQdHIoQ0NhbGxIZWxwZXJz
OjpUcnVzdGVkSW1tMzIoRVhUUkFfU1RBQ0tfU0laRSksIFNINFJlZ2lzdGVyczo6c3ApOwotICAg
IGppdC5wb3AoU0g0UmVnaXN0ZXJzOjpyOCk7Ci0gICAgaml0LnBvcChTSDRSZWdpc3RlcnM6OnI5
KTsKLSAgICBqaXQucG9wKFNINFJlZ2lzdGVyczo6cjEwKTsKLSAgICBqaXQucG9wKFNINFJlZ2lz
dGVyczo6cjExKTsKLSAgICBqaXQucG9wKFNINFJlZ2lzdGVyczo6cjEzKTsKLSAgICBqaXQucG9w
KFNINFJlZ2lzdGVyczo6cHIpOwotICAgIGppdC5wb3AoU0g0UmVnaXN0ZXJzOjpmcCk7Ci0jZW5k
aWYKLQotICAgIGppdC5yZXQoKTsKLX0KLQotTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGNhbGxUb0ph
dmFTY3JpcHQoVk0qIHZtKQotewotICAgIC8vIFRoZSBzaWduYXR1cmUgb2YgdGhlIGNvZGUgZ2Vu
ZXJhdGVkIGlzIEVuY29kZWRKU1ZhbHVlIGNhbGxUb0phdmFTY3JpcHQodm9pZCogY29kZSwgQ2Fs
bEZyYW1lKikKLQotICAgIENDYWxsSGVscGVycyBqaXQodm0pOwotCi0jaWYgQ1BVKFg4Nl82NCkK
LSNpZiBPUyhXSU5ET1dTKQotICAgIC8vIER1bXAgcmVnaXN0ZXIgcGFyYW1ldGVycyB0byB0aGVp
ciBob21lIGFkZHJlc3MKLSAgICBqaXQuc3RvcmVQdHIoWDg2UmVnaXN0ZXJzOjpyOSwgQ0NhbGxI
ZWxwZXJzOjpBZGRyZXNzKFg4NlJlZ2lzdGVyczo6ZXNwLCAweDIwKSk7Ci0gICAgaml0LnN0b3Jl
UHRyKFg4NlJlZ2lzdGVyczo6cjgsIENDYWxsSGVscGVyczo6QWRkcmVzcyhYODZSZWdpc3RlcnM6
OmVzcCwgMHgxOCkpOwotICAgIGppdC5zdG9yZVB0cihYODZSZWdpc3RlcnM6OmVkeCwgQ0NhbGxI
ZWxwZXJzOjpBZGRyZXNzKFg4NlJlZ2lzdGVyczo6ZXNwLCAweDEwKSk7Ci0gICAgaml0LnN0b3Jl
UHRyKFg4NlJlZ2lzdGVyczo6ZWN4LCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoWDg2UmVnaXN0ZXJz
Ojplc3AsIDB4OCkpOwotI2VuZGlmIC8vIE9TKFdJTkRPV1MpCi0gICAgaml0LnB1c2goWDg2UmVn
aXN0ZXJzOjplYnApOwotICAgIGppdC5tb3ZlKFg4NlJlZ2lzdGVyczo6ZWJwLCBHUFJJbmZvOjpu
b25BcmdHUFIwKTsKLSAgICBqaXQubW92ZShYODZSZWdpc3RlcnM6OmVzcCwgWDg2UmVnaXN0ZXJz
OjplYnApOwotICAgIGppdC5wdXNoKFg4NlJlZ2lzdGVyczo6cjEyKTsKLSAgICBqaXQucHVzaChY
ODZSZWdpc3RlcnM6OnIxMyk7Ci0gICAgaml0LnB1c2goWDg2UmVnaXN0ZXJzOjpyMTQpOwotICAg
IGppdC5wdXNoKFg4NlJlZ2lzdGVyczo6cjE1KTsKLSAgICBqaXQucHVzaChYODZSZWdpc3RlcnM6
OmVieCk7Ci0KLSAgICBqaXQuc3ViUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKEVYVFJB
X1NUQUNLX1NJWkUpLCBYODZSZWdpc3RlcnM6OmVzcCk7Ci0KLSMgICBkZWZpbmUgQ0FMTEZSQU1F
X1NSQ19SRUcgR1BSSW5mbzo6YXJndW1lbnRHUFIxCi0jICAgZGVmaW5lIFBSRVZJT1VTX0NBTExG
UkFNRV9SRUcgR1BSSW5mbzo6bm9uQXJnR1BSMAotI2VsaWYgQ1BVKFg4NikKLSAgICBqaXQucHVz
aChYODZSZWdpc3RlcnM6OmVicCk7Ci0gICAgaml0Lm1vdmUoWDg2UmVnaXN0ZXJzOjplYnAsIEdQ
UkluZm86Om5vbkFyZ0dQUjApOwotICAgIGppdC5tb3ZlKFg4NlJlZ2lzdGVyczo6ZXNwLCBYODZS
ZWdpc3RlcnM6OmVicCk7Ci0gICAgaml0LnB1c2goWDg2UmVnaXN0ZXJzOjplc2kpOwotICAgIGpp
dC5wdXNoKFg4NlJlZ2lzdGVyczo6ZWRpKTsKLSAgICBqaXQucHVzaChYODZSZWdpc3RlcnM6OmVi
eCk7Ci0KLSAgICBqaXQuc3ViUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKEVYVFJBX1NU
QUNLX1NJWkUpLCBYODZSZWdpc3RlcnM6OmVzcCk7Ci0KLSAgICBqaXQubG9hZDMyKENDYWxsSGVs
cGVyczo6QWRkcmVzcyhYODZSZWdpc3RlcnM6OmVzcCwgRVhUUkFfU1RBQ0tfU0laRSArIDI0KSwg
R1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwotCi0jICAgZGVmaW5lIENBTExGUkFNRV9TUkNf
UkVHIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyCi0jICAgZGVmaW5lIENBTExfQ09ERSBqaXQu
Y2FsbChDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoWDg2UmVnaXN0ZXJzOjplc3AsIEVYVFJBX1NUQUNL
X1NJWkUgKyAyMCkpCi0jICAgZGVmaW5lIFBSRVZJT1VTX0NBTExGUkFNRV9SRUcgR1BSSW5mbzo6
bm9uQXJnR1BSMAotI2VsaWYgQ1BVKEFSTV9UUkFESVRJT05BTCkKLSAgICBqaXQucHVzaChBUk1S
ZWdpc3RlcnM6OnI0KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI1KTsKLSAgICBqaXQu
cHVzaChBUk1SZWdpc3RlcnM6OnI2KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI4KTsK
LSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI5KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3Rl
cnM6OnIxMCk7Ci0gICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyMTEpOwotICAgIGppdC5wdXNo
KEFSTVJlZ2lzdGVyczo6bHIpOwotICAgIGppdC5tb3ZlKEFSTVJlZ2lzdGVyczo6cjExLCBHUFJJ
bmZvOjpub25BcmdHUFIwKTsKLSAgICBqaXQuc3ViUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZElt
bTMyKEVYVFJBX1NUQUNLX1NJWkUpLCBBUk1SZWdpc3RlcnM6OnNwKTsKLQotIyAgIGRlZmluZSBD
QUxMRlJBTUVfU1JDX1JFRyBHUFJJbmZvOjphcmd1bWVudEdQUjEKLSMgICBkZWZpbmUgUFJFVklP
VVNfQ0FMTEZSQU1FX1JFRyBHUFJJbmZvOjpub25BcmdHUFIwCi0jZWxpZiBDUFUoQVJNX1RIVU1C
MikKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OmxyKTsKLSAgICBqaXQucHVzaChBUk1SZWdp
c3RlcnM6OnI0KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI1KTsKLSAgICBqaXQucHVz
aChBUk1SZWdpc3RlcnM6OnI2KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI3KTsKLSAg
ICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI4KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6
OnI5KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnIxMCk7Ci0gICAgaml0LnB1c2goQVJN
UmVnaXN0ZXJzOjpyMTEpOwotICAgIGppdC5tb3ZlKEFSTVJlZ2lzdGVyczo6cjcsIEdQUkluZm86
Om5vbkFyZ0dQUjApOwotICAgIGppdC5zdWJQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIo
RVhUUkFfU1RBQ0tfU0laRSksIEFSTVJlZ2lzdGVyczo6c3ApOwotCi0jICAgZGVmaW5lIENBTExG
UkFNRV9TUkNfUkVHIEdQUkluZm86OmFyZ3VtZW50R1BSMQotIyAgIGRlZmluZSBQUkVWSU9VU19D
QUxMRlJBTUVfUkVHIEdQUkluZm86Om5vbkFyZ0dQUjAKLSNlbGlmIENQVShBUk02NCkKLSAgICBq
aXQucHVzaChBUk02NFJlZ2lzdGVyczo6bHIpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJz
Ojp4MTkpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjApOwotICAgIGppdC5wdXNo
KEFSTTY0UmVnaXN0ZXJzOjp4MjEpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjIp
OwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjMpOwotICAgIGppdC5wdXNoKEFSTTY0
UmVnaXN0ZXJzOjp4MjQpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjUpOwotICAg
IGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjYpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0
ZXJzOjp4MjcpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjgpOwotICAgIGppdC5w
dXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjkpOwotICAgIGppdC5tb3ZlKEFSTTY0UmVnaXN0ZXJzOjp4
MjksIEdQUkluZm86Om5vbkFyZ0dQUjApOwotCi0jICAgZGVmaW5lIENBTExGUkFNRV9TUkNfUkVH
IEdQUkluZm86OmFyZ3VtZW50R1BSMQotIyAgIGRlZmluZSBQUkVWSU9VU19DQUxMRlJBTUVfUkVH
IEdQUkluZm86Om5vbkFyZ0dQUjAKLSNlbGlmIENQVShNSVBTKQotICAgIGppdC5zdWJQdHIoQ0Nh
bGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoU1RBQ0tfTEVOR1RIKSwgTUlQU1JlZ2lzdGVyczo6c3Ap
OwotICAgIGppdC5zdG9yZVB0cihNSVBTUmVnaXN0ZXJzOjpmcCwgQ0NhbGxIZWxwZXJzOjpBZGRy
ZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfRlBfT0ZGU0VUKSk7Ci0gICAgaml0LnN0
b3JlUHRyKE1JUFNSZWdpc3RlcnM6OnJhLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lz
dGVyczo6c3AsIFBSRVNFUlZFRF9SRVRVUk5fQUREUkVTU19PRkZTRVQpKTsKLSAgICBqaXQuc3Rv
cmVQdHIoTUlQU1JlZ2lzdGVyczo6czQsIENDYWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0
ZXJzOjpzcCwgUFJFU0VSVkVEX1M0X09GRlNFVCkpOwotICAgIGppdC5zdG9yZVB0cihNSVBTUmVn
aXN0ZXJzOjpzMywgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVT
RVJWRURfUzNfT0ZGU0VUKSk7Ci0gICAgaml0LnN0b3JlUHRyKE1JUFNSZWdpc3RlcnM6OnMyLCBD
Q2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9TMl9PRkZT
RVQpKTsKLSAgICBqaXQuc3RvcmVQdHIoTUlQU1JlZ2lzdGVyczo6czEsIENDYWxsSGVscGVyczo6
QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX1MxX09GRlNFVCkpOwotICAgIGpp
dC5zdG9yZVB0cihNSVBTUmVnaXN0ZXJzOjpzMCwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1JUFNS
ZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfUzBfT0ZGU0VUKSk7Ci0jaWYgV1RGX01JUFNfUElDCi0g
ICAgaml0LnN0b3JlUHRyKE1JUFNSZWdpc3RlcnM6OmdwLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Mo
TUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9HUF9PRkZTRVQpKTsKLSNlbmRpZgotICAgIGpp
dC5tb3ZlKE1JUFNSZWdpc3RlcnM6OmZwLCBHUFJJbmZvOjpub25BcmdHUFIwKTsKLQotIyAgIGRl
ZmluZSBDQUxMRlJBTUVfU1JDX1JFRyBHUFJJbmZvOjphcmd1bWVudEdQUjEKLSMgICBkZWZpbmUg
UFJFVklPVVNfQ0FMTEZSQU1FX1JFRyBHUFJJbmZvOjpub25BcmdHUFIwCi0jZWxpZiBDUFUoU0g0
KQotICAgIGppdC5wdXNoKFNINFJlZ2lzdGVyczo6ZnApOwotICAgIGppdC5wdXNoKFNINFJlZ2lz
dGVyczo6cHIpOwotICAgIGppdC5wdXNoKFNINFJlZ2lzdGVyczo6cjEzKTsKLSAgICBqaXQucHVz
aChTSDRSZWdpc3RlcnM6OnIxMSk7Ci0gICAgaml0LnB1c2goU0g0UmVnaXN0ZXJzOjpyMTApOwot
ICAgIGppdC5wdXNoKFNINFJlZ2lzdGVyczo6cjkpOwotICAgIGppdC5wdXNoKFNINFJlZ2lzdGVy
czo6cjgpOwotICAgIGppdC5zdWJQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoRVhUUkFf
U1RBQ0tfU0laRSksIFNINFJlZ2lzdGVyczo6c3ApOwotICAgIGppdC5tb3ZlKFNINFJlZ2lzdGVy
czo6ZnAsIEdQUkluZm86Om5vbkFyZ0dQUjApOwotCi0jICAgZGVmaW5lIENBTExGUkFNRV9TUkNf
UkVHIEdQUkluZm86OmFyZ3VtZW50R1BSMQotIyAgIGRlZmluZSBQUkVWSU9VU19DQUxMRlJBTUVf
UkVHIEdQUkluZm86Om5vbkFyZ0dQUjAKLSNlbmRpZgotCi0gICAgaWYgKENBTExGUkFNRV9TUkNf
UkVHICE9IEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKQotICAgICAgICBqaXQubW92ZShDQUxM
RlJBTUVfU1JDX1JFRywgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwotICAgIGppdC5sb2Fk
UHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciksIEdQ
UkluZm86Om5vbkFyZ0dQUjEpOwotICAgIGppdC5zdG9yZVB0cihQUkVWSU9VU19DQUxMRlJBTUVf
UkVHLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6bm9uQXJnR1BSMSkpOwotCi0jaWYg
VVNFKEpTVkFMVUU2NCkKLSAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NCgw
eGZmZmYwMDAwMDAwMDAwMDBMKSwgR1BSSW5mbzo6dGFnVHlwZU51bWJlclJlZ2lzdGVyKTsKLSAg
ICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NCgweGZmZmYwMDAwMDAwMDAwMDJM
KSwgR1BSSW5mbzo6dGFnTWFza1JlZ2lzdGVyKTsKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChDQUxM
X0NPREUpCi0gICAgQ0FMTF9DT0RFOwotI2Vsc2UKLSAgICBqaXQuY2FsbChHUFJJbmZvOjphcmd1
bWVudEdQUjApOwotI2VuZGlmCi0KLSN1bmRlZiBDQUxMRlJBTUVfU1JDX1JFRwotI3VuZGVmIENB
TExfQ09ERQotI3VuZGVmIFBSRVZJT1VTX0NBTExGUkFNRV9SRUcKLQotICAgIHJldHVybkZyb21K
YXZhU2NyaXB0KGppdCk7Ci0KLSAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKCp2bSwgJmppdCwg
R0xPQkFMX1RIVU5LX0lEKTsKLSAgICByZXR1cm4gRklOQUxJWkVfQ09ERShwYXRjaEJ1ZmZlciwg
KCJDYWxsIHRvIEphdmFTY3JpcHQgdGh1bmsiKSk7Ci19Ci0KLU1hY3JvQXNzZW1ibGVyQ29kZVJl
ZiB0aHJvd05vdENhdWdodChWTSogdm0pCi17Ci0gICAgQ0NhbGxIZWxwZXJzIGppdCh2bSk7Ci0K
LSAgICByZXR1cm5Gcm9tSmF2YVNjcmlwdChqaXQpOwotCi0gICAgTGlua0J1ZmZlciBwYXRjaEJ1
ZmZlcigqdm0sICZqaXQsIEdMT0JBTF9USFVOS19JRCk7Ci0gICAgcmV0dXJuIEZJTkFMSVpFX0NP
REUocGF0Y2hCdWZmZXIsICgiVW5jYXVnaHQgdGhyb3cgdGh1bmsiKSk7Ci19Ci0KIC8vIFdlIHdp
bGwganVtcCBoZXJlIGlmIHRoZSBKSVQgY29kZSB0cmllcyB0byBtYWtlIGEgY2FsbCwgYnV0IHRo
ZQogLy8gbGlua2luZyBoZWxwZXIgKEMrKyBjb2RlKSBkZWNpZGVzIHRvIHRocm93IGFuIGV4Y2Vw
dGlvbiBpbnN0ZWFkLgogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHRocm93RXhjZXB0aW9uRnJvbUNh
bGxTbG93UGF0aEdlbmVyYXRvcihWTSogdm0pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L1RodW5rR2VuZXJhdG9ycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmgJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDkg
KzMxLDYgQEAKICNpZiBFTkFCTEUoSklUKQogbmFtZXNwYWNlIEpTQyB7CiAKLU1hY3JvQXNzZW1i
bGVyQ29kZVJlZiBjYWxsVG9KYXZhU2NyaXB0KFZNKik7Ci1NYWNyb0Fzc2VtYmxlckNvZGVSZWYg
dGhyb3dOb3RDYXVnaHQoVk0qKTsKLQogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHRocm93RXhjZXB0
aW9uRnJvbUNhbGxTbG93UGF0aEdlbmVyYXRvcihWTSopOwogCiBNYWNyb0Fzc2VtYmxlckNvZGVS
ZWYgbGlua0NhbGxUaHVua0dlbmVyYXRvcihWTSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50VGh1bmtzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50VGh1bmtzLmgJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFRodW5rcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw4ICsz
NCwxNCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorY2xhc3MgRXhlY1N0YXRlOwogY2xhc3MgVk07
CiAKK2V4dGVybiAiQyIgeworICAgIEVuY29kZWRKU1ZhbHVlIGNhbGxUb0phdmFTY3JpcHQodm9p
ZCosIEV4ZWNTdGF0ZSopOworICAgIHZvaWQgcmV0dXJuRnJvbUphdmFTY3JpcHQoKTsKK30KKwog
bmFtZXNwYWNlIExMSW50IHsKIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGZ1bmN0aW9uRm9yQ2Fs
bEVudHJ5VGh1bmtHZW5lcmF0b3IoVk0qKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCShyZXZpc2lv
biAxNTkxNjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjMyXzY0LmFzbQkod29ya2luZyBjb3B5KQpAQCAtMTQ5LDYgKzE0OSw3NSBAQCBtYWNybyBj
YWxsU2xvd1BhdGgoc2xvd1BhdGgpCiAgICAgbW92ZSB0MSwgY2ZyCiBlbmQKIAorbWFjcm8gZnVu
Y3Rpb25Qcm9sb2d1ZShleHRyYVN0YWNrU3BhY2UpCisgICAgaWYgWDg2CisgICAgICAgIHB1c2gg
Y2ZyCisgICAgICAgIG1vdmUgc3AsIGNmcgorICAgIGVuZAorICAgIHB1c2hDYWxsZWVTYXZlcwor
ICAgIGlmIEFSTSBvciBBUk12NyBvciBBUk12N19UUkFESVRJT05BTCBvciBNSVBTCisgICAgICAg
IHB1c2ggY2ZyCisgICAgICAgIHB1c2ggbHIKKyAgICBlbmQKKyAgICBzdWJwIGV4dHJhU3RhY2tT
cGFjZSwgc3AKK2VuZAorCittYWNybyBmdW5jdGlvbkVwaWxvZ3VlKGV4dHJhU3RhY2tTcGFjZSkK
KyAgICBhZGRwIGV4dHJhU3RhY2tTcGFjZSwgc3AKKyAgICBpZiBBUk0gb3IgQVJNdjcgb3IgQVJN
djdfVFJBRElUSU9OQUwgb3IgTUlQUworICAgICAgICBwb3AgbHIKKyAgICAgICAgcG9wIGNmcgor
ICAgIGVuZAorICAgIHBvcENhbGxlZVNhdmVzCisgICAgaWYgWDg2CisgICAgICAgIHBvcCBjZnIK
KyAgICBlbmQKK2VuZAorCittYWNybyBkb0NhbGxUb0phdmFTY3JpcHQoKQorICAgIGlmIFg4Ngor
ICAgICAgICBjb25zdCBleHRyYVN0YWNrU3BhY2UgPSAyOAorICAgICAgICBjb25zdCBwcmV2aW91
c0NGUiA9IHQwCisgICAgICAgIGNvbnN0IGVudHJ5ID0gdDUKKyAgICAgICAgY29uc3QgbmV3Q2Fs
bEZyYW1lID0gdDQKKyAgICBlbHNpZiBBUk0gb3IgQVJNdjdfVFJBRElUSU9OQUwKKyAgICAgICAg
Y29uc3QgZXh0cmFTdGFja1NwYWNlID0gMTYKKyAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0
MyAgCisgICAgICAgIGNvbnN0IGVudHJ5ID0gYTAKKyAgICAgICAgY29uc3QgbmV3Q2FsbEZyYW1l
ID0gYTEKKyAgICBlbHNpZiBBUk12NworICAgICAgICBjb25zdCBleHRyYVN0YWNrU3BhY2UgPSAy
OAorICAgICAgICBjb25zdCBwcmV2aW91c0NGUiA9IHQzICAKKyAgICAgICAgY29uc3QgZW50cnkg
PSBhMAorICAgICAgICBjb25zdCBuZXdDYWxsRnJhbWUgPSBhMQorICAgIGVsc2lmIE1JUFMKKyAg
ICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNlID0gMjAKKyAgICAgICAgY29uc3QgcHJldmlvdXND
RlIgPSB0MiAgCisgICAgICAgIGNvbnN0IGVudHJ5ID0gYTAKKyAgICAgICAgY29uc3QgbmV3Q2Fs
bEZyYW1lID0gYTEKKyAgICBlbHNpZiBTSDQKKyAgICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNl
ID0gMjAKKyAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0MyAgCisgICAgICAgIGNvbnN0IGVu
dHJ5ID0gYTAKKyAgICAgICAgY29uc3QgbmV3Q2FsbEZyYW1lID0gYTEKKyAgICBlbmQKKworICAg
IGlmIFg4NgorICAgICAgICBtb3ZlIGNmciwgcHJldmlvdXNDRlIKKyAgICBlbmQKKyAgICBmdW5j
dGlvblByb2xvZ3VlKGV4dHJhU3RhY2tTcGFjZSkKKyAgICBpZiBYODYKKyAgICAgICAgbG9hZHAg
ZXh0cmFTdGFja1NwYWNlKzIwW3NwXSwgZW50cnkKKyAgICAgICAgbG9hZHAgZXh0cmFTdGFja1Nw
YWNlKzI0W3NwXSwgbmV3Q2FsbEZyYW1lCisgICAgZWxzZQorICAgICAgICBtb3ZlIGNmciwgcHJl
dmlvdXNDRlIKKyAgICBlbmQKKyAgICBtYWtlQ2FsbFRvSmF2YVNjcmlwdChlbnRyeSwgbmV3Q2Fs
bEZyYW1lLCBwcmV2aW91c0NGUikKK19yZXR1cm5Gcm9tSmF2YVNjcmlwdDoKKyAgICBmdW5jdGlv
bkVwaWxvZ3VlKGV4dHJhU3RhY2tTcGFjZSkKKyAgICByZXQKK2VuZAorCiAjIERlYnVnZ2luZyBv
cGVyYXRpb24gaWYgeW91J2QgbGlrZSB0byBwcmludCBhbiBvcGVyYW5kIGluIHRoZSBpbnN0cnVj
dGlvbiBzdHJlYW0uIGZyb21XaGVyZQogIyBzaG91bGQgYmUgYW4gaW1tZWRpYXRlIGludGVnZXIg
LSBhbnkgaW50ZWdlciB5b3UgbGlrZTsgdXNlIGl0IHRvIGlkZW50aWZ5IHRoZSBwbGFjZSB5b3Un
cmUKICMgZGVidWdnaW5nIGZyb20uIG9wZXJhbmQgc2hvdWxkIGxpa2V3aXNlIGJlIGFuIGltbWVk
aWF0ZSwgYW5kIHNob3VsZCBpZGVudGlmeSB0aGUgb3BlcmFuZApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20JKHJl
dmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtCSh3b3JraW5nIGNvcHkpCkBAIC04OCw2ICs4OCw1NCBAQCBtYWNybyBj
Q2FsbDQoZnVuY3Rpb24sIGFyZzEsIGFyZzIsIGFyZzMsCiAgICAgZW5kCiBlbmQKIAorbWFjcm8g
ZnVuY3Rpb25Qcm9sb2d1ZShleHRyYVN0YWNrU3BhY2UpCisgICAgaWYgWDg2XzY0CisgICAgICAg
IHB1c2ggY2ZyCisgICAgICAgIG1vdmUgc3AsIGNmcgorICAgIGVsc2lmIEFSTTY0CisgICAgICAg
IHB1c2ggbHIKKyAgICBlbmQKKyAgICBwdXNoQ2FsbGVlU2F2ZXMKKyAgICBpZiBYODZfNjQKKyAg
ICAgICAgc3VicCBleHRyYVN0YWNrU3BhY2UsIHNwCisgICAgZWxzaWYgQVJNNjQKKyAgICAgICAg
cHVzaCBjZnIKKyAgICBlbmQKK2VuZAorCittYWNybyBmdW5jdGlvbkVwaWxvZ3VlKGV4dHJhU3Rh
Y2tTcGFjZSkKKyAgICBpZiBYODZfNjQKKyAgICAgICAgYWRkcCBleHRyYVN0YWNrU3BhY2UsIHNw
CisgICAgZW5kCisgICAgcG9wQ2FsbGVlU2F2ZXMKKyAgICBpZiBYODZfNjQKKyAgICAgICAgcG9w
IGNmcgorICAgIGVsc2lmIEFSTTY0CisgICAgICAgIHBvcCBscgorICAgIGVuZAorZW5kCisKK21h
Y3JvIGRvQ2FsbFRvSmF2YVNjcmlwdCgpCisgICAgaWYgWDg2XzY0CisgICAgICAgIGNvbnN0IGV4
dHJhU3RhY2tTcGFjZSA9IDgKKyAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0MAorICAgICAg
ICBjb25zdCBlbnRyeSA9IHQ1CisgICAgICAgIGNvbnN0IG5ld0NhbGxGcmFtZSA9IHQ0CisgICAg
ZWxzaWYgQVJNNjQKKyAgICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNlID0gMAorICAgICAgICBj
b25zdCBwcmV2aW91c0NGUiA9IHQ0ICAKKyAgICAgICAgY29uc3QgZW50cnkgPSBhMAorICAgICAg
ICBjb25zdCBuZXdDYWxsRnJhbWUgPSBhMQorICAgIGVuZAorCisgICAgbW92ZSBjZnIsIHByZXZp
b3VzQ0ZSCisgICAgZnVuY3Rpb25Qcm9sb2d1ZShleHRyYVN0YWNrU3BhY2UpCisgICAgbWFrZUNh
bGxUb0phdmFTY3JpcHQoZW50cnksIG5ld0NhbGxGcmFtZSwgcHJldmlvdXNDRlIpCitfcmV0dXJu
RnJvbUphdmFTY3JpcHQ6CisgICAgZnVuY3Rpb25FcGlsb2d1ZShleHRyYVN0YWNrU3BhY2UpCisg
ICAgcmV0CitlbmQKKwogbWFjcm8gcHJlcGFyZVN0YXRlRm9yQ0NhbGwoKQogICAgIGxlYXAgW1BC
LCBQQywgOF0sIFBDCiAgICAgbW92ZSBQQiwgdDMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20JKHJldmlzaW9uIDE1OTE2
OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bQkod29ya2luZyBjb3B5KQpAQCAtNDIxLDYgKzQyMSwyMSBAQCBtYWNybyBkb1JldHVybigpCiAg
ICAgcmV0CiBlbmQKIAorbWFjcm8gbWFrZUNhbGxUb0phdmFTY3JpcHQoZW50cnksIG5ld0NhbGxG
cmFtZSwgcHJldmlvdXNDRlIpCisgICAgbW92ZSBuZXdDYWxsRnJhbWUsIGNmcgorICAgIGxvYWRw
IFtjZnJdLCBuZXdDYWxsRnJhbWUKKyAgICBzdG9yZXAgcHJldmlvdXNDRlIsIFtuZXdDYWxsRnJh
bWVdCisgICAgaWYgSlNWQUxVRTY0CisgICAgICAgIG1vdmUgMHhmZmZmMDAwMDAwMDAwMDAwLCBj
c3IxCisgICAgICAgIGFkZHAgMiwgY3NyMSwgY3NyMgorICAgIGVuZAorICAgIGNhbGwgZW50cnkK
K2VuZAorCisjIHN0dWIgdG8gY2FsbCBpbnRvIEphdmFTY3JpcHQKKyMgRW5jb2RlZEpTVmFsdWUg
Y2FsbFRvSmF2YVNjcmlwdCh2b2lkKiBjb2RlLCBSZWdpc3RlciogdG9wT2ZTdGFjaykKK19jYWxs
VG9KYXZhU2NyaXB0OgorICAgIGRvQ2FsbFRvSmF2YVNjcmlwdCgpCiAKICMgSW5kaWNhdGUgdGhl
IGJlZ2lubmluZyBvZiBMTEludC4KIF9sbGludF9iZWdpbjoKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9vZmZsaW5lYXNtL2FybTY0LnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9vZmZsaW5lYXNtL2FybTY0LnJiCShyZXZpc2lvbiAxNTkxNjgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hcm02NC5yYgkod29ya2luZyBjb3B5KQpAQCAtMzgs
NyArMzgsOCBAQCByZXF1aXJlICJyaXNjIgogIwogIyAgeDAgID0+IHJldHVybiB2YWx1ZSwgY2Fj
aGVkIHJlc3VsdCwgZmlyc3QgYXJndW1lbnQsIHQwLCBhMCwgcjAKICMgIHgxICA9PiB0MSwgYTEs
IHIxCi0jICB4MiAgPT4gdDIKKyMgIHgyICA9PiB0MiwgYTIKKyMgIHgzICA9PiBhMwogIyAgeDkg
ID0+IChub25BcmdHUFIxIGluIGJhc2VsaW5lKQogIyB4MTAgID0+IHQ0ICh1bnVzZWQgaW4gYmFz
ZWxpbmUpCiAjIHgxMSAgPT4gdDUgKHVudXNlZCBpbiBiYXNlbGluZSkKQEAgLTQ3LDEwICs0OCw5
IEBAIHJlcXVpcmUgInJpc2MiCiAjIHgxNiAgPT4gc2NyYXRjaAogIyB4MTcgID0+IHNjcmF0Y2gK
ICMgeDIzICA9PiB0MwotIyB4MjUgID0+IGNmcgotIyB4MjYgID0+IHRpbWVvdXQgY2hlY2sgKGku
ZS4gbm90IHRvdWNoZWQgYnkgTExJbnQpCiAjIHgyNyAgPT4gY3NyMSAodGFnVHlwZU51bWJlcikK
ICMgeDI4ICA9PiBjc3IyICh0YWdNYXNrKQorIyB4MjkgID0+IGNmcgogIyAgc3AgID0+IHNwCiAj
ICBsciAgPT4gbHIKICMKQEAgLTEwNiw4ICsxMDYsMTAgQEAgY2xhc3MgUmVnaXN0ZXJJRAogICAg
ICAgICAgICAgYXJtNjRHUFJOYW1lKCd4MCcsIGtpbmQpCiAgICAgICAgIHdoZW4gJ3QxJywgJ2Ex
JywgJ3IxJwogICAgICAgICAgICAgYXJtNjRHUFJOYW1lKCd4MScsIGtpbmQpCi0gICAgICAgIHdo
ZW4gJ3QyJworICAgICAgICB3aGVuICd0MicsICdhMicKICAgICAgICAgICAgIGFybTY0R1BSTmFt
ZSgneDInLCBraW5kKQorICAgICAgICB3aGVuICdhMycKKyAgICAgICAgICAgIGFybTY0R1BSTmFt
ZSgneDMnLCBraW5kKQogICAgICAgICB3aGVuICd0MycKICAgICAgICAgICAgIGFybTY0R1BSTmFt
ZSgneDIzJywga2luZCkKICAgICAgICAgd2hlbiAndDQnCkBAIC01NjcsNiArNTY5LDI4IEBAIGNs
YXNzIEluc3RydWN0aW9uCiAgICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQoInBvcCIsIG9w
ZXJhbmRzLCA6cHRyKQogICAgICAgICB3aGVuICJwdXNoIgogICAgICAgICAgICAgZW1pdEFSTTY0
VW5mbGlwcGVkKCJwdXNoIiwgb3BlcmFuZHMsIDpwdHIpCisgICAgICAgIHdoZW4gInBvcENhbGxl
ZVNhdmVzIgorICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwb3AiLCAieDI4IiwgOnB0
cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBlZCgicG9wIiwgIngyNyIsIDpwdHIpCisg
ICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQoInBvcCIsICJ4MjYiLCA6cHRyKQorICAgICAg
ICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwb3AiLCAieDI1IiwgOnB0cikKKyAgICAgICAgICAg
IGVtaXRBUk02NFVuZmxpcHBlZCgicG9wIiwgIngyNCIsIDpwdHIpCisgICAgICAgICAgICBlbWl0
QVJNNjRVbmZsaXBwZWQoInBvcCIsICJ4MjMiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0
VW5mbGlwcGVkKCJwb3AiLCAieDIyIiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxp
cHBlZCgicG9wIiwgIngyMSIsIDpwdHIpCisgICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQo
InBvcCIsICJ4MjAiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwb3Ai
LCAieDE5IiwgOnB0cikKKyAgICAgICAgd2hlbiAicHVzaENhbGxlZVNhdmVzIgorICAgICAgICAg
ICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwdXNoIiwgIngxOSIsIDpwdHIpCisgICAgICAgICAgICBl
bWl0QVJNNjRVbmZsaXBwZWQoInB1c2giLCAieDIwIiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRB
Uk02NFVuZmxpcHBlZCgicHVzaCIsICJ4MjEiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0
VW5mbGlwcGVkKCJwdXNoIiwgIngyMiIsIDpwdHIpCisgICAgICAgICAgICBlbWl0QVJNNjRVbmZs
aXBwZWQoInB1c2giLCAieDIzIiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBl
ZCgicHVzaCIsICJ4MjQiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJw
dXNoIiwgIngyNSIsIDpwdHIpCisgICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQoInB1c2gi
LCAieDI2IiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBlZCgicHVzaCIsICJ4
MjciLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwdXNoIiwgIngyOCIs
IDpwdHIpCiAgICAgICAgIHdoZW4gIm1vdmUiCiAgICAgICAgICAgICBpZiBvcGVyYW5kc1swXS5p
bW1lZGlhdGU/CiAgICAgICAgICAgICAgICAgZW1pdEFSTTY0TW92ZUltbWVkaWF0ZShvcGVyYW5k
c1swXS52YWx1ZSwgb3BlcmFuZHNbMV0pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvb2Zm
bGluZWFzbS9hcm0ucmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxp
bmVhc20vYXJtLnJiCShyZXZpc2lvbiAxNTkxNjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
b2ZmbGluZWFzbS9hcm0ucmIJKHdvcmtpbmcgY29weSkKQEAgLTk3LDcgKzk3LDkgQEAgY2xhc3Mg
UmVnaXN0ZXJJRAogICAgICAgICB3aGVuICJ0MyIKICAgICAgICAgICAgICJyNCIKICAgICAgICAg
d2hlbiAidDQiCi0gICAgICAgICAgICAicjEwIgorICAgICAgICAgICAgInI4IgorICAgICAgICB3
aGVuICJ0NSIKKyAgICAgICAgICAgICJyOSIKICAgICAgICAgd2hlbiAiY2ZyIgogICAgICAgICAg
ICAgaXNBUk12NyA/ICAicjciIDogInIxMSIKICAgICAgICAgd2hlbiAibHIiCkBAIC00NTEsOSAr
NDUzLDIxIEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAgICAgICAjIEZJWE1FOiBlaXRoZXIg
c3VwcG9ydCB0aGlzIG9yIHJlbW92ZSBpdC4KICAgICAgICAgICAgIHJhaXNlICJBUk0gZG9lcyBu
b3Qgc3VwcG9ydCB0aGlzIG9wY29kZSB5ZXQsICN7Y29kZU9yaWdpbn0iCiAgICAgICAgIHdoZW4g
InBvcCIKLSAgICAgICAgICAgICRhc20ucHV0cyAicG9wICN7b3BlcmFuZHNbMF0uYXJtT3BlcmFu
ZH0iCisgICAgICAgICAgICAkYXNtLnB1dHMgInBvcCB7ICN7b3BlcmFuZHNbMF0uYXJtT3BlcmFu
ZH0gfSIKICAgICAgICAgd2hlbiAicHVzaCIKLSAgICAgICAgICAgICRhc20ucHV0cyAicHVzaCAj
e29wZXJhbmRzWzBdLmFybU9wZXJhbmR9IgorICAgICAgICAgICAgJGFzbS5wdXRzICJwdXNoIHsg
I3tvcGVyYW5kc1swXS5hcm1PcGVyYW5kfSB9IgorICAgICAgICB3aGVuICJwb3BDYWxsZWVTYXZl
cyIKKyAgICAgICAgICAgIGlmIGlzQVJNdjcKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInBv
cCB7cjQtcjYsIHI4LXIxMX0iICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgICRhc20ucHV0cyAicG9wIHtyNC1yMTB9IgorICAgICAgICAgICAgZW5kCisg
ICAgICAgIHdoZW4gInB1c2hDYWxsZWVTYXZlcyIKKyAgICAgICAgICAgIGlmIGlzQVJNdjcKKyAg
ICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2gge3I0LXI2LCByOC1yMTF9IgorICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICRhc20ucHV0cyAicHVzaCB7cjQtcjEwfSIKKyAgICAg
ICAgICAgIGVuZAogICAgICAgICB3aGVuICJtb3ZlIgogICAgICAgICAgICAgaWYgb3BlcmFuZHNb
MF0uaW1tZWRpYXRlPwogICAgICAgICAgICAgICAgIGFybU1vdmVJbW1lZGlhdGUob3BlcmFuZHNb
MF0udmFsdWUsIG9wZXJhbmRzWzFdKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxp
bmVhc20vaW5zdHJ1Y3Rpb25zLnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9vZmZsaW5lYXNtL2luc3RydWN0aW9ucy5yYgkocmV2aXNpb24gMTU5MTY4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vaW5zdHJ1Y3Rpb25zLnJiCSh3b3JraW5nIGNvcHkp
CkBAIC0yNDksNiArMjQ5LDggQEAgTUFDUk9fSU5TVFJVQ1RJT05TID0KICAgICAgImJueiIsCiAg
ICAgICJsZWFpIiwKICAgICAgImxlYXAiLAorICAgICAicHVzaENhbGxlZVNhdmVzIiwKKyAgICAg
InBvcENhbGxlZVNhdmVzIgogICAgIF0KIAogWDg2X0lOU1RSVUNUSU9OUyA9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9taXBzLnJiCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL21pcHMucmIJKHJldmlzaW9uIDE1OTE2OCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL21pcHMucmIJKHdvcmtpbmcgY29weSkK
QEAgLTgyLDYgKzgyLDEwIEBAIGNsYXNzIFJlZ2lzdGVySUQKICAgICAgICAgICAgICIkYTAiCiAg
ICAgICAgIHdoZW4gImExIgogICAgICAgICAgICAgIiRhMSIKKyAgICAgICAgd2hlbiAiYTIiCisg
ICAgICAgICAgICAiJGEyIgorICAgICAgICB3aGVuICJhMyIKKyAgICAgICAgICAgICIkYTMiCiAg
ICAgICAgIHdoZW4gInIwIiwgInQwIgogICAgICAgICAgICAgIiR2MCIKICAgICAgICAgd2hlbiAi
cjEiLCAidDEiCkBAIC03OTIsNiArNzk2LDIwIEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAg
IHdoZW4gInB1c2giCiAgICAgICAgICAgICAkYXNtLnB1dHMgImFkZGl1ICRzcCwgJHNwLCAtNCIK
ICAgICAgICAgICAgICRhc20ucHV0cyAic3cgI3tvcGVyYW5kc1swXS5taXBzT3BlcmFuZH0sIDAo
JHNwKSIKKyAgICAgICAgd2hlbiAicG9wQ2FsbGVlU2F2ZXMiCisgICAgICAgICAgICAkYXNtLnB1
dHMgImx3ICQxNiwgMCgkc3ApIgorICAgICAgICAgICAgJGFzbS5wdXRzICJsdyAkMTcsIDQoJHNw
KSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibHcgJDE4LCA4KCRzcCkiCisgICAgICAgICAgICAk
YXNtLnB1dHMgImx3ICQxOSwgMTIoJHNwKSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibHcgJDIw
LCAxNigkc3ApIgorICAgICAgICAgICAgJGFzbS5wdXRzICJhZGRpdSAkc3AsICRzcCwgMjAiCisg
ICAgICAgIHdoZW4gInB1c2hDYWxsZWVTYXZlcyIKKyAgICAgICAgICAgICRhc20ucHV0cyAiYWRk
aXUgJHNwLCAkc3AsIC0yMCIKKyAgICAgICAgICAgICRhc20ucHV0cyAic3cgJDIwLCAxNigkc3Ap
IgorICAgICAgICAgICAgJGFzbS5wdXRzICJzdyAkMTksIDEyKCRzcCkiCisgICAgICAgICAgICAk
YXNtLnB1dHMgInN3ICQxOCwgOCgkc3ApIgorICAgICAgICAgICAgJGFzbS5wdXRzICJzdyAkMTcs
IDQoJHNwKSIKKyAgICAgICAgICAgICRhc20ucHV0cyAic3cgJDE2LCAwKCRzcCkiCiAgICAgICAg
IHdoZW4gIm1vdmUiLCAic3hpMnAiLCAienhpMnAiCiAgICAgICAgICAgICBpZiBvcGVyYW5kc1sw
XS5pc19hPyBJbW1lZGlhdGUKICAgICAgICAgICAgICAgICBtaXBzTW92ZUltbWVkaWF0ZShvcGVy
YW5kc1swXS52YWx1ZSwgb3BlcmFuZHNbMV0pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
b2ZmbGluZWFzbS9yZWdpc3RlcnMucmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL29mZmxpbmVhc20vcmVnaXN0ZXJzLnJiCShyZXZpc2lvbiAxNTkxNjgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9yZWdpc3RlcnMucmIJKHdvcmtpbmcgY29weSkKQEAg
LTMwLDE5ICszMCwyMSBAQCBHUFJTID0KICAgICAgInQyIiwKICAgICAgInQzIiwKICAgICAgInQ0
IiwKKyAgICAgInQ1IiwKICAgICAgImNmciIsCiAgICAgICJhMCIsCiAgICAgICJhMSIsCisgICAg
ICJhMiIsCisgICAgICJhMyIsCiAgICAgICJyMCIsCiAgICAgICJyMSIsCiAgICAgICJzcCIsCiAg
ICAgICJsciIsCiAgICAgIAogICAgICAjIDY0LWJpdCBvbmx5IHJlZ2lzdGVyczoKLSAgICAgInQ1
IiwKLSAgICAgInQ2IiwgICMgcjEwCi0gICAgICJjc3IxIiwgICMgcjE0LCB0YWcgdHlwZSBudW1i
ZXIgcmVnaXN0ZXIKLSAgICAgImNzcjIiICAgIyByMTUsIHRhZyBtYXNrIHJlZ2lzdGVyCisgICAg
ICJ0NiIsCisgICAgICJjc3IxIiwgICMgdGFnIHR5cGUgbnVtYmVyIHJlZ2lzdGVyCisgICAgICJj
c3IyIiAgICMgdGFnIG1hc2sgcmVnaXN0ZXIKICAgICBdCiAKIEZQUlMgPQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vc2g0LnJiCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3NoNC5yYgkocmV2aXNpb24gMTU5MTY4KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vc2g0LnJiCSh3b3JraW5nIGNvcHkpCkBAIC02
MSw2ICs2MSwxMCBAQCBjbGFzcyBSZWdpc3RlcklECiAgICAgICAgICAgICAicjQiCiAgICAgICAg
IHdoZW4gImExIgogICAgICAgICAgICAgInI1IgorICAgICAgICB3aGVuICJhMiIKKyAgICAgICAg
ICAgICJyNiIKKyAgICAgICAgd2hlbiAiYTMiCisgICAgICAgICAgICAicjciCiAgICAgICAgIHdo
ZW4gInQwIgogICAgICAgICAgICAgInIwIgogICAgICAgICB3aGVuICJ0MSIKQEAgLTcwLDcgKzc0
LDkgQEAgY2xhc3MgUmVnaXN0ZXJJRAogICAgICAgICB3aGVuICJ0MyIKICAgICAgICAgICAgICJy
MTAiCiAgICAgICAgIHdoZW4gInQ0IgotICAgICAgICAgICAgInI2IgorICAgICAgICAgICAgInI0
IgorICAgICAgICB3aGVuICJ0NSIKKyAgICAgICAgICAgICJyNSIKICAgICAgICAgd2hlbiAiY2Zy
IgogICAgICAgICAgICAgInIxNCIKICAgICAgICAgd2hlbiAic3AiCkBAIC05MDUsNiArOTExLDIy
IEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAgICAgICAkYXNtLnB1dHMgImxkcyAje3NoNE9w
ZXJhbmRzKG9wZXJhbmRzKX0sIHByIgogICAgICAgICB3aGVuICJzdHNwciIKICAgICAgICAgICAg
ICRhc20ucHV0cyAic3RzIHByLCAje3NoNE9wZXJhbmRzKG9wZXJhbmRzKX0iCisgICAgICAgIHdo
ZW4gInBvcENhbGxlZVNhdmVzIgorICAgICAgICAgICAgJGFzbS5wdXRzICJtb3YubCBAcjE1Kywg
cjgiCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdi5sIEByMTUrLCByOSIKKyAgICAgICAgICAg
ICRhc20ucHV0cyAibW92LmwgQHIxNSssIHIxMCIKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92
LmwgQHIxNSssIHIxMSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92LmwgQHIxNSssIHIxMyIK
KyAgICAgICAgICAgICRhc20ucHV0cyAibGRzLmwgQHIxNSsscHIiCisgICAgICAgICAgICAkYXNt
LnB1dHMgIm1vdi5sIEByMTUrLCBmcCIKKyAgICAgICAgd2hlbiAicHVzaENhbGxlZVNhdmVzIgor
ICAgICAgICAgICAgJGFzbS5wdXRzICJtb3YubCBmcCwgQC1yMTUiCisgICAgICAgICAgICAkYXNt
LnB1dHMgInN0cy5sIHByLCBALXIxNSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92LmwgcjEz
LCBALXIxNSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92LmwgcjExLCBALXIxNSIKKyAgICAg
ICAgICAgICRhc20ucHV0cyAibW92LmwgcjEwLCBALXIxNSIKKyAgICAgICAgICAgICRhc20ucHV0
cyAibW92LmwgcjksIEAtcjE1IgorICAgICAgICAgICAgJGFzbS5wdXRzICJtb3YubCByOCwgQC1y
MTUiCiAgICAgICAgIHdoZW4gImJyZWFrIgogICAgICAgICAgICAgIyBUaGlzIHNwZWNpYWwgb3Bj
b2RlIGFsd2F5cyBnZW5lcmF0ZXMgYW4gaWxsZWdhbCBpbnN0cnVjdGlvbiBleGNlcHRpb24uCiAg
ICAgICAgICAgICAkYXNtLnB1dHMgIi53b3JkIDB4ZmZmZCIKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9vZmZsaW5lYXNtL3g4Ni5yYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvb2ZmbGluZWFzbS94ODYucmIJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9vZmZsaW5lYXNtL3g4Ni5yYgkod29ya2luZyBjb3B5KQpAQCAtNzQsMTEgKzc0
LDExIEBAIFg2NF9TQ1JBVENIX1JFR0lTVEVSID0gU3BlY2lhbFJlZ2lzdGVyLm4KIGNsYXNzIFJl
Z2lzdGVySUQKICAgICBkZWYgc3VwcG9ydHM4Qml0T25YODYKICAgICAgICAgY2FzZSBuYW1lCi0g
ICAgICAgIHdoZW4gInQwIiwgImEwIiwgInIwIiwgInQxIiwgImExIiwgInIxIiwgInQyIiwgInQz
IgorICAgICAgICB3aGVuICJ0MCIsICJhMCIsICJyMCIsICJ0MSIsICJhMSIsICJyMSIsICJ0MiIs
ICJ0MyIsICJ0NCIsICJ0NSIKICAgICAgICAgICAgIHRydWUKICAgICAgICAgd2hlbiAiY2ZyIiwg
InR0bnIiLCAidG1yIgogICAgICAgICAgICAgZmFsc2UKLSAgICAgICAgd2hlbiAidDQiLCAidDUi
CisgICAgICAgIHdoZW4gInQ2IgogICAgICAgICAgICAgaXNYNjQKICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgcmFpc2UKQEAgLTIwNCw3ICsyMDQsNiBAQCBjbGFzcyBSZWdpc3RlcklECiAgICAg
ICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgIGVuZAogICAgICAgICB3aGVuICJ0NSIKLSAg
ICAgICAgICAgIHJhaXNlICJDYW5ub3QgdXNlICN7bmFtZX0gaW4gMzItYml0IFg4NiBhdCAje2Nv
ZGVPcmlnaW5TdHJpbmd9IiB1bmxlc3MgaXNYNjQKICAgICAgICAgICAgIGNhc2Uga2luZAogICAg
ICAgICAgICAgd2hlbiA6Ynl0ZQogICAgICAgICAgICAgICAgICIlZGlsIgpAQCAtMjEzLDkgKzIx
Miw5IEBAIGNsYXNzIFJlZ2lzdGVySUQKICAgICAgICAgICAgIHdoZW4gOmludAogICAgICAgICAg
ICAgICAgICIlZWRpIgogICAgICAgICAgICAgd2hlbiA6cHRyCi0gICAgICAgICAgICAgICAgIiVy
ZGkiCisgICAgICAgICAgICAgICAgaXNYNjQgPyAiJXJkaSIgOiAiJWVkaSIKICAgICAgICAgICAg
IHdoZW4gOnF1YWQKLSAgICAgICAgICAgICAgICAiJXJkaSIKKyAgICAgICAgICAgICAgICBpc1g2
NCA/ICIlcmRpIiA6IHJhaXNlCiAgICAgICAgICAgICBlbmQKICAgICAgICAgd2hlbiAidDYiCiAg
ICAgICAgICAgICByYWlzZSAiQ2Fubm90IHVzZSAje25hbWV9IGluIDMyLWJpdCBYODYgYXQgI3tj
b2RlT3JpZ2luU3RyaW5nfSIgdW5sZXNzIGlzWDY0CkBAIC05ODIsNiArOTgxLDMwIEBAIGNsYXNz
IEluc3RydWN0aW9uCiAgICAgICAgICAgICAkYXNtLnB1dHMgInBvcCAje29wZXJhbmRzWzBdLng4
Nk9wZXJhbmQoOnB0cil9IgogICAgICAgICB3aGVuICJwdXNoIgogICAgICAgICAgICAgJGFzbS5w
dXRzICJwdXNoICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6cHRyKX0iCisgICAgICAgIHdoZW4g
InBvcENhbGxlZVNhdmVzIgorICAgICAgICAgICAgaWYgaXNYNjQKKyAgICAgICAgICAgICAgICAk
YXNtLnB1dHMgInBvcCAlcmJ4IgorICAgICAgICAgICAgICAgICRhc20ucHV0cyAicG9wICVyMTUi
CisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJwb3AgJXIxNCIKKyAgICAgICAgICAgICAgICAk
YXNtLnB1dHMgInBvcCAlcjEzIgorICAgICAgICAgICAgICAgICRhc20ucHV0cyAicG9wICVyMTIi
CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJwb3AgJWVieCIK
KyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInBvcCAlZWRpIgorICAgICAgICAgICAgICAgICRh
c20ucHV0cyAicG9wICVlc2kiCisgICAgICAgICAgICBlbmQKKyAgICAgICAgd2hlbiAicHVzaENh
bGxlZVNhdmVzIgorICAgICAgICAgICAgaWYgaXNYNjQKKyAgICAgICAgICAgICAgICAkYXNtLnB1
dHMgInB1c2ggJXIxMiIKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2ggJXIxMyIKKyAg
ICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2ggJXIxNCIKKyAgICAgICAgICAgICAgICAkYXNt
LnB1dHMgInB1c2ggJXIxNSIKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2ggJXJieCIK
KyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2ggJWVzaSIK
KyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2ggJWVkaSIKKyAgICAgICAgICAgICAgICAk
YXNtLnB1dHMgInB1c2ggJWVieCIKKyAgICAgICAgICAgIGVuZAogICAgICAgICB3aGVuICJtb3Zl
IgogICAgICAgICAgICAgaGFuZGxlTW92ZQogICAgICAgICB3aGVuICJzeGkycSIKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU3LDgg
KzI1Nyw2IEBAIFZNOjpWTShWTVR5cGUgdm1UeXBlLCBIZWFwVHlwZSBoZWFwVHlwZSkKIAogI2lm
IEVOQUJMRShKSVQpCiAgICAgaml0U3R1YnMgPSBhZG9wdFB0cihuZXcgSklUVGh1bmtzKCkpOwot
Ci0gICAgY2FsbEphdmFTY3JpcHRKSVRGdW5jdGlvbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Q2FsbEph
dmFTY3JpcHRKSVRGdW5jdGlvbj4oZ2V0Q1RJU3R1YihjYWxsVG9KYXZhU2NyaXB0KS5jb2RlKCku
ZXhlY3V0YWJsZUFkZHJlc3MoKSk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShGVExfSklUKQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCShyZXZpc2lvbiAxNTkxNjgpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMjksMTAg
KzMyOSw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgcmV0dXJuIGppdFN0dWJzLT5j
dGlTdHViKHRoaXMsIGdlbmVyYXRvcik7CiAgICAgICAgIH0KICAgICAgICAgTmF0aXZlRXhlY3V0
YWJsZSogZ2V0SG9zdEZ1bmN0aW9uKE5hdGl2ZUZ1bmN0aW9uLCBJbnRyaW5zaWMpOwotCi0gICAg
ICAgIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUoKkNhbGxKYXZhU2NyaXB0SklURnVuY3Rpb24pKHZv
aWQgKiwgRXhlY1N0YXRlKik7Ci0KLSAgICAgICAgQ2FsbEphdmFTY3JpcHRKSVRGdW5jdGlvbiBj
YWxsSmF2YVNjcmlwdEpJVEZ1bmN0aW9uOwogI2VuZGlmCiAjaWYgRU5BQkxFKEZUTF9KSVQpCiAg
ICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxGVEw6OlRodW5rcz4gZnRsVGh1bmtzOwo=
</data>
<flag name="commit-queue"
          id="239797"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216815</attachid>
            <date>2013-11-13 09:47:45 -0800</date>
            <delta_ts>2013-11-13 12:09:24 -0800</delta_ts>
            <desc>Updated with speculative windows build fix</desc>
            <filename>124251-3.patch</filename>
            <type>text/plain</type>
            <size>34931</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU5MTY4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBA
CisyMDEzLTExLTEyICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENoYW5nZSBjYWxsVG9KYXZhU2NyaXB0IHRodW5rIGludG8gYW4gb2ZmbGluZSBhc3NlbWJs
ZWQgc3R1YgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI0MjUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q2hhbmdlZCBjYWxsVG9KYXZhU2NyaXB0IGFuZCB0aHJvd05vdENhdWdodCBpbnRvIHN0dWJzIGdl
bmVyYXRlZCBieSB0aGUgb2ZmbGluZSBhc3NlbWJsZXIuCisgICAgICAgIEFkZGVkIHBvcENhbGxl
ZVNhdmVzIGFuZCBwdXNoQ2FsbGVlU2F2ZXMgcHNldWRvIG9wcyB0byB0aGUgb2ZmbGluZSBhc3Nl
bWJsZXIgdG8gaGFuZGxlCisgICAgICAgIHRoZSBzYXZpbmcgYW5kIHJlc3RvcmluZyBvZiBjYWxs
ZWUgc2F2ZSByZWdpc3RlcnMuICBGaXhlZCBjYWxsRnJhbWVSZWdpc3RlciBkaWZmZXJlbmNlcwor
ICAgICAgICBiZXR3ZWVuIGFybSB0cmFkaXRpb25hbCAocjExKSBhbmQgYXJtIFRodW1iMiAocjcp
IGluIEdQUkluZm8uaC4gIEFsc28gZml4ZWQgaW1wbGVtZW50YXRpb24KKyAgICAgICAgb2YgcG9w
ICYgcHVzaCBpbiBhcm0ucmIuCisKKyAgICAgICAgKiBkZmcvREZHRHJpdmVyLmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpjb21waWxlSW1wbCk6CisgICAgICAgICogaml0L0dQUkluZm8uaDoKKyAg
ICAgICAgKEpTQzo6R1BSSW5mbzo6dG9JbmRleCk6CisgICAgICAgIChKU0M6OkdQUkluZm86OmRl
YnVnTmFtZSk6CisgICAgICAgICogaml0L0pJVENvZGUuY3BwOgorICAgICAgICAoSlNDOjpKSVRD
b2RlOjpleGVjdXRlKToKKyAgICAgICAgKiBqaXQvSklURXhjZXB0aW9ucy5jcHA6CisgICAgICAg
IChKU0M6OmdlbmVyaWNVbndpbmQpOgorICAgICAgICAqIGppdC9UaHVua0dlbmVyYXRvcnMuY3Bw
OgorICAgICAgICAqIGppdC9UaHVua0dlbmVyYXRvcnMuaDoKKyAgICAgICAgKiBsbGludC9MTElu
dFRodW5rcy5oOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOgorICAg
ICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc206CisgICAgICAgICogbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToKKyAgICAgICAgKiBvZmZsaW5lYXNtL2FybS5y
YjoKKyAgICAgICAgKiBvZmZsaW5lYXNtL2FybTY0LnJiOgorICAgICAgICAqIG9mZmxpbmVhc20v
aW5zdHJ1Y3Rpb25zLnJiOgorICAgICAgICAqIG9mZmxpbmVhc20vbWlwcy5yYjoKKyAgICAgICAg
KiBvZmZsaW5lYXNtL3JlZ2lzdGVycy5yYjoKKyAgICAgICAgKiBvZmZsaW5lYXNtL3NoNC5yYjoK
KyAgICAgICAgKiBvZmZsaW5lYXNtL3g4Ni5yYjoKKyAgICAgICAgKiBydW50aW1lL1ZNLmNwcDoK
KyAgICAgICAgKEpTQzo6Vk06OlZNKToKKyAgICAgICAgKiBydW50aW1lL1ZNLmg6CisKIDIwMTMt
MTEtMTIgIEp1bGllbiBCcmlhbmNlYXUgIDxqYnJpYW5jZUBjaXNjby5jb20+CiAKICAgICAgICAg
W3NoNF0gRml4IGxvYWQzMldpdGhVbmFsaWduZWRIYWxmV29yZHMgZnVuY3Rpb24gaW4gYmFzZWxp
bmUgSklULgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEcml2ZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRHJpdmVyLmNwcAkocmV2
aXNpb24gMTU5MTY4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEcml2ZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC03OCw4ICs3OCw2IEBAIHN0YXRpYyBDb21waWxhdGlvblJlc3Vs
dCBjb21waWxlSW1wbCgKICAgICAKICAgICAvLyBNYWtlIHN1cmUgdGhhdCBhbnkgc3R1YnMgdGhh
dCB0aGUgREZHIGlzIGdvaW5nIHRvIHVzZSBhcmUgaW5pdGlhbGl6ZWQuIFdlIHdhbnQgdG8KICAg
ICAvLyBtYWtlIHN1cmUgdGhhdCBhbGwgSklUIGNvZGUgZ2VuZXJhdGlvbiBkb2VzIGZpbmFsaXph
dGlvbiBvbiB0aGUgbWFpbiB0aHJlYWQuCi0gICAgdm0uZ2V0Q1RJU3R1YihjYWxsVG9KYXZhU2Ny
aXB0KTsKLSAgICB2bS5nZXRDVElTdHViKHRocm93Tm90Q2F1Z2h0KTsKICAgICB2bS5nZXRDVElT
dHViKG9zckV4aXRHZW5lcmF0aW9uVGh1bmtHZW5lcmF0b3IpOwogICAgIHZtLmdldENUSVN0dWIo
dGhyb3dFeGNlcHRpb25Gcm9tQ2FsbFNsb3dQYXRoR2VuZXJhdG9yKTsKICAgICB2bS5nZXRDVElT
dHViKGxpbmtDYWxsVGh1bmtHZW5lcmF0b3IpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9HUFJJbmZvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9H
UFJJbmZvLmgJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
R1BSSW5mby5oCSh3b3JraW5nIGNvcHkpCkBAIC00NjAsNyArNDYwLDExIEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q0ID0gQVJNUmVnaXN0ZXJzOjpyODsKICAgICBzdGF0
aWMgY29uc3QgR1BSUmVnIHJlZ1Q1ID0gQVJNUmVnaXN0ZXJzOjpyOTsKICAgICBzdGF0aWMgY29u
c3QgR1BSUmVnIHJlZ1Q2ID0gQVJNUmVnaXN0ZXJzOjpyMTA7Ci0gICAgc3RhdGljIGNvbnN0IEdQ
UlJlZyByZWdUNyA9IEFSTVJlZ2lzdGVyczo6cjU7CisjaWYgQ1BVKEFSTV9USFVNQjIpCisgICAg
c3RhdGljIGNvbnN0IEdQUlJlZyByZWdUNyA9IEFSTVJlZ2lzdGVyczo6cjExOworI2Vsc2UgCisg
ICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdUNyA9IEFSTVJlZ2lzdGVyczo6cjc7CisjZW5kaWYK
ICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q4ID0gQVJNUmVnaXN0ZXJzOjpyMzsKICAgICAv
LyBUaGVzZSByZWdpc3RlcnMgbWF0Y2ggdGhlIGJhc2VsaW5lIEpJVC4KICAgICBzdGF0aWMgY29u
c3QgR1BSUmVnIGNhY2hlZFJlc3VsdFJlZ2lzdGVyID0gcmVnVDA7CkBAIC00ODgsOCArNDkyLDEz
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdW5zaWduZWQgdG9JbmRleChHUFJSZWcgcmVnKQogICAg
IHsKICAgICAgICAgQVNTRVJUKHJlZyAhPSBJbnZhbGlkR1BSUmVnKTsKLSAgICAgICAgQVNTRVJU
KHJlZyA8IDE2KTsKLSAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGluZGV4Rm9yUmVnaXN0
ZXJbMTZdID0geyAwLCAxLCAyLCA4LCAzLCA3LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwg
NCwgNSwgNiwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxp
ZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKKyAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGludD4o
cmVnKSA8IDE2KTsKKyAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGluZGV4Rm9yUmVnaXN0
ZXJbMTZdID0KKyNpZiBDUFUoQVJNX1RIVU1CMikKKyAgICAgICAgICAgIHsgMCwgMSwgMiwgOCwg
MywgOSwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIDQsIDUsIDYsIDcsIEludmFsaWRJbmRl
eCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCB9OworI2Vsc2UKKyAg
ICAgICAgICAgIHsgMCwgMSwgMiwgOCwgMywgOSwgSW52YWxpZEluZGV4LCA3LCA0LCA1LCA2LCBJ
bnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIElu
dmFsaWRJbmRleCB9OworI2VuZGlmCiAgICAgICAgIHVuc2lnbmVkIHJlc3VsdCA9IGluZGV4Rm9y
UmVnaXN0ZXJbcmVnXTsKICAgICAgICAgQVNTRVJUKHJlc3VsdCAhPSBJbnZhbGlkSW5kZXgpOwog
ICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtNDk4LDcgKzUwNyw3IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgY29uc3QgY2hhciogZGVidWdOYW1lKEdQUlJlZyByZWcpCiAgICAgewogICAgICAgICBB
U1NFUlQocmVnICE9IEludmFsaWRHUFJSZWcpOwotICAgICAgICBBU1NFUlQocmVnIDwgMTYpOwor
ICAgICAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8aW50PihyZWcpIDwgMTYpOwogICAgICAgICBzdGF0
aWMgY29uc3QgY2hhciogbmFtZUZvclJlZ2lzdGVyWzE2XSA9IHsKICAgICAgICAgICAgICJyMCIs
ICJyMSIsICJyMiIsICJyMyIsCiAgICAgICAgICAgICAicjQiLCAicjUiLCAicjYiLCAicjciLApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDb2RlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENvZGUuY3BwCShyZXZpc2lvbiAxNTkxNjgp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENvZGUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNiw4ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSklUQ29k
ZS5oIgogCisjaW5jbHVkZSAiTExJbnRUaHVua3MuaCIKICNpbmNsdWRlICJPcGVyYXRpb25zLmgi
Ci0jaW5jbHVkZSAiVGh1bmtHZW5lcmF0b3JzLmgiCiAjaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFt
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDYsNyArNDYsNyBAQCBKU1ZhbHVlIEpJVENvZGU6
OmV4ZWN1dGUoSlNTdGFjayogc3RhY2ssCiB7CiAgICAgVU5VU0VEX1BBUkFNKHN0YWNrKTsKIAot
ICAgIEpTVmFsdWUgcmVzdWx0ID0gSlNWYWx1ZTo6ZGVjb2RlKHZtLT5jYWxsSmF2YVNjcmlwdEpJ
VEZ1bmN0aW9uKGV4ZWN1dGFibGVBZGRyZXNzKCksIGNhbGxGcmFtZSkpOworICAgIEpTVmFsdWUg
cmVzdWx0ID0gSlNWYWx1ZTo6ZGVjb2RlKGNhbGxUb0phdmFTY3JpcHQoZXhlY3V0YWJsZUFkZHJl
c3MoKSwgY2FsbEZyYW1lKSk7CiAgICAgcmV0dXJuIHZtLT5leGNlcHRpb24oKSA/IGpzTnVsbCgp
IDogcmVzdWx0OwogfQogI2VuZGlmCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VEV4Y2VwdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklURXhjZXB0aW9ucy5jcHAJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklURXhjZXB0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcg
QEAKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgogI2lu
Y2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKyNpbmNsdWRlICJMTEludFRodW5rcy5oIgogI2luY2x1ZGUg
IlZNLmgiCiAjaW5jbHVkZSAiT3BlcmF0aW9ucy5oIgogCkBAIC00OSw3ICs1MCw3IEBAIHZvaWQg
Z2VuZXJpY1Vud2luZChWTSogdm0sIEV4ZWNTdGF0ZSogY2EKICAgICAgICAgY2F0Y2hQQ0Zvcklu
dGVycHJldGVyID0gJmNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPmluc3RydWN0aW9ucygpW2hhbmRs
ZXItPnRhcmdldF07CiAgICAgICAgIGNhdGNoUm91dGluZSA9IEV4ZWN1dGFibGVCYXNlOjpjYXRj
aFJvdXRpbmVGb3IoaGFuZGxlciwgY2F0Y2hQQ0ZvckludGVycHJldGVyKTsKICAgICB9IGVsc2UK
LSAgICAgICAgY2F0Y2hSb3V0aW5lID0gdm0tPmdldENUSVN0dWIodGhyb3dOb3RDYXVnaHQpLmNv
ZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpOworICAgICAgICBjYXRjaFJvdXRpbmUgPSBGdW5jdGlv
blB0cihMTEludDo6Z2V0Q29kZVB0cihyZXR1cm5Gcm9tSmF2YVNjcmlwdCkpLnZhbHVlKCk7CiAg
ICAgCiAgICAgdm0tPmNhbGxGcmFtZUZvclRocm93ID0gY2FsbEZyYW1lOwogICAgIHZtLT50YXJn
ZXRNYWNoaW5lUENGb3JUaHJvdyA9IGNhdGNoUm91dGluZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAJKHJldmlzaW9uIDE1OTE2OCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTYsMjc3ICs1Niw2IEBAIGlubGluZSB2b2lkIGVtaXRQb2ludGVyVmFsaWRhdGlv
bihDQ2FsbEgKICNlbmRpZgogfQogCi1zdGF0aWMgdm9pZCByZXR1cm5Gcm9tSmF2YVNjcmlwdChD
Q2FsbEhlbHBlcnMmIGppdCkKLXsKLSNpZiBDUFUoWDg2XzY0KQotI2lmIE9TKFdJTkRPV1MpCi0g
ICAgLy8gSklUIG9wZXJhdGlvbnMgY2FuIHVzZSB1cCB0byA2IGFyZ3MgKDQgaW4gcmVnaXN0ZXJz
IGFuZCAyIG9uIHRoZSBzdGFjaykuCi0gICAgLy8gSW4gYWRkaXRpb24sIFg4Nl82NCBBQkkgc3Bl
Y2lmaWVzIHRoYXQgdGhlIHdvcnNlIGNhc2Ugc3RhY2sgYWxpZ25tZW50Ci0gICAgLy8gcmVxdWly
ZW1lbnQgaXMgMzIgYnl0ZXMuIEJhc2VkIG9uIHRoZXNlIGZhY3RvcnMsIHdlIG5lZWQgdG8gcGFk
IHRoZSBzdGFjawotICAgIC8vIGFuZCBhZGRpdGlvbmFsIDQwIGJ5dGVzLgotIyAgIGRlZmluZSBF
WFRSQV9TVEFDS19TSVpFICAgICAgICAgICAgICA0MAotICAgIGppdC5hZGRQdHIoQ0NhbGxIZWxw
ZXJzOjpUcnVzdGVkSW1tMzIoOCksIFg4NlJlZ2lzdGVyczo6ZXNwKTsKLSNlbHNlCi0gICAgLy8g
V2UgZG9uJ3QgbmVlZCBleHRyYSBzdGFjayBzcGFjZSBmb3Igb3V0LWdvaW5nIGFyZ3MsIGJ1dCB3
ZSBuZWVkIHRvIGFsaWduIHRoZQotICAgIC8vIHN0YWNrIHRvIDMyIGJ5dGUgYWxpZ25tZW50LCB0
aGVyZWZvcmUgYWRkIDggYnl0ZXMgdG8gdGhlIHN0YWNrLgotIyAgIGRlZmluZSBFWFRSQV9TVEFD
S19TSVpFICAgICAgICAgICAgICA4Ci0gICAgaml0LmFkZFB0cihDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW0zMihFWFRSQV9TVEFDS19TSVpFKSwgWDg2UmVnaXN0ZXJzOjplc3ApOwotI2VuZGlmCi0K
LSAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6ZWJ4KTsKLSAgICBqaXQucG9wKFg4NlJlZ2lzdGVy
czo6cjE1KTsKLSAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6cjE0KTsKLSAgICBqaXQucG9wKFg4
NlJlZ2lzdGVyczo6cjEzKTsKLSAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6cjEyKTsKLSAgICBq
aXQucG9wKFg4NlJlZ2lzdGVyczo6ZWJwKTsKLSNlbGlmIENQVShYODYpCi0gICAgLy8gSklUIE9w
ZXJhdGlvbiBjYW4gdXNlIHVwIHRvIDYgYXJndW1lbnRzIHJpZ2h0IG5vdy4gU28sIHdlIG5lZWQg
dG8KLSAgICAvLyByZXNlcnZlIHNwYWNlIGluIHRoaXMgc3RhY2sgZnJhbWUgZm9yIHRoZSBvdXQt
Z29pbmcgYXJncy4gVG8gZW5zdXJlIHRoYXQKLSAgICAvLyB0aGUgc3RhY2sgcmVtYWlucyBhbGln
bmVkIG9uIGFuIDE2IGJ5dGUgYm91bmRhcnksIHdlIHJvdW5kIHRoZSBwYWRkaW5nIHVwCi0gICAg
Ly8gYnkgMjggYnl0ZXMuCi0jICAgZGVmaW5lIEVYVFJBX1NUQUNLX1NJWkUgMjgKLQotICAgIGpp
dC5hZGRQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoRVhUUkFfU1RBQ0tfU0laRSksIFg4
NlJlZ2lzdGVyczo6ZXNwKTsKLQotICAgIGppdC5wb3AoWDg2UmVnaXN0ZXJzOjplYngpOwotICAg
IGppdC5wb3AoWDg2UmVnaXN0ZXJzOjplZGkpOwotICAgIGppdC5wb3AoWDg2UmVnaXN0ZXJzOjpl
c2kpOwotICAgIGppdC5wb3AoWDg2UmVnaXN0ZXJzOjplYnApOwotI2VsaWYgQ1BVKEFSTV9UUkFE
SVRJT05BTCkKLSAgICAvLyBKSVQgT3BlcmF0aW9uIGNhbiB1c2UgdXAgdG8gNiBhcmd1bWVudHMg
cmlnaHQgbm93LiBTbywgd2UgbmVlZCB0bwotICAgIC8vIHJlc2VydmUgc3BhY2UgaW4gdGhpcyBz
dGFjayBmcmFtZSBmb3IgdGhlIG91dC1nb2luZyBhcmdzLiBXZSBuZWVkIHRvCi0gICAgLy8gYWRk
IHNwYWNlIGZvciAxNiBtb3JlIGJ5dGVzLgotIyAgIGRlZmluZSBFWFRSQV9TVEFDS19TSVpFICAg
ICAgICAgICAgICAxNgotCi0gICAgaml0LmFkZFB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0z
MihFWFRSQV9TVEFDS19TSVpFKSwgQVJNUmVnaXN0ZXJzOjpzcCk7Ci0KLSAgICBqaXQucG9wKEFS
TVJlZ2lzdGVyczo6bHIpOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyMTEpOwotICAgIGpp
dC5wb3AoQVJNUmVnaXN0ZXJzOjpyMTApOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyOSk7
Ci0gICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnI4KTsKLSAgICBqaXQucG9wKEFSTVJlZ2lzdGVy
czo6cjYpOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyNSk7Ci0gICAgaml0LnBvcChBUk1S
ZWdpc3RlcnM6OnI0KTsKLSNlbGlmIENQVShBUk1fVEhVTUIyKQotICAgIC8vIEpJVCBPcGVyYXRp
b24gY2FuIHVzZSB1cCB0byA2IGFyZ3VtZW50cyByaWdodCBub3cuIFNvLCB3ZSBuZWVkIHRvCi0g
ICAgLy8gcmVzZXJ2ZSBzcGFjZSBpbiB0aGlzIHN0YWNrIGZyYW1lIGZvciB0aGUgb3V0LWdvaW5n
IGFyZ3MuIFRvIGVuc3VyZSB0aGF0Ci0gICAgLy8gdGhlIHN0YWNrIHJlbWFpbnMgYWxpZ25lZCBv
biBhbiAxNiBieXRlIGJvdW5kYXJ5LCB3ZSByb3VuZCB0aGUgcGFkZGluZyB1cAotICAgIC8vIGJ5
IDI4IGJ5dGVzLgotIyAgIGRlZmluZSBFWFRSQV9TVEFDS19TSVpFICAgICAgICAgICAgICAyOAot
Ci0gICAgaml0LmFkZFB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihFWFRSQV9TVEFDS19T
SVpFKSwgQVJNUmVnaXN0ZXJzOjpzcCk7Ci0gICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnIxMSk7
Ci0gICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnIxMCk7Ci0gICAgaml0LnBvcChBUk1SZWdpc3Rl
cnM6OnI5KTsKLSAgICBqaXQucG9wKEFSTVJlZ2lzdGVyczo6cjgpOwotICAgIGppdC5wb3AoQVJN
UmVnaXN0ZXJzOjpyNyk7Ci0gICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnI2KTsKLSAgICBqaXQu
cG9wKEFSTVJlZ2lzdGVyczo6cjUpOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyNCk7Ci0g
ICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OmxyKTsKLSNlbGlmIENQVShBUk02NCkKLSAgICBqaXQu
cG9wKEFSTTY0UmVnaXN0ZXJzOjp4MjgpOwotICAgIGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6Ongy
Nyk7Ci0gICAgaml0LnBvcChBUk02NFJlZ2lzdGVyczo6eDI2KTsKLSAgICBqaXQucG9wKEFSTTY0
UmVnaXN0ZXJzOjp4MjUpOwotICAgIGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6OngyNCk7Ci0gICAg
aml0LnBvcChBUk02NFJlZ2lzdGVyczo6eDIzKTsKLSAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJz
Ojp4MjIpOwotICAgIGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6OngyMSk7Ci0gICAgaml0LnBvcChB
Uk02NFJlZ2lzdGVyczo6eDIwKTsKLSAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJzOjp4MTkpOwot
ICAgIGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6OmxyKTsKLSNlbGlmIENQVShNSVBTKQotIyAgIGRl
ZmluZSBQUkVTRVJWRURfR1BfT0ZGU0VUICAgICAgICAgNjAKLSMgICBkZWZpbmUgUFJFU0VSVkVE
X1MwX09GRlNFVCAgICAgICAgIDY0Ci0jICAgZGVmaW5lIFBSRVNFUlZFRF9TMV9PRkZTRVQgICAg
ICAgICA2OAotIyAgIGRlZmluZSBQUkVTRVJWRURfUzJfT0ZGU0VUICAgICAgICAgNzIKLSMgICBk
ZWZpbmUgUFJFU0VSVkVEX1MzX09GRlNFVCAgICAgICAgIDc2Ci0jICAgZGVmaW5lIFBSRVNFUlZF
RF9TNF9PRkZTRVQgICAgICAgICA4MAotIyAgIGRlZmluZSBQUkVTRVJWRURfUkVUVVJOX0FERFJF
U1NfT0ZGU0VUIDg0Ci0jICAgZGVmaW5lIFBSRVNFUlZFRF9GUF9PRkZTRVQgICAgICAgICA4OAot
IyAgIGRlZmluZSBTVEFDS19MRU5HVEggICAgICAgICAgICAgICAxMTIKLQotICAgIGppdC5sb2Fk
UHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX1Mw
X09GRlNFVCksIE1JUFNSZWdpc3RlcnM6OnMwKTsKLSAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9TMV9PRkZTRVQpLCBNSVBT
UmVnaXN0ZXJzOjpzMSk7Ci0gICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1J
UFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfUzJfT0ZGU0VUKSwgTUlQU1JlZ2lzdGVyczo6czIp
OwotICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpz
cCwgUFJFU0VSVkVEX1MzX09GRlNFVCksIE1JUFNSZWdpc3RlcnM6OnMzKTsKLSAgICBqaXQubG9h
ZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9T
NF9PRkZTRVQpLCBNSVBTUmVnaXN0ZXJzOjpzNCk7Ci0gICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxw
ZXJzOjpBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfUkVUVVJOX0FERFJFU1Nf
T0ZGU0VUKSwgTUlQU1JlZ2lzdGVyczo6cmEpOwotICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVy
czo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX0ZQX09GRlNFVCksIE1JUFNS
ZWdpc3RlcnM6OmZwKTsKLSAgICBqaXQuYWRkUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMy
KFNUQUNLX0xFTkdUSCksIE1JUFNSZWdpc3RlcnM6OnNwKTsKLSNlbGlmIENQVShTSDQpCi0jICAg
ZGVmaW5lIEVYVFJBX1NUQUNLX1NJWkUgMjAKLQotICAgIGppdC5hZGRQdHIoQ0NhbGxIZWxwZXJz
OjpUcnVzdGVkSW1tMzIoRVhUUkFfU1RBQ0tfU0laRSksIFNINFJlZ2lzdGVyczo6c3ApOwotICAg
IGppdC5wb3AoU0g0UmVnaXN0ZXJzOjpyOCk7Ci0gICAgaml0LnBvcChTSDRSZWdpc3RlcnM6OnI5
KTsKLSAgICBqaXQucG9wKFNINFJlZ2lzdGVyczo6cjEwKTsKLSAgICBqaXQucG9wKFNINFJlZ2lz
dGVyczo6cjExKTsKLSAgICBqaXQucG9wKFNINFJlZ2lzdGVyczo6cjEzKTsKLSAgICBqaXQucG9w
KFNINFJlZ2lzdGVyczo6cHIpOwotICAgIGppdC5wb3AoU0g0UmVnaXN0ZXJzOjpmcCk7Ci0jZW5k
aWYKLQotICAgIGppdC5yZXQoKTsKLX0KLQotTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGNhbGxUb0ph
dmFTY3JpcHQoVk0qIHZtKQotewotICAgIC8vIFRoZSBzaWduYXR1cmUgb2YgdGhlIGNvZGUgZ2Vu
ZXJhdGVkIGlzIEVuY29kZWRKU1ZhbHVlIGNhbGxUb0phdmFTY3JpcHQodm9pZCogY29kZSwgQ2Fs
bEZyYW1lKikKLQotICAgIENDYWxsSGVscGVycyBqaXQodm0pOwotCi0jaWYgQ1BVKFg4Nl82NCkK
LSNpZiBPUyhXSU5ET1dTKQotICAgIC8vIER1bXAgcmVnaXN0ZXIgcGFyYW1ldGVycyB0byB0aGVp
ciBob21lIGFkZHJlc3MKLSAgICBqaXQuc3RvcmVQdHIoWDg2UmVnaXN0ZXJzOjpyOSwgQ0NhbGxI
ZWxwZXJzOjpBZGRyZXNzKFg4NlJlZ2lzdGVyczo6ZXNwLCAweDIwKSk7Ci0gICAgaml0LnN0b3Jl
UHRyKFg4NlJlZ2lzdGVyczo6cjgsIENDYWxsSGVscGVyczo6QWRkcmVzcyhYODZSZWdpc3RlcnM6
OmVzcCwgMHgxOCkpOwotICAgIGppdC5zdG9yZVB0cihYODZSZWdpc3RlcnM6OmVkeCwgQ0NhbGxI
ZWxwZXJzOjpBZGRyZXNzKFg4NlJlZ2lzdGVyczo6ZXNwLCAweDEwKSk7Ci0gICAgaml0LnN0b3Jl
UHRyKFg4NlJlZ2lzdGVyczo6ZWN4LCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoWDg2UmVnaXN0ZXJz
Ojplc3AsIDB4OCkpOwotI2VuZGlmIC8vIE9TKFdJTkRPV1MpCi0gICAgaml0LnB1c2goWDg2UmVn
aXN0ZXJzOjplYnApOwotICAgIGppdC5tb3ZlKFg4NlJlZ2lzdGVyczo6ZWJwLCBHUFJJbmZvOjpu
b25BcmdHUFIwKTsKLSAgICBqaXQubW92ZShYODZSZWdpc3RlcnM6OmVzcCwgWDg2UmVnaXN0ZXJz
OjplYnApOwotICAgIGppdC5wdXNoKFg4NlJlZ2lzdGVyczo6cjEyKTsKLSAgICBqaXQucHVzaChY
ODZSZWdpc3RlcnM6OnIxMyk7Ci0gICAgaml0LnB1c2goWDg2UmVnaXN0ZXJzOjpyMTQpOwotICAg
IGppdC5wdXNoKFg4NlJlZ2lzdGVyczo6cjE1KTsKLSAgICBqaXQucHVzaChYODZSZWdpc3RlcnM6
OmVieCk7Ci0KLSAgICBqaXQuc3ViUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKEVYVFJB
X1NUQUNLX1NJWkUpLCBYODZSZWdpc3RlcnM6OmVzcCk7Ci0KLSMgICBkZWZpbmUgQ0FMTEZSQU1F
X1NSQ19SRUcgR1BSSW5mbzo6YXJndW1lbnRHUFIxCi0jICAgZGVmaW5lIFBSRVZJT1VTX0NBTExG
UkFNRV9SRUcgR1BSSW5mbzo6bm9uQXJnR1BSMAotI2VsaWYgQ1BVKFg4NikKLSAgICBqaXQucHVz
aChYODZSZWdpc3RlcnM6OmVicCk7Ci0gICAgaml0Lm1vdmUoWDg2UmVnaXN0ZXJzOjplYnAsIEdQ
UkluZm86Om5vbkFyZ0dQUjApOwotICAgIGppdC5tb3ZlKFg4NlJlZ2lzdGVyczo6ZXNwLCBYODZS
ZWdpc3RlcnM6OmVicCk7Ci0gICAgaml0LnB1c2goWDg2UmVnaXN0ZXJzOjplc2kpOwotICAgIGpp
dC5wdXNoKFg4NlJlZ2lzdGVyczo6ZWRpKTsKLSAgICBqaXQucHVzaChYODZSZWdpc3RlcnM6OmVi
eCk7Ci0KLSAgICBqaXQuc3ViUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKEVYVFJBX1NU
QUNLX1NJWkUpLCBYODZSZWdpc3RlcnM6OmVzcCk7Ci0KLSAgICBqaXQubG9hZDMyKENDYWxsSGVs
cGVyczo6QWRkcmVzcyhYODZSZWdpc3RlcnM6OmVzcCwgRVhUUkFfU1RBQ0tfU0laRSArIDI0KSwg
R1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwotCi0jICAgZGVmaW5lIENBTExGUkFNRV9TUkNf
UkVHIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyCi0jICAgZGVmaW5lIENBTExfQ09ERSBqaXQu
Y2FsbChDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoWDg2UmVnaXN0ZXJzOjplc3AsIEVYVFJBX1NUQUNL
X1NJWkUgKyAyMCkpCi0jICAgZGVmaW5lIFBSRVZJT1VTX0NBTExGUkFNRV9SRUcgR1BSSW5mbzo6
bm9uQXJnR1BSMAotI2VsaWYgQ1BVKEFSTV9UUkFESVRJT05BTCkKLSAgICBqaXQucHVzaChBUk1S
ZWdpc3RlcnM6OnI0KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI1KTsKLSAgICBqaXQu
cHVzaChBUk1SZWdpc3RlcnM6OnI2KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI4KTsK
LSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI5KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3Rl
cnM6OnIxMCk7Ci0gICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyMTEpOwotICAgIGppdC5wdXNo
KEFSTVJlZ2lzdGVyczo6bHIpOwotICAgIGppdC5tb3ZlKEFSTVJlZ2lzdGVyczo6cjExLCBHUFJJ
bmZvOjpub25BcmdHUFIwKTsKLSAgICBqaXQuc3ViUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZElt
bTMyKEVYVFJBX1NUQUNLX1NJWkUpLCBBUk1SZWdpc3RlcnM6OnNwKTsKLQotIyAgIGRlZmluZSBD
QUxMRlJBTUVfU1JDX1JFRyBHUFJJbmZvOjphcmd1bWVudEdQUjEKLSMgICBkZWZpbmUgUFJFVklP
VVNfQ0FMTEZSQU1FX1JFRyBHUFJJbmZvOjpub25BcmdHUFIwCi0jZWxpZiBDUFUoQVJNX1RIVU1C
MikKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OmxyKTsKLSAgICBqaXQucHVzaChBUk1SZWdp
c3RlcnM6OnI0KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI1KTsKLSAgICBqaXQucHVz
aChBUk1SZWdpc3RlcnM6OnI2KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI3KTsKLSAg
ICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI4KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6
OnI5KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnIxMCk7Ci0gICAgaml0LnB1c2goQVJN
UmVnaXN0ZXJzOjpyMTEpOwotICAgIGppdC5tb3ZlKEFSTVJlZ2lzdGVyczo6cjcsIEdQUkluZm86
Om5vbkFyZ0dQUjApOwotICAgIGppdC5zdWJQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIo
RVhUUkFfU1RBQ0tfU0laRSksIEFSTVJlZ2lzdGVyczo6c3ApOwotCi0jICAgZGVmaW5lIENBTExG
UkFNRV9TUkNfUkVHIEdQUkluZm86OmFyZ3VtZW50R1BSMQotIyAgIGRlZmluZSBQUkVWSU9VU19D
QUxMRlJBTUVfUkVHIEdQUkluZm86Om5vbkFyZ0dQUjAKLSNlbGlmIENQVShBUk02NCkKLSAgICBq
aXQucHVzaChBUk02NFJlZ2lzdGVyczo6bHIpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJz
Ojp4MTkpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjApOwotICAgIGppdC5wdXNo
KEFSTTY0UmVnaXN0ZXJzOjp4MjEpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjIp
OwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjMpOwotICAgIGppdC5wdXNoKEFSTTY0
UmVnaXN0ZXJzOjp4MjQpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjUpOwotICAg
IGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjYpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0
ZXJzOjp4MjcpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjgpOwotICAgIGppdC5w
dXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjkpOwotICAgIGppdC5tb3ZlKEFSTTY0UmVnaXN0ZXJzOjp4
MjksIEdQUkluZm86Om5vbkFyZ0dQUjApOwotCi0jICAgZGVmaW5lIENBTExGUkFNRV9TUkNfUkVH
IEdQUkluZm86OmFyZ3VtZW50R1BSMQotIyAgIGRlZmluZSBQUkVWSU9VU19DQUxMRlJBTUVfUkVH
IEdQUkluZm86Om5vbkFyZ0dQUjAKLSNlbGlmIENQVShNSVBTKQotICAgIGppdC5zdWJQdHIoQ0Nh
bGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoU1RBQ0tfTEVOR1RIKSwgTUlQU1JlZ2lzdGVyczo6c3Ap
OwotICAgIGppdC5zdG9yZVB0cihNSVBTUmVnaXN0ZXJzOjpmcCwgQ0NhbGxIZWxwZXJzOjpBZGRy
ZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfRlBfT0ZGU0VUKSk7Ci0gICAgaml0LnN0
b3JlUHRyKE1JUFNSZWdpc3RlcnM6OnJhLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lz
dGVyczo6c3AsIFBSRVNFUlZFRF9SRVRVUk5fQUREUkVTU19PRkZTRVQpKTsKLSAgICBqaXQuc3Rv
cmVQdHIoTUlQU1JlZ2lzdGVyczo6czQsIENDYWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0
ZXJzOjpzcCwgUFJFU0VSVkVEX1M0X09GRlNFVCkpOwotICAgIGppdC5zdG9yZVB0cihNSVBTUmVn
aXN0ZXJzOjpzMywgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVT
RVJWRURfUzNfT0ZGU0VUKSk7Ci0gICAgaml0LnN0b3JlUHRyKE1JUFNSZWdpc3RlcnM6OnMyLCBD
Q2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9TMl9PRkZT
RVQpKTsKLSAgICBqaXQuc3RvcmVQdHIoTUlQU1JlZ2lzdGVyczo6czEsIENDYWxsSGVscGVyczo6
QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX1MxX09GRlNFVCkpOwotICAgIGpp
dC5zdG9yZVB0cihNSVBTUmVnaXN0ZXJzOjpzMCwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1JUFNS
ZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfUzBfT0ZGU0VUKSk7Ci0jaWYgV1RGX01JUFNfUElDCi0g
ICAgaml0LnN0b3JlUHRyKE1JUFNSZWdpc3RlcnM6OmdwLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Mo
TUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9HUF9PRkZTRVQpKTsKLSNlbmRpZgotICAgIGpp
dC5tb3ZlKE1JUFNSZWdpc3RlcnM6OmZwLCBHUFJJbmZvOjpub25BcmdHUFIwKTsKLQotIyAgIGRl
ZmluZSBDQUxMRlJBTUVfU1JDX1JFRyBHUFJJbmZvOjphcmd1bWVudEdQUjEKLSMgICBkZWZpbmUg
UFJFVklPVVNfQ0FMTEZSQU1FX1JFRyBHUFJJbmZvOjpub25BcmdHUFIwCi0jZWxpZiBDUFUoU0g0
KQotICAgIGppdC5wdXNoKFNINFJlZ2lzdGVyczo6ZnApOwotICAgIGppdC5wdXNoKFNINFJlZ2lz
dGVyczo6cHIpOwotICAgIGppdC5wdXNoKFNINFJlZ2lzdGVyczo6cjEzKTsKLSAgICBqaXQucHVz
aChTSDRSZWdpc3RlcnM6OnIxMSk7Ci0gICAgaml0LnB1c2goU0g0UmVnaXN0ZXJzOjpyMTApOwot
ICAgIGppdC5wdXNoKFNINFJlZ2lzdGVyczo6cjkpOwotICAgIGppdC5wdXNoKFNINFJlZ2lzdGVy
czo6cjgpOwotICAgIGppdC5zdWJQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoRVhUUkFf
U1RBQ0tfU0laRSksIFNINFJlZ2lzdGVyczo6c3ApOwotICAgIGppdC5tb3ZlKFNINFJlZ2lzdGVy
czo6ZnAsIEdQUkluZm86Om5vbkFyZ0dQUjApOwotCi0jICAgZGVmaW5lIENBTExGUkFNRV9TUkNf
UkVHIEdQUkluZm86OmFyZ3VtZW50R1BSMQotIyAgIGRlZmluZSBQUkVWSU9VU19DQUxMRlJBTUVf
UkVHIEdQUkluZm86Om5vbkFyZ0dQUjAKLSNlbmRpZgotCi0gICAgaWYgKENBTExGUkFNRV9TUkNf
UkVHICE9IEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKQotICAgICAgICBqaXQubW92ZShDQUxM
RlJBTUVfU1JDX1JFRywgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwotICAgIGppdC5sb2Fk
UHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciksIEdQ
UkluZm86Om5vbkFyZ0dQUjEpOwotICAgIGppdC5zdG9yZVB0cihQUkVWSU9VU19DQUxMRlJBTUVf
UkVHLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6bm9uQXJnR1BSMSkpOwotCi0jaWYg
VVNFKEpTVkFMVUU2NCkKLSAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NCgw
eGZmZmYwMDAwMDAwMDAwMDBMKSwgR1BSSW5mbzo6dGFnVHlwZU51bWJlclJlZ2lzdGVyKTsKLSAg
ICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NCgweGZmZmYwMDAwMDAwMDAwMDJM
KSwgR1BSSW5mbzo6dGFnTWFza1JlZ2lzdGVyKTsKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChDQUxM
X0NPREUpCi0gICAgQ0FMTF9DT0RFOwotI2Vsc2UKLSAgICBqaXQuY2FsbChHUFJJbmZvOjphcmd1
bWVudEdQUjApOwotI2VuZGlmCi0KLSN1bmRlZiBDQUxMRlJBTUVfU1JDX1JFRwotI3VuZGVmIENB
TExfQ09ERQotI3VuZGVmIFBSRVZJT1VTX0NBTExGUkFNRV9SRUcKLQotICAgIHJldHVybkZyb21K
YXZhU2NyaXB0KGppdCk7Ci0KLSAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKCp2bSwgJmppdCwg
R0xPQkFMX1RIVU5LX0lEKTsKLSAgICByZXR1cm4gRklOQUxJWkVfQ09ERShwYXRjaEJ1ZmZlciwg
KCJDYWxsIHRvIEphdmFTY3JpcHQgdGh1bmsiKSk7Ci19Ci0KLU1hY3JvQXNzZW1ibGVyQ29kZVJl
ZiB0aHJvd05vdENhdWdodChWTSogdm0pCi17Ci0gICAgQ0NhbGxIZWxwZXJzIGppdCh2bSk7Ci0K
LSAgICByZXR1cm5Gcm9tSmF2YVNjcmlwdChqaXQpOwotCi0gICAgTGlua0J1ZmZlciBwYXRjaEJ1
ZmZlcigqdm0sICZqaXQsIEdMT0JBTF9USFVOS19JRCk7Ci0gICAgcmV0dXJuIEZJTkFMSVpFX0NP
REUocGF0Y2hCdWZmZXIsICgiVW5jYXVnaHQgdGhyb3cgdGh1bmsiKSk7Ci19Ci0KIC8vIFdlIHdp
bGwganVtcCBoZXJlIGlmIHRoZSBKSVQgY29kZSB0cmllcyB0byBtYWtlIGEgY2FsbCwgYnV0IHRo
ZQogLy8gbGlua2luZyBoZWxwZXIgKEMrKyBjb2RlKSBkZWNpZGVzIHRvIHRocm93IGFuIGV4Y2Vw
dGlvbiBpbnN0ZWFkLgogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHRocm93RXhjZXB0aW9uRnJvbUNh
bGxTbG93UGF0aEdlbmVyYXRvcihWTSogdm0pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L1RodW5rR2VuZXJhdG9ycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmgJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDkg
KzMxLDYgQEAKICNpZiBFTkFCTEUoSklUKQogbmFtZXNwYWNlIEpTQyB7CiAKLU1hY3JvQXNzZW1i
bGVyQ29kZVJlZiBjYWxsVG9KYXZhU2NyaXB0KFZNKik7Ci1NYWNyb0Fzc2VtYmxlckNvZGVSZWYg
dGhyb3dOb3RDYXVnaHQoVk0qKTsKLQogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHRocm93RXhjZXB0
aW9uRnJvbUNhbGxTbG93UGF0aEdlbmVyYXRvcihWTSopOwogCiBNYWNyb0Fzc2VtYmxlckNvZGVS
ZWYgbGlua0NhbGxUaHVua0dlbmVyYXRvcihWTSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50VGh1bmtzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50VGh1bmtzLmgJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFRodW5rcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxNCAr
MjgsMjAgQEAKIAogI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogCi0jaWYgRU5BQkxFKExMSU5U
KQotCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmgiCiAKIG5hbWVzcGFjZSBKU0Mg
ewogCitjbGFzcyBFeGVjU3RhdGU7CiBjbGFzcyBWTTsKIAorZXh0ZXJuICJDIiB7CisgICAgRW5j
b2RlZEpTVmFsdWUgY2FsbFRvSmF2YVNjcmlwdCh2b2lkKiwgRXhlY1N0YXRlKik7CisgICAgdm9p
ZCByZXR1cm5Gcm9tSmF2YVNjcmlwdCgpOworfQorCisjaWYgRU5BQkxFKExMSU5UKQorICAgIAog
bmFtZXNwYWNlIExMSW50IHsKIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGZ1bmN0aW9uRm9yQ2Fs
bEVudHJ5VGh1bmtHZW5lcmF0b3IoVk0qKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCShyZXZpc2lv
biAxNTkxNjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjMyXzY0LmFzbQkod29ya2luZyBjb3B5KQpAQCAtMTQ5LDYgKzE0OSw3NSBAQCBtYWNybyBj
YWxsU2xvd1BhdGgoc2xvd1BhdGgpCiAgICAgbW92ZSB0MSwgY2ZyCiBlbmQKIAorbWFjcm8gZnVu
Y3Rpb25Qcm9sb2d1ZShleHRyYVN0YWNrU3BhY2UpCisgICAgaWYgWDg2CisgICAgICAgIHB1c2gg
Y2ZyCisgICAgICAgIG1vdmUgc3AsIGNmcgorICAgIGVuZAorICAgIHB1c2hDYWxsZWVTYXZlcwor
ICAgIGlmIEFSTSBvciBBUk12NyBvciBBUk12N19UUkFESVRJT05BTCBvciBNSVBTCisgICAgICAg
IHB1c2ggY2ZyCisgICAgICAgIHB1c2ggbHIKKyAgICBlbmQKKyAgICBzdWJwIGV4dHJhU3RhY2tT
cGFjZSwgc3AKK2VuZAorCittYWNybyBmdW5jdGlvbkVwaWxvZ3VlKGV4dHJhU3RhY2tTcGFjZSkK
KyAgICBhZGRwIGV4dHJhU3RhY2tTcGFjZSwgc3AKKyAgICBpZiBBUk0gb3IgQVJNdjcgb3IgQVJN
djdfVFJBRElUSU9OQUwgb3IgTUlQUworICAgICAgICBwb3AgbHIKKyAgICAgICAgcG9wIGNmcgor
ICAgIGVuZAorICAgIHBvcENhbGxlZVNhdmVzCisgICAgaWYgWDg2CisgICAgICAgIHBvcCBjZnIK
KyAgICBlbmQKK2VuZAorCittYWNybyBkb0NhbGxUb0phdmFTY3JpcHQoKQorICAgIGlmIFg4Ngor
ICAgICAgICBjb25zdCBleHRyYVN0YWNrU3BhY2UgPSAyOAorICAgICAgICBjb25zdCBwcmV2aW91
c0NGUiA9IHQwCisgICAgICAgIGNvbnN0IGVudHJ5ID0gdDUKKyAgICAgICAgY29uc3QgbmV3Q2Fs
bEZyYW1lID0gdDQKKyAgICBlbHNpZiBBUk0gb3IgQVJNdjdfVFJBRElUSU9OQUwKKyAgICAgICAg
Y29uc3QgZXh0cmFTdGFja1NwYWNlID0gMTYKKyAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0
MyAgCisgICAgICAgIGNvbnN0IGVudHJ5ID0gYTAKKyAgICAgICAgY29uc3QgbmV3Q2FsbEZyYW1l
ID0gYTEKKyAgICBlbHNpZiBBUk12NworICAgICAgICBjb25zdCBleHRyYVN0YWNrU3BhY2UgPSAy
OAorICAgICAgICBjb25zdCBwcmV2aW91c0NGUiA9IHQzICAKKyAgICAgICAgY29uc3QgZW50cnkg
PSBhMAorICAgICAgICBjb25zdCBuZXdDYWxsRnJhbWUgPSBhMQorICAgIGVsc2lmIE1JUFMKKyAg
ICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNlID0gMjAKKyAgICAgICAgY29uc3QgcHJldmlvdXND
RlIgPSB0MiAgCisgICAgICAgIGNvbnN0IGVudHJ5ID0gYTAKKyAgICAgICAgY29uc3QgbmV3Q2Fs
bEZyYW1lID0gYTEKKyAgICBlbHNpZiBTSDQKKyAgICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNl
ID0gMjAKKyAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0MyAgCisgICAgICAgIGNvbnN0IGVu
dHJ5ID0gYTAKKyAgICAgICAgY29uc3QgbmV3Q2FsbEZyYW1lID0gYTEKKyAgICBlbmQKKworICAg
IGlmIFg4NgorICAgICAgICBtb3ZlIGNmciwgcHJldmlvdXNDRlIKKyAgICBlbmQKKyAgICBmdW5j
dGlvblByb2xvZ3VlKGV4dHJhU3RhY2tTcGFjZSkKKyAgICBpZiBYODYKKyAgICAgICAgbG9hZHAg
ZXh0cmFTdGFja1NwYWNlKzIwW3NwXSwgZW50cnkKKyAgICAgICAgbG9hZHAgZXh0cmFTdGFja1Nw
YWNlKzI0W3NwXSwgbmV3Q2FsbEZyYW1lCisgICAgZWxzZQorICAgICAgICBtb3ZlIGNmciwgcHJl
dmlvdXNDRlIKKyAgICBlbmQKKyAgICBtYWtlQ2FsbFRvSmF2YVNjcmlwdChlbnRyeSwgbmV3Q2Fs
bEZyYW1lLCBwcmV2aW91c0NGUikKK19yZXR1cm5Gcm9tSmF2YVNjcmlwdDoKKyAgICBmdW5jdGlv
bkVwaWxvZ3VlKGV4dHJhU3RhY2tTcGFjZSkKKyAgICByZXQKK2VuZAorCiAjIERlYnVnZ2luZyBv
cGVyYXRpb24gaWYgeW91J2QgbGlrZSB0byBwcmludCBhbiBvcGVyYW5kIGluIHRoZSBpbnN0cnVj
dGlvbiBzdHJlYW0uIGZyb21XaGVyZQogIyBzaG91bGQgYmUgYW4gaW1tZWRpYXRlIGludGVnZXIg
LSBhbnkgaW50ZWdlciB5b3UgbGlrZTsgdXNlIGl0IHRvIGlkZW50aWZ5IHRoZSBwbGFjZSB5b3Un
cmUKICMgZGVidWdnaW5nIGZyb20uIG9wZXJhbmQgc2hvdWxkIGxpa2V3aXNlIGJlIGFuIGltbWVk
aWF0ZSwgYW5kIHNob3VsZCBpZGVudGlmeSB0aGUgb3BlcmFuZApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20JKHJl
dmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtCSh3b3JraW5nIGNvcHkpCkBAIC04OCw2ICs4OCw1NCBAQCBtYWNybyBj
Q2FsbDQoZnVuY3Rpb24sIGFyZzEsIGFyZzIsIGFyZzMsCiAgICAgZW5kCiBlbmQKIAorbWFjcm8g
ZnVuY3Rpb25Qcm9sb2d1ZShleHRyYVN0YWNrU3BhY2UpCisgICAgaWYgWDg2XzY0CisgICAgICAg
IHB1c2ggY2ZyCisgICAgICAgIG1vdmUgc3AsIGNmcgorICAgIGVsc2lmIEFSTTY0CisgICAgICAg
IHB1c2ggbHIKKyAgICBlbmQKKyAgICBwdXNoQ2FsbGVlU2F2ZXMKKyAgICBpZiBYODZfNjQKKyAg
ICAgICAgc3VicCBleHRyYVN0YWNrU3BhY2UsIHNwCisgICAgZWxzaWYgQVJNNjQKKyAgICAgICAg
cHVzaCBjZnIKKyAgICBlbmQKK2VuZAorCittYWNybyBmdW5jdGlvbkVwaWxvZ3VlKGV4dHJhU3Rh
Y2tTcGFjZSkKKyAgICBpZiBYODZfNjQKKyAgICAgICAgYWRkcCBleHRyYVN0YWNrU3BhY2UsIHNw
CisgICAgZW5kCisgICAgcG9wQ2FsbGVlU2F2ZXMKKyAgICBpZiBYODZfNjQKKyAgICAgICAgcG9w
IGNmcgorICAgIGVsc2lmIEFSTTY0CisgICAgICAgIHBvcCBscgorICAgIGVuZAorZW5kCisKK21h
Y3JvIGRvQ2FsbFRvSmF2YVNjcmlwdCgpCisgICAgaWYgWDg2XzY0CisgICAgICAgIGNvbnN0IGV4
dHJhU3RhY2tTcGFjZSA9IDgKKyAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0MAorICAgICAg
ICBjb25zdCBlbnRyeSA9IHQ1CisgICAgICAgIGNvbnN0IG5ld0NhbGxGcmFtZSA9IHQ0CisgICAg
ZWxzaWYgQVJNNjQKKyAgICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNlID0gMAorICAgICAgICBj
b25zdCBwcmV2aW91c0NGUiA9IHQ0ICAKKyAgICAgICAgY29uc3QgZW50cnkgPSBhMAorICAgICAg
ICBjb25zdCBuZXdDYWxsRnJhbWUgPSBhMQorICAgIGVuZAorCisgICAgbW92ZSBjZnIsIHByZXZp
b3VzQ0ZSCisgICAgZnVuY3Rpb25Qcm9sb2d1ZShleHRyYVN0YWNrU3BhY2UpCisgICAgbWFrZUNh
bGxUb0phdmFTY3JpcHQoZW50cnksIG5ld0NhbGxGcmFtZSwgcHJldmlvdXNDRlIpCitfcmV0dXJu
RnJvbUphdmFTY3JpcHQ6CisgICAgZnVuY3Rpb25FcGlsb2d1ZShleHRyYVN0YWNrU3BhY2UpCisg
ICAgcmV0CitlbmQKKwogbWFjcm8gcHJlcGFyZVN0YXRlRm9yQ0NhbGwoKQogICAgIGxlYXAgW1BC
LCBQQywgOF0sIFBDCiAgICAgbW92ZSBQQiwgdDMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20JKHJldmlzaW9uIDE1OTE2
OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bQkod29ya2luZyBjb3B5KQpAQCAtNDIxLDYgKzQyMSwyMSBAQCBtYWNybyBkb1JldHVybigpCiAg
ICAgcmV0CiBlbmQKIAorbWFjcm8gbWFrZUNhbGxUb0phdmFTY3JpcHQoZW50cnksIG5ld0NhbGxG
cmFtZSwgcHJldmlvdXNDRlIpCisgICAgbW92ZSBuZXdDYWxsRnJhbWUsIGNmcgorICAgIGxvYWRw
IFtjZnJdLCBuZXdDYWxsRnJhbWUKKyAgICBzdG9yZXAgcHJldmlvdXNDRlIsIFtuZXdDYWxsRnJh
bWVdCisgICAgaWYgSlNWQUxVRTY0CisgICAgICAgIG1vdmUgMHhmZmZmMDAwMDAwMDAwMDAwLCBj
c3IxCisgICAgICAgIGFkZHAgMiwgY3NyMSwgY3NyMgorICAgIGVuZAorICAgIGNhbGwgZW50cnkK
K2VuZAorCisjIHN0dWIgdG8gY2FsbCBpbnRvIEphdmFTY3JpcHQKKyMgRW5jb2RlZEpTVmFsdWUg
Y2FsbFRvSmF2YVNjcmlwdCh2b2lkKiBjb2RlLCBSZWdpc3RlciogdG9wT2ZTdGFjaykKK19jYWxs
VG9KYXZhU2NyaXB0OgorICAgIGRvQ2FsbFRvSmF2YVNjcmlwdCgpCiAKICMgSW5kaWNhdGUgdGhl
IGJlZ2lubmluZyBvZiBMTEludC4KIF9sbGludF9iZWdpbjoKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9vZmZsaW5lYXNtL2FybTY0LnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9vZmZsaW5lYXNtL2FybTY0LnJiCShyZXZpc2lvbiAxNTkxNjgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hcm02NC5yYgkod29ya2luZyBjb3B5KQpAQCAtMzgs
NyArMzgsOCBAQCByZXF1aXJlICJyaXNjIgogIwogIyAgeDAgID0+IHJldHVybiB2YWx1ZSwgY2Fj
aGVkIHJlc3VsdCwgZmlyc3QgYXJndW1lbnQsIHQwLCBhMCwgcjAKICMgIHgxICA9PiB0MSwgYTEs
IHIxCi0jICB4MiAgPT4gdDIKKyMgIHgyICA9PiB0MiwgYTIKKyMgIHgzICA9PiBhMwogIyAgeDkg
ID0+IChub25BcmdHUFIxIGluIGJhc2VsaW5lKQogIyB4MTAgID0+IHQ0ICh1bnVzZWQgaW4gYmFz
ZWxpbmUpCiAjIHgxMSAgPT4gdDUgKHVudXNlZCBpbiBiYXNlbGluZSkKQEAgLTQ3LDEwICs0OCw5
IEBAIHJlcXVpcmUgInJpc2MiCiAjIHgxNiAgPT4gc2NyYXRjaAogIyB4MTcgID0+IHNjcmF0Y2gK
ICMgeDIzICA9PiB0MwotIyB4MjUgID0+IGNmcgotIyB4MjYgID0+IHRpbWVvdXQgY2hlY2sgKGku
ZS4gbm90IHRvdWNoZWQgYnkgTExJbnQpCiAjIHgyNyAgPT4gY3NyMSAodGFnVHlwZU51bWJlcikK
ICMgeDI4ICA9PiBjc3IyICh0YWdNYXNrKQorIyB4MjkgID0+IGNmcgogIyAgc3AgID0+IHNwCiAj
ICBsciAgPT4gbHIKICMKQEAgLTEwNiw4ICsxMDYsMTAgQEAgY2xhc3MgUmVnaXN0ZXJJRAogICAg
ICAgICAgICAgYXJtNjRHUFJOYW1lKCd4MCcsIGtpbmQpCiAgICAgICAgIHdoZW4gJ3QxJywgJ2Ex
JywgJ3IxJwogICAgICAgICAgICAgYXJtNjRHUFJOYW1lKCd4MScsIGtpbmQpCi0gICAgICAgIHdo
ZW4gJ3QyJworICAgICAgICB3aGVuICd0MicsICdhMicKICAgICAgICAgICAgIGFybTY0R1BSTmFt
ZSgneDInLCBraW5kKQorICAgICAgICB3aGVuICdhMycKKyAgICAgICAgICAgIGFybTY0R1BSTmFt
ZSgneDMnLCBraW5kKQogICAgICAgICB3aGVuICd0MycKICAgICAgICAgICAgIGFybTY0R1BSTmFt
ZSgneDIzJywga2luZCkKICAgICAgICAgd2hlbiAndDQnCkBAIC01NjcsNiArNTY5LDI4IEBAIGNs
YXNzIEluc3RydWN0aW9uCiAgICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQoInBvcCIsIG9w
ZXJhbmRzLCA6cHRyKQogICAgICAgICB3aGVuICJwdXNoIgogICAgICAgICAgICAgZW1pdEFSTTY0
VW5mbGlwcGVkKCJwdXNoIiwgb3BlcmFuZHMsIDpwdHIpCisgICAgICAgIHdoZW4gInBvcENhbGxl
ZVNhdmVzIgorICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwb3AiLCAieDI4IiwgOnB0
cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBlZCgicG9wIiwgIngyNyIsIDpwdHIpCisg
ICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQoInBvcCIsICJ4MjYiLCA6cHRyKQorICAgICAg
ICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwb3AiLCAieDI1IiwgOnB0cikKKyAgICAgICAgICAg
IGVtaXRBUk02NFVuZmxpcHBlZCgicG9wIiwgIngyNCIsIDpwdHIpCisgICAgICAgICAgICBlbWl0
QVJNNjRVbmZsaXBwZWQoInBvcCIsICJ4MjMiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0
VW5mbGlwcGVkKCJwb3AiLCAieDIyIiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxp
cHBlZCgicG9wIiwgIngyMSIsIDpwdHIpCisgICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQo
InBvcCIsICJ4MjAiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwb3Ai
LCAieDE5IiwgOnB0cikKKyAgICAgICAgd2hlbiAicHVzaENhbGxlZVNhdmVzIgorICAgICAgICAg
ICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwdXNoIiwgIngxOSIsIDpwdHIpCisgICAgICAgICAgICBl
bWl0QVJNNjRVbmZsaXBwZWQoInB1c2giLCAieDIwIiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRB
Uk02NFVuZmxpcHBlZCgicHVzaCIsICJ4MjEiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0
VW5mbGlwcGVkKCJwdXNoIiwgIngyMiIsIDpwdHIpCisgICAgICAgICAgICBlbWl0QVJNNjRVbmZs
aXBwZWQoInB1c2giLCAieDIzIiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBl
ZCgicHVzaCIsICJ4MjQiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJw
dXNoIiwgIngyNSIsIDpwdHIpCisgICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQoInB1c2gi
LCAieDI2IiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBlZCgicHVzaCIsICJ4
MjciLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwdXNoIiwgIngyOCIs
IDpwdHIpCiAgICAgICAgIHdoZW4gIm1vdmUiCiAgICAgICAgICAgICBpZiBvcGVyYW5kc1swXS5p
bW1lZGlhdGU/CiAgICAgICAgICAgICAgICAgZW1pdEFSTTY0TW92ZUltbWVkaWF0ZShvcGVyYW5k
c1swXS52YWx1ZSwgb3BlcmFuZHNbMV0pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvb2Zm
bGluZWFzbS9hcm0ucmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxp
bmVhc20vYXJtLnJiCShyZXZpc2lvbiAxNTkxNjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
b2ZmbGluZWFzbS9hcm0ucmIJKHdvcmtpbmcgY29weSkKQEAgLTk3LDcgKzk3LDkgQEAgY2xhc3Mg
UmVnaXN0ZXJJRAogICAgICAgICB3aGVuICJ0MyIKICAgICAgICAgICAgICJyNCIKICAgICAgICAg
d2hlbiAidDQiCi0gICAgICAgICAgICAicjEwIgorICAgICAgICAgICAgInI4IgorICAgICAgICB3
aGVuICJ0NSIKKyAgICAgICAgICAgICJyOSIKICAgICAgICAgd2hlbiAiY2ZyIgogICAgICAgICAg
ICAgaXNBUk12NyA/ICAicjciIDogInIxMSIKICAgICAgICAgd2hlbiAibHIiCkBAIC00NTEsOSAr
NDUzLDIxIEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAgICAgICAjIEZJWE1FOiBlaXRoZXIg
c3VwcG9ydCB0aGlzIG9yIHJlbW92ZSBpdC4KICAgICAgICAgICAgIHJhaXNlICJBUk0gZG9lcyBu
b3Qgc3VwcG9ydCB0aGlzIG9wY29kZSB5ZXQsICN7Y29kZU9yaWdpbn0iCiAgICAgICAgIHdoZW4g
InBvcCIKLSAgICAgICAgICAgICRhc20ucHV0cyAicG9wICN7b3BlcmFuZHNbMF0uYXJtT3BlcmFu
ZH0iCisgICAgICAgICAgICAkYXNtLnB1dHMgInBvcCB7ICN7b3BlcmFuZHNbMF0uYXJtT3BlcmFu
ZH0gfSIKICAgICAgICAgd2hlbiAicHVzaCIKLSAgICAgICAgICAgICRhc20ucHV0cyAicHVzaCAj
e29wZXJhbmRzWzBdLmFybU9wZXJhbmR9IgorICAgICAgICAgICAgJGFzbS5wdXRzICJwdXNoIHsg
I3tvcGVyYW5kc1swXS5hcm1PcGVyYW5kfSB9IgorICAgICAgICB3aGVuICJwb3BDYWxsZWVTYXZl
cyIKKyAgICAgICAgICAgIGlmIGlzQVJNdjcKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInBv
cCB7cjQtcjYsIHI4LXIxMX0iICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgICRhc20ucHV0cyAicG9wIHtyNC1yMTB9IgorICAgICAgICAgICAgZW5kCisg
ICAgICAgIHdoZW4gInB1c2hDYWxsZWVTYXZlcyIKKyAgICAgICAgICAgIGlmIGlzQVJNdjcKKyAg
ICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2gge3I0LXI2LCByOC1yMTF9IgorICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICRhc20ucHV0cyAicHVzaCB7cjQtcjEwfSIKKyAgICAg
ICAgICAgIGVuZAogICAgICAgICB3aGVuICJtb3ZlIgogICAgICAgICAgICAgaWYgb3BlcmFuZHNb
MF0uaW1tZWRpYXRlPwogICAgICAgICAgICAgICAgIGFybU1vdmVJbW1lZGlhdGUob3BlcmFuZHNb
MF0udmFsdWUsIG9wZXJhbmRzWzFdKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxp
bmVhc20vaW5zdHJ1Y3Rpb25zLnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9vZmZsaW5lYXNtL2luc3RydWN0aW9ucy5yYgkocmV2aXNpb24gMTU5MTY4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vaW5zdHJ1Y3Rpb25zLnJiCSh3b3JraW5nIGNvcHkp
CkBAIC0yNDksNiArMjQ5LDggQEAgTUFDUk9fSU5TVFJVQ1RJT05TID0KICAgICAgImJueiIsCiAg
ICAgICJsZWFpIiwKICAgICAgImxlYXAiLAorICAgICAicHVzaENhbGxlZVNhdmVzIiwKKyAgICAg
InBvcENhbGxlZVNhdmVzIgogICAgIF0KIAogWDg2X0lOU1RSVUNUSU9OUyA9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9taXBzLnJiCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL21pcHMucmIJKHJldmlzaW9uIDE1OTE2OCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL21pcHMucmIJKHdvcmtpbmcgY29weSkK
QEAgLTgyLDYgKzgyLDEwIEBAIGNsYXNzIFJlZ2lzdGVySUQKICAgICAgICAgICAgICIkYTAiCiAg
ICAgICAgIHdoZW4gImExIgogICAgICAgICAgICAgIiRhMSIKKyAgICAgICAgd2hlbiAiYTIiCisg
ICAgICAgICAgICAiJGEyIgorICAgICAgICB3aGVuICJhMyIKKyAgICAgICAgICAgICIkYTMiCiAg
ICAgICAgIHdoZW4gInIwIiwgInQwIgogICAgICAgICAgICAgIiR2MCIKICAgICAgICAgd2hlbiAi
cjEiLCAidDEiCkBAIC03OTIsNiArNzk2LDIwIEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAg
IHdoZW4gInB1c2giCiAgICAgICAgICAgICAkYXNtLnB1dHMgImFkZGl1ICRzcCwgJHNwLCAtNCIK
ICAgICAgICAgICAgICRhc20ucHV0cyAic3cgI3tvcGVyYW5kc1swXS5taXBzT3BlcmFuZH0sIDAo
JHNwKSIKKyAgICAgICAgd2hlbiAicG9wQ2FsbGVlU2F2ZXMiCisgICAgICAgICAgICAkYXNtLnB1
dHMgImx3ICQxNiwgMCgkc3ApIgorICAgICAgICAgICAgJGFzbS5wdXRzICJsdyAkMTcsIDQoJHNw
KSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibHcgJDE4LCA4KCRzcCkiCisgICAgICAgICAgICAk
YXNtLnB1dHMgImx3ICQxOSwgMTIoJHNwKSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibHcgJDIw
LCAxNigkc3ApIgorICAgICAgICAgICAgJGFzbS5wdXRzICJhZGRpdSAkc3AsICRzcCwgMjAiCisg
ICAgICAgIHdoZW4gInB1c2hDYWxsZWVTYXZlcyIKKyAgICAgICAgICAgICRhc20ucHV0cyAiYWRk
aXUgJHNwLCAkc3AsIC0yMCIKKyAgICAgICAgICAgICRhc20ucHV0cyAic3cgJDIwLCAxNigkc3Ap
IgorICAgICAgICAgICAgJGFzbS5wdXRzICJzdyAkMTksIDEyKCRzcCkiCisgICAgICAgICAgICAk
YXNtLnB1dHMgInN3ICQxOCwgOCgkc3ApIgorICAgICAgICAgICAgJGFzbS5wdXRzICJzdyAkMTcs
IDQoJHNwKSIKKyAgICAgICAgICAgICRhc20ucHV0cyAic3cgJDE2LCAwKCRzcCkiCiAgICAgICAg
IHdoZW4gIm1vdmUiLCAic3hpMnAiLCAienhpMnAiCiAgICAgICAgICAgICBpZiBvcGVyYW5kc1sw
XS5pc19hPyBJbW1lZGlhdGUKICAgICAgICAgICAgICAgICBtaXBzTW92ZUltbWVkaWF0ZShvcGVy
YW5kc1swXS52YWx1ZSwgb3BlcmFuZHNbMV0pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
b2ZmbGluZWFzbS9yZWdpc3RlcnMucmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL29mZmxpbmVhc20vcmVnaXN0ZXJzLnJiCShyZXZpc2lvbiAxNTkxNjgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9yZWdpc3RlcnMucmIJKHdvcmtpbmcgY29weSkKQEAg
LTMwLDE5ICszMCwyMSBAQCBHUFJTID0KICAgICAgInQyIiwKICAgICAgInQzIiwKICAgICAgInQ0
IiwKKyAgICAgInQ1IiwKICAgICAgImNmciIsCiAgICAgICJhMCIsCiAgICAgICJhMSIsCisgICAg
ICJhMiIsCisgICAgICJhMyIsCiAgICAgICJyMCIsCiAgICAgICJyMSIsCiAgICAgICJzcCIsCiAg
ICAgICJsciIsCiAgICAgIAogICAgICAjIDY0LWJpdCBvbmx5IHJlZ2lzdGVyczoKLSAgICAgInQ1
IiwKLSAgICAgInQ2IiwgICMgcjEwCi0gICAgICJjc3IxIiwgICMgcjE0LCB0YWcgdHlwZSBudW1i
ZXIgcmVnaXN0ZXIKLSAgICAgImNzcjIiICAgIyByMTUsIHRhZyBtYXNrIHJlZ2lzdGVyCisgICAg
ICJ0NiIsCisgICAgICJjc3IxIiwgICMgdGFnIHR5cGUgbnVtYmVyIHJlZ2lzdGVyCisgICAgICJj
c3IyIiAgICMgdGFnIG1hc2sgcmVnaXN0ZXIKICAgICBdCiAKIEZQUlMgPQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vc2g0LnJiCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3NoNC5yYgkocmV2aXNpb24gMTU5MTY4KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vc2g0LnJiCSh3b3JraW5nIGNvcHkpCkBAIC02
MSw2ICs2MSwxMCBAQCBjbGFzcyBSZWdpc3RlcklECiAgICAgICAgICAgICAicjQiCiAgICAgICAg
IHdoZW4gImExIgogICAgICAgICAgICAgInI1IgorICAgICAgICB3aGVuICJhMiIKKyAgICAgICAg
ICAgICJyNiIKKyAgICAgICAgd2hlbiAiYTMiCisgICAgICAgICAgICAicjciCiAgICAgICAgIHdo
ZW4gInQwIgogICAgICAgICAgICAgInIwIgogICAgICAgICB3aGVuICJ0MSIKQEAgLTcwLDcgKzc0
LDkgQEAgY2xhc3MgUmVnaXN0ZXJJRAogICAgICAgICB3aGVuICJ0MyIKICAgICAgICAgICAgICJy
MTAiCiAgICAgICAgIHdoZW4gInQ0IgotICAgICAgICAgICAgInI2IgorICAgICAgICAgICAgInI0
IgorICAgICAgICB3aGVuICJ0NSIKKyAgICAgICAgICAgICJyNSIKICAgICAgICAgd2hlbiAiY2Zy
IgogICAgICAgICAgICAgInIxNCIKICAgICAgICAgd2hlbiAic3AiCkBAIC05MDUsNiArOTExLDIy
IEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAgICAgICAkYXNtLnB1dHMgImxkcyAje3NoNE9w
ZXJhbmRzKG9wZXJhbmRzKX0sIHByIgogICAgICAgICB3aGVuICJzdHNwciIKICAgICAgICAgICAg
ICRhc20ucHV0cyAic3RzIHByLCAje3NoNE9wZXJhbmRzKG9wZXJhbmRzKX0iCisgICAgICAgIHdo
ZW4gInBvcENhbGxlZVNhdmVzIgorICAgICAgICAgICAgJGFzbS5wdXRzICJtb3YubCBAcjE1Kywg
cjgiCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdi5sIEByMTUrLCByOSIKKyAgICAgICAgICAg
ICRhc20ucHV0cyAibW92LmwgQHIxNSssIHIxMCIKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92
LmwgQHIxNSssIHIxMSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92LmwgQHIxNSssIHIxMyIK
KyAgICAgICAgICAgICRhc20ucHV0cyAibGRzLmwgQHIxNSsscHIiCisgICAgICAgICAgICAkYXNt
LnB1dHMgIm1vdi5sIEByMTUrLCBmcCIKKyAgICAgICAgd2hlbiAicHVzaENhbGxlZVNhdmVzIgor
ICAgICAgICAgICAgJGFzbS5wdXRzICJtb3YubCBmcCwgQC1yMTUiCisgICAgICAgICAgICAkYXNt
LnB1dHMgInN0cy5sIHByLCBALXIxNSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92LmwgcjEz
LCBALXIxNSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92LmwgcjExLCBALXIxNSIKKyAgICAg
ICAgICAgICRhc20ucHV0cyAibW92LmwgcjEwLCBALXIxNSIKKyAgICAgICAgICAgICRhc20ucHV0
cyAibW92LmwgcjksIEAtcjE1IgorICAgICAgICAgICAgJGFzbS5wdXRzICJtb3YubCByOCwgQC1y
MTUiCiAgICAgICAgIHdoZW4gImJyZWFrIgogICAgICAgICAgICAgIyBUaGlzIHNwZWNpYWwgb3Bj
b2RlIGFsd2F5cyBnZW5lcmF0ZXMgYW4gaWxsZWdhbCBpbnN0cnVjdGlvbiBleGNlcHRpb24uCiAg
ICAgICAgICAgICAkYXNtLnB1dHMgIi53b3JkIDB4ZmZmZCIKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9vZmZsaW5lYXNtL3g4Ni5yYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvb2ZmbGluZWFzbS94ODYucmIJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9vZmZsaW5lYXNtL3g4Ni5yYgkod29ya2luZyBjb3B5KQpAQCAtNzQsMTEgKzc0
LDExIEBAIFg2NF9TQ1JBVENIX1JFR0lTVEVSID0gU3BlY2lhbFJlZ2lzdGVyLm4KIGNsYXNzIFJl
Z2lzdGVySUQKICAgICBkZWYgc3VwcG9ydHM4Qml0T25YODYKICAgICAgICAgY2FzZSBuYW1lCi0g
ICAgICAgIHdoZW4gInQwIiwgImEwIiwgInIwIiwgInQxIiwgImExIiwgInIxIiwgInQyIiwgInQz
IgorICAgICAgICB3aGVuICJ0MCIsICJhMCIsICJyMCIsICJ0MSIsICJhMSIsICJyMSIsICJ0MiIs
ICJ0MyIsICJ0NCIsICJ0NSIKICAgICAgICAgICAgIHRydWUKICAgICAgICAgd2hlbiAiY2ZyIiwg
InR0bnIiLCAidG1yIgogICAgICAgICAgICAgZmFsc2UKLSAgICAgICAgd2hlbiAidDQiLCAidDUi
CisgICAgICAgIHdoZW4gInQ2IgogICAgICAgICAgICAgaXNYNjQKICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgcmFpc2UKQEAgLTIwNCw3ICsyMDQsNiBAQCBjbGFzcyBSZWdpc3RlcklECiAgICAg
ICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgIGVuZAogICAgICAgICB3aGVuICJ0NSIKLSAg
ICAgICAgICAgIHJhaXNlICJDYW5ub3QgdXNlICN7bmFtZX0gaW4gMzItYml0IFg4NiBhdCAje2Nv
ZGVPcmlnaW5TdHJpbmd9IiB1bmxlc3MgaXNYNjQKICAgICAgICAgICAgIGNhc2Uga2luZAogICAg
ICAgICAgICAgd2hlbiA6Ynl0ZQogICAgICAgICAgICAgICAgICIlZGlsIgpAQCAtMjEzLDkgKzIx
Miw5IEBAIGNsYXNzIFJlZ2lzdGVySUQKICAgICAgICAgICAgIHdoZW4gOmludAogICAgICAgICAg
ICAgICAgICIlZWRpIgogICAgICAgICAgICAgd2hlbiA6cHRyCi0gICAgICAgICAgICAgICAgIiVy
ZGkiCisgICAgICAgICAgICAgICAgaXNYNjQgPyAiJXJkaSIgOiAiJWVkaSIKICAgICAgICAgICAg
IHdoZW4gOnF1YWQKLSAgICAgICAgICAgICAgICAiJXJkaSIKKyAgICAgICAgICAgICAgICBpc1g2
NCA/ICIlcmRpIiA6IHJhaXNlCiAgICAgICAgICAgICBlbmQKICAgICAgICAgd2hlbiAidDYiCiAg
ICAgICAgICAgICByYWlzZSAiQ2Fubm90IHVzZSAje25hbWV9IGluIDMyLWJpdCBYODYgYXQgI3tj
b2RlT3JpZ2luU3RyaW5nfSIgdW5sZXNzIGlzWDY0CkBAIC05ODIsNiArOTgxLDMwIEBAIGNsYXNz
IEluc3RydWN0aW9uCiAgICAgICAgICAgICAkYXNtLnB1dHMgInBvcCAje29wZXJhbmRzWzBdLng4
Nk9wZXJhbmQoOnB0cil9IgogICAgICAgICB3aGVuICJwdXNoIgogICAgICAgICAgICAgJGFzbS5w
dXRzICJwdXNoICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6cHRyKX0iCisgICAgICAgIHdoZW4g
InBvcENhbGxlZVNhdmVzIgorICAgICAgICAgICAgaWYgaXNYNjQKKyAgICAgICAgICAgICAgICAk
YXNtLnB1dHMgInBvcCAlcmJ4IgorICAgICAgICAgICAgICAgICRhc20ucHV0cyAicG9wICVyMTUi
CisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJwb3AgJXIxNCIKKyAgICAgICAgICAgICAgICAk
YXNtLnB1dHMgInBvcCAlcjEzIgorICAgICAgICAgICAgICAgICRhc20ucHV0cyAicG9wICVyMTIi
CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJwb3AgJWVieCIK
KyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInBvcCAlZWRpIgorICAgICAgICAgICAgICAgICRh
c20ucHV0cyAicG9wICVlc2kiCisgICAgICAgICAgICBlbmQKKyAgICAgICAgd2hlbiAicHVzaENh
bGxlZVNhdmVzIgorICAgICAgICAgICAgaWYgaXNYNjQKKyAgICAgICAgICAgICAgICAkYXNtLnB1
dHMgInB1c2ggJXIxMiIKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2ggJXIxMyIKKyAg
ICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2ggJXIxNCIKKyAgICAgICAgICAgICAgICAkYXNt
LnB1dHMgInB1c2ggJXIxNSIKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2ggJXJieCIK
KyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2ggJWVzaSIK
KyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2ggJWVkaSIKKyAgICAgICAgICAgICAgICAk
YXNtLnB1dHMgInB1c2ggJWVieCIKKyAgICAgICAgICAgIGVuZAogICAgICAgICB3aGVuICJtb3Zl
IgogICAgICAgICAgICAgaGFuZGxlTW92ZQogICAgICAgICB3aGVuICJzeGkycSIKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU3LDgg
KzI1Nyw2IEBAIFZNOjpWTShWTVR5cGUgdm1UeXBlLCBIZWFwVHlwZSBoZWFwVHlwZSkKIAogI2lm
IEVOQUJMRShKSVQpCiAgICAgaml0U3R1YnMgPSBhZG9wdFB0cihuZXcgSklUVGh1bmtzKCkpOwot
Ci0gICAgY2FsbEphdmFTY3JpcHRKSVRGdW5jdGlvbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Q2FsbEph
dmFTY3JpcHRKSVRGdW5jdGlvbj4oZ2V0Q1RJU3R1YihjYWxsVG9KYXZhU2NyaXB0KS5jb2RlKCku
ZXhlY3V0YWJsZUFkZHJlc3MoKSk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShGVExfSklUKQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCShyZXZpc2lvbiAxNTkxNjgpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMjksMTAg
KzMyOSw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgcmV0dXJuIGppdFN0dWJzLT5j
dGlTdHViKHRoaXMsIGdlbmVyYXRvcik7CiAgICAgICAgIH0KICAgICAgICAgTmF0aXZlRXhlY3V0
YWJsZSogZ2V0SG9zdEZ1bmN0aW9uKE5hdGl2ZUZ1bmN0aW9uLCBJbnRyaW5zaWMpOwotCi0gICAg
ICAgIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUoKkNhbGxKYXZhU2NyaXB0SklURnVuY3Rpb24pKHZv
aWQgKiwgRXhlY1N0YXRlKik7Ci0KLSAgICAgICAgQ2FsbEphdmFTY3JpcHRKSVRGdW5jdGlvbiBj
YWxsSmF2YVNjcmlwdEpJVEZ1bmN0aW9uOwogI2VuZGlmCiAjaWYgRU5BQkxFKEZUTF9KSVQpCiAg
ICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxGVEw6OlRodW5rcz4gZnRsVGh1bmtzOwo=
</data>
<flag name="commit-queue"
          id="239866"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216836</attachid>
            <date>2013-11-13 12:09:24 -0800</date>
            <delta_ts>2013-11-13 23:36:51 -0800</delta_ts>
            <desc>Patch with fix for windows</desc>
            <filename>124251-4.patch</filename>
            <type>text/plain</type>
            <size>38761</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU5MjA5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBA
CisyMDEzLTExLTEzICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENoYW5nZSBjYWxsVG9KYXZhU2NyaXB0IHRodW5rIGludG8gYW4gb2ZmbGluZSBhc3NlbWJs
ZWQgc3R1YgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI0MjUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q2hhbmdlZCBjYWxsVG9KYXZhU2NyaXB0IGFuZCB0aHJvd05vdENhdWdodCBpbnRvIHN0dWJzIGdl
bmVyYXRlZCBieSB0aGUgb2ZmbGluZSBhc3NlbWJsZXIuCisgICAgICAgIEFkZGVkIHBvcENhbGxl
ZVNhdmVzIGFuZCBwdXNoQ2FsbGVlU2F2ZXMgcHNldWRvIG9wcyB0byB0aGUgb2ZmbGluZSBhc3Nl
bWJsZXIgdG8gaGFuZGxlCisgICAgICAgIHRoZSBzYXZpbmcgYW5kIHJlc3RvcmluZyBvZiBjYWxs
ZWUgc2F2ZSByZWdpc3RlcnMuICBGaXhlZCBjYWxsRnJhbWVSZWdpc3RlciBkaWZmZXJlbmNlcwor
ICAgICAgICBiZXR3ZWVuIGFybSB0cmFkaXRpb25hbCAocjExKSBhbmQgYXJtIFRodW1iMiAocjcp
IGluIEdQUkluZm8uaC4gIEFsc28gZml4ZWQgaW1wbGVtZW50YXRpb24KKyAgICAgICAgb2YgcG9w
ICYgcHVzaCBpbiBhcm0ucmIuCisKKyAgICAgICAgU2luY2UgdGhlIG9mZmxpbmUgYXNzZW1ibGVy
IGFuZCB0aGVyZWZvcmUgdGhlIExMSW50IGRvbid0IHdvcmsgb24gV2luZG93cywgdGhlIFdpbmRv
d3Mgc3R1YnMKKyAgICAgICAgYXJlIGhhbmRsZWQgYXMgaW5saW5lIGFzc2VtYmx5IGluIEpJVFN0
dWJzWDg2LmggYW5kIEpJVFN0dWJzTVNWQzY0LmFzbS4KKworICAgICAgICAqIGRmZy9ERkdEcml2
ZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNvbXBpbGVJbXBsKToKKyAgICAgICAgKiBqaXQv
R1BSSW5mby5oOgorICAgICAgICAoSlNDOjpHUFJJbmZvOjp0b0luZGV4KToKKyAgICAgICAgKEpT
Qzo6R1BSSW5mbzo6ZGVidWdOYW1lKToKKyAgICAgICAgKiBqaXQvSklUQ29kZS5jcHA6CisgICAg
ICAgIChKU0M6OkpJVENvZGU6OmV4ZWN1dGUpOgorICAgICAgICAqIGppdC9KSVRFeGNlcHRpb25z
LmNwcDoKKyAgICAgICAgKEpTQzo6Z2VuZXJpY1Vud2luZCk6CisgICAgICAgICogaml0L0pJVFN0
dWJzLmg6CisgICAgICAgICogaml0L0pJVFN0dWJzTVNWQzY0LmFzbToKKyAgICAgICAgKiBqaXQv
SklUU3R1YnNYODYuaDoKKyAgICAgICAgKiBqaXQvVGh1bmtHZW5lcmF0b3JzLmNwcDoKKyAgICAg
ICAgKiBqaXQvVGh1bmtHZW5lcmF0b3JzLmg6CisgICAgICAgICogbGxpbnQvTExJbnRUaHVua3Mu
aDoKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAgKiBs
bGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtOgorICAgICAgICAqIGxsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206CisgICAgICAgICogb2ZmbGluZWFzbS9hcm0ucmI6CisgICAg
ICAgICogb2ZmbGluZWFzbS9hcm02NC5yYjoKKyAgICAgICAgKiBvZmZsaW5lYXNtL2luc3RydWN0
aW9ucy5yYjoKKyAgICAgICAgKiBvZmZsaW5lYXNtL21pcHMucmI6CisgICAgICAgICogb2ZmbGlu
ZWFzbS9yZWdpc3RlcnMucmI6CisgICAgICAgICogb2ZmbGluZWFzbS9zaDQucmI6CisgICAgICAg
ICogb2ZmbGluZWFzbS94ODYucmI6CisgICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAgICAg
IChKU0M6OlZNOjpWTSk6CisgICAgICAgICogcnVudGltZS9WTS5oOgorCiAyMDEzLTExLTEzICBK
dWxpZW4gQnJpYW5jZWF1ICA8amJyaWFuY2VAY2lzY28uY29tPgogCiAgICAgICAgIFtzaDRdIFBy
b3RlY3QgcmVwYXRjaENvbXBhY3QgZnJvbSBmbHVzaENvbnN0YW50UG9vbC4KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRHJpdmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0RyaXZlci5jcHAJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRHJpdmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NzgsOCArNzgsNiBAQCBzdGF0aWMgQ29tcGlsYXRpb25SZXN1bHQgY29tcGlsZUltcGwoCiAgICAg
CiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgYW55IHN0dWJzIHRoYXQgdGhlIERGRyBpcyBnb2luZyB0
byB1c2UgYXJlIGluaXRpYWxpemVkLiBXZSB3YW50IHRvCiAgICAgLy8gbWFrZSBzdXJlIHRoYXQg
YWxsIEpJVCBjb2RlIGdlbmVyYXRpb24gZG9lcyBmaW5hbGl6YXRpb24gb24gdGhlIG1haW4gdGhy
ZWFkLgotICAgIHZtLmdldENUSVN0dWIoY2FsbFRvSmF2YVNjcmlwdCk7Ci0gICAgdm0uZ2V0Q1RJ
U3R1Yih0aHJvd05vdENhdWdodCk7CiAgICAgdm0uZ2V0Q1RJU3R1Yihvc3JFeGl0R2VuZXJhdGlv
blRodW5rR2VuZXJhdG9yKTsKICAgICB2bS5nZXRDVElTdHViKHRocm93RXhjZXB0aW9uRnJvbUNh
bGxTbG93UGF0aEdlbmVyYXRvcik7CiAgICAgdm0uZ2V0Q1RJU3R1YihsaW5rQ2FsbFRodW5rR2Vu
ZXJhdG9yKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oCShyZXZpc2lvbiAx
NTkxNjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaAkod29ya2luZyBj
b3B5KQpAQCAtNDYwLDcgKzQ2MCwxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IEdQUlJl
ZyByZWdUNCA9IEFSTVJlZ2lzdGVyczo6cjg7CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdU
NSA9IEFSTVJlZ2lzdGVyczo6cjk7CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdUNiA9IEFS
TVJlZ2lzdGVyczo6cjEwOwotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDcgPSBBUk1SZWdp
c3RlcnM6OnI1OworI2lmIENQVShBUk1fVEhVTUIyKQorICAgIHN0YXRpYyBjb25zdCBHUFJSZWcg
cmVnVDcgPSBBUk1SZWdpc3RlcnM6OnIxMTsKKyNlbHNlIAorICAgIHN0YXRpYyBjb25zdCBHUFJS
ZWcgcmVnVDcgPSBBUk1SZWdpc3RlcnM6OnI3OworI2VuZGlmCiAgICAgc3RhdGljIGNvbnN0IEdQ
UlJlZyByZWdUOCA9IEFSTVJlZ2lzdGVyczo6cjM7CiAgICAgLy8gVGhlc2UgcmVnaXN0ZXJzIG1h
dGNoIHRoZSBiYXNlbGluZSBKSVQuCiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBjYWNoZWRSZXN1
bHRSZWdpc3RlciA9IHJlZ1QwOwpAQCAtNDg4LDggKzQ5MiwxMyBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIHVuc2lnbmVkIHRvSW5kZXgoR1BSUmVnIHJlZykKICAgICB7CiAgICAgICAgIEFTU0VSVChy
ZWcgIT0gSW52YWxpZEdQUlJlZyk7Ci0gICAgICAgIEFTU0VSVChyZWcgPCAxNik7Ci0gICAgICAg
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbmRleEZvclJlZ2lzdGVyWzE2XSA9IHsgMCwgMSwgMiwg
OCwgMywgNywgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIDQsIDUsIDYsIEludmFsaWRJbmRl
eCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4
IH07CisgICAgICAgIEFTU0VSVChzdGF0aWNfY2FzdDxpbnQ+KHJlZykgPCAxNik7CisgICAgICAg
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbmRleEZvclJlZ2lzdGVyWzE2XSA9CisjaWYgQ1BVKEFS
TV9USFVNQjIpCisgICAgICAgICAgICB7IDAsIDEsIDIsIDgsIDMsIDksIEludmFsaWRJbmRleCwg
SW52YWxpZEluZGV4LCA0LCA1LCA2LCA3LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52
YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKKyNlbHNlCisgICAgICAgICAgICB7IDAsIDEsIDIs
IDgsIDMsIDksIEludmFsaWRJbmRleCwgNywgNCwgNSwgNiwgSW52YWxpZEluZGV4LCBJbnZhbGlk
SW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKKyNlbmRp
ZgogICAgICAgICB1bnNpZ25lZCByZXN1bHQgPSBpbmRleEZvclJlZ2lzdGVyW3JlZ107CiAgICAg
ICAgIEFTU0VSVChyZXN1bHQgIT0gSW52YWxpZEluZGV4KTsKICAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKQEAgLTQ5OCw3ICs1MDcsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGRl
YnVnTmFtZShHUFJSZWcgcmVnKQogICAgIHsKICAgICAgICAgQVNTRVJUKHJlZyAhPSBJbnZhbGlk
R1BSUmVnKTsKLSAgICAgICAgQVNTRVJUKHJlZyA8IDE2KTsKKyAgICAgICAgQVNTRVJUKHN0YXRp
Y19jYXN0PGludD4ocmVnKSA8IDE2KTsKICAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIqIG5hbWVG
b3JSZWdpc3RlclsxNl0gPSB7CiAgICAgICAgICAgICAicjAiLCAicjEiLCAicjIiLCAicjMiLAog
ICAgICAgICAgICAgInI0IiwgInI1IiwgInI2IiwgInI3IiwKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUQ29kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRDb2RlLmNwcAkocmV2aXNpb24gMTU5MTY4KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRDb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsOCArMjYsOCBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkpJVENvZGUuaCIKIAorI2luY2x1ZGUgIkxM
SW50VGh1bmtzLmgiCiAjaW5jbHVkZSAiT3BlcmF0aW9ucy5oIgotI2luY2x1ZGUgIlRodW5rR2Vu
ZXJhdG9ycy5oIgogI2luY2x1ZGUgPHd0Zi9QcmludFN0cmVhbS5oPgogCiBuYW1lc3BhY2UgSlND
IHsKQEAgLTQ2LDcgKzQ2LDcgQEAgSlNWYWx1ZSBKSVRDb2RlOjpleGVjdXRlKEpTU3RhY2sqIHN0
YWNrLAogewogICAgIFVOVVNFRF9QQVJBTShzdGFjayk7CiAKLSAgICBKU1ZhbHVlIHJlc3VsdCA9
IEpTVmFsdWU6OmRlY29kZSh2bS0+Y2FsbEphdmFTY3JpcHRKSVRGdW5jdGlvbihleGVjdXRhYmxl
QWRkcmVzcygpLCBjYWxsRnJhbWUpKTsKKyAgICBKU1ZhbHVlIHJlc3VsdCA9IEpTVmFsdWU6OmRl
Y29kZShjYWxsVG9KYXZhU2NyaXB0KGV4ZWN1dGFibGVBZGRyZXNzKCksIGNhbGxGcmFtZSkpOwog
ICAgIHJldHVybiB2bS0+ZXhjZXB0aW9uKCkgPyBqc051bGwoKSA6IHJlc3VsdDsKIH0KICNlbmRp
ZgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRFeGNlcHRpb25zLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEV4Y2VwdGlvbnMuY3BwCShy
ZXZpc2lvbiAxNTkxNjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEV4Y2VwdGlv
bnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw5IEBACiAjaW5jbHVkZSAiQ2FsbEZy
YW1lSW5saW5lcy5oIgogI2luY2x1ZGUgIkNvZGVCbG9jay5oIgogI2luY2x1ZGUgIkludGVycHJl
dGVyLmgiCisjaW5jbHVkZSAiSklUU3R1YnMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCisj
aW5jbHVkZSAiTExJbnRUaHVua3MuaCIKICNpbmNsdWRlICJWTS5oIgogI2luY2x1ZGUgIk9wZXJh
dGlvbnMuaCIKIApAQCAtNDksNyArNTEsNyBAQCB2b2lkIGdlbmVyaWNVbndpbmQoVk0qIHZtLCBF
eGVjU3RhdGUqIGNhCiAgICAgICAgIGNhdGNoUENGb3JJbnRlcnByZXRlciA9ICZjYWxsRnJhbWUt
PmNvZGVCbG9jaygpLT5pbnN0cnVjdGlvbnMoKVtoYW5kbGVyLT50YXJnZXRdOwogICAgICAgICBj
YXRjaFJvdXRpbmUgPSBFeGVjdXRhYmxlQmFzZTo6Y2F0Y2hSb3V0aW5lRm9yKGhhbmRsZXIsIGNh
dGNoUENGb3JJbnRlcnByZXRlcik7CiAgICAgfSBlbHNlCi0gICAgICAgIGNhdGNoUm91dGluZSA9
IHZtLT5nZXRDVElTdHViKHRocm93Tm90Q2F1Z2h0KS5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3Mo
KTsKKyAgICAgICAgY2F0Y2hSb3V0aW5lID0gRnVuY3Rpb25QdHIoTExJbnQ6OmdldENvZGVQdHIo
cmV0dXJuRnJvbUphdmFTY3JpcHQpKS52YWx1ZSgpOwogICAgIAogICAgIHZtLT5jYWxsRnJhbWVG
b3JUaHJvdyA9IGNhbGxGcmFtZTsKICAgICB2bS0+dGFyZ2V0TWFjaGluZVBDRm9yVGhyb3cgPSBj
YXRjaFJvdXRpbmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5oCShyZXZp
c2lvbiAxNTkxNjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMwLDEwICszMCwyMSBAQAogI2lmbmRlZiBKSVRTdHVic19oCiAjZGVm
aW5lIEpJVFN0dWJzX2gKIAorI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKwogbmFtZXNwYWNlIEpT
QyB7CiAKICNpZiBFTkFCTEUoSklUKQogCisjaWYgT1MoV0lORE9XUykKK2NsYXNzIEV4ZWNTdGF0
ZTsKKworZXh0ZXJuICJDIiB7CisgICAgRW5jb2RlZEpTVmFsdWUgY2FsbFRvSmF2YVNjcmlwdCh2
b2lkKiwgRXhlY1N0YXRlKik7CisgICAgdm9pZCByZXR1cm5Gcm9tSmF2YVNjcmlwdCgpOworfQor
I2VuZGlmCisKICNpZiBVU0UoTUFTTV9QUk9CRSkKIGV4dGVybiAiQyIgdm9pZCBjdGlNYXNtUHJv
YmVUcmFtcG9saW5lKCk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUU3R1YnNNU1ZDNjQuYXNtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUU3R1YnNNU1ZDNjQuYXNtCShyZXZpc2lvbiAxNTkxNjgpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFN0dWJzTVNWQzY0LmFzbQkod29ya2luZyBjb3B5KQpAQCAtMjUsMTAg
KzI1LDU0IEBACiAKIEVYVEVSTiBnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSA6
IG5lYXIKIAorUFVCTElDIGNhbGxUb0phdmFTY3JpcHQKK1BVQkxJQyByZXR1cm5Gcm9tSmF2YVNj
cmlwdAogUFVCTElDIGdldEhvc3RDYWxsUmV0dXJuVmFsdWUKIAogX1RFWFQgICBTRUdNRU5UCiAK
K2NhbGxUb0phdmFTY3JpcHQgUFJPQworICAgIHB1c2ggcmJwCisgICAgbW92IHJicCwgcmF4IDsg
U2F2ZSBwcmV2aW91cyBmcmFtZSBwb2ludGVyCisgICAgbW92IHJicCwgcnNwCisgICAgcHVzaCBy
MTIKKyAgICBwdXNoIHIxMworICAgIHB1c2ggcjE0CisgICAgcHVzaCByMTUKKyAgICBwdXNoIHJi
eAorCisgICAgOyBKSVQgb3BlcmF0aW9ucyBjYW4gdXNlIHVwIHRvIDYgYXJncyAoNCBpbiByZWdp
c3RlcnMgYW5kIDIgb24gdGhlIHN0YWNrKS4KKyAgICA7IEluIGFkZGl0aW9uLCBYODZfNjQgQUJJ
IHNwZWNpZmllcyB0aGF0IHRoZSB3b3JzZSBjYXNlIHN0YWNrIGFsaWdubWVudAorICAgIDsgcmVx
dWlyZW1lbnQgaXMgMzIgYnl0ZXMuIEJhc2VkIG9uIHRoZXNlIGZhY3RvcnMsIHdlIG5lZWQgdG8g
cGFkIHRoZSBzdGFjaworICAgIDsgYW4gYWRkaXRpb25hbCAyOGggYnl0ZXMuCisgICAgc3ViIHJz
cCwgMjhoCisgICAgbW92IHJicCwgcmR4CisgICAgbW92IHIxMSwgcXdvcmQgcHRyW3JicF0gOyBQ
dXQgdGhlIHByZXZpb3VzIGZyYW1lIHBvaW50ZXIgaW4gdGhlIHNlbnRpbmVsIGNhbGwgZnJhbWUg
YWJvdmUgdXMKKyAgICBtb3YgcXdvcmQgcHRyW3JicF0sIHJheAorICAgIG1vdiByMTQsIDBGRkZG
MDAwMDAwMDAwMDAwaAorICAgIG1vdiByMTUsIDBGRkZGMDAwMDAwMDAwMDAyaAorICAgIGNhbGwg
cmN4CisgICAgYWRkIHJzcCwgMjhoCisgICAgcG9wIHJieAorICAgIHBvcCByMTUKKyAgICBwb3Ag
cjE0CisgICAgcG9wIHIxMworICAgIHBvcCByMTIKKyAgICBwb3AgcmJwCisgICAgcmV0CitjYWxs
VG9KYXZhU2NyaXB0IEVORFAKKworcmV0dXJuRnJvbUphdmFTY3JpcHQgUFJPQworICAgIGFkZCBy
c3AsIDI4aAorICAgIHBvcCByYngKKyAgICBwb3AgcjE1CisgICAgcG9wIHIxNAorICAgIHBvcCBy
MTMKKyAgICBwb3AgcjEyCisgICAgcG9wIHJicAorICAgIHJldAorcmV0dXJuRnJvbUphdmFTY3Jp
cHQgRU5EUAorCQogZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSBQUk9DCiAgICAgc3ViIHIxMywgNDAK
ICAgICBtb3YgcjEzLCByZGkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1
YnNYODYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJz
WDg2LmgJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
U3R1YnNYODYuaAkod29ya2luZyBjb3B5KQpAQCAtMjAwLDYgKzIwMCw1MSBAQCBTWU1CT0xfU1RS
SU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmVFbmQpCiAKICNlbmRpZiAvLyBDT01QSUxFUihHQ0Mp
CiAKKyNpZiBDT01QSUxFUihNU1ZDKQorCitleHRlcm4gIkMiIHsKKworICAgIC8vIEZJWE1FOiBT
aW5jZSBXaW5kb3dzIGRvZXNuJ3QgdXNlIHRoZSBMTEludCwgd2UgaGF2ZSBpbmxpbmUgc3R1YnMg
aGVyZS4KKyAgICAvLyBVbnRpbCB0aGUgTExJbnQgaXMgY2hhbmdlZCB0byBzdXBwb3J0IFdpbmRv
d3MsIHRoZXNlIHN0dWIgbmVlZHMgdG8gYmUgdXBkYXRlZC4KKyAgICBfX2RlY2xzcGVjKG5ha2Vk
KSBFbmNvZGVkSlNWYWx1ZSBjYWxsVG9KYXZhU2NyaXB0KHZvaWQqIGNvZGUsIEV4ZWNTdGF0ZSop
CisgICAgeworICAgICAgICBfX2FzbSB7CisgICAgICAgICAgICBwdXNoIGVicDsKKyAgICAgICAg
ICAgIG1vdiBlYXgsIGVicDsKKyAgICAgICAgICAgIG1vdiBlYnAsIGVzcDsKKyAgICAgICAgICAg
IHB1c2ggZXNpOworICAgICAgICAgICAgcHVzaCBlZGk7CisgICAgICAgICAgICBwdXNoIGVieDsK
KyAgICAgICAgICAgIHN1YiBlc3AsIDB4MWM7CisgICAgICAgICAgICBtb3YgZWN4LCBlc3A7Cisg
ICAgICAgICAgICBtb3YgZWRpLCBbZXNwICsgMHgzOF07CisgICAgICAgICAgICBtb3YgZWJ4LCBb
ZWRpXTsKKyAgICAgICAgICAgIG1vdiBbZWJ4XSwgZWF4OworICAgICAgICAgICAgY2FsbCBbZXNw
ICsgMHgzMF07CisgICAgICAgICAgICBhZGQgZXNwLCAweDFjOworICAgICAgICAgICAgcG9wIGVi
eDsKKyAgICAgICAgICAgIHBvcCBlZGk7CisgICAgICAgICAgICBwb3AgZXNpOworICAgICAgICAg
ICAgcG9wIGVicDsKKyAgICAgICAgICAgIHJldDsKKyAgICAgICAgfQorICAgIH0KKworICAgIF9f
ZGVjbHNwZWMobmFrZWQpIHZvaWQgcmV0dXJuRnJvbUphdmFTY3JpcHQoKQorICAgIHsKKyAgICAg
ICAgX19hc20geworICAgICAgICAgICAgYWRkIGVzcCwgMHgxYzsKKyAgICAgICAgICAgIHBvcCBl
Yng7CisgICAgICAgICAgICBwb3AgZWRpOworICAgICAgICAgICAgcG9wIGVzaTsKKyAgICAgICAg
ICAgIHBvcCBlYnA7CisgICAgICAgICAgICByZXQ7CisgICAgICAgIH0KKyAgICB9Cit9CisKKyNl
bmRpZiAvLyBDT01QSUxFUihNU1ZDKQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogI2VuZGlmIC8v
IEpJVFN0dWJzWDg2X2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5l
cmF0b3JzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5r
R2VuZXJhdG9ycy5jcHAJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsMjc3ICs1Niw2
IEBAIGlubGluZSB2b2lkIGVtaXRQb2ludGVyVmFsaWRhdGlvbihDQ2FsbEgKICNlbmRpZgogfQog
Ci1zdGF0aWMgdm9pZCByZXR1cm5Gcm9tSmF2YVNjcmlwdChDQ2FsbEhlbHBlcnMmIGppdCkKLXsK
LSNpZiBDUFUoWDg2XzY0KQotI2lmIE9TKFdJTkRPV1MpCi0gICAgLy8gSklUIG9wZXJhdGlvbnMg
Y2FuIHVzZSB1cCB0byA2IGFyZ3MgKDQgaW4gcmVnaXN0ZXJzIGFuZCAyIG9uIHRoZSBzdGFjayku
Ci0gICAgLy8gSW4gYWRkaXRpb24sIFg4Nl82NCBBQkkgc3BlY2lmaWVzIHRoYXQgdGhlIHdvcnNl
IGNhc2Ugc3RhY2sgYWxpZ25tZW50Ci0gICAgLy8gcmVxdWlyZW1lbnQgaXMgMzIgYnl0ZXMuIEJh
c2VkIG9uIHRoZXNlIGZhY3RvcnMsIHdlIG5lZWQgdG8gcGFkIHRoZSBzdGFjawotICAgIC8vIGFu
ZCBhZGRpdGlvbmFsIDQwIGJ5dGVzLgotIyAgIGRlZmluZSBFWFRSQV9TVEFDS19TSVpFICAgICAg
ICAgICAgICA0MAotICAgIGppdC5hZGRQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoOCks
IFg4NlJlZ2lzdGVyczo6ZXNwKTsKLSNlbHNlCi0gICAgLy8gV2UgZG9uJ3QgbmVlZCBleHRyYSBz
dGFjayBzcGFjZSBmb3Igb3V0LWdvaW5nIGFyZ3MsIGJ1dCB3ZSBuZWVkIHRvIGFsaWduIHRoZQot
ICAgIC8vIHN0YWNrIHRvIDMyIGJ5dGUgYWxpZ25tZW50LCB0aGVyZWZvcmUgYWRkIDggYnl0ZXMg
dG8gdGhlIHN0YWNrLgotIyAgIGRlZmluZSBFWFRSQV9TVEFDS19TSVpFICAgICAgICAgICAgICA4
Ci0gICAgaml0LmFkZFB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihFWFRSQV9TVEFDS19T
SVpFKSwgWDg2UmVnaXN0ZXJzOjplc3ApOwotI2VuZGlmCi0KLSAgICBqaXQucG9wKFg4NlJlZ2lz
dGVyczo6ZWJ4KTsKLSAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6cjE1KTsKLSAgICBqaXQucG9w
KFg4NlJlZ2lzdGVyczo6cjE0KTsKLSAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6cjEzKTsKLSAg
ICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6cjEyKTsKLSAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6
ZWJwKTsKLSNlbGlmIENQVShYODYpCi0gICAgLy8gSklUIE9wZXJhdGlvbiBjYW4gdXNlIHVwIHRv
IDYgYXJndW1lbnRzIHJpZ2h0IG5vdy4gU28sIHdlIG5lZWQgdG8KLSAgICAvLyByZXNlcnZlIHNw
YWNlIGluIHRoaXMgc3RhY2sgZnJhbWUgZm9yIHRoZSBvdXQtZ29pbmcgYXJncy4gVG8gZW5zdXJl
IHRoYXQKLSAgICAvLyB0aGUgc3RhY2sgcmVtYWlucyBhbGlnbmVkIG9uIGFuIDE2IGJ5dGUgYm91
bmRhcnksIHdlIHJvdW5kIHRoZSBwYWRkaW5nIHVwCi0gICAgLy8gYnkgMjggYnl0ZXMuCi0jICAg
ZGVmaW5lIEVYVFJBX1NUQUNLX1NJWkUgMjgKLQotICAgIGppdC5hZGRQdHIoQ0NhbGxIZWxwZXJz
OjpUcnVzdGVkSW1tMzIoRVhUUkFfU1RBQ0tfU0laRSksIFg4NlJlZ2lzdGVyczo6ZXNwKTsKLQot
ICAgIGppdC5wb3AoWDg2UmVnaXN0ZXJzOjplYngpOwotICAgIGppdC5wb3AoWDg2UmVnaXN0ZXJz
OjplZGkpOwotICAgIGppdC5wb3AoWDg2UmVnaXN0ZXJzOjplc2kpOwotICAgIGppdC5wb3AoWDg2
UmVnaXN0ZXJzOjplYnApOwotI2VsaWYgQ1BVKEFSTV9UUkFESVRJT05BTCkKLSAgICAvLyBKSVQg
T3BlcmF0aW9uIGNhbiB1c2UgdXAgdG8gNiBhcmd1bWVudHMgcmlnaHQgbm93LiBTbywgd2UgbmVl
ZCB0bwotICAgIC8vIHJlc2VydmUgc3BhY2UgaW4gdGhpcyBzdGFjayBmcmFtZSBmb3IgdGhlIG91
dC1nb2luZyBhcmdzLiBXZSBuZWVkIHRvCi0gICAgLy8gYWRkIHNwYWNlIGZvciAxNiBtb3JlIGJ5
dGVzLgotIyAgIGRlZmluZSBFWFRSQV9TVEFDS19TSVpFICAgICAgICAgICAgICAxNgotCi0gICAg
aml0LmFkZFB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihFWFRSQV9TVEFDS19TSVpFKSwg
QVJNUmVnaXN0ZXJzOjpzcCk7Ci0KLSAgICBqaXQucG9wKEFSTVJlZ2lzdGVyczo6bHIpOwotICAg
IGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyMTEpOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpy
MTApOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyOSk7Ci0gICAgaml0LnBvcChBUk1SZWdp
c3RlcnM6OnI4KTsKLSAgICBqaXQucG9wKEFSTVJlZ2lzdGVyczo6cjYpOwotICAgIGppdC5wb3Ao
QVJNUmVnaXN0ZXJzOjpyNSk7Ci0gICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnI0KTsKLSNlbGlm
IENQVShBUk1fVEhVTUIyKQotICAgIC8vIEpJVCBPcGVyYXRpb24gY2FuIHVzZSB1cCB0byA2IGFy
Z3VtZW50cyByaWdodCBub3cuIFNvLCB3ZSBuZWVkIHRvCi0gICAgLy8gcmVzZXJ2ZSBzcGFjZSBp
biB0aGlzIHN0YWNrIGZyYW1lIGZvciB0aGUgb3V0LWdvaW5nIGFyZ3MuIFRvIGVuc3VyZSB0aGF0
Ci0gICAgLy8gdGhlIHN0YWNrIHJlbWFpbnMgYWxpZ25lZCBvbiBhbiAxNiBieXRlIGJvdW5kYXJ5
LCB3ZSByb3VuZCB0aGUgcGFkZGluZyB1cAotICAgIC8vIGJ5IDI4IGJ5dGVzLgotIyAgIGRlZmlu
ZSBFWFRSQV9TVEFDS19TSVpFICAgICAgICAgICAgICAyOAotCi0gICAgaml0LmFkZFB0cihDQ2Fs
bEhlbHBlcnM6OlRydXN0ZWRJbW0zMihFWFRSQV9TVEFDS19TSVpFKSwgQVJNUmVnaXN0ZXJzOjpz
cCk7Ci0gICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnIxMSk7Ci0gICAgaml0LnBvcChBUk1SZWdp
c3RlcnM6OnIxMCk7Ci0gICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnI5KTsKLSAgICBqaXQucG9w
KEFSTVJlZ2lzdGVyczo6cjgpOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyNyk7Ci0gICAg
aml0LnBvcChBUk1SZWdpc3RlcnM6OnI2KTsKLSAgICBqaXQucG9wKEFSTVJlZ2lzdGVyczo6cjUp
OwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyNCk7Ci0gICAgaml0LnBvcChBUk1SZWdpc3Rl
cnM6OmxyKTsKLSNlbGlmIENQVShBUk02NCkKLSAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJzOjp4
MjgpOwotICAgIGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6OngyNyk7Ci0gICAgaml0LnBvcChBUk02
NFJlZ2lzdGVyczo6eDI2KTsKLSAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJzOjp4MjUpOwotICAg
IGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6OngyNCk7Ci0gICAgaml0LnBvcChBUk02NFJlZ2lzdGVy
czo6eDIzKTsKLSAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJzOjp4MjIpOwotICAgIGppdC5wb3Ao
QVJNNjRSZWdpc3RlcnM6OngyMSk7Ci0gICAgaml0LnBvcChBUk02NFJlZ2lzdGVyczo6eDIwKTsK
LSAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJzOjp4MTkpOwotICAgIGppdC5wb3AoQVJNNjRSZWdp
c3RlcnM6OmxyKTsKLSNlbGlmIENQVShNSVBTKQotIyAgIGRlZmluZSBQUkVTRVJWRURfR1BfT0ZG
U0VUICAgICAgICAgNjAKLSMgICBkZWZpbmUgUFJFU0VSVkVEX1MwX09GRlNFVCAgICAgICAgIDY0
Ci0jICAgZGVmaW5lIFBSRVNFUlZFRF9TMV9PRkZTRVQgICAgICAgICA2OAotIyAgIGRlZmluZSBQ
UkVTRVJWRURfUzJfT0ZGU0VUICAgICAgICAgNzIKLSMgICBkZWZpbmUgUFJFU0VSVkVEX1MzX09G
RlNFVCAgICAgICAgIDc2Ci0jICAgZGVmaW5lIFBSRVNFUlZFRF9TNF9PRkZTRVQgICAgICAgICA4
MAotIyAgIGRlZmluZSBQUkVTRVJWRURfUkVUVVJOX0FERFJFU1NfT0ZGU0VUIDg0Ci0jICAgZGVm
aW5lIFBSRVNFUlZFRF9GUF9PRkZTRVQgICAgICAgICA4OAotIyAgIGRlZmluZSBTVEFDS19MRU5H
VEggICAgICAgICAgICAgICAxMTIKLQotICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRk
cmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX1MwX09GRlNFVCksIE1JUFNSZWdpc3Rl
cnM6OnMwKTsKLSAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lz
dGVyczo6c3AsIFBSRVNFUlZFRF9TMV9PRkZTRVQpLCBNSVBTUmVnaXN0ZXJzOjpzMSk7Ci0gICAg
aml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVT
RVJWRURfUzJfT0ZGU0VUKSwgTUlQU1JlZ2lzdGVyczo6czIpOwotICAgIGppdC5sb2FkUHRyKEND
YWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX1MzX09GRlNF
VCksIE1JUFNSZWdpc3RlcnM6OnMzKTsKLSAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFk
ZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9TNF9PRkZTRVQpLCBNSVBTUmVnaXN0
ZXJzOjpzNCk7Ci0gICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1JUFNSZWdp
c3RlcnM6OnNwLCBQUkVTRVJWRURfUkVUVVJOX0FERFJFU1NfT0ZGU0VUKSwgTUlQU1JlZ2lzdGVy
czo6cmEpOwotICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0
ZXJzOjpzcCwgUFJFU0VSVkVEX0ZQX09GRlNFVCksIE1JUFNSZWdpc3RlcnM6OmZwKTsKLSAgICBq
aXQuYWRkUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKFNUQUNLX0xFTkdUSCksIE1JUFNS
ZWdpc3RlcnM6OnNwKTsKLSNlbGlmIENQVShTSDQpCi0jICAgZGVmaW5lIEVYVFJBX1NUQUNLX1NJ
WkUgMjAKLQotICAgIGppdC5hZGRQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoRVhUUkFf
U1RBQ0tfU0laRSksIFNINFJlZ2lzdGVyczo6c3ApOwotICAgIGppdC5wb3AoU0g0UmVnaXN0ZXJz
OjpyOCk7Ci0gICAgaml0LnBvcChTSDRSZWdpc3RlcnM6OnI5KTsKLSAgICBqaXQucG9wKFNINFJl
Z2lzdGVyczo6cjEwKTsKLSAgICBqaXQucG9wKFNINFJlZ2lzdGVyczo6cjExKTsKLSAgICBqaXQu
cG9wKFNINFJlZ2lzdGVyczo6cjEzKTsKLSAgICBqaXQucG9wKFNINFJlZ2lzdGVyczo6cHIpOwot
ICAgIGppdC5wb3AoU0g0UmVnaXN0ZXJzOjpmcCk7Ci0jZW5kaWYKLQotICAgIGppdC5yZXQoKTsK
LX0KLQotTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGNhbGxUb0phdmFTY3JpcHQoVk0qIHZtKQotewot
ICAgIC8vIFRoZSBzaWduYXR1cmUgb2YgdGhlIGNvZGUgZ2VuZXJhdGVkIGlzIEVuY29kZWRKU1Zh
bHVlIGNhbGxUb0phdmFTY3JpcHQodm9pZCogY29kZSwgQ2FsbEZyYW1lKikKLQotICAgIENDYWxs
SGVscGVycyBqaXQodm0pOwotCi0jaWYgQ1BVKFg4Nl82NCkKLSNpZiBPUyhXSU5ET1dTKQotICAg
IC8vIER1bXAgcmVnaXN0ZXIgcGFyYW1ldGVycyB0byB0aGVpciBob21lIGFkZHJlc3MKLSAgICBq
aXQuc3RvcmVQdHIoWDg2UmVnaXN0ZXJzOjpyOSwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKFg4NlJl
Z2lzdGVyczo6ZXNwLCAweDIwKSk7Ci0gICAgaml0LnN0b3JlUHRyKFg4NlJlZ2lzdGVyczo6cjgs
IENDYWxsSGVscGVyczo6QWRkcmVzcyhYODZSZWdpc3RlcnM6OmVzcCwgMHgxOCkpOwotICAgIGpp
dC5zdG9yZVB0cihYODZSZWdpc3RlcnM6OmVkeCwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKFg4NlJl
Z2lzdGVyczo6ZXNwLCAweDEwKSk7Ci0gICAgaml0LnN0b3JlUHRyKFg4NlJlZ2lzdGVyczo6ZWN4
LCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoWDg2UmVnaXN0ZXJzOjplc3AsIDB4OCkpOwotI2VuZGlm
IC8vIE9TKFdJTkRPV1MpCi0gICAgaml0LnB1c2goWDg2UmVnaXN0ZXJzOjplYnApOwotICAgIGpp
dC5tb3ZlKFg4NlJlZ2lzdGVyczo6ZWJwLCBHUFJJbmZvOjpub25BcmdHUFIwKTsKLSAgICBqaXQu
bW92ZShYODZSZWdpc3RlcnM6OmVzcCwgWDg2UmVnaXN0ZXJzOjplYnApOwotICAgIGppdC5wdXNo
KFg4NlJlZ2lzdGVyczo6cjEyKTsKLSAgICBqaXQucHVzaChYODZSZWdpc3RlcnM6OnIxMyk7Ci0g
ICAgaml0LnB1c2goWDg2UmVnaXN0ZXJzOjpyMTQpOwotICAgIGppdC5wdXNoKFg4NlJlZ2lzdGVy
czo6cjE1KTsKLSAgICBqaXQucHVzaChYODZSZWdpc3RlcnM6OmVieCk7Ci0KLSAgICBqaXQuc3Vi
UHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKEVYVFJBX1NUQUNLX1NJWkUpLCBYODZSZWdp
c3RlcnM6OmVzcCk7Ci0KLSMgICBkZWZpbmUgQ0FMTEZSQU1FX1NSQ19SRUcgR1BSSW5mbzo6YXJn
dW1lbnRHUFIxCi0jICAgZGVmaW5lIFBSRVZJT1VTX0NBTExGUkFNRV9SRUcgR1BSSW5mbzo6bm9u
QXJnR1BSMAotI2VsaWYgQ1BVKFg4NikKLSAgICBqaXQucHVzaChYODZSZWdpc3RlcnM6OmVicCk7
Ci0gICAgaml0Lm1vdmUoWDg2UmVnaXN0ZXJzOjplYnAsIEdQUkluZm86Om5vbkFyZ0dQUjApOwot
ICAgIGppdC5tb3ZlKFg4NlJlZ2lzdGVyczo6ZXNwLCBYODZSZWdpc3RlcnM6OmVicCk7Ci0gICAg
aml0LnB1c2goWDg2UmVnaXN0ZXJzOjplc2kpOwotICAgIGppdC5wdXNoKFg4NlJlZ2lzdGVyczo6
ZWRpKTsKLSAgICBqaXQucHVzaChYODZSZWdpc3RlcnM6OmVieCk7Ci0KLSAgICBqaXQuc3ViUHRy
KENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKEVYVFJBX1NUQUNLX1NJWkUpLCBYODZSZWdpc3Rl
cnM6OmVzcCk7Ci0KLSAgICBqaXQubG9hZDMyKENDYWxsSGVscGVyczo6QWRkcmVzcyhYODZSZWdp
c3RlcnM6OmVzcCwgRVhUUkFfU1RBQ0tfU0laRSArIDI0KSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVn
aXN0ZXIpOwotCi0jICAgZGVmaW5lIENBTExGUkFNRV9TUkNfUkVHIEdQUkluZm86OmNhbGxGcmFt
ZVJlZ2lzdGVyCi0jICAgZGVmaW5lIENBTExfQ09ERSBqaXQuY2FsbChDQ2FsbEhlbHBlcnM6OkFk
ZHJlc3MoWDg2UmVnaXN0ZXJzOjplc3AsIEVYVFJBX1NUQUNLX1NJWkUgKyAyMCkpCi0jICAgZGVm
aW5lIFBSRVZJT1VTX0NBTExGUkFNRV9SRUcgR1BSSW5mbzo6bm9uQXJnR1BSMAotI2VsaWYgQ1BV
KEFSTV9UUkFESVRJT05BTCkKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI0KTsKLSAgICBq
aXQucHVzaChBUk1SZWdpc3RlcnM6OnI1KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI2
KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI4KTsKLSAgICBqaXQucHVzaChBUk1SZWdp
c3RlcnM6OnI5KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnIxMCk7Ci0gICAgaml0LnB1
c2goQVJNUmVnaXN0ZXJzOjpyMTEpOwotICAgIGppdC5wdXNoKEFSTVJlZ2lzdGVyczo6bHIpOwot
ICAgIGppdC5tb3ZlKEFSTVJlZ2lzdGVyczo6cjExLCBHUFJJbmZvOjpub25BcmdHUFIwKTsKLSAg
ICBqaXQuc3ViUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKEVYVFJBX1NUQUNLX1NJWkUp
LCBBUk1SZWdpc3RlcnM6OnNwKTsKLQotIyAgIGRlZmluZSBDQUxMRlJBTUVfU1JDX1JFRyBHUFJJ
bmZvOjphcmd1bWVudEdQUjEKLSMgICBkZWZpbmUgUFJFVklPVVNfQ0FMTEZSQU1FX1JFRyBHUFJJ
bmZvOjpub25BcmdHUFIwCi0jZWxpZiBDUFUoQVJNX1RIVU1CMikKLSAgICBqaXQucHVzaChBUk1S
ZWdpc3RlcnM6OmxyKTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI0KTsKLSAgICBqaXQu
cHVzaChBUk1SZWdpc3RlcnM6OnI1KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI2KTsK
LSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI3KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3Rl
cnM6OnI4KTsKLSAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI5KTsKLSAgICBqaXQucHVzaChB
Uk1SZWdpc3RlcnM6OnIxMCk7Ci0gICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyMTEpOwotICAg
IGppdC5tb3ZlKEFSTVJlZ2lzdGVyczo6cjcsIEdQUkluZm86Om5vbkFyZ0dQUjApOwotICAgIGpp
dC5zdWJQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoRVhUUkFfU1RBQ0tfU0laRSksIEFS
TVJlZ2lzdGVyczo6c3ApOwotCi0jICAgZGVmaW5lIENBTExGUkFNRV9TUkNfUkVHIEdQUkluZm86
OmFyZ3VtZW50R1BSMQotIyAgIGRlZmluZSBQUkVWSU9VU19DQUxMRlJBTUVfUkVHIEdQUkluZm86
Om5vbkFyZ0dQUjAKLSNlbGlmIENQVShBUk02NCkKLSAgICBqaXQucHVzaChBUk02NFJlZ2lzdGVy
czo6bHIpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MTkpOwotICAgIGppdC5wdXNo
KEFSTTY0UmVnaXN0ZXJzOjp4MjApOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjEp
OwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjIpOwotICAgIGppdC5wdXNoKEFSTTY0
UmVnaXN0ZXJzOjp4MjMpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjQpOwotICAg
IGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjUpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0
ZXJzOjp4MjYpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjcpOwotICAgIGppdC5w
dXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjgpOwotICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4
MjkpOwotICAgIGppdC5tb3ZlKEFSTTY0UmVnaXN0ZXJzOjp4MjksIEdQUkluZm86Om5vbkFyZ0dQ
UjApOwotCi0jICAgZGVmaW5lIENBTExGUkFNRV9TUkNfUkVHIEdQUkluZm86OmFyZ3VtZW50R1BS
MQotIyAgIGRlZmluZSBQUkVWSU9VU19DQUxMRlJBTUVfUkVHIEdQUkluZm86Om5vbkFyZ0dQUjAK
LSNlbGlmIENQVShNSVBTKQotICAgIGppdC5zdWJQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1t
MzIoU1RBQ0tfTEVOR1RIKSwgTUlQU1JlZ2lzdGVyczo6c3ApOwotICAgIGppdC5zdG9yZVB0cihN
SVBTUmVnaXN0ZXJzOjpmcCwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNw
LCBQUkVTRVJWRURfRlBfT0ZGU0VUKSk7Ci0gICAgaml0LnN0b3JlUHRyKE1JUFNSZWdpc3RlcnM6
OnJhLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9S
RVRVUk5fQUREUkVTU19PRkZTRVQpKTsKLSAgICBqaXQuc3RvcmVQdHIoTUlQU1JlZ2lzdGVyczo6
czQsIENDYWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX1M0
X09GRlNFVCkpOwotICAgIGppdC5zdG9yZVB0cihNSVBTUmVnaXN0ZXJzOjpzMywgQ0NhbGxIZWxw
ZXJzOjpBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfUzNfT0ZGU0VUKSk7Ci0g
ICAgaml0LnN0b3JlUHRyKE1JUFNSZWdpc3RlcnM6OnMyLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Mo
TUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9TMl9PRkZTRVQpKTsKLSAgICBqaXQuc3RvcmVQ
dHIoTUlQU1JlZ2lzdGVyczo6czEsIENDYWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJz
OjpzcCwgUFJFU0VSVkVEX1MxX09GRlNFVCkpOwotICAgIGppdC5zdG9yZVB0cihNSVBTUmVnaXN0
ZXJzOjpzMCwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJW
RURfUzBfT0ZGU0VUKSk7Ci0jaWYgV1RGX01JUFNfUElDCi0gICAgaml0LnN0b3JlUHRyKE1JUFNS
ZWdpc3RlcnM6OmdwLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBS
RVNFUlZFRF9HUF9PRkZTRVQpKTsKLSNlbmRpZgotICAgIGppdC5tb3ZlKE1JUFNSZWdpc3RlcnM6
OmZwLCBHUFJJbmZvOjpub25BcmdHUFIwKTsKLQotIyAgIGRlZmluZSBDQUxMRlJBTUVfU1JDX1JF
RyBHUFJJbmZvOjphcmd1bWVudEdQUjEKLSMgICBkZWZpbmUgUFJFVklPVVNfQ0FMTEZSQU1FX1JF
RyBHUFJJbmZvOjpub25BcmdHUFIwCi0jZWxpZiBDUFUoU0g0KQotICAgIGppdC5wdXNoKFNINFJl
Z2lzdGVyczo6ZnApOwotICAgIGppdC5wdXNoKFNINFJlZ2lzdGVyczo6cHIpOwotICAgIGppdC5w
dXNoKFNINFJlZ2lzdGVyczo6cjEzKTsKLSAgICBqaXQucHVzaChTSDRSZWdpc3RlcnM6OnIxMSk7
Ci0gICAgaml0LnB1c2goU0g0UmVnaXN0ZXJzOjpyMTApOwotICAgIGppdC5wdXNoKFNINFJlZ2lz
dGVyczo6cjkpOwotICAgIGppdC5wdXNoKFNINFJlZ2lzdGVyczo6cjgpOwotICAgIGppdC5zdWJQ
dHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoRVhUUkFfU1RBQ0tfU0laRSksIFNINFJlZ2lz
dGVyczo6c3ApOwotICAgIGppdC5tb3ZlKFNINFJlZ2lzdGVyczo6ZnAsIEdQUkluZm86Om5vbkFy
Z0dQUjApOwotCi0jICAgZGVmaW5lIENBTExGUkFNRV9TUkNfUkVHIEdQUkluZm86OmFyZ3VtZW50
R1BSMQotIyAgIGRlZmluZSBQUkVWSU9VU19DQUxMRlJBTUVfUkVHIEdQUkluZm86Om5vbkFyZ0dQ
UjAKLSNlbmRpZgotCi0gICAgaWYgKENBTExGUkFNRV9TUkNfUkVHICE9IEdQUkluZm86OmNhbGxG
cmFtZVJlZ2lzdGVyKQotICAgICAgICBqaXQubW92ZShDQUxMRlJBTUVfU1JDX1JFRywgR1BSSW5m
bzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwotICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRk
cmVzcyhHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciksIEdQUkluZm86Om5vbkFyZ0dQUjEpOwot
ICAgIGppdC5zdG9yZVB0cihQUkVWSU9VU19DQUxMRlJBTUVfUkVHLCBDQ2FsbEhlbHBlcnM6OkFk
ZHJlc3MoR1BSSW5mbzo6bm9uQXJnR1BSMSkpOwotCi0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBq
aXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NCgweGZmZmYwMDAwMDAwMDAwMDBMKSwg
R1BSSW5mbzo6dGFnVHlwZU51bWJlclJlZ2lzdGVyKTsKLSAgICBqaXQubW92ZShDQ2FsbEhlbHBl
cnM6OlRydXN0ZWRJbW02NCgweGZmZmYwMDAwMDAwMDAwMDJMKSwgR1BSSW5mbzo6dGFnTWFza1Jl
Z2lzdGVyKTsKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChDQUxMX0NPREUpCi0gICAgQ0FMTF9DT0RF
OwotI2Vsc2UKLSAgICBqaXQuY2FsbChHUFJJbmZvOjphcmd1bWVudEdQUjApOwotI2VuZGlmCi0K
LSN1bmRlZiBDQUxMRlJBTUVfU1JDX1JFRwotI3VuZGVmIENBTExfQ09ERQotI3VuZGVmIFBSRVZJ
T1VTX0NBTExGUkFNRV9SRUcKLQotICAgIHJldHVybkZyb21KYXZhU2NyaXB0KGppdCk7Ci0KLSAg
ICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKCp2bSwgJmppdCwgR0xPQkFMX1RIVU5LX0lEKTsKLSAg
ICByZXR1cm4gRklOQUxJWkVfQ09ERShwYXRjaEJ1ZmZlciwgKCJDYWxsIHRvIEphdmFTY3JpcHQg
dGh1bmsiKSk7Ci19Ci0KLU1hY3JvQXNzZW1ibGVyQ29kZVJlZiB0aHJvd05vdENhdWdodChWTSog
dm0pCi17Ci0gICAgQ0NhbGxIZWxwZXJzIGppdCh2bSk7Ci0KLSAgICByZXR1cm5Gcm9tSmF2YVNj
cmlwdChqaXQpOwotCi0gICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcigqdm0sICZqaXQsIEdMT0JB
TF9USFVOS19JRCk7Ci0gICAgcmV0dXJuIEZJTkFMSVpFX0NPREUocGF0Y2hCdWZmZXIsICgiVW5j
YXVnaHQgdGhyb3cgdGh1bmsiKSk7Ci19Ci0KIC8vIFdlIHdpbGwganVtcCBoZXJlIGlmIHRoZSBK
SVQgY29kZSB0cmllcyB0byBtYWtlIGEgY2FsbCwgYnV0IHRoZQogLy8gbGlua2luZyBoZWxwZXIg
KEMrKyBjb2RlKSBkZWNpZGVzIHRvIHRocm93IGFuIGV4Y2VwdGlvbiBpbnN0ZWFkLgogTWFjcm9B
c3NlbWJsZXJDb2RlUmVmIHRocm93RXhjZXB0aW9uRnJvbUNhbGxTbG93UGF0aEdlbmVyYXRvcihW
TSogdm0pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3Jz
LmgJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtH
ZW5lcmF0b3JzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDkgKzMxLDYgQEAKICNpZiBFTkFCTEUo
SklUKQogbmFtZXNwYWNlIEpTQyB7CiAKLU1hY3JvQXNzZW1ibGVyQ29kZVJlZiBjYWxsVG9KYXZh
U2NyaXB0KFZNKik7Ci1NYWNyb0Fzc2VtYmxlckNvZGVSZWYgdGhyb3dOb3RDYXVnaHQoVk0qKTsK
LQogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHRocm93RXhjZXB0aW9uRnJvbUNhbGxTbG93UGF0aEdl
bmVyYXRvcihWTSopOwogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbGlua0NhbGxUaHVua0dlbmVy
YXRvcihWTSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50VGh1bmtz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50VGh1bmtz
LmgJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dFRodW5rcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw4ICszNCwxNCBAQAogCiBuYW1lc3BhY2Ug
SlNDIHsKIAorY2xhc3MgRXhlY1N0YXRlOwogY2xhc3MgVk07CiAKK2V4dGVybiAiQyIgeworICAg
IEVuY29kZWRKU1ZhbHVlIGNhbGxUb0phdmFTY3JpcHQodm9pZCosIEV4ZWNTdGF0ZSopOworICAg
IHZvaWQgcmV0dXJuRnJvbUphdmFTY3JpcHQoKTsKK30KKwogbmFtZXNwYWNlIExMSW50IHsKIAog
TWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGZ1bmN0aW9uRm9yQ2FsbEVudHJ5VGh1bmtHZW5lcmF0b3Io
Vk0qKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyMzJfNjQuYXNtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCShyZXZpc2lvbiAxNTkxNjgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQkod29ya2lu
ZyBjb3B5KQpAQCAtMTQ5LDYgKzE0OSw3NSBAQCBtYWNybyBjYWxsU2xvd1BhdGgoc2xvd1BhdGgp
CiAgICAgbW92ZSB0MSwgY2ZyCiBlbmQKIAorbWFjcm8gZnVuY3Rpb25Qcm9sb2d1ZShleHRyYVN0
YWNrU3BhY2UpCisgICAgaWYgWDg2CisgICAgICAgIHB1c2ggY2ZyCisgICAgICAgIG1vdmUgc3As
IGNmcgorICAgIGVuZAorICAgIHB1c2hDYWxsZWVTYXZlcworICAgIGlmIEFSTSBvciBBUk12NyBv
ciBBUk12N19UUkFESVRJT05BTCBvciBNSVBTCisgICAgICAgIHB1c2ggY2ZyCisgICAgICAgIHB1
c2ggbHIKKyAgICBlbmQKKyAgICBzdWJwIGV4dHJhU3RhY2tTcGFjZSwgc3AKK2VuZAorCittYWNy
byBmdW5jdGlvbkVwaWxvZ3VlKGV4dHJhU3RhY2tTcGFjZSkKKyAgICBhZGRwIGV4dHJhU3RhY2tT
cGFjZSwgc3AKKyAgICBpZiBBUk0gb3IgQVJNdjcgb3IgQVJNdjdfVFJBRElUSU9OQUwgb3IgTUlQ
UworICAgICAgICBwb3AgbHIKKyAgICAgICAgcG9wIGNmcgorICAgIGVuZAorICAgIHBvcENhbGxl
ZVNhdmVzCisgICAgaWYgWDg2CisgICAgICAgIHBvcCBjZnIKKyAgICBlbmQKK2VuZAorCittYWNy
byBkb0NhbGxUb0phdmFTY3JpcHQoKQorICAgIGlmIFg4NgorICAgICAgICBjb25zdCBleHRyYVN0
YWNrU3BhY2UgPSAyOAorICAgICAgICBjb25zdCBwcmV2aW91c0NGUiA9IHQwCisgICAgICAgIGNv
bnN0IGVudHJ5ID0gdDUKKyAgICAgICAgY29uc3QgbmV3Q2FsbEZyYW1lID0gdDQKKyAgICBlbHNp
ZiBBUk0gb3IgQVJNdjdfVFJBRElUSU9OQUwKKyAgICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNl
ID0gMTYKKyAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0MyAgCisgICAgICAgIGNvbnN0IGVu
dHJ5ID0gYTAKKyAgICAgICAgY29uc3QgbmV3Q2FsbEZyYW1lID0gYTEKKyAgICBlbHNpZiBBUk12
NworICAgICAgICBjb25zdCBleHRyYVN0YWNrU3BhY2UgPSAyOAorICAgICAgICBjb25zdCBwcmV2
aW91c0NGUiA9IHQzICAKKyAgICAgICAgY29uc3QgZW50cnkgPSBhMAorICAgICAgICBjb25zdCBu
ZXdDYWxsRnJhbWUgPSBhMQorICAgIGVsc2lmIE1JUFMKKyAgICAgICAgY29uc3QgZXh0cmFTdGFj
a1NwYWNlID0gMjAKKyAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0MiAgCisgICAgICAgIGNv
bnN0IGVudHJ5ID0gYTAKKyAgICAgICAgY29uc3QgbmV3Q2FsbEZyYW1lID0gYTEKKyAgICBlbHNp
ZiBTSDQKKyAgICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNlID0gMjAKKyAgICAgICAgY29uc3Qg
cHJldmlvdXNDRlIgPSB0MyAgCisgICAgICAgIGNvbnN0IGVudHJ5ID0gYTAKKyAgICAgICAgY29u
c3QgbmV3Q2FsbEZyYW1lID0gYTEKKyAgICBlbmQKKworICAgIGlmIFg4NgorICAgICAgICBtb3Zl
IGNmciwgcHJldmlvdXNDRlIKKyAgICBlbmQKKyAgICBmdW5jdGlvblByb2xvZ3VlKGV4dHJhU3Rh
Y2tTcGFjZSkKKyAgICBpZiBYODYKKyAgICAgICAgbG9hZHAgZXh0cmFTdGFja1NwYWNlKzIwW3Nw
XSwgZW50cnkKKyAgICAgICAgbG9hZHAgZXh0cmFTdGFja1NwYWNlKzI0W3NwXSwgbmV3Q2FsbEZy
YW1lCisgICAgZWxzZQorICAgICAgICBtb3ZlIGNmciwgcHJldmlvdXNDRlIKKyAgICBlbmQKKyAg
ICBtYWtlQ2FsbFRvSmF2YVNjcmlwdChlbnRyeSwgbmV3Q2FsbEZyYW1lLCBwcmV2aW91c0NGUikK
K19yZXR1cm5Gcm9tSmF2YVNjcmlwdDoKKyAgICBmdW5jdGlvbkVwaWxvZ3VlKGV4dHJhU3RhY2tT
cGFjZSkKKyAgICByZXQKK2VuZAorCiAjIERlYnVnZ2luZyBvcGVyYXRpb24gaWYgeW91J2QgbGlr
ZSB0byBwcmludCBhbiBvcGVyYW5kIGluIHRoZSBpbnN0cnVjdGlvbiBzdHJlYW0uIGZyb21XaGVy
ZQogIyBzaG91bGQgYmUgYW4gaW1tZWRpYXRlIGludGVnZXIgLSBhbnkgaW50ZWdlciB5b3UgbGlr
ZTsgdXNlIGl0IHRvIGlkZW50aWZ5IHRoZSBwbGFjZSB5b3UncmUKICMgZGVidWdnaW5nIGZyb20u
IG9wZXJhbmQgc2hvdWxkIGxpa2V3aXNlIGJlIGFuIGltbWVkaWF0ZSwgYW5kIHNob3VsZCBpZGVu
dGlmeSB0aGUgb3BlcmFuZApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc20KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20JKHJldmlzaW9uIDE1OTE2OCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCSh3b3Jr
aW5nIGNvcHkpCkBAIC04OCw2ICs4OCw1NCBAQCBtYWNybyBjQ2FsbDQoZnVuY3Rpb24sIGFyZzEs
IGFyZzIsIGFyZzMsCiAgICAgZW5kCiBlbmQKIAorbWFjcm8gZnVuY3Rpb25Qcm9sb2d1ZShleHRy
YVN0YWNrU3BhY2UpCisgICAgaWYgWDg2XzY0CisgICAgICAgIHB1c2ggY2ZyCisgICAgICAgIG1v
dmUgc3AsIGNmcgorICAgIGVsc2lmIEFSTTY0CisgICAgICAgIHB1c2ggbHIKKyAgICBlbmQKKyAg
ICBwdXNoQ2FsbGVlU2F2ZXMKKyAgICBpZiBYODZfNjQKKyAgICAgICAgc3VicCBleHRyYVN0YWNr
U3BhY2UsIHNwCisgICAgZWxzaWYgQVJNNjQKKyAgICAgICAgcHVzaCBjZnIKKyAgICBlbmQKK2Vu
ZAorCittYWNybyBmdW5jdGlvbkVwaWxvZ3VlKGV4dHJhU3RhY2tTcGFjZSkKKyAgICBpZiBYODZf
NjQKKyAgICAgICAgYWRkcCBleHRyYVN0YWNrU3BhY2UsIHNwCisgICAgZW5kCisgICAgcG9wQ2Fs
bGVlU2F2ZXMKKyAgICBpZiBYODZfNjQKKyAgICAgICAgcG9wIGNmcgorICAgIGVsc2lmIEFSTTY0
CisgICAgICAgIHBvcCBscgorICAgIGVuZAorZW5kCisKK21hY3JvIGRvQ2FsbFRvSmF2YVNjcmlw
dCgpCisgICAgaWYgWDg2XzY0CisgICAgICAgIGNvbnN0IGV4dHJhU3RhY2tTcGFjZSA9IDgKKyAg
ICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0MAorICAgICAgICBjb25zdCBlbnRyeSA9IHQ1Cisg
ICAgICAgIGNvbnN0IG5ld0NhbGxGcmFtZSA9IHQ0CisgICAgZWxzaWYgQVJNNjQKKyAgICAgICAg
Y29uc3QgZXh0cmFTdGFja1NwYWNlID0gMAorICAgICAgICBjb25zdCBwcmV2aW91c0NGUiA9IHQ0
ICAKKyAgICAgICAgY29uc3QgZW50cnkgPSBhMAorICAgICAgICBjb25zdCBuZXdDYWxsRnJhbWUg
PSBhMQorICAgIGVuZAorCisgICAgbW92ZSBjZnIsIHByZXZpb3VzQ0ZSCisgICAgZnVuY3Rpb25Q
cm9sb2d1ZShleHRyYVN0YWNrU3BhY2UpCisgICAgbWFrZUNhbGxUb0phdmFTY3JpcHQoZW50cnks
IG5ld0NhbGxGcmFtZSwgcHJldmlvdXNDRlIpCitfcmV0dXJuRnJvbUphdmFTY3JpcHQ6CisgICAg
ZnVuY3Rpb25FcGlsb2d1ZShleHRyYVN0YWNrU3BhY2UpCisgICAgcmV0CitlbmQKKwogbWFjcm8g
cHJlcGFyZVN0YXRlRm9yQ0NhbGwoKQogICAgIGxlYXAgW1BCLCBQQywgOF0sIFBDCiAgICAgbW92
ZSBQQiwgdDMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc20JKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQkod29ya2luZyBjb3B5KQpAQCAt
NDIxLDYgKzQyMSwyMyBAQCBtYWNybyBkb1JldHVybigpCiAgICAgcmV0CiBlbmQKIAorbWFjcm8g
bWFrZUNhbGxUb0phdmFTY3JpcHQoZW50cnksIG5ld0NhbGxGcmFtZSwgcHJldmlvdXNDRlIpCisg
ICAgbW92ZSBuZXdDYWxsRnJhbWUsIGNmcgorICAgIGxvYWRwIFtjZnJdLCBuZXdDYWxsRnJhbWUK
KyAgICBzdG9yZXAgcHJldmlvdXNDRlIsIFtuZXdDYWxsRnJhbWVdCisgICAgaWYgSlNWQUxVRTY0
CisgICAgICAgIG1vdmUgMHhmZmZmMDAwMDAwMDAwMDAwLCBjc3IxCisgICAgICAgIGFkZHAgMiwg
Y3NyMSwgY3NyMgorICAgIGVuZAorICAgIGNhbGwgZW50cnkKK2VuZAorCisjIHN0dWIgdG8gY2Fs
bCBpbnRvIEphdmFTY3JpcHQKKyMgRW5jb2RlZEpTVmFsdWUgY2FsbFRvSmF2YVNjcmlwdCh2b2lk
KiBjb2RlLCBSZWdpc3RlciogdG9wT2ZTdGFjaykKKyMgTm90ZSwgaWYgdGhpcyBzdHViIG9yIG9u
ZSBvZiBpdCdzIHJlbGF0ZWQgbWFjcm9zIGlzIGNoYW5nZWQsIG1ha2UgdGhlCisjIGVxdWl2YWxl
bnQgY2hhbmdlcyBpbiBqaXQvSklUU3R1YnNYODYuaCBhbmQvb3Igaml0L0pJVFN0dWJzTVNWQzY0
LmFzbQorX2NhbGxUb0phdmFTY3JpcHQ6CisgICAgZG9DYWxsVG9KYXZhU2NyaXB0KCkKIAogIyBJ
bmRpY2F0ZSB0aGUgYmVnaW5uaW5nIG9mIExMSW50LgogX2xsaW50X2JlZ2luOgpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXJtNjQucmIKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXJtNjQucmIJKHJldmlzaW9uIDE1OTE2OCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FybTY0LnJiCSh3b3JraW5nIGNv
cHkpCkBAIC0zOCw3ICszOCw4IEBAIHJlcXVpcmUgInJpc2MiCiAjCiAjICB4MCAgPT4gcmV0dXJu
IHZhbHVlLCBjYWNoZWQgcmVzdWx0LCBmaXJzdCBhcmd1bWVudCwgdDAsIGEwLCByMAogIyAgeDEg
ID0+IHQxLCBhMSwgcjEKLSMgIHgyICA9PiB0MgorIyAgeDIgID0+IHQyLCBhMgorIyAgeDMgID0+
IGEzCiAjICB4OSAgPT4gKG5vbkFyZ0dQUjEgaW4gYmFzZWxpbmUpCiAjIHgxMCAgPT4gdDQgKHVu
dXNlZCBpbiBiYXNlbGluZSkKICMgeDExICA9PiB0NSAodW51c2VkIGluIGJhc2VsaW5lKQpAQCAt
NDcsMTAgKzQ4LDkgQEAgcmVxdWlyZSAicmlzYyIKICMgeDE2ICA9PiBzY3JhdGNoCiAjIHgxNyAg
PT4gc2NyYXRjaAogIyB4MjMgID0+IHQzCi0jIHgyNSAgPT4gY2ZyCi0jIHgyNiAgPT4gdGltZW91
dCBjaGVjayAoaS5lLiBub3QgdG91Y2hlZCBieSBMTEludCkKICMgeDI3ICA9PiBjc3IxICh0YWdU
eXBlTnVtYmVyKQogIyB4MjggID0+IGNzcjIgKHRhZ01hc2spCisjIHgyOSAgPT4gY2ZyCiAjICBz
cCAgPT4gc3AKICMgIGxyICA9PiBscgogIwpAQCAtMTA2LDggKzEwNiwxMCBAQCBjbGFzcyBSZWdp
c3RlcklECiAgICAgICAgICAgICBhcm02NEdQUk5hbWUoJ3gwJywga2luZCkKICAgICAgICAgd2hl
biAndDEnLCAnYTEnLCAncjEnCiAgICAgICAgICAgICBhcm02NEdQUk5hbWUoJ3gxJywga2luZCkK
LSAgICAgICAgd2hlbiAndDInCisgICAgICAgIHdoZW4gJ3QyJywgJ2EyJwogICAgICAgICAgICAg
YXJtNjRHUFJOYW1lKCd4MicsIGtpbmQpCisgICAgICAgIHdoZW4gJ2EzJworICAgICAgICAgICAg
YXJtNjRHUFJOYW1lKCd4MycsIGtpbmQpCiAgICAgICAgIHdoZW4gJ3QzJwogICAgICAgICAgICAg
YXJtNjRHUFJOYW1lKCd4MjMnLCBraW5kKQogICAgICAgICB3aGVuICd0NCcKQEAgLTU2Nyw2ICs1
NjksMjggQEAgY2xhc3MgSW5zdHJ1Y3Rpb24KICAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBl
ZCgicG9wIiwgb3BlcmFuZHMsIDpwdHIpCiAgICAgICAgIHdoZW4gInB1c2giCiAgICAgICAgICAg
ICBlbWl0QVJNNjRVbmZsaXBwZWQoInB1c2giLCBvcGVyYW5kcywgOnB0cikKKyAgICAgICAgd2hl
biAicG9wQ2FsbGVlU2F2ZXMiCisgICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQoInBvcCIs
ICJ4MjgiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwb3AiLCAieDI3
IiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBlZCgicG9wIiwgIngyNiIsIDpw
dHIpCisgICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQoInBvcCIsICJ4MjUiLCA6cHRyKQor
ICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwb3AiLCAieDI0IiwgOnB0cikKKyAgICAg
ICAgICAgIGVtaXRBUk02NFVuZmxpcHBlZCgicG9wIiwgIngyMyIsIDpwdHIpCisgICAgICAgICAg
ICBlbWl0QVJNNjRVbmZsaXBwZWQoInBvcCIsICJ4MjIiLCA6cHRyKQorICAgICAgICAgICAgZW1p
dEFSTTY0VW5mbGlwcGVkKCJwb3AiLCAieDIxIiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRBUk02
NFVuZmxpcHBlZCgicG9wIiwgIngyMCIsIDpwdHIpCisgICAgICAgICAgICBlbWl0QVJNNjRVbmZs
aXBwZWQoInBvcCIsICJ4MTkiLCA6cHRyKQorICAgICAgICB3aGVuICJwdXNoQ2FsbGVlU2F2ZXMi
CisgICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQoInB1c2giLCAieDE5IiwgOnB0cikKKyAg
ICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBlZCgicHVzaCIsICJ4MjAiLCA6cHRyKQorICAgICAg
ICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwdXNoIiwgIngyMSIsIDpwdHIpCisgICAgICAgICAg
ICBlbWl0QVJNNjRVbmZsaXBwZWQoInB1c2giLCAieDIyIiwgOnB0cikKKyAgICAgICAgICAgIGVt
aXRBUk02NFVuZmxpcHBlZCgicHVzaCIsICJ4MjMiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFS
TTY0VW5mbGlwcGVkKCJwdXNoIiwgIngyNCIsIDpwdHIpCisgICAgICAgICAgICBlbWl0QVJNNjRV
bmZsaXBwZWQoInB1c2giLCAieDI1IiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxp
cHBlZCgicHVzaCIsICJ4MjYiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVk
KCJwdXNoIiwgIngyNyIsIDpwdHIpCisgICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQoInB1
c2giLCAieDI4IiwgOnB0cikKICAgICAgICAgd2hlbiAibW92ZSIKICAgICAgICAgICAgIGlmIG9w
ZXJhbmRzWzBdLmltbWVkaWF0ZT8KICAgICAgICAgICAgICAgICBlbWl0QVJNNjRNb3ZlSW1tZWRp
YXRlKG9wZXJhbmRzWzBdLnZhbHVlLCBvcGVyYW5kc1sxXSkKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9vZmZsaW5lYXNtL2FybS5yYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvb2ZmbGluZWFzbS9hcm0ucmIJKHJldmlzaW9uIDE1OTE2OCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FybS5yYgkod29ya2luZyBjb3B5KQpAQCAtOTcsNyArOTcs
OSBAQCBjbGFzcyBSZWdpc3RlcklECiAgICAgICAgIHdoZW4gInQzIgogICAgICAgICAgICAgInI0
IgogICAgICAgICB3aGVuICJ0NCIKLSAgICAgICAgICAgICJyMTAiCisgICAgICAgICAgICAicjgi
CisgICAgICAgIHdoZW4gInQ1IgorICAgICAgICAgICAgInI5IgogICAgICAgICB3aGVuICJjZnIi
CiAgICAgICAgICAgICBpc0FSTXY3ID8gICJyNyIgOiAicjExIgogICAgICAgICB3aGVuICJsciIK
QEAgLTQ1MSw5ICs0NTMsMjEgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24KICAgICAgICAgICAgICMgRklY
TUU6IGVpdGhlciBzdXBwb3J0IHRoaXMgb3IgcmVtb3ZlIGl0LgogICAgICAgICAgICAgcmFpc2Ug
IkFSTSBkb2VzIG5vdCBzdXBwb3J0IHRoaXMgb3Bjb2RlIHlldCwgI3tjb2RlT3JpZ2lufSIKICAg
ICAgICAgd2hlbiAicG9wIgotICAgICAgICAgICAgJGFzbS5wdXRzICJwb3AgI3tvcGVyYW5kc1sw
XS5hcm1PcGVyYW5kfSIKKyAgICAgICAgICAgICRhc20ucHV0cyAicG9wIHsgI3tvcGVyYW5kc1sw
XS5hcm1PcGVyYW5kfSB9IgogICAgICAgICB3aGVuICJwdXNoIgotICAgICAgICAgICAgJGFzbS5w
dXRzICJwdXNoICN7b3BlcmFuZHNbMF0uYXJtT3BlcmFuZH0iCisgICAgICAgICAgICAkYXNtLnB1
dHMgInB1c2ggeyAje29wZXJhbmRzWzBdLmFybU9wZXJhbmR9IH0iCisgICAgICAgIHdoZW4gInBv
cENhbGxlZVNhdmVzIgorICAgICAgICAgICAgaWYgaXNBUk12NworICAgICAgICAgICAgICAgICRh
c20ucHV0cyAicG9wIHtyNC1yNiwgcjgtcjExfSIgICAgICAgICAgICAgICAgCisgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJwb3Age3I0LXIxMH0iCisgICAgICAg
ICAgICBlbmQKKyAgICAgICAgd2hlbiAicHVzaENhbGxlZVNhdmVzIgorICAgICAgICAgICAgaWYg
aXNBUk12NworICAgICAgICAgICAgICAgICRhc20ucHV0cyAicHVzaCB7cjQtcjYsIHI4LXIxMX0i
CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJwdXNoIHtyNC1y
MTB9IgorICAgICAgICAgICAgZW5kCiAgICAgICAgIHdoZW4gIm1vdmUiCiAgICAgICAgICAgICBp
ZiBvcGVyYW5kc1swXS5pbW1lZGlhdGU/CiAgICAgICAgICAgICAgICAgYXJtTW92ZUltbWVkaWF0
ZShvcGVyYW5kc1swXS52YWx1ZSwgb3BlcmFuZHNbMV0pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvb2ZmbGluZWFzbS9pbnN0cnVjdGlvbnMucmIKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL29mZmxpbmVhc20vaW5zdHJ1Y3Rpb25zLnJiCShyZXZpc2lvbiAxNTkxNjgp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9pbnN0cnVjdGlvbnMucmIJKHdv
cmtpbmcgY29weSkKQEAgLTI0OSw2ICsyNDksOCBAQCBNQUNST19JTlNUUlVDVElPTlMgPQogICAg
ICAiYm56IiwKICAgICAgImxlYWkiLAogICAgICAibGVhcCIsCisgICAgICJwdXNoQ2FsbGVlU2F2
ZXMiLAorICAgICAicG9wQ2FsbGVlU2F2ZXMiCiAgICAgXQogCiBYODZfSU5TVFJVQ1RJT05TID0K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL21pcHMucmIKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vbWlwcy5yYgkocmV2aXNpb24g
MTU5MTY4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vbWlwcy5yYgkod29y
a2luZyBjb3B5KQpAQCAtODIsNiArODIsMTAgQEAgY2xhc3MgUmVnaXN0ZXJJRAogICAgICAgICAg
ICAgIiRhMCIKICAgICAgICAgd2hlbiAiYTEiCiAgICAgICAgICAgICAiJGExIgorICAgICAgICB3
aGVuICJhMiIKKyAgICAgICAgICAgICIkYTIiCisgICAgICAgIHdoZW4gImEzIgorICAgICAgICAg
ICAgIiRhMyIKICAgICAgICAgd2hlbiAicjAiLCAidDAiCiAgICAgICAgICAgICAiJHYwIgogICAg
ICAgICB3aGVuICJyMSIsICJ0MSIKQEAgLTc5Miw2ICs3OTYsMjAgQEAgY2xhc3MgSW5zdHJ1Y3Rp
b24KICAgICAgICAgd2hlbiAicHVzaCIKICAgICAgICAgICAgICRhc20ucHV0cyAiYWRkaXUgJHNw
LCAkc3AsIC00IgogICAgICAgICAgICAgJGFzbS5wdXRzICJzdyAje29wZXJhbmRzWzBdLm1pcHNP
cGVyYW5kfSwgMCgkc3ApIgorICAgICAgICB3aGVuICJwb3BDYWxsZWVTYXZlcyIKKyAgICAgICAg
ICAgICRhc20ucHV0cyAibHcgJDE2LCAwKCRzcCkiCisgICAgICAgICAgICAkYXNtLnB1dHMgImx3
ICQxNywgNCgkc3ApIgorICAgICAgICAgICAgJGFzbS5wdXRzICJsdyAkMTgsIDgoJHNwKSIKKyAg
ICAgICAgICAgICRhc20ucHV0cyAibHcgJDE5LCAxMigkc3ApIgorICAgICAgICAgICAgJGFzbS5w
dXRzICJsdyAkMjAsIDE2KCRzcCkiCisgICAgICAgICAgICAkYXNtLnB1dHMgImFkZGl1ICRzcCwg
JHNwLCAyMCIKKyAgICAgICAgd2hlbiAicHVzaENhbGxlZVNhdmVzIgorICAgICAgICAgICAgJGFz
bS5wdXRzICJhZGRpdSAkc3AsICRzcCwgLTIwIgorICAgICAgICAgICAgJGFzbS5wdXRzICJzdyAk
MjAsIDE2KCRzcCkiCisgICAgICAgICAgICAkYXNtLnB1dHMgInN3ICQxOSwgMTIoJHNwKSIKKyAg
ICAgICAgICAgICRhc20ucHV0cyAic3cgJDE4LCA4KCRzcCkiCisgICAgICAgICAgICAkYXNtLnB1
dHMgInN3ICQxNywgNCgkc3ApIgorICAgICAgICAgICAgJGFzbS5wdXRzICJzdyAkMTYsIDAoJHNw
KSIKICAgICAgICAgd2hlbiAibW92ZSIsICJzeGkycCIsICJ6eGkycCIKICAgICAgICAgICAgIGlm
IG9wZXJhbmRzWzBdLmlzX2E/IEltbWVkaWF0ZQogICAgICAgICAgICAgICAgIG1pcHNNb3ZlSW1t
ZWRpYXRlKG9wZXJhbmRzWzBdLnZhbHVlLCBvcGVyYW5kc1sxXSkKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9vZmZsaW5lYXNtL3JlZ2lzdGVycy5yYgo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9yZWdpc3RlcnMucmIJKHJldmlzaW9uIDE1OTE2OCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3JlZ2lzdGVycy5yYgkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsMTkgKzMwLDIxIEBAIEdQUlMgPQogICAgICAidDIiLAogICAgICAidDMi
LAogICAgICAidDQiLAorICAgICAidDUiLAogICAgICAiY2ZyIiwKICAgICAgImEwIiwKICAgICAg
ImExIiwKKyAgICAgImEyIiwKKyAgICAgImEzIiwKICAgICAgInIwIiwKICAgICAgInIxIiwKICAg
ICAgInNwIiwKICAgICAgImxyIiwKICAgICAgCiAgICAgICMgNjQtYml0IG9ubHkgcmVnaXN0ZXJz
OgotICAgICAidDUiLAotICAgICAidDYiLCAgIyByMTAKLSAgICAgImNzcjEiLCAgIyByMTQsIHRh
ZyB0eXBlIG51bWJlciByZWdpc3RlcgotICAgICAiY3NyMiIgICAjIHIxNSwgdGFnIG1hc2sgcmVn
aXN0ZXIKKyAgICAgInQ2IiwKKyAgICAgImNzcjEiLCAgIyB0YWcgdHlwZSBudW1iZXIgcmVnaXN0
ZXIKKyAgICAgImNzcjIiICAgIyB0YWcgbWFzayByZWdpc3RlcgogICAgIF0KIAogRlBSUyA9Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9zaDQucmIKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vc2g0LnJiCShyZXZpc2lvbiAxNTkx
NjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9zaDQucmIJKHdvcmtpbmcg
Y29weSkKQEAgLTYxLDYgKzYxLDEwIEBAIGNsYXNzIFJlZ2lzdGVySUQKICAgICAgICAgICAgICJy
NCIKICAgICAgICAgd2hlbiAiYTEiCiAgICAgICAgICAgICAicjUiCisgICAgICAgIHdoZW4gImEy
IgorICAgICAgICAgICAgInI2IgorICAgICAgICB3aGVuICJhMyIKKyAgICAgICAgICAgICJyNyIK
ICAgICAgICAgd2hlbiAidDAiCiAgICAgICAgICAgICAicjAiCiAgICAgICAgIHdoZW4gInQxIgpA
QCAtNzAsNyArNzQsOSBAQCBjbGFzcyBSZWdpc3RlcklECiAgICAgICAgIHdoZW4gInQzIgogICAg
ICAgICAgICAgInIxMCIKICAgICAgICAgd2hlbiAidDQiCi0gICAgICAgICAgICAicjYiCisgICAg
ICAgICAgICAicjQiCisgICAgICAgIHdoZW4gInQ1IgorICAgICAgICAgICAgInI1IgogICAgICAg
ICB3aGVuICJjZnIiCiAgICAgICAgICAgICAicjE0IgogICAgICAgICB3aGVuICJzcCIKQEAgLTkw
NSw2ICs5MTEsMjIgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24KICAgICAgICAgICAgICRhc20ucHV0cyAi
bGRzICN7c2g0T3BlcmFuZHMob3BlcmFuZHMpfSwgcHIiCiAgICAgICAgIHdoZW4gInN0c3ByIgog
ICAgICAgICAgICAgJGFzbS5wdXRzICJzdHMgcHIsICN7c2g0T3BlcmFuZHMob3BlcmFuZHMpfSIK
KyAgICAgICAgd2hlbiAicG9wQ2FsbGVlU2F2ZXMiCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1v
di5sIEByMTUrLCByOCIKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92LmwgQHIxNSssIHI5Igor
ICAgICAgICAgICAgJGFzbS5wdXRzICJtb3YubCBAcjE1KywgcjEwIgorICAgICAgICAgICAgJGFz
bS5wdXRzICJtb3YubCBAcjE1KywgcjExIgorICAgICAgICAgICAgJGFzbS5wdXRzICJtb3YubCBA
cjE1KywgcjEzIgorICAgICAgICAgICAgJGFzbS5wdXRzICJsZHMubCBAcjE1KyxwciIKKyAgICAg
ICAgICAgICRhc20ucHV0cyAibW92LmwgQHIxNSssIGZwIgorICAgICAgICB3aGVuICJwdXNoQ2Fs
bGVlU2F2ZXMiCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdi5sIGZwLCBALXIxNSIKKyAgICAg
ICAgICAgICRhc20ucHV0cyAic3RzLmwgcHIsIEAtcjE1IgorICAgICAgICAgICAgJGFzbS5wdXRz
ICJtb3YubCByMTMsIEAtcjE1IgorICAgICAgICAgICAgJGFzbS5wdXRzICJtb3YubCByMTEsIEAt
cjE1IgorICAgICAgICAgICAgJGFzbS5wdXRzICJtb3YubCByMTAsIEAtcjE1IgorICAgICAgICAg
ICAgJGFzbS5wdXRzICJtb3YubCByOSwgQC1yMTUiCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1v
di5sIHI4LCBALXIxNSIKICAgICAgICAgd2hlbiAiYnJlYWsiCiAgICAgICAgICAgICAjIFRoaXMg
c3BlY2lhbCBvcGNvZGUgYWx3YXlzIGdlbmVyYXRlcyBhbiBpbGxlZ2FsIGluc3RydWN0aW9uIGV4
Y2VwdGlvbi4KICAgICAgICAgICAgICRhc20ucHV0cyAiLndvcmQgMHhmZmZkIgpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20veDg2LnJiCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3g4Ni5yYgkocmV2aXNpb24gMTU5MTY4KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20veDg2LnJiCSh3b3JraW5nIGNvcHkpCkBA
IC03NCwxMSArNzQsMTEgQEAgWDY0X1NDUkFUQ0hfUkVHSVNURVIgPSBTcGVjaWFsUmVnaXN0ZXIu
bgogY2xhc3MgUmVnaXN0ZXJJRAogICAgIGRlZiBzdXBwb3J0czhCaXRPblg4NgogICAgICAgICBj
YXNlIG5hbWUKLSAgICAgICAgd2hlbiAidDAiLCAiYTAiLCAicjAiLCAidDEiLCAiYTEiLCAicjEi
LCAidDIiLCAidDMiCisgICAgICAgIHdoZW4gInQwIiwgImEwIiwgInIwIiwgInQxIiwgImExIiwg
InIxIiwgInQyIiwgInQzIiwgInQ0IiwgInQ1IgogICAgICAgICAgICAgdHJ1ZQogICAgICAgICB3
aGVuICJjZnIiLCAidHRuciIsICJ0bXIiCiAgICAgICAgICAgICBmYWxzZQotICAgICAgICB3aGVu
ICJ0NCIsICJ0NSIKKyAgICAgICAgd2hlbiAidDYiCiAgICAgICAgICAgICBpc1g2NAogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICByYWlzZQpAQCAtMjA0LDcgKzIwNCw2IEBAIGNsYXNzIFJlZ2lz
dGVySUQKICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgZW5kCiAgICAgICAgIHdo
ZW4gInQ1IgotICAgICAgICAgICAgcmFpc2UgIkNhbm5vdCB1c2UgI3tuYW1lfSBpbiAzMi1iaXQg
WDg2IGF0ICN7Y29kZU9yaWdpblN0cmluZ30iIHVubGVzcyBpc1g2NAogICAgICAgICAgICAgY2Fz
ZSBraW5kCiAgICAgICAgICAgICB3aGVuIDpieXRlCiAgICAgICAgICAgICAgICAgIiVkaWwiCkBA
IC0yMTMsOSArMjEyLDkgQEAgY2xhc3MgUmVnaXN0ZXJJRAogICAgICAgICAgICAgd2hlbiA6aW50
CiAgICAgICAgICAgICAgICAgIiVlZGkiCiAgICAgICAgICAgICB3aGVuIDpwdHIKLSAgICAgICAg
ICAgICAgICAiJXJkaSIKKyAgICAgICAgICAgICAgICBpc1g2NCA/ICIlcmRpIiA6ICIlZWRpIgog
ICAgICAgICAgICAgd2hlbiA6cXVhZAotICAgICAgICAgICAgICAgICIlcmRpIgorICAgICAgICAg
ICAgICAgIGlzWDY0ID8gIiVyZGkiIDogcmFpc2UKICAgICAgICAgICAgIGVuZAogICAgICAgICB3
aGVuICJ0NiIKICAgICAgICAgICAgIHJhaXNlICJDYW5ub3QgdXNlICN7bmFtZX0gaW4gMzItYml0
IFg4NiBhdCAje2NvZGVPcmlnaW5TdHJpbmd9IiB1bmxlc3MgaXNYNjQKQEAgLTk4Miw2ICs5ODEs
MzAgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24KICAgICAgICAgICAgICRhc20ucHV0cyAicG9wICN7b3Bl
cmFuZHNbMF0ueDg2T3BlcmFuZCg6cHRyKX0iCiAgICAgICAgIHdoZW4gInB1c2giCiAgICAgICAg
ICAgICAkYXNtLnB1dHMgInB1c2ggI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpwdHIpfSIKKyAg
ICAgICAgd2hlbiAicG9wQ2FsbGVlU2F2ZXMiCisgICAgICAgICAgICBpZiBpc1g2NAorICAgICAg
ICAgICAgICAgICRhc20ucHV0cyAicG9wICVyYngiCisgICAgICAgICAgICAgICAgJGFzbS5wdXRz
ICJwb3AgJXIxNSIKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInBvcCAlcjE0IgorICAgICAg
ICAgICAgICAgICRhc20ucHV0cyAicG9wICVyMTMiCisgICAgICAgICAgICAgICAgJGFzbS5wdXRz
ICJwb3AgJXIxMiIKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMg
InBvcCAlZWJ4IgorICAgICAgICAgICAgICAgICRhc20ucHV0cyAicG9wICVlZGkiCisgICAgICAg
ICAgICAgICAgJGFzbS5wdXRzICJwb3AgJWVzaSIKKyAgICAgICAgICAgIGVuZAorICAgICAgICB3
aGVuICJwdXNoQ2FsbGVlU2F2ZXMiCisgICAgICAgICAgICBpZiBpc1g2NAorICAgICAgICAgICAg
ICAgICRhc20ucHV0cyAicHVzaCAlcjEyIgorICAgICAgICAgICAgICAgICRhc20ucHV0cyAicHVz
aCAlcjEzIgorICAgICAgICAgICAgICAgICRhc20ucHV0cyAicHVzaCAlcjE0IgorICAgICAgICAg
ICAgICAgICRhc20ucHV0cyAicHVzaCAlcjE1IgorICAgICAgICAgICAgICAgICRhc20ucHV0cyAi
cHVzaCAlcmJ4IgorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICRhc20ucHV0cyAi
cHVzaCAlZXNpIgorICAgICAgICAgICAgICAgICRhc20ucHV0cyAicHVzaCAlZWRpIgorICAgICAg
ICAgICAgICAgICRhc20ucHV0cyAicHVzaCAlZWJ4IgorICAgICAgICAgICAgZW5kCiAgICAgICAg
IHdoZW4gIm1vdmUiCiAgICAgICAgICAgICBoYW5kbGVNb3ZlCiAgICAgICAgIHdoZW4gInN4aTJx
IgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAkocmV2aXNpb24gMTU5MTY4
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNTcsOCArMjU3LDYgQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBU
eXBlKQogCiAjaWYgRU5BQkxFKEpJVCkKICAgICBqaXRTdHVicyA9IGFkb3B0UHRyKG5ldyBKSVRU
aHVua3MoKSk7Ci0KLSAgICBjYWxsSmF2YVNjcmlwdEpJVEZ1bmN0aW9uID0gcmVpbnRlcnByZXRf
Y2FzdDxDYWxsSmF2YVNjcmlwdEpJVEZ1bmN0aW9uPihnZXRDVElTdHViKGNhbGxUb0phdmFTY3Jp
cHQpLmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKEZU
TF9KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgJKHJldmlzaW9uIDE1OTE2
OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgJKHdvcmtpbmcgY29weSkK
QEAgLTMyOSwxMCArMzI5LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1cm4g
aml0U3R1YnMtPmN0aVN0dWIodGhpcywgZ2VuZXJhdG9yKTsKICAgICAgICAgfQogICAgICAgICBO
YXRpdmVFeGVjdXRhYmxlKiBnZXRIb3N0RnVuY3Rpb24oTmF0aXZlRnVuY3Rpb24sIEludHJpbnNp
Yyk7Ci0KLSAgICAgICAgdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSgqQ2FsbEphdmFTY3JpcHRKSVRG
dW5jdGlvbikodm9pZCAqLCBFeGVjU3RhdGUqKTsKLQotICAgICAgICBDYWxsSmF2YVNjcmlwdEpJ
VEZ1bmN0aW9uIGNhbGxKYXZhU2NyaXB0SklURnVuY3Rpb247CiAjZW5kaWYKICNpZiBFTkFCTEUo
RlRMX0pJVCkKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPEZUTDo6VGh1bmtzPiBmdGxUaHVua3M7
Cg==
</data>
<flag name="review"
          id="239882"
          type_id="1"
          status="+"
          setter="ggaren"
    />
    <flag name="commit-queue"
          id="239928"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216903</attachid>
            <date>2013-11-13 23:36:51 -0800</date>
            <delta_ts>2013-11-13 23:36:51 -0800</delta_ts>
            <desc>Patch for Landing</desc>
            <filename>124251-landing.patch</filename>
            <type>text/plain</type>
            <size>38628</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU5Mjc1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBA
CisyMDEzLTExLTEzICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENoYW5nZSBjYWxsVG9KYXZhU2NyaXB0IHRodW5rIGludG8gYW4gb2ZmbGluZSBhc3NlbWJs
ZWQgc3R1YgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI0MjUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAgICAg
Q2hhbmdlZCBjYWxsVG9KYXZhU2NyaXB0IGFuZCB0aHJvd05vdENhdWdodCBpbnRvIHN0dWJzIGdl
bmVyYXRlZCBieSB0aGUgb2ZmbGluZSBhc3NlbWJsZXIuCisgICAgICAgIEFkZGVkIHBvcENhbGxl
ZVNhdmVzIGFuZCBwdXNoQ2FsbGVlU2F2ZXMgcHNldWRvIG9wcyB0byB0aGUgb2ZmbGluZSBhc3Nl
bWJsZXIgdG8gaGFuZGxlCisgICAgICAgIHRoZSBzYXZpbmcgYW5kIHJlc3RvcmluZyBvZiBjYWxs
ZWUgc2F2ZSByZWdpc3RlcnMuICBGaXhlZCBjYWxsRnJhbWVSZWdpc3RlciBkaWZmZXJlbmNlcwor
ICAgICAgICBiZXR3ZWVuIGFybSB0cmFkaXRpb25hbCAocjExKSBhbmQgYXJtIFRodW1iMiAocjcp
IGluIEdQUkluZm8uaC4gIEFsc28gZml4ZWQgaW1wbGVtZW50YXRpb24KKyAgICAgICAgb2YgcG9w
ICYgcHVzaCBpbiBhcm0ucmIuCisKKyAgICAgICAgU2luY2UgdGhlIG9mZmxpbmUgYXNzZW1ibGVy
IGFuZCB0aGVyZWZvcmUgdGhlIExMSW50IGRvbid0IHdvcmsgb24gV2luZG93cywgdGhlIFdpbmRv
d3Mgc3R1YnMKKyAgICAgICAgYXJlIGhhbmRsZWQgYXMgaW5saW5lIGFzc2VtYmx5IGluIEpJVFN0
dWJzWDg2LmggYW5kIEpJVFN0dWJzTVNWQzY0LmFzbS4KKworICAgICAgICAqIGRmZy9ERkdEcml2
ZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNvbXBpbGVJbXBsKToKKyAgICAgICAgKiBqaXQv
R1BSSW5mby5oOgorICAgICAgICAoSlNDOjpHUFJJbmZvOjp0b0luZGV4KToKKyAgICAgICAgKEpT
Qzo6R1BSSW5mbzo6ZGVidWdOYW1lKToKKyAgICAgICAgKiBqaXQvSklUQ29kZS5jcHA6CisgICAg
ICAgIChKU0M6OkpJVENvZGU6OmV4ZWN1dGUpOgorICAgICAgICAqIGppdC9KSVRFeGNlcHRpb25z
LmNwcDoKKyAgICAgICAgKEpTQzo6Z2VuZXJpY1Vud2luZCk6CisgICAgICAgICogaml0L0pJVFN0
dWJzLmg6CisgICAgICAgICogaml0L0pJVFN0dWJzTVNWQzY0LmFzbToKKyAgICAgICAgKiBqaXQv
SklUU3R1YnNYODYuaDoKKyAgICAgICAgKiBqaXQvVGh1bmtHZW5lcmF0b3JzLmNwcDoKKyAgICAg
ICAgKiBqaXQvVGh1bmtHZW5lcmF0b3JzLmg6CisgICAgICAgICogbGxpbnQvTExJbnRUaHVua3Mu
aDoKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAgKiBs
bGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtOgorICAgICAgICAqIGxsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206CisgICAgICAgICogb2ZmbGluZWFzbS9hcm0ucmI6CisgICAg
ICAgICogb2ZmbGluZWFzbS9hcm02NC5yYjoKKyAgICAgICAgKiBvZmZsaW5lYXNtL2luc3RydWN0
aW9ucy5yYjoKKyAgICAgICAgKiBvZmZsaW5lYXNtL21pcHMucmI6CisgICAgICAgICogb2ZmbGlu
ZWFzbS9yZWdpc3RlcnMucmI6CisgICAgICAgICogb2ZmbGluZWFzbS9zaDQucmI6CisgICAgICAg
ICogb2ZmbGluZWFzbS94ODYucmI6CisgICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAgICAg
IChKU0M6OlZNOjpWTSk6CisgICAgICAgICogcnVudGltZS9WTS5oOgorCiAyMDEzLTExLTEzICBB
bmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdGhlIEFSTTY0IGJ1
aWxkIGFmdGVyIHJlY2VudCBKYXZhU2NyaXB0Q29yZSBjaGFuZ2VzCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0RyaXZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdEcml2ZXIuY3BwCShyZXZpc2lvbiAxNTkyNzUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0RyaXZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc4LDgg
Kzc4LDYgQEAgc3RhdGljIENvbXBpbGF0aW9uUmVzdWx0IGNvbXBpbGVJbXBsKAogICAgIAogICAg
IC8vIE1ha2Ugc3VyZSB0aGF0IGFueSBzdHVicyB0aGF0IHRoZSBERkcgaXMgZ29pbmcgdG8gdXNl
IGFyZSBpbml0aWFsaXplZC4gV2Ugd2FudCB0bwogICAgIC8vIG1ha2Ugc3VyZSB0aGF0IGFsbCBK
SVQgY29kZSBnZW5lcmF0aW9uIGRvZXMgZmluYWxpemF0aW9uIG9uIHRoZSBtYWluIHRocmVhZC4K
LSAgICB2bS5nZXRDVElTdHViKGNhbGxUb0phdmFTY3JpcHQpOwotICAgIHZtLmdldENUSVN0dWIo
dGhyb3dOb3RDYXVnaHQpOwogICAgIHZtLmdldENUSVN0dWIob3NyRXhpdEdlbmVyYXRpb25UaHVu
a0dlbmVyYXRvcik7CiAgICAgdm0uZ2V0Q1RJU3R1Yih0aHJvd0V4Y2VwdGlvbkZyb21DYWxsU2xv
d1BhdGhHZW5lcmF0b3IpOwogICAgIHZtLmdldENUSVN0dWIobGlua0NhbGxUaHVua0dlbmVyYXRv
cik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaAkocmV2aXNpb24gMTU5Mjc1
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ2MCw3ICs0NjAsMTEgQEAgcHVibGljOgogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVn
VDQgPSBBUk1SZWdpc3RlcnM6OnI4OwogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDUgPSBB
Uk1SZWdpc3RlcnM6OnI5OwogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDYgPSBBUk1SZWdp
c3RlcnM6OnIxMDsKLSAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q3ID0gQVJNUmVnaXN0ZXJz
OjpyNTsKKyNpZiBDUFUoQVJNX1RIVU1CMikKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q3
ID0gQVJNUmVnaXN0ZXJzOjpyMTE7CisjZWxzZSAKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJl
Z1Q3ID0gQVJNUmVnaXN0ZXJzOjpyNzsKKyNlbmRpZgogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcg
cmVnVDggPSBBUk1SZWdpc3RlcnM6OnIzOwogICAgIC8vIFRoZXNlIHJlZ2lzdGVycyBtYXRjaCB0
aGUgYmFzZWxpbmUgSklULgogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgY2FjaGVkUmVzdWx0UmVn
aXN0ZXIgPSByZWdUMDsKQEAgLTQ4OCw4ICs0OTIsMTMgQEAgcHVibGljOgogICAgIHN0YXRpYyB1
bnNpZ25lZCB0b0luZGV4KEdQUlJlZyByZWcpCiAgICAgewogICAgICAgICBBU1NFUlQocmVnICE9
IEludmFsaWRHUFJSZWcpOwotICAgICAgICBBU1NFUlQocmVnIDwgMTYpOwotICAgICAgICBzdGF0
aWMgY29uc3QgdW5zaWduZWQgaW5kZXhGb3JSZWdpc3RlclsxNl0gPSB7IDAsIDEsIDIsIDgsIDMs
IDcsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCA0LCA1LCA2LCBJbnZhbGlkSW5kZXgsIElu
dmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCB9Owor
ICAgICAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8aW50PihyZWcpIDwgMTYpOworICAgICAgICBzdGF0
aWMgY29uc3QgdW5zaWduZWQgaW5kZXhGb3JSZWdpc3RlclsxNl0gPQorI2lmIENQVShBUk1fVEhV
TUIyKQorICAgICAgICAgICAgeyAwLCAxLCAyLCA4LCAzLCA5LCBJbnZhbGlkSW5kZXgsIEludmFs
aWRJbmRleCwgNCwgNSwgNiwgNywgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJ
bmRleCwgSW52YWxpZEluZGV4IH07CisjZWxzZQorICAgICAgICAgICAgeyAwLCAxLCAyLCA4LCAz
LCA5LCBJbnZhbGlkSW5kZXgsIDcsIDQsIDUsIDYsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4
LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4IH07CisjZW5kaWYKICAg
ICAgICAgdW5zaWduZWQgcmVzdWx0ID0gaW5kZXhGb3JSZWdpc3RlcltyZWddOwogICAgICAgICBB
U1NFUlQocmVzdWx0ICE9IEludmFsaWRJbmRleCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CkBA
IC00OTgsNyArNTA3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBkZWJ1Z05h
bWUoR1BSUmVnIHJlZykKICAgICB7CiAgICAgICAgIEFTU0VSVChyZWcgIT0gSW52YWxpZEdQUlJl
Zyk7Ci0gICAgICAgIEFTU0VSVChyZWcgPCAxNik7CisgICAgICAgIEFTU0VSVChzdGF0aWNfY2Fz
dDxpbnQ+KHJlZykgPCAxNik7CiAgICAgICAgIHN0YXRpYyBjb25zdCBjaGFyKiBuYW1lRm9yUmVn
aXN0ZXJbMTZdID0gewogICAgICAgICAgICAgInIwIiwgInIxIiwgInIyIiwgInIzIiwKICAgICAg
ICAgICAgICJyNCIsICJyNSIsICJyNiIsICJyNyIsCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVENvZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUQ29kZS5jcHAJKHJldmlzaW9uIDE1OTI3NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUQ29kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDggKzI2LDggQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJKSVRDb2RlLmgiCiAKKyNpbmNsdWRlICJMTEludFRo
dW5rcy5oIgogI2luY2x1ZGUgIk9wZXJhdGlvbnMuaCIKLSNpbmNsdWRlICJUaHVua0dlbmVyYXRv
cnMuaCIKICNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBA
IC00Niw3ICs0Niw3IEBAIEpTVmFsdWUgSklUQ29kZTo6ZXhlY3V0ZShKU1N0YWNrKiBzdGFjaywK
IHsKICAgICBVTlVTRURfUEFSQU0oc3RhY2spOwogCi0gICAgSlNWYWx1ZSByZXN1bHQgPSBKU1Zh
bHVlOjpkZWNvZGUodm0tPmNhbGxKYXZhU2NyaXB0SklURnVuY3Rpb24oZXhlY3V0YWJsZUFkZHJl
c3MoKSwgY2FsbEZyYW1lKSk7CisgICAgSlNWYWx1ZSByZXN1bHQgPSBKU1ZhbHVlOjpkZWNvZGUo
Y2FsbFRvSmF2YVNjcmlwdChleGVjdXRhYmxlQWRkcmVzcygpLCBjYWxsRnJhbWUpKTsKICAgICBy
ZXR1cm4gdm0tPmV4Y2VwdGlvbigpID8ganNOdWxsKCkgOiByZXN1bHQ7CiB9CiAjZW5kaWYKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklURXhjZXB0aW9ucy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRFeGNlcHRpb25zLmNwcAkocmV2aXNp
b24gMTU5Mjc1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRFeGNlcHRpb25zLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsOSBAQAogI2luY2x1ZGUgIkNhbGxGcmFtZUlu
bGluZXMuaCIKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgorI2luY2x1ZGUgIkpJVFN0dWJzLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgorI2luY2x1
ZGUgIkxMSW50VGh1bmtzLmgiCiAjaW5jbHVkZSAiVk0uaCIKICNpbmNsdWRlICJPcGVyYXRpb25z
LmgiCiAKQEAgLTQ5LDcgKzUxLDcgQEAgdm9pZCBnZW5lcmljVW53aW5kKFZNKiB2bSwgRXhlY1N0
YXRlKiBjYQogICAgICAgICBjYXRjaFBDRm9ySW50ZXJwcmV0ZXIgPSAmY2FsbEZyYW1lLT5jb2Rl
QmxvY2soKS0+aW5zdHJ1Y3Rpb25zKClbaGFuZGxlci0+dGFyZ2V0XTsKICAgICAgICAgY2F0Y2hS
b3V0aW5lID0gRXhlY3V0YWJsZUJhc2U6OmNhdGNoUm91dGluZUZvcihoYW5kbGVyLCBjYXRjaFBD
Rm9ySW50ZXJwcmV0ZXIpOwogICAgIH0gZWxzZQotICAgICAgICBjYXRjaFJvdXRpbmUgPSB2bS0+
Z2V0Q1RJU3R1Yih0aHJvd05vdENhdWdodCkuY29kZSgpLmV4ZWN1dGFibGVBZGRyZXNzKCk7Cisg
ICAgICAgIGNhdGNoUm91dGluZSA9IEZ1bmN0aW9uUHRyKExMSW50OjpnZXRDb2RlUHRyKHJldHVy
bkZyb21KYXZhU2NyaXB0KSkudmFsdWUoKTsKICAgICAKICAgICB2bS0+Y2FsbEZyYW1lRm9yVGhy
b3cgPSBjYWxsRnJhbWU7CiAgICAgdm0tPnRhcmdldE1hY2hpbmVQQ0ZvclRocm93ID0gY2F0Y2hS
b3V0aW5lOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuaAkocmV2aXNpb24g
MTU5Mjc1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMCwxMCArMzAsMjEgQEAKICNpZm5kZWYgSklUU3R1YnNfaAogI2RlZmluZSBK
SVRTdHVic19oCiAKKyNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCisKIG5hbWVzcGFjZSBKU0Mgewog
CiAjaWYgRU5BQkxFKEpJVCkKIAorI2lmIE9TKFdJTkRPV1MpCitjbGFzcyBFeGVjU3RhdGU7CisK
K2V4dGVybiAiQyIgeworICAgIEVuY29kZWRKU1ZhbHVlIGNhbGxUb0phdmFTY3JpcHQodm9pZCos
IEV4ZWNTdGF0ZSopOworICAgIHZvaWQgcmV0dXJuRnJvbUphdmFTY3JpcHQoKTsKK30KKyNlbmRp
ZgorCiAjaWYgVVNFKE1BU01fUFJPQkUpCiBleHRlcm4gIkMiIHZvaWQgY3RpTWFzbVByb2JlVHJh
bXBvbGluZSgpOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0
dWJzTVNWQzY0LmFzbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VFN0dWJzTVNWQzY0LmFzbQkocmV2aXNpb24gMTU5Mjc1KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRTdHVic01TVkM2NC5hc20JKHdvcmtpbmcgY29weSkKQEAgLTI1LDEwICsyNSw1
NCBAQAogCiBFWFRFUk4gZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUgOiBuZWFy
CiAKK1BVQkxJQyBjYWxsVG9KYXZhU2NyaXB0CitQVUJMSUMgcmV0dXJuRnJvbUphdmFTY3JpcHQK
IFBVQkxJQyBnZXRIb3N0Q2FsbFJldHVyblZhbHVlCiAKIF9URVhUICAgU0VHTUVOVAogCitjYWxs
VG9KYXZhU2NyaXB0IFBST0MKKyAgICBwdXNoIHJicAorICAgIG1vdiByYnAsIHJheCA7IFNhdmUg
cHJldmlvdXMgZnJhbWUgcG9pbnRlcgorICAgIG1vdiByYnAsIHJzcAorICAgIHB1c2ggcjEyCisg
ICAgcHVzaCByMTMKKyAgICBwdXNoIHIxNAorICAgIHB1c2ggcjE1CisgICAgcHVzaCByYngKKwor
ICAgIDsgSklUIG9wZXJhdGlvbnMgY2FuIHVzZSB1cCB0byA2IGFyZ3MgKDQgaW4gcmVnaXN0ZXJz
IGFuZCAyIG9uIHRoZSBzdGFjaykuCisgICAgOyBJbiBhZGRpdGlvbiwgWDg2XzY0IEFCSSBzcGVj
aWZpZXMgdGhhdCB0aGUgd29yc2UgY2FzZSBzdGFjayBhbGlnbm1lbnQKKyAgICA7IHJlcXVpcmVt
ZW50IGlzIDMyIGJ5dGVzLiBCYXNlZCBvbiB0aGVzZSBmYWN0b3JzLCB3ZSBuZWVkIHRvIHBhZCB0
aGUgc3RhY2sKKyAgICA7IGFuIGFkZGl0aW9uYWwgMjhoIGJ5dGVzLgorICAgIHN1YiByc3AsIDI4
aAorICAgIG1vdiByYnAsIHJkeAorICAgIG1vdiByMTEsIHF3b3JkIHB0cltyYnBdIDsgUHV0IHRo
ZSBwcmV2aW91cyBmcmFtZSBwb2ludGVyIGluIHRoZSBzZW50aW5lbCBjYWxsIGZyYW1lIGFib3Zl
IHVzCisgICAgbW92IHF3b3JkIHB0cltyMTFdLCByYXgKKyAgICBtb3YgcjE0LCAwRkZGRjAwMDAw
MDAwMDAwMGgKKyAgICBtb3YgcjE1LCAwRkZGRjAwMDAwMDAwMDAwMmgKKyAgICBjYWxsIHJjeAor
ICAgIGFkZCByc3AsIDI4aAorICAgIHBvcCByYngKKyAgICBwb3AgcjE1CisgICAgcG9wIHIxNAor
ICAgIHBvcCByMTMKKyAgICBwb3AgcjEyCisgICAgcG9wIHJicAorICAgIHJldAorY2FsbFRvSmF2
YVNjcmlwdCBFTkRQCisKK3JldHVybkZyb21KYXZhU2NyaXB0IFBST0MKKyAgICBhZGQgcnNwLCAy
OGgKKyAgICBwb3AgcmJ4CisgICAgcG9wIHIxNQorICAgIHBvcCByMTQKKyAgICBwb3AgcjEzCisg
ICAgcG9wIHIxMgorICAgIHBvcCByYnAKKyAgICByZXQKK3JldHVybkZyb21KYXZhU2NyaXB0IEVO
RFAKKwkKIGdldEhvc3RDYWxsUmV0dXJuVmFsdWUgUFJPQwogICAgIHN1YiByMTMsIDQwCiAgICAg
bW92IHIxMywgcmRpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzWDg2
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic1g4Ni5o
CShyZXZpc2lvbiAxNTkyNzUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJz
WDg2LmgJKHdvcmtpbmcgY29weSkKQEAgLTIwMCw2ICsyMDAsNTAgQEAgU1lNQk9MX1NUUklORyhj
dGlNYXNtUHJvYmVUcmFtcG9saW5lRW5kKQogCiAjZW5kaWYgLy8gQ09NUElMRVIoR0NDKQogCisj
aWYgQ09NUElMRVIoTVNWQykKKworZXh0ZXJuICJDIiB7CisKKyAgICAvLyBGSVhNRTogU2luY2Ug
V2luZG93cyBkb2Vzbid0IHVzZSB0aGUgTExJbnQsIHdlIGhhdmUgaW5saW5lIHN0dWJzIGhlcmUu
CisgICAgLy8gVW50aWwgdGhlIExMSW50IGlzIGNoYW5nZWQgdG8gc3VwcG9ydCBXaW5kb3dzLCB0
aGVzZSBzdHViIG5lZWRzIHRvIGJlIHVwZGF0ZWQuCisgICAgX19kZWNsc3BlYyhuYWtlZCkgRW5j
b2RlZEpTVmFsdWUgY2FsbFRvSmF2YVNjcmlwdCh2b2lkKiBjb2RlLCBFeGVjU3RhdGUqKQorICAg
IHsKKyAgICAgICAgX19hc20geworICAgICAgICAgICAgcHVzaCBlYnA7CisgICAgICAgICAgICBt
b3YgZWF4LCBlYnA7CisgICAgICAgICAgICBtb3YgZWJwLCBlc3A7CisgICAgICAgICAgICBwdXNo
IGVzaTsKKyAgICAgICAgICAgIHB1c2ggZWRpOworICAgICAgICAgICAgcHVzaCBlYng7CisgICAg
ICAgICAgICBzdWIgZXNwLCAweDFjOworICAgICAgICAgICAgbW92IGVicCwgW2VzcCArIDB4MzRd
OworICAgICAgICAgICAgbW92IGVieCwgW2VicF07CisgICAgICAgICAgICBtb3YgW2VieF0sIGVh
eDsKKyAgICAgICAgICAgIGNhbGwgW2VzcCArIDB4MzBdOworICAgICAgICAgICAgYWRkIGVzcCwg
MHgxYzsKKyAgICAgICAgICAgIHBvcCBlYng7CisgICAgICAgICAgICBwb3AgZWRpOworICAgICAg
ICAgICAgcG9wIGVzaTsKKyAgICAgICAgICAgIHBvcCBlYnA7CisgICAgICAgICAgICByZXQ7Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICBfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIHJldHVybkZyb21K
YXZhU2NyaXB0KCkKKyAgICB7CisgICAgICAgIF9fYXNtIHsKKyAgICAgICAgICAgIGFkZCBlc3As
IDB4MWM7CisgICAgICAgICAgICBwb3AgZWJ4OworICAgICAgICAgICAgcG9wIGVkaTsKKyAgICAg
ICAgICAgIHBvcCBlc2k7CisgICAgICAgICAgICBwb3AgZWJwOworICAgICAgICAgICAgcmV0Owor
ICAgICAgICB9CisgICAgfQorfQorCisjZW5kaWYgLy8gQ09NUElMRVIoTVNWQykKKwogfSAvLyBu
YW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBKSVRTdHVic1g4Nl9oCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuY3BwCShyZXZpc2lvbiAxNTkyNzUp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTU2LDI3NyArNTYsNiBAQCBpbmxpbmUgdm9pZCBlbWl0UG9pbnRlclZhbGlk
YXRpb24oQ0NhbGxICiAjZW5kaWYKIH0KIAotc3RhdGljIHZvaWQgcmV0dXJuRnJvbUphdmFTY3Jp
cHQoQ0NhbGxIZWxwZXJzJiBqaXQpCi17Ci0jaWYgQ1BVKFg4Nl82NCkKLSNpZiBPUyhXSU5ET1dT
KQotICAgIC8vIEpJVCBvcGVyYXRpb25zIGNhbiB1c2UgdXAgdG8gNiBhcmdzICg0IGluIHJlZ2lz
dGVycyBhbmQgMiBvbiB0aGUgc3RhY2spLgotICAgIC8vIEluIGFkZGl0aW9uLCBYODZfNjQgQUJJ
IHNwZWNpZmllcyB0aGF0IHRoZSB3b3JzZSBjYXNlIHN0YWNrIGFsaWdubWVudAotICAgIC8vIHJl
cXVpcmVtZW50IGlzIDMyIGJ5dGVzLiBCYXNlZCBvbiB0aGVzZSBmYWN0b3JzLCB3ZSBuZWVkIHRv
IHBhZCB0aGUgc3RhY2sKLSAgICAvLyBhbmQgYWRkaXRpb25hbCA0MCBieXRlcy4KLSMgICBkZWZp
bmUgRVhUUkFfU1RBQ0tfU0laRSAgICAgICAgICAgICAgNDAKLSAgICBqaXQuYWRkUHRyKENDYWxs
SGVscGVyczo6VHJ1c3RlZEltbTMyKDgpLCBYODZSZWdpc3RlcnM6OmVzcCk7Ci0jZWxzZQotICAg
IC8vIFdlIGRvbid0IG5lZWQgZXh0cmEgc3RhY2sgc3BhY2UgZm9yIG91dC1nb2luZyBhcmdzLCBi
dXQgd2UgbmVlZCB0byBhbGlnbiB0aGUKLSAgICAvLyBzdGFjayB0byAzMiBieXRlIGFsaWdubWVu
dCwgdGhlcmVmb3JlIGFkZCA4IGJ5dGVzIHRvIHRoZSBzdGFjay4KLSMgICBkZWZpbmUgRVhUUkFf
U1RBQ0tfU0laRSAgICAgICAgICAgICAgOAotICAgIGppdC5hZGRQdHIoQ0NhbGxIZWxwZXJzOjpU
cnVzdGVkSW1tMzIoRVhUUkFfU1RBQ0tfU0laRSksIFg4NlJlZ2lzdGVyczo6ZXNwKTsKLSNlbmRp
ZgotCi0gICAgaml0LnBvcChYODZSZWdpc3RlcnM6OmVieCk7Ci0gICAgaml0LnBvcChYODZSZWdp
c3RlcnM6OnIxNSk7Ci0gICAgaml0LnBvcChYODZSZWdpc3RlcnM6OnIxNCk7Ci0gICAgaml0LnBv
cChYODZSZWdpc3RlcnM6OnIxMyk7Ci0gICAgaml0LnBvcChYODZSZWdpc3RlcnM6OnIxMik7Ci0g
ICAgaml0LnBvcChYODZSZWdpc3RlcnM6OmVicCk7Ci0jZWxpZiBDUFUoWDg2KQotICAgIC8vIEpJ
VCBPcGVyYXRpb24gY2FuIHVzZSB1cCB0byA2IGFyZ3VtZW50cyByaWdodCBub3cuIFNvLCB3ZSBu
ZWVkIHRvCi0gICAgLy8gcmVzZXJ2ZSBzcGFjZSBpbiB0aGlzIHN0YWNrIGZyYW1lIGZvciB0aGUg
b3V0LWdvaW5nIGFyZ3MuIFRvIGVuc3VyZSB0aGF0Ci0gICAgLy8gdGhlIHN0YWNrIHJlbWFpbnMg
YWxpZ25lZCBvbiBhbiAxNiBieXRlIGJvdW5kYXJ5LCB3ZSByb3VuZCB0aGUgcGFkZGluZyB1cAot
ICAgIC8vIGJ5IDI4IGJ5dGVzLgotIyAgIGRlZmluZSBFWFRSQV9TVEFDS19TSVpFIDI4Ci0KLSAg
ICBqaXQuYWRkUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKEVYVFJBX1NUQUNLX1NJWkUp
LCBYODZSZWdpc3RlcnM6OmVzcCk7Ci0KLSAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6ZWJ4KTsK
LSAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6ZWRpKTsKLSAgICBqaXQucG9wKFg4NlJlZ2lzdGVy
czo6ZXNpKTsKLSAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6ZWJwKTsKLSNlbGlmIENQVShBUk1f
VFJBRElUSU9OQUwpCi0gICAgLy8gSklUIE9wZXJhdGlvbiBjYW4gdXNlIHVwIHRvIDYgYXJndW1l
bnRzIHJpZ2h0IG5vdy4gU28sIHdlIG5lZWQgdG8KLSAgICAvLyByZXNlcnZlIHNwYWNlIGluIHRo
aXMgc3RhY2sgZnJhbWUgZm9yIHRoZSBvdXQtZ29pbmcgYXJncy4gV2UgbmVlZCB0bwotICAgIC8v
IGFkZCBzcGFjZSBmb3IgMTYgbW9yZSBieXRlcy4KLSMgICBkZWZpbmUgRVhUUkFfU1RBQ0tfU0la
RSAgICAgICAgICAgICAgMTYKLQotICAgIGppdC5hZGRQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVk
SW1tMzIoRVhUUkFfU1RBQ0tfU0laRSksIEFSTVJlZ2lzdGVyczo6c3ApOwotCi0gICAgaml0LnBv
cChBUk1SZWdpc3RlcnM6OmxyKTsKLSAgICBqaXQucG9wKEFSTVJlZ2lzdGVyczo6cjExKTsKLSAg
ICBqaXQucG9wKEFSTVJlZ2lzdGVyczo6cjEwKTsKLSAgICBqaXQucG9wKEFSTVJlZ2lzdGVyczo6
cjkpOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyOCk7Ci0gICAgaml0LnBvcChBUk1SZWdp
c3RlcnM6OnI2KTsKLSAgICBqaXQucG9wKEFSTVJlZ2lzdGVyczo6cjUpOwotICAgIGppdC5wb3Ao
QVJNUmVnaXN0ZXJzOjpyNCk7Ci0jZWxpZiBDUFUoQVJNX1RIVU1CMikKLSAgICAvLyBKSVQgT3Bl
cmF0aW9uIGNhbiB1c2UgdXAgdG8gNiBhcmd1bWVudHMgcmlnaHQgbm93LiBTbywgd2UgbmVlZCB0
bwotICAgIC8vIHJlc2VydmUgc3BhY2UgaW4gdGhpcyBzdGFjayBmcmFtZSBmb3IgdGhlIG91dC1n
b2luZyBhcmdzLiBUbyBlbnN1cmUgdGhhdAotICAgIC8vIHRoZSBzdGFjayByZW1haW5zIGFsaWdu
ZWQgb24gYW4gMTYgYnl0ZSBib3VuZGFyeSwgd2Ugcm91bmQgdGhlIHBhZGRpbmcgdXAKLSAgICAv
LyBieSAyOCBieXRlcy4KLSMgICBkZWZpbmUgRVhUUkFfU1RBQ0tfU0laRSAgICAgICAgICAgICAg
MjgKLQotICAgIGppdC5hZGRQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoRVhUUkFfU1RB
Q0tfU0laRSksIEFSTVJlZ2lzdGVyczo6c3ApOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpy
MTEpOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyMTApOwotICAgIGppdC5wb3AoQVJNUmVn
aXN0ZXJzOjpyOSk7Ci0gICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnI4KTsKLSAgICBqaXQucG9w
KEFSTVJlZ2lzdGVyczo6cjcpOwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyNik7Ci0gICAg
aml0LnBvcChBUk1SZWdpc3RlcnM6OnI1KTsKLSAgICBqaXQucG9wKEFSTVJlZ2lzdGVyczo6cjQp
OwotICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpscik7Ci0jZWxpZiBDUFUoQVJNNjQpCi0gICAg
aml0LnBvcChBUk02NFJlZ2lzdGVyczo6eDI4KTsKLSAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJz
Ojp4MjcpOwotICAgIGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6OngyNik7Ci0gICAgaml0LnBvcChB
Uk02NFJlZ2lzdGVyczo6eDI1KTsKLSAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJzOjp4MjQpOwot
ICAgIGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6OngyMyk7Ci0gICAgaml0LnBvcChBUk02NFJlZ2lz
dGVyczo6eDIyKTsKLSAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJzOjp4MjEpOwotICAgIGppdC5w
b3AoQVJNNjRSZWdpc3RlcnM6OngyMCk7Ci0gICAgaml0LnBvcChBUk02NFJlZ2lzdGVyczo6eDE5
KTsKLSAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJzOjpscik7Ci0jZWxpZiBDUFUoTUlQUykKLSMg
ICBkZWZpbmUgUFJFU0VSVkVEX0dQX09GRlNFVCAgICAgICAgIDYwCi0jICAgZGVmaW5lIFBSRVNF
UlZFRF9TMF9PRkZTRVQgICAgICAgICA2NAotIyAgIGRlZmluZSBQUkVTRVJWRURfUzFfT0ZGU0VU
ICAgICAgICAgNjgKLSMgICBkZWZpbmUgUFJFU0VSVkVEX1MyX09GRlNFVCAgICAgICAgIDcyCi0j
ICAgZGVmaW5lIFBSRVNFUlZFRF9TM19PRkZTRVQgICAgICAgICA3NgotIyAgIGRlZmluZSBQUkVT
RVJWRURfUzRfT0ZGU0VUICAgICAgICAgODAKLSMgICBkZWZpbmUgUFJFU0VSVkVEX1JFVFVSTl9B
RERSRVNTX09GRlNFVCA4NAotIyAgIGRlZmluZSBQUkVTRVJWRURfRlBfT0ZGU0VUICAgICAgICAg
ODgKLSMgICBkZWZpbmUgU1RBQ0tfTEVOR1RIICAgICAgICAgICAgICAgMTEyCi0KLSAgICBqaXQu
bG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZF
RF9TMF9PRkZTRVQpLCBNSVBTUmVnaXN0ZXJzOjpzMCk7Ci0gICAgaml0LmxvYWRQdHIoQ0NhbGxI
ZWxwZXJzOjpBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfUzFfT0ZGU0VUKSwg
TUlQU1JlZ2lzdGVyczo6czEpOwotICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVz
cyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX1MyX09GRlNFVCksIE1JUFNSZWdpc3RlcnM6
OnMyKTsKLSAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVy
czo6c3AsIFBSRVNFUlZFRF9TM19PRkZTRVQpLCBNSVBTUmVnaXN0ZXJzOjpzMyk7Ci0gICAgaml0
LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJW
RURfUzRfT0ZGU0VUKSwgTUlQU1JlZ2lzdGVyczo6czQpOwotICAgIGppdC5sb2FkUHRyKENDYWxs
SGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX1JFVFVSTl9BRERS
RVNTX09GRlNFVCksIE1JUFNSZWdpc3RlcnM6OnJhKTsKLSAgICBqaXQubG9hZFB0cihDQ2FsbEhl
bHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9GUF9PRkZTRVQpLCBN
SVBTUmVnaXN0ZXJzOjpmcCk7Ci0gICAgaml0LmFkZFB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJ
bW0zMihTVEFDS19MRU5HVEgpLCBNSVBTUmVnaXN0ZXJzOjpzcCk7Ci0jZWxpZiBDUFUoU0g0KQot
IyAgIGRlZmluZSBFWFRSQV9TVEFDS19TSVpFIDIwCi0KLSAgICBqaXQuYWRkUHRyKENDYWxsSGVs
cGVyczo6VHJ1c3RlZEltbTMyKEVYVFJBX1NUQUNLX1NJWkUpLCBTSDRSZWdpc3RlcnM6OnNwKTsK
LSAgICBqaXQucG9wKFNINFJlZ2lzdGVyczo6cjgpOwotICAgIGppdC5wb3AoU0g0UmVnaXN0ZXJz
OjpyOSk7Ci0gICAgaml0LnBvcChTSDRSZWdpc3RlcnM6OnIxMCk7Ci0gICAgaml0LnBvcChTSDRS
ZWdpc3RlcnM6OnIxMSk7Ci0gICAgaml0LnBvcChTSDRSZWdpc3RlcnM6OnIxMyk7Ci0gICAgaml0
LnBvcChTSDRSZWdpc3RlcnM6OnByKTsKLSAgICBqaXQucG9wKFNINFJlZ2lzdGVyczo6ZnApOwot
I2VuZGlmCi0KLSAgICBqaXQucmV0KCk7Ci19Ci0KLU1hY3JvQXNzZW1ibGVyQ29kZVJlZiBjYWxs
VG9KYXZhU2NyaXB0KFZNKiB2bSkKLXsKLSAgICAvLyBUaGUgc2lnbmF0dXJlIG9mIHRoZSBjb2Rl
IGdlbmVyYXRlZCBpcyBFbmNvZGVkSlNWYWx1ZSBjYWxsVG9KYXZhU2NyaXB0KHZvaWQqIGNvZGUs
IENhbGxGcmFtZSopCi0KLSAgICBDQ2FsbEhlbHBlcnMgaml0KHZtKTsKLQotI2lmIENQVShYODZf
NjQpCi0jaWYgT1MoV0lORE9XUykKLSAgICAvLyBEdW1wIHJlZ2lzdGVyIHBhcmFtZXRlcnMgdG8g
dGhlaXIgaG9tZSBhZGRyZXNzCi0gICAgaml0LnN0b3JlUHRyKFg4NlJlZ2lzdGVyczo6cjksIEND
YWxsSGVscGVyczo6QWRkcmVzcyhYODZSZWdpc3RlcnM6OmVzcCwgMHgyMCkpOwotICAgIGppdC5z
dG9yZVB0cihYODZSZWdpc3RlcnM6OnI4LCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoWDg2UmVnaXN0
ZXJzOjplc3AsIDB4MTgpKTsKLSAgICBqaXQuc3RvcmVQdHIoWDg2UmVnaXN0ZXJzOjplZHgsIEND
YWxsSGVscGVyczo6QWRkcmVzcyhYODZSZWdpc3RlcnM6OmVzcCwgMHgxMCkpOwotICAgIGppdC5z
dG9yZVB0cihYODZSZWdpc3RlcnM6OmVjeCwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKFg4NlJlZ2lz
dGVyczo6ZXNwLCAweDgpKTsKLSNlbmRpZiAvLyBPUyhXSU5ET1dTKQotICAgIGppdC5wdXNoKFg4
NlJlZ2lzdGVyczo6ZWJwKTsKLSAgICBqaXQubW92ZShYODZSZWdpc3RlcnM6OmVicCwgR1BSSW5m
bzo6bm9uQXJnR1BSMCk7Ci0gICAgaml0Lm1vdmUoWDg2UmVnaXN0ZXJzOjplc3AsIFg4NlJlZ2lz
dGVyczo6ZWJwKTsKLSAgICBqaXQucHVzaChYODZSZWdpc3RlcnM6OnIxMik7Ci0gICAgaml0LnB1
c2goWDg2UmVnaXN0ZXJzOjpyMTMpOwotICAgIGppdC5wdXNoKFg4NlJlZ2lzdGVyczo6cjE0KTsK
LSAgICBqaXQucHVzaChYODZSZWdpc3RlcnM6OnIxNSk7Ci0gICAgaml0LnB1c2goWDg2UmVnaXN0
ZXJzOjplYngpOwotCi0gICAgaml0LnN1YlB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihF
WFRSQV9TVEFDS19TSVpFKSwgWDg2UmVnaXN0ZXJzOjplc3ApOwotCi0jICAgZGVmaW5lIENBTExG
UkFNRV9TUkNfUkVHIEdQUkluZm86OmFyZ3VtZW50R1BSMQotIyAgIGRlZmluZSBQUkVWSU9VU19D
QUxMRlJBTUVfUkVHIEdQUkluZm86Om5vbkFyZ0dQUjAKLSNlbGlmIENQVShYODYpCi0gICAgaml0
LnB1c2goWDg2UmVnaXN0ZXJzOjplYnApOwotICAgIGppdC5tb3ZlKFg4NlJlZ2lzdGVyczo6ZWJw
LCBHUFJJbmZvOjpub25BcmdHUFIwKTsKLSAgICBqaXQubW92ZShYODZSZWdpc3RlcnM6OmVzcCwg
WDg2UmVnaXN0ZXJzOjplYnApOwotICAgIGppdC5wdXNoKFg4NlJlZ2lzdGVyczo6ZXNpKTsKLSAg
ICBqaXQucHVzaChYODZSZWdpc3RlcnM6OmVkaSk7Ci0gICAgaml0LnB1c2goWDg2UmVnaXN0ZXJz
OjplYngpOwotCi0gICAgaml0LnN1YlB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihFWFRS
QV9TVEFDS19TSVpFKSwgWDg2UmVnaXN0ZXJzOjplc3ApOwotCi0gICAgaml0LmxvYWQzMihDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoWDg2UmVnaXN0ZXJzOjplc3AsIEVYVFJBX1NUQUNLX1NJWkUgKyAy
NCksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKTsKLQotIyAgIGRlZmluZSBDQUxMRlJBTUVf
U1JDX1JFRyBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlcgotIyAgIGRlZmluZSBDQUxMX0NPREUg
aml0LmNhbGwoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKFg4NlJlZ2lzdGVyczo6ZXNwLCBFWFRSQV9T
VEFDS19TSVpFICsgMjApKQotIyAgIGRlZmluZSBQUkVWSU9VU19DQUxMRlJBTUVfUkVHIEdQUklu
Zm86Om5vbkFyZ0dQUjAKLSNlbGlmIENQVShBUk1fVFJBRElUSU9OQUwpCi0gICAgaml0LnB1c2go
QVJNUmVnaXN0ZXJzOjpyNCk7Ci0gICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyNSk7Ci0gICAg
aml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyNik7Ci0gICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpy
OCk7Ci0gICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyOSk7Ci0gICAgaml0LnB1c2goQVJNUmVn
aXN0ZXJzOjpyMTApOwotICAgIGppdC5wdXNoKEFSTVJlZ2lzdGVyczo6cjExKTsKLSAgICBqaXQu
cHVzaChBUk1SZWdpc3RlcnM6OmxyKTsKLSAgICBqaXQubW92ZShBUk1SZWdpc3RlcnM6OnIxMSwg
R1BSSW5mbzo6bm9uQXJnR1BSMCk7Ci0gICAgaml0LnN1YlB0cihDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW0zMihFWFRSQV9TVEFDS19TSVpFKSwgQVJNUmVnaXN0ZXJzOjpzcCk7Ci0KLSMgICBkZWZp
bmUgQ0FMTEZSQU1FX1NSQ19SRUcgR1BSSW5mbzo6YXJndW1lbnRHUFIxCi0jICAgZGVmaW5lIFBS
RVZJT1VTX0NBTExGUkFNRV9SRUcgR1BSSW5mbzo6bm9uQXJnR1BSMAotI2VsaWYgQ1BVKEFSTV9U
SFVNQjIpCi0gICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpscik7Ci0gICAgaml0LnB1c2goQVJN
UmVnaXN0ZXJzOjpyNCk7Ci0gICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyNSk7Ci0gICAgaml0
LnB1c2goQVJNUmVnaXN0ZXJzOjpyNik7Ci0gICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyNyk7
Ci0gICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyOCk7Ci0gICAgaml0LnB1c2goQVJNUmVnaXN0
ZXJzOjpyOSk7Ci0gICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyMTApOwotICAgIGppdC5wdXNo
KEFSTVJlZ2lzdGVyczo6cjExKTsKLSAgICBqaXQubW92ZShBUk1SZWdpc3RlcnM6OnI3LCBHUFJJ
bmZvOjpub25BcmdHUFIwKTsKLSAgICBqaXQuc3ViUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZElt
bTMyKEVYVFJBX1NUQUNLX1NJWkUpLCBBUk1SZWdpc3RlcnM6OnNwKTsKLQotIyAgIGRlZmluZSBD
QUxMRlJBTUVfU1JDX1JFRyBHUFJJbmZvOjphcmd1bWVudEdQUjEKLSMgICBkZWZpbmUgUFJFVklP
VVNfQ0FMTEZSQU1FX1JFRyBHUFJJbmZvOjpub25BcmdHUFIwCi0jZWxpZiBDUFUoQVJNNjQpCi0g
ICAgaml0LnB1c2goQVJNNjRSZWdpc3RlcnM6OmxyKTsKLSAgICBqaXQucHVzaChBUk02NFJlZ2lz
dGVyczo6eDE5KTsKLSAgICBqaXQucHVzaChBUk02NFJlZ2lzdGVyczo6eDIwKTsKLSAgICBqaXQu
cHVzaChBUk02NFJlZ2lzdGVyczo6eDIxKTsKLSAgICBqaXQucHVzaChBUk02NFJlZ2lzdGVyczo6
eDIyKTsKLSAgICBqaXQucHVzaChBUk02NFJlZ2lzdGVyczo6eDIzKTsKLSAgICBqaXQucHVzaChB
Uk02NFJlZ2lzdGVyczo6eDI0KTsKLSAgICBqaXQucHVzaChBUk02NFJlZ2lzdGVyczo6eDI1KTsK
LSAgICBqaXQucHVzaChBUk02NFJlZ2lzdGVyczo6eDI2KTsKLSAgICBqaXQucHVzaChBUk02NFJl
Z2lzdGVyczo6eDI3KTsKLSAgICBqaXQucHVzaChBUk02NFJlZ2lzdGVyczo6eDI4KTsKLSAgICBq
aXQucHVzaChBUk02NFJlZ2lzdGVyczo6eDI5KTsKLSAgICBqaXQubW92ZShBUk02NFJlZ2lzdGVy
czo6eDI5LCBHUFJJbmZvOjpub25BcmdHUFIwKTsKLQotIyAgIGRlZmluZSBDQUxMRlJBTUVfU1JD
X1JFRyBHUFJJbmZvOjphcmd1bWVudEdQUjEKLSMgICBkZWZpbmUgUFJFVklPVVNfQ0FMTEZSQU1F
X1JFRyBHUFJJbmZvOjpub25BcmdHUFIwCi0jZWxpZiBDUFUoTUlQUykKLSAgICBqaXQuc3ViUHRy
KENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKFNUQUNLX0xFTkdUSCksIE1JUFNSZWdpc3RlcnM6
OnNwKTsKLSAgICBqaXQuc3RvcmVQdHIoTUlQU1JlZ2lzdGVyczo6ZnAsIENDYWxsSGVscGVyczo6
QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX0ZQX09GRlNFVCkpOwotICAgIGpp
dC5zdG9yZVB0cihNSVBTUmVnaXN0ZXJzOjpyYSwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1JUFNS
ZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfUkVUVVJOX0FERFJFU1NfT0ZGU0VUKSk7Ci0gICAgaml0
LnN0b3JlUHRyKE1JUFNSZWdpc3RlcnM6OnM0LCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1Jl
Z2lzdGVyczo6c3AsIFBSRVNFUlZFRF9TNF9PRkZTRVQpKTsKLSAgICBqaXQuc3RvcmVQdHIoTUlQ
U1JlZ2lzdGVyczo6czMsIENDYWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwg
UFJFU0VSVkVEX1MzX09GRlNFVCkpOwotICAgIGppdC5zdG9yZVB0cihNSVBTUmVnaXN0ZXJzOjpz
MiwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfUzJf
T0ZGU0VUKSk7Ci0gICAgaml0LnN0b3JlUHRyKE1JUFNSZWdpc3RlcnM6OnMxLCBDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9TMV9PRkZTRVQpKTsKLSAg
ICBqaXQuc3RvcmVQdHIoTUlQU1JlZ2lzdGVyczo6czAsIENDYWxsSGVscGVyczo6QWRkcmVzcyhN
SVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX1MwX09GRlNFVCkpOwotI2lmIFdURl9NSVBTX1BJ
QwotICAgIGppdC5zdG9yZVB0cihNSVBTUmVnaXN0ZXJzOjpncCwgQ0NhbGxIZWxwZXJzOjpBZGRy
ZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfR1BfT0ZGU0VUKSk7Ci0jZW5kaWYKLSAg
ICBqaXQubW92ZShNSVBTUmVnaXN0ZXJzOjpmcCwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7Ci0KLSMg
ICBkZWZpbmUgQ0FMTEZSQU1FX1NSQ19SRUcgR1BSSW5mbzo6YXJndW1lbnRHUFIxCi0jICAgZGVm
aW5lIFBSRVZJT1VTX0NBTExGUkFNRV9SRUcgR1BSSW5mbzo6bm9uQXJnR1BSMAotI2VsaWYgQ1BV
KFNINCkKLSAgICBqaXQucHVzaChTSDRSZWdpc3RlcnM6OmZwKTsKLSAgICBqaXQucHVzaChTSDRS
ZWdpc3RlcnM6OnByKTsKLSAgICBqaXQucHVzaChTSDRSZWdpc3RlcnM6OnIxMyk7Ci0gICAgaml0
LnB1c2goU0g0UmVnaXN0ZXJzOjpyMTEpOwotICAgIGppdC5wdXNoKFNINFJlZ2lzdGVyczo6cjEw
KTsKLSAgICBqaXQucHVzaChTSDRSZWdpc3RlcnM6OnI5KTsKLSAgICBqaXQucHVzaChTSDRSZWdp
c3RlcnM6OnI4KTsKLSAgICBqaXQuc3ViUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKEVY
VFJBX1NUQUNLX1NJWkUpLCBTSDRSZWdpc3RlcnM6OnNwKTsKLSAgICBqaXQubW92ZShTSDRSZWdp
c3RlcnM6OmZwLCBHUFJJbmZvOjpub25BcmdHUFIwKTsKLQotIyAgIGRlZmluZSBDQUxMRlJBTUVf
U1JDX1JFRyBHUFJJbmZvOjphcmd1bWVudEdQUjEKLSMgICBkZWZpbmUgUFJFVklPVVNfQ0FMTEZS
QU1FX1JFRyBHUFJJbmZvOjpub25BcmdHUFIwCi0jZW5kaWYKLQotICAgIGlmIChDQUxMRlJBTUVf
U1JDX1JFRyAhPSBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlcikKLSAgICAgICAgaml0Lm1vdmUo
Q0FMTEZSQU1FX1NSQ19SRUcsIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKTsKLSAgICBqaXQu
bG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIp
LCBHUFJJbmZvOjpub25BcmdHUFIxKTsKLSAgICBqaXQuc3RvcmVQdHIoUFJFVklPVVNfQ0FMTEZS
QU1FX1JFRywgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86Om5vbkFyZ0dQUjEpKTsKLQot
I2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1t
NjQoMHhmZmZmMDAwMDAwMDAwMDAwTCksIEdQUkluZm86OnRhZ1R5cGVOdW1iZXJSZWdpc3Rlcik7
Ci0gICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoMHhmZmZmMDAwMDAwMDAw
MDAyTCksIEdQUkluZm86OnRhZ01hc2tSZWdpc3Rlcik7Ci0jZW5kaWYKLQotI2lmIGRlZmluZWQo
Q0FMTF9DT0RFKQotICAgIENBTExfQ09ERTsKLSNlbHNlCi0gICAgaml0LmNhbGwoR1BSSW5mbzo6
YXJndW1lbnRHUFIwKTsKLSNlbmRpZgotCi0jdW5kZWYgQ0FMTEZSQU1FX1NSQ19SRUcKLSN1bmRl
ZiBDQUxMX0NPREUKLSN1bmRlZiBQUkVWSU9VU19DQUxMRlJBTUVfUkVHCi0KLSAgICByZXR1cm5G
cm9tSmF2YVNjcmlwdChqaXQpOwotCi0gICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcigqdm0sICZq
aXQsIEdMT0JBTF9USFVOS19JRCk7Ci0gICAgcmV0dXJuIEZJTkFMSVpFX0NPREUocGF0Y2hCdWZm
ZXIsICgiQ2FsbCB0byBKYXZhU2NyaXB0IHRodW5rIikpOwotfQotCi1NYWNyb0Fzc2VtYmxlckNv
ZGVSZWYgdGhyb3dOb3RDYXVnaHQoVk0qIHZtKQotewotICAgIENDYWxsSGVscGVycyBqaXQodm0p
OwotCi0gICAgcmV0dXJuRnJvbUphdmFTY3JpcHQoaml0KTsKLQotICAgIExpbmtCdWZmZXIgcGF0
Y2hCdWZmZXIoKnZtLCAmaml0LCBHTE9CQUxfVEhVTktfSUQpOwotICAgIHJldHVybiBGSU5BTEla
RV9DT0RFKHBhdGNoQnVmZmVyLCAoIlVuY2F1Z2h0IHRocm93IHRodW5rIikpOwotfQotCiAvLyBX
ZSB3aWxsIGp1bXAgaGVyZSBpZiB0aGUgSklUIGNvZGUgdHJpZXMgdG8gbWFrZSBhIGNhbGwsIGJ1
dCB0aGUKIC8vIGxpbmtpbmcgaGVscGVyIChDKysgY29kZSkgZGVjaWRlcyB0byB0aHJvdyBhbiBl
eGNlcHRpb24gaW5zdGVhZC4KIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiB0aHJvd0V4Y2VwdGlvbkZy
b21DYWxsU2xvd1BhdGhHZW5lcmF0b3IoVk0qIHZtKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5oCShyZXZpc2lvbiAxNTkyNzUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
MSw5ICszMSw2IEBACiAjaWYgRU5BQkxFKEpJVCkKIG5hbWVzcGFjZSBKU0MgewogCi1NYWNyb0Fz
c2VtYmxlckNvZGVSZWYgY2FsbFRvSmF2YVNjcmlwdChWTSopOwotTWFjcm9Bc3NlbWJsZXJDb2Rl
UmVmIHRocm93Tm90Q2F1Z2h0KFZNKik7Ci0KIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiB0aHJvd0V4
Y2VwdGlvbkZyb21DYWxsU2xvd1BhdGhHZW5lcmF0b3IoVk0qKTsKIAogTWFjcm9Bc3NlbWJsZXJD
b2RlUmVmIGxpbmtDYWxsVGh1bmtHZW5lcmF0b3IoVk0qKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludFRodW5rcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludFRodW5rcy5oCShyZXZpc2lvbiAxNTkyNzUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRUaHVua3MuaAkod29ya2luZyBjb3B5KQpAQCAtMzQs
OCArMzQsMTQgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKK2NsYXNzIEV4ZWNTdGF0ZTsKIGNsYXNz
IFZNOwogCitleHRlcm4gIkMiIHsKKyAgICBFbmNvZGVkSlNWYWx1ZSBjYWxsVG9KYXZhU2NyaXB0
KHZvaWQqLCBFeGVjU3RhdGUqKTsKKyAgICB2b2lkIHJldHVybkZyb21KYXZhU2NyaXB0KCk7Cit9
CisKIG5hbWVzcGFjZSBMTEludCB7CiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBmdW5jdGlvbkZv
ckNhbGxFbnRyeVRodW5rR2VuZXJhdG9yKFZNKik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQkocmV2
aXNpb24gMTU5Mjc1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIzMl82NC5hc20JKHdvcmtpbmcgY29weSkKQEAgLTE0OSw2ICsxNDksODAgQEAgbWFj
cm8gY2FsbFNsb3dQYXRoKHNsb3dQYXRoKQogICAgIG1vdmUgdDEsIGNmcgogZW5kCiAKK21hY3Jv
IGZ1bmN0aW9uUHJvbG9ndWUoZXh0cmFTdGFja1NwYWNlKQorICAgIGlmIFg4NgorICAgICAgICBw
dXNoIGNmcgorICAgICAgICBtb3ZlIHNwLCBjZnIKKyAgICBlbmQKKyAgICBwdXNoQ2FsbGVlU2F2
ZXMKKyAgICBpZiBBUk0gb3IgQVJNdjcgb3IgQVJNdjdfVFJBRElUSU9OQUwgb3IgTUlQUworICAg
ICAgICBwdXNoIGNmcgorICAgICAgICBwdXNoIGxyCisgICAgZW5kCisgICAgc3VicCBleHRyYVN0
YWNrU3BhY2UsIHNwCitlbmQKKworbWFjcm8gZnVuY3Rpb25FcGlsb2d1ZShleHRyYVN0YWNrU3Bh
Y2UpCisgICAgYWRkcCBleHRyYVN0YWNrU3BhY2UsIHNwCisgICAgaWYgQVJNIG9yIEFSTXY3IG9y
IEFSTXY3X1RSQURJVElPTkFMIG9yIE1JUFMKKyAgICAgICAgcG9wIGxyCisgICAgICAgIHBvcCBj
ZnIKKyAgICBlbmQKKyAgICBwb3BDYWxsZWVTYXZlcworICAgIGlmIFg4NgorICAgICAgICBwb3Ag
Y2ZyCisgICAgZW5kCitlbmQKKworbWFjcm8gZG9DYWxsVG9KYXZhU2NyaXB0KCkKKyAgICBpZiBY
ODYKKyAgICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNlID0gMjgKKyAgICAgICAgY29uc3QgcHJl
dmlvdXNDRlIgPSB0MAorICAgICAgICBjb25zdCBlbnRyeSA9IHQ1CisgICAgICAgIGNvbnN0IG5l
d0NhbGxGcmFtZSA9IHQ0CisgICAgZWxzaWYgQVJNIG9yIEFSTXY3X1RSQURJVElPTkFMCisgICAg
ICAgIGNvbnN0IGV4dHJhU3RhY2tTcGFjZSA9IDE2CisgICAgICAgIGNvbnN0IHByZXZpb3VzQ0ZS
ID0gdDMgIAorICAgICAgICBjb25zdCBlbnRyeSA9IGEwCisgICAgICAgIGNvbnN0IG5ld0NhbGxG
cmFtZSA9IGExCisgICAgZWxzaWYgQVJNdjcKKyAgICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNl
ID0gMjgKKyAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0MyAgCisgICAgICAgIGNvbnN0IGVu
dHJ5ID0gYTAKKyAgICAgICAgY29uc3QgbmV3Q2FsbEZyYW1lID0gYTEKKyAgICBlbHNpZiBNSVBT
CisgICAgICAgIGNvbnN0IGV4dHJhU3RhY2tTcGFjZSA9IDIwCisgICAgICAgIGNvbnN0IHByZXZp
b3VzQ0ZSID0gdDIgIAorICAgICAgICBjb25zdCBlbnRyeSA9IGEwCisgICAgICAgIGNvbnN0IG5l
d0NhbGxGcmFtZSA9IGExCisgICAgZWxzaWYgU0g0CisgICAgICAgIGNvbnN0IGV4dHJhU3RhY2tT
cGFjZSA9IDIwCisgICAgICAgIGNvbnN0IHByZXZpb3VzQ0ZSID0gdDMgIAorICAgICAgICBjb25z
dCBlbnRyeSA9IGEwCisgICAgICAgIGNvbnN0IG5ld0NhbGxGcmFtZSA9IGExCisgICAgZW5kCisK
KyAgICBpZiBYODYKKyAgICAgICAgbW92ZSBjZnIsIHByZXZpb3VzQ0ZSCisgICAgZW5kCisgICAg
ZnVuY3Rpb25Qcm9sb2d1ZShleHRyYVN0YWNrU3BhY2UpCisgICAgaWYgWDg2CisgICAgICAgIGxv
YWRwIGV4dHJhU3RhY2tTcGFjZSsyMFtzcF0sIGVudHJ5CisgICAgICAgIGxvYWRwIGV4dHJhU3Rh
Y2tTcGFjZSsyNFtzcF0sIG5ld0NhbGxGcmFtZQorICAgIGVsc2UKKyAgICAgICAgbW92ZSBjZnIs
IHByZXZpb3VzQ0ZSCisgICAgZW5kCisKKyAgICBtb3ZlIG5ld0NhbGxGcmFtZSwgY2ZyCisgICAg
bG9hZHAgW2Nmcl0sIG5ld0NhbGxGcmFtZQorICAgIHN0b3JlcCBwcmV2aW91c0NGUiwgW25ld0Nh
bGxGcmFtZV0KKyAgICBjYWxsIGVudHJ5CisKK19yZXR1cm5Gcm9tSmF2YVNjcmlwdDoKKyAgICBm
dW5jdGlvbkVwaWxvZ3VlKGV4dHJhU3RhY2tTcGFjZSkKKyAgICByZXQKK2VuZAorCiAjIERlYnVn
Z2luZyBvcGVyYXRpb24gaWYgeW91J2QgbGlrZSB0byBwcmludCBhbiBvcGVyYW5kIGluIHRoZSBp
bnN0cnVjdGlvbiBzdHJlYW0uIGZyb21XaGVyZQogIyBzaG91bGQgYmUgYW4gaW1tZWRpYXRlIGlu
dGVnZXIgLSBhbnkgaW50ZWdlciB5b3UgbGlrZTsgdXNlIGl0IHRvIGlkZW50aWZ5IHRoZSBwbGFj
ZSB5b3UncmUKICMgZGVidWdnaW5nIGZyb20uIG9wZXJhbmQgc2hvdWxkIGxpa2V3aXNlIGJlIGFu
IGltbWVkaWF0ZSwgYW5kIHNob3VsZCBpZGVudGlmeSB0aGUgb3BlcmFuZApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c20JKHJldmlzaW9uIDE1OTI3NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtCSh3b3JraW5nIGNvcHkpCkBAIC04OCw2ICs4OCw2MSBAQCBt
YWNybyBjQ2FsbDQoZnVuY3Rpb24sIGFyZzEsIGFyZzIsIGFyZzMsCiAgICAgZW5kCiBlbmQKIAor
bWFjcm8gZnVuY3Rpb25Qcm9sb2d1ZShleHRyYVN0YWNrU3BhY2UpCisgICAgaWYgWDg2XzY0Cisg
ICAgICAgIHB1c2ggY2ZyCisgICAgICAgIG1vdmUgc3AsIGNmcgorICAgIGVsc2lmIEFSTTY0Cisg
ICAgICAgIHB1c2ggbHIKKyAgICBlbmQKKyAgICBwdXNoQ2FsbGVlU2F2ZXMKKyAgICBpZiBYODZf
NjQKKyAgICAgICAgc3VicCBleHRyYVN0YWNrU3BhY2UsIHNwCisgICAgZWxzaWYgQVJNNjQKKyAg
ICAgICAgcHVzaCBjZnIKKyAgICBlbmQKK2VuZAorCittYWNybyBmdW5jdGlvbkVwaWxvZ3VlKGV4
dHJhU3RhY2tTcGFjZSkKKyAgICBpZiBYODZfNjQKKyAgICAgICAgYWRkcCBleHRyYVN0YWNrU3Bh
Y2UsIHNwCisgICAgZW5kCisgICAgcG9wQ2FsbGVlU2F2ZXMKKyAgICBpZiBYODZfNjQKKyAgICAg
ICAgcG9wIGNmcgorICAgIGVsc2lmIEFSTTY0CisgICAgICAgIHBvcCBscgorICAgIGVuZAorZW5k
CisKK21hY3JvIGRvQ2FsbFRvSmF2YVNjcmlwdCgpCisgICAgaWYgWDg2XzY0CisgICAgICAgIGNv
bnN0IGV4dHJhU3RhY2tTcGFjZSA9IDgKKyAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0MAor
ICAgICAgICBjb25zdCBlbnRyeSA9IHQ1CisgICAgICAgIGNvbnN0IG5ld0NhbGxGcmFtZSA9IHQ0
CisgICAgZWxzaWYgQVJNNjQKKyAgICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNlID0gMAorICAg
ICAgICBjb25zdCBwcmV2aW91c0NGUiA9IHQ0ICAKKyAgICAgICAgY29uc3QgZW50cnkgPSBhMAor
ICAgICAgICBjb25zdCBuZXdDYWxsRnJhbWUgPSBhMQorICAgIGVuZAorCisgICAgbW92ZSBjZnIs
IHByZXZpb3VzQ0ZSCisgICAgZnVuY3Rpb25Qcm9sb2d1ZShleHRyYVN0YWNrU3BhY2UpCisKKyAg
ICBtb3ZlIG5ld0NhbGxGcmFtZSwgY2ZyCisgICAgbG9hZHAgW2Nmcl0sIG5ld0NhbGxGcmFtZQor
ICAgIHN0b3JlcCBwcmV2aW91c0NGUiwgW25ld0NhbGxGcmFtZV0KKyAgICBtb3ZlIDB4ZmZmZjAw
MDAwMDAwMDAwMCwgY3NyMQorICAgIGFkZHAgMiwgY3NyMSwgY3NyMgorICAgIGNhbGwgZW50cnkK
KworX3JldHVybkZyb21KYXZhU2NyaXB0OgorICAgIGZ1bmN0aW9uRXBpbG9ndWUoZXh0cmFTdGFj
a1NwYWNlKQorICAgIHJldAorZW5kCisKIG1hY3JvIHByZXBhcmVTdGF0ZUZvckNDYWxsKCkKICAg
ICBsZWFwIFtQQiwgUEMsIDhdLCBQQwogICAgIG1vdmUgUEIsIHQzCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCShyZXZp
c2lvbiAxNTkyNzUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc20JKHdvcmtpbmcgY29weSkKQEAgLTQyMSw2ICs0MjEsMTIgQEAgbWFjcm8gZG9S
ZXR1cm4oKQogICAgIHJldAogZW5kCiAKKyMgc3R1YiB0byBjYWxsIGludG8gSmF2YVNjcmlwdAor
IyBFbmNvZGVkSlNWYWx1ZSBjYWxsVG9KYXZhU2NyaXB0KHZvaWQqIGNvZGUsIFJlZ2lzdGVyKiB0
b3BPZlN0YWNrKQorIyBOb3RlLCBpZiB0aGlzIHN0dWIgb3Igb25lIG9mIGl0J3MgcmVsYXRlZCBt
YWNyb3MgaXMgY2hhbmdlZCwgbWFrZSB0aGUKKyMgZXF1aXZhbGVudCBjaGFuZ2VzIGluIGppdC9K
SVRTdHVic1g4Ni5oIGFuZC9vciBqaXQvSklUU3R1YnNNU1ZDNjQuYXNtCitfY2FsbFRvSmF2YVNj
cmlwdDoKKyAgICBkb0NhbGxUb0phdmFTY3JpcHQoKQogCiAjIEluZGljYXRlIHRoZSBiZWdpbm5p
bmcgb2YgTExJbnQuCiBfbGxpbnRfYmVnaW46CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
b2ZmbGluZWFzbS9hcm02NC5yYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
b2ZmbGluZWFzbS9hcm02NC5yYgkocmV2aXNpb24gMTU5Mjc1KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL29mZmxpbmVhc20vYXJtNjQucmIJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDgg
QEAgcmVxdWlyZSAicmlzYyIKICMKICMgIHgwICA9PiByZXR1cm4gdmFsdWUsIGNhY2hlZCByZXN1
bHQsIGZpcnN0IGFyZ3VtZW50LCB0MCwgYTAsIHIwCiAjICB4MSAgPT4gdDEsIGExLCByMQotIyAg
eDIgID0+IHQyCisjICB4MiAgPT4gdDIsIGEyCisjICB4MyAgPT4gYTMKICMgIHg5ICA9PiAobm9u
QXJnR1BSMSBpbiBiYXNlbGluZSkKICMgeDEwICA9PiB0NCAodW51c2VkIGluIGJhc2VsaW5lKQog
IyB4MTEgID0+IHQ1ICh1bnVzZWQgaW4gYmFzZWxpbmUpCkBAIC00NywxMCArNDgsOSBAQCByZXF1
aXJlICJyaXNjIgogIyB4MTYgID0+IHNjcmF0Y2gKICMgeDE3ICA9PiBzY3JhdGNoCiAjIHgyMyAg
PT4gdDMKLSMgeDI1ICA9PiBjZnIKLSMgeDI2ICA9PiB0aW1lb3V0IGNoZWNrIChpLmUuIG5vdCB0
b3VjaGVkIGJ5IExMSW50KQogIyB4MjcgID0+IGNzcjEgKHRhZ1R5cGVOdW1iZXIpCiAjIHgyOCAg
PT4gY3NyMiAodGFnTWFzaykKKyMgeDI5ICA9PiBjZnIKICMgIHNwICA9PiBzcAogIyAgbHIgID0+
IGxyCiAjCkBAIC0xMDYsOCArMTA2LDEwIEBAIGNsYXNzIFJlZ2lzdGVySUQKICAgICAgICAgICAg
IGFybTY0R1BSTmFtZSgneDAnLCBraW5kKQogICAgICAgICB3aGVuICd0MScsICdhMScsICdyMScK
ICAgICAgICAgICAgIGFybTY0R1BSTmFtZSgneDEnLCBraW5kKQotICAgICAgICB3aGVuICd0MicK
KyAgICAgICAgd2hlbiAndDInLCAnYTInCiAgICAgICAgICAgICBhcm02NEdQUk5hbWUoJ3gyJywg
a2luZCkKKyAgICAgICAgd2hlbiAnYTMnCisgICAgICAgICAgICBhcm02NEdQUk5hbWUoJ3gzJywg
a2luZCkKICAgICAgICAgd2hlbiAndDMnCiAgICAgICAgICAgICBhcm02NEdQUk5hbWUoJ3gyMycs
IGtpbmQpCiAgICAgICAgIHdoZW4gJ3Q0JwpAQCAtNTY3LDYgKzU2OSwyOCBAQCBjbGFzcyBJbnN0
cnVjdGlvbgogICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwb3AiLCBvcGVyYW5kcywg
OnB0cikKICAgICAgICAgd2hlbiAicHVzaCIKICAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBl
ZCgicHVzaCIsIG9wZXJhbmRzLCA6cHRyKQorICAgICAgICB3aGVuICJwb3BDYWxsZWVTYXZlcyIK
KyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBlZCgicG9wIiwgIngyOCIsIDpwdHIpCisgICAg
ICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQoInBvcCIsICJ4MjciLCA6cHRyKQorICAgICAgICAg
ICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwb3AiLCAieDI2IiwgOnB0cikKKyAgICAgICAgICAgIGVt
aXRBUk02NFVuZmxpcHBlZCgicG9wIiwgIngyNSIsIDpwdHIpCisgICAgICAgICAgICBlbWl0QVJN
NjRVbmZsaXBwZWQoInBvcCIsICJ4MjQiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0VW5m
bGlwcGVkKCJwb3AiLCAieDIzIiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBl
ZCgicG9wIiwgIngyMiIsIDpwdHIpCisgICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQoInBv
cCIsICJ4MjEiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwb3AiLCAi
eDIwIiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBlZCgicG9wIiwgIngxOSIs
IDpwdHIpCisgICAgICAgIHdoZW4gInB1c2hDYWxsZWVTYXZlcyIKKyAgICAgICAgICAgIGVtaXRB
Uk02NFVuZmxpcHBlZCgicHVzaCIsICJ4MTkiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0
VW5mbGlwcGVkKCJwdXNoIiwgIngyMCIsIDpwdHIpCisgICAgICAgICAgICBlbWl0QVJNNjRVbmZs
aXBwZWQoInB1c2giLCAieDIxIiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBl
ZCgicHVzaCIsICJ4MjIiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJw
dXNoIiwgIngyMyIsIDpwdHIpCisgICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQoInB1c2gi
LCAieDI0IiwgOnB0cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBlZCgicHVzaCIsICJ4
MjUiLCA6cHRyKQorICAgICAgICAgICAgZW1pdEFSTTY0VW5mbGlwcGVkKCJwdXNoIiwgIngyNiIs
IDpwdHIpCisgICAgICAgICAgICBlbWl0QVJNNjRVbmZsaXBwZWQoInB1c2giLCAieDI3IiwgOnB0
cikKKyAgICAgICAgICAgIGVtaXRBUk02NFVuZmxpcHBlZCgicHVzaCIsICJ4MjgiLCA6cHRyKQog
ICAgICAgICB3aGVuICJtb3ZlIgogICAgICAgICAgICAgaWYgb3BlcmFuZHNbMF0uaW1tZWRpYXRl
PwogICAgICAgICAgICAgICAgIGVtaXRBUk02NE1vdmVJbW1lZGlhdGUob3BlcmFuZHNbMF0udmFs
dWUsIG9wZXJhbmRzWzFdKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20v
YXJtLnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2Fy
bS5yYgkocmV2aXNpb24gMTU5Mjc1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVh
c20vYXJtLnJiCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw3ICs5Nyw5IEBAIGNsYXNzIFJlZ2lzdGVy
SUQKICAgICAgICAgd2hlbiAidDMiCiAgICAgICAgICAgICAicjQiCiAgICAgICAgIHdoZW4gInQ0
IgotICAgICAgICAgICAgInIxMCIKKyAgICAgICAgICAgICJyOCIKKyAgICAgICAgd2hlbiAidDUi
CisgICAgICAgICAgICAicjkiCiAgICAgICAgIHdoZW4gImNmciIKICAgICAgICAgICAgIGlzQVJN
djcgPyAgInI3IiA6ICJyMTEiCiAgICAgICAgIHdoZW4gImxyIgpAQCAtNDUxLDkgKzQ1MywyMSBA
QCBjbGFzcyBJbnN0cnVjdGlvbgogICAgICAgICAgICAgIyBGSVhNRTogZWl0aGVyIHN1cHBvcnQg
dGhpcyBvciByZW1vdmUgaXQuCiAgICAgICAgICAgICByYWlzZSAiQVJNIGRvZXMgbm90IHN1cHBv
cnQgdGhpcyBvcGNvZGUgeWV0LCAje2NvZGVPcmlnaW59IgogICAgICAgICB3aGVuICJwb3AiCi0g
ICAgICAgICAgICAkYXNtLnB1dHMgInBvcCAje29wZXJhbmRzWzBdLmFybU9wZXJhbmR9IgorICAg
ICAgICAgICAgJGFzbS5wdXRzICJwb3AgeyAje29wZXJhbmRzWzBdLmFybU9wZXJhbmR9IH0iCiAg
ICAgICAgIHdoZW4gInB1c2giCi0gICAgICAgICAgICAkYXNtLnB1dHMgInB1c2ggI3tvcGVyYW5k
c1swXS5hcm1PcGVyYW5kfSIKKyAgICAgICAgICAgICRhc20ucHV0cyAicHVzaCB7ICN7b3BlcmFu
ZHNbMF0uYXJtT3BlcmFuZH0gfSIKKyAgICAgICAgd2hlbiAicG9wQ2FsbGVlU2F2ZXMiCisgICAg
ICAgICAgICBpZiBpc0FSTXY3CisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJwb3Age3I0LXI2
LCByOC1yMTF9IiAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICAkYXNtLnB1dHMgInBvcCB7cjQtcjEwfSIKKyAgICAgICAgICAgIGVuZAorICAgICAgICB3
aGVuICJwdXNoQ2FsbGVlU2F2ZXMiCisgICAgICAgICAgICBpZiBpc0FSTXY3CisgICAgICAgICAg
ICAgICAgJGFzbS5wdXRzICJwdXNoIHtyNC1yNiwgcjgtcjExfSIKKyAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInB1c2gge3I0LXIxMH0iCisgICAgICAgICAgICBl
bmQKICAgICAgICAgd2hlbiAibW92ZSIKICAgICAgICAgICAgIGlmIG9wZXJhbmRzWzBdLmltbWVk
aWF0ZT8KICAgICAgICAgICAgICAgICBhcm1Nb3ZlSW1tZWRpYXRlKG9wZXJhbmRzWzBdLnZhbHVl
LCBvcGVyYW5kc1sxXSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2lu
c3RydWN0aW9ucy5yYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGlu
ZWFzbS9pbnN0cnVjdGlvbnMucmIJKHJldmlzaW9uIDE1OTI3NSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9vZmZsaW5lYXNtL2luc3RydWN0aW9ucy5yYgkod29ya2luZyBjb3B5KQpAQCAtMjQ5
LDYgKzI0OSw4IEBAIE1BQ1JPX0lOU1RSVUNUSU9OUyA9CiAgICAgICJibnoiLAogICAgICAibGVh
aSIsCiAgICAgICJsZWFwIiwKKyAgICAgInB1c2hDYWxsZWVTYXZlcyIsCisgICAgICJwb3BDYWxs
ZWVTYXZlcyIKICAgICBdCiAKIFg4Nl9JTlNUUlVDVElPTlMgPQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL29mZmxpbmVhc20vbWlwcy5yYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvb2ZmbGluZWFzbS9taXBzLnJiCShyZXZpc2lvbiAxNTkyNzUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9taXBzLnJiCSh3b3JraW5nIGNvcHkpCkBAIC04Miw2
ICs4MiwxMCBAQCBjbGFzcyBSZWdpc3RlcklECiAgICAgICAgICAgICAiJGEwIgogICAgICAgICB3
aGVuICJhMSIKICAgICAgICAgICAgICIkYTEiCisgICAgICAgIHdoZW4gImEyIgorICAgICAgICAg
ICAgIiRhMiIKKyAgICAgICAgd2hlbiAiYTMiCisgICAgICAgICAgICAiJGEzIgogICAgICAgICB3
aGVuICJyMCIsICJ0MCIKICAgICAgICAgICAgICIkdjAiCiAgICAgICAgIHdoZW4gInIxIiwgInQx
IgpAQCAtNzkyLDYgKzc5NiwyMCBAQCBjbGFzcyBJbnN0cnVjdGlvbgogICAgICAgICB3aGVuICJw
dXNoIgogICAgICAgICAgICAgJGFzbS5wdXRzICJhZGRpdSAkc3AsICRzcCwgLTQiCiAgICAgICAg
ICAgICAkYXNtLnB1dHMgInN3ICN7b3BlcmFuZHNbMF0ubWlwc09wZXJhbmR9LCAwKCRzcCkiCisg
ICAgICAgIHdoZW4gInBvcENhbGxlZVNhdmVzIgorICAgICAgICAgICAgJGFzbS5wdXRzICJsdyAk
MTYsIDAoJHNwKSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibHcgJDE3LCA0KCRzcCkiCisgICAg
ICAgICAgICAkYXNtLnB1dHMgImx3ICQxOCwgOCgkc3ApIgorICAgICAgICAgICAgJGFzbS5wdXRz
ICJsdyAkMTksIDEyKCRzcCkiCisgICAgICAgICAgICAkYXNtLnB1dHMgImx3ICQyMCwgMTYoJHNw
KSIKKyAgICAgICAgICAgICRhc20ucHV0cyAiYWRkaXUgJHNwLCAkc3AsIDIwIgorICAgICAgICB3
aGVuICJwdXNoQ2FsbGVlU2F2ZXMiCisgICAgICAgICAgICAkYXNtLnB1dHMgImFkZGl1ICRzcCwg
JHNwLCAtMjAiCisgICAgICAgICAgICAkYXNtLnB1dHMgInN3ICQyMCwgMTYoJHNwKSIKKyAgICAg
ICAgICAgICRhc20ucHV0cyAic3cgJDE5LCAxMigkc3ApIgorICAgICAgICAgICAgJGFzbS5wdXRz
ICJzdyAkMTgsIDgoJHNwKSIKKyAgICAgICAgICAgICRhc20ucHV0cyAic3cgJDE3LCA0KCRzcCki
CisgICAgICAgICAgICAkYXNtLnB1dHMgInN3ICQxNiwgMCgkc3ApIgogICAgICAgICB3aGVuICJt
b3ZlIiwgInN4aTJwIiwgInp4aTJwIgogICAgICAgICAgICAgaWYgb3BlcmFuZHNbMF0uaXNfYT8g
SW1tZWRpYXRlCiAgICAgICAgICAgICAgICAgbWlwc01vdmVJbW1lZGlhdGUob3BlcmFuZHNbMF0u
dmFsdWUsIG9wZXJhbmRzWzFdKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVh
c20vcmVnaXN0ZXJzLnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZs
aW5lYXNtL3JlZ2lzdGVycy5yYgkocmV2aXNpb24gMTU5Mjc1KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL29mZmxpbmVhc20vcmVnaXN0ZXJzLnJiCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxOSAr
MzAsMjEgQEAgR1BSUyA9CiAgICAgICJ0MiIsCiAgICAgICJ0MyIsCiAgICAgICJ0NCIsCisgICAg
ICJ0NSIsCiAgICAgICJjZnIiLAogICAgICAiYTAiLAogICAgICAiYTEiLAorICAgICAiYTIiLAor
ICAgICAiYTMiLAogICAgICAicjAiLAogICAgICAicjEiLAogICAgICAic3AiLAogICAgICAibHIi
LAogICAgICAKICAgICAgIyA2NC1iaXQgb25seSByZWdpc3RlcnM6Ci0gICAgICJ0NSIsCi0gICAg
ICJ0NiIsICAjIHIxMAotICAgICAiY3NyMSIsICAjIHIxNCwgdGFnIHR5cGUgbnVtYmVyIHJlZ2lz
dGVyCi0gICAgICJjc3IyIiAgICMgcjE1LCB0YWcgbWFzayByZWdpc3RlcgorICAgICAidDYiLAor
ICAgICAiY3NyMSIsICAjIHRhZyB0eXBlIG51bWJlciByZWdpc3RlcgorICAgICAiY3NyMiIgICAj
IHRhZyBtYXNrIHJlZ2lzdGVyCiAgICAgXQogCiBGUFJTID0KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9vZmZsaW5lYXNtL3NoNC5yYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvb2ZmbGluZWFzbS9zaDQucmIJKHJldmlzaW9uIDE1OTI3NSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9vZmZsaW5lYXNtL3NoNC5yYgkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEs
MTAgQEAgY2xhc3MgUmVnaXN0ZXJJRAogICAgICAgICAgICAgInI0IgogICAgICAgICB3aGVuICJh
MSIKICAgICAgICAgICAgICJyNSIKKyAgICAgICAgd2hlbiAiYTIiCisgICAgICAgICAgICAicjYi
CisgICAgICAgIHdoZW4gImEzIgorICAgICAgICAgICAgInI3IgogICAgICAgICB3aGVuICJ0MCIK
ICAgICAgICAgICAgICJyMCIKICAgICAgICAgd2hlbiAidDEiCkBAIC03MCw3ICs3NCw5IEBAIGNs
YXNzIFJlZ2lzdGVySUQKICAgICAgICAgd2hlbiAidDMiCiAgICAgICAgICAgICAicjEwIgogICAg
ICAgICB3aGVuICJ0NCIKLSAgICAgICAgICAgICJyNiIKKyAgICAgICAgICAgICJyNCIKKyAgICAg
ICAgd2hlbiAidDUiCisgICAgICAgICAgICAicjUiCiAgICAgICAgIHdoZW4gImNmciIKICAgICAg
ICAgICAgICJyMTQiCiAgICAgICAgIHdoZW4gInNwIgpAQCAtOTA1LDYgKzkxMSwyMiBAQCBjbGFz
cyBJbnN0cnVjdGlvbgogICAgICAgICAgICAgJGFzbS5wdXRzICJsZHMgI3tzaDRPcGVyYW5kcyhv
cGVyYW5kcyl9LCBwciIKICAgICAgICAgd2hlbiAic3RzcHIiCiAgICAgICAgICAgICAkYXNtLnB1
dHMgInN0cyBwciwgI3tzaDRPcGVyYW5kcyhvcGVyYW5kcyl9IgorICAgICAgICB3aGVuICJwb3BD
YWxsZWVTYXZlcyIKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92LmwgQHIxNSssIHI4IgorICAg
ICAgICAgICAgJGFzbS5wdXRzICJtb3YubCBAcjE1KywgcjkiCisgICAgICAgICAgICAkYXNtLnB1
dHMgIm1vdi5sIEByMTUrLCByMTAiCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdi5sIEByMTUr
LCByMTEiCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdi5sIEByMTUrLCByMTMiCisgICAgICAg
ICAgICAkYXNtLnB1dHMgImxkcy5sIEByMTUrLHByIgorICAgICAgICAgICAgJGFzbS5wdXRzICJt
b3YubCBAcjE1KywgZnAiCisgICAgICAgIHdoZW4gInB1c2hDYWxsZWVTYXZlcyIKKyAgICAgICAg
ICAgICRhc20ucHV0cyAibW92LmwgZnAsIEAtcjE1IgorICAgICAgICAgICAgJGFzbS5wdXRzICJz
dHMubCBwciwgQC1yMTUiCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdi5sIHIxMywgQC1yMTUi
CisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdi5sIHIxMSwgQC1yMTUiCisgICAgICAgICAgICAk
YXNtLnB1dHMgIm1vdi5sIHIxMCwgQC1yMTUiCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdi5s
IHI5LCBALXIxNSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92LmwgcjgsIEAtcjE1IgogICAg
ICAgICB3aGVuICJicmVhayIKICAgICAgICAgICAgICMgVGhpcyBzcGVjaWFsIG9wY29kZSBhbHdh
eXMgZ2VuZXJhdGVzIGFuIGlsbGVnYWwgaW5zdHJ1Y3Rpb24gZXhjZXB0aW9uLgogICAgICAgICAg
ICAgJGFzbS5wdXRzICIud29yZCAweGZmZmQiCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
b2ZmbGluZWFzbS94ODYucmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL29m
ZmxpbmVhc20veDg2LnJiCShyZXZpc2lvbiAxNTkyNzUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvb2ZmbGluZWFzbS94ODYucmIJKHdvcmtpbmcgY29weSkKQEAgLTc0LDExICs3NCwxMSBAQCBY
NjRfU0NSQVRDSF9SRUdJU1RFUiA9IFNwZWNpYWxSZWdpc3Rlci5uCiBjbGFzcyBSZWdpc3RlcklE
CiAgICAgZGVmIHN1cHBvcnRzOEJpdE9uWDg2CiAgICAgICAgIGNhc2UgbmFtZQotICAgICAgICB3
aGVuICJ0MCIsICJhMCIsICJyMCIsICJ0MSIsICJhMSIsICJyMSIsICJ0MiIsICJ0MyIKKyAgICAg
ICAgd2hlbiAidDAiLCAiYTAiLCAicjAiLCAidDEiLCAiYTEiLCAicjEiLCAidDIiLCAidDMiLCAi
dDQiLCAidDUiCiAgICAgICAgICAgICB0cnVlCiAgICAgICAgIHdoZW4gImNmciIsICJ0dG5yIiwg
InRtciIKICAgICAgICAgICAgIGZhbHNlCi0gICAgICAgIHdoZW4gInQ0IiwgInQ1IgorICAgICAg
ICB3aGVuICJ0NiIKICAgICAgICAgICAgIGlzWDY0CiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IHJhaXNlCkBAIC0yMDQsNyArMjA0LDYgQEAgY2xhc3MgUmVnaXN0ZXJJRAogICAgICAgICAgICAg
ICAgIHJhaXNlCiAgICAgICAgICAgICBlbmQKICAgICAgICAgd2hlbiAidDUiCi0gICAgICAgICAg
ICByYWlzZSAiQ2Fubm90IHVzZSAje25hbWV9IGluIDMyLWJpdCBYODYgYXQgI3tjb2RlT3JpZ2lu
U3RyaW5nfSIgdW5sZXNzIGlzWDY0CiAgICAgICAgICAgICBjYXNlIGtpbmQKICAgICAgICAgICAg
IHdoZW4gOmJ5dGUKICAgICAgICAgICAgICAgICAiJWRpbCIKQEAgLTIxMyw5ICsyMTIsOSBAQCBj
bGFzcyBSZWdpc3RlcklECiAgICAgICAgICAgICB3aGVuIDppbnQKICAgICAgICAgICAgICAgICAi
JWVkaSIKICAgICAgICAgICAgIHdoZW4gOnB0cgotICAgICAgICAgICAgICAgICIlcmRpIgorICAg
ICAgICAgICAgICAgIGlzWDY0ID8gIiVyZGkiIDogIiVlZGkiCiAgICAgICAgICAgICB3aGVuIDpx
dWFkCi0gICAgICAgICAgICAgICAgIiVyZGkiCisgICAgICAgICAgICAgICAgaXNYNjQgPyAiJXJk
aSIgOiByYWlzZQogICAgICAgICAgICAgZW5kCiAgICAgICAgIHdoZW4gInQ2IgogICAgICAgICAg
ICAgcmFpc2UgIkNhbm5vdCB1c2UgI3tuYW1lfSBpbiAzMi1iaXQgWDg2IGF0ICN7Y29kZU9yaWdp
blN0cmluZ30iIHVubGVzcyBpc1g2NApAQCAtOTgyLDYgKzk4MSwzMCBAQCBjbGFzcyBJbnN0cnVj
dGlvbgogICAgICAgICAgICAgJGFzbS5wdXRzICJwb3AgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5k
KDpwdHIpfSIKICAgICAgICAgd2hlbiAicHVzaCIKICAgICAgICAgICAgICRhc20ucHV0cyAicHVz
aCAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOnB0cil9IgorICAgICAgICB3aGVuICJwb3BDYWxs
ZWVTYXZlcyIKKyAgICAgICAgICAgIGlmIGlzWDY0CisgICAgICAgICAgICAgICAgJGFzbS5wdXRz
ICJwb3AgJXJieCIKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInBvcCAlcjE1IgorICAgICAg
ICAgICAgICAgICRhc20ucHV0cyAicG9wICVyMTQiCisgICAgICAgICAgICAgICAgJGFzbS5wdXRz
ICJwb3AgJXIxMyIKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInBvcCAlcjEyIgorICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgICRhc20ucHV0cyAicG9wICVlYngiCisgICAgICAg
ICAgICAgICAgJGFzbS5wdXRzICJwb3AgJWVkaSIKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMg
InBvcCAlZXNpIgorICAgICAgICAgICAgZW5kCisgICAgICAgIHdoZW4gInB1c2hDYWxsZWVTYXZl
cyIKKyAgICAgICAgICAgIGlmIGlzWDY0CisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJwdXNo
ICVyMTIiCisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJwdXNoICVyMTMiCisgICAgICAgICAg
ICAgICAgJGFzbS5wdXRzICJwdXNoICVyMTQiCisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJw
dXNoICVyMTUiCisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJwdXNoICVyYngiCisgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJwdXNoICVlc2kiCisgICAgICAg
ICAgICAgICAgJGFzbS5wdXRzICJwdXNoICVlZGkiCisgICAgICAgICAgICAgICAgJGFzbS5wdXRz
ICJwdXNoICVlYngiCisgICAgICAgICAgICBlbmQKICAgICAgICAgd2hlbiAibW92ZSIKICAgICAg
ICAgICAgIGhhbmRsZU1vdmUKICAgICAgICAgd2hlbiAic3hpMnEiCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVk0uY3BwCShyZXZpc2lvbiAxNTkyNzUpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9WTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1Nyw4ICsyNTcsNiBA
QCBWTTo6Vk0oVk1UeXBlIHZtVHlwZSwgSGVhcFR5cGUgaGVhcFR5cGUpCiAKICNpZiBFTkFCTEUo
SklUKQogICAgIGppdFN0dWJzID0gYWRvcHRQdHIobmV3IEpJVFRodW5rcygpKTsKLQotICAgIGNh
bGxKYXZhU2NyaXB0SklURnVuY3Rpb24gPSByZWludGVycHJldF9jYXN0PENhbGxKYXZhU2NyaXB0
SklURnVuY3Rpb24+KGdldENUSVN0dWIoY2FsbFRvSmF2YVNjcmlwdCkuY29kZSgpLmV4ZWN1dGFi
bGVBZGRyZXNzKCkpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoRlRMX0pJVCkKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkocmV2aXNpb24gMTU5Mjc1KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkod29ya2luZyBjb3B5KQpAQCAtMzI5LDEwICszMjksNiBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIHJldHVybiBqaXRTdHVicy0+Y3RpU3R1Yih0
aGlzLCBnZW5lcmF0b3IpOwogICAgICAgICB9CiAgICAgICAgIE5hdGl2ZUV4ZWN1dGFibGUqIGdl
dEhvc3RGdW5jdGlvbihOYXRpdmVGdW5jdGlvbiwgSW50cmluc2ljKTsKLQotICAgICAgICB0eXBl
ZGVmIEVuY29kZWRKU1ZhbHVlKCpDYWxsSmF2YVNjcmlwdEpJVEZ1bmN0aW9uKSh2b2lkICosIEV4
ZWNTdGF0ZSopOwotCi0gICAgICAgIENhbGxKYXZhU2NyaXB0SklURnVuY3Rpb24gY2FsbEphdmFT
Y3JpcHRKSVRGdW5jdGlvbjsKICNlbmRpZgogI2lmIEVOQUJMRShGVExfSklUKQogICAgICAgICBz
dGQ6OnVuaXF1ZV9wdHI8RlRMOjpUaHVua3M+IGZ0bFRodW5rczsK
</data>

          </attachment>
      

    </bug>

</bugzilla>