<?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>51025</bug_id>
          
          <creation_ts>2010-12-14 03:58:27 -0800</creation_ts>
          <short_desc>Web Inspector: regroup Inspector.idl entries.</short_desc>
          <delta_ts>2019-10-22 03:57:34 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</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>51293</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</assigned_to>
          <cc>apavlov</cc>
    
    <cc>ap</cc>
    
    <cc>bweinstein</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dinhphuong569</cc>
    
    <cc>jedymark001</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>kenkoiii001</cc>
    
    <cc>kihoslohun</cc>
    
    <cc>loislo</cc>
    
    <cc>mikayla</cc>
    
    <cc>mytrinh061995</cc>
    
    <cc>nagar28496</cc>
    
    <cc>nodejsquiz</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>spirulinamanfaat</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>321874</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-12-14 03:58:27 -0800</bug_when>
    <thetext>just for better visibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321875</commentid>
    <comment_count>1</comment_count>
      <attachid>76524</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-12-14 04:03:06 -0800</bug_when>
    <thetext>Created attachment 76524
[patch] first version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321878</commentid>
    <comment_count>2</comment_count>
      <attachid>76525</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-12-14 04:03:53 -0800</bug_when>
    <thetext>Created attachment 76525
Inspector.idl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321932</commentid>
    <comment_count>3</comment_count>
      <attachid>76529</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-12-14 06:18:46 -0800</bug_when>
    <thetext>Created attachment 76529
[patch] extended version with comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321943</commentid>
    <comment_count>4</comment_count>
      <attachid>76529</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-12-14 06:54:55 -0800</bug_when>
    <thetext>Comment on attachment 76529
[patch] extended version with comments

Clearing flags on attachment: 76529

Committed r74022: &lt;http://trac.webkit.org/changeset/74022&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321945</commentid>
    <comment_count>5</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-12-14 06:55:06 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322008</commentid>
    <comment_count>6</comment_count>
      <attachid>76529</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-12-14 09:30:27 -0800</bug_when>
    <thetext>Comment on attachment 76529
[patch] extended version with comments

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

&gt; WebCore/inspector/Inspector.idl:132
&gt; +#if defined(ENABLE_OFFLINE_WEB_APPLICATIONS) &amp;&amp; ENABLE_OFFLINE_WEB_APPLICATIONS
&gt; +        [notify, domain=Resources] void updateApplicationCacheStatus(out int status);
&gt; +        [notify, domain=Resources] void updateNetworkState(out boolean isNowOnline);
&gt; +#endif
&gt; +#if defined(ENABLE_OFFLINE_WEB_APPLICATIONS) &amp;&amp; ENABLE_OFFLINE_WEB_APPLICATIONS
&gt; +        [domain=ApplicationCache] void getApplicationCaches(out Value applicationCaches);
&gt; +#endif

These can just be wrapped in one #if, since they are the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582324</commentid>
    <comment_count>19</comment_count>
    <who name="mikayla">mikayla</who>
    <bug_when>2019-10-22 03:57:34 -0700</bug_when>
    <thetext>Enable JSC Rich Source Info for Android even when Inspector and Debugger are .... inspector/Inspector.idl: .....

&gt;&gt; https://www.tsanj.org/phenq-review/</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76524</attachid>
            <date>2010-12-14 04:03:06 -0800</date>
            <delta_ts>2010-12-14 06:18:46 -0800</delta_ts>
            <desc>[patch] first version</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>22318</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OGI5NDhkMS4uNDNjN2MwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0xMi0xNCAgSWx5YSBUaWtob25v
dnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogcmVncm91cCBJbnNwZWN0b3IuaWRs
IGVudHJpZXMuCisgICAgICAgIEp1c3QgZm9yIGJldHRlciB2aXNpYmlsaXR5LgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTAyNQorCisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvci5pZGw6CisKIDIwMTAtMTItMTMgIEFudG9uaW8gR29tZXMg
IDxhZ29tZXNAcmltLmNvbT4KIAogICAgICAgICBSdWJiZXIgc3RhbXBlZCBieSBEYW5pZWwgQmF0
ZXMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuaWRsIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmlkbAppbmRleCBjMjEzNzdhLi4xYjBiNGE0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuaWRsCisrKyBiL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvci5pZGwKQEAgLTMyLDc4ICszMiw0NSBAQAogCiBtb2R1bGUgY29yZSB7CiAg
ICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1JTlNQRUNUT1JdIEluc3BlY3RvciB7Ci0gICAgICAg
IFtub3RpZnksIGRvbWFpbj1UaW1lbGluZV0gdm9pZCBhZGRSZWNvcmRUb1RpbWVsaW5lKG91dCBP
YmplY3QgcmVjb3JkKTsKKworICAgICAgICAvLyBnZW5lcmljIEluc3BlY3RvcidzIG1ldGhvZHMK
KyAgICAgICAgW2RvbWFpbj1CYWNrZW5kXSB2b2lkIHNldEluamVjdGVkU2NyaXB0U291cmNlKGlu
IFN0cmluZyBzY3JpcHRTb3VyY2UpOworICAgICAgICBbZG9tYWluPUJhY2tlbmRdIHZvaWQgZGlz
cGF0Y2hPbkluamVjdGVkU2NyaXB0KGluIGxvbmcgaW5qZWN0ZWRTY3JpcHRJZCwgaW4gU3RyaW5n
IG1ldGhvZE5hbWUsIGluIFN0cmluZyBhcmd1bWVudHMsIG91dCBWYWx1ZSByZXN1bHQsIG91dCBi
b29sZWFuIGlzRXhjZXB0aW9uKTsKKyAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgYWRk
U2NyaXB0VG9FdmFsdWF0ZU9uTG9hZChpbiBTdHJpbmcgc2NyaXB0U291cmNlKTsKKyAgICAgICAg
W2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgcmVtb3ZlQWxsU2NyaXB0c1RvRXZhbHVhdGVPbkxvYWQo
KTsKKyAgICAgICAgW2RvbWFpbj1CYWNrZW5kXSB2b2lkIHJlbGVhc2VXcmFwcGVyT2JqZWN0R3Jv
dXAoaW4gbG9uZyBpbmplY3RlZFNjcmlwdElkLCBpbiBTdHJpbmcgb2JqZWN0R3JvdXApOworICAg
ICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBnZXRJbnNwZWN0b3JTdGF0ZShvdXQgT2JqZWN0
IHN0YXRlKTsKKyAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgc2V0TW9uaXRvcmluZ1hI
UkVuYWJsZWQoaW4gYm9vbGVhbiBlbmFibGUsIG91dCBib29sZWFuIG5ld1N0YXRlKTsKKyAgICAg
ICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgcmVsb2FkUGFnZSgpOworICAgICAgICBbZG9tYWlu
PUluc3BlY3Rvcl0gdm9pZCBwb3B1bGF0ZVNjcmlwdE9iamVjdHMoKTsKKworICAgICAgICBbZG9t
YWluPUluc3BlY3Rvcl0gdm9pZCBvcGVuSW5JbnNwZWN0ZWRXaW5kb3coaW4gU3RyaW5nIHVybCk7
CisgICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHNldFNlYXJjaGluZ0Zvck5vZGUoaW4g
Ym9vbGVhbiBlbmFibGVkLCBvdXQgYm9vbGVhbiBuZXdTdGF0ZSk7CiAgICAgICAgIFtub3RpZnks
IGRvbWFpbj1JbnNwZWN0b3JdIHZvaWQgYWRkTm9kZXNUb1NlYXJjaFJlc3VsdChvdXQgQXJyYXkg
bm9kZUlkcyk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1ET01dIHZvaWQgYXR0cmlidXRlc1Vw
ZGF0ZWQob3V0IGxvbmcgaWQsIG91dCBBcnJheSBhdHRyaWJ1dGVzKTsKICAgICAgICAgW25vdGlm
eSwgZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBicmluZ1RvRnJvbnQoKTsKLSAgICAgICAgW25vdGlm
eSwgZG9tYWluPURPTV0gdm9pZCBjaGFyYWN0ZXJEYXRhTW9kaWZpZWQob3V0IGxvbmcgaWQsIG91
dCBTdHJpbmcgbmV3VmFsdWUpOwotICAgICAgICBbbm90aWZ5LCBkb21haW49RE9NXSB2b2lkIGNo
aWxkTm9kZUNvdW50VXBkYXRlZChvdXQgbG9uZyBpZCwgb3V0IGludCBuZXdWYWx1ZSk7Ci0gICAg
ICAgIFtub3RpZnksIGRvbWFpbj1ET01dIHZvaWQgY2hpbGROb2RlSW5zZXJ0ZWQob3V0IGxvbmcg
cGFyZW50SWQsIG91dCBsb25nIHByZXZJZCwgb3V0IE9iamVjdCBub2RlKTsKLSAgICAgICAgW25v
dGlmeSwgZG9tYWluPURPTV0gdm9pZCBjaGlsZE5vZGVSZW1vdmVkKG91dCBsb25nIHBhcmVudElk
LCBvdXQgbG9uZyBpZCk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1ET01dIHZvaWQgZGlkQ29t
bWl0TG9hZCgpOwotICAgICAgICBbbm90aWZ5LCBkb21haW49SW5zcGVjdG9yXSB2b2lkIGV2YWx1
YXRlRm9yVGVzdEluRnJvbnRlbmQob3V0IGxvbmcgdGVzdENhbGxJZCwgb3V0IFN0cmluZyBzY3Jp
cHQpOwogICAgICAgICBbbm90aWZ5LCBkb21haW49SW5zcGVjdG9yXSB2b2lkIGRpc2Nvbm5lY3RG
cm9tQmFja2VuZCgpOwotICAgICAgICBbbm90aWZ5LCBkb21haW49SW5zcGVjdG9yXSB2b2lkIGRv
bUNvbnRlbnRFdmVudEZpcmVkKG91dCBkb3VibGUgdGltZSk7CiAgICAgICAgIFtub3RpZnksIGRv
bWFpbj1JbnNwZWN0b3JdIHZvaWQgaW5zcGVjdGVkVVJMQ2hhbmdlZChvdXQgU3RyaW5nIHVybCk7
CisgICAgICAgIFtub3RpZnksIGRvbWFpbj1JbnNwZWN0b3JdIHZvaWQgZG9tQ29udGVudEV2ZW50
RmlyZWQob3V0IGRvdWJsZSB0aW1lKTsKICAgICAgICAgW25vdGlmeSwgZG9tYWluPUluc3BlY3Rv
cl0gdm9pZCBsb2FkRXZlbnRGaXJlZChvdXQgZG91YmxlIHRpbWUpOwogICAgICAgICBbbm90aWZ5
LCBkb21haW49SW5zcGVjdG9yXSB2b2lkIHJlc2V0KCk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFp
bj1Qcm9maWxlcl0gdm9pZCByZXNldFByb2ZpbGVzKCk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFp
bj1ET01dIHZvaWQgc2V0Q2hpbGROb2RlcyhvdXQgbG9uZyBwYXJlbnRJZCwgb3V0IEFycmF5IG5v
ZGVzKTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPURPTV0gdm9pZCBzZXREZXRhY2hlZFJvb3Qo
b3V0IE9iamVjdCByb290KTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPURPTV0gdm9pZCBzZXRE
b2N1bWVudChvdXQgVmFsdWUgcm9vdCk7CiAgICAgICAgIFtub3RpZnksIGRvbWFpbj1JbnNwZWN0
b3JdIHZvaWQgc2hvd1BhbmVsKG91dCBTdHJpbmcgcGFuZWwpOwotICAgICAgICBbbm90aWZ5LCBk
b21haW49VGltZWxpbmVdIHZvaWQgdGltZWxpbmVQcm9maWxlcldhc1N0YXJ0ZWQoKTsKLSAgICAg
ICAgW25vdGlmeSwgZG9tYWluPVRpbWVsaW5lXSB2b2lkIHRpbWVsaW5lUHJvZmlsZXJXYXNTdG9w
cGVkKCk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1JbnNwZWN0b3JdIHZvaWQgdXBkYXRlRm9j
dXNlZE5vZGUob3V0IGxvbmcgbm9kZUlkKTsKLQotI2lmIGRlZmluZWQoRU5BQkxFX0pBVkFTQ1JJ
UFRfREVCVUdHRVIpICYmIEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSCi0gICAgICAgIFtub3Rp
ZnksIGRvbWFpbj1Qcm9maWxlcl0gdm9pZCBhZGRQcm9maWxlSGVhZGVyKG91dCBPYmplY3QgaGVh
ZGVyKTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPVByb2ZpbGVyXSB2b2lkIGFkZEhlYXBTbmFw
c2hvdENodW5rKG91dCB1bnNpZ25lZCBsb25nIHVpZCwgb3V0IFN0cmluZyBjaHVuayk7Ci0gICAg
ICAgIFtub3RpZnksIGRvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBhdHRhY2hEZWJ1Z2dlcldoZW5TaG93
bigpOwotICAgICAgICBbbm90aWZ5LCBkb21haW49RGVidWdnZXJdIHZvaWQgZGVidWdnZXJXYXNF
bmFibGVkKCk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBkZWJ1Z2dl
cldhc0Rpc2FibGVkKCk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBm
YWlsZWRUb1BhcnNlU2NyaXB0U291cmNlKG91dCBTdHJpbmcgdXJsLCBvdXQgU3RyaW5nIGRhdGEs
IG91dCBpbnQgZmlyc3RMaW5lLCBvdXQgaW50IGVycm9yTGluZSwgb3V0IFN0cmluZyBlcnJvck1l
c3NhZ2UpOwotICAgICAgICBbbm90aWZ5LCBkb21haW49UHJvZmlsZXJdIHZvaWQgZmluaXNoSGVh
cFNuYXBzaG90KG91dCB1bnNpZ25lZCBsb25nIHVpZCk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFp
bj1EZWJ1Z2dlcl0gdm9pZCBwYXJzZWRTY3JpcHRTb3VyY2Uob3V0IFN0cmluZyBzb3VyY2VJRCwg
b3V0IFN0cmluZyB1cmwsIG91dCBTdHJpbmcgZGF0YSwgb3V0IGludCBmaXJzdExpbmUsIG91dCBp
bnQgc2NyaXB0V29ybGRUeXBlKTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPURlYnVnZ2VyXSB2
b2lkIHBhdXNlZFNjcmlwdChvdXQgT2JqZWN0IGRldGFpbHMpOwotICAgICAgICBbbm90aWZ5LCBk
b21haW49UHJvZmlsZXJdIHZvaWQgcHJvZmlsZXJXYXNFbmFibGVkKCk7Ci0gICAgICAgIFtub3Rp
ZnksIGRvbWFpbj1Qcm9maWxlcl0gdm9pZCBwcm9maWxlcldhc0Rpc2FibGVkKCk7Ci0gICAgICAg
IFtub3RpZnksIGRvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBicmVha3BvaW50UmVzdG9yZWQob3V0IFN0
cmluZyBzb3VyY2VJRCwgb3V0IFN0cmluZyB1cmwsIG91dCBpbnQgbGluZSwgb3V0IGJvb2xlYW4g
ZW5hYmxlZCwgb3V0IFN0cmluZyBjb25kaXRpb24pOwotICAgICAgICBbbm90aWZ5LCBkb21haW49
RGVidWdnZXJdIHZvaWQgcmVzdW1lZFNjcmlwdCgpOwotICAgICAgICBbbm90aWZ5LCBkb21haW49
UHJvZmlsZXJdIHZvaWQgc2V0UmVjb3JkaW5nUHJvZmlsZShvdXQgYm9vbGVhbiBpc1Byb2ZpbGlu
Zyk7Ci0jZW5kaWYKLSNpZiBkZWZpbmVkKEVOQUJMRV9EQVRBQkFTRSkgJiYgRU5BQkxFX0RBVEFC
QVNFCi0gICAgICAgIFtub3RpZnksIGRvbWFpbj1SZXNvdXJjZXNdIHZvaWQgYWRkRGF0YWJhc2Uo
b3V0IE9iamVjdCBkYXRhYmFzZSk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1SZXNvdXJjZXNd
IHZvaWQgc2VsZWN0RGF0YWJhc2Uob3V0IGludCBkYXRhYmFzZUlkKTsKLSNlbmRpZgotI2lmIGRl
ZmluZWQoRU5BQkxFX0RPTV9TVE9SQUdFKSAmJiBFTkFCTEVfRE9NX1NUT1JBR0UKLSAgICAgICAg
W25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBhZGRET01TdG9yYWdlKG91dCBPYmplY3Qg
c3RvcmFnZSk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1SZXNvdXJjZXNdIHZvaWQgdXBkYXRl
RE9NU3RvcmFnZShvdXQgaW50IHN0b3JhZ2VJZCk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1S
ZXNvdXJjZXNdIHZvaWQgc2VsZWN0RE9NU3RvcmFnZShvdXQgaW50IHN0b3JhZ2VJZCk7Ci0jZW5k
aWYKLSNpZiBkZWZpbmVkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICYmIEVOQUJM
RV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291
cmNlc10gdm9pZCB1cGRhdGVBcHBsaWNhdGlvbkNhY2hlU3RhdHVzKG91dCBpbnQgc3RhdHVzKTsK
LSAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCB1cGRhdGVOZXR3b3JrU3Rh
dGUob3V0IGJvb2xlYW4gaXNOb3dPbmxpbmUpOwotI2VuZGlmCi0jaWYgZGVmaW5lZChFTkFCTEVf
V09SS0VSUykgJiYgRU5BQkxFX1dPUktFUlMKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPURlYnVn
Z2VyXSB2b2lkIGRpZENyZWF0ZVdvcmtlcihvdXQgbG9uZyBpZCwgb3V0IFN0cmluZyB1cmwsIG91
dCBib29sZWFuIGlzU2hhcmVkKTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPURlYnVnZ2VyXSB2
b2lkIGRpZERlc3Ryb3lXb3JrZXIob3V0IGxvbmcgaWQpOwotI2VuZGlmCi0KLSAgICAgICAgLy8g
VGhpcyBtZXRob2QgaXMgZ29pbmcgdG8gYmUgYnJva2VuIGRvd24gaW50byBzbWFsbGVyIHBhcnRz
LgotICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBwb3B1bGF0ZVNjcmlwdE9iamVjdHMo
KTsKLQotICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBnZXRJbnNwZWN0b3JTdGF0ZShv
dXQgT2JqZWN0IHN0YXRlKTsKLQotICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBzZXRT
ZWFyY2hpbmdGb3JOb2RlKGluIGJvb2xlYW4gZW5hYmxlZCwgb3V0IGJvb2xlYW4gbmV3U3RhdGUp
OwotCi0gICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHNldE1vbml0b3JpbmdYSFJFbmFi
bGVkKGluIGJvb2xlYW4gZW5hYmxlLCBvdXQgYm9vbGVhbiBuZXdTdGF0ZSk7CisgICAgICAgIFtu
b3RpZnksIGRvbWFpbj1JbnNwZWN0b3JdIHZvaWQgZXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZChv
dXQgbG9uZyB0ZXN0Q2FsbElkLCBvdXQgU3RyaW5nIHNjcmlwdCk7CisgICAgICAgIFtkb21haW49
SW5zcGVjdG9yXSB2b2lkIGRpZEV2YWx1YXRlRm9yVGVzdEluRnJvbnRlbmQoaW4gbG9uZyB0ZXN0
Q2FsbElkLCBpbiBTdHJpbmcganNvblJlc3VsdCk7CiAKLSAgICAgICAgW2RvbWFpbj1JbnNwZWN0
b3JdIHZvaWQgcmVsb2FkUGFnZSgpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBo
aWdobGlnaHRET01Ob2RlKGluIGxvbmcgbm9kZUlkKTsKKyAgICAgICAgW2RvbWFpbj1JbnNwZWN0
b3JdIHZvaWQgaGlkZURPTU5vZGVIaWdobGlnaHQoKTsKKyAgICAgICAgW2RvbWFpbj1JbnNwZWN0
b3JdIHZvaWQgaGlnaGxpZ2h0RnJhbWUoaW4gdW5zaWduZWQgbG9uZyBmcmFtZUlkKTsKKyAgICAg
ICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgaGlkZUZyYW1lSGlnaGxpZ2h0KCk7CiAKLSAgICAg
ICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgc3RhcnRUaW1lbGluZVByb2ZpbGVyKCk7Ci0gICAg
ICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHN0b3BUaW1lbGluZVByb2ZpbGVyKCk7CisgICAg
ICAgIC8vIENvbnNvbGUgQVBJCisgICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHNldENv
bnNvbGVNZXNzYWdlc0VuYWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkLCBvdXQgYm9vbGVhbiBuZXdT
dGF0ZSk7CisgICAgICAgIFtub3RpZnksIGRvbWFpbj1JbnNwZWN0b3JdIHZvaWQgYWRkQ29uc29s
ZU1lc3NhZ2Uob3V0IE9iamVjdCBtZXNzYWdlT2JqKTsKKyAgICAgICAgW25vdGlmeSwgZG9tYWlu
PUluc3BlY3Rvcl0gdm9pZCB1cGRhdGVDb25zb2xlTWVzc2FnZUV4cGlyZWRDb3VudChvdXQgdW5z
aWduZWQgbG9uZyBjb3VudCk7CisgICAgICAgIFtub3RpZnksIGRvbWFpbj1JbnNwZWN0b3JdIHZv
aWQgdXBkYXRlQ29uc29sZU1lc3NhZ2VSZXBlYXRDb3VudChvdXQgdW5zaWduZWQgbG9uZyBjb3Vu
dCk7CisgICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIGNsZWFyQ29uc29sZU1lc3NhZ2Vz
KCk7CisgICAgICAgIFtub3RpZnksIGRvbWFpbj1JbnNwZWN0b3JdIHZvaWQgY29uc29sZU1lc3Nh
Z2VzQ2xlYXJlZCgpOwogCisgICAgICAgIC8vIFJlc291cmNlcyBBUEkKICAgICAgICAgW2RvbWFp
bj1SZXNvdXJjZXNdIHZvaWQgY2FjaGVkUmVzb3VyY2VzKG91dCBPYmplY3QgcmVzb3VyY2VzKTsK
ICAgICAgICAgW2RvbWFpbj1SZXNvdXJjZXNdIHZvaWQgcmVzb3VyY2VDb250ZW50KGluIHVuc2ln
bmVkIGxvbmcgZnJhbWVJZCwgaW4gU3RyaW5nIHVybCwgaW4gYm9vbGVhbiBiYXNlNjRFbmNvZGUs
IG91dCBTdHJpbmcgY29udGVudCk7CiAgICAgICAgIFtub3RpZnksIGRvbWFpbj1SZXNvdXJjZXNd
IHZvaWQgaWRlbnRpZmllckZvckluaXRpYWxSZXF1ZXN0KG91dCBsb25nIGlkZW50aWZpZXIsIG91
dCBTdHJpbmcgdXJsLCBvdXQgT2JqZWN0IGxvYWRlciwgb3V0IFZhbHVlIGNhbGxTdGFjayk7CkBA
IC0xMjMsNTMgKzkwLDQxIEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgW25vdGlmeSwgZG9tYWlu
PVJlc291cmNlc10gdm9pZCBkaWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2Uob3V0
IHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgb3V0IGRvdWJsZSB0aW1lLCBvdXQgT2JqZWN0IHJl
c3BvbnNlKTsKICAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBkaWRDbG9z
ZVdlYlNvY2tldChvdXQgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBvdXQgZG91YmxlIHRpbWUp
OwogCi0jaWYgZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJiYgRU5BQkxFX0pB
VkFTQ1JJUFRfREVCVUdHRVIKLSAgICAgICAgW2RvbWFpbj1CYWNrZW5kXSB2b2lkIGVuYWJsZURl
YnVnZ2VyKGluIGJvb2xlYW4gYWx3YXlzKTsKLSAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZv
aWQgZGlzYWJsZURlYnVnZ2VyKGluIGJvb2xlYW4gYWx3YXlzKTsKLQotICAgICAgICBbZG9tYWlu
PURlYnVnZ2VyXSB2b2lkIHNldEJyZWFrcG9pbnQoaW4gU3RyaW5nIHNvdXJjZUlELCBpbiB1bnNp
Z25lZCBpbnQgbGluZU51bWJlciwgaW4gYm9vbGVhbiBlbmFibGVkLCBpbiBTdHJpbmcgY29uZGl0
aW9uLCBvdXQgYm9vbGVhbiBzdWNjZXNzLCBvdXQgdW5zaWduZWQgaW50IGFjdHVhbExpbmVOdW1i
ZXIpOwotICAgICAgICBbZG9tYWluPURlYnVnZ2VyXSB2b2lkIHJlbW92ZUJyZWFrcG9pbnQoaW4g
U3RyaW5nIHNvdXJjZUlELCBpbiB1bnNpZ25lZCBsb25nIGxpbmVOdW1iZXIpOwotICAgICAgICBb
ZG9tYWluPURlYnVnZ2VyXSB2b2lkIGFjdGl2YXRlQnJlYWtwb2ludHMoKTsKLSAgICAgICAgW2Rv
bWFpbj1EZWJ1Z2dlcl0gdm9pZCBkZWFjdGl2YXRlQnJlYWtwb2ludHMoKTsKLQotICAgICAgICBb
ZG9tYWluPURlYnVnZ2VyXSB2b2lkIHBhdXNlKCk7Ci0gICAgICAgIFtkb21haW49RGVidWdnZXJd
IHZvaWQgcmVzdW1lKCk7Ci0KLSAgICAgICAgW2RvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBzdGVwT3Zl
clN0YXRlbWVudCgpOwotICAgICAgICBbZG9tYWluPURlYnVnZ2VyXSB2b2lkIHN0ZXBJbnRvU3Rh
dGVtZW50KCk7Ci0gICAgICAgIFtkb21haW49RGVidWdnZXJdIHZvaWQgc3RlcE91dE9mRnVuY3Rp
b24oKTsKLQotICAgICAgICBbZG9tYWluPURlYnVnZ2VyXSB2b2lkIHNldFBhdXNlT25FeGNlcHRp
b25zU3RhdGUoaW4gbG9uZyBwYXVzZU9uRXhjZXB0aW9uc1N0YXRlLCBvdXQgbG9uZyBuZXdTdGF0
ZSk7Ci0KLSAgICAgICAgW2RvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBlZGl0U2NyaXB0U291cmNlKGlu
IFN0cmluZyBzb3VyY2VJRCwgaW4gU3RyaW5nIG5ld0NvbnRlbnQsIG91dCBib29sZWFuIHN1Y2Nl
c3MsIG91dCBTdHJpbmcgcmVzdWx0LCBvdXQgVmFsdWUgbmV3Q2FsbEZyYW1lcyk7Ci0gICAgICAg
IFtkb21haW49RGVidWdnZXJdIHZvaWQgZ2V0U2NyaXB0U291cmNlKGluIFN0cmluZyBzb3VyY2VJ
RCwgb3V0IFN0cmluZyBzY3JpcHRTb3VyY2UpOwotCi0gICAgICAgIFtkb21haW49RE9NXSB2b2lk
IHNldERPTUJyZWFrcG9pbnQoaW4gbG9uZyBub2RlSWQsIGluIGxvbmcgdHlwZSk7Ci0gICAgICAg
IFtkb21haW49RE9NXSB2b2lkIHJlbW92ZURPTUJyZWFrcG9pbnQoaW4gbG9uZyBub2RlSWQsIGlu
IGxvbmcgdHlwZSk7Ci0gICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHNldEV2ZW50TGlz
dGVuZXJCcmVha3BvaW50KGluIFN0cmluZyBldmVudE5hbWUpOwotICAgICAgICBbZG9tYWluPUlu
c3BlY3Rvcl0gdm9pZCByZW1vdmVFdmVudExpc3RlbmVyQnJlYWtwb2ludChpbiBTdHJpbmcgZXZl
bnROYW1lKTsKLSAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgc2V0WEhSQnJlYWtwb2lu
dChpbiBTdHJpbmcgdXJsKTsKLSAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgcmVtb3Zl
WEhSQnJlYWtwb2ludChpbiBTdHJpbmcgdXJsKTsKLQotICAgICAgICBbZG9tYWluPUluc3BlY3Rv
cl0gdm9pZCBlbmFibGVQcm9maWxlcihpbiBib29sZWFuIGFsd2F5cyk7Ci0gICAgICAgIFtkb21h
aW49SW5zcGVjdG9yXSB2b2lkIGRpc2FibGVQcm9maWxlcihpbiBib29sZWFuIGFsd2F5cyk7Ci0K
LSAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgc3RhcnRQcm9maWxpbmcoKTsKLSAgICAg
ICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgc3RvcFByb2ZpbGluZygpOwotCi0gICAgICAgIFtk
b21haW49UHJvZmlsZXJdIHZvaWQgZ2V0UHJvZmlsZUhlYWRlcnMob3V0IEFycmF5IGhlYWRlcnMp
OwotICAgICAgICBbZG9tYWluPVByb2ZpbGVyXSB2b2lkIGdldFByb2ZpbGUoaW4gU3RyaW5nIHR5
cGUsIGluIHVuc2lnbmVkIGxvbmcgdWlkLCBvdXQgT2JqZWN0IHByb2ZpbGUpOwotCi0gICAgICAg
IFtkb21haW49UHJvZmlsZXJdIHZvaWQgcmVtb3ZlUHJvZmlsZShpbiBTdHJpbmcgdHlwZSwgaW4g
dW5zaWduZWQgbG9uZyB1aWQpOwotICAgICAgICBbZG9tYWluPVByb2ZpbGVyXSB2b2lkIGNsZWFy
UHJvZmlsZXMoKTsKKyAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgZ2V0Q29va2llcyhv
dXQgQXJyYXkgY29va2llcywgb3V0IFN0cmluZyBjb29raWVzU3RyaW5nKTsKKyAgICAgICAgW2Rv
bWFpbj1JbnNwZWN0b3JdIHZvaWQgZGVsZXRlQ29va2llKGluIFN0cmluZyBjb29raWVOYW1lLCBp
biBTdHJpbmcgZG9tYWluKTsKIAotICAgICAgICBbZG9tYWluPVByb2ZpbGVyXSB2b2lkIHRha2VI
ZWFwU25hcHNob3QoKTsKKyNpZiBkZWZpbmVkKEVOQUJMRV9EQVRBQkFTRSkgJiYgRU5BQkxFX0RB
VEFCQVNFCisgICAgICAgIFtub3RpZnksIGRvbWFpbj1SZXNvdXJjZXNdIHZvaWQgYWRkRGF0YWJh
c2Uob3V0IE9iamVjdCBkYXRhYmFzZSk7CisgICAgICAgIFtub3RpZnksIGRvbWFpbj1SZXNvdXJj
ZXNdIHZvaWQgc2VsZWN0RGF0YWJhc2Uob3V0IGludCBkYXRhYmFzZUlkKTsKKyAgICAgICAgW2Rv
bWFpbj1CYWNrZW5kXSB2b2lkIGdldERhdGFiYXNlVGFibGVOYW1lcyhpbiBsb25nIGRhdGFiYXNl
SWQsIG91dCBBcnJheSB0YWJsZU5hbWVzKTsKKyAgICAgICAgW2RvbWFpbj1CYWNrZW5kXSB2b2lk
IGV4ZWN1dGVTUUwoaW4gbG9uZyBkYXRhYmFzZUlkLCBpbiBTdHJpbmcgcXVlcnksIG91dCBib29s
ZWFuIHN1Y2Nlc3MsIG91dCBsb25nIHRyYW5zYWN0aW9uSWQpOworICAgICAgICBbbm90aWZ5LCBk
b21haW49UmVzb3VyY2VzXSB2b2lkIHNxbFRyYW5zYWN0aW9uU3VjY2VlZGVkKG91dCBsb25nIHRy
YW5zYWN0aW9uSWQsIG91dCBWYWx1ZSBjb2x1bW5OYW1lcywgb3V0IFZhbHVlIHZhbHVlcyk7Cisg
ICAgICAgIFtub3RpZnksIGRvbWFpbj1SZXNvdXJjZXNdIHZvaWQgc3FsVHJhbnNhY3Rpb25GYWls
ZWQob3V0IGxvbmcgdHJhbnNhY3Rpb25JZCwgb3V0IFZhbHVlIHNxbEVycm9yKTsKKyNlbmRpZgor
I2lmIGRlZmluZWQoRU5BQkxFX0RPTV9TVE9SQUdFKSAmJiBFTkFCTEVfRE9NX1NUT1JBR0UKKyAg
ICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgZ2V0RE9NU3RvcmFnZUVudHJpZXMoaW4gbG9u
ZyBzdG9yYWdlSWQsIG91dCBBcnJheSBlbnRyaWVzKTsKKyAgICAgICAgW2RvbWFpbj1JbnNwZWN0
b3JdIHZvaWQgc2V0RE9NU3RvcmFnZUl0ZW0oaW4gbG9uZyBzdG9yYWdlSWQsIGluIFN0cmluZyBr
ZXksIGluIFN0cmluZyB2YWx1ZSwgb3V0IGJvb2xlYW4gc3VjY2Vzcyk7CisgICAgICAgIFtkb21h
aW49SW5zcGVjdG9yXSB2b2lkIHJlbW92ZURPTVN0b3JhZ2VJdGVtKGluIGxvbmcgc3RvcmFnZUlk
LCBpbiBTdHJpbmcga2V5LCBvdXQgYm9vbGVhbiBzdWNjZXNzKTsKKyAgICAgICAgW25vdGlmeSwg
ZG9tYWluPVJlc291cmNlc10gdm9pZCBhZGRET01TdG9yYWdlKG91dCBPYmplY3Qgc3RvcmFnZSk7
CisgICAgICAgIFtub3RpZnksIGRvbWFpbj1SZXNvdXJjZXNdIHZvaWQgdXBkYXRlRE9NU3RvcmFn
ZShvdXQgaW50IHN0b3JhZ2VJZCk7CisgICAgICAgIFtub3RpZnksIGRvbWFpbj1SZXNvdXJjZXNd
IHZvaWQgc2VsZWN0RE9NU3RvcmFnZShvdXQgaW50IHN0b3JhZ2VJZCk7CisjZW5kaWYKKyNpZiBk
ZWZpbmVkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICYmIEVOQUJMRV9PRkZMSU5F
X1dFQl9BUFBMSUNBVElPTlMKKyAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9p
ZCB1cGRhdGVBcHBsaWNhdGlvbkNhY2hlU3RhdHVzKG91dCBpbnQgc3RhdHVzKTsKKyAgICAgICAg
W25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCB1cGRhdGVOZXR3b3JrU3RhdGUob3V0IGJv
b2xlYW4gaXNOb3dPbmxpbmUpOworI2VuZGlmCisjaWYgZGVmaW5lZChFTkFCTEVfT0ZGTElORV9X
RUJfQVBQTElDQVRJT05TKSAmJiBFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TCisgICAg
ICAgIFtkb21haW49QXBwbGljYXRpb25DYWNoZV0gdm9pZCBnZXRBcHBsaWNhdGlvbkNhY2hlcyhv
dXQgVmFsdWUgYXBwbGljYXRpb25DYWNoZXMpOworI2VuZGlmCisjaWYgZGVmaW5lZChFTkFCTEVf
RklMRV9TWVNURU0pICYmIEVOQUJMRV9GSUxFX1NZU1RFTQorICAgICAgICBbZG9tYWluPUZpbGVT
eXN0ZW1dIHZvaWQgZ2V0RmlsZVN5c3RlbVBhdGhBc3luYyhpbiB1bnNpZ25lZCBpbnQgdHlwZSwg
aW4gU3RyaW5nIG9yaWdpbik7CisgICAgICAgIFtkb21haW49RmlsZVN5c3RlbV0gdm9pZCByZXZl
YWxGb2xkZXJJbk9TKGluIFN0cmluZyBwYXRoKTsKKyAgICAgICAgW25vdGlmeSwgZG9tYWluPVJl
c291cmNlc10gdm9pZCBkaWRHZXRGaWxlU3lzdGVtUGF0aChvdXQgU3RyaW5nIHJvb3QsIG91dCBp
bnQgdHlwZSwgb3V0IFN0cmluZyBvcmlnaW4pOworICAgICAgICBbbm90aWZ5LCBkb21haW49UmVz
b3VyY2VzXSB2b2lkIGRpZEdldEZpbGVTeXN0ZW1FcnJvcihvdXQgaW50IHR5cGUsIG91dCBTdHJp
bmcgb3JpZ2luKTsKKyAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBkaWRH
ZXRGaWxlU3lzdGVtRGlzYWJsZWQoKTsKICNlbmRpZgotICAgICAgICBbZG9tYWluPUJhY2tlbmRd
IHZvaWQgc2V0SW5qZWN0ZWRTY3JpcHRTb3VyY2UoaW4gU3RyaW5nIHNjcmlwdFNvdXJjZSk7Ci0g
ICAgICAgIFtkb21haW49QmFja2VuZF0gdm9pZCBkaXNwYXRjaE9uSW5qZWN0ZWRTY3JpcHQoaW4g
bG9uZyBpbmplY3RlZFNjcmlwdElkLCBpbiBTdHJpbmcgbWV0aG9kTmFtZSwgaW4gU3RyaW5nIGFy
Z3VtZW50cywgb3V0IFZhbHVlIHJlc3VsdCwgb3V0IGJvb2xlYW4gaXNFeGNlcHRpb24pOwotICAg
ICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBhZGRTY3JpcHRUb0V2YWx1YXRlT25Mb2FkKGlu
IFN0cmluZyBzY3JpcHRTb3VyY2UpOwotICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBy
ZW1vdmVBbGxTY3JpcHRzVG9FdmFsdWF0ZU9uTG9hZCgpOwogCisgICAgICAgIC8vIERPTSBBUEkK
ICAgICAgICAgW2RvbWFpbj1ET01dIHZvaWQgZ2V0Q2hpbGROb2RlcyhpbiBsb25nIG5vZGVJZCk7
CiAgICAgICAgIFtkb21haW49RE9NXSB2b2lkIHNldEF0dHJpYnV0ZShpbiBsb25nIGVsZW1lbnRJ
ZCwgaW4gU3RyaW5nIG5hbWUsIGluIFN0cmluZyB2YWx1ZSwgb3V0IGJvb2xlYW4gc3VjY2Vzcyk7
CiAgICAgICAgIFtkb21haW49RE9NXSB2b2lkIHJlbW92ZUF0dHJpYnV0ZShpbiBsb25nIGVsZW1l
bnRJZCwgaW4gU3RyaW5nIG5hbWUsIG91dCBib29sZWFuIHN1Y2Nlc3MpOwpAQCAtMTg0LDIyICsx
MzksMTggQEAgbW9kdWxlIGNvcmUgewogICAgICAgICBbZG9tYWluPURPTV0gdm9pZCBwZXJmb3Jt
U2VhcmNoKGluIFN0cmluZyBxdWVyeSwgaW4gYm9vbGVhbiBydW5TeW5jaHJvbm91c2x5KTsKICAg
ICAgICAgW2RvbWFpbj1ET01dIHZvaWQgc2VhcmNoQ2FuY2VsZWQoKTsKICAgICAgICAgW2RvbWFp
bj1ET01dIHZvaWQgcHVzaE5vZGVCeVBhdGhUb0Zyb250ZW5kKGluIFN0cmluZyBwYXRoLCBvdXQg
bG9uZyBub2RlSWQpOworICAgICAgICBbbm90aWZ5LCBkb21haW49SW5zcGVjdG9yXSB2b2lkIHVw
ZGF0ZUZvY3VzZWROb2RlKG91dCBsb25nIG5vZGVJZCk7CisgICAgICAgIFtub3RpZnksIGRvbWFp
bj1ET01dIHZvaWQgYXR0cmlidXRlc1VwZGF0ZWQob3V0IGxvbmcgaWQsIG91dCBBcnJheSBhdHRy
aWJ1dGVzKTsKKyAgICAgICAgW25vdGlmeSwgZG9tYWluPURPTV0gdm9pZCBjaGFyYWN0ZXJEYXRh
TW9kaWZpZWQob3V0IGxvbmcgaWQsIG91dCBTdHJpbmcgbmV3VmFsdWUpOworICAgICAgICBbbm90
aWZ5LCBkb21haW49RE9NXSB2b2lkIHNldERvY3VtZW50KG91dCBWYWx1ZSByb290KTsKKyAgICAg
ICAgW25vdGlmeSwgZG9tYWluPURPTV0gdm9pZCBzZXRDaGlsZE5vZGVzKG91dCBsb25nIHBhcmVu
dElkLCBvdXQgQXJyYXkgbm9kZXMpOworICAgICAgICBbbm90aWZ5LCBkb21haW49RE9NXSB2b2lk
IHNldERldGFjaGVkUm9vdChvdXQgT2JqZWN0IHJvb3QpOworICAgICAgICBbbm90aWZ5LCBkb21h
aW49RE9NXSB2b2lkIGNoaWxkTm9kZUNvdW50VXBkYXRlZChvdXQgbG9uZyBpZCwgb3V0IGludCBu
ZXdWYWx1ZSk7CisgICAgICAgIFtub3RpZnksIGRvbWFpbj1ET01dIHZvaWQgY2hpbGROb2RlSW5z
ZXJ0ZWQob3V0IGxvbmcgcGFyZW50SWQsIG91dCBsb25nIHByZXZJZCwgb3V0IE9iamVjdCBub2Rl
KTsKKyAgICAgICAgW25vdGlmeSwgZG9tYWluPURPTV0gdm9pZCBjaGlsZE5vZGVSZW1vdmVkKG91
dCBsb25nIHBhcmVudElkLCBvdXQgbG9uZyBpZCk7CisgICAgICAgIFtub3RpZnksIGRvbWFpbj1E
T01dIHZvaWQgZGlkQ29tbWl0TG9hZCgpOwogCi0gICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2
b2lkIHNldENvbnNvbGVNZXNzYWdlc0VuYWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkLCBvdXQgYm9v
bGVhbiBuZXdTdGF0ZSk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1JbnNwZWN0b3JdIHZvaWQg
YWRkQ29uc29sZU1lc3NhZ2Uob3V0IE9iamVjdCBtZXNzYWdlT2JqKTsKLSAgICAgICAgW25vdGlm
eSwgZG9tYWluPUluc3BlY3Rvcl0gdm9pZCB1cGRhdGVDb25zb2xlTWVzc2FnZUV4cGlyZWRDb3Vu
dChvdXQgdW5zaWduZWQgbG9uZyBjb3VudCk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1JbnNw
ZWN0b3JdIHZvaWQgdXBkYXRlQ29uc29sZU1lc3NhZ2VSZXBlYXRDb3VudChvdXQgdW5zaWduZWQg
bG9uZyBjb3VudCk7Ci0KLSAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgY2xlYXJDb25z
b2xlTWVzc2FnZXMoKTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBj
b25zb2xlTWVzc2FnZXNDbGVhcmVkKCk7Ci0KLSAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZv
aWQgaGlnaGxpZ2h0RE9NTm9kZShpbiBsb25nIG5vZGVJZCk7Ci0gICAgICAgIFtkb21haW49SW5z
cGVjdG9yXSB2b2lkIGhpZGVET01Ob2RlSGlnaGxpZ2h0KCk7Ci0gICAgICAgIFtkb21haW49SW5z
cGVjdG9yXSB2b2lkIG9wZW5Jbkluc3BlY3RlZFdpbmRvdyhpbiBTdHJpbmcgdXJsKTsKLQotICAg
ICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBoaWdobGlnaHRGcmFtZShpbiB1bnNpZ25lZCBs
b25nIGZyYW1lSWQpOwotICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBoaWRlRnJhbWVI
aWdobGlnaHQoKTsKLQorICAgICAgICAvLyBDU1MgQVBJCiAgICAgICAgIFtkb21haW49Q1NTXSB2
b2lkIGdldFN0eWxlc0Zvck5vZGUyKGluIGxvbmcgbm9kZUlkLCBvdXQgVmFsdWUgc3R5bGVzKTsK
ICAgICAgICAgW2RvbWFpbj1DU1NdIHZvaWQgZ2V0Q29tcHV0ZWRTdHlsZUZvck5vZGUyKGluIGxv
bmcgbm9kZUlkLCBvdXQgVmFsdWUgc3R5bGUpOwogICAgICAgICBbZG9tYWluPUNTU10gdm9pZCBn
ZXRJbmxpbmVTdHlsZUZvck5vZGUyKGluIGxvbmcgbm9kZUlkLCBvdXQgVmFsdWUgc3R5bGUpOwpA
QCAtMjE0LDM1ICsxNjUsNzUgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICBbZG9tYWluPUNTU10g
dm9pZCBnZXRTdXBwb3J0ZWRDU1NQcm9wZXJ0aWVzKG91dCBBcnJheSBjc3NQcm9wZXJ0aWVzKTsK
ICAgICAgICAgW2RvbWFpbj1DU1NdIHZvaWQgcXVlcnlTZWxlY3RvckFsbChpbiBsb25nIGRvY3Vt
ZW50SWQsIGluIFN0cmluZyBzZWxlY3Rvciwgb3V0IEFycmF5IHJlc3VsdCk7CiAKLSAgICAgICAg
W2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgZ2V0Q29va2llcyhvdXQgQXJyYXkgY29va2llcywgb3V0
IFN0cmluZyBjb29raWVzU3RyaW5nKTsKLSAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQg
ZGVsZXRlQ29va2llKGluIFN0cmluZyBjb29raWVOYW1lLCBpbiBTdHJpbmcgZG9tYWluKTsKKyAg
ICAgICAgLy8gVGltZWxpbmUgQVBJCisgICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHN0
YXJ0VGltZWxpbmVQcm9maWxlcigpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBz
dG9wVGltZWxpbmVQcm9maWxlcigpOworICAgICAgICBbbm90aWZ5LCBkb21haW49VGltZWxpbmVd
IHZvaWQgYWRkUmVjb3JkVG9UaW1lbGluZShvdXQgT2JqZWN0IHJlY29yZCk7CisgICAgICAgIFtu
b3RpZnksIGRvbWFpbj1UaW1lbGluZV0gdm9pZCB0aW1lbGluZVByb2ZpbGVyV2FzU3RhcnRlZCgp
OworICAgICAgICBbbm90aWZ5LCBkb21haW49VGltZWxpbmVdIHZvaWQgdGltZWxpbmVQcm9maWxl
cldhc1N0b3BwZWQoKTsKIAotI2lmIGRlZmluZWQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FU
SU9OUykgJiYgRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUwotICAgICAgICBbZG9tYWlu
PUFwcGxpY2F0aW9uQ2FjaGVdIHZvaWQgZ2V0QXBwbGljYXRpb25DYWNoZXMob3V0IFZhbHVlIGFw
cGxpY2F0aW9uQ2FjaGVzKTsKLSNlbmRpZgorI2lmIGRlZmluZWQoRU5BQkxFX0pBVkFTQ1JJUFRf
REVCVUdHRVIpICYmIEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSCisgICAgICAgIC8vIFByb2Zp
bGVyIEFQSQorICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBlbmFibGVQcm9maWxlcihp
biBib29sZWFuIGFsd2F5cyk7CisgICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIGRpc2Fi
bGVQcm9maWxlcihpbiBib29sZWFuIGFsd2F5cyk7CisgICAgICAgIFtub3RpZnksIGRvbWFpbj1Q
cm9maWxlcl0gdm9pZCBwcm9maWxlcldhc0VuYWJsZWQoKTsKKyAgICAgICAgW25vdGlmeSwgZG9t
YWluPVByb2ZpbGVyXSB2b2lkIHByb2ZpbGVyV2FzRGlzYWJsZWQoKTsKKyAgICAgICAgW2RvbWFp
bj1JbnNwZWN0b3JdIHZvaWQgc3RhcnRQcm9maWxpbmcoKTsKKyAgICAgICAgW2RvbWFpbj1JbnNw
ZWN0b3JdIHZvaWQgc3RvcFByb2ZpbGluZygpOworICAgICAgICBbZG9tYWluPVByb2ZpbGVyXSB2
b2lkIGdldFByb2ZpbGVIZWFkZXJzKG91dCBBcnJheSBoZWFkZXJzKTsKKyAgICAgICAgW2RvbWFp
bj1Qcm9maWxlcl0gdm9pZCBnZXRQcm9maWxlKGluIFN0cmluZyB0eXBlLCBpbiB1bnNpZ25lZCBs
b25nIHVpZCwgb3V0IE9iamVjdCBwcm9maWxlKTsKKyAgICAgICAgW2RvbWFpbj1Qcm9maWxlcl0g
dm9pZCByZW1vdmVQcm9maWxlKGluIFN0cmluZyB0eXBlLCBpbiB1bnNpZ25lZCBsb25nIHVpZCk7
CisgICAgICAgIFtkb21haW49UHJvZmlsZXJdIHZvaWQgY2xlYXJQcm9maWxlcygpOworICAgICAg
ICBbZG9tYWluPVByb2ZpbGVyXSB2b2lkIHRha2VIZWFwU25hcHNob3QoKTsKKyAgICAgICAgW25v
dGlmeSwgZG9tYWluPVByb2ZpbGVyXSB2b2lkIGFkZFByb2ZpbGVIZWFkZXIob3V0IE9iamVjdCBo
ZWFkZXIpOworICAgICAgICBbbm90aWZ5LCBkb21haW49UHJvZmlsZXJdIHZvaWQgYWRkSGVhcFNu
YXBzaG90Q2h1bmsob3V0IHVuc2lnbmVkIGxvbmcgdWlkLCBvdXQgU3RyaW5nIGNodW5rKTsKKyAg
ICAgICAgW25vdGlmeSwgZG9tYWluPVByb2ZpbGVyXSB2b2lkIGZpbmlzaEhlYXBTbmFwc2hvdChv
dXQgdW5zaWduZWQgbG9uZyB1aWQpOworICAgICAgICBbbm90aWZ5LCBkb21haW49UHJvZmlsZXJd
IHZvaWQgc2V0UmVjb3JkaW5nUHJvZmlsZShvdXQgYm9vbGVhbiBpc1Byb2ZpbGluZyk7CisgICAg
ICAgIFtub3RpZnksIGRvbWFpbj1Qcm9maWxlcl0gdm9pZCByZXNldFByb2ZpbGVzKCk7CiAKLSNp
ZiBkZWZpbmVkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJiYgRU5BQkxFX0ZJTEVfU1lTVEVNCi0gICAg
ICAgIFtkb21haW49RmlsZVN5c3RlbV0gdm9pZCBnZXRGaWxlU3lzdGVtUGF0aEFzeW5jKGluIHVu
c2lnbmVkIGludCB0eXBlLCBpbiBTdHJpbmcgb3JpZ2luKTsKLSAgICAgICAgW2RvbWFpbj1GaWxl
U3lzdGVtXSB2b2lkIHJldmVhbEZvbGRlckluT1MoaW4gU3RyaW5nIHBhdGgpOwotICAgICAgICBb
bm90aWZ5LCBkb21haW49UmVzb3VyY2VzXSB2b2lkIGRpZEdldEZpbGVTeXN0ZW1QYXRoKG91dCBT
dHJpbmcgcm9vdCwgb3V0IGludCB0eXBlLCBvdXQgU3RyaW5nIG9yaWdpbik7Ci0gICAgICAgIFtu
b3RpZnksIGRvbWFpbj1SZXNvdXJjZXNdIHZvaWQgZGlkR2V0RmlsZVN5c3RlbUVycm9yKG91dCBp
bnQgdHlwZSwgb3V0IFN0cmluZyBvcmlnaW4pOwotICAgICAgICBbbm90aWZ5LCBkb21haW49UmVz
b3VyY2VzXSB2b2lkIGRpZEdldEZpbGVTeXN0ZW1EaXNhYmxlZCgpOwotI2VuZGlmCisgICAgICAg
IC8vIERlYnVnZ2VyIEFQSQorICAgICAgICBbZG9tYWluPUJhY2tlbmRdIHZvaWQgZW5hYmxlRGVi
dWdnZXIoaW4gYm9vbGVhbiBhbHdheXMpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9p
ZCBkaXNhYmxlRGVidWdnZXIoaW4gYm9vbGVhbiBhbHdheXMpOworICAgICAgICBbbm90aWZ5LCBk
b21haW49RGVidWdnZXJdIHZvaWQgZGVidWdnZXJXYXNFbmFibGVkKCk7CisgICAgICAgIFtub3Rp
ZnksIGRvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBkZWJ1Z2dlcldhc0Rpc2FibGVkKCk7CiAKLSAgICAg
ICAgW2RvbWFpbj1CYWNrZW5kXSB2b2lkIHJlbGVhc2VXcmFwcGVyT2JqZWN0R3JvdXAoaW4gbG9u
ZyBpbmplY3RlZFNjcmlwdElkLCBpbiBTdHJpbmcgb2JqZWN0R3JvdXApOwotICAgICAgICBbZG9t
YWluPUluc3BlY3Rvcl0gdm9pZCBkaWRFdmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kKGluIGxvbmcg
dGVzdENhbGxJZCwgaW4gU3RyaW5nIGpzb25SZXN1bHQpOworICAgICAgICBbbm90aWZ5LCBkb21h
aW49RGVidWdnZXJdIHZvaWQgYXR0YWNoRGVidWdnZXJXaGVuU2hvd24oKTsKIAotI2lmIGRlZmlu
ZWQoRU5BQkxFX0RBVEFCQVNFKSAmJiBFTkFCTEVfREFUQUJBU0UKLSAgICAgICAgW2RvbWFpbj1C
YWNrZW5kXSB2b2lkIGdldERhdGFiYXNlVGFibGVOYW1lcyhpbiBsb25nIGRhdGFiYXNlSWQsIG91
dCBBcnJheSB0YWJsZU5hbWVzKTsKLSAgICAgICAgW2RvbWFpbj1CYWNrZW5kXSB2b2lkIGV4ZWN1
dGVTUUwoaW4gbG9uZyBkYXRhYmFzZUlkLCBpbiBTdHJpbmcgcXVlcnksIG91dCBib29sZWFuIHN1
Y2Nlc3MsIG91dCBsb25nIHRyYW5zYWN0aW9uSWQpOwotICAgICAgICBbbm90aWZ5LCBkb21haW49
UmVzb3VyY2VzXSB2b2lkIHNxbFRyYW5zYWN0aW9uU3VjY2VlZGVkKG91dCBsb25nIHRyYW5zYWN0
aW9uSWQsIG91dCBWYWx1ZSBjb2x1bW5OYW1lcywgb3V0IFZhbHVlIHZhbHVlcyk7Ci0gICAgICAg
IFtub3RpZnksIGRvbWFpbj1SZXNvdXJjZXNdIHZvaWQgc3FsVHJhbnNhY3Rpb25GYWlsZWQob3V0
IGxvbmcgdHJhbnNhY3Rpb25JZCwgb3V0IFZhbHVlIHNxbEVycm9yKTsKLSNlbmRpZgorICAgICAg
ICBbbm90aWZ5LCBkb21haW49RGVidWdnZXJdIHZvaWQgZmFpbGVkVG9QYXJzZVNjcmlwdFNvdXJj
ZShvdXQgU3RyaW5nIHVybCwgb3V0IFN0cmluZyBkYXRhLCBvdXQgaW50IGZpcnN0TGluZSwgb3V0
IGludCBlcnJvckxpbmUsIG91dCBTdHJpbmcgZXJyb3JNZXNzYWdlKTsKKyAgICAgICAgW25vdGlm
eSwgZG9tYWluPURlYnVnZ2VyXSB2b2lkIHBhcnNlZFNjcmlwdFNvdXJjZShvdXQgU3RyaW5nIHNv
dXJjZUlELCBvdXQgU3RyaW5nIHVybCwgb3V0IFN0cmluZyBkYXRhLCBvdXQgaW50IGZpcnN0TGlu
ZSwgb3V0IGludCBzY3JpcHRXb3JsZFR5cGUpOworICAgICAgICBbbm90aWZ5LCBkb21haW49RGVi
dWdnZXJdIHZvaWQgcGF1c2VkU2NyaXB0KG91dCBPYmplY3QgZGV0YWlscyk7CisgICAgICAgIFtu
b3RpZnksIGRvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBicmVha3BvaW50UmVzdG9yZWQob3V0IFN0cmlu
ZyBzb3VyY2VJRCwgb3V0IFN0cmluZyB1cmwsIG91dCBpbnQgbGluZSwgb3V0IGJvb2xlYW4gZW5h
YmxlZCwgb3V0IFN0cmluZyBjb25kaXRpb24pOworICAgICAgICBbbm90aWZ5LCBkb21haW49RGVi
dWdnZXJdIHZvaWQgcmVzdW1lZFNjcmlwdCgpOwogCi0jaWYgZGVmaW5lZChFTkFCTEVfRE9NX1NU
T1JBR0UpICYmIEVOQUJMRV9ET01fU1RPUkFHRQotICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0g
dm9pZCBnZXRET01TdG9yYWdlRW50cmllcyhpbiBsb25nIHN0b3JhZ2VJZCwgb3V0IEFycmF5IGVu
dHJpZXMpOwotICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBzZXRET01TdG9yYWdlSXRl
bShpbiBsb25nIHN0b3JhZ2VJZCwgaW4gU3RyaW5nIGtleSwgaW4gU3RyaW5nIHZhbHVlLCBvdXQg
Ym9vbGVhbiBzdWNjZXNzKTsKLSAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgcmVtb3Zl
RE9NU3RvcmFnZUl0ZW0oaW4gbG9uZyBzdG9yYWdlSWQsIGluIFN0cmluZyBrZXksIG91dCBib29s
ZWFuIHN1Y2Nlc3MpOwotI2VuZGlmCisgICAgICAgIFtkb21haW49RGVidWdnZXJdIHZvaWQgYWN0
aXZhdGVCcmVha3BvaW50cygpOworICAgICAgICBbZG9tYWluPURlYnVnZ2VyXSB2b2lkIGRlYWN0
aXZhdGVCcmVha3BvaW50cygpOworCisgICAgICAgIFtkb21haW49RGVidWdnZXJdIHZvaWQgc2V0
QnJlYWtwb2ludChpbiBTdHJpbmcgc291cmNlSUQsIGluIHVuc2lnbmVkIGludCBsaW5lTnVtYmVy
LCBpbiBib29sZWFuIGVuYWJsZWQsIGluIFN0cmluZyBjb25kaXRpb24sIG91dCBib29sZWFuIHN1
Y2Nlc3MsIG91dCB1bnNpZ25lZCBpbnQgYWN0dWFsTGluZU51bWJlcik7CisgICAgICAgIFtkb21h
aW49RGVidWdnZXJdIHZvaWQgcmVtb3ZlQnJlYWtwb2ludChpbiBTdHJpbmcgc291cmNlSUQsIGlu
IHVuc2lnbmVkIGxvbmcgbGluZU51bWJlcik7CisgICAgICAgIFtkb21haW49RE9NXSB2b2lkIHNl
dERPTUJyZWFrcG9pbnQoaW4gbG9uZyBub2RlSWQsIGluIGxvbmcgdHlwZSk7CisgICAgICAgIFtk
b21haW49RE9NXSB2b2lkIHJlbW92ZURPTUJyZWFrcG9pbnQoaW4gbG9uZyBub2RlSWQsIGluIGxv
bmcgdHlwZSk7CisgICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHNldEV2ZW50TGlzdGVu
ZXJCcmVha3BvaW50KGluIFN0cmluZyBldmVudE5hbWUpOworICAgICAgICBbZG9tYWluPUluc3Bl
Y3Rvcl0gdm9pZCByZW1vdmVFdmVudExpc3RlbmVyQnJlYWtwb2ludChpbiBTdHJpbmcgZXZlbnRO
YW1lKTsKKyAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgc2V0WEhSQnJlYWtwb2ludChp
biBTdHJpbmcgdXJsKTsKKyAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgcmVtb3ZlWEhS
QnJlYWtwb2ludChpbiBTdHJpbmcgdXJsKTsKKworICAgICAgICBbZG9tYWluPURlYnVnZ2VyXSB2
b2lkIHBhdXNlKCk7CisgICAgICAgIFtkb21haW49RGVidWdnZXJdIHZvaWQgcmVzdW1lKCk7CisK
KyAgICAgICAgW2RvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBzdGVwT3ZlclN0YXRlbWVudCgpOworICAg
ICAgICBbZG9tYWluPURlYnVnZ2VyXSB2b2lkIHN0ZXBJbnRvU3RhdGVtZW50KCk7CisgICAgICAg
IFtkb21haW49RGVidWdnZXJdIHZvaWQgc3RlcE91dE9mRnVuY3Rpb24oKTsKKworICAgICAgICBb
ZG9tYWluPURlYnVnZ2VyXSB2b2lkIHNldFBhdXNlT25FeGNlcHRpb25zU3RhdGUoaW4gbG9uZyBw
YXVzZU9uRXhjZXB0aW9uc1N0YXRlLCBvdXQgbG9uZyBuZXdTdGF0ZSk7CisKKyAgICAgICAgW2Rv
bWFpbj1EZWJ1Z2dlcl0gdm9pZCBlZGl0U2NyaXB0U291cmNlKGluIFN0cmluZyBzb3VyY2VJRCwg
aW4gU3RyaW5nIG5ld0NvbnRlbnQsIG91dCBib29sZWFuIHN1Y2Nlc3MsIG91dCBTdHJpbmcgcmVz
dWx0LCBvdXQgVmFsdWUgbmV3Q2FsbEZyYW1lcyk7CisgICAgICAgIFtkb21haW49RGVidWdnZXJd
IHZvaWQgZ2V0U2NyaXB0U291cmNlKGluIFN0cmluZyBzb3VyY2VJRCwgb3V0IFN0cmluZyBzY3Jp
cHRTb3VyY2UpOworCisjaWYgZGVmaW5lZChFTkFCTEVfV09SS0VSUykgJiYgRU5BQkxFX1dPUktF
UlMKKyAgICAgICAgW25vdGlmeSwgZG9tYWluPURlYnVnZ2VyXSB2b2lkIGRpZENyZWF0ZVdvcmtl
cihvdXQgbG9uZyBpZCwgb3V0IFN0cmluZyB1cmwsIG91dCBib29sZWFuIGlzU2hhcmVkKTsKKyAg
ICAgICAgW25vdGlmeSwgZG9tYWluPURlYnVnZ2VyXSB2b2lkIGRpZERlc3Ryb3lXb3JrZXIob3V0
IGxvbmcgaWQpOworI2VuZGlmIC8vIEVOQUJMRV9XT1JLRVJTCisKKyNlbmRpZiAvLyBFTkFCTEVf
SkFWQVNDUklQVF9ERUJVR0dFUgogICAgIH07CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>76525</attachid>
            <date>2010-12-14 04:03:53 -0800</date>
            <delta_ts>2010-12-14 06:18:46 -0800</delta_ts>
            <desc>Inspector.idl</desc>
            <filename>Inspector.idl</filename>
            <type>text/x-idl</type>
            <size>16194</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">LyoKICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICogQ29weXJpZ2h0IChDKSAyMDA4IE1hdHQgTGlsZWsgPHdlYmtpdEBtYXR0bGlsZWsu
Y29tPgogKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICoKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKICogbWV0OgogKgogKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAogKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCiAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiAqIGRp
c3RyaWJ1dGlvbi4KICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cwogKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgogKgogKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCiAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgogKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAogKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCiAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAqLwoKbW9kdWxlIGNvcmUgewogICAgaW50ZXJm
YWNlIFtDb25kaXRpb25hbD1JTlNQRUNUT1JdIEluc3BlY3RvciB7CgogICAgICAgIC8vIGdlbmVy
aWMgSW5zcGVjdG9yJ3MgbWV0aG9kcwogICAgICAgIFtkb21haW49QmFja2VuZF0gdm9pZCBzZXRJ
bmplY3RlZFNjcmlwdFNvdXJjZShpbiBTdHJpbmcgc2NyaXB0U291cmNlKTsKICAgICAgICBbZG9t
YWluPUJhY2tlbmRdIHZvaWQgZGlzcGF0Y2hPbkluamVjdGVkU2NyaXB0KGluIGxvbmcgaW5qZWN0
ZWRTY3JpcHRJZCwgaW4gU3RyaW5nIG1ldGhvZE5hbWUsIGluIFN0cmluZyBhcmd1bWVudHMsIG91
dCBWYWx1ZSByZXN1bHQsIG91dCBib29sZWFuIGlzRXhjZXB0aW9uKTsKICAgICAgICBbZG9tYWlu
PUluc3BlY3Rvcl0gdm9pZCBhZGRTY3JpcHRUb0V2YWx1YXRlT25Mb2FkKGluIFN0cmluZyBzY3Jp
cHRTb3VyY2UpOwogICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHJlbW92ZUFsbFNjcmlw
dHNUb0V2YWx1YXRlT25Mb2FkKCk7CiAgICAgICAgW2RvbWFpbj1CYWNrZW5kXSB2b2lkIHJlbGVh
c2VXcmFwcGVyT2JqZWN0R3JvdXAoaW4gbG9uZyBpbmplY3RlZFNjcmlwdElkLCBpbiBTdHJpbmcg
b2JqZWN0R3JvdXApOwogICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIGdldEluc3BlY3Rv
clN0YXRlKG91dCBPYmplY3Qgc3RhdGUpOwogICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lk
IHNldE1vbml0b3JpbmdYSFJFbmFibGVkKGluIGJvb2xlYW4gZW5hYmxlLCBvdXQgYm9vbGVhbiBu
ZXdTdGF0ZSk7CiAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgcmVsb2FkUGFnZSgpOwog
ICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHBvcHVsYXRlU2NyaXB0T2JqZWN0cygpOwoK
ICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBvcGVuSW5JbnNwZWN0ZWRXaW5kb3coaW4g
U3RyaW5nIHVybCk7CiAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgc2V0U2VhcmNoaW5n
Rm9yTm9kZShpbiBib29sZWFuIGVuYWJsZWQsIG91dCBib29sZWFuIG5ld1N0YXRlKTsKICAgICAg
ICBbbm90aWZ5LCBkb21haW49SW5zcGVjdG9yXSB2b2lkIGFkZE5vZGVzVG9TZWFyY2hSZXN1bHQo
b3V0IEFycmF5IG5vZGVJZHMpOwogICAgICAgIFtub3RpZnksIGRvbWFpbj1JbnNwZWN0b3JdIHZv
aWQgYnJpbmdUb0Zyb250KCk7CiAgICAgICAgW25vdGlmeSwgZG9tYWluPUluc3BlY3Rvcl0gdm9p
ZCBkaXNjb25uZWN0RnJvbUJhY2tlbmQoKTsKICAgICAgICBbbm90aWZ5LCBkb21haW49SW5zcGVj
dG9yXSB2b2lkIGluc3BlY3RlZFVSTENoYW5nZWQob3V0IFN0cmluZyB1cmwpOwogICAgICAgIFtu
b3RpZnksIGRvbWFpbj1JbnNwZWN0b3JdIHZvaWQgZG9tQ29udGVudEV2ZW50RmlyZWQob3V0IGRv
dWJsZSB0aW1lKTsKICAgICAgICBbbm90aWZ5LCBkb21haW49SW5zcGVjdG9yXSB2b2lkIGxvYWRF
dmVudEZpcmVkKG91dCBkb3VibGUgdGltZSk7CiAgICAgICAgW25vdGlmeSwgZG9tYWluPUluc3Bl
Y3Rvcl0gdm9pZCByZXNldCgpOwogICAgICAgIFtub3RpZnksIGRvbWFpbj1JbnNwZWN0b3JdIHZv
aWQgc2hvd1BhbmVsKG91dCBTdHJpbmcgcGFuZWwpOwogICAgICAgIFtub3RpZnksIGRvbWFpbj1J
bnNwZWN0b3JdIHZvaWQgZXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZChvdXQgbG9uZyB0ZXN0Q2Fs
bElkLCBvdXQgU3RyaW5nIHNjcmlwdCk7CiAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQg
ZGlkRXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZChpbiBsb25nIHRlc3RDYWxsSWQsIGluIFN0cmlu
ZyBqc29uUmVzdWx0KTsKCiAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgaGlnaGxpZ2h0
RE9NTm9kZShpbiBsb25nIG5vZGVJZCk7CiAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQg
aGlkZURPTU5vZGVIaWdobGlnaHQoKTsKICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBo
aWdobGlnaHRGcmFtZShpbiB1bnNpZ25lZCBsb25nIGZyYW1lSWQpOwogICAgICAgIFtkb21haW49
SW5zcGVjdG9yXSB2b2lkIGhpZGVGcmFtZUhpZ2hsaWdodCgpOwoKICAgICAgICAvLyBDb25zb2xl
IEFQSQogICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHNldENvbnNvbGVNZXNzYWdlc0Vu
YWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkLCBvdXQgYm9vbGVhbiBuZXdTdGF0ZSk7CiAgICAgICAg
W25vdGlmeSwgZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBhZGRDb25zb2xlTWVzc2FnZShvdXQgT2Jq
ZWN0IG1lc3NhZ2VPYmopOwogICAgICAgIFtub3RpZnksIGRvbWFpbj1JbnNwZWN0b3JdIHZvaWQg
dXBkYXRlQ29uc29sZU1lc3NhZ2VFeHBpcmVkQ291bnQob3V0IHVuc2lnbmVkIGxvbmcgY291bnQp
OwogICAgICAgIFtub3RpZnksIGRvbWFpbj1JbnNwZWN0b3JdIHZvaWQgdXBkYXRlQ29uc29sZU1l
c3NhZ2VSZXBlYXRDb3VudChvdXQgdW5zaWduZWQgbG9uZyBjb3VudCk7CiAgICAgICAgW2RvbWFp
bj1JbnNwZWN0b3JdIHZvaWQgY2xlYXJDb25zb2xlTWVzc2FnZXMoKTsKICAgICAgICBbbm90aWZ5
LCBkb21haW49SW5zcGVjdG9yXSB2b2lkIGNvbnNvbGVNZXNzYWdlc0NsZWFyZWQoKTsKCiAgICAg
ICAgLy8gUmVzb3VyY2VzIEFQSQogICAgICAgIFtkb21haW49UmVzb3VyY2VzXSB2b2lkIGNhY2hl
ZFJlc291cmNlcyhvdXQgT2JqZWN0IHJlc291cmNlcyk7CiAgICAgICAgW2RvbWFpbj1SZXNvdXJj
ZXNdIHZvaWQgcmVzb3VyY2VDb250ZW50KGluIHVuc2lnbmVkIGxvbmcgZnJhbWVJZCwgaW4gU3Ry
aW5nIHVybCwgaW4gYm9vbGVhbiBiYXNlNjRFbmNvZGUsIG91dCBTdHJpbmcgY29udGVudCk7CiAg
ICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBpZGVudGlmaWVyRm9ySW5pdGlh
bFJlcXVlc3Qob3V0IGxvbmcgaWRlbnRpZmllciwgb3V0IFN0cmluZyB1cmwsIG91dCBPYmplY3Qg
bG9hZGVyLCBvdXQgVmFsdWUgY2FsbFN0YWNrKTsKICAgICAgICBbbm90aWZ5LCBkb21haW49UmVz
b3VyY2VzXSB2b2lkIHdpbGxTZW5kUmVxdWVzdChvdXQgbG9uZyBpZGVudGlmaWVyLCBvdXQgZG91
YmxlIHRpbWUsIG91dCBPYmplY3QgcmVxdWVzdCwgb3V0IE9iamVjdCByZWRpcmVjdFJlc3BvbnNl
KTsKICAgICAgICBbbm90aWZ5LCBkb21haW49UmVzb3VyY2VzXSB2b2lkIG1hcmtSZXNvdXJjZUFz
Q2FjaGVkKG91dCBsb25nIGlkZW50aWZpZXIpOwogICAgICAgIFtub3RpZnksIGRvbWFpbj1SZXNv
dXJjZXNdIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKG91dCBsb25nIGlkZW50aWZpZXIsIG91dCBk
b3VibGUgdGltZSwgb3V0IFN0cmluZyByZXNvdXJjZVR5cGUsIG91dCBPYmplY3QgcmVzcG9uc2Up
OwogICAgICAgIFtub3RpZnksIGRvbWFpbj1SZXNvdXJjZXNdIHZvaWQgZGlkUmVjZWl2ZUNvbnRl
bnRMZW5ndGgob3V0IGxvbmcgaWRlbnRpZmllciwgb3V0IGRvdWJsZSB0aW1lLCBvdXQgbG9uZyBs
ZW5ndGhSZWNlaXZlZCk7CiAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBk
aWRGaW5pc2hMb2FkaW5nKG91dCBsb25nIGlkZW50aWZpZXIsIG91dCBkb3VibGUgZmluaXNoVGlt
ZSk7CiAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBkaWRGYWlsTG9hZGlu
ZyhvdXQgbG9uZyBpZGVudGlmaWVyLCBvdXQgZG91YmxlIHRpbWUsIG91dCBTdHJpbmcgbG9jYWxp
emVkRGVzY3JpcHRpb24pOwogICAgICAgIFtub3RpZnksIGRvbWFpbj1SZXNvdXJjZXNdIHZvaWQg
ZGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKG91dCBkb3VibGUgdGltZSwgb3V0IE9iamVj
dCByZXNvdXJjZSk7CiAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBzZXRJ
bml0aWFsQ29udGVudChvdXQgbG9uZyBpZGVudGlmaWVyLCBvdXQgU3RyaW5nIHNvdXJjZVN0cmlu
Zywgb3V0IFN0cmluZyB0eXBlKTsKICAgICAgICBbbm90aWZ5LCBkb21haW49UmVzb3VyY2VzXSB2
b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZShvdXQgT2JqZWN0IGZyYW1lLCBvdXQgT2JqZWN0IGxv
YWRlcik7CiAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBmcmFtZURldGFj
aGVkRnJvbVBhcmVudChvdXQgdW5zaWduZWQgbG9uZyBmcmFtZUlkKTsKCiAgICAgICAgW25vdGlm
eSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBkaWRDcmVhdGVXZWJTb2NrZXQob3V0IHVuc2lnbmVk
IGxvbmcgaWRlbnRpZmllciwgb3V0IFN0cmluZyByZXF1ZXN0VVJMKTsKICAgICAgICBbbm90aWZ5
LCBkb21haW49UmVzb3VyY2VzXSB2b2lkIHdpbGxTZW5kV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVz
dChvdXQgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBvdXQgZG91YmxlIHRpbWUsIG91dCBPYmpl
Y3QgcmVxdWVzdCk7CiAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBkaWRS
ZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2Uob3V0IHVuc2lnbmVkIGxvbmcgaWRlbnRp
Zmllciwgb3V0IGRvdWJsZSB0aW1lLCBvdXQgT2JqZWN0IHJlc3BvbnNlKTsKICAgICAgICBbbm90
aWZ5LCBkb21haW49UmVzb3VyY2VzXSB2b2lkIGRpZENsb3NlV2ViU29ja2V0KG91dCB1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIsIG91dCBkb3VibGUgdGltZSk7CgogICAgICAgIFtkb21haW49SW5z
cGVjdG9yXSB2b2lkIGdldENvb2tpZXMob3V0IEFycmF5IGNvb2tpZXMsIG91dCBTdHJpbmcgY29v
a2llc1N0cmluZyk7CiAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgZGVsZXRlQ29va2ll
KGluIFN0cmluZyBjb29raWVOYW1lLCBpbiBTdHJpbmcgZG9tYWluKTsKCiNpZiBkZWZpbmVkKEVO
QUJMRV9EQVRBQkFTRSkgJiYgRU5BQkxFX0RBVEFCQVNFCiAgICAgICAgW25vdGlmeSwgZG9tYWlu
PVJlc291cmNlc10gdm9pZCBhZGREYXRhYmFzZShvdXQgT2JqZWN0IGRhdGFiYXNlKTsKICAgICAg
ICBbbm90aWZ5LCBkb21haW49UmVzb3VyY2VzXSB2b2lkIHNlbGVjdERhdGFiYXNlKG91dCBpbnQg
ZGF0YWJhc2VJZCk7CiAgICAgICAgW2RvbWFpbj1CYWNrZW5kXSB2b2lkIGdldERhdGFiYXNlVGFi
bGVOYW1lcyhpbiBsb25nIGRhdGFiYXNlSWQsIG91dCBBcnJheSB0YWJsZU5hbWVzKTsKICAgICAg
ICBbZG9tYWluPUJhY2tlbmRdIHZvaWQgZXhlY3V0ZVNRTChpbiBsb25nIGRhdGFiYXNlSWQsIGlu
IFN0cmluZyBxdWVyeSwgb3V0IGJvb2xlYW4gc3VjY2Vzcywgb3V0IGxvbmcgdHJhbnNhY3Rpb25J
ZCk7CiAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBzcWxUcmFuc2FjdGlv
blN1Y2NlZWRlZChvdXQgbG9uZyB0cmFuc2FjdGlvbklkLCBvdXQgVmFsdWUgY29sdW1uTmFtZXMs
IG91dCBWYWx1ZSB2YWx1ZXMpOwogICAgICAgIFtub3RpZnksIGRvbWFpbj1SZXNvdXJjZXNdIHZv
aWQgc3FsVHJhbnNhY3Rpb25GYWlsZWQob3V0IGxvbmcgdHJhbnNhY3Rpb25JZCwgb3V0IFZhbHVl
IHNxbEVycm9yKTsKI2VuZGlmCiNpZiBkZWZpbmVkKEVOQUJMRV9ET01fU1RPUkFHRSkgJiYgRU5B
QkxFX0RPTV9TVE9SQUdFCiAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgZ2V0RE9NU3Rv
cmFnZUVudHJpZXMoaW4gbG9uZyBzdG9yYWdlSWQsIG91dCBBcnJheSBlbnRyaWVzKTsKICAgICAg
ICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBzZXRET01TdG9yYWdlSXRlbShpbiBsb25nIHN0b3Jh
Z2VJZCwgaW4gU3RyaW5nIGtleSwgaW4gU3RyaW5nIHZhbHVlLCBvdXQgYm9vbGVhbiBzdWNjZXNz
KTsKICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCByZW1vdmVET01TdG9yYWdlSXRlbShp
biBsb25nIHN0b3JhZ2VJZCwgaW4gU3RyaW5nIGtleSwgb3V0IGJvb2xlYW4gc3VjY2Vzcyk7CiAg
ICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBhZGRET01TdG9yYWdlKG91dCBP
YmplY3Qgc3RvcmFnZSk7CiAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCB1
cGRhdGVET01TdG9yYWdlKG91dCBpbnQgc3RvcmFnZUlkKTsKICAgICAgICBbbm90aWZ5LCBkb21h
aW49UmVzb3VyY2VzXSB2b2lkIHNlbGVjdERPTVN0b3JhZ2Uob3V0IGludCBzdG9yYWdlSWQpOwoj
ZW5kaWYKI2lmIGRlZmluZWQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJiYgRU5B
QkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUwogICAgICAgIFtub3RpZnksIGRvbWFpbj1SZXNv
dXJjZXNdIHZvaWQgdXBkYXRlQXBwbGljYXRpb25DYWNoZVN0YXR1cyhvdXQgaW50IHN0YXR1cyk7
CiAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCB1cGRhdGVOZXR3b3JrU3Rh
dGUob3V0IGJvb2xlYW4gaXNOb3dPbmxpbmUpOwojZW5kaWYKI2lmIGRlZmluZWQoRU5BQkxFX09G
RkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJiYgRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9O
UwogICAgICAgIFtkb21haW49QXBwbGljYXRpb25DYWNoZV0gdm9pZCBnZXRBcHBsaWNhdGlvbkNh
Y2hlcyhvdXQgVmFsdWUgYXBwbGljYXRpb25DYWNoZXMpOwojZW5kaWYKI2lmIGRlZmluZWQoRU5B
QkxFX0ZJTEVfU1lTVEVNKSAmJiBFTkFCTEVfRklMRV9TWVNURU0KICAgICAgICBbZG9tYWluPUZp
bGVTeXN0ZW1dIHZvaWQgZ2V0RmlsZVN5c3RlbVBhdGhBc3luYyhpbiB1bnNpZ25lZCBpbnQgdHlw
ZSwgaW4gU3RyaW5nIG9yaWdpbik7CiAgICAgICAgW2RvbWFpbj1GaWxlU3lzdGVtXSB2b2lkIHJl
dmVhbEZvbGRlckluT1MoaW4gU3RyaW5nIHBhdGgpOwogICAgICAgIFtub3RpZnksIGRvbWFpbj1S
ZXNvdXJjZXNdIHZvaWQgZGlkR2V0RmlsZVN5c3RlbVBhdGgob3V0IFN0cmluZyByb290LCBvdXQg
aW50IHR5cGUsIG91dCBTdHJpbmcgb3JpZ2luKTsKICAgICAgICBbbm90aWZ5LCBkb21haW49UmVz
b3VyY2VzXSB2b2lkIGRpZEdldEZpbGVTeXN0ZW1FcnJvcihvdXQgaW50IHR5cGUsIG91dCBTdHJp
bmcgb3JpZ2luKTsKICAgICAgICBbbm90aWZ5LCBkb21haW49UmVzb3VyY2VzXSB2b2lkIGRpZEdl
dEZpbGVTeXN0ZW1EaXNhYmxlZCgpOwojZW5kaWYKCiAgICAgICAgLy8gRE9NIEFQSQogICAgICAg
IFtkb21haW49RE9NXSB2b2lkIGdldENoaWxkTm9kZXMoaW4gbG9uZyBub2RlSWQpOwogICAgICAg
IFtkb21haW49RE9NXSB2b2lkIHNldEF0dHJpYnV0ZShpbiBsb25nIGVsZW1lbnRJZCwgaW4gU3Ry
aW5nIG5hbWUsIGluIFN0cmluZyB2YWx1ZSwgb3V0IGJvb2xlYW4gc3VjY2Vzcyk7CiAgICAgICAg
W2RvbWFpbj1ET01dIHZvaWQgcmVtb3ZlQXR0cmlidXRlKGluIGxvbmcgZWxlbWVudElkLCBpbiBT
dHJpbmcgbmFtZSwgb3V0IGJvb2xlYW4gc3VjY2Vzcyk7CiAgICAgICAgW2RvbWFpbj1ET01dIHZv
aWQgc2V0VGV4dE5vZGVWYWx1ZShpbiBsb25nIG5vZGVJZCwgaW4gU3RyaW5nIHZhbHVlLCBvdXQg
Ym9vbGVhbiBzdWNjZXNzKTsKICAgICAgICBbZG9tYWluPURPTV0gdm9pZCBnZXRFdmVudExpc3Rl
bmVyc0Zvck5vZGUoaW4gbG9uZyBub2RlSWQsIG91dCBsb25nIG91dE5vZGVJZCwgb3V0IEFycmF5
IGxpc3RlbmVyc0FycmF5KTsKICAgICAgICBbZG9tYWluPURPTV0gdm9pZCBjb3B5Tm9kZShpbiBs
b25nIG5vZGVJZCk7CiAgICAgICAgW2RvbWFpbj1ET01dIHZvaWQgcmVtb3ZlTm9kZShpbiBsb25n
IG5vZGVJZCwgb3V0IGxvbmcgb3V0Tm9kZUlkKTsKICAgICAgICBbZG9tYWluPURPTV0gdm9pZCBj
aGFuZ2VUYWdOYW1lKGluIGxvbmcgbm9kZUlkLCBpbiBTdHJpbmcgbmV3VGFnTmFtZSwgb3V0IGxv
bmcgb3V0Tm9kZUlkKTsKICAgICAgICBbZG9tYWluPURPTV0gdm9pZCBnZXRPdXRlckhUTUwoaW4g
bG9uZyBub2RlSWQsIG91dCBTdHJpbmcgb3V0ZXJIVE1MKTsKICAgICAgICBbZG9tYWluPURPTV0g
dm9pZCBzZXRPdXRlckhUTUwoaW4gbG9uZyBub2RlSWQsIGluIFN0cmluZyBvdXRlckhUTUwsIG91
dCBsb25nIG91dE5vZGVJZCk7CiAgICAgICAgW2RvbWFpbj1ET01dIHZvaWQgYWRkSW5zcGVjdGVk
Tm9kZShpbiBsb25nIG5vZGVJZCk7CiAgICAgICAgW2RvbWFpbj1ET01dIHZvaWQgcGVyZm9ybVNl
YXJjaChpbiBTdHJpbmcgcXVlcnksIGluIGJvb2xlYW4gcnVuU3luY2hyb25vdXNseSk7CiAgICAg
ICAgW2RvbWFpbj1ET01dIHZvaWQgc2VhcmNoQ2FuY2VsZWQoKTsKICAgICAgICBbZG9tYWluPURP
TV0gdm9pZCBwdXNoTm9kZUJ5UGF0aFRvRnJvbnRlbmQoaW4gU3RyaW5nIHBhdGgsIG91dCBsb25n
IG5vZGVJZCk7CiAgICAgICAgW25vdGlmeSwgZG9tYWluPUluc3BlY3Rvcl0gdm9pZCB1cGRhdGVG
b2N1c2VkTm9kZShvdXQgbG9uZyBub2RlSWQpOwogICAgICAgIFtub3RpZnksIGRvbWFpbj1ET01d
IHZvaWQgYXR0cmlidXRlc1VwZGF0ZWQob3V0IGxvbmcgaWQsIG91dCBBcnJheSBhdHRyaWJ1dGVz
KTsKICAgICAgICBbbm90aWZ5LCBkb21haW49RE9NXSB2b2lkIGNoYXJhY3RlckRhdGFNb2RpZmll
ZChvdXQgbG9uZyBpZCwgb3V0IFN0cmluZyBuZXdWYWx1ZSk7CiAgICAgICAgW25vdGlmeSwgZG9t
YWluPURPTV0gdm9pZCBzZXREb2N1bWVudChvdXQgVmFsdWUgcm9vdCk7CiAgICAgICAgW25vdGlm
eSwgZG9tYWluPURPTV0gdm9pZCBzZXRDaGlsZE5vZGVzKG91dCBsb25nIHBhcmVudElkLCBvdXQg
QXJyYXkgbm9kZXMpOwogICAgICAgIFtub3RpZnksIGRvbWFpbj1ET01dIHZvaWQgc2V0RGV0YWNo
ZWRSb290KG91dCBPYmplY3Qgcm9vdCk7CiAgICAgICAgW25vdGlmeSwgZG9tYWluPURPTV0gdm9p
ZCBjaGlsZE5vZGVDb3VudFVwZGF0ZWQob3V0IGxvbmcgaWQsIG91dCBpbnQgbmV3VmFsdWUpOwog
ICAgICAgIFtub3RpZnksIGRvbWFpbj1ET01dIHZvaWQgY2hpbGROb2RlSW5zZXJ0ZWQob3V0IGxv
bmcgcGFyZW50SWQsIG91dCBsb25nIHByZXZJZCwgb3V0IE9iamVjdCBub2RlKTsKICAgICAgICBb
bm90aWZ5LCBkb21haW49RE9NXSB2b2lkIGNoaWxkTm9kZVJlbW92ZWQob3V0IGxvbmcgcGFyZW50
SWQsIG91dCBsb25nIGlkKTsKICAgICAgICBbbm90aWZ5LCBkb21haW49RE9NXSB2b2lkIGRpZENv
bW1pdExvYWQoKTsKCiAgICAgICAgLy8gQ1NTIEFQSQogICAgICAgIFtkb21haW49Q1NTXSB2b2lk
IGdldFN0eWxlc0Zvck5vZGUyKGluIGxvbmcgbm9kZUlkLCBvdXQgVmFsdWUgc3R5bGVzKTsKICAg
ICAgICBbZG9tYWluPUNTU10gdm9pZCBnZXRDb21wdXRlZFN0eWxlRm9yTm9kZTIoaW4gbG9uZyBu
b2RlSWQsIG91dCBWYWx1ZSBzdHlsZSk7CiAgICAgICAgW2RvbWFpbj1DU1NdIHZvaWQgZ2V0SW5s
aW5lU3R5bGVGb3JOb2RlMihpbiBsb25nIG5vZGVJZCwgb3V0IFZhbHVlIHN0eWxlKTsKICAgICAg
ICBbZG9tYWluPUNTU10gdm9pZCBnZXRBbGxTdHlsZXMyKG91dCBBcnJheSBzdHlsZVNoZWV0SWRz
KTsKICAgICAgICBbZG9tYWluPUNTU10gdm9pZCBnZXRTdHlsZVNoZWV0MihpbiBTdHJpbmcgc3R5
bGVTaGVldElkLCBvdXQgVmFsdWUgc3R5bGVTaGVldCk7CiAgICAgICAgW2RvbWFpbj1DU1NdIHZv
aWQgZ2V0U3R5bGVTaGVldFRleHQyKGluIFN0cmluZyBzdHlsZVNoZWV0SWQsIG91dCBTdHJpbmcg
dXJsLCBvdXQgU3RyaW5nIHRleHQpOwogICAgICAgIFtkb21haW49Q1NTXSB2b2lkIHNldFN0eWxl
U2hlZXRUZXh0MihpbiBTdHJpbmcgc3R5bGVTaGVldElkLCBpbiBTdHJpbmcgdGV4dCwgb3V0IGJv
b2xlYW4gc3VjY2Vzcyk7CiAgICAgICAgW2RvbWFpbj1DU1NdIHZvaWQgc2V0UHJvcGVydHlUZXh0
MihpbiBPYmplY3Qgc3R5bGVJZCwgaW4gbG9uZyBwcm9wZXJ0eUluZGV4LCBpbiBTdHJpbmcgdGV4
dCwgaW4gYm9vbGVhbiBvdmVyd3JpdGUsIG91dCBWYWx1ZSBzdHlsZSk7CiAgICAgICAgW2RvbWFp
bj1DU1NdIHZvaWQgdG9nZ2xlUHJvcGVydHkyKGluIE9iamVjdCBzdHlsZUlkLCBpbiBsb25nIHBy
b3BlcnR5SW5kZXgsIGluIGJvb2xlYW4gZGlzYWJsZSwgb3V0IFZhbHVlIHN0eWxlKTsKICAgICAg
ICBbZG9tYWluPUNTU10gdm9pZCBzZXRSdWxlU2VsZWN0b3IyKGluIE9iamVjdCBydWxlSWQsIGlu
IFN0cmluZyBzZWxlY3Rvciwgb3V0IFZhbHVlIHJ1bGUpOwogICAgICAgIFtkb21haW49Q1NTXSB2
b2lkIGFkZFJ1bGUyKGluIGxvbmcgY29udGV4dE5vZGVJZCwgaW4gU3RyaW5nIHNlbGVjdG9yLCBv
dXQgVmFsdWUgcnVsZSk7CiAgICAgICAgW2RvbWFpbj1DU1NdIHZvaWQgZ2V0U3VwcG9ydGVkQ1NT
UHJvcGVydGllcyhvdXQgQXJyYXkgY3NzUHJvcGVydGllcyk7CiAgICAgICAgW2RvbWFpbj1DU1Nd
IHZvaWQgcXVlcnlTZWxlY3RvckFsbChpbiBsb25nIGRvY3VtZW50SWQsIGluIFN0cmluZyBzZWxl
Y3Rvciwgb3V0IEFycmF5IHJlc3VsdCk7CgogICAgICAgIC8vIFRpbWVsaW5lIEFQSQogICAgICAg
IFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHN0YXJ0VGltZWxpbmVQcm9maWxlcigpOwogICAgICAg
IFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHN0b3BUaW1lbGluZVByb2ZpbGVyKCk7CiAgICAgICAg
W25vdGlmeSwgZG9tYWluPVRpbWVsaW5lXSB2b2lkIGFkZFJlY29yZFRvVGltZWxpbmUob3V0IE9i
amVjdCByZWNvcmQpOwogICAgICAgIFtub3RpZnksIGRvbWFpbj1UaW1lbGluZV0gdm9pZCB0aW1l
bGluZVByb2ZpbGVyV2FzU3RhcnRlZCgpOwogICAgICAgIFtub3RpZnksIGRvbWFpbj1UaW1lbGlu
ZV0gdm9pZCB0aW1lbGluZVByb2ZpbGVyV2FzU3RvcHBlZCgpOwoKI2lmIGRlZmluZWQoRU5BQkxF
X0pBVkFTQ1JJUFRfREVCVUdHRVIpICYmIEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSCiAgICAg
ICAgLy8gUHJvZmlsZXIgQVBJCiAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgZW5hYmxl
UHJvZmlsZXIoaW4gYm9vbGVhbiBhbHdheXMpOwogICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2
b2lkIGRpc2FibGVQcm9maWxlcihpbiBib29sZWFuIGFsd2F5cyk7CiAgICAgICAgW25vdGlmeSwg
ZG9tYWluPVByb2ZpbGVyXSB2b2lkIHByb2ZpbGVyV2FzRW5hYmxlZCgpOwogICAgICAgIFtub3Rp
ZnksIGRvbWFpbj1Qcm9maWxlcl0gdm9pZCBwcm9maWxlcldhc0Rpc2FibGVkKCk7CiAgICAgICAg
W2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgc3RhcnRQcm9maWxpbmcoKTsKICAgICAgICBbZG9tYWlu
PUluc3BlY3Rvcl0gdm9pZCBzdG9wUHJvZmlsaW5nKCk7CiAgICAgICAgW2RvbWFpbj1Qcm9maWxl
cl0gdm9pZCBnZXRQcm9maWxlSGVhZGVycyhvdXQgQXJyYXkgaGVhZGVycyk7CiAgICAgICAgW2Rv
bWFpbj1Qcm9maWxlcl0gdm9pZCBnZXRQcm9maWxlKGluIFN0cmluZyB0eXBlLCBpbiB1bnNpZ25l
ZCBsb25nIHVpZCwgb3V0IE9iamVjdCBwcm9maWxlKTsKICAgICAgICBbZG9tYWluPVByb2ZpbGVy
XSB2b2lkIHJlbW92ZVByb2ZpbGUoaW4gU3RyaW5nIHR5cGUsIGluIHVuc2lnbmVkIGxvbmcgdWlk
KTsKICAgICAgICBbZG9tYWluPVByb2ZpbGVyXSB2b2lkIGNsZWFyUHJvZmlsZXMoKTsKICAgICAg
ICBbZG9tYWluPVByb2ZpbGVyXSB2b2lkIHRha2VIZWFwU25hcHNob3QoKTsKICAgICAgICBbbm90
aWZ5LCBkb21haW49UHJvZmlsZXJdIHZvaWQgYWRkUHJvZmlsZUhlYWRlcihvdXQgT2JqZWN0IGhl
YWRlcik7CiAgICAgICAgW25vdGlmeSwgZG9tYWluPVByb2ZpbGVyXSB2b2lkIGFkZEhlYXBTbmFw
c2hvdENodW5rKG91dCB1bnNpZ25lZCBsb25nIHVpZCwgb3V0IFN0cmluZyBjaHVuayk7CiAgICAg
ICAgW25vdGlmeSwgZG9tYWluPVByb2ZpbGVyXSB2b2lkIGZpbmlzaEhlYXBTbmFwc2hvdChvdXQg
dW5zaWduZWQgbG9uZyB1aWQpOwogICAgICAgIFtub3RpZnksIGRvbWFpbj1Qcm9maWxlcl0gdm9p
ZCBzZXRSZWNvcmRpbmdQcm9maWxlKG91dCBib29sZWFuIGlzUHJvZmlsaW5nKTsKICAgICAgICBb
bm90aWZ5LCBkb21haW49UHJvZmlsZXJdIHZvaWQgcmVzZXRQcm9maWxlcygpOwoKICAgICAgICAv
LyBEZWJ1Z2dlciBBUEkKICAgICAgICBbZG9tYWluPUJhY2tlbmRdIHZvaWQgZW5hYmxlRGVidWdn
ZXIoaW4gYm9vbGVhbiBhbHdheXMpOwogICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIGRp
c2FibGVEZWJ1Z2dlcihpbiBib29sZWFuIGFsd2F5cyk7CiAgICAgICAgW25vdGlmeSwgZG9tYWlu
PURlYnVnZ2VyXSB2b2lkIGRlYnVnZ2VyV2FzRW5hYmxlZCgpOwogICAgICAgIFtub3RpZnksIGRv
bWFpbj1EZWJ1Z2dlcl0gdm9pZCBkZWJ1Z2dlcldhc0Rpc2FibGVkKCk7CgogICAgICAgIFtub3Rp
ZnksIGRvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBhdHRhY2hEZWJ1Z2dlcldoZW5TaG93bigpOwoKICAg
ICAgICBbbm90aWZ5LCBkb21haW49RGVidWdnZXJdIHZvaWQgZmFpbGVkVG9QYXJzZVNjcmlwdFNv
dXJjZShvdXQgU3RyaW5nIHVybCwgb3V0IFN0cmluZyBkYXRhLCBvdXQgaW50IGZpcnN0TGluZSwg
b3V0IGludCBlcnJvckxpbmUsIG91dCBTdHJpbmcgZXJyb3JNZXNzYWdlKTsKICAgICAgICBbbm90
aWZ5LCBkb21haW49RGVidWdnZXJdIHZvaWQgcGFyc2VkU2NyaXB0U291cmNlKG91dCBTdHJpbmcg
c291cmNlSUQsIG91dCBTdHJpbmcgdXJsLCBvdXQgU3RyaW5nIGRhdGEsIG91dCBpbnQgZmlyc3RM
aW5lLCBvdXQgaW50IHNjcmlwdFdvcmxkVHlwZSk7CiAgICAgICAgW25vdGlmeSwgZG9tYWluPURl
YnVnZ2VyXSB2b2lkIHBhdXNlZFNjcmlwdChvdXQgT2JqZWN0IGRldGFpbHMpOwogICAgICAgIFtu
b3RpZnksIGRvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBicmVha3BvaW50UmVzdG9yZWQob3V0IFN0cmlu
ZyBzb3VyY2VJRCwgb3V0IFN0cmluZyB1cmwsIG91dCBpbnQgbGluZSwgb3V0IGJvb2xlYW4gZW5h
YmxlZCwgb3V0IFN0cmluZyBjb25kaXRpb24pOwogICAgICAgIFtub3RpZnksIGRvbWFpbj1EZWJ1
Z2dlcl0gdm9pZCByZXN1bWVkU2NyaXB0KCk7CgogICAgICAgIFtkb21haW49RGVidWdnZXJdIHZv
aWQgYWN0aXZhdGVCcmVha3BvaW50cygpOwogICAgICAgIFtkb21haW49RGVidWdnZXJdIHZvaWQg
ZGVhY3RpdmF0ZUJyZWFrcG9pbnRzKCk7CgogICAgICAgIFtkb21haW49RGVidWdnZXJdIHZvaWQg
c2V0QnJlYWtwb2ludChpbiBTdHJpbmcgc291cmNlSUQsIGluIHVuc2lnbmVkIGludCBsaW5lTnVt
YmVyLCBpbiBib29sZWFuIGVuYWJsZWQsIGluIFN0cmluZyBjb25kaXRpb24sIG91dCBib29sZWFu
IHN1Y2Nlc3MsIG91dCB1bnNpZ25lZCBpbnQgYWN0dWFsTGluZU51bWJlcik7CiAgICAgICAgW2Rv
bWFpbj1EZWJ1Z2dlcl0gdm9pZCByZW1vdmVCcmVha3BvaW50KGluIFN0cmluZyBzb3VyY2VJRCwg
aW4gdW5zaWduZWQgbG9uZyBsaW5lTnVtYmVyKTsKICAgICAgICBbZG9tYWluPURPTV0gdm9pZCBz
ZXRET01CcmVha3BvaW50KGluIGxvbmcgbm9kZUlkLCBpbiBsb25nIHR5cGUpOwogICAgICAgIFtk
b21haW49RE9NXSB2b2lkIHJlbW92ZURPTUJyZWFrcG9pbnQoaW4gbG9uZyBub2RlSWQsIGluIGxv
bmcgdHlwZSk7CiAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgc2V0RXZlbnRMaXN0ZW5l
ckJyZWFrcG9pbnQoaW4gU3RyaW5nIGV2ZW50TmFtZSk7CiAgICAgICAgW2RvbWFpbj1JbnNwZWN0
b3JdIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQoaW4gU3RyaW5nIGV2ZW50TmFt
ZSk7CiAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgc2V0WEhSQnJlYWtwb2ludChpbiBT
dHJpbmcgdXJsKTsKICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCByZW1vdmVYSFJCcmVh
a3BvaW50KGluIFN0cmluZyB1cmwpOwoKICAgICAgICBbZG9tYWluPURlYnVnZ2VyXSB2b2lkIHBh
dXNlKCk7CiAgICAgICAgW2RvbWFpbj1EZWJ1Z2dlcl0gdm9pZCByZXN1bWUoKTsKCiAgICAgICAg
W2RvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBzdGVwT3ZlclN0YXRlbWVudCgpOwogICAgICAgIFtkb21h
aW49RGVidWdnZXJdIHZvaWQgc3RlcEludG9TdGF0ZW1lbnQoKTsKICAgICAgICBbZG9tYWluPURl
YnVnZ2VyXSB2b2lkIHN0ZXBPdXRPZkZ1bmN0aW9uKCk7CgogICAgICAgIFtkb21haW49RGVidWdn
ZXJdIHZvaWQgc2V0UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZShpbiBsb25nIHBhdXNlT25FeGNlcHRp
b25zU3RhdGUsIG91dCBsb25nIG5ld1N0YXRlKTsKCiAgICAgICAgW2RvbWFpbj1EZWJ1Z2dlcl0g
dm9pZCBlZGl0U2NyaXB0U291cmNlKGluIFN0cmluZyBzb3VyY2VJRCwgaW4gU3RyaW5nIG5ld0Nv
bnRlbnQsIG91dCBib29sZWFuIHN1Y2Nlc3MsIG91dCBTdHJpbmcgcmVzdWx0LCBvdXQgVmFsdWUg
bmV3Q2FsbEZyYW1lcyk7CiAgICAgICAgW2RvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBnZXRTY3JpcHRT
b3VyY2UoaW4gU3RyaW5nIHNvdXJjZUlELCBvdXQgU3RyaW5nIHNjcmlwdFNvdXJjZSk7CgojaWYg
ZGVmaW5lZChFTkFCTEVfV09SS0VSUykgJiYgRU5BQkxFX1dPUktFUlMKICAgICAgICBbbm90aWZ5
LCBkb21haW49RGVidWdnZXJdIHZvaWQgZGlkQ3JlYXRlV29ya2VyKG91dCBsb25nIGlkLCBvdXQg
U3RyaW5nIHVybCwgb3V0IGJvb2xlYW4gaXNTaGFyZWQpOwogICAgICAgIFtub3RpZnksIGRvbWFp
bj1EZWJ1Z2dlcl0gdm9pZCBkaWREZXN0cm95V29ya2VyKG91dCBsb25nIGlkKTsKI2VuZGlmIC8v
IEVOQUJMRV9XT1JLRVJTCgojZW5kaWYgLy8gRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIKICAg
IH07Cn0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76529</attachid>
            <date>2010-12-14 06:18:46 -0800</date>
            <delta_ts>2010-12-14 09:30:27 -0800</delta_ts>
            <desc>[patch] extended version with comments</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>26073</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OGI5NDhkMS4uNDNjN2MwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0xMi0xNCAgSWx5YSBUaWtob25v
dnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogcmVncm91cCBJbnNwZWN0b3IuaWRs
IGVudHJpZXMuCisgICAgICAgIEp1c3QgZm9yIGJldHRlciB2aXNpYmlsaXR5LgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTAyNQorCisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvci5pZGw6CisKIDIwMTAtMTItMTMgIEFudG9uaW8gR29tZXMg
IDxhZ29tZXNAcmltLmNvbT4KIAogICAgICAgICBSdWJiZXIgc3RhbXBlZCBieSBEYW5pZWwgQmF0
ZXMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuaWRsIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmlkbAppbmRleCBjMjEzNzdhLi45NjJlYWNhIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuaWRsCisrKyBiL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvci5pZGwKQEAgLTEsNyArMSw2IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAo
QykgMjAwOCBNYXR0IExpbGVrIDx3ZWJraXRAbWF0dGxpbGVrLmNvbT4KLSAqIENvcHlyaWdodCAo
QykgMjAwOSwgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzIsODAgKzMxLDU4IEBACiAKIG1vZHVsZSBjb3Jl
IHsKICAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPUlOU1BFQ1RPUl0gSW5zcGVjdG9yIHsKLSAg
ICAgICAgW25vdGlmeSwgZG9tYWluPVRpbWVsaW5lXSB2b2lkIGFkZFJlY29yZFRvVGltZWxpbmUo
b3V0IE9iamVjdCByZWNvcmQpOworCisgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAgIC8v
IGdlbmVyaWMgSW5zcGVjdG9yJ3MgbWV0aG9kcworICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworCisg
ICAgICAgIFtkb21haW49QmFja2VuZF0gdm9pZCBzZXRJbmplY3RlZFNjcmlwdFNvdXJjZShpbiBT
dHJpbmcgc2NyaXB0U291cmNlKTsKKyAgICAgICAgLy8gSFVHRSBGSVhNRTogd2UgbmVlZCB0byBl
eHBvc2UgSW5qZWN0ZWRTY3JpcHQgbWV0aG9kcyBoZXJlLiBPciBkb2N1bWVudCBJbmplY3RlZFNj
cmlwdCBjYXBhYmlsaXRpZXMuCisgICAgICAgIFtkb21haW49QmFja2VuZF0gdm9pZCBkaXNwYXRj
aE9uSW5qZWN0ZWRTY3JpcHQoaW4gbG9uZyBpbmplY3RlZFNjcmlwdElkLCBpbiBTdHJpbmcgbWV0
aG9kTmFtZSwgaW4gU3RyaW5nIGFyZ3VtZW50cywgb3V0IFZhbHVlIHJlc3VsdCwgb3V0IGJvb2xl
YW4gaXNFeGNlcHRpb24pOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBhZGRTY3Jp
cHRUb0V2YWx1YXRlT25Mb2FkKGluIFN0cmluZyBzY3JpcHRTb3VyY2UpOworICAgICAgICBbZG9t
YWluPUluc3BlY3Rvcl0gdm9pZCByZW1vdmVBbGxTY3JpcHRzVG9FdmFsdWF0ZU9uTG9hZCgpOwor
ICAgICAgICBbZG9tYWluPUJhY2tlbmRdIHZvaWQgcmVsZWFzZVdyYXBwZXJPYmplY3RHcm91cChp
biBsb25nIGluamVjdGVkU2NyaXB0SWQsIGluIFN0cmluZyBvYmplY3RHcm91cCk7CisgICAgICAg
IFtkb21haW49SW5zcGVjdG9yXSB2b2lkIGdldEluc3BlY3RvclN0YXRlKG91dCBPYmplY3Qgc3Rh
dGUpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBzZXRNb25pdG9yaW5nWEhSRW5h
YmxlZChpbiBib29sZWFuIGVuYWJsZSwgb3V0IGJvb2xlYW4gbmV3U3RhdGUpOworICAgICAgICBb
ZG9tYWluPUluc3BlY3Rvcl0gdm9pZCByZWxvYWRQYWdlKCk7CisgICAgICAgIFtkb21haW49SW5z
cGVjdG9yXSB2b2lkIHBvcHVsYXRlU2NyaXB0T2JqZWN0cygpOworCisgICAgICAgIFtkb21haW49
SW5zcGVjdG9yXSB2b2lkIG9wZW5Jbkluc3BlY3RlZFdpbmRvdyhpbiBTdHJpbmcgdXJsKTsKKyAg
ICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgc2V0U2VhcmNoaW5nRm9yTm9kZShpbiBib29s
ZWFuIGVuYWJsZWQsIG91dCBib29sZWFuIG5ld1N0YXRlKTsKICAgICAgICAgW25vdGlmeSwgZG9t
YWluPUluc3BlY3Rvcl0gdm9pZCBhZGROb2Rlc1RvU2VhcmNoUmVzdWx0KG91dCBBcnJheSBub2Rl
SWRzKTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPURPTV0gdm9pZCBhdHRyaWJ1dGVzVXBkYXRl
ZChvdXQgbG9uZyBpZCwgb3V0IEFycmF5IGF0dHJpYnV0ZXMpOwogICAgICAgICBbbm90aWZ5LCBk
b21haW49SW5zcGVjdG9yXSB2b2lkIGJyaW5nVG9Gcm9udCgpOwotICAgICAgICBbbm90aWZ5LCBk
b21haW49RE9NXSB2b2lkIGNoYXJhY3RlckRhdGFNb2RpZmllZChvdXQgbG9uZyBpZCwgb3V0IFN0
cmluZyBuZXdWYWx1ZSk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1ET01dIHZvaWQgY2hpbGRO
b2RlQ291bnRVcGRhdGVkKG91dCBsb25nIGlkLCBvdXQgaW50IG5ld1ZhbHVlKTsKLSAgICAgICAg
W25vdGlmeSwgZG9tYWluPURPTV0gdm9pZCBjaGlsZE5vZGVJbnNlcnRlZChvdXQgbG9uZyBwYXJl
bnRJZCwgb3V0IGxvbmcgcHJldklkLCBvdXQgT2JqZWN0IG5vZGUpOwotICAgICAgICBbbm90aWZ5
LCBkb21haW49RE9NXSB2b2lkIGNoaWxkTm9kZVJlbW92ZWQob3V0IGxvbmcgcGFyZW50SWQsIG91
dCBsb25nIGlkKTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPURPTV0gdm9pZCBkaWRDb21taXRM
b2FkKCk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1JbnNwZWN0b3JdIHZvaWQgZXZhbHVhdGVG
b3JUZXN0SW5Gcm9udGVuZChvdXQgbG9uZyB0ZXN0Q2FsbElkLCBvdXQgU3RyaW5nIHNjcmlwdCk7
CiAgICAgICAgIFtub3RpZnksIGRvbWFpbj1JbnNwZWN0b3JdIHZvaWQgZGlzY29ubmVjdEZyb21C
YWNrZW5kKCk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1JbnNwZWN0b3JdIHZvaWQgZG9tQ29u
dGVudEV2ZW50RmlyZWQob3V0IGRvdWJsZSB0aW1lKTsKICAgICAgICAgW25vdGlmeSwgZG9tYWlu
PUluc3BlY3Rvcl0gdm9pZCBpbnNwZWN0ZWRVUkxDaGFuZ2VkKG91dCBTdHJpbmcgdXJsKTsKKyAg
ICAgICAgW25vdGlmeSwgZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBkb21Db250ZW50RXZlbnRGaXJl
ZChvdXQgZG91YmxlIHRpbWUpOwogICAgICAgICBbbm90aWZ5LCBkb21haW49SW5zcGVjdG9yXSB2
b2lkIGxvYWRFdmVudEZpcmVkKG91dCBkb3VibGUgdGltZSk7CiAgICAgICAgIFtub3RpZnksIGRv
bWFpbj1JbnNwZWN0b3JdIHZvaWQgcmVzZXQoKTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPVBy
b2ZpbGVyXSB2b2lkIHJlc2V0UHJvZmlsZXMoKTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPURP
TV0gdm9pZCBzZXRDaGlsZE5vZGVzKG91dCBsb25nIHBhcmVudElkLCBvdXQgQXJyYXkgbm9kZXMp
OwotICAgICAgICBbbm90aWZ5LCBkb21haW49RE9NXSB2b2lkIHNldERldGFjaGVkUm9vdChvdXQg
T2JqZWN0IHJvb3QpOwotICAgICAgICBbbm90aWZ5LCBkb21haW49RE9NXSB2b2lkIHNldERvY3Vt
ZW50KG91dCBWYWx1ZSByb290KTsKICAgICAgICAgW25vdGlmeSwgZG9tYWluPUluc3BlY3Rvcl0g
dm9pZCBzaG93UGFuZWwob3V0IFN0cmluZyBwYW5lbCk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFp
bj1UaW1lbGluZV0gdm9pZCB0aW1lbGluZVByb2ZpbGVyV2FzU3RhcnRlZCgpOwotICAgICAgICBb
bm90aWZ5LCBkb21haW49VGltZWxpbmVdIHZvaWQgdGltZWxpbmVQcm9maWxlcldhc1N0b3BwZWQo
KTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPUluc3BlY3Rvcl0gdm9pZCB1cGRhdGVGb2N1c2Vk
Tm9kZShvdXQgbG9uZyBub2RlSWQpOwotCi0jaWYgZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9E
RUJVR0dFUikgJiYgRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIKLSAgICAgICAgW25vdGlmeSwg
ZG9tYWluPVByb2ZpbGVyXSB2b2lkIGFkZFByb2ZpbGVIZWFkZXIob3V0IE9iamVjdCBoZWFkZXIp
OwotICAgICAgICBbbm90aWZ5LCBkb21haW49UHJvZmlsZXJdIHZvaWQgYWRkSGVhcFNuYXBzaG90
Q2h1bmsob3V0IHVuc2lnbmVkIGxvbmcgdWlkLCBvdXQgU3RyaW5nIGNodW5rKTsKLSAgICAgICAg
W25vdGlmeSwgZG9tYWluPURlYnVnZ2VyXSB2b2lkIGF0dGFjaERlYnVnZ2VyV2hlblNob3duKCk7
Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBkZWJ1Z2dlcldhc0VuYWJs
ZWQoKTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPURlYnVnZ2VyXSB2b2lkIGRlYnVnZ2VyV2Fz
RGlzYWJsZWQoKTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPURlYnVnZ2VyXSB2b2lkIGZhaWxl
ZFRvUGFyc2VTY3JpcHRTb3VyY2Uob3V0IFN0cmluZyB1cmwsIG91dCBTdHJpbmcgZGF0YSwgb3V0
IGludCBmaXJzdExpbmUsIG91dCBpbnQgZXJyb3JMaW5lLCBvdXQgU3RyaW5nIGVycm9yTWVzc2Fn
ZSk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1Qcm9maWxlcl0gdm9pZCBmaW5pc2hIZWFwU25h
cHNob3Qob3V0IHVuc2lnbmVkIGxvbmcgdWlkKTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPURl
YnVnZ2VyXSB2b2lkIHBhcnNlZFNjcmlwdFNvdXJjZShvdXQgU3RyaW5nIHNvdXJjZUlELCBvdXQg
U3RyaW5nIHVybCwgb3V0IFN0cmluZyBkYXRhLCBvdXQgaW50IGZpcnN0TGluZSwgb3V0IGludCBz
Y3JpcHRXb3JsZFR5cGUpOwotICAgICAgICBbbm90aWZ5LCBkb21haW49RGVidWdnZXJdIHZvaWQg
cGF1c2VkU2NyaXB0KG91dCBPYmplY3QgZGV0YWlscyk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFp
bj1Qcm9maWxlcl0gdm9pZCBwcm9maWxlcldhc0VuYWJsZWQoKTsKLSAgICAgICAgW25vdGlmeSwg
ZG9tYWluPVByb2ZpbGVyXSB2b2lkIHByb2ZpbGVyV2FzRGlzYWJsZWQoKTsKLSAgICAgICAgW25v
dGlmeSwgZG9tYWluPURlYnVnZ2VyXSB2b2lkIGJyZWFrcG9pbnRSZXN0b3JlZChvdXQgU3RyaW5n
IHNvdXJjZUlELCBvdXQgU3RyaW5nIHVybCwgb3V0IGludCBsaW5lLCBvdXQgYm9vbGVhbiBlbmFi
bGVkLCBvdXQgU3RyaW5nIGNvbmRpdGlvbik7Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1EZWJ1
Z2dlcl0gdm9pZCByZXN1bWVkU2NyaXB0KCk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1Qcm9m
aWxlcl0gdm9pZCBzZXRSZWNvcmRpbmdQcm9maWxlKG91dCBib29sZWFuIGlzUHJvZmlsaW5nKTsK
LSNlbmRpZgotI2lmIGRlZmluZWQoRU5BQkxFX0RBVEFCQVNFKSAmJiBFTkFCTEVfREFUQUJBU0UK
LSAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBhZGREYXRhYmFzZShvdXQg
T2JqZWN0IGRhdGFiYXNlKTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9p
ZCBzZWxlY3REYXRhYmFzZShvdXQgaW50IGRhdGFiYXNlSWQpOwotI2VuZGlmCi0jaWYgZGVmaW5l
ZChFTkFCTEVfRE9NX1NUT1JBR0UpICYmIEVOQUJMRV9ET01fU1RPUkFHRQotICAgICAgICBbbm90
aWZ5LCBkb21haW49UmVzb3VyY2VzXSB2b2lkIGFkZERPTVN0b3JhZ2Uob3V0IE9iamVjdCBzdG9y
YWdlKTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCB1cGRhdGVET01T
dG9yYWdlKG91dCBpbnQgc3RvcmFnZUlkKTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291
cmNlc10gdm9pZCBzZWxlY3RET01TdG9yYWdlKG91dCBpbnQgc3RvcmFnZUlkKTsKLSNlbmRpZgot
I2lmIGRlZmluZWQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJiYgRU5BQkxFX09G
RkxJTkVfV0VCX0FQUExJQ0FUSU9OUwotICAgICAgICBbbm90aWZ5LCBkb21haW49UmVzb3VyY2Vz
XSB2b2lkIHVwZGF0ZUFwcGxpY2F0aW9uQ2FjaGVTdGF0dXMob3V0IGludCBzdGF0dXMpOwotICAg
ICAgICBbbm90aWZ5LCBkb21haW49UmVzb3VyY2VzXSB2b2lkIHVwZGF0ZU5ldHdvcmtTdGF0ZShv
dXQgYm9vbGVhbiBpc05vd09ubGluZSk7Ci0jZW5kaWYKLSNpZiBkZWZpbmVkKEVOQUJMRV9XT1JL
RVJTKSAmJiBFTkFCTEVfV09SS0VSUwotICAgICAgICBbbm90aWZ5LCBkb21haW49RGVidWdnZXJd
IHZvaWQgZGlkQ3JlYXRlV29ya2VyKG91dCBsb25nIGlkLCBvdXQgU3RyaW5nIHVybCwgb3V0IGJv
b2xlYW4gaXNTaGFyZWQpOwotICAgICAgICBbbm90aWZ5LCBkb21haW49RGVidWdnZXJdIHZvaWQg
ZGlkRGVzdHJveVdvcmtlcihvdXQgbG9uZyBpZCk7Ci0jZW5kaWYKLQotICAgICAgICAvLyBUaGlz
IG1ldGhvZCBpcyBnb2luZyB0byBiZSBicm9rZW4gZG93biBpbnRvIHNtYWxsZXIgcGFydHMuCi0g
ICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHBvcHVsYXRlU2NyaXB0T2JqZWN0cygpOwog
Ci0gICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIGdldEluc3BlY3RvclN0YXRlKG91dCBP
YmplY3Qgc3RhdGUpOworICAgICAgICBbbm90aWZ5LCBkb21haW49SW5zcGVjdG9yXSB2b2lkIGV2
YWx1YXRlRm9yVGVzdEluRnJvbnRlbmQob3V0IGxvbmcgdGVzdENhbGxJZCwgb3V0IFN0cmluZyBz
Y3JpcHQpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBkaWRFdmFsdWF0ZUZvclRl
c3RJbkZyb250ZW5kKGluIGxvbmcgdGVzdENhbGxJZCwgaW4gU3RyaW5nIGpzb25SZXN1bHQpOwog
Ci0gICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHNldFNlYXJjaGluZ0Zvck5vZGUoaW4g
Ym9vbGVhbiBlbmFibGVkLCBvdXQgYm9vbGVhbiBuZXdTdGF0ZSk7CisgICAgICAgIFtkb21haW49
SW5zcGVjdG9yXSB2b2lkIGhpZ2hsaWdodERPTU5vZGUoaW4gbG9uZyBub2RlSWQpOworICAgICAg
ICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBoaWRlRE9NTm9kZUhpZ2hsaWdodCgpOworICAgICAg
ICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBoaWdobGlnaHRGcmFtZShpbiB1bnNpZ25lZCBsb25n
IGZyYW1lSWQpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBoaWRlRnJhbWVIaWdo
bGlnaHQoKTsKKyAgICAgICAgW25vdGlmeSwgZG9tYWluPUluc3BlY3Rvcl0gdm9pZCB1cGRhdGVG
b2N1c2VkTm9kZShvdXQgbG9uZyBub2RlSWQpOwogCi0gICAgICAgIFtkb21haW49SW5zcGVjdG9y
XSB2b2lkIHNldE1vbml0b3JpbmdYSFJFbmFibGVkKGluIGJvb2xlYW4gZW5hYmxlLCBvdXQgYm9v
bGVhbiBuZXdTdGF0ZSk7CisgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAgIC8vIENvbnNv
bGUgQVBJCisgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAKLSAgICAgICAgW2RvbWFpbj1JbnNwZWN0
b3JdIHZvaWQgcmVsb2FkUGFnZSgpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBz
ZXRDb25zb2xlTWVzc2FnZXNFbmFibGVkKGluIGJvb2xlYW4gZW5hYmxlZCwgb3V0IGJvb2xlYW4g
bmV3U3RhdGUpOworICAgICAgICBbbm90aWZ5LCBkb21haW49SW5zcGVjdG9yXSB2b2lkIGFkZENv
bnNvbGVNZXNzYWdlKG91dCBPYmplY3QgbWVzc2FnZU9iaik7CisgICAgICAgIFtub3RpZnksIGRv
bWFpbj1JbnNwZWN0b3JdIHZvaWQgdXBkYXRlQ29uc29sZU1lc3NhZ2VFeHBpcmVkQ291bnQob3V0
IHVuc2lnbmVkIGxvbmcgY291bnQpOworICAgICAgICBbbm90aWZ5LCBkb21haW49SW5zcGVjdG9y
XSB2b2lkIHVwZGF0ZUNvbnNvbGVNZXNzYWdlUmVwZWF0Q291bnQob3V0IHVuc2lnbmVkIGxvbmcg
Y291bnQpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBjbGVhckNvbnNvbGVNZXNz
YWdlcygpOworICAgICAgICBbbm90aWZ5LCBkb21haW49SW5zcGVjdG9yXSB2b2lkIGNvbnNvbGVN
ZXNzYWdlc0NsZWFyZWQoKTsKIAotICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBzdGFy
dFRpbWVsaW5lUHJvZmlsZXIoKTsKLSAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgc3Rv
cFRpbWVsaW5lUHJvZmlsZXIoKTsKKyAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgICAgICAgLy8g
UmVzb3VyY2VzIEFQSQorICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogCi0gICAgICAgIFtkb21haW49
UmVzb3VyY2VzXSB2b2lkIGNhY2hlZFJlc291cmNlcyhvdXQgT2JqZWN0IHJlc291cmNlcyk7Ci0g
ICAgICAgIFtkb21haW49UmVzb3VyY2VzXSB2b2lkIHJlc291cmNlQ29udGVudChpbiB1bnNpZ25l
ZCBsb25nIGZyYW1lSWQsIGluIFN0cmluZyB1cmwsIGluIGJvb2xlYW4gYmFzZTY0RW5jb2RlLCBv
dXQgU3RyaW5nIGNvbnRlbnQpOworICAgICAgICAvLyBGSVhNRTogTmV0d29yayBkb21haW4KICAg
ICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBpZGVudGlmaWVyRm9ySW5pdGlh
bFJlcXVlc3Qob3V0IGxvbmcgaWRlbnRpZmllciwgb3V0IFN0cmluZyB1cmwsIG91dCBPYmplY3Qg
bG9hZGVyLCBvdXQgVmFsdWUgY2FsbFN0YWNrKTsKICAgICAgICAgW25vdGlmeSwgZG9tYWluPVJl
c291cmNlc10gdm9pZCB3aWxsU2VuZFJlcXVlc3Qob3V0IGxvbmcgaWRlbnRpZmllciwgb3V0IGRv
dWJsZSB0aW1lLCBvdXQgT2JqZWN0IHJlcXVlc3QsIG91dCBPYmplY3QgcmVkaXJlY3RSZXNwb25z
ZSk7CiAgICAgICAgIFtub3RpZnksIGRvbWFpbj1SZXNvdXJjZXNdIHZvaWQgbWFya1Jlc291cmNl
QXNDYWNoZWQob3V0IGxvbmcgaWRlbnRpZmllcik7CkBAIC0xMTcsNTggKzk0LDU1IEBAIG1vZHVs
ZSBjb3JlIHsKICAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBzZXRJbml0
aWFsQ29udGVudChvdXQgbG9uZyBpZGVudGlmaWVyLCBvdXQgU3RyaW5nIHNvdXJjZVN0cmluZywg
b3V0IFN0cmluZyB0eXBlKTsKICAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9p
ZCBkaWRDb21taXRMb2FkRm9yRnJhbWUob3V0IE9iamVjdCBmcmFtZSwgb3V0IE9iamVjdCBsb2Fk
ZXIpOwogICAgICAgICBbbm90aWZ5LCBkb21haW49UmVzb3VyY2VzXSB2b2lkIGZyYW1lRGV0YWNo
ZWRGcm9tUGFyZW50KG91dCB1bnNpZ25lZCBsb25nIGZyYW1lSWQpOworICAgICAgIAorICAgICAg
ICBbZG9tYWluPVJlc291cmNlc10gdm9pZCBjYWNoZWRSZXNvdXJjZXMob3V0IE9iamVjdCByZXNv
dXJjZXMpOworICAgICAgICBbZG9tYWluPVJlc291cmNlc10gdm9pZCByZXNvdXJjZUNvbnRlbnQo
aW4gdW5zaWduZWQgbG9uZyBmcmFtZUlkLCBpbiBTdHJpbmcgdXJsLCBpbiBib29sZWFuIGJhc2U2
NEVuY29kZSwgb3V0IFN0cmluZyBjb250ZW50KTsKIAogICAgICAgICBbbm90aWZ5LCBkb21haW49
UmVzb3VyY2VzXSB2b2lkIGRpZENyZWF0ZVdlYlNvY2tldChvdXQgdW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyLCBvdXQgU3RyaW5nIHJlcXVlc3RVUkwpOwogICAgICAgICBbbm90aWZ5LCBkb21haW49
UmVzb3VyY2VzXSB2b2lkIHdpbGxTZW5kV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdChvdXQgdW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyLCBvdXQgZG91YmxlIHRpbWUsIG91dCBPYmplY3QgcmVxdWVz
dCk7CiAgICAgICAgIFtub3RpZnksIGRvbWFpbj1SZXNvdXJjZXNdIHZvaWQgZGlkUmVjZWl2ZVdl
YlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlKG91dCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIG91
dCBkb3VibGUgdGltZSwgb3V0IE9iamVjdCByZXNwb25zZSk7CiAgICAgICAgIFtub3RpZnksIGRv
bWFpbj1SZXNvdXJjZXNdIHZvaWQgZGlkQ2xvc2VXZWJTb2NrZXQob3V0IHVuc2lnbmVkIGxvbmcg
aWRlbnRpZmllciwgb3V0IGRvdWJsZSB0aW1lKTsKIAotI2lmIGRlZmluZWQoRU5BQkxFX0pBVkFT
Q1JJUFRfREVCVUdHRVIpICYmIEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSCi0gICAgICAgIFtk
b21haW49QmFja2VuZF0gdm9pZCBlbmFibGVEZWJ1Z2dlcihpbiBib29sZWFuIGFsd2F5cyk7Ci0g
ICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIGRpc2FibGVEZWJ1Z2dlcihpbiBib29sZWFu
IGFsd2F5cyk7Ci0KLSAgICAgICAgW2RvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBzZXRCcmVha3BvaW50
KGluIFN0cmluZyBzb3VyY2VJRCwgaW4gdW5zaWduZWQgaW50IGxpbmVOdW1iZXIsIGluIGJvb2xl
YW4gZW5hYmxlZCwgaW4gU3RyaW5nIGNvbmRpdGlvbiwgb3V0IGJvb2xlYW4gc3VjY2Vzcywgb3V0
IHVuc2lnbmVkIGludCBhY3R1YWxMaW5lTnVtYmVyKTsKLSAgICAgICAgW2RvbWFpbj1EZWJ1Z2dl
cl0gdm9pZCByZW1vdmVCcmVha3BvaW50KGluIFN0cmluZyBzb3VyY2VJRCwgaW4gdW5zaWduZWQg
bG9uZyBsaW5lTnVtYmVyKTsKLSAgICAgICAgW2RvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBhY3RpdmF0
ZUJyZWFrcG9pbnRzKCk7Ci0gICAgICAgIFtkb21haW49RGVidWdnZXJdIHZvaWQgZGVhY3RpdmF0
ZUJyZWFrcG9pbnRzKCk7Ci0KLSAgICAgICAgW2RvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBwYXVzZSgp
OwotICAgICAgICBbZG9tYWluPURlYnVnZ2VyXSB2b2lkIHJlc3VtZSgpOwotCi0gICAgICAgIFtk
b21haW49RGVidWdnZXJdIHZvaWQgc3RlcE92ZXJTdGF0ZW1lbnQoKTsKLSAgICAgICAgW2RvbWFp
bj1EZWJ1Z2dlcl0gdm9pZCBzdGVwSW50b1N0YXRlbWVudCgpOwotICAgICAgICBbZG9tYWluPURl
YnVnZ2VyXSB2b2lkIHN0ZXBPdXRPZkZ1bmN0aW9uKCk7Ci0KLSAgICAgICAgW2RvbWFpbj1EZWJ1
Z2dlcl0gdm9pZCBzZXRQYXVzZU9uRXhjZXB0aW9uc1N0YXRlKGluIGxvbmcgcGF1c2VPbkV4Y2Vw
dGlvbnNTdGF0ZSwgb3V0IGxvbmcgbmV3U3RhdGUpOwotCi0gICAgICAgIFtkb21haW49RGVidWdn
ZXJdIHZvaWQgZWRpdFNjcmlwdFNvdXJjZShpbiBTdHJpbmcgc291cmNlSUQsIGluIFN0cmluZyBu
ZXdDb250ZW50LCBvdXQgYm9vbGVhbiBzdWNjZXNzLCBvdXQgU3RyaW5nIHJlc3VsdCwgb3V0IFZh
bHVlIG5ld0NhbGxGcmFtZXMpOwotICAgICAgICBbZG9tYWluPURlYnVnZ2VyXSB2b2lkIGdldFNj
cmlwdFNvdXJjZShpbiBTdHJpbmcgc291cmNlSUQsIG91dCBTdHJpbmcgc2NyaXB0U291cmNlKTsK
LQotICAgICAgICBbZG9tYWluPURPTV0gdm9pZCBzZXRET01CcmVha3BvaW50KGluIGxvbmcgbm9k
ZUlkLCBpbiBsb25nIHR5cGUpOwotICAgICAgICBbZG9tYWluPURPTV0gdm9pZCByZW1vdmVET01C
cmVha3BvaW50KGluIGxvbmcgbm9kZUlkLCBpbiBsb25nIHR5cGUpOwotICAgICAgICBbZG9tYWlu
PUluc3BlY3Rvcl0gdm9pZCBzZXRFdmVudExpc3RlbmVyQnJlYWtwb2ludChpbiBTdHJpbmcgZXZl
bnROYW1lKTsKLSAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgcmVtb3ZlRXZlbnRMaXN0
ZW5lckJyZWFrcG9pbnQoaW4gU3RyaW5nIGV2ZW50TmFtZSk7Ci0gICAgICAgIFtkb21haW49SW5z
cGVjdG9yXSB2b2lkIHNldFhIUkJyZWFrcG9pbnQoaW4gU3RyaW5nIHVybCk7Ci0gICAgICAgIFtk
b21haW49SW5zcGVjdG9yXSB2b2lkIHJlbW92ZVhIUkJyZWFrcG9pbnQoaW4gU3RyaW5nIHVybCk7
Ci0KLSAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgZW5hYmxlUHJvZmlsZXIoaW4gYm9v
bGVhbiBhbHdheXMpOwotICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBkaXNhYmxlUHJv
ZmlsZXIoaW4gYm9vbGVhbiBhbHdheXMpOwotCi0gICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2
b2lkIHN0YXJ0UHJvZmlsaW5nKCk7Ci0gICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHN0
b3BQcm9maWxpbmcoKTsKLQotICAgICAgICBbZG9tYWluPVByb2ZpbGVyXSB2b2lkIGdldFByb2Zp
bGVIZWFkZXJzKG91dCBBcnJheSBoZWFkZXJzKTsKLSAgICAgICAgW2RvbWFpbj1Qcm9maWxlcl0g
dm9pZCBnZXRQcm9maWxlKGluIFN0cmluZyB0eXBlLCBpbiB1bnNpZ25lZCBsb25nIHVpZCwgb3V0
IE9iamVjdCBwcm9maWxlKTsKLQotICAgICAgICBbZG9tYWluPVByb2ZpbGVyXSB2b2lkIHJlbW92
ZVByb2ZpbGUoaW4gU3RyaW5nIHR5cGUsIGluIHVuc2lnbmVkIGxvbmcgdWlkKTsKLSAgICAgICAg
W2RvbWFpbj1Qcm9maWxlcl0gdm9pZCBjbGVhclByb2ZpbGVzKCk7CisgICAgICAgIC8vIEZJWE1F
OiBJbnRyb2R1Y2UgbmV3IFN0b3JhZ2VEb21haW4uCisgICAgICAgIFtkb21haW49SW5zcGVjdG9y
XSB2b2lkIGdldENvb2tpZXMob3V0IEFycmF5IGNvb2tpZXMsIG91dCBTdHJpbmcgY29va2llc1N0
cmluZyk7CisgICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIGRlbGV0ZUNvb2tpZShpbiBT
dHJpbmcgY29va2llTmFtZSwgaW4gU3RyaW5nIGRvbWFpbik7CisjaWYgZGVmaW5lZChFTkFCTEVf
REFUQUJBU0UpICYmIEVOQUJMRV9EQVRBQkFTRQorICAgICAgICBbbm90aWZ5LCBkb21haW49UmVz
b3VyY2VzXSB2b2lkIGFkZERhdGFiYXNlKG91dCBPYmplY3QgZGF0YWJhc2UpOworICAgICAgICBb
bm90aWZ5LCBkb21haW49UmVzb3VyY2VzXSB2b2lkIHNlbGVjdERhdGFiYXNlKG91dCBpbnQgZGF0
YWJhc2VJZCk7CisgICAgICAgIFtkb21haW49QmFja2VuZF0gdm9pZCBnZXREYXRhYmFzZVRhYmxl
TmFtZXMoaW4gbG9uZyBkYXRhYmFzZUlkLCBvdXQgQXJyYXkgdGFibGVOYW1lcyk7CisgICAgICAg
IFtkb21haW49QmFja2VuZF0gdm9pZCBleGVjdXRlU1FMKGluIGxvbmcgZGF0YWJhc2VJZCwgaW4g
U3RyaW5nIHF1ZXJ5LCBvdXQgYm9vbGVhbiBzdWNjZXNzLCBvdXQgbG9uZyB0cmFuc2FjdGlvbklk
KTsKKyAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBzcWxUcmFuc2FjdGlv
blN1Y2NlZWRlZChvdXQgbG9uZyB0cmFuc2FjdGlvbklkLCBvdXQgVmFsdWUgY29sdW1uTmFtZXMs
IG91dCBWYWx1ZSB2YWx1ZXMpOworICAgICAgICBbbm90aWZ5LCBkb21haW49UmVzb3VyY2VzXSB2
b2lkIHNxbFRyYW5zYWN0aW9uRmFpbGVkKG91dCBsb25nIHRyYW5zYWN0aW9uSWQsIG91dCBWYWx1
ZSBzcWxFcnJvcik7CisjZW5kaWYKKyNpZiBkZWZpbmVkKEVOQUJMRV9ET01fU1RPUkFHRSkgJiYg
RU5BQkxFX0RPTV9TVE9SQUdFCisgICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIGdldERP
TVN0b3JhZ2VFbnRyaWVzKGluIGxvbmcgc3RvcmFnZUlkLCBvdXQgQXJyYXkgZW50cmllcyk7Cisg
ICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHNldERPTVN0b3JhZ2VJdGVtKGluIGxvbmcg
c3RvcmFnZUlkLCBpbiBTdHJpbmcga2V5LCBpbiBTdHJpbmcgdmFsdWUsIG91dCBib29sZWFuIHN1
Y2Nlc3MpOworICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCByZW1vdmVET01TdG9yYWdl
SXRlbShpbiBsb25nIHN0b3JhZ2VJZCwgaW4gU3RyaW5nIGtleSwgb3V0IGJvb2xlYW4gc3VjY2Vz
cyk7CisgICAgICAgIC8vIEZJWE1FOiBudWtlIHRoZXNlIGZyb20gcmVzb3VyY2UgbWFuYWdlciBh
c2FwLCBkaXNwYXRjaCBvbiBTdG9yYWdlRG9tYWluLgorICAgICAgICBbbm90aWZ5LCBkb21haW49
UmVzb3VyY2VzXSB2b2lkIGFkZERPTVN0b3JhZ2Uob3V0IE9iamVjdCBzdG9yYWdlKTsKKyAgICAg
ICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCB1cGRhdGVET01TdG9yYWdlKG91dCBp
bnQgc3RvcmFnZUlkKTsKKyAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBz
ZWxlY3RET01TdG9yYWdlKG91dCBpbnQgc3RvcmFnZUlkKTsKKyNlbmRpZgorI2lmIGRlZmluZWQo
RU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJiYgRU5BQkxFX09GRkxJTkVfV0VCX0FQ
UExJQ0FUSU9OUworICAgICAgICBbbm90aWZ5LCBkb21haW49UmVzb3VyY2VzXSB2b2lkIHVwZGF0
ZUFwcGxpY2F0aW9uQ2FjaGVTdGF0dXMob3V0IGludCBzdGF0dXMpOworICAgICAgICBbbm90aWZ5
LCBkb21haW49UmVzb3VyY2VzXSB2b2lkIHVwZGF0ZU5ldHdvcmtTdGF0ZShvdXQgYm9vbGVhbiBp
c05vd09ubGluZSk7CisjZW5kaWYKKyNpZiBkZWZpbmVkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBM
SUNBVElPTlMpICYmIEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMKKyAgICAgICAgW2Rv
bWFpbj1BcHBsaWNhdGlvbkNhY2hlXSB2b2lkIGdldEFwcGxpY2F0aW9uQ2FjaGVzKG91dCBWYWx1
ZSBhcHBsaWNhdGlvbkNhY2hlcyk7CisjZW5kaWYKKyNpZiBkZWZpbmVkKEVOQUJMRV9GSUxFX1NZ
U1RFTSkgJiYgRU5BQkxFX0ZJTEVfU1lTVEVNCisgICAgICAgIFtkb21haW49RmlsZVN5c3RlbV0g
dm9pZCBnZXRGaWxlU3lzdGVtUGF0aEFzeW5jKGluIHVuc2lnbmVkIGludCB0eXBlLCBpbiBTdHJp
bmcgb3JpZ2luKTsKKyAgICAgICAgW2RvbWFpbj1GaWxlU3lzdGVtXSB2b2lkIHJldmVhbEZvbGRl
ckluT1MoaW4gU3RyaW5nIHBhdGgpOwogCi0gICAgICAgIFtkb21haW49UHJvZmlsZXJdIHZvaWQg
dGFrZUhlYXBTbmFwc2hvdCgpOworICAgICAgICAvLyBGSVhNRTogbnVrZSB0aGVzZSBmcm9tIHJl
c291cmNlIG1hbmFnZXIgYXNhcCwgZGlzcGF0Y2ggb24gRmlsZVN5c3RlbS4KKyAgICAgICAgW25v
dGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBkaWRHZXRGaWxlU3lzdGVtUGF0aChvdXQgU3Ry
aW5nIHJvb3QsIG91dCBpbnQgdHlwZSwgb3V0IFN0cmluZyBvcmlnaW4pOworICAgICAgICBbbm90
aWZ5LCBkb21haW49UmVzb3VyY2VzXSB2b2lkIGRpZEdldEZpbGVTeXN0ZW1FcnJvcihvdXQgaW50
IHR5cGUsIG91dCBTdHJpbmcgb3JpZ2luKTsKKyAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291
cmNlc10gdm9pZCBkaWRHZXRGaWxlU3lzdGVtRGlzYWJsZWQoKTsKICNlbmRpZgotICAgICAgICBb
ZG9tYWluPUJhY2tlbmRdIHZvaWQgc2V0SW5qZWN0ZWRTY3JpcHRTb3VyY2UoaW4gU3RyaW5nIHNj
cmlwdFNvdXJjZSk7Ci0gICAgICAgIFtkb21haW49QmFja2VuZF0gdm9pZCBkaXNwYXRjaE9uSW5q
ZWN0ZWRTY3JpcHQoaW4gbG9uZyBpbmplY3RlZFNjcmlwdElkLCBpbiBTdHJpbmcgbWV0aG9kTmFt
ZSwgaW4gU3RyaW5nIGFyZ3VtZW50cywgb3V0IFZhbHVlIHJlc3VsdCwgb3V0IGJvb2xlYW4gaXNF
eGNlcHRpb24pOwotICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBhZGRTY3JpcHRUb0V2
YWx1YXRlT25Mb2FkKGluIFN0cmluZyBzY3JpcHRTb3VyY2UpOwotICAgICAgICBbZG9tYWluPUlu
c3BlY3Rvcl0gdm9pZCByZW1vdmVBbGxTY3JpcHRzVG9FdmFsdWF0ZU9uTG9hZCgpOworCisgICAg
ICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAgIC8vIERPTSBBUEkKKyAgICAgICAgLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8KIAogICAgICAgICBbZG9tYWluPURPTV0gdm9pZCBnZXRDaGlsZE5vZGVzKGluIGxvbmcg
bm9kZUlkKTsKICAgICAgICAgW2RvbWFpbj1ET01dIHZvaWQgc2V0QXR0cmlidXRlKGluIGxvbmcg
ZWxlbWVudElkLCBpbiBTdHJpbmcgbmFtZSwgaW4gU3RyaW5nIHZhbHVlLCBvdXQgYm9vbGVhbiBz
dWNjZXNzKTsKQEAgLTE4NSwyMCArMTU5LDE5IEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgW2Rv
bWFpbj1ET01dIHZvaWQgc2VhcmNoQ2FuY2VsZWQoKTsKICAgICAgICAgW2RvbWFpbj1ET01dIHZv
aWQgcHVzaE5vZGVCeVBhdGhUb0Zyb250ZW5kKGluIFN0cmluZyBwYXRoLCBvdXQgbG9uZyBub2Rl
SWQpOwogCi0gICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHNldENvbnNvbGVNZXNzYWdl
c0VuYWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkLCBvdXQgYm9vbGVhbiBuZXdTdGF0ZSk7Ci0gICAg
ICAgIFtub3RpZnksIGRvbWFpbj1JbnNwZWN0b3JdIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2Uob3V0
IE9iamVjdCBtZXNzYWdlT2JqKTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPUluc3BlY3Rvcl0g
dm9pZCB1cGRhdGVDb25zb2xlTWVzc2FnZUV4cGlyZWRDb3VudChvdXQgdW5zaWduZWQgbG9uZyBj
b3VudCk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFpbj1JbnNwZWN0b3JdIHZvaWQgdXBkYXRlQ29u
c29sZU1lc3NhZ2VSZXBlYXRDb3VudChvdXQgdW5zaWduZWQgbG9uZyBjb3VudCk7Ci0KLSAgICAg
ICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgY2xlYXJDb25zb2xlTWVzc2FnZXMoKTsKLSAgICAg
ICAgW25vdGlmeSwgZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBjb25zb2xlTWVzc2FnZXNDbGVhcmVk
KCk7Ci0KLSAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgaGlnaGxpZ2h0RE9NTm9kZShp
biBsb25nIG5vZGVJZCk7Ci0gICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIGhpZGVET01O
b2RlSGlnaGxpZ2h0KCk7Ci0gICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIG9wZW5Jbklu
c3BlY3RlZFdpbmRvdyhpbiBTdHJpbmcgdXJsKTsKKyAgICAgICAgW25vdGlmeSwgZG9tYWluPURP
TV0gdm9pZCBzZXREb2N1bWVudChvdXQgVmFsdWUgcm9vdCk7IC8vIEZJWE1FOiBzaG91bGQgYmUg
cmVxdWVzdGVkIGZyb20gdGhlIGZyb250LWVuZCBhcyBnZXREb2N1bWVudC4KKyAgICAgICAgW25v
dGlmeSwgZG9tYWluPURPTV0gdm9pZCBhdHRyaWJ1dGVzVXBkYXRlZChvdXQgbG9uZyBpZCwgb3V0
IEFycmF5IGF0dHJpYnV0ZXMpOworICAgICAgICBbbm90aWZ5LCBkb21haW49RE9NXSB2b2lkIGNo
YXJhY3RlckRhdGFNb2RpZmllZChvdXQgbG9uZyBpZCwgb3V0IFN0cmluZyBuZXdWYWx1ZSk7Cisg
ICAgICAgIFtub3RpZnksIGRvbWFpbj1ET01dIHZvaWQgc2V0Q2hpbGROb2RlcyhvdXQgbG9uZyBw
YXJlbnRJZCwgb3V0IEFycmF5IG5vZGVzKTsKKyAgICAgICAgW25vdGlmeSwgZG9tYWluPURPTV0g
dm9pZCBzZXREZXRhY2hlZFJvb3Qob3V0IE9iamVjdCByb290KTsKKyAgICAgICAgW25vdGlmeSwg
ZG9tYWluPURPTV0gdm9pZCBjaGlsZE5vZGVDb3VudFVwZGF0ZWQob3V0IGxvbmcgaWQsIG91dCBp
bnQgbmV3VmFsdWUpOworICAgICAgICBbbm90aWZ5LCBkb21haW49RE9NXSB2b2lkIGNoaWxkTm9k
ZUluc2VydGVkKG91dCBsb25nIHBhcmVudElkLCBvdXQgbG9uZyBwcmV2SWQsIG91dCBPYmplY3Qg
bm9kZSk7CisgICAgICAgIFtub3RpZnksIGRvbWFpbj1ET01dIHZvaWQgY2hpbGROb2RlUmVtb3Zl
ZChvdXQgbG9uZyBwYXJlbnRJZCwgb3V0IGxvbmcgaWQpOworICAgICAgICBbbm90aWZ5LCBkb21h
aW49RE9NXSB2b2lkIGRpZENvbW1pdExvYWQoKTsKIAotICAgICAgICBbZG9tYWluPUluc3BlY3Rv
cl0gdm9pZCBoaWdobGlnaHRGcmFtZShpbiB1bnNpZ25lZCBsb25nIGZyYW1lSWQpOwotICAgICAg
ICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBoaWRlRnJhbWVIaWdobGlnaHQoKTsKKyAgICAgICAg
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8KKyAgICAgICAgLy8gQ1NTIEFQSQorICAgICAgICAvLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
LwogCiAgICAgICAgIFtkb21haW49Q1NTXSB2b2lkIGdldFN0eWxlc0Zvck5vZGUyKGluIGxvbmcg
bm9kZUlkLCBvdXQgVmFsdWUgc3R5bGVzKTsKICAgICAgICAgW2RvbWFpbj1DU1NdIHZvaWQgZ2V0
Q29tcHV0ZWRTdHlsZUZvck5vZGUyKGluIGxvbmcgbm9kZUlkLCBvdXQgVmFsdWUgc3R5bGUpOwpA
QCAtMjE0LDM1ICsxODcsOTIgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICBbZG9tYWluPUNTU10g
dm9pZCBnZXRTdXBwb3J0ZWRDU1NQcm9wZXJ0aWVzKG91dCBBcnJheSBjc3NQcm9wZXJ0aWVzKTsK
ICAgICAgICAgW2RvbWFpbj1DU1NdIHZvaWQgcXVlcnlTZWxlY3RvckFsbChpbiBsb25nIGRvY3Vt
ZW50SWQsIGluIFN0cmluZyBzZWxlY3Rvciwgb3V0IEFycmF5IHJlc3VsdCk7CiAKLSAgICAgICAg
W2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgZ2V0Q29va2llcyhvdXQgQXJyYXkgY29va2llcywgb3V0
IFN0cmluZyBjb29raWVzU3RyaW5nKTsKLSAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQg
ZGVsZXRlQ29va2llKGluIFN0cmluZyBjb29raWVOYW1lLCBpbiBTdHJpbmcgZG9tYWluKTsKKyAg
ICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgICAgICAgLy8gVGltZWxpbmUgQVBJCisgICAgICAgIC8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vCiAKLSNpZiBkZWZpbmVkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElP
TlMpICYmIEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMKLSAgICAgICAgW2RvbWFpbj1B
cHBsaWNhdGlvbkNhY2hlXSB2b2lkIGdldEFwcGxpY2F0aW9uQ2FjaGVzKG91dCBWYWx1ZSBhcHBs
aWNhdGlvbkNhY2hlcyk7Ci0jZW5kaWYKKyAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQg
c3RhcnRUaW1lbGluZVByb2ZpbGVyKCk7CisgICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lk
IHN0b3BUaW1lbGluZVByb2ZpbGVyKCk7CisgICAgICAgIFtub3RpZnksIGRvbWFpbj1UaW1lbGlu
ZV0gdm9pZCB0aW1lbGluZVByb2ZpbGVyV2FzU3RhcnRlZCgpOworICAgICAgICBbbm90aWZ5LCBk
b21haW49VGltZWxpbmVdIHZvaWQgdGltZWxpbmVQcm9maWxlcldhc1N0b3BwZWQoKTsKKyAgICAg
ICAgW25vdGlmeSwgZG9tYWluPVRpbWVsaW5lXSB2b2lkIGFkZFJlY29yZFRvVGltZWxpbmUob3V0
IE9iamVjdCByZWNvcmQpOwogCi0jaWYgZGVmaW5lZChFTkFCTEVfRklMRV9TWVNURU0pICYmIEVO
QUJMRV9GSUxFX1NZU1RFTQotICAgICAgICBbZG9tYWluPUZpbGVTeXN0ZW1dIHZvaWQgZ2V0Rmls
ZVN5c3RlbVBhdGhBc3luYyhpbiB1bnNpZ25lZCBpbnQgdHlwZSwgaW4gU3RyaW5nIG9yaWdpbik7
Ci0gICAgICAgIFtkb21haW49RmlsZVN5c3RlbV0gdm9pZCByZXZlYWxGb2xkZXJJbk9TKGluIFN0
cmluZyBwYXRoKTsKLSAgICAgICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBkaWRH
ZXRGaWxlU3lzdGVtUGF0aChvdXQgU3RyaW5nIHJvb3QsIG91dCBpbnQgdHlwZSwgb3V0IFN0cmlu
ZyBvcmlnaW4pOwotICAgICAgICBbbm90aWZ5LCBkb21haW49UmVzb3VyY2VzXSB2b2lkIGRpZEdl
dEZpbGVTeXN0ZW1FcnJvcihvdXQgaW50IHR5cGUsIG91dCBTdHJpbmcgb3JpZ2luKTsKLSAgICAg
ICAgW25vdGlmeSwgZG9tYWluPVJlc291cmNlc10gdm9pZCBkaWRHZXRGaWxlU3lzdGVtRGlzYWJs
ZWQoKTsKLSNlbmRpZgorI2lmIGRlZmluZWQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICYm
IEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSCiAKLSAgICAgICAgW2RvbWFpbj1CYWNrZW5kXSB2
b2lkIHJlbGVhc2VXcmFwcGVyT2JqZWN0R3JvdXAoaW4gbG9uZyBpbmplY3RlZFNjcmlwdElkLCBp
biBTdHJpbmcgb2JqZWN0R3JvdXApOwotICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBk
aWRFdmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kKGluIGxvbmcgdGVzdENhbGxJZCwgaW4gU3RyaW5n
IGpzb25SZXN1bHQpOworICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworICAgICAgICAvLyBEZWJ1Z2dl
ciBBUEkKKyAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIAotI2lmIGRlZmluZWQoRU5BQkxFX0RBVEFC
QVNFKSAmJiBFTkFCTEVfREFUQUJBU0UKLSAgICAgICAgW2RvbWFpbj1CYWNrZW5kXSB2b2lkIGdl
dERhdGFiYXNlVGFibGVOYW1lcyhpbiBsb25nIGRhdGFiYXNlSWQsIG91dCBBcnJheSB0YWJsZU5h
bWVzKTsKLSAgICAgICAgW2RvbWFpbj1CYWNrZW5kXSB2b2lkIGV4ZWN1dGVTUUwoaW4gbG9uZyBk
YXRhYmFzZUlkLCBpbiBTdHJpbmcgcXVlcnksIG91dCBib29sZWFuIHN1Y2Nlc3MsIG91dCBsb25n
IHRyYW5zYWN0aW9uSWQpOwotICAgICAgICBbbm90aWZ5LCBkb21haW49UmVzb3VyY2VzXSB2b2lk
IHNxbFRyYW5zYWN0aW9uU3VjY2VlZGVkKG91dCBsb25nIHRyYW5zYWN0aW9uSWQsIG91dCBWYWx1
ZSBjb2x1bW5OYW1lcywgb3V0IFZhbHVlIHZhbHVlcyk7Ci0gICAgICAgIFtub3RpZnksIGRvbWFp
bj1SZXNvdXJjZXNdIHZvaWQgc3FsVHJhbnNhY3Rpb25GYWlsZWQob3V0IGxvbmcgdHJhbnNhY3Rp
b25JZCwgb3V0IFZhbHVlIHNxbEVycm9yKTsKLSNlbmRpZgorICAgICAgICBbZG9tYWluPUJhY2tl
bmRdIHZvaWQgZW5hYmxlRGVidWdnZXIoaW4gYm9vbGVhbiBhbHdheXMpOworICAgICAgICBbZG9t
YWluPUluc3BlY3Rvcl0gdm9pZCBkaXNhYmxlRGVidWdnZXIoaW4gYm9vbGVhbiBhbHdheXMpOyAv
LyBGSVhNRTogc2hvdWxkIGJlIG9uIHRoZSBzYW1lIGRvbWFpbiBhcyBlbmFibGVEZWJ1Z2dlci4K
KyAgICAgICAgW25vdGlmeSwgZG9tYWluPURlYnVnZ2VyXSB2b2lkIGRlYnVnZ2VyV2FzRW5hYmxl
ZCgpOworICAgICAgICBbbm90aWZ5LCBkb21haW49RGVidWdnZXJdIHZvaWQgZGVidWdnZXJXYXNE
aXNhYmxlZCgpOwogCi0jaWYgZGVmaW5lZChFTkFCTEVfRE9NX1NUT1JBR0UpICYmIEVOQUJMRV9E
T01fU1RPUkFHRQotICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBnZXRET01TdG9yYWdl
RW50cmllcyhpbiBsb25nIHN0b3JhZ2VJZCwgb3V0IEFycmF5IGVudHJpZXMpOwotICAgICAgICBb
ZG9tYWluPUluc3BlY3Rvcl0gdm9pZCBzZXRET01TdG9yYWdlSXRlbShpbiBsb25nIHN0b3JhZ2VJ
ZCwgaW4gU3RyaW5nIGtleSwgaW4gU3RyaW5nIHZhbHVlLCBvdXQgYm9vbGVhbiBzdWNjZXNzKTsK
LSAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgcmVtb3ZlRE9NU3RvcmFnZUl0ZW0oaW4g
bG9uZyBzdG9yYWdlSWQsIGluIFN0cmluZyBrZXksIG91dCBib29sZWFuIHN1Y2Nlc3MpOwotI2Vu
ZGlmCisgICAgICAgIFtub3RpZnksIGRvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBhdHRhY2hEZWJ1Z2dl
cldoZW5TaG93bigpOyAvLyBGSVhNRTogZG8gc29tZXRoaW5nIHdpdGggdGhpcyBldmVudHVhbGx5
LgorCisgICAgICAgIFtub3RpZnksIGRvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBwYXJzZWRTY3JpcHRT
b3VyY2Uob3V0IFN0cmluZyBzb3VyY2VJRCwgb3V0IFN0cmluZyB1cmwsIG91dCBTdHJpbmcgZGF0
YSwgb3V0IGludCBmaXJzdExpbmUsIG91dCBpbnQgc2NyaXB0V29ybGRUeXBlKTsKKyAgICAgICAg
W25vdGlmeSwgZG9tYWluPURlYnVnZ2VyXSB2b2lkIGZhaWxlZFRvUGFyc2VTY3JpcHRTb3VyY2Uo
b3V0IFN0cmluZyB1cmwsIG91dCBTdHJpbmcgZGF0YSwgb3V0IGludCBmaXJzdExpbmUsIG91dCBp
bnQgZXJyb3JMaW5lLCBvdXQgU3RyaW5nIGVycm9yTWVzc2FnZSk7CisKKyAgICAgICAgW2RvbWFp
bj1EZWJ1Z2dlcl0gdm9pZCBhY3RpdmF0ZUJyZWFrcG9pbnRzKCk7CisgICAgICAgIFtkb21haW49
RGVidWdnZXJdIHZvaWQgZGVhY3RpdmF0ZUJyZWFrcG9pbnRzKCk7CisKKyAgICAgICAgW2RvbWFp
bj1EZWJ1Z2dlcl0gdm9pZCBzZXRCcmVha3BvaW50KGluIFN0cmluZyBzb3VyY2VJRCwgaW4gdW5z
aWduZWQgaW50IGxpbmVOdW1iZXIsIGluIGJvb2xlYW4gZW5hYmxlZCwgaW4gU3RyaW5nIGNvbmRp
dGlvbiwgb3V0IGJvb2xlYW4gc3VjY2Vzcywgb3V0IHVuc2lnbmVkIGludCBhY3R1YWxMaW5lTnVt
YmVyKTsKKyAgICAgICAgW2RvbWFpbj1EZWJ1Z2dlcl0gdm9pZCByZW1vdmVCcmVha3BvaW50KGlu
IFN0cmluZyBzb3VyY2VJRCwgaW4gdW5zaWduZWQgbG9uZyBsaW5lTnVtYmVyKTsKKworICAgICAg
ICBbZG9tYWluPURPTV0gdm9pZCBzZXRET01CcmVha3BvaW50KGluIGxvbmcgbm9kZUlkLCBpbiBs
b25nIHR5cGUpOyAvLyBGSVhNRTogTW92ZSB0byBuZXdseSBpbnRyb2R1Y2VkIEJyb3dzZXJEZWJ1
Z2dlci4KKyAgICAgICAgW2RvbWFpbj1ET01dIHZvaWQgcmVtb3ZlRE9NQnJlYWtwb2ludChpbiBs
b25nIG5vZGVJZCwgaW4gbG9uZyB0eXBlKTsgLy8gRklYTUU6IE1vdmUgdG8gbmV3bHkgaW50cm9k
dWNlZCBCcm93c2VyRGVidWdnZXIuCisKKyAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQg
c2V0RXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQoaW4gU3RyaW5nIGV2ZW50TmFtZSk7IC8vIEZJWE1F
OiBNb3ZlIHRvIG5ld2x5IGludHJvZHVjZWQgQnJvd3NlckRlYnVnZ2VyLgorICAgICAgICBbZG9t
YWluPUluc3BlY3Rvcl0gdm9pZCByZW1vdmVFdmVudExpc3RlbmVyQnJlYWtwb2ludChpbiBTdHJp
bmcgZXZlbnROYW1lKTsgLy8gRklYTUU6IE1vdmUgdG8gbmV3bHkgaW50cm9kdWNlZCBCcm93c2Vy
RGVidWdnZXIuCisKKyAgICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgc2V0WEhSQnJlYWtw
b2ludChpbiBTdHJpbmcgdXJsKTsgLy8gRklYTUU6IE1vdmUgdG8gbmV3bHkgaW50cm9kdWNlZCBC
cm93c2VyRGVidWdnZXIuCisgICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIHJlbW92ZVhI
UkJyZWFrcG9pbnQoaW4gU3RyaW5nIHVybCk7IC8vIEZJWE1FOiBNb3ZlIHRvIG5ld2x5IGludHJv
ZHVjZWQgQnJvd3NlckRlYnVnZ2VyLgorCisgICAgICAgIFtkb21haW49RGVidWdnZXJdIHZvaWQg
c3RlcE92ZXJTdGF0ZW1lbnQoKTsgLy8gRklYTUU6IHJlbmFtZSB0byBzdGVwT3ZlcgorICAgICAg
ICBbZG9tYWluPURlYnVnZ2VyXSB2b2lkIHN0ZXBJbnRvU3RhdGVtZW50KCk7IC8vIEZJWE1FOiBy
ZW5hbWUgdG8gc3RlcEludG8KKyAgICAgICAgW2RvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBzdGVwT3V0
T2ZGdW5jdGlvbigpOyAvLyBGSVhNRTogcmVuYW1lIHRvIHN0ZXBPdXQKKyAgICAgICAgW2RvbWFp
bj1EZWJ1Z2dlcl0gdm9pZCBwYXVzZSgpOworICAgICAgICBbbm90aWZ5LCBkb21haW49RGVidWdn
ZXJdIHZvaWQgcGF1c2VkU2NyaXB0KG91dCBPYmplY3QgZGV0YWlscyk7CisgICAgICAgIFtkb21h
aW49RGVidWdnZXJdIHZvaWQgcmVzdW1lKCk7CisgICAgICAgIFtub3RpZnksIGRvbWFpbj1EZWJ1
Z2dlcl0gdm9pZCByZXN1bWVkU2NyaXB0KCk7IC8vIEZJWE1FOiBNYWtlIHRoaXMgb3V0IHBhcmFt
ZXRlciBmbyByZXN1bWUgaWYgcG9zc2libGUuCisKKyAgICAgICAgW2RvbWFpbj1EZWJ1Z2dlcl0g
dm9pZCBzZXRQYXVzZU9uRXhjZXB0aW9uc1N0YXRlKGluIGxvbmcgcGF1c2VPbkV4Y2VwdGlvbnNT
dGF0ZSwgb3V0IGxvbmcgbmV3U3RhdGUpOworCisgICAgICAgIFtkb21haW49RGVidWdnZXJdIHZv
aWQgZWRpdFNjcmlwdFNvdXJjZShpbiBTdHJpbmcgc291cmNlSUQsIGluIFN0cmluZyBuZXdDb250
ZW50LCBvdXQgYm9vbGVhbiBzdWNjZXNzLCBvdXQgU3RyaW5nIHJlc3VsdCwgb3V0IFZhbHVlIG5l
d0NhbGxGcmFtZXMpOworICAgICAgICBbZG9tYWluPURlYnVnZ2VyXSB2b2lkIGdldFNjcmlwdFNv
dXJjZShpbiBTdHJpbmcgc291cmNlSUQsIG91dCBTdHJpbmcgc2NyaXB0U291cmNlKTsKKworICAg
ICAgICBbbm90aWZ5LCBkb21haW49RGVidWdnZXJdIHZvaWQgYnJlYWtwb2ludFJlc3RvcmVkKG91
dCBTdHJpbmcgc291cmNlSUQsIG91dCBTdHJpbmcgdXJsLCBvdXQgaW50IGxpbmUsIG91dCBib29s
ZWFuIGVuYWJsZWQsIG91dCBTdHJpbmcgY29uZGl0aW9uKTsgLy8gRklYTUU6IHNob3VsZCBiZSBi
cmVha3BvaW50UmVzb2x2ZWQKKworI2lmIGRlZmluZWQoRU5BQkxFX1dPUktFUlMpICYmIEVOQUJM
RV9XT1JLRVJTCisgICAgICAgIFtub3RpZnksIGRvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBkaWRDcmVh
dGVXb3JrZXIob3V0IGxvbmcgaWQsIG91dCBTdHJpbmcgdXJsLCBvdXQgYm9vbGVhbiBpc1NoYXJl
ZCk7CisgICAgICAgIFtub3RpZnksIGRvbWFpbj1EZWJ1Z2dlcl0gdm9pZCBkaWREZXN0cm95V29y
a2VyKG91dCBsb25nIGlkKTsKKyNlbmRpZiAvLyBFTkFCTEVfV09SS0VSUworCisgICAgICAgIC8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vCisgICAgICAgIC8vIFByb2ZpbGVyIEFQSQorICAgICAgICAvLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLworCisgICAgICAgIFtkb21haW49SW5zcGVjdG9yXSB2b2lkIGVuYWJsZVByb2ZpbGVyKGlu
IGJvb2xlYW4gYWx3YXlzKTsgLy8gRklYTUU6IHByZWZlcnJhYmxlIHdpdGggSW5zcGVjdG9yIGRv
bWFpbiwgZGlzcGF0Y2hlZCBvbiBiYWNrZW5kLgorICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0g
dm9pZCBkaXNhYmxlUHJvZmlsZXIoaW4gYm9vbGVhbiBhbHdheXMpOworICAgICAgICBbbm90aWZ5
LCBkb21haW49UHJvZmlsZXJdIHZvaWQgcHJvZmlsZXJXYXNFbmFibGVkKCk7CisgICAgICAgIFtu
b3RpZnksIGRvbWFpbj1Qcm9maWxlcl0gdm9pZCBwcm9maWxlcldhc0Rpc2FibGVkKCk7CisKKyAg
ICAgICAgW2RvbWFpbj1JbnNwZWN0b3JdIHZvaWQgc3RhcnRQcm9maWxpbmcoKTsgLy8gRklYTUU6
IGRpc3BhdGNoIG9uIHByb2ZpbGVyIGFnZW50LgorICAgICAgICBbZG9tYWluPUluc3BlY3Rvcl0g
dm9pZCBzdG9wUHJvZmlsaW5nKCk7IC8vIEZJWE1FOiBkaXNwYXRjaCBvbiBwcm9maWxlciBhZ2Vu
dC4KKworICAgICAgICBbZG9tYWluPVByb2ZpbGVyXSB2b2lkIGdldFByb2ZpbGVIZWFkZXJzKG91
dCBBcnJheSBoZWFkZXJzKTsKKyAgICAgICAgW2RvbWFpbj1Qcm9maWxlcl0gdm9pZCBnZXRQcm9m
aWxlKGluIFN0cmluZyB0eXBlLCBpbiB1bnNpZ25lZCBsb25nIHVpZCwgb3V0IE9iamVjdCBwcm9m
aWxlKTsKKyAgICAgICAgW2RvbWFpbj1Qcm9maWxlcl0gdm9pZCByZW1vdmVQcm9maWxlKGluIFN0
cmluZyB0eXBlLCBpbiB1bnNpZ25lZCBsb25nIHVpZCk7CisgICAgICAgIFtkb21haW49UHJvZmls
ZXJdIHZvaWQgY2xlYXJQcm9maWxlcygpOworCisgICAgICAgIC8vIEZJWE1FOiBzcGxpdCBpbnRv
IFByb2ZpbGVyIGFuZCBIZWFwUHJvZmlsZXIuCisgICAgICAgIFtkb21haW49UHJvZmlsZXJdIHZv
aWQgdGFrZUhlYXBTbmFwc2hvdCgpOworICAgICAgICBbbm90aWZ5LCBkb21haW49UHJvZmlsZXJd
IHZvaWQgYWRkUHJvZmlsZUhlYWRlcihvdXQgT2JqZWN0IGhlYWRlcik7CisgICAgICAgIFtub3Rp
ZnksIGRvbWFpbj1Qcm9maWxlcl0gdm9pZCBhZGRIZWFwU25hcHNob3RDaHVuayhvdXQgdW5zaWdu
ZWQgbG9uZyB1aWQsIG91dCBTdHJpbmcgY2h1bmspOworICAgICAgICBbbm90aWZ5LCBkb21haW49
UHJvZmlsZXJdIHZvaWQgZmluaXNoSGVhcFNuYXBzaG90KG91dCB1bnNpZ25lZCBsb25nIHVpZCk7
CisgICAgICAgIFtub3RpZnksIGRvbWFpbj1Qcm9maWxlcl0gdm9pZCBzZXRSZWNvcmRpbmdQcm9m
aWxlKG91dCBib29sZWFuIGlzUHJvZmlsaW5nKTsKKyAgICAgICAgW25vdGlmeSwgZG9tYWluPVBy
b2ZpbGVyXSB2b2lkIHJlc2V0UHJvZmlsZXMoKTsKKworI2VuZGlmIC8vIEVOQUJMRV9KQVZBU0NS
SVBUX0RFQlVHR0VSCiAgICAgfTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>