<?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>42319</bug_id>
          
          <creation_ts>2010-07-14 20:43:55 -0700</creation_ts>
          <short_desc>WebKitTestRunner needs to support layoutTestController.evaluateInWebInspector</short_desc>
          <delta_ts>2011-01-27 01:15:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Maciej Stachowiak">mjs</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>eric</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>251620</commentid>
    <comment_count>0</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-07-14 20:43:55 -0700</bug_when>
    <thetext>WebKitTestRunner needs to support layoutTestController.evaluateInWebInspector

All of the inspector tests fail due to this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251638</commentid>
    <comment_count>1</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-07-14 20:57:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/8193628&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340740</commentid>
    <comment_count>2</comment_count>
      <attachid>80296</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-01-26 23:51:18 -0800</bug_when>
    <thetext>Created attachment 80296
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340741</commentid>
    <comment_count>3</comment_count>
      <attachid>80296</attachid>
    <who name="">mitz</who>
    <bug_when>2011-01-27 00:00:17 -0800</bug_when>
    <thetext>Comment on attachment 80296
Patch

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

&gt; Source/WebKit2/ChangeLog:8
&gt; +        Add WKBundleInspector and APIs needed to implement WebKitTestRunner APIS.

Typo: APIS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340742</commentid>
    <comment_count>4</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-01-27 00:10:24 -0800</bug_when>
    <thetext>Attachment 80296 did not build on qt:
Build output: http://queues.webkit.org/results/7520326</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340746</commentid>
    <comment_count>5</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-01-27 00:18:38 -0800</bug_when>
    <thetext>Attachment 80296 did not build on win:
Build output: http://queues.webkit.org/results/7516323</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340747</commentid>
    <comment_count>6</comment_count>
      <attachid>80299</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-01-27 00:18:49 -0800</bug_when>
    <thetext>Created attachment 80299
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340749</commentid>
    <comment_count>7</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-01-27 00:33:18 -0800</bug_when>
    <thetext>Committed r76769: &lt;http://trac.webkit.org/changeset/76769&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340771</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-27 01:15:25 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/76769 might have broken Qt Linux Release
The following tests are not passing:
http/tests/inspector/console-xhr-logging.html
http/tests/inspector/extensions-headers.html
inspector/report-protocol-errors.html
inspector/storage-panel-dom-storage.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80296</attachid>
            <date>2011-01-26 23:51:18 -0800</date>
            <delta_ts>2011-01-27 00:18:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42319-20110126235116.patch</filename>
            <type>text/plain</type>
            <size>25892</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2NzY1KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTEtMDEtMjYgIE1hY2llaiBT
dGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIHRvIHN1cHBvcnQgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVJbldlYkluc3BlY3RvcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIzMTkKKworICAgICAgICBBZGQgV0tC
dW5kbGVJbnNwZWN0b3IgYW5kIEFQSXMgbmVlZGVkIHRvIGltcGxlbWVudCBXZWJLaXRUZXN0UnVu
bmVyIEFQSVMuCisgICAgICAgIAorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAq
IFNoYXJlZC9BUEkvYy9XS0Jhc2UuaDoKKyAgICAgICAgKiBTaGFyZWQvQVBJT2JqZWN0Lmg6Cisg
ICAgICAgICogV2ViS2l0Mi5wcm86CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVBUElDYXN0Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVBhZ2UuY3BwOgorICAgICAgICAoV0tCdW5kbGVQYWdlR2V0SW5zcGVjdG9yKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJJbnNwZWN0b3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYklu
c3BlY3Rvcjo6ZXZhbHVhdGVTY3JpcHRGb3JUZXN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViSW5zcGVjdG9yLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3Rvcjo6dHlw
ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjppbnNwZWN0b3IpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmg6CisgICAgICAgICogd2luL1dlYktpdDIudmNwcm9qOgorICAgICAgICAqIHdp
bi9XZWJLaXQyR2VuZXJhdGVkLm1ha2U6CisKIDIwMTEtMDEtMjYgIERhdmlkIEtpbHplciAgPGRk
a2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICA8aHR0cDovL3dlYmtpdC5vcmcvYi81MzE5Mj4g
QWRkIGV4cGVyaW1lbnRhbCBzdXBwb3J0IGZvciBIVFRQIHBpcGVsaW5pbmcgaW4gQ0ZOZXR3b3Jr
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNzY2ODQpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAtNDMzLDYgKzQzMyw4IEBAIGxp
YldlYktpdDJfbGFfU09VUkNFUyA9IFwKIAlTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAgXAogCVNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0
LmggXAogCVNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVJbml0aWFsaXplLmggXAorCVNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVJbnNwZWN0b3IuY3BwIFwKKwlTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSW5zcGVjdG9yLmggXAogCVNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFu
ZGxlLmNwcCBcCiAJU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZU5vZGVIYW5kbGUuaCBcCiAJU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGVQcml2YXRlLmggXApJbmRleDogU291
cmNlL1dlYktpdDIvV2ViS2l0Mi5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi5wcm8JKHJldmlzaW9uIDc2Njg0KQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi5wcm8J
KHdvcmtpbmcgY29weSkKQEAgLTYyMCw2ICs2MjAsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBXZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlQmFja0ZvcndhcmRMaXN0SXRlbS5j
cHAgXAogICAgIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5j
cHAgXAogICAgIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0
UmVzdWx0LmNwcCBcCisgICAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZUluc3BlY3Rvci5jcHAgXAogICAgIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVOb2RlSGFuZGxlLmNwcCBcCiAgICAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVBhZ2UuY3BwIFwKICAgICBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlUGFnZUdyb3VwLmNwcCBcCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
T2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSU9iamVjdC5o
CShyZXZpc2lvbiA3NjY4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElPYmplY3QuaAko
d29ya2luZyBjb3B5KQpAQCAtODUsNiArODUsNyBAQCBwdWJsaWM6CiAgICAgICAgIFR5cGVCdW5k
bGVCYWNrRm9yd2FyZExpc3RJdGVtLAogICAgICAgICBUeXBlQnVuZGxlRnJhbWUsCiAgICAgICAg
IFR5cGVCdW5kbGVIaXRUZXN0UmVzdWx0LAorICAgICAgICBUeXBlQnVuZGxlSW5zcGVjdG9yLAog
ICAgICAgICBUeXBlQnVuZGxlTm9kZUhhbmRsZSwKICAgICAgICAgVHlwZUJ1bmRsZVBhZ2UsCiAg
ICAgICAgIFR5cGVCdW5kbGVQYWdlR3JvdXAsCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJL2MvV0tCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9j
L1dLQmFzZS5oCShyZXZpc2lvbiA3NjY4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS0Jhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtOTIsNiArOTIsNyBAQCB0eXBlZGVmIGNvbnN0
IHN0cnVjdCBPcGFxdWVXS0J1bmRsZUJhY2tGCiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVX
S0J1bmRsZURPTUNTU1N0eWxlRGVjbGFyYXRpb24qIFdLQnVuZGxlQ1NTU3R5bGVEZWNsYXJhdGlv
blJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLQnVuZGxlRnJhbWUqIFdLQnVuZGxl
RnJhbWVSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0J1bmRsZUhpdFRlc3RSZXN1
bHQqIFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZjsKK3R5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1
ZVdLQnVuZGxlSW5zcGVjdG9yKiBXS0J1bmRsZUluc3BlY3RvclJlZjsKIHR5cGVkZWYgY29uc3Qg
c3RydWN0IE9wYXF1ZVdLQnVuZGxlTm9kZUhhbmRsZSogV0tCdW5kbGVOb2RlSGFuZGxlUmVmOwog
dHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tCdW5kbGVQYWdlKiBXS0J1bmRsZVBhZ2VSZWY7
CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0J1bmRsZVBhZ2VHcm91cCogV0tCdW5kbGVQ
YWdlR3JvdXBSZWY7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA3NjY4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjg2LDYg
KzI4Niw4IEBACiAJCTUxQUNCQkExMTI3QThGMkMwMEQyMDNCOSAvKiBXZWJDb250ZXh0TWVudVBy
b3h5TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTFBQ0JCOUYxMjdBOEYyQzAwRDIwM0I5IC8qIFdlYkNvbnRleHRNZW51UHJveHlNYWMubW0gKi87
IH07CiAJCTUxQjMwMDUwMTI1MjlEMEUwMDBCNUNBMCAvKiBXZWJCYWNrRm9yd2FyZExpc3RDRi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUIzMDA0
RTEyNTI5RDBFMDAwQjVDQTAgLyogV2ViQmFja0ZvcndhcmRMaXN0Q0YuY3BwICovOyB9OwogCQk1
MUIzMDA1MTEyNTI5RDBFMDAwQjVDQTAgLyogV2ViUGFnZVByb3h5Q0YuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFCMzAwNEYxMjUyOUQwRTAwMEI1
Q0EwIC8qIFdlYlBhZ2VQcm94eUNGLmNwcCAqLzsgfTsKKwkJNjUwMUJEMUExMkYxMjQzNDAwRTlG
MjQ4IC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDY1Qjg2RjE3MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUlu
c3BlY3Rvci5jcHAgKi87IH07CisJCTY1Qjg2RjFFMTJGMTFERTMwMEI3REQ4QSAvKiBXS0J1bmRs
ZUluc3BlY3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjVCODZGMTgxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwogCQk2RDhBOTFBNjExRjBF
RkQxMDBERDAxRkUgLyogY29tLmFwcGxlLldlYlByb2Nlc3Muc2IgaW4gUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZEOEE5MUE1MTFGMEVGRDEwMEREMDFGRSAv
KiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYiAqLzsgfTsKIAkJNzYyQjc0OEQxMjBCQzc1QzAwODE5
MzM5IC8qIFdLUHJlZmVyZW5jZXNQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3NjJCNzQ4NDEyMEJCQTJEMDA4MTkzMzkgLyogV0tQcmVmZXJl
bmNlc1ByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk4REMyRUY1MzA0ODZBNjk0MDA5OEIyMTYgLyogSW5mb1BsaXN0LnN0cmluZ3MgaW4g
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4OUMxNjY2RkU4
NDExNThDMDJBQUMwNyAvKiBJbmZvUGxpc3Quc3RyaW5ncyAqLzsgfTsKQEAgLTEwMzMsNiArMTAz
NSw4IEBACiAJCTUxQjMwMDRGMTI1MjlEMEUwMDBCNUNBMCAvKiBXZWJQYWdlUHJveHlDRi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJQYWdlUHJveHlDRi5jcHA7
IHBhdGggPSBjZi9XZWJQYWdlUHJveHlDRi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTVEQUQ3Mjk0MTE2RkY3MEIwMEVFNTM5NiAvKiBXZWJQcm9jZXNzLnhjY29uZmlnICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFdlYlByb2Nlc3MueGNjb25maWc7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQUQ3M0YxMTE2RkY5MEMwMEVFNTM5NiAvKiBCYXNlVGFy
Z2V0LnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IEJhc2VUYXJnZXQu
eGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1Qjg2RjE3MTJGMTFEN0Iw
MEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXS0J1bmRsZUluc3BlY3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTY1Qjg2RjE4MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZUluc3BlY3Rvci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RDhBOTFBNTExRjBFRkQxMDBERDAxRkUgLyog
Y29tLmFwcGxlLldlYlByb2Nlc3Muc2IgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gY29tLmFwcGxl
LldlYlByb2Nlc3Muc2I7IHBhdGggPSBXZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NjJCNzQ4MTEyMEJCQTAxMDA4MTkzMzkg
LyogRm9udFNtb290aGluZ0xldmVsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEZvbnRTbW9vdGhpbmdMZXZlbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NjJC
NzQ4NDEyMEJCQTJEMDA4MTkzMzkgLyogV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tQcmVmZXJlbmNlc1ByaXZhdGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI0MzcsNiArMjQ0MSw4IEBACiAJCQkJQkM0OTg2MkUxMjRE
MThDMTAwRDgzNEUxIC8qIFdLQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAgKi8sCiAJCQkJQkM0OTg2
MkQxMjREMThDMTAwRDgzNEUxIC8qIFdLQnVuZGxlSGl0VGVzdFJlc3VsdC5oICovLAogCQkJCUJD
MjA0RUVEMTFDODNFQzgwMDhGMzM3NSAvKiBXS0J1bmRsZUluaXRpYWxpemUuaCAqLywKKwkJCQk2
NUI4NkYxNzEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuY3BwICovLAorCQkJ
CTY1Qjg2RjE4MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5oICovLAogCQkJ
CUJDNEJFRkUwMTIwQTFBNEMwMEZCQTBDNyAvKiBXS0J1bmRsZU5vZGVIYW5kbGUuY3BwICovLAog
CQkJCUJDNEJFRkRGMTIwQTFBNEMwMEZCQTBDNyAvKiBXS0J1bmRsZU5vZGVIYW5kbGUuaCAqLywK
IAkJCQlCQzU3NDUwQjEyNjNCMTU1MDA2RjBGMTIgLyogV0tCdW5kbGVOb2RlSGFuZGxlUHJpdmF0
ZS5oICovLApAQCAtMjgzMyw2ICsyODM5LDcgQEAKIAkJCQlCQzIwNEVGMDExQzgzRUM4MDA4RjMz
NzUgLyogV0tCdW5kbGVBUElDYXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0QyNUYxNzExRDZC
REUxMDAxNjlCMEUgLyogV0tCdW5kbGVGcmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyMDRF
RjIxMUM4M0VDODAwOEYzMzc1IC8qIFdLQnVuZGxlSW5pdGlhbGl6ZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNjVCODZGMUUxMkYxMURFMzAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzIwNTI4MTExQzk0Mjg0MDA4RjMzNzUgLyogV0tCdW5kbGVQYWdl
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzFCNDE5ODExRDQxRDU3MDAxMUU4REQgLyogV0tCdW5k
bGVQYWdlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCOUUyNEIxMTIwRTE1QzAwQTEz
N0UwIC8qIFdLQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTQ4LDYgKzM1NTUsNyBAQAog
CQkJCUUxMzRGMDFBMTJFQTVEOTkwMDRFQzU4RCAvKiBXS1ByaW50aW5nVmlldy5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTFBMTg2RUVCMTJFRjc2MTgwMDhFNUYzNyAvKiBMYXllclRyZWVIb3N0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBMTg3MTg1MTJFRjk4NzcwMDhFNUYzNyAvKiBMYXllclRy
ZWVIb3N0TWFjLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNjUwMUJEMUExMkYxMjQzNDAwRTlGMjQ4
IC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUFQSUNhc3QuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlQVBJQ2FzdC5oCShyZXZpc2lvbiA3NjY4NCkKKysrIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVBUElDYXN0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgSW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRs
ZTsKIGNsYXNzIEluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQ7CiBjbGFzcyBQYWdlT3ZlcmxheTsK
IGNsYXNzIFdlYkZyYW1lOworY2xhc3MgV2ViSW5zcGVjdG9yOwogY2xhc3MgV2ViUGFnZTsKIGNs
YXNzIFdlYlBhZ2VHcm91cFByb3h5OwogCkBAIC01OCw2ICs1OSw3IEBAIFdLX0FERF9BUElfTUFQ
UElORyhXS0J1bmRsZUJhY2tGb3J3YXJkTGkKIFdLX0FERF9BUElfTUFQUElORyhXS0J1bmRsZUNT
U1N0eWxlRGVjbGFyYXRpb25SZWYsIFdlYkNvcmU6OkNTU1N0eWxlRGVjbGFyYXRpb24pCiBXS19B
RERfQVBJX01BUFBJTkcoV0tCdW5kbGVGcmFtZVJlZiwgV2ViRnJhbWUpCiBXS19BRERfQVBJX01B
UFBJTkcoV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmLCBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1
bHQpCitXS19BRERfQVBJX01BUFBJTkcoV0tCdW5kbGVJbnNwZWN0b3JSZWYsIFdlYkluc3BlY3Rv
cikKIFdLX0FERF9BUElfTUFQUElORyhXS0J1bmRsZU5vZGVIYW5kbGVSZWYsIEluamVjdGVkQnVu
ZGxlTm9kZUhhbmRsZSkKIFdLX0FERF9BUElfTUFQUElORyhXS0J1bmRsZVBhZ2VHcm91cFJlZiwg
V2ViUGFnZUdyb3VwUHJveHkpCiBXS19BRERfQVBJX01BUFBJTkcoV0tCdW5kbGVQYWdlT3Zlcmxh
eVJlZiwgUGFnZU92ZXJsYXkpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCShy
ZXZpc2lvbiA3NjY4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg0LDMgKzE4NCwx
MCBAQCBXS0ltYWdlUmVmIFdLQnVuZGxlUGFnZUNyZWF0ZVNuYXBzaG90SW5ECiAgICAgUmVmUHRy
PFdlYkltYWdlPiB3ZWJJbWFnZSA9IHRvSW1wbChwYWdlUmVmKS0+c25hcHNob3RJbkRvY3VtZW50
Q29vcmRpbmF0ZXModG9JbnRSZWN0KHJlY3QpLCB0b0ltYWdlT3B0aW9ucyhvcHRpb25zKSk7CiAg
ICAgcmV0dXJuIHRvQVBJKHdlYkltYWdlLnJlbGVhc2UoKS5sZWFrUmVmKCkpOwogfQorCisjaWYg
ZGVmaW5lZChFTkFCTEVfSU5TUEVDVE9SKSAmJiBFTkFCTEVfSU5TUEVDVE9SCitXS0J1bmRsZUlu
c3BlY3RvclJlZiBXS0J1bmRsZVBhZ2VHZXRJbnNwZWN0b3IoV0tCdW5kbGVQYWdlUmVmIHBhZ2VS
ZWYpCit7CisgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChwYWdlUmVmKS0+aW5zcGVjdG9yKCkpOwor
fQorI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlUGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmgJKHJldmlzaW9uIDc2Njg0
KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1
bmRsZVBhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjIwLDYgKzIyMCwxMCBAQCBXS19FWFBPUlQg
Ym9vbCBXS0J1bmRsZVBhZ2VGaW5kU3RyaW5nKFdLCiBXS19FWFBPUlQgV0tJbWFnZVJlZiBXS0J1
bmRsZVBhZ2VDcmVhdGVTbmFwc2hvdEluVmlld0Nvb3JkaW5hdGVzKFdLQnVuZGxlUGFnZVJlZiBw
YWdlLCBXS1JlY3QgcmVjdCwgV0tJbWFnZU9wdGlvbnMgb3B0aW9ucyk7CiBXS19FWFBPUlQgV0tJ
bWFnZVJlZiBXS0J1bmRsZVBhZ2VDcmVhdGVTbmFwc2hvdEluRG9jdW1lbnRDb29yZGluYXRlcyhX
S0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tSZWN0IHJlY3QsIFdLSW1hZ2VPcHRpb25zIG9wdGlvbnMp
OwogCisjaWYgZGVmaW5lZChFTkFCTEVfSU5TUEVDVE9SKSAmJiBFTkFCTEVfSU5TUEVDVE9SCitX
S19FWFBPUlQgV0tCdW5kbGVJbnNwZWN0b3JSZWYgV0tCdW5kbGVQYWdlR2V0SW5zcGVjdG9yKFdL
QnVuZGxlUGFnZVJlZiBwYWdlKTsKKyNlbmRpZgorCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNl
bmRpZgpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rv
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
Ykluc3BlY3Rvci5jcHAJKHJldmlzaW9uIDc2Njg0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4
LDExIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAor
UGFzc1JlZlB0cjxXZWJJbnNwZWN0b3I+IFdlYkluc3BlY3Rvcjo6Y3JlYXRlKFdlYlBhZ2UqIHBh
Z2UpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJJbnNwZWN0b3IocGFnZSkpOworfQor
CiBXZWJJbnNwZWN0b3I6OldlYkluc3BlY3RvcihXZWJQYWdlKiBwYWdlKQogICAgIDogbV9wYWdl
KHBhZ2UpCiAgICAgLCBtX2luc3BlY3RvclBhZ2UoMCkKQEAgLTkxLDYgKzk2LDExIEBAIHZvaWQg
V2ViSW5zcGVjdG9yOjpjbG9zZSgpCiAgICAgbV9wYWdlLT5jb3JlUGFnZSgpLT5pbnNwZWN0b3JD
b250cm9sbGVyKCktPmNsb3NlKCk7CiB9CiAKK3ZvaWQgV2ViSW5zcGVjdG9yOjpldmFsdWF0ZVNj
cmlwdEZvclRlc3QobG9uZyBjYWxsSUQsIGNvbnN0IFN0cmluZyYgc2NyaXB0KQoreworICAgIG1f
cGFnZS0+Y29yZVBhZ2UoKS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5ldmFsdWF0ZUZvclRlc3RJ
bkZyb250ZW5kKGNhbGxJRCwgc2NyaXB0KTsKK30KKwogdm9pZCBXZWJJbnNwZWN0b3I6OnNob3dD
b25zb2xlKCkKIHsKICAgICBtX3BhZ2UtPmNvcmVQYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIo
KS0+c2hvd1BhbmVsKEluc3BlY3RvckNvbnRyb2xsZXI6OkNvbnNvbGVQYW5lbCk7CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oCShy
ZXZpc2lvbiA3NjY4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJ
bnNwZWN0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxF
KElOU1BFQ1RPUikKIAorI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbm5lY3Rp
b24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgpAQCAtMzcsMTEgKzM4LDExIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViUGFn
ZTsKIHN0cnVjdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzOwogCi1jbGFzcyBXZWJJbnNwZWN0
b3IgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkluc3BlY3Rvcik7Ci0KK2NsYXNzIFdl
Ykluc3BlY3RvciA6IHB1YmxpYyBBUElPYmplY3QgewogcHVibGljOgotICAgIGV4cGxpY2l0IFdl
Ykluc3BlY3RvcihXZWJQYWdlKik7CisgICAgc3RhdGljIGNvbnN0IFR5cGUgQVBJVHlwZSA9IFR5
cGVCdW5kbGVJbnNwZWN0b3I7CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJJbnNwZWN0b3I+
IGNyZWF0ZShXZWJQYWdlKik7CiAKICAgICBXZWJQYWdlKiBwYWdlKCkgY29uc3QgeyByZXR1cm4g
bV9wYWdlOyB9CiAgICAgV2ViUGFnZSogaW5zcGVjdG9yUGFnZSgpIGNvbnN0IHsgcmV0dXJuIG1f
aW5zcGVjdG9yUGFnZTsgfQpAQCAtNDksMTAgKzUwLDIzIEBAIHB1YmxpYzoKICAgICAvLyBJbXBs
ZW1lbnRlZCBpbiBnZW5lcmF0ZWQgV2ViSW5zcGVjdG9yTWVzc2FnZVJlY2VpdmVyLmNwcAogICAg
IHZvaWQgZGlkUmVjZWl2ZVdlYkluc3BlY3Rvck1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbios
IENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CiAKKyAgICAv
LyBDYWxsZWQgYnkgV2ViSW5zcGVjdG9yIG1lc3NhZ2VzCisgICAgdm9pZCBzaG93KCk7CisgICAg
dm9pZCBjbG9zZSgpOworCisgICAgdm9pZCBldmFsdWF0ZVNjcmlwdEZvclRlc3QobG9uZyBjYWxs
SUQsIGNvbnN0IFN0cmluZyYgc2NyaXB0KTsKKworICAgIHZvaWQgc3RhcnRQYWdlUHJvZmlsaW5n
KCk7CisgICAgdm9pZCBzdG9wUGFnZVByb2ZpbGluZygpOworCiBwcml2YXRlOgogICAgIGZyaWVu
ZCBjbGFzcyBXZWJJbnNwZWN0b3JDbGllbnQ7CiAgICAgZnJpZW5kIGNsYXNzIFdlYkluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50OwogCisgICAgZXhwbGljaXQgV2ViSW5zcGVjdG9yKFdlYlBhZ2UqKTsK
KworICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gQVBJVHlwZTsgfQorCiAg
ICAgLy8gQ2FsbGVkIGZyb20gV2ViSW5zcGVjdG9yQ2xpZW50CiAgICAgV2ViUGFnZSogY3JlYXRl
SW5zcGVjdG9yUGFnZSgpOwogCkBAIC02MywxMCArNzcsNiBAQCBwcml2YXRlOgogICAgIC8vIElt
cGxlbWVudGVkIGluIHBsYXRmb3JtIFdlYkluc3BlY3RvciBmaWxlCiAgICAgU3RyaW5nIGxvY2Fs
aXplZFN0cmluZ3NVUkwoKSBjb25zdDsKIAotICAgIC8vIENhbGxlZCBieSBXZWJJbnNwZWN0b3Ig
bWVzc2FnZXMKLSAgICB2b2lkIHNob3coKTsKLSAgICB2b2lkIGNsb3NlKCk7Ci0KICAgICB2b2lk
IHNob3dDb25zb2xlKCk7CiAKICAgICB2b2lkIHN0YXJ0SmF2YVNjcmlwdERlYnVnZ2luZygpOwpA
QCAtNzUsOSArODUsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgc3RhcnRKYXZhU2NyaXB0UHJvZmls
aW5nKCk7CiAgICAgdm9pZCBzdG9wSmF2YVNjcmlwdFByb2ZpbGluZygpOwogCi0gICAgdm9pZCBz
dGFydFBhZ2VQcm9maWxpbmcoKTsKLSAgICB2b2lkIHN0b3BQYWdlUHJvZmlsaW5nKCk7Ci0KICAg
ICBXZWJQYWdlKiBtX3BhZ2U7CiAgICAgV2ViUGFnZSogbV9pbnNwZWN0b3JQYWdlOwogfTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJl
dmlzaW9uIDc2Njg0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjc0LDcgKzEyNzQsNyBAQCBXZWJJbnNwZWN0b3Iq
IFdlYlBhZ2U6Omluc3BlY3RvcigpCiAgICAgaWYgKG1faXNDbG9zZWQpCiAgICAgICAgIHJldHVy
biAwOwogICAgIGlmICghbV9pbnNwZWN0b3IpCi0gICAgICAgIG1faW5zcGVjdG9yID0gYWRvcHRQ
dHIobmV3IFdlYkluc3BlY3Rvcih0aGlzKSk7CisgICAgICAgIG1faW5zcGVjdG9yID0gV2ViSW5z
cGVjdG9yOjpjcmVhdGUodGhpcyk7CiAgICAgcmV0dXJuIG1faW5zcGVjdG9yLmdldCgpOwogfQog
I2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgJKHJldmlzaW9uIDc2Njg0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDg4LDcgKzQ4OCw3IEBAIHByaXZhdGU6CiAg
ICAgUmVmUHRyPFBhZ2VPdmVybGF5PiBtX3BhZ2VPdmVybGF5OwogCiAjaWYgRU5BQkxFKElOU1BF
Q1RPUikKLSAgICBPd25QdHI8V2ViSW5zcGVjdG9yPiBtX2luc3BlY3RvcjsKKyAgICBSZWZQdHI8
V2ViSW5zcGVjdG9yPiBtX2luc3BlY3RvcjsKICNlbmRpZgogICAgIFJlZlB0cjxXZWJQb3B1cE1l
bnU+IG1fYWN0aXZlUG9wdXBNZW51OwogICAgIFJlZlB0cjxXZWJDb250ZXh0TWVudT4gbV9jb250
ZXh0TWVudTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oJKHJldmlzaW9uIDc2Njg0
KQorKysgU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0xODA4LDYgKzE4MDgsMTQgQEAKIAkJCQkJCQk+CiAJCQkJCQk8L0ZpbGU+CiAJCQkJCQk8Rmls
ZQorCQkJCQkJCVJlbGF0aXZlUGF0aD0iLi5cV2ViUHJvY2Vzc1xJbmplY3RlZEJ1bmRsZVxBUElc
Y1xXS0J1bmRsZUluc3BlY3Rvci5jcHAiCisJCQkJCQkJPgorCQkJCQkJPC9GaWxlPgorCQkJCQkJ
PEZpbGUKKwkJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFdlYlByb2Nlc3NcSW5qZWN0ZWRCdW5kbGVc
QVBJXGNcV0tCdW5kbGVJbnNwZWN0b3IuaCIKKwkJCQkJCQk+CisJCQkJCQk8L0ZpbGU+CisJCQkJ
CQk8RmlsZQogCQkJCQkJCVJlbGF0aXZlUGF0aD0iLi5cV2ViUHJvY2Vzc1xJbmplY3RlZEJ1bmRs
ZVxBUElcY1xXS0J1bmRsZUhpdFRlc3RSZXN1bHQuY3BwIgogCQkJCQkJCT4KIAkJCQkJCTwvRmls
ZT4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyR2VuZXJhdGVkLm1ha2UKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJHZW5lcmF0ZWQubWFrZQkocmV2aXNp
b24gNzY2ODQpCisrKyBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtlCSh3
b3JraW5nIGNvcHkpCkBAIC03Myw2ICs3Myw3IEBAIGFsbDoKICAgICB4Y29weSAveSAvZCAiLi5c
V2ViUHJvY2Vzc1xJbmplY3RlZEJ1bmRsZVxBUElcY1xXS0J1bmRsZUZyYW1lUHJpdmF0ZS5oIiAi
JUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9k
ICIuLlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXEFQSVxjXFdLQnVuZGxlSGl0VGVzdFJlc3Vs
dC5oIiAiJUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5
IC95IC9kICIuLlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXEFQSVxjXFdLQnVuZGxlSW5pdGlh
bGl6ZS5oIiAiJUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgorICAgIHhj
b3B5IC95IC9kICIuLlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXEFQSVxjXFdLQnVuZGxlSW5z
cGVjdG9yLmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIiCiAgICAg
eGNvcHkgL3kgL2QgIi4uXFdlYlByb2Nlc3NcSW5qZWN0ZWRCdW5kbGVcQVBJXGNcV0tCdW5kbGVO
b2RlSGFuZGxlLmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIiCiAg
ICAgeGNvcHkgL3kgL2QgIi4uXFdlYlByb2Nlc3NcSW5qZWN0ZWRCdW5kbGVcQVBJXGNcV0tCdW5k
bGVOb2RlSGFuZGxlUHJpdmF0ZS5oIiAiJUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxX
ZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXEFQ
SVxjXFdLQnVuZGxlUGFnZS5oIiAiJUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJL
aXQyIgpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxv
ZwkocmV2aXNpb24gNzY3NjUpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwyNCBAQAorMjAxMS0wMS0yNiAgTWFjaWVqIFN0YWNob3dpYWsgIDxtanNAYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdl
YktpdFRlc3RSdW5uZXIgbmVlZHMgdG8gc3VwcG9ydCBsYXlvdXRUZXN0Q29udHJvbGxlci5ldmFs
dWF0ZUluV2ViSW5zcGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MjMxOQorICAgICAgICAKKyAgICAgICAgQWRkIGV2YWx1YXRlSW5XZWJJbnNw
ZWN0b3IgYW5kIG90aGVyIEFQSXMgbmVlZGVkIGZvciBpbnNwZWN0b3IgdGVzdHMgdG8gcnVuLgor
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9MYXlv
dXRUZXN0Q29udHJvbGxlci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OkxheW91dFRl
c3RDb250cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9yKToKKyAgICAgICAgKFdUUjo6TGF5b3V0VGVz
dENvbnRyb2xsZXI6OmNsb3NlV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKFdUUjo6TGF5b3V0VGVz
dENvbnRyb2xsZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IpOgorICAgICAgICAoV1RSOjpMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmg6
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAg
IChXVFI6OnNob3VsZE9wZW5XZWJJbnNwZWN0b3IpOgorICAgICAgICAoV1RSOjpUZXN0SW52b2Nh
dGlvbjo6aW52b2tlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5u
ZXJQcmVmaXguaDoKKwogMjAxMS0wMS0yNiAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGln
YWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWGFuIExvcGV6LgpJbmRleDogVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAJKHJldmlzaW9uIDc2Njg0KQorKysg
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxjbGltaXRzPgogI2luY2x1ZGUgPGNzdGRpbz4K
ICNpbmNsdWRlIDxXZWJLaXQyL1dLQ29udGV4dFByaXZhdGUuaD4KKyNpbmNsdWRlIDxXZWJLaXQy
L1dLSW5zcGVjdG9yLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1JldGFpblB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duQXJyYXlQdHIuaD4K
QEAgLTExMyw2ICsxMTQsMTEgQEAgc3RhdGljIHZvaWQgc2l6ZVdlYlZpZXdGb3JDdXJyZW50VGVz
dChjaAogICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2hhcmVkKCkubWFpbldlYlZpZXcoKS0+cmVz
aXplVG8obm9ybWFsV2lkdGgsIG5vcm1hbEhlaWdodCk7CiB9CiAKK3N0YXRpYyBib29sIHNob3Vs
ZE9wZW5XZWJJbnNwZWN0b3IoY29uc3QgY2hhciogcGF0aE9yVVJMKQoreworICAgIHJldHVybiBz
dHJzdHIocGF0aE9yVVJMLCAiaW5zcGVjdG9yLyIpOworfQorCiB2b2lkIFRlc3RJbnZvY2F0aW9u
OjppbnZva2UoKQogewogICAgIHNpemVXZWJWaWV3Rm9yQ3VycmVudFRlc3QobV9wYXRoT3JVUkwp
OwpAQCAtMTMwLDE3ICsxMzYsMTggQEAgdm9pZCBUZXN0SW52b2NhdGlvbjo6aW52b2tlKCkKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlmIChzaG91bGRPcGVuV2ViSW5zcGVjdG9yKG1f
cGF0aE9yVVJMKSkKKyAgICAgICAgV0tJbnNwZWN0b3JTaG93KFdLUGFnZUdldEluc3BlY3RvcihU
ZXN0Q29udHJvbGxlcjo6c2hhcmVkKCkubWFpbldlYlZpZXcoKS0+cGFnZSgpKSk7CisKICAgICBX
S1BhZ2VMb2FkVVJMKFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKS5tYWluV2ViVmlldygpLT5wYWdl
KCksIG1fdXJsLmdldCgpKTsKIAogICAgIFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKS5ydW5VbnRp
bChtX2dvdEZpbmFsTWVzc2FnZSwgVGVzdENvbnRyb2xsZXI6OkxvbmdUaW1lb3V0KTsKLSAgICBp
ZiAoIW1fZ290RmluYWxNZXNzYWdlKSB7CisgICAgaWYgKCFtX2dvdEZpbmFsTWVzc2FnZSkKICAg
ICAgICAgZHVtcCgiVGltZWQgb3V0IHdhaXRpbmcgZm9yIGZpbmFsIG1lc3NhZ2UgZnJvbSB3ZWIg
cHJvY2Vzc1xuIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKG1fZXJyb3IpIHsK
KyAgICBlbHNlIGlmIChtX2Vycm9yKQogICAgICAgICBkdW1wKCJGQUlMXG4iKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KKworICAgIFdLSW5zcGVjdG9yQ2xvc2UoV0tQYWdlR2V0SW5zcGVjdG9y
KFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKS5tYWluV2ViVmlldygpLT5wYWdlKCkpKTsKIH0KIAog
dm9pZCBUZXN0SW52b2NhdGlvbjo6ZHVtcChjb25zdCBjaGFyKiBzdHJpbmdUb0R1bXApCkluZGV4
OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXJQcmVmaXguaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXJQcmVmaXguaAko
cmV2aXNpb24gNzY2ODQpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5u
ZXJQcmVmaXguaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNCArMzQsNSBAQAogI2RlZmluZSBtaW4g
bWluCiAjZW5kaWYKIAorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPFdlYktp
dDIvV2ViS2l0Mi5oPgpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9u
IDc2Njg0KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNs
dWRlIDxXZWJLaXQyL1dLQnVuZGxlQmFja0ZvcndhcmRMaXN0Lmg+CiAjaW5jbHVkZSA8V2ViS2l0
Mi9XS0J1bmRsZUZyYW1lLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0J1bmRsZUZyYW1lUHJpdmF0
ZS5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tCdW5kbGVJbnNwZWN0b3IuaD4KICNpbmNsdWRlIDxX
ZWJLaXQyL1dLQnVuZGxlUGFnZVByaXZhdGUuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLQnVuZGxl
U2NyaXB0V29ybGQuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLQnVuZGxlUHJpdmF0ZS5oPgpAQCAt
MzA5LDYgKzMxMCwyNyBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjptYWtlV2luZG93T2Jq
CiAgICAgc2V0UHJvcGVydHkoY29udGV4dCwgd2luZG93T2JqZWN0LCAibGF5b3V0VGVzdENvbnRy
b2xsZXIiLCB0aGlzLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlB
dHRyaWJ1dGVEb250RGVsZXRlLCBleGNlcHRpb24pOwogfQogCit2b2lkIExheW91dFRlc3RDb250
cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9yKCkKK3sKKyAgICBXS0J1bmRsZUluc3BlY3RvclNob3co
V0tCdW5kbGVQYWdlR2V0SW5zcGVjdG9yKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdlKCkt
PnBhZ2UoKSkpOworfQorCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpjbG9zZVdlYkluc3Bl
Y3RvcigpCit7CisgICAgV0tCdW5kbGVJbnNwZWN0b3JDbG9zZShXS0J1bmRsZVBhZ2VHZXRJbnNw
ZWN0b3IoSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2UoKS0+cGFnZSgpKSk7Cit9CisKK3Zv
aWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZyBjYWxs
SUQsIEpTU3RyaW5nUmVmIHNjcmlwdCkKK3sKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4g
c2NyaXB0V0sgPSB0b1dLKHNjcmlwdCk7CisgICAgV0tCdW5kbGVJbnNwZWN0b3JFdmFsdWF0ZVNj
cmlwdEZvclRlc3QoV0tCdW5kbGVQYWdlR2V0SW5zcGVjdG9yKEluamVjdGVkQnVuZGxlOjpzaGFy
ZWQoKS5wYWdlKCktPnBhZ2UoKSksIGNhbGxJRCwgc2NyaXB0V0suZ2V0KCkpOworfQorCit2b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoYm9vbCBl
bmFibGVkKQoreworICAgIFdLQnVuZGxlSW5zcGVjdG9yU2V0UGFnZVByb2ZpbGluZ0VuYWJsZWQo
V0tCdW5kbGVQYWdlR2V0SW5zcGVjdG9yKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdlKCkt
PnBhZ2UoKSksIGVuYWJsZWQpOworfQorCiB0eXBlZGVmIFdURjo6SGFzaE1hcDx1bnNpZ25lZCwg
V0tSZXRhaW5QdHI8V0tCdW5kbGVTY3JpcHRXb3JsZFJlZj4gPiBXb3JsZE1hcDsKIHN0YXRpYyBX
b3JsZE1hcCYgd29ybGRNYXAoKQogewpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAkocmV2
aXNpb24gNzY2ODQpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xh
eW91dFRlc3RDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNiw2ICsxMjYsMTEgQEAg
cHVibGljOgogICAgIHZvaWQgZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQoSlNDb250ZXh0
UmVmLCB1bnNpZ25lZCB3b3JsZElELCBKU1N0cmluZ1JlZiBzY3JpcHQpOwogICAgIHN0YXRpYyB1
bnNpZ25lZCB3b3JsZElERm9yV29ybGQoV0tCdW5kbGVTY3JpcHRXb3JsZFJlZik7CiAKKyAgICB2
b2lkIHNob3dXZWJJbnNwZWN0b3IoKTsKKyAgICB2b2lkIGNsb3NlV2ViSW5zcGVjdG9yKCk7Cisg
ICAgdm9pZCBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElkLCBKU1N0cmluZ1JlZiBz
Y3JpcHQpOworICAgIHZvaWQgc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKGJvb2wpOworCiBw
cml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBkb3VibGUgd2FpdFRvRHVtcFdhdGNoZG9nVGltZXJJ
bnRlcnZhbDsKIApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9MYXlvdXRUZXN0Q29udHJvbGxl
ci5pZGwJKHJldmlzaW9uIDc2Njg0KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9CaW5kaW5ncy9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTc3LDggKzc3LDE0IEBAIG1vZHVsZSBXVFIgewogICAgICAgICAvLyBUZXh0IHNlYXJjaCB0
ZXN0aW5nLgogICAgICAgICBib29sZWFuIGZpbmRTdHJpbmcoaW4gRE9NU3RyaW5nIHRhcmdldCwg
aW4gb2JqZWN0IG9wdGlvbnNBcnJheSk7CiAKLSAgICAgICAgLy8gRXZhbHVhdGluZyBzY3JpcHQg
aW4gYSBzcGVjaWFsIGNvbnRleHQKLSAgICAgICAgW1Bhc3NDb250ZXh0XSB2b2lkIGV2YWx1YXRl
U2NyaXB0SW5Jc29sYXRlZFdvcmxkKGluIHVuc2lnbmVkIGxvbmcgd29ybGRJRCwgaW4gRE9NU3Ry
aW5nIHNjcmlwdCkKKyAgICAgICAgLy8gRXZhbHVhdGluZyBzY3JpcHQgaW4gYSBzcGVjaWFsIGNv
bnRleHQuCisgICAgICAgIFtQYXNzQ29udGV4dF0gdm9pZCBldmFsdWF0ZVNjcmlwdEluSXNvbGF0
ZWRXb3JsZChpbiB1bnNpZ25lZCBsb25nIHdvcmxkSUQsIGluIERPTVN0cmluZyBzY3JpcHQpOwor
CisgICAgICAgIC8vIEZvciBXZWIgSW5zcGVjdG9yIHRlc3RzCisgICAgICAgIHZvaWQgc2hvd1dl
Ykluc3BlY3RvcigpOworICAgICAgICB2b2lkIGNsb3NlV2ViSW5zcGVjdG9yKCk7CisgICAgICAg
IHZvaWQgZXZhbHVhdGVJbldlYkluc3BlY3RvcihpbiBsb25nIGNhbGxJRCwgaW4gRE9NU3RyaW5n
IHNjcmlwdCk7CisgICAgICAgIHZvaWQgc2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKGluIGJv
b2xlYW4gZW5hYmxlZCk7CiAgICAgfTsKIAogfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNzY3NjUpCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAor
MjAxMS0wMS0yNiAgTWFjaWVqIFN0YWNob3dpYWsgIDxtanNAYXBwbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYktpdFRlc3RSdW5uZXIg
bmVlZHMgdG8gc3VwcG9ydCBsYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZUluV2ViSW5zcGVj
dG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjMx
OQorICAgICAgICAKKyAgICAgICAgVW5za2lwIGluc3BlY3RvciB0ZXN0cyAoZXhjZXB0IHRoZSBm
ZXcgdGhhdCBteXN0ZXJpb3VzbHkgZmFpbCkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sy
L1NraXBwZWQ6CisKIDIwMTEtMDEtMjYgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQgQ2hyb21pdW0gdGVzdCBleHBlY3RhdGlvbiBjaGFuZ2Uu
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1NraXBwZWQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9Ta2lwcGVkCShyZXZpc2lvbiA3NjY4NSkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvU2tpcHBlZAkod29ya2luZyBjb3B5KQpA
QCAtNTYsNiArNTYsNyBAQCBjb21wb3NpdGluZy9pZnJhbWVzL2lmcmFtZS1zcmMtY2hhbmdlLmh0
CiAKICMgV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBldmVudFNl
bmRlcgogIyA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMTk0Pgor
aW5zcGVjdG9yL3RpbWVsaW5lLWV2ZW50LWRpc3BhdGNoLmh0bWwKIGZhc3QvdGV4dC9vZmZzZXRG
b3JQb3NpdGlvbi1jb21wbGV4LWZhbGxiYWNrLmh0bWwKIHN2Zy9hbmltYXRpb25zL2FuaW1hdGUt
cGF0aC10by1hbmltYXRpb24uaHRtbAogZmFzdC9mb3Jtcy9pbnB1dC1udW1iZXItY2hhbmdlLXR5
cGUtb24tZm9jdXMuaHRtbApAQCAtMTI1NCwxMiArMTI1NSw2IEBAIGVkaXRpbmcvdW5kby91bmRv
LXR5cGluZy0wMDEuaHRtbAogIyA8cmRhcjovL3Byb2JsZW0vODg2NzgwND4KIHN2Zy9jc3MvY3Vy
c29yLXJlcGxhY2Uuc3ZnCiAKLSMgV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyB0byBzdXBwb3J0IGV2
YWx1YXRlSW5XZWJJbnNwZWN0b3IKLSMgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MjMxOT4KLWh0dHAvdGVzdHMvaW5zcGVjdG9yLWVuYWJsZWQKLWh0dHAvdGVzdHMv
aW5zcGVjdG9yCi1pbnNwZWN0b3IKLQogIyBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIHRvIHN1cHBv
cnQgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcERPTUFzV2ViQXJjaGl2ZQogIyA8aHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMzI0PgogaHR0cC90ZXN0cy93ZWJhcmNo
aXZlL2Nyb3NzLW9yaWdpbi1zdHlsZXNoZWV0LWNyYXNoLmh0bWwKQEAgLTIyODIsNiArMjI3Nywx
MCBAQCBmYXN0L3dvcmtlcnMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWlucHV0CiBmYXN0L3dvcmtl
cnMvc3RvcmFnZS9zcWwtZXhjZXB0aW9uLWNvZGVzLXN5bmMuaHRtbAogc3RvcmFnZS9tdWx0aXBs
ZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmh0bWwKIAorIyBVbmtub3duIGZhaWx1cmVz
IGFmdGVyIGVuYWJsaW5nIGluc3BlY3RvciB0ZXN0cworaW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50
Lmh0bWwKK2luc3BlY3Rvci90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbAorCiAjIyMgRU5EIE9G
ICgzKSBVbmNsYXNzaWZpZWQgZmFpbHVyZXMKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80299</attachid>
            <date>2011-01-27 00:18:49 -0800</date>
            <delta_ts>2011-01-27 00:21:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42319-20110127001847.patch</filename>
            <type>text/plain</type>
            <size>31394</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2NzY2KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTEtMDEtMjYgIE1hY2llaiBT
dGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIHRvIHN1cHBvcnQgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVJbldlYkluc3BlY3RvcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIzMTkKKworICAgICAgICBBZGQgV0tC
dW5kbGVJbnNwZWN0b3IgYW5kIEFQSXMgbmVlZGVkIHRvIGltcGxlbWVudCBXZWJLaXRUZXN0UnVu
bmVyIEFQSXMuCisgICAgICAgIAorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAq
IFNoYXJlZC9BUEkvYy9XS0Jhc2UuaDoKKyAgICAgICAgKiBTaGFyZWQvQVBJT2JqZWN0Lmg6Cisg
ICAgICAgICogV2ViS2l0Mi5wcm86CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVBUElDYXN0Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZUluc3BlY3Rvci5jcHA6IEFkZGVkLgorICAgICAgICAoV0tCdW5kbGVJbnNwZWN0
b3JHZXRUeXBlSUQpOgorICAgICAgICAoV0tCdW5kbGVJbnNwZWN0b3JTaG93KToKKyAgICAgICAg
KFdLQnVuZGxlSW5zcGVjdG9yQ2xvc2UpOgorICAgICAgICAoV0tCdW5kbGVJbnNwZWN0b3JFdmFs
dWF0ZVNjcmlwdEZvclRlc3QpOgorICAgICAgICAoV0tCdW5kbGVJbnNwZWN0b3JTZXRQYWdlUHJv
ZmlsaW5nRW5hYmxlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZUluc3BlY3Rvci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHA6CisgICAgICAgIChXS0J1bmRsZVBhZ2VH
ZXRJbnNwZWN0b3IpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rv
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3Rvcjo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViSW5zcGVjdG9yOjpldmFsdWF0ZVNjcmlwdEZvclRlc3QpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
SW5zcGVjdG9yOjp0eXBlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6Omluc3BlY3Rvcik6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi52Y3Byb2o6
CisgICAgICAgICogd2luL1dlYktpdDJHZW5lcmF0ZWQubWFrZToKKwogMjAxMS0wMS0yNiAgRGF2
aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIDxodHRwOi8vd2Via2l0
Lm9yZy9iLzUzMTkyPiBBZGQgZXhwZXJpbWVudGFsIHN1cHBvcnQgZm9yIEhUVFAgcGlwZWxpbmlu
ZyBpbiBDRk5ldHdvcmsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA3NjY4NCkK
KysrIFNvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC00MzMs
NiArNDMzLDggQEAgbGliV2ViS2l0Ml9sYV9TT1VSQ0VTID0gXAogCVNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcCBc
CiAJU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZUhpdFRlc3RSZXN1bHQuaCBcCiAJU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZUluaXRpYWxpemUuaCBcCisJU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUluc3BlY3Rvci5jcHAgXAorCVNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVJbnNwZWN0
b3IuaCBcCiAJU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZU5vZGVIYW5kbGUuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlTm9kZUhhbmRsZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlTm9kZUhhbmRsZVByaXZhdGUu
aCBcCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnBybwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9XZWJLaXQyLnBybwkocmV2aXNpb24gNzY2ODQpCisrKyBTb3VyY2UvV2ViS2l0
Mi9XZWJLaXQyLnBybwkod29ya2luZyBjb3B5KQpAQCAtNjIwLDYgKzYyMCw3IEBAIFNPVVJDRVMg
Kz0gXAogICAgIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVCYWNrRm9y
d2FyZExpc3RJdGVtLmNwcCBcCiAgICAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZUZyYW1lLmNwcCBcCiAgICAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZUhpdFRlc3RSZXN1bHQuY3BwIFwKKyAgICBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlSW5zcGVjdG9yLmNwcCBcCiAgICAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGUuY3BwIFwKICAgICBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAgXAogICAgIFdlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlR3JvdXAuY3BwIFwKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUElPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQVBJT2JqZWN0LmgJKHJldmlzaW9uIDc2Njg0KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSU9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NSw2ICs4NSw3IEBAIHB1YmxpYzoKICAg
ICAgICAgVHlwZUJ1bmRsZUJhY2tGb3J3YXJkTGlzdEl0ZW0sCiAgICAgICAgIFR5cGVCdW5kbGVG
cmFtZSwKICAgICAgICAgVHlwZUJ1bmRsZUhpdFRlc3RSZXN1bHQsCisgICAgICAgIFR5cGVCdW5k
bGVJbnNwZWN0b3IsCiAgICAgICAgIFR5cGVCdW5kbGVOb2RlSGFuZGxlLAogICAgICAgICBUeXBl
QnVuZGxlUGFnZSwKICAgICAgICAgVHlwZUJ1bmRsZVBhZ2VHcm91cCwKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmgJKHJldmlzaW9uIDc2Njg0KQorKysgU291cmNlL1dlYktp
dDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC05Miw2ICs5Miw3IEBA
IHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLQnVuZGxlQmFja0YKIHR5cGVkZWYgY29uc3Qg
c3RydWN0IE9wYXF1ZVdLQnVuZGxlRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiogV0tCdW5kbGVDU1NT
dHlsZURlY2xhcmF0aW9uUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tCdW5kbGVG
cmFtZSogV0tCdW5kbGVGcmFtZVJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLQnVu
ZGxlSGl0VGVzdFJlc3VsdCogV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmOwordHlwZWRlZiBjb25z
dCBzdHJ1Y3QgT3BhcXVlV0tCdW5kbGVJbnNwZWN0b3IqIFdLQnVuZGxlSW5zcGVjdG9yUmVmOwog
dHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tCdW5kbGVOb2RlSGFuZGxlKiBXS0J1bmRsZU5v
ZGVIYW5kbGVSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0J1bmRsZVBhZ2UqIFdL
QnVuZGxlUGFnZVJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLQnVuZGxlUGFnZUdy
b3VwKiBXS0J1bmRsZVBhZ2VHcm91cFJlZjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDc2Njg0KQorKysgU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC0yODYsNiArMjg2LDggQEAKIAkJNTFBQ0JCQTExMjdBOEYyQzAwRDIwM0I5IC8qIFdl
YkNvbnRleHRNZW51UHJveHlNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MUFDQkI5RjEyN0E4RjJDMDBEMjAzQjkgLyogV2ViQ29udGV4dE1lbnVQ
cm94eU1hYy5tbSAqLzsgfTsKIAkJNTFCMzAwNTAxMjUyOUQwRTAwMEI1Q0EwIC8qIFdlYkJhY2tG
b3J3YXJkTGlzdENGLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxQjMwMDRFMTI1MjlEMEUwMDBCNUNBMCAvKiBXZWJCYWNrRm9yd2FyZExpc3RDRi5j
cHAgKi87IH07CiAJCTUxQjMwMDUxMTI1MjlEMEUwMDBCNUNBMCAvKiBXZWJQYWdlUHJveHlDRi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUIzMDA0
RjEyNTI5RDBFMDAwQjVDQTAgLyogV2ViUGFnZVByb3h5Q0YuY3BwICovOyB9OworCQk2NTAxQkQx
QTEyRjEyNDM0MDBFOUYyNDggLyogV0tCdW5kbGVJbnNwZWN0b3IuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjVCODZGMTcxMkYxMUQ3QjAwQjdERDhB
IC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCAqLzsgfTsKKwkJNjVCODZGMUUxMkYxMURFMzAwQjdE
RDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2NUI4NkYxODEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJbnNw
ZWN0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJ
CTZEOEE5MUE2MTFGMEVGRDEwMEREMDFGRSAvKiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYiBpbiBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkQ4QTkxQTUxMUYw
RUZEMTAwREQwMUZFIC8qIGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiICovOyB9OwogCQk3NjJCNzQ4
RDEyMEJDNzVDMDA4MTkzMzkgLyogV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2MkI3NDg0MTIwQkJBMkQwMDgxOTMz
OSAvKiBXS1ByZWZlcmVuY2VzUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCThEQzJFRjUzMDQ4NkE2OTQwMDk4QjIxNiAvKiBJbmZvUGxp
c3Quc3RyaW5ncyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDg5QzE2NjZGRTg0MTE1OEMwMkFBQzA3IC8qIEluZm9QbGlzdC5zdHJpbmdzICovOyB9OwpA
QCAtMTAzMyw2ICsxMDM1LDggQEAKIAkJNTFCMzAwNEYxMjUyOUQwRTAwMEI1Q0EwIC8qIFdlYlBh
Z2VQcm94eUNGLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYlBh
Z2VQcm94eUNGLmNwcDsgcGF0aCA9IGNmL1dlYlBhZ2VQcm94eUNGLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNURBRDcyOTQxMTZGRjcwQjAwRUU1Mzk2IC8qIFdlYlByb2Nlc3Mu
eGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gV2ViUHJvY2Vzcy54Y2Nv
bmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNURBRDczRjExMTZGRjkwQzAwRUU1
Mzk2IC8qIEJhc2VUYXJnZXQueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRo
ID0gQmFzZVRhcmdldC54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjVC
ODZGMTcxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLQnVuZGxlSW5zcGVjdG9yLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjVCODZGMTgxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVu
ZGxlSW5zcGVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnVuZGxl
SW5zcGVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZEOEE5MUE1MTFGMEVG
RDEwMEREMDFGRSAvKiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYiAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5h
bWUgPSBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYjsgcGF0aCA9IFdlYlByb2Nlc3MvY29tLmFwcGxl
LldlYlByb2Nlc3Muc2I7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2MkI3NDgxMTIw
QkJBMDEwMDgxOTMzOSAvKiBGb250U21vb3RoaW5nTGV2ZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRm9udFNtb290aGluZ0xldmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTc2MkI3NDg0MTIwQkJBMkQwMDgxOTMzOSAvKiBXS1ByZWZlcmVuY2VzUHJpdmF0
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1ByZWZlcmVuY2VzUHJpdmF0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjQzNyw2ICsyNDQxLDggQEAKIAkJ
CQlCQzQ5ODYyRTEyNEQxOEMxMDBEODM0RTEgLyogV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcCAq
LywKIAkJCQlCQzQ5ODYyRDEyNEQxOEMxMDBEODM0RTEgLyogV0tCdW5kbGVIaXRUZXN0UmVzdWx0
LmggKi8sCiAJCQkJQkMyMDRFRUQxMUM4M0VDODAwOEYzMzc1IC8qIFdLQnVuZGxlSW5pdGlhbGl6
ZS5oICovLAorCQkJCTY1Qjg2RjE3MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rv
ci5jcHAgKi8sCisJCQkJNjVCODZGMTgxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVj
dG9yLmggKi8sCiAJCQkJQkM0QkVGRTAxMjBBMUE0QzAwRkJBMEM3IC8qIFdLQnVuZGxlTm9kZUhh
bmRsZS5jcHAgKi8sCiAJCQkJQkM0QkVGREYxMjBBMUE0QzAwRkJBMEM3IC8qIFdLQnVuZGxlTm9k
ZUhhbmRsZS5oICovLAogCQkJCUJDNTc0NTBCMTI2M0IxNTUwMDZGMEYxMiAvKiBXS0J1bmRsZU5v
ZGVIYW5kbGVQcml2YXRlLmggKi8sCkBAIC0yODMzLDYgKzI4MzksNyBAQAogCQkJCUJDMjA0RUYw
MTFDODNFQzgwMDhGMzM3NSAvKiBXS0J1bmRsZUFQSUNhc3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDRDI1RjE3MTFENkJERTEwMDE2OUIwRSAvKiBXS0J1bmRsZUZyYW1lLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzIwNEVGMjExQzgzRUM4MDA4RjMzNzUgLyogV0tCdW5kbGVJbml0aWFsaXplLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk2NUI4NkYxRTEyRjExREUzMDBCN0REOEEgLyogV0tCdW5kbGVJ
bnNwZWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMjA1MjgxMTFDOTQyODQwMDhGMzM3NSAv
KiBXS0J1bmRsZVBhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMUI0MTk4MTFENDFENTcwMDEx
RThERCAvKiBXS0J1bmRsZVBhZ2VQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0I5RTI0
QjExMjBFMTVDMDBBMTM3RTAgLyogV0tDb250ZXh0LmggaW4gSGVhZGVycyAqLywKQEAgLTM1NDgs
NiArMzU1NSw3IEBACiAJCQkJRTEzNEYwMUExMkVBNUQ5OTAwNEVDNThEIC8qIFdLUHJpbnRpbmdW
aWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUExODZFRUIxMkVGNzYxODAwOEU1RjM3IC8qIExh
eWVyVHJlZUhvc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUExODcxODUxMkVGOTg3NzAwOEU1
RjM3IC8qIExheWVyVHJlZUhvc3RNYWMubW0gaW4gU291cmNlcyAqLywKKwkJCQk2NTAxQkQxQTEy
RjEyNDM0MDBFOUYyNDggLyogV0tCdW5kbGVJbnNwZWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlQVBJQ2FzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVBUElDYXN0LmgJKHJldmlzaW9uIDc2Njg0KQorKysg
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUFQ
SUNhc3QuaAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBAQCBjbGFzcyBJbmplY3RlZEJ1
bmRsZVJhbmdlSGFuZGxlOwogY2xhc3MgSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZDsKIGNsYXNz
IFBhZ2VPdmVybGF5OwogY2xhc3MgV2ViRnJhbWU7CitjbGFzcyBXZWJJbnNwZWN0b3I7CiBjbGFz
cyBXZWJQYWdlOwogY2xhc3MgV2ViUGFnZUdyb3VwUHJveHk7CiAKQEAgLTU4LDYgKzU5LDcgQEAg
V0tfQUREX0FQSV9NQVBQSU5HKFdLQnVuZGxlQmFja0ZvcndhcmRMaQogV0tfQUREX0FQSV9NQVBQ
SU5HKFdLQnVuZGxlQ1NTU3R5bGVEZWNsYXJhdGlvblJlZiwgV2ViQ29yZTo6Q1NTU3R5bGVEZWNs
YXJhdGlvbikKIFdLX0FERF9BUElfTUFQUElORyhXS0J1bmRsZUZyYW1lUmVmLCBXZWJGcmFtZSkK
IFdLX0FERF9BUElfTUFQUElORyhXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYsIEluamVjdGVkQnVu
ZGxlSGl0VGVzdFJlc3VsdCkKK1dLX0FERF9BUElfTUFQUElORyhXS0J1bmRsZUluc3BlY3RvclJl
ZiwgV2ViSW5zcGVjdG9yKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLQnVuZGxlTm9kZUhhbmRsZVJl
ZiwgSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLQnVuZGxl
UGFnZUdyb3VwUmVmLCBXZWJQYWdlR3JvdXBQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS0J1
bmRsZVBhZ2VPdmVybGF5UmVmLCBQYWdlT3ZlcmxheSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVJbnNwZWN0b3IuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVJbnNwZWN0b3IuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUluc3BlY3Rvci5jcHAJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiV0tCdW5kbGVJ
bnNwZWN0b3IuaCIKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisKKyNpbmNsdWRlICJXS0FQSUNh
c3QuaCIKKyNpbmNsdWRlICJXS0J1bmRsZUFQSUNhc3QuaCIKKyNpbmNsdWRlICJXZWJJbnNwZWN0
b3IuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Cit1c2luZyBuYW1lc3BhY2UgV2ViS2l0
OworCitXS1R5cGVJRCBXS0J1bmRsZUluc3BlY3RvckdldFR5cGVJRCgpCit7CisgICAgcmV0dXJu
IHRvQVBJKFdlYkluc3BlY3Rvcjo6QVBJVHlwZSk7Cit9CisKK3ZvaWQgV0tCdW5kbGVJbnNwZWN0
b3JTaG93KFdLQnVuZGxlSW5zcGVjdG9yUmVmIGluc3BlY3RvclJlZikKK3sKKyAgICByZXR1cm4g
dG9JbXBsKGluc3BlY3RvclJlZiktPnNob3coKTsKK30KKwordm9pZCBXS0J1bmRsZUluc3BlY3Rv
ckNsb3NlKFdLQnVuZGxlSW5zcGVjdG9yUmVmIGluc3BlY3RvclJlZikKK3sKKyAgICByZXR1cm4g
dG9JbXBsKGluc3BlY3RvclJlZiktPmNsb3NlKCk7Cit9CisKK3ZvaWQgV0tCdW5kbGVJbnNwZWN0
b3JFdmFsdWF0ZVNjcmlwdEZvclRlc3QoV0tCdW5kbGVJbnNwZWN0b3JSZWYgaW5zcGVjdG9yUmVm
LCBsb25nIGNhbGxJRCwgV0tTdHJpbmdSZWYgc2NyaXB0KQoreworICAgIHJldHVybiB0b0ltcGwo
aW5zcGVjdG9yUmVmKS0+ZXZhbHVhdGVTY3JpcHRGb3JUZXN0KGNhbGxJRCwgdG9JbXBsKHNjcmlw
dCktPnN0cmluZygpKTsKK30KKwordm9pZCBXS0J1bmRsZUluc3BlY3RvclNldFBhZ2VQcm9maWxp
bmdFbmFibGVkKFdLQnVuZGxlSW5zcGVjdG9yUmVmIGluc3BlY3RvclJlZiwgYm9vbCBlbmFibGVk
KQoreworICAgIGlmIChlbmFibGVkKQorICAgICAgICB0b0ltcGwoaW5zcGVjdG9yUmVmKS0+c3Rh
cnRQYWdlUHJvZmlsaW5nKCk7CisgICAgZWxzZQorICAgICAgICB0b0ltcGwoaW5zcGVjdG9yUmVm
KS0+c3RvcFBhZ2VQcm9maWxpbmcoKTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1Ip
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlSW5zcGVjdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUluc3BlY3Rvci5oCShyZXZpc2lvbiAwKQor
KysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZUluc3BlY3Rvci5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBXS0J1bmRsZUluc3BlY3Rvcl9oCisjZGVmaW5lIFdLQnVuZGxlSW5zcGVjdG9yX2gK
KworI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQor
CisjaWZuZGVmIF9fY3BsdXNwbHVzCisjaW5jbHVkZSA8c3RkYm9vbC5oPgorI2VuZGlmCisKKyNp
ZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworV0tfRVhQT1JUIFdLVHlw
ZUlEIFdLQnVuZGxlSW5zcGVjdG9yR2V0VHlwZUlEKCk7CisKK1dLX0VYUE9SVCB2b2lkIFdLQnVu
ZGxlSW5zcGVjdG9yU2hvdyhXS0J1bmRsZUluc3BlY3RvclJlZiBpbnNwZWN0b3IpOworV0tfRVhQ
T1JUIHZvaWQgV0tCdW5kbGVJbnNwZWN0b3JDbG9zZShXS0J1bmRsZUluc3BlY3RvclJlZiBpbnNw
ZWN0b3IpOworCitXS19FWFBPUlQgdm9pZCBXS0J1bmRsZUluc3BlY3RvckV2YWx1YXRlU2NyaXB0
Rm9yVGVzdChXS0J1bmRsZUluc3BlY3RvclJlZiBpbnNwZWN0b3IsIGxvbmcgY2FsbElELCBXS1N0
cmluZ1JlZiBzY3JpcHQpOworV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVJbnNwZWN0b3JTZXRQYWdl
UHJvZmlsaW5nRW5hYmxlZChXS0J1bmRsZUluc3BlY3RvclJlZiBpbnNwZWN0b3IsIGJvb2wgZW5h
YmxlZCk7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvLyBFTkFC
TEUoSU5TUEVDVE9SKQorCisjZW5kaWYgLy8gV0tCdW5kbGVJbnNwZWN0b3JfaAorCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFn
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCShyZXZpc2lvbiA3NjY4NCkKKysrIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTg0LDMgKzE4NCwxMCBAQCBXS0ltYWdlUmVmIFdLQnVuZGxlUGFn
ZUNyZWF0ZVNuYXBzaG90SW5ECiAgICAgUmVmUHRyPFdlYkltYWdlPiB3ZWJJbWFnZSA9IHRvSW1w
bChwYWdlUmVmKS0+c25hcHNob3RJbkRvY3VtZW50Q29vcmRpbmF0ZXModG9JbnRSZWN0KHJlY3Qp
LCB0b0ltYWdlT3B0aW9ucyhvcHRpb25zKSk7CiAgICAgcmV0dXJuIHRvQVBJKHdlYkltYWdlLnJl
bGVhc2UoKS5sZWFrUmVmKCkpOwogfQorCisjaWYgZGVmaW5lZChFTkFCTEVfSU5TUEVDVE9SKSAm
JiBFTkFCTEVfSU5TUEVDVE9SCitXS0J1bmRsZUluc3BlY3RvclJlZiBXS0J1bmRsZVBhZ2VHZXRJ
bnNwZWN0b3IoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCit7CisgICAgcmV0dXJuIHRvQVBJKHRv
SW1wbChwYWdlUmVmKS0+aW5zcGVjdG9yKCkpOworfQorI2VuZGlmCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVQYWdlLmgJKHJldmlzaW9uIDc2Njg0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaAkod29ya2luZyBjb3B5KQpA
QCAtMjIwLDYgKzIyMCwxMCBAQCBXS19FWFBPUlQgYm9vbCBXS0J1bmRsZVBhZ2VGaW5kU3RyaW5n
KFdLCiBXS19FWFBPUlQgV0tJbWFnZVJlZiBXS0J1bmRsZVBhZ2VDcmVhdGVTbmFwc2hvdEluVmll
d0Nvb3JkaW5hdGVzKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1JlY3QgcmVjdCwgV0tJbWFnZU9w
dGlvbnMgb3B0aW9ucyk7CiBXS19FWFBPUlQgV0tJbWFnZVJlZiBXS0J1bmRsZVBhZ2VDcmVhdGVT
bmFwc2hvdEluRG9jdW1lbnRDb29yZGluYXRlcyhXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tSZWN0
IHJlY3QsIFdLSW1hZ2VPcHRpb25zIG9wdGlvbnMpOwogCisjaWYgZGVmaW5lZChFTkFCTEVfSU5T
UEVDVE9SKSAmJiBFTkFCTEVfSU5TUEVDVE9SCitXS19FWFBPUlQgV0tCdW5kbGVJbnNwZWN0b3JS
ZWYgV0tCdW5kbGVQYWdlR2V0SW5zcGVjdG9yKFdLQnVuZGxlUGFnZVJlZiBwYWdlKTsKKyNlbmRp
ZgorCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5jcHAJKHJldmlzaW9uIDc2
Njg0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDExIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorUGFzc1JlZlB0cjxXZWJJbnNwZWN0b3I+IFdl
Ykluc3BlY3Rvcjo6Y3JlYXRlKFdlYlBhZ2UqIHBhZ2UpCit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBXZWJJbnNwZWN0b3IocGFnZSkpOworfQorCiBXZWJJbnNwZWN0b3I6OldlYkluc3BlY3Rv
cihXZWJQYWdlKiBwYWdlKQogICAgIDogbV9wYWdlKHBhZ2UpCiAgICAgLCBtX2luc3BlY3RvclBh
Z2UoMCkKQEAgLTkxLDYgKzk2LDExIEBAIHZvaWQgV2ViSW5zcGVjdG9yOjpjbG9zZSgpCiAgICAg
bV9wYWdlLT5jb3JlUGFnZSgpLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmNsb3NlKCk7CiB9CiAK
K3ZvaWQgV2ViSW5zcGVjdG9yOjpldmFsdWF0ZVNjcmlwdEZvclRlc3QobG9uZyBjYWxsSUQsIGNv
bnN0IFN0cmluZyYgc2NyaXB0KQoreworICAgIG1fcGFnZS0+Y29yZVBhZ2UoKS0+aW5zcGVjdG9y
Q29udHJvbGxlcigpLT5ldmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kKGNhbGxJRCwgc2NyaXB0KTsK
K30KKwogdm9pZCBXZWJJbnNwZWN0b3I6OnNob3dDb25zb2xlKCkKIHsKICAgICBtX3BhZ2UtPmNv
cmVQYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2hvd1BhbmVsKEluc3BlY3RvckNvbnRy
b2xsZXI6OkNvbnNvbGVQYW5lbCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViSW5zcGVjdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oCShyZXZpc2lvbiA3NjY4NCkKKysrIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAkod29ya2luZyBjb3B5KQpA
QCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAorI2luY2x1ZGUgIkFQ
SU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtMzcsMTEgKzM4LDExIEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViUGFnZTsKIHN0cnVjdCBXZWJQYWdlQ3JlYXRpb25Q
YXJhbWV0ZXJzOwogCi1jbGFzcyBXZWJJbnNwZWN0b3IgewotICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdlYkluc3BlY3Rvcik7Ci0KK2NsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBBUElPYmpl
Y3QgewogcHVibGljOgotICAgIGV4cGxpY2l0IFdlYkluc3BlY3RvcihXZWJQYWdlKik7CisgICAg
c3RhdGljIGNvbnN0IFR5cGUgQVBJVHlwZSA9IFR5cGVCdW5kbGVJbnNwZWN0b3I7CisKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxXZWJJbnNwZWN0b3I+IGNyZWF0ZShXZWJQYWdlKik7CiAKICAgICBX
ZWJQYWdlKiBwYWdlKCkgY29uc3QgeyByZXR1cm4gbV9wYWdlOyB9CiAgICAgV2ViUGFnZSogaW5z
cGVjdG9yUGFnZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yUGFnZTsgfQpAQCAtNDksMTAg
KzUwLDIzIEBAIHB1YmxpYzoKICAgICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0ZWQgV2ViSW5z
cGVjdG9yTWVzc2FnZVJlY2VpdmVyLmNwcAogICAgIHZvaWQgZGlkUmVjZWl2ZVdlYkluc3BlY3Rv
ck1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQ
Qzo6QXJndW1lbnREZWNvZGVyKik7CiAKKyAgICAvLyBDYWxsZWQgYnkgV2ViSW5zcGVjdG9yIG1l
c3NhZ2VzCisgICAgdm9pZCBzaG93KCk7CisgICAgdm9pZCBjbG9zZSgpOworCisgICAgdm9pZCBl
dmFsdWF0ZVNjcmlwdEZvclRlc3QobG9uZyBjYWxsSUQsIGNvbnN0IFN0cmluZyYgc2NyaXB0KTsK
KworICAgIHZvaWQgc3RhcnRQYWdlUHJvZmlsaW5nKCk7CisgICAgdm9pZCBzdG9wUGFnZVByb2Zp
bGluZygpOworCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBXZWJJbnNwZWN0b3JDbGllbnQ7
CiAgICAgZnJpZW5kIGNsYXNzIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OwogCisgICAgZXhw
bGljaXQgV2ViSW5zcGVjdG9yKFdlYlBhZ2UqKTsKKworICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkg
Y29uc3QgeyByZXR1cm4gQVBJVHlwZTsgfQorCiAgICAgLy8gQ2FsbGVkIGZyb20gV2ViSW5zcGVj
dG9yQ2xpZW50CiAgICAgV2ViUGFnZSogY3JlYXRlSW5zcGVjdG9yUGFnZSgpOwogCkBAIC02Mywx
MCArNzcsNiBAQCBwcml2YXRlOgogICAgIC8vIEltcGxlbWVudGVkIGluIHBsYXRmb3JtIFdlYklu
c3BlY3RvciBmaWxlCiAgICAgU3RyaW5nIGxvY2FsaXplZFN0cmluZ3NVUkwoKSBjb25zdDsKIAot
ICAgIC8vIENhbGxlZCBieSBXZWJJbnNwZWN0b3IgbWVzc2FnZXMKLSAgICB2b2lkIHNob3coKTsK
LSAgICB2b2lkIGNsb3NlKCk7Ci0KICAgICB2b2lkIHNob3dDb25zb2xlKCk7CiAKICAgICB2b2lk
IHN0YXJ0SmF2YVNjcmlwdERlYnVnZ2luZygpOwpAQCAtNzUsOSArODUsNiBAQCBwcml2YXRlOgog
ICAgIHZvaWQgc3RhcnRKYXZhU2NyaXB0UHJvZmlsaW5nKCk7CiAgICAgdm9pZCBzdG9wSmF2YVNj
cmlwdFByb2ZpbGluZygpOwogCi0gICAgdm9pZCBzdGFydFBhZ2VQcm9maWxpbmcoKTsKLSAgICB2
b2lkIHN0b3BQYWdlUHJvZmlsaW5nKCk7Ci0KICAgICBXZWJQYWdlKiBtX3BhZ2U7CiAgICAgV2Vi
UGFnZSogbV9pbnNwZWN0b3JQYWdlOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDc2Njg0KQorKysgU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
Mjc0LDcgKzEyNzQsNyBAQCBXZWJJbnNwZWN0b3IqIFdlYlBhZ2U6Omluc3BlY3RvcigpCiAgICAg
aWYgKG1faXNDbG9zZWQpCiAgICAgICAgIHJldHVybiAwOwogICAgIGlmICghbV9pbnNwZWN0b3Ip
Ci0gICAgICAgIG1faW5zcGVjdG9yID0gYWRvcHRQdHIobmV3IFdlYkluc3BlY3Rvcih0aGlzKSk7
CisgICAgICAgIG1faW5zcGVjdG9yID0gV2ViSW5zcGVjdG9yOjpjcmVhdGUodGhpcyk7CiAgICAg
cmV0dXJuIG1faW5zcGVjdG9yLmdldCgpOwogfQogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJKHJldmlzaW9uIDc2Njg0KQorKysgU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkod29ya2luZyBjb3B5KQpA
QCAtNDg4LDcgKzQ4OCw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFBhZ2VPdmVybGF5PiBtX3Bh
Z2VPdmVybGF5OwogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKLSAgICBPd25QdHI8V2ViSW5zcGVj
dG9yPiBtX2luc3BlY3RvcjsKKyAgICBSZWZQdHI8V2ViSW5zcGVjdG9yPiBtX2luc3BlY3RvcjsK
ICNlbmRpZgogICAgIFJlZlB0cjxXZWJQb3B1cE1lbnU+IG1fYWN0aXZlUG9wdXBNZW51OwogICAg
IFJlZlB0cjxXZWJDb250ZXh0TWVudT4gbV9jb250ZXh0TWVudTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL3dpbi9XZWJLaXQyLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0Mi52Y3Byb2oJKHJldmlzaW9uIDc2Njg0KQorKysgU291cmNlL1dlYktpdDIvd2luL1dl
YktpdDIudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xODA4LDYgKzE4MDgsMTQgQEAKIAkJCQkJ
CQk+CiAJCQkJCQk8L0ZpbGU+CiAJCQkJCQk8RmlsZQorCQkJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
V2ViUHJvY2Vzc1xJbmplY3RlZEJ1bmRsZVxBUElcY1xXS0J1bmRsZUluc3BlY3Rvci5jcHAiCisJ
CQkJCQkJPgorCQkJCQkJPC9GaWxlPgorCQkJCQkJPEZpbGUKKwkJCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXFdlYlByb2Nlc3NcSW5qZWN0ZWRCdW5kbGVcQVBJXGNcV0tCdW5kbGVJbnNwZWN0b3IuaCIK
KwkJCQkJCQk+CisJCQkJCQk8L0ZpbGU+CisJCQkJCQk8RmlsZQogCQkJCQkJCVJlbGF0aXZlUGF0
aD0iLi5cV2ViUHJvY2Vzc1xJbmplY3RlZEJ1bmRsZVxBUElcY1xXS0J1bmRsZUhpdFRlc3RSZXN1
bHQuY3BwIgogCQkJCQkJCT4KIAkJCQkJCTwvRmlsZT4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyR2VuZXJhdGVkLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDJHZW5lcmF0ZWQubWFrZQkocmV2aXNpb24gNzY2ODQpCisrKyBTb3VyY2UvV2ViS2l0
Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC03Myw2ICs3Myw3
IEBAIGFsbDoKICAgICB4Y29weSAveSAvZCAiLi5cV2ViUHJvY2Vzc1xJbmplY3RlZEJ1bmRsZVxB
UElcY1xXS0J1bmRsZUZyYW1lUHJpdmF0ZS5oIiAiJUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5j
bHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxXZWJQcm9jZXNzXEluamVjdGVkQnVu
ZGxlXEFQSVxjXFdLQnVuZGxlSGl0VGVzdFJlc3VsdC5oIiAiJUNvbmZpZ3VyYXRpb25CdWlsZERp
ciVcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIuLlxXZWJQcm9jZXNzXEluamVj
dGVkQnVuZGxlXEFQSVxjXFdLQnVuZGxlSW5pdGlhbGl6ZS5oIiAiJUNvbmZpZ3VyYXRpb25CdWls
ZERpciVcaW5jbHVkZVxXZWJLaXQyIgorICAgIHhjb3B5IC95IC9kICIuLlxXZWJQcm9jZXNzXElu
amVjdGVkQnVuZGxlXEFQSVxjXFdLQnVuZGxlSW5zcGVjdG9yLmgiICIlQ29uZmlndXJhdGlvbkJ1
aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kgL2QgIi4uXFdlYlByb2Nlc3Nc
SW5qZWN0ZWRCdW5kbGVcQVBJXGNcV0tCdW5kbGVOb2RlSGFuZGxlLmgiICIlQ29uZmlndXJhdGlv
bkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kgL2QgIi4uXFdlYlByb2Nl
c3NcSW5qZWN0ZWRCdW5kbGVcQVBJXGNcV0tCdW5kbGVOb2RlSGFuZGxlUHJpdmF0ZS5oIiAiJUNv
bmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgogICAgIHhjb3B5IC95IC9kICIu
LlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXEFQSVxjXFdLQnVuZGxlUGFnZS5oIiAiJUNvbmZp
Z3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgpJbmRleDogVG9vbHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gNzY3NjUpCisrKyBUb29s
cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNCBAQAorMjAxMS0wMS0yNiAg
TWFjaWVqIFN0YWNob3dpYWsgIDxtanNAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgdG8gc3Vw
cG9ydCBsYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZUluV2ViSW5zcGVjdG9yCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjMxOQorICAgICAgICAK
KyAgICAgICAgQWRkIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IgYW5kIG90aGVyIEFQSXMgbmVlZGVk
IGZvciBpbnNwZWN0b3IgdGVzdHMgdG8gcnVuLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGw6CisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXVFI6OkxheW91dFRlc3RDb250cm9sbGVyOjpzaG93V2ViSW5zcGVj
dG9yKToKKyAgICAgICAgKFdUUjo6TGF5b3V0VGVzdENvbnRyb2xsZXI6OmNsb3NlV2ViSW5zcGVj
dG9yKToKKyAgICAgICAgKFdUUjo6TGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5XZWJJ
bnNwZWN0b3IpOgorICAgICAgICAoV1RSOjpMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0VGltZWxp
bmVQcm9maWxpbmdFbmFibGVkKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OnNob3VsZE9wZW5XZWJJbnNwZWN0
b3IpOgorICAgICAgICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6aW52b2tlKToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXJQcmVmaXguaDoKKwogMjAxMS0wMS0yNiAg
TWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgWGFuIExvcGV6LgpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2Nh
dGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2Nh
dGlvbi5jcHAJKHJldmlzaW9uIDc2Njg0KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
SW52b2NhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRl
IDxjbGltaXRzPgogI2luY2x1ZGUgPGNzdGRpbz4KICNpbmNsdWRlIDxXZWJLaXQyL1dLQ29udGV4
dFByaXZhdGUuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLSW5zcGVjdG9yLmg+CiAjaW5jbHVkZSA8
V2ViS2l0Mi9XS1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duQXJyYXlQdHIuaD4KQEAgLTExMyw2ICsxMTQsMTEgQEAgc3RhdGlj
IHZvaWQgc2l6ZVdlYlZpZXdGb3JDdXJyZW50VGVzdChjaAogICAgICAgICBUZXN0Q29udHJvbGxl
cjo6c2hhcmVkKCkubWFpbldlYlZpZXcoKS0+cmVzaXplVG8obm9ybWFsV2lkdGgsIG5vcm1hbEhl
aWdodCk7CiB9CiAKK3N0YXRpYyBib29sIHNob3VsZE9wZW5XZWJJbnNwZWN0b3IoY29uc3QgY2hh
ciogcGF0aE9yVVJMKQoreworICAgIHJldHVybiBzdHJzdHIocGF0aE9yVVJMLCAiaW5zcGVjdG9y
LyIpOworfQorCiB2b2lkIFRlc3RJbnZvY2F0aW9uOjppbnZva2UoKQogewogICAgIHNpemVXZWJW
aWV3Rm9yQ3VycmVudFRlc3QobV9wYXRoT3JVUkwpOwpAQCAtMTMwLDE3ICsxMzYsMTggQEAgdm9p
ZCBUZXN0SW52b2NhdGlvbjo6aW52b2tlKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAg
IGlmIChzaG91bGRPcGVuV2ViSW5zcGVjdG9yKG1fcGF0aE9yVVJMKSkKKyAgICAgICAgV0tJbnNw
ZWN0b3JTaG93KFdLUGFnZUdldEluc3BlY3RvcihUZXN0Q29udHJvbGxlcjo6c2hhcmVkKCkubWFp
bldlYlZpZXcoKS0+cGFnZSgpKSk7CisKICAgICBXS1BhZ2VMb2FkVVJMKFRlc3RDb250cm9sbGVy
OjpzaGFyZWQoKS5tYWluV2ViVmlldygpLT5wYWdlKCksIG1fdXJsLmdldCgpKTsKIAogICAgIFRl
c3RDb250cm9sbGVyOjpzaGFyZWQoKS5ydW5VbnRpbChtX2dvdEZpbmFsTWVzc2FnZSwgVGVzdENv
bnRyb2xsZXI6OkxvbmdUaW1lb3V0KTsKLSAgICBpZiAoIW1fZ290RmluYWxNZXNzYWdlKSB7Cisg
ICAgaWYgKCFtX2dvdEZpbmFsTWVzc2FnZSkKICAgICAgICAgZHVtcCgiVGltZWQgb3V0IHdhaXRp
bmcgZm9yIGZpbmFsIG1lc3NhZ2UgZnJvbSB3ZWIgcHJvY2Vzc1xuIik7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0gICAgaWYgKG1fZXJyb3IpIHsKKyAgICBlbHNlIGlmIChtX2Vycm9yKQogICAg
ICAgICBkdW1wKCJGQUlMXG4iKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKworICAgIFdLSW5z
cGVjdG9yQ2xvc2UoV0tQYWdlR2V0SW5zcGVjdG9yKFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKS5t
YWluV2ViVmlldygpLT5wYWdlKCkpKTsKIH0KIAogdm9pZCBUZXN0SW52b2NhdGlvbjo6ZHVtcChj
b25zdCBjaGFyKiBzdHJpbmdUb0R1bXApCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1dl
YktpdFRlc3RSdW5uZXJQcmVmaXguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL1dlYktpdFRlc3RSdW5uZXJQcmVmaXguaAkocmV2aXNpb24gNzY2ODQpCisrKyBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXJQcmVmaXguaAkod29ya2luZyBjb3B5KQpA
QCAtMzQsNCArMzQsNSBAQAogI2RlZmluZSBtaW4gbWluCiAjZW5kaWYKIAorI2luY2x1ZGUgPHd0
Zi9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPFdlYktpdDIvV2ViS2l0Mi5oPgpJbmRleDogVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDc2Njg0KQorKysgVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlIDxXZWJLaXQyL1dLQnVuZGxlQmFja0Zv
cndhcmRMaXN0Lmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0J1bmRsZUZyYW1lLmg+CiAjaW5jbHVk
ZSA8V2ViS2l0Mi9XS0J1bmRsZUZyYW1lUHJpdmF0ZS5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tC
dW5kbGVJbnNwZWN0b3IuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLQnVuZGxlUGFnZVByaXZhdGUu
aD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLQnVuZGxlU2NyaXB0V29ybGQuaD4KICNpbmNsdWRlIDxX
ZWJLaXQyL1dLQnVuZGxlUHJpdmF0ZS5oPgpAQCAtMzA5LDYgKzMxMCwyNyBAQCB2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjptYWtlV2luZG93T2JqCiAgICAgc2V0UHJvcGVydHkoY29udGV4dCwg
d2luZG93T2JqZWN0LCAibGF5b3V0VGVzdENvbnRyb2xsZXIiLCB0aGlzLCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlLCBleGNlcHRp
b24pOwogfQogCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9yKCkK
K3sKKyAgICBXS0J1bmRsZUluc3BlY3RvclNob3coV0tCdW5kbGVQYWdlR2V0SW5zcGVjdG9yKElu
amVjdGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdlKCktPnBhZ2UoKSkpOworfQorCit2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpjbG9zZVdlYkluc3BlY3RvcigpCit7CisgICAgV0tCdW5kbGVJbnNw
ZWN0b3JDbG9zZShXS0J1bmRsZVBhZ2VHZXRJbnNwZWN0b3IoSW5qZWN0ZWRCdW5kbGU6OnNoYXJl
ZCgpLnBhZ2UoKS0+cGFnZSgpKSk7Cit9CisKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2
YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZyBjYWxsSUQsIEpTU3RyaW5nUmVmIHNjcmlwdCkKK3sK
KyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gc2NyaXB0V0sgPSB0b1dLKHNjcmlwdCk7Cisg
ICAgV0tCdW5kbGVJbnNwZWN0b3JFdmFsdWF0ZVNjcmlwdEZvclRlc3QoV0tCdW5kbGVQYWdlR2V0
SW5zcGVjdG9yKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdlKCktPnBhZ2UoKSksIGNhbGxJ
RCwgc2NyaXB0V0suZ2V0KCkpOworfQorCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRU
aW1lbGluZVByb2ZpbGluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQoreworICAgIFdLQnVuZGxlSW5z
cGVjdG9yU2V0UGFnZVByb2ZpbGluZ0VuYWJsZWQoV0tCdW5kbGVQYWdlR2V0SW5zcGVjdG9yKElu
amVjdGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdlKCktPnBhZ2UoKSksIGVuYWJsZWQpOworfQorCiB0
eXBlZGVmIFdURjo6SGFzaE1hcDx1bnNpZ25lZCwgV0tSZXRhaW5QdHI8V0tCdW5kbGVTY3JpcHRX
b3JsZFJlZj4gPiBXb3JsZE1hcDsKIHN0YXRpYyBXb3JsZE1hcCYgd29ybGRNYXAoKQogewpJbmRl
eDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAkocmV2aXNpb24gNzY2ODQpCisrKyBUb29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEyNiw2ICsxMjYsMTEgQEAgcHVibGljOgogICAgIHZvaWQgZXZhbHVhdGVT
Y3JpcHRJbklzb2xhdGVkV29ybGQoSlNDb250ZXh0UmVmLCB1bnNpZ25lZCB3b3JsZElELCBKU1N0
cmluZ1JlZiBzY3JpcHQpOwogICAgIHN0YXRpYyB1bnNpZ25lZCB3b3JsZElERm9yV29ybGQoV0tC
dW5kbGVTY3JpcHRXb3JsZFJlZik7CiAKKyAgICB2b2lkIHNob3dXZWJJbnNwZWN0b3IoKTsKKyAg
ICB2b2lkIGNsb3NlV2ViSW5zcGVjdG9yKCk7CisgICAgdm9pZCBldmFsdWF0ZUluV2ViSW5zcGVj
dG9yKGxvbmcgY2FsbElkLCBKU1N0cmluZ1JlZiBzY3JpcHQpOworICAgIHZvaWQgc2V0VGltZWxp
bmVQcm9maWxpbmdFbmFibGVkKGJvb2wpOworCiBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBk
b3VibGUgd2FpdFRvRHVtcFdhdGNoZG9nVGltZXJJbnRlcnZhbDsKIApJbmRleDogVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9MYXlvdXRUZXN0Q29udHJvbGxl
ci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9CaW5kaW5ncy9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGwJKHJldmlzaW9uIDc2Njg0KQorKysg
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9MYXlvdXRUZXN0
Q29udHJvbGxlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTc3LDggKzc3LDE0IEBAIG1vZHVsZSBX
VFIgewogICAgICAgICAvLyBUZXh0IHNlYXJjaCB0ZXN0aW5nLgogICAgICAgICBib29sZWFuIGZp
bmRTdHJpbmcoaW4gRE9NU3RyaW5nIHRhcmdldCwgaW4gb2JqZWN0IG9wdGlvbnNBcnJheSk7CiAK
LSAgICAgICAgLy8gRXZhbHVhdGluZyBzY3JpcHQgaW4gYSBzcGVjaWFsIGNvbnRleHQKLSAgICAg
ICAgW1Bhc3NDb250ZXh0XSB2b2lkIGV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKGluIHVu
c2lnbmVkIGxvbmcgd29ybGRJRCwgaW4gRE9NU3RyaW5nIHNjcmlwdCkKKyAgICAgICAgLy8gRXZh
bHVhdGluZyBzY3JpcHQgaW4gYSBzcGVjaWFsIGNvbnRleHQuCisgICAgICAgIFtQYXNzQ29udGV4
dF0gdm9pZCBldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZChpbiB1bnNpZ25lZCBsb25nIHdv
cmxkSUQsIGluIERPTVN0cmluZyBzY3JpcHQpOworCisgICAgICAgIC8vIEZvciBXZWIgSW5zcGVj
dG9yIHRlc3RzCisgICAgICAgIHZvaWQgc2hvd1dlYkluc3BlY3RvcigpOworICAgICAgICB2b2lk
IGNsb3NlV2ViSW5zcGVjdG9yKCk7CisgICAgICAgIHZvaWQgZXZhbHVhdGVJbldlYkluc3BlY3Rv
cihpbiBsb25nIGNhbGxJRCwgaW4gRE9NU3RyaW5nIHNjcmlwdCk7CisgICAgICAgIHZvaWQgc2V0
VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKGluIGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgfTsKIAog
fQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gNzY3NjUpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wMS0yNiAgTWFjaWVqIFN0YWNob3dp
YWsgIDxtanNAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgdG8gc3VwcG9ydCBsYXlvdXRUZXN0
Q29udHJvbGxlci5ldmFsdWF0ZUluV2ViSW5zcGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjMxOQorICAgICAgICAKKyAgICAgICAgVW5za2lw
IGluc3BlY3RvciB0ZXN0cyAoZXhjZXB0IHRoZSBmZXcgdGhhdCBteXN0ZXJpb3VzbHkgZmFpbCku
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1NraXBwZWQ6CisKIDIwMTEtMDEtMjYgIFl1
em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgQ2hy
b21pdW0gdGVzdCBleHBlY3RhdGlvbiBjaGFuZ2UuCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9Ta2lwcGVkCShyZXZpc2lvbiA3NjY4NSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azIvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYsNyBAQCBjb21wb3NpdGlu
Zy9pZnJhbWVzL2lmcmFtZS1zcmMtY2hhbmdlLmh0CiAKICMgV2ViS2l0VGVzdFJ1bm5lciBuZWVk
cyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBldmVudFNlbmRlcgogIyA8aHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMTk0PgoraW5zcGVjdG9yL3RpbWVsaW5lLWV2ZW50LWRp
c3BhdGNoLmh0bWwKIGZhc3QvdGV4dC9vZmZzZXRGb3JQb3NpdGlvbi1jb21wbGV4LWZhbGxiYWNr
Lmh0bWwKIHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtcGF0aC10by1hbmltYXRpb24uaHRtbAogZmFz
dC9mb3Jtcy9pbnB1dC1udW1iZXItY2hhbmdlLXR5cGUtb24tZm9jdXMuaHRtbApAQCAtMTI1NCwx
MiArMTI1NSw2IEBAIGVkaXRpbmcvdW5kby91bmRvLXR5cGluZy0wMDEuaHRtbAogIyA8cmRhcjov
L3Byb2JsZW0vODg2NzgwND4KIHN2Zy9jc3MvY3Vyc29yLXJlcGxhY2Uuc3ZnCiAKLSMgV2ViS2l0
VGVzdFJ1bm5lciBuZWVkcyB0byBzdXBwb3J0IGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IKLSMgPGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjMxOT4KLWh0dHAvdGVzdHMv
aW5zcGVjdG9yLWVuYWJsZWQKLWh0dHAvdGVzdHMvaW5zcGVjdG9yCi1pbnNwZWN0b3IKLQogIyBX
ZWJLaXRUZXN0UnVubmVyIG5lZWRzIHRvIHN1cHBvcnQgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cERPTUFzV2ViQXJjaGl2ZQogIyA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQyMzI0PgogaHR0cC90ZXN0cy93ZWJhcmNoaXZlL2Nyb3NzLW9yaWdpbi1zdHlsZXNoZWV0
LWNyYXNoLmh0bWwKQEAgLTIyODIsNiArMjI3NywxMCBAQCBmYXN0L3dvcmtlcnMvc3RvcmFnZS9v
cGVuLWRhdGFiYXNlLWlucHV0CiBmYXN0L3dvcmtlcnMvc3RvcmFnZS9zcWwtZXhjZXB0aW9uLWNv
ZGVzLXN5bmMuaHRtbAogc3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0
aW9uLmh0bWwKIAorIyBVbmtub3duIGZhaWx1cmVzIGFmdGVyIGVuYWJsaW5nIGluc3BlY3RvciB0
ZXN0cworaW5zcGVjdG9yL3RpbWVsaW5lLXBhaW50Lmh0bWwKK2luc3BlY3Rvci90aW1lbGluZS1z
Y3JpcHQtdGFnLTEuaHRtbAorCiAjIyMgRU5EIE9GICgzKSBVbmNsYXNzaWZpZWQgZmFpbHVyZXMK
ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAo=
</data>
<flag name="review"
          id="71776"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>