<?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>158702</bug_id>
          
          <creation_ts>2016-06-13 12:39:19 -0700</creation_ts>
          <short_desc>Add WebSocketProvider stub</short_desc>
          <delta_ts>2016-06-13 14:57:57 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1201909</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-06-13 12:39:19 -0700</bug_when>
    <thetext>Add WebSocketProvider stub</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201910</commentid>
    <comment_count>1</comment_count>
      <attachid>281187</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-06-13 12:42:35 -0700</bug_when>
    <thetext>Created attachment 281187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201917</commentid>
    <comment_count>2</comment_count>
      <attachid>281187</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-06-13 12:46:09 -0700</bug_when>
    <thetext>Comment on attachment 281187
Patch

UGH on the completely unrelated FrameLoader.h change. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201936</commentid>
    <comment_count>3</comment_count>
      <attachid>281194</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-06-13 13:27:02 -0700</bug_when>
    <thetext>Created attachment 281194
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201947</commentid>
    <comment_count>4</comment_count>
      <attachid>281197</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-06-13 13:55:11 -0700</bug_when>
    <thetext>Created attachment 281197
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201957</commentid>
    <comment_count>5</comment_count>
      <attachid>281201</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-06-13 14:12:03 -0700</bug_when>
    <thetext>Created attachment 281201
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201972</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-06-13 14:57:46 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/202005</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281187</attachid>
            <date>2016-06-13 12:42:35 -0700</date>
            <delta_ts>2016-06-13 13:27:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158702-20160613124423.patch</filename>
            <type>text/plain</type>
            <size>40817</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE2LTA2LTEzICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFdlYlNvY2tldFByb3ZpZGVy
IHN0dWIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
ODcwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
d3RmL1VuaXF1ZVJlZi5oOgorICAgICAgICAoV1RGOjpVbmlxdWVSZWY6Om9wZXJhdG9yLT4pOgor
ICAgICAgICAoV1RGOjpVbmlxdWVSZWY6Om9wZXJhdG9yIFQmKToKKyAgICAgICAgKFdURjo6VW5p
cXVlUmVmOjpvcGVyYXRvciBjb25zdCBUJik6CisgICAgICAgIEFkZGVkIG9wZXJhdG9yIFQmIHRv
IGF2b2lkIHVubmVlZGVkIC5nZXQoKSBjYWxscy4KKwogMjAxNi0wNi0xMSAgTXlsZXMgQy4gTWF4
ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZHJlc3NpbmcgcG9zdC1y
ZXZpZXcgY29tbWVudHMgYWZ0ZXIgcjIwMTk3OC4KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1VuaXF1
ZVJlZi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1VuaXF1ZVJlZi5oCShyZXZpc2lv
biAyMDE5ODkpCisrKyBTb3VyY2UvV1RGL3d0Zi9VbmlxdWVSZWYuaAkod29ya2luZyBjb3B5KQpA
QCAtNTYsNiArNTYsOSBAQCBwdWJsaWM6CiAKICAgICBUKiBvcGVyYXRvci0+KCkgeyBBU1NFUlQo
bV9yZWYpOyByZXR1cm4gbV9yZWYuZ2V0KCk7IH0KICAgICBjb25zdCBUKiBvcGVyYXRvci0+KCkg
Y29uc3QgeyBBU1NFUlQobV9yZWYpOyByZXR1cm4gbV9yZWYuZ2V0KCk7IH0KKyAgICAKKyAgICBv
cGVyYXRvciBUJigpIHsgQVNTRVJUKG1fcmVmKTsgcmV0dXJuICptX3JlZjsgfQorICAgIG9wZXJh
dG9yIGNvbnN0IFQmKCkgY29uc3QgeyBBU1NFUlQobV9yZWYpOyByZXR1cm4gKm1fcmVmOyB9CiAK
IHByaXZhdGU6CiAgICAgdGVtcGxhdGU8Y2xhc3MgVSwgY2xhc3MuLi4gQXJncz4gZnJpZW5kIFVu
aXF1ZVJlZjxVPiBtYWtlVW5pcXVlUmVmKEFyZ3MmJi4uLik7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZp
c2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSw1MyBAQAorMjAxNi0wNi0xMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBXZWJTb2NrZXRQcm92aWRlciBzdHViCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg3MDIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVz
dHMuICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxl
ci5jcHA6CisgICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6Cisg
ICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL01lZGlh
RG9jdW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcDoKKyAgICAgICAg
KiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmg6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVk
aWFDb250cm9sc0FwcGxlLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yT3ZlcmxheTo6b3ZlcmxheVBhZ2UpOgorICAgICAgICAqIGxv
YWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgor
ICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNo
ZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5jcHA6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgICog
cGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAq
IHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6YXBwbGljYXRpb25DYWNoZVN0
b3JhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6ZGF0YWJhc2VQcm92aWRlcik6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlOjpzb2NrZXRQcm92aWRlcik6CisgICAgICAgIChXZWJDb3JlOjpQ
YWdlOjpzdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIpOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbmZp
Z3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VD
b25maWd1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmg6CisgICAg
ICAgICogcGFnZS9SZXNvdXJjZVVzYWdlT3ZlcmxheS5jcHA6CisgICAgICAgICogcGFnZS9Tb2Nr
ZXRQcm92aWRlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFByb3ZpZGVyOjp+
U29ja2V0UHJvdmlkZXIpOgorICAgICAgICAqIHBhZ2UvY29jb2EvUmVzb3VyY2VVc2FnZU92ZXJs
YXlDb2NvYS5tbToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgICogc3R5bGUv
U3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuY3BwOgorICAgICAgICAqIHN0eWxlL1N0eWxlVHJlZVJl
c29sdmVyLmNwcDoKKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHSW1hZ2U6OmRhdGFDaGFuZ2VkKToKKyAgICAgICAgKiB0ZXN0aW5nL01v
Y2tQYWdlT3ZlcmxheUNsaWVudC5jcHA6CisKIDIwMTYtMDYtMTMgIE5hZWwgT3VlZHJhb2dvICA8
bmFlbC5vdWVkcmFvZ29AY3JmLmNhbm9uLmZyPgogCiAgICAgICAgIEltcHJvdmUgY29kZSBnZW5l
cmF0b3IgZm9yIGZ1bmN0aW9ucyB3aXRoIHZhcmlhZGljIHBhcmFtZXRlcnMKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlz
aW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjM0NCw2ICsyMzQ0LDcgQEAKIAkJNUM0MzA0QjEx
OTFBQzkwODAwMEUyQkMwIC8qIEVYVFNoYWRlclRleHR1cmVMT0QuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDNDMwNEFFMTkxQUM5MDgwMDBFMkJDMCAv
KiBFWFRTaGFkZXJUZXh0dXJlTE9ELmggKi87IH07CiAJCTVDNDMwNEI1MTkxQUVGNDYwMDBFMkJD
MCAvKiBKU0VYVFNoYWRlclRleHR1cmVMT0QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNUM0MzA0QjMxOTFBRUY0NjAwMEUyQkMwIC8qIEpTRVhUU2hh
ZGVyVGV4dHVyZUxPRC5jcHAgKi87IH07CiAJCTVDNDMwNEI2MTkxQUVGNDYwMDBFMkJDMCAvKiBK
U0VYVFNoYWRlclRleHR1cmVMT0QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVDNDMwNEI0MTkxQUVGNDYwMDBFMkJDMCAvKiBKU0VYVFNoYWRlclRleHR1
cmVMT0QuaCAqLzsgfTsKKwkJNUM3Qzg4RDgxRDBGMUY0QTAwOUQyRjZEIC8qIFNvY2tldFByb3Zp
ZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzdD
ODhENzFEMEYxRjJCMDA5RDJGNkQgLyogU29ja2V0UHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1QzlBN0E3NTFBQTBGNkVBMDA5NThB
Q0YgLyogREZBQnl0ZWNvZGVDb21waWxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1QzM5MzA1RTFBQTBGNkE5MDAyOUM4MTYgLyogREZBQnl0ZWNv
ZGVDb21waWxlci5jcHAgKi87IH07CiAJCTVDOUE3QTc2MUFBMEY2RUQwMDk1OEFDRiAvKiBERkFC
eXRlY29kZUludGVycHJldGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVDMzkzMDYwMUFBMEY2QTkwMDI5QzgxNiAvKiBERkFCeXRlY29kZUludGVy
cHJldGVyLmNwcCAqLzsgfTsKIAkJNUM5Qjg2MEMxQzIxRTNDOTAwMTEwRjM2IC8qIFJlc291cmNl
TG9hZFRpbWluZy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDVDOUI4NjBCMUMyMUUzQzYwMDExMEYzNiAvKiBSZXNvdXJjZUxvYWRUaW1pbmcubW0gKi87
IH07CkBAIC05OTY1LDYgKzk5NjYsNyBAQAogCQk1QzQzMDRBRjE5MUFDOTA4MDAwRTJCQzAgLyog
RVhUU2hhZGVyVGV4dHVyZUxPRC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRVhUU2hhZGVy
VGV4dHVyZUxPRC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDNDMwNEIzMTkx
QUVGNDYwMDBFMkJDMCAvKiBKU0VYVFNoYWRlclRleHR1cmVMT0QuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFWFRTaGFkZXJUZXh0dXJlTE9ELmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUM0MzA0QjQxOTFBRUY0NjAwMEUyQkMwIC8qIEpTRVhU
U2hhZGVyVGV4dHVyZUxPRC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0VY
VFNoYWRlclRleHR1cmVMT0QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUM3Qzg4
RDcxRDBGMUYyQjAwOUQyRjZEIC8qIFNvY2tldFByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNvY2tldFByb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTVDOUI4NjBCMUMyMUUzQzYwMDExMEYzNiAvKiBSZXNvdXJjZUxvYWRUaW1pbmcubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZXNvdXJjZUxvYWRUaW1p
bmcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDQjM3RkZDMUM2MkQyNzgwMEYy
MDE4OCAvKiBTY3JvbGxBbmltYXRvck1vY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU2Nyb2xsQW5pbWF0b3JNb2NrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNUNCMzdGRkQxQzYyRDI3ODAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxBbmltYXRvck1vY2suaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3OTc3LDYgKzE3OTc5LDcgQEAKIAkJNjVC
RjAyMTgwOTc0ODA2MzAwQzQzMTk2IC8qIHBhZ2UgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAorCQkJCTVDN0M4OEQ3MUQwRjFGMkIwMDlEMkY2RCAvKiBTb2NrZXRQ
cm92aWRlci5oICovLAogCQkJCTMxNkZFMTA2MEU2RTFEODQwMEJGNjA4OCAvKiBhbmltYXRpb24g
Ki8sCiAJCQkJNUQ1OTc1QjUxOTYzNjJCRTAwRDAwODc4IC8qIGNvY29hICovLAogCQkJCUNFMTdB
RDE0MUM1ODUyMkYwMDVGNDc5OSAvKiBjc3AgKi8sCkBAIC0yODEyOSw2ICsyODEzMiw3IEBACiAJ
CQkJMDhGRTBCQzUxMjdFMkFDMTAwMEM0RkI1IC8qIFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RS
YXRpby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDg4QTBFMDUxMjZFRjFEQjAwOTc4RjdBIC8qIFNW
R0FuaW1hdGVkUHJvcGVydHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4OEEwRTA2MTI2RUYxREIw
MDk3OEY3QSAvKiBTVkdBbmltYXRlZFByb3BlcnR5RGVzY3JpcHRpb24uaCBpbiBIZWFkZXJzICov
LAorCQkJCTVDN0M4OEQ4MUQwRjFGNEEwMDlEMkY2RCAvKiBTb2NrZXRQcm92aWRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMDg4QTBFMDcxMjZFRjFEQjAwOTc4RjdBIC8qIFNWR0FuaW1hdGVkUHJv
cGVydHlNYWNyb3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4OEEwRTA4MTI2RUYxREIwMDk3OEY3
QSAvKiBTVkdBbmltYXRlZFByb3BlcnR5VGVhck9mZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDhD
ODU5QzAxMjc0NTc1NDAwQTU3MjhEIC8qIFNWR0FuaW1hdGVkUmVjdC5oIGluIEhlYWRlcnMgKi8s
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVy
LmNwcAkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFy
a2VyQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNs
dWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJNYWluRnJhbWUuaCIKICNpbmNsdWRlICJO
b2RlVHJhdmVyc2FsLmgiCisjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAj
aW5jbHVkZSAiUmVuZGVyQmxvY2tGbG93LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXIuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRB
bmltYXRpb25Db250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBAQAog
I2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKICNpbmNsdWRlICJNYWluRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAi
UmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2suaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgog
I2luY2x1ZGUgPHd0Zi9SZWYuaD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzIsNiArNzIsNyBAQAogI2luY2x1
ZGUgIk1lbW9yeVByZXNzdXJlSGFuZGxlci5oIgogI2luY2x1ZGUgIk5ldHdvcmtpbmdDb250ZXh0
LmgiCiAjaW5jbHVkZSAiTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uLmgiCisjaW5jbHVkZSAiUGFn
ZS5oIgogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlBhZ2VUaHJvdHRsZXIuaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcAkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMs
NyBAQAogI2luY2x1ZGUgIkhUTUxWaWRlb0VsZW1lbnQuaCIKICNpbmNsdWRlICJLZXlib2FyZEV2
ZW50LmgiCiAjaW5jbHVkZSAiTm9kZUxpc3QuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVk
ZSAiUmF3RGF0YURvY3VtZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5o
IgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAJKHJldmlzaW9uIDIwMTk4OSkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmlu
Z3MuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWVkaWFDb250cm9scy5oIgor
I2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJSZW5k
ZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRlck1lZGlhQ29udHJvbEVsZW1lbnRzLmgiCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcAkocmV2aXNp
b24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJNZWRpYUNvbnRy
b2xzLmgiCiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCIKKyNpbmNsdWRl
ICJQYWdlLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuaAkocmV2aXNp
b24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiSFRNTERpdkVsZW1l
bnQuaCIKICNpbmNsdWRlICJNZWRpYUNvbnRyb2xFbGVtZW50cy5oIgogI2luY2x1ZGUgIk1vdXNl
RXZlbnQuaCIKLSNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNp
bmNsdWRlICJUZXh0LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNDYsNyArNDUsNiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgRXZlbnQ7Ci1j
bGFzcyBQYWdlOwogY2xhc3MgTWVkaWFQbGF5ZXI7CiAKIGNsYXNzIFJlbmRlckJveDsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHNBcHBsZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0FwcGxlLmNw
cAkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sc0FwcGxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1
ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xk
ZXIuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVk
ZSAiV2hlZWxFdmVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAko
cmV2aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDYgKzU0LDcgQEAKICNpbmNs
dWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0Fn
ZW50cy5oIgogI2luY2x1ZGUgIk1haW5GcmFtZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNs
dWRlICJQYWdlRGVidWdnZXJBZ2VudC5oIgogI2luY2x1ZGUgIlBhZ2VSdW50aW1lQWdlbnQuaCIK
ICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgJKHJldmlzaW9uIDIwMTk4OSkK
KysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAko
d29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNiBAQAogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUuaCIKICNpbmNsdWRl
ICJNZW1vcnlQcmVzc3VyZUhhbmRsZXIuaCIKLSNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAi
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlN0b3JhZ2VBcmVhLmgiCiAjaW5j
bHVkZSAiV2ViU29ja2V0RnJhbWUuaCIKQEAgLTgwLDYgKzc5LDcgQEAgY2xhc3MgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOwogY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDsKIGNsYXNzIElu
c3RydW1lbnRpbmdBZ2VudHM7CiBjbGFzcyBOb2RlOworY2xhc3MgUGFnZTsKIGNsYXNzIFBzZXVk
b0VsZW1lbnQ7CiBjbGFzcyBSZW5kZXJMYXllcjsKIGNsYXNzIFJlbmRlckxheWVyQmFja2luZzsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAJ
KHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JP
dmVybGF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODY0LDcgKzg2NCw3IEBAIFBhZ2UqIEluc3Bl
Y3Rvck92ZXJsYXk6Om92ZXJsYXlQYWdlKCkKICAgICBpZiAobV9vdmVybGF5UGFnZSkKICAgICAg
ICAgcmV0dXJuIG1fb3ZlcmxheVBhZ2UuZ2V0KCk7CiAKLSAgICBQYWdlQ29uZmlndXJhdGlvbiBw
YWdlQ29uZmlndXJhdGlvbihtYWtlVW5pcXVlUmVmPEVtcHR5RWRpdG9yQ2xpZW50PigpKTsKKyAg
ICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbihtYWtlVW5pcXVlUmVmPEVtcHR5
RWRpdG9yQ2xpZW50PigpLCBtYWtlVW5pcXVlUmVmPEVtcHR5U29ja2V0UHJvdmlkZXI+KCkpOwog
ICAgIGZpbGxXaXRoRW1wdHlDbGllbnRzKHBhZ2VDb25maWd1cmF0aW9uKTsKICAgICBtX292ZXJs
YXlQYWdlID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlPihXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9u
KSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgJKHJldmlzaW9uIDIw
MTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAkod29ya2luZyBj
b3B5KQpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgogI2lu
Y2x1ZGUgIlByb2dyZXNzVHJhY2tlckNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlRXJyb3Iu
aCIKKyNpbmNsdWRlICJTb2NrZXRQcm92aWRlci5oIgogI2luY2x1ZGUgIlRleHRDaGVja2VyQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiVmlzaXRlZExpbmtTdG9yZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ1ZpZXcuaD4KQEAgLTcxLDYgKzcyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBHcmFwaGljc0NvbnRleHQzRDsKIGNsYXNzIFBhZ2U7CitjbGFzcyBQYWdlQ29uZmlndXJh
dGlvbjsKIAogY2xhc3MgRW1wdHlDaHJvbWVDbGllbnQgOiBwdWJsaWMgQ2hyb21lQ2xpZW50IHsK
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKQEAgLTY0Miw2ICs2NDQsOSBAQCBjbGFzcyBF
bXB0eURpYWdub3N0aWNMb2dnaW5nQ2xpZW50IGZpbmFsCiAgICAgdm9pZCBsb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhWYWx1ZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJp
bmcmLCBTaG91bGRTYW1wbGUpIG92ZXJyaWRlIHsgfQogfTsKIAorY2xhc3MgRW1wdHlTb2NrZXRQ
cm92aWRlciBmaW5hbCA6IHB1YmxpYyBTb2NrZXRQcm92aWRlciB7Cit9OworICAgIAogdm9pZCBm
aWxsV2l0aEVtcHR5Q2xpZW50cyhQYWdlQ29uZmlndXJhdGlvbiYpOwogCiB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg2LDYg
Kzg2LDcgQEAKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiTWFpbkZy
YW1lLmgiCiAjaW5jbHVkZSAiTWVtb3J5Q2FjaGUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5j
bHVkZSAiUGFnZUNhY2hlLmgiCiAjaW5jbHVkZSAiUGFnZVRocm90dGxlci5oIgogI2luY2x1ZGUg
IlBhZ2VUcmFuc2l0aW9uRXZlbnQuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjksMTUgKzI5LDEzIEBACiAgKiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICov
CiAKLSNpZm5kZWYgRnJhbWVMb2FkZXJfaAotI2RlZmluZSBGcmFtZUxvYWRlcl9oCisjcHJhZ21h
IG9uY2UKIAogI2luY2x1ZGUgIkNhY2hlUG9saWN5LmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJT
dGF0ZU1hY2hpbmUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCiAjaW5jbHVkZSAi
TGF5b3V0TWlsZXN0b25lcy5oIgogI2luY2x1ZGUgIk1peGVkQ29udGVudENoZWNrZXIuaCIKLSNp
bmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZVRocm90dGxlci5oIgogI2luY2x1ZGUgIlJl
c291cmNlSGFuZGxlVHlwZXMuaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWROb3RpZmllci5oIgpA
QCAtNDY5LDUgKzQ2NywzIEBAIHByaXZhdGU6CiBSZWZQdHI8RnJhbWU+IGNyZWF0ZVdpbmRvdyhG
cmFtZSYgb3BlbmVyRnJhbWUsIEZyYW1lJiBsb29rdXBGcmFtZSwgY29uc3QgRnJhbWVMb2FkUmVx
dWVzdCYsIGNvbnN0IFdpbmRvd0ZlYXR1cmVzJiwgYm9vbCYgY3JlYXRlZCk7CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEZyYW1lTG9hZGVyX2gKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0
LmNwcAkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBA
QAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTWFpbkZyYW1lLmgiCisjaW5jbHVkZSAiUGFnZS5o
IgogI2luY2x1ZGUgIlByb2dyZXNzRXZlbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZS5o
IgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1h
aW5GcmFtZS5oIgogI2luY2x1ZGUgIk1lbW9yeUNhY2hlLmgiCisjaW5jbHVkZSAiUGFnZS5oIgog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxl
LmgiCiAjaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsNyBAQAogI2luY2x1ZGUgIk1lbW9y
eUNhY2hlLmgiCiAjaW5jbHVkZSAiTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgiCiAjaW5jbHVkZSAi
T3ZlcmZsb3dFdmVudC5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlQ2FjaGUu
aCIKICNpbmNsdWRlICJQYWdlT3ZlcmxheUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJQcm9ncmVz
c1RyYWNrZXIuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAkocmV2aXNpb24gMjAxOTg5KQorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMwLDYgKzIz
MCw3IEBAIFBhZ2U6OlBhZ2UoUGFnZUNvbmZpZ3VyYXRpb24mJiBwYWdlQ29uZmkKICNlbmRpZgog
ICAgICwgbV9sYXN0U3BhdGlhbE5hdmlnYXRpb25DYW5kaWRhdGVzQ291bnQoMCkgLy8gTk9URTog
T25seSBjYWxsZWQgZnJvbSBJbnRlcm5hbHMgZm9yIFNwYXRpYWwgTmF2aWdhdGlvbiB0ZXN0aW5n
LgogICAgICwgbV9mb3JiaWRQcm9tcHRzRGVwdGgoMCkKKyAgICAsIG1fc29ja2V0UHJvdmlkZXIo
V1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbi5zb2NrZXRQcm92aWRlcikpCiAgICAgLCBtX2FwcGxp
Y2F0aW9uQ2FjaGVTdG9yYWdlKCpXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLmFwcGxpY2F0aW9u
Q2FjaGVTdG9yYWdlKSkKICAgICAsIG1fZGF0YWJhc2VQcm92aWRlcigqV1RGTW92ZShwYWdlQ29u
ZmlndXJhdGlvbi5kYXRhYmFzZVByb3ZpZGVyKSkKICAgICAsIG1fc3RvcmFnZU5hbWVzcGFjZVBy
b3ZpZGVyKCpXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnN0b3JhZ2VOYW1lc3BhY2VQcm92aWRl
cikpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyMCw2ICsxMjAsNyBAQCBjbGFzcyBW
aXNpYmxlU2VsZWN0aW9uOwogY2xhc3MgU2Nyb2xsYWJsZUFyZWE7CiBjbGFzcyBTY3JvbGxpbmdD
b29yZGluYXRvcjsKIGNsYXNzIFNldHRpbmdzOworY2xhc3MgU29ja2V0UHJvdmlkZXI7CiBjbGFz
cyBTdG9yYWdlTmFtZXNwYWNlOwogY2xhc3MgU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyOwogY2xh
c3MgVXNlckNvbnRlbnRQcm92aWRlcjsKQEAgLTQ1Niw2ICs0NTcsNyBAQCBwdWJsaWM6CiAKICAg
ICBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSYgYXBwbGljYXRpb25DYWNoZVN0b3JhZ2UoKSB7IHJl
dHVybiBtX2FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOyB9CiAgICAgRGF0YWJhc2VQcm92aWRlciYg
ZGF0YWJhc2VQcm92aWRlcigpIHsgcmV0dXJuIG1fZGF0YWJhc2VQcm92aWRlcjsgfQorICAgIFNv
Y2tldFByb3ZpZGVyJiBzb2NrZXRQcm92aWRlcigpIHsgcmV0dXJuIG1fc29ja2V0UHJvdmlkZXI7
IH0KIAogICAgIFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlciYgc3RvcmFnZU5hbWVzcGFjZVByb3Zp
ZGVyKCkgeyByZXR1cm4gbV9zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuZ2V0KCk7IH0KICAgICB2
b2lkIHNldFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcihSZWY8U3RvcmFnZU5hbWVzcGFjZVByb3Zp
ZGVyPiYmKTsKQEAgLTY5MCw2ICs2OTIsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fbGFz
dFNwYXRpYWxOYXZpZ2F0aW9uQ2FuZGlkYXRlc0NvdW50OwogICAgIHVuc2lnbmVkIG1fZm9yYmlk
UHJvbXB0c0RlcHRoOwogCisgICAgVW5pcXVlUmVmPFNvY2tldFByb3ZpZGVyPiBtX3NvY2tldFBy
b3ZpZGVyOwogICAgIFJlZjxBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZT4gbV9hcHBsaWNhdGlvbkNh
Y2hlU3RvcmFnZTsKICAgICBSZWY8RGF0YWJhc2VQcm92aWRlcj4gbV9kYXRhYmFzZVByb3ZpZGVy
OwogICAgIFJlZjxTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI+IG1fc3RvcmFnZU5hbWVzcGFjZVBy
b3ZpZGVyOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAJ
KHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRp
b24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwxNCArMzEsMTYgQEAKICNpbmNsdWRlICJEYXRh
YmFzZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCIKICNp
bmNsdWRlICJFZGl0b3JDbGllbnQuaCIKKyNpbmNsdWRlICJTb2NrZXRQcm92aWRlci5oIgogI2lu
Y2x1ZGUgIlN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5oIgogI2luY2x1ZGUgIlVzZXJDb250ZW50
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlZpc2l0ZWRMaW5rU3RvcmUuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1QYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZpZ3VyYXRpb24oVW5pcXVl
UmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQpCitQYWdlQ29uZmlndXJhdGlvbjo6UGFn
ZUNvbmZpZ3VyYXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQsIFVu
aXF1ZVJlZjxTb2NrZXRQcm92aWRlcj4mJiBzb2NrZXRQcm92aWRlcikKICAgICA6IGVkaXRvckNs
aWVudChXVEZNb3ZlKGVkaXRvckNsaWVudCkpCisgICAgLCBzb2NrZXRQcm92aWRlcihXVEZNb3Zl
KHNvY2tldFByb3ZpZGVyKSkKIHsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
Q29uZmlndXJhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bmZpZ3VyYXRpb24uaAkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlQ29uZmlndXJhdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0Nyw3IEBAIGNsYXNz
IEZyYW1lTG9hZGVyQ2xpZW50OwogY2xhc3MgSW5zcGVjdG9yQ2xpZW50OwogY2xhc3MgUGx1Z0lu
Q2xpZW50OwogY2xhc3MgUHJvZ3Jlc3NUcmFja2VyQ2xpZW50OworY2xhc3MgU29ja2V0UHJvdmlk
ZXI7CiBjbGFzcyBTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7CiBjbGFzcyBVc2VyQ29udGVudFBy
b3ZpZGVyOwogY2xhc3MgVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQ7CkBAIC01OSw3ICs2MCw3IEBA
IGNsYXNzIENvbnRleHRNZW51Q2xpZW50OwogY2xhc3MgUGFnZUNvbmZpZ3VyYXRpb24gewogICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDb25maWd1cmF0aW9uKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24o
VW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJik7CisgICAgV0VCQ09SRV9FWFBPUlQgUGFnZUNvbmZp
Z3VyYXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiwgVW5pcXVlUmVmPFNvY2tldFByb3Zp
ZGVyPiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB+UGFnZUNvbmZpZ3VyYXRpb24oKTsKIAogICAg
IEFsdGVybmF0aXZlVGV4dENsaWVudCogYWx0ZXJuYXRpdmVUZXh0Q2xpZW50IHsgbnVsbHB0ciB9
OwpAQCAtNjgsNiArNjksNyBAQCBwdWJsaWM6CiAgICAgQ29udGV4dE1lbnVDbGllbnQqIGNvbnRl
eHRNZW51Q2xpZW50IHsgbnVsbHB0ciB9OwogI2VuZGlmCiAgICAgVW5pcXVlUmVmPEVkaXRvckNs
aWVudD4gZWRpdG9yQ2xpZW50OworICAgIFVuaXF1ZVJlZjxTb2NrZXRQcm92aWRlcj4gc29ja2V0
UHJvdmlkZXI7CiAgICAgRHJhZ0NsaWVudCogZHJhZ0NsaWVudCB7IG51bGxwdHIgfTsKICAgICBJ
bnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckNsaWVudCB7IG51bGxwdHIgfTsKICAgICBQbHVnSW5D
bGllbnQqIHBsdWdJbkNsaWVudCB7IG51bGxwdHIgfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUmVzb3VyY2VVc2FnZU92ZXJsYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUmVzb3VyY2VVc2FnZU92ZXJsYXkuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Jlc291cmNlVXNhZ2VPdmVybGF5LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIlJlc291cmNlVXNhZ2VPdmVybGF5LmgiCiAKICNp
bmNsdWRlICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZU92
ZXJsYXlDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU29ja2V0UHJvdmlkZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL1NvY2tldFByb3ZpZGVyLmgJKHJldmlzaW9uIDApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NvY2tldFByb3ZpZGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIFNvY2tldFByb3ZpZGVyIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5Tb2NrZXRQ
cm92aWRlcigpIHsgfTsKK307CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvY29jb2Ev
UmVzb3VyY2VVc2FnZU92ZXJsYXlDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL2NvY29hL1Jlc291cmNlVXNhZ2VPdmVybGF5Q29jb2EubW0JKHJldmlzaW9uIDIwMTk4
OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvY29jb2EvUmVzb3VyY2VVc2FnZU92ZXJsYXlDb2Nv
YS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPENvcmVHcmFw
aGljcy9DR0NvbnRleHQuaD4KICNpbmNsdWRlIDxRdWFydHpDb3JlL0NBTGF5ZXIuaD4KICNpbmNs
dWRlIDxRdWFydHpDb3JlL0NBVHJhbnNhY3Rpb24uaD4KKyNpbmNsdWRlIDx3dGYvTWFpblRocmVh
ZC5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVz
dHJveWVkLmg+CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUg
IkhUTUxIdG1sRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGF0aFV0aWxpdGllcy5oIgog
I2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCiAjaW5jbHVkZSAiUmVuZGVyQ2hpbGRJdGVyYXRvci5o
IgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5jcHAJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckJhY2tpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3IEBACiAjaW5j
bHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiS2V5ZnJhbWVMaXN0
LmgiCiAjaW5jbHVkZSAiTWFpbkZyYW1lLmgiCisjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUg
IlBsdWdpblZpZXdCYXNlLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyRmxvd1RocmVhZC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVS
ZXNvbHZlRm9yRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlUmVzb2x2ZUZvckRvY3VtZW50LmNwcAkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiSFRNTElGcmFtZUVsZW1lbnQuaCIKICNpbmNs
dWRlICJMb2NhbGVUb1NjcmlwdE1hcHBpbmcuaCIKICNpbmNsdWRlICJOb2RlUmVuZGVyU3R5bGUu
aCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVk
ZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisr
KyBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJMb2FkZXJTdHJhdGVneS5oIgogI2luY2x1
ZGUgIk1haW5GcmFtZS5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgorI2luY2x1ZGUg
IlBhZ2UuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJTZXR0
aW5ncy5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2
Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Zn
L2dyYXBoaWNzL1NWR0ltYWdlLmNwcAkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNv
cmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzks
NyBAQAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJKU0RPTVdpbmRvd0Jhc2UuaCIK
ICNpbmNsdWRlICJNYWluRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFn
ZUNvbmZpZ3VyYXRpb24uaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSb290LmgiCiAjaW5jbHVkZSAi
UmVuZGVyU3R5bGUuaCIKQEAgLTM3OSw3ICszODAsNyBAQCBib29sIFNWR0ltYWdlOjpkYXRhQ2hh
bmdlZChib29sIGFsbERhdGFSCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgaWYgKGFsbERh
dGFSZWNlaXZlZCkgewotICAgICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlv
bihtYWtlVW5pcXVlUmVmPEVtcHR5RWRpdG9yQ2xpZW50PigpKTsKKyAgICAgICAgUGFnZUNvbmZp
Z3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb24obWFrZVVuaXF1ZVJlZjxFbXB0eUVkaXRvckNsaWVu
dD4oKSwgbWFrZVVuaXF1ZVJlZjxFbXB0eVNvY2tldFByb3ZpZGVyPigpKTsKICAgICAgICAgZmls
bFdpdGhFbXB0eUNsaWVudHMocGFnZUNvbmZpZ3VyYXRpb24pOwogICAgICAgICBtX2Nocm9tZUNs
aWVudCA9IHN0ZDo6bWFrZV91bmlxdWU8U1ZHSW1hZ2VDaHJvbWVDbGllbnQ+KHRoaXMpOwogICAg
ICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBtX2Nocm9tZUNsaWVudC5nZXQo
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYWdlT3ZlcmxheUNs
aWVudC5jcHAJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9j
a1BhZ2VPdmVybGF5Q2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAog
I2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIK
ICNpbmNsdWRlICJNYWluRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFn
ZU92ZXJsYXlDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCiAj
aW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
MDE5ODkpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxNSBAQAorMjAxNi0wNi0xMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBXZWJTb2NrZXRQcm92aWRlciBzdHViCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg3MDIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29j
a2V0UHJvdmlkZXIuaDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwOgorICAgICAgICAoV2ViS2l0OjptX3Nob3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2
ZW50cyk6CisKIDIwMTYtMDYtMTAgIEFkYSBDaGFuICA8YWRhY2hhbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgVXNlIHRoZSB2aWRlbyBlbGVtZW50J3MgdmlkZW8gYm94IHdoZW4gZ2V0dGluZyB0aGUg
aW5saW5lIHZpZGVvIHJlY3QgaW4gV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlcgpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2
aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zMDYzLDYgKzMwNjMsNyBAQAogCQk1QzIwQ0I5
QjFCQjBEQ0QyMDA4OTVCQjEgLyogTmV0d29ya1Nlc3Npb25Db2NvYS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IE5ldHdvcmtTZXNzaW9uQ29jb2EubW07IHBhdGgg
PSBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1QzIwQ0I5RTFCQjBERDE4MDA4OTVCQjEgLyogTmV0d29ya1Nl
c3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1Nlc3Npb24u
aDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTVDMjk4RDlFMUMzREVGMjkwMDQ3MEFGRSAvKiBQZW5kaW5nRG93bmxv
YWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUGVuZGluZ0Rvd25sb2FkLmg7
IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvUGVuZGluZ0Rvd25sb2FkLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVDN0M4OERDMUQwRjQxQTAwMDlEMkY2RCAvKiBXZWJT
b2NrZXRQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJTb2Nr
ZXRQcm92aWRlci5oOyBwYXRoID0gTmV0d29yay9XZWJTb2NrZXRQcm92aWRlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1Qzg1Qzc4NjFDM0YyM0M1MDA2MUE0RkEgLyogUGVuZGlu
Z0Rvd25sb2FkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFBlbmRp
bmdEb3dubG9hZC5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvUGVuZGluZ0Rv
d25sb2FkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzlCODkxQzY1MjRB
NTAwQThGRENGIC8qIE5ldHdvcmtEYXRhVGFzay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBOZXR3b3JrRGF0YVRhc2suaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtE
YXRhVGFzay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0JDOUI4QjFDNjUyNTcz
MDBBOEZEQ0YgLyogTmV0d29ya0RhdGFUYXNrQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IG5hbWUgPSBOZXR3b3JrRGF0YVRhc2tDb2NvYS5tbTsgcGF0aCA9IE5ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNTI1Myw2ICs1MjU0LDcgQEAKIAkJNTEwNUIwRDIxNjJGN0E1RTAwRTI3
NzA5IC8qIE5ldHdvcmsgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KAorCQkJCTVDN0M4OERDMUQwRjQxQTAwMDlEMkY2RCAvKiBXZWJTb2NrZXRQcm92aWRlci5oICov
LAogCQkJCTUxMDVCMEQ0MTYyRjdBN0EwMEUyNzcwOSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24uY3BwICovLAogCQkJCTUxMDVCMEQ1MTYyRjdBN0EwMEUyNzcwOSAvKiBOZXR3b3JrUHJvY2Vz
c0Nvbm5lY3Rpb24uaCAqLywKIAkJCQk1MUZCMDkwMjE2M0EzQjFDMDBFQzMyNEEgLyogTmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluICovLApJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFByb3ZpZGVyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFByb3ZpZGVyLmgJKHJldmlz
aW9uIDApCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0UHJv
dmlkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL1NvY2tldFByb3ZpZGVyLmg+CisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJTb2NrZXRQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBX
ZWJDb3JlOjpTb2NrZXRQcm92aWRlciB7Cit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEwMSw2ICsxMDEsNyBAQAogI2luY2x1ZGUgIldlYlByb2Nlc3NQb29sTWVzc2FnZXMu
aCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlBy
b2dyZXNzVHJhY2tlckNsaWVudC5oIgorI2luY2x1ZGUgIldlYlNvY2tldFByb3ZpZGVyLmgiCiAj
aW5jbHVkZSAiV2ViU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV2ViVW5k
b1N0ZXAuaCIKICNpbmNsdWRlICJXZWJVc2VyQ29udGVudENvbnRyb2xsZXIuaCIKQEAgLTM4NCw3
ICszODUsNyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgCiAgICAg
U2V0dGluZ3M6OnNldFNob3VsZE1hbmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KHRydWUpOwogI2Vu
ZGlmCiAKLSAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbihtYWtlVW5pcXVl
UmVmPFdlYkVkaXRvckNsaWVudD4odGhpcykpOworICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VD
b25maWd1cmF0aW9uKG1ha2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50Pih0aGlzKSwgbWFrZVVu
aXF1ZVJlZjxXZWJTb2NrZXRQcm92aWRlcj4oKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hy
b21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudCh0aGlzKTsKICNpZiBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jb250ZXh0TWVudUNsaWVudCA9IG5ldyBX
ZWJDb250ZXh0TWVudUNsaWVudCh0aGlzKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDIwMDAp
CisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEy
IEBACisyMDE2LTA2LTEzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgQWRkIFdlYlNvY2tldFByb3ZpZGVyIHN0dWIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODcwMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisKIDIwMTYtMDYtMTAgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBGaXggQ01ha2UgYnVpbGQuCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIw
MTk4OSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTE0Niw2ICsxNDYsNyBAQAogCQk1OThBRDkyODEyMDFDRjMyMDBB
QkFFNEUgLyogV2ViRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlck1vY2subW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OThBRDkyNzEyMDFDRjMyMDBBQkFF
NEUgLyogV2ViRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlck1vY2subW0gKi87IH07CiAJCTU5OEFE
OTJBMTIwMUNGM0IwMEFCQUU0RSAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyTW9ja0lu
dGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
OThBRDkyOTEyMDFDRjNCMDBBQkFFNEUgLyogV2ViRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlck1v
Y2tJbnRlcm5hbC5oICovOyB9OwogCQk1OThBREE0NjEyMDIyNzUwMDBBQkFFNEUgLyogV2ViRGV2
aWNlT3JpZW50YXRpb25Qcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTk4QURBNDUxMjAyMjc1MDAwQUJBRTRFIC8qIFdlYkRldmljZU9yaWVu
dGF0aW9uUHJvdmlkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQk1QzdDODhEQTFEMEYzQkYyMDA5RDJGNkQgLyogV2ViU29ja2V0UHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDN0M4OEQ5
MUQwRjNCRjIwMDlEMkY2RCAvKiBXZWJTb2NrZXRQcm92aWRlci5oICovOyB9OwogCQk1RDdCRjgx
NDBDMkExRDkwMDA4Q0UwNkQgLyogV2ViSW5zcGVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RDdCRjgxMjBDMkExRDkwMDA4Q0UwNkQgLyogV2Vi
SW5zcGVjdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNUQ3QkY4MTUwQzJBMUQ5MDAwOENFMDZEIC8qIFdlYkluc3BlY3Rvci5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVEN0JGODEzMEMyQTFEOTAw
MDhDRTA2RCAvKiBXZWJJbnNwZWN0b3IubW0gKi87IH07CiAJCTVERTgzQTdBMEQwRjdGOTQwMENB
RDEyQSAvKiBXZWJKYXZhU2NyaXB0VGV4dElucHV0UGFuZWwubmliIGluIFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1REU4M0E3NDBEMEY3Rjk0MDBDQUQxMkEg
LyogV2ViSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsLm5pYiAqLzsgfTsKQEAgLTY0Niw2ICs2NDcs
NyBAQAogCQk1OThBRDkyNzEyMDFDRjMyMDBBQkFFNEUgLyogV2ViRGV2aWNlT3JpZW50YXRpb25Q
cm92aWRlck1vY2subW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBX
ZWJEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyTW9jay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTk4QUQ5MjkxMjAxQ0YzQjAwQUJBRTRFIC8qIFdlYkRldmljZU9yaWVudGF0aW9u
UHJvdmlkZXJNb2NrSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlck1vY2tJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1OThBREE0NTEyMDIyNzUwMDBBQkFFNEUgLyogV2ViRGV2aWNlT3Jp
ZW50YXRpb25Qcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJE
ZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTVDN0M4OEQ5MUQwRjNCRjIwMDlEMkY2RCAvKiBXZWJTb2NrZXRQcm92aWRlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTb2NrZXRQcm92aWRlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1RDdCRjgxMjBDMkExRDkwMDA4Q0UwNkQgLyogV2ViSW5zcGVj
dG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJbnNwZWN0b3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUQ3QkY4MTMwQzJBMUQ5MDAwOENFMDZEIC8q
IFdlYkluc3BlY3Rvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBXZWJJbnNwZWN0b3IubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVERTgzQTc1
MEQwRjdGOTQwMENBRDEyQSAvKiBFbmdsaXNoICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5uaWI7IG5hbWUgPSBFbmdsaXNoOyBwYXRoID0g
RW5nbGlzaC5scHJvai9XZWJKYXZhU2NyaXB0VGV4dElucHV0UGFuZWwubmliOyBzb3VyY2VUcmVl
ID0gU09VUkNFX1JPT1Q7IH07CkBAIC0xMDkwLDYgKzEwOTIsNyBAQAogCQkyNTREQzMzNDAxNkUx
RDNGMEVDQTE0OUUgLyogTWlzYyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCisJCQkJNUM3Qzg4RDkxRDBGM0JGMjAwOUQyRjZEIC8qIFdlYlNvY2tldFByb3ZpZGVy
LmggKi8sCiAJCQkJQTEwQzFEMjAxODIwMkZBRjAwMzY4ODNBIC8qIGlvcyAqLywKIAkJCQkxQ0NG
RkQxMjBCMUY4MUYyMDAyRUU5MjYgLyogT2xkV2ViQXNzZXJ0aW9ucy5jICovLAogCQkJCTI5QUVG
OTVEMTM0Qzc1NTQwMEZFNTA5NiAvKiBPdXRsb29rUXVpcmtzVXNlclNjcmlwdC5qcyAqLywKQEAg
LTE3OTQsNiArMTc5Nyw3IEBACiAJCQkJOTM5ODEwNTMwODI0QkYwMTAwOERGMDM4IC8qIFdlYkZy
YW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQk5Mzk4MTA5QzA4MjRCRjAxMDA4REYwMzggLyogV2Vi
RnJhbWVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEwQzFENkIxODIwMzAwRTAwMzY4
ODNBIC8qIFdlYkZyYW1lSU9TLmggaW4gSGVhZGVycyAqLywKKwkJCQk1QzdDODhEQTFEMEYzQkYy
MDA5RDJGNkQgLyogV2ViU29ja2V0UHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMEMx
RDZEMTgyMDMwMEUwMDM2ODgzQSAvKiBXZWJGcmFtZUlQaG9uZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTM5ODEwNUIwODI0QkYwMTAwOERGMDM4IC8qIFdlYkZyYW1lTG9hZERlbGVnYXRlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlDMEI4OEU4QjEwQTA4RjNEMDBGQkIzRjUgLyogV2ViRnJhbWVMb2Fk
RGVsZWdhdGVQcml2YXRlLmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE2LTA2LTEzICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFdlYlNvY2tldFByb3ZpZGVyIHN0
dWIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODcw
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTWlz
Yy9XZWJTb2NrZXRQcm92aWRlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcu
bW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFt
ZTpncm91cE5hbWU6XSk6CisgICAgICAgICgtW1dlYlZpZXcgaW5pdFNpbXBsZUhUTUxEb2N1bWVu
dFdpdGhTdHlsZTpmcmFtZTpwcmVmZXJlbmNlczpncm91cE5hbWU6XSk6CisKIDIwMTYtMDYtMTAg
IEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBJ
bnRyb2R1Y2UgV1RGOjpVbmlxdWVSZWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2Vi
U29ja2V0UHJvdmlkZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dl
YlNvY2tldFByb3ZpZGVyLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0L21hYy9NaXNj
L1dlYlNvY2tldFByb3ZpZGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8V2ViQ29yZS9Tb2NrZXRQcm92aWRl
ci5oPgorCitjbGFzcyBXZWJTb2NrZXRQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpT
b2NrZXRQcm92aWRlciB7Cit9OwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC05OSw2ICs5OSw3IEBACiAjaW1wb3J0ICJXZWJTY3JpcHRE
ZWJ1Z0RlbGVnYXRlLmgiCiAjaW1wb3J0ICJXZWJTY3JpcHRXb3JsZEludGVybmFsLmgiCiAjaW1w
b3J0ICJXZWJTZWxlY3Rpb25TZXJ2aWNlQ29udHJvbGxlci5oIgorI2ltcG9ydCAiV2ViU29ja2V0
UHJvdmlkZXIuaCIKICNpbXBvcnQgIldlYlN0b3JhZ2VNYW5hZ2VySW50ZXJuYWwuaCIKICNpbXBv
cnQgIldlYlN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5oIgogI2ltcG9ydCAiV2ViU3lzdGVtSW50
ZXJmYWNlLmgiCkBAIC05ODcsNyArOTg4LDcgQEAgLSAodm9pZClfY29tbW9uSW5pdGlhbGl6YXRp
b25XaXRoRnJhbWVOYQogICAgIF9wcml2YXRlLT5ncm91cCA9IFdlYlZpZXdHcm91cDo6Z2V0T3JD
cmVhdGUoZ3JvdXBOYW1lLCBfcHJpdmF0ZS0+cHJlZmVyZW5jZXMuX2xvY2FsU3RvcmFnZURhdGFi
YXNlUGF0aCk7CiAgICAgX3ByaXZhdGUtPmdyb3VwLT5hZGRXZWJWaWV3KHNlbGYpOwogCi0gICAg
UGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb24obWFrZVVuaXF1ZVJlZjxXZWJFZGl0
b3JDbGllbnQ+KHNlbGYpKTsKKyAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlv
bihtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4oc2VsZiksIG1ha2VVbmlxdWVSZWY8V2Vi
U29ja2V0UHJvdmlkZXI+KCkpOwogI2lmICFQTEFURk9STShJT1MpCiAgICAgcGFnZUNvbmZpZ3Vy
YXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudChzZWxmKTsKICAgICBwYWdl
Q29uZmlndXJhdGlvbi5jb250ZXh0TWVudUNsaWVudCA9IG5ldyBXZWJDb250ZXh0TWVudUNsaWVu
dChzZWxmKTsKQEAgLTEyMzcsNyArMTIzOCw3IEBAIC0gKGlkKWluaXRTaW1wbGVIVE1MRG9jdW1l
bnRXaXRoU3R5bGU6KE4KICAgICBfcHJpdmF0ZS0+Z3JvdXAgPSBXZWJWaWV3R3JvdXA6OmdldE9y
Q3JlYXRlKGdyb3VwTmFtZSwgX3ByaXZhdGUtPnByZWZlcmVuY2VzLl9sb2NhbFN0b3JhZ2VEYXRh
YmFzZVBhdGgpOwogICAgIF9wcml2YXRlLT5ncm91cC0+YWRkV2ViVmlldyhzZWxmKTsKIAotICAg
IFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKG1ha2VVbmlxdWVSZWY8V2ViRWRp
dG9yQ2xpZW50PihzZWxmKSk7CisgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRp
b24obWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHNlbGYpLCBtYWtlVW5pcXVlUmVmPFdl
YlNvY2tldFByb3ZpZGVyPigpKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQg
PSBuZXcgV2ViQ2hyb21lQ2xpZW50SU9TKHNlbGYpOwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQp
CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uZHJhZ0NsaWVudCA9IG5ldyBXZWJEcmFnQ2xpZW50KHNl
bGYpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281194</attachid>
            <date>2016-06-13 13:27:02 -0700</date>
            <delta_ts>2016-06-13 13:55:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158702-20160613132850.patch</filename>
            <type>text/plain</type>
            <size>44569</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE2LTA2LTEzICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFdlYlNvY2tldFByb3ZpZGVy
IHN0dWIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
ODcwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEJyYWR5IEVpZHNvbi4KKworICAgICAgICAqIHd0
Zi9VbmlxdWVSZWYuaDoKKyAgICAgICAgKFdURjo6VW5pcXVlUmVmOjpvcGVyYXRvci0+KToKKyAg
ICAgICAgKFdURjo6VW5pcXVlUmVmOjpvcGVyYXRvciBUJik6CisgICAgICAgIChXVEY6OlVuaXF1
ZVJlZjo6b3BlcmF0b3IgY29uc3QgVCYpOgorICAgICAgICBBZGRlZCBvcGVyYXRvciBUJiB0byBh
dm9pZCB1bm5lZWRlZCAuZ2V0KCkgY2FsbHMuCisKIDIwMTYtMDYtMTEgIE15bGVzIEMuIE1heGZp
ZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGRyZXNzaW5nIHBvc3QtcmV2
aWV3IGNvbW1lbnRzIGFmdGVyIHIyMDE5NzguCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9VbmlxdWVS
ZWYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9VbmlxdWVSZWYuaAkocmV2aXNpb24g
MjAxOTg5KQorKysgU291cmNlL1dURi93dGYvVW5pcXVlUmVmLmgJKHdvcmtpbmcgY29weSkKQEAg
LTU2LDYgKzU2LDkgQEAgcHVibGljOgogCiAgICAgVCogb3BlcmF0b3ItPigpIHsgQVNTRVJUKG1f
cmVmKTsgcmV0dXJuIG1fcmVmLmdldCgpOyB9CiAgICAgY29uc3QgVCogb3BlcmF0b3ItPigpIGNv
bnN0IHsgQVNTRVJUKG1fcmVmKTsgcmV0dXJuIG1fcmVmLmdldCgpOyB9CisgICAgCisgICAgb3Bl
cmF0b3IgVCYoKSB7IEFTU0VSVChtX3JlZik7IHJldHVybiAqbV9yZWY7IH0KKyAgICBvcGVyYXRv
ciBjb25zdCBUJigpIGNvbnN0IHsgQVNTRVJUKG1fcmVmKTsgcmV0dXJuICptX3JlZjsgfQogCiBw
cml2YXRlOgogICAgIHRlbXBsYXRlPGNsYXNzIFUsIGNsYXNzLi4uIEFyZ3M+IGZyaWVuZCBVbmlx
dWVSZWY8VT4gbWFrZVVuaXF1ZVJlZihBcmdzJiYuLi4pOwpJbmRleDogU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNp
b24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTMgQEAKKzIwMTYtMDYtMTMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgV2ViU29ja2V0UHJvdmlkZXIgc3R1YgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NzAyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQnJhZHkgRWlkc29uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4g
IE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBkb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAg
ICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvTWVkaWFEb2N1
bWVudC5jcHA6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3Bw
OgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwOgorICAgICAgICAqIGh0
bWwvc2hhZG93L01lZGlhQ29udHJvbHMuaDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xzQXBwbGUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpvdmVybGF5UGFnZSk6CisgICAgICAgICogbG9hZGVy
L0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAg
ICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVIb3N0LmNwcDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2UuY3BwOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKiBwYWdl
L1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6UGFnZSk6CisgICAgICAgICogcGFn
ZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjphcHBsaWNhdGlvbkNhY2hlU3RvcmFn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpkYXRhYmFzZVByb3ZpZGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6OnNvY2tldFByb3ZpZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6
OnN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcik6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJh
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZp
Z3VyYXRpb24pOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAg
KiBwYWdlL1Jlc291cmNlVXNhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKiBwYWdlL1NvY2tldFBy
b3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0UHJvdmlkZXI6On5Tb2Nr
ZXRQcm92aWRlcik6CisgICAgICAgICogcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlT3ZlcmxheUNv
Y29hLm1tOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKiBzdHlsZS9TdHls
ZVJlc29sdmVGb3JEb2N1bWVudC5jcHA6CisgICAgICAgICogc3R5bGUvU3R5bGVUcmVlUmVzb2x2
ZXIuY3BwOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdJbWFnZTo6ZGF0YUNoYW5nZWQpOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1Bh
Z2VPdmVybGF5Q2xpZW50LmNwcDoKKwogMjAxNi0wNi0xMyAgTmFlbCBPdWVkcmFvZ28gIDxuYWVs
Lm91ZWRyYW9nb0BjcmYuY2Fub24uZnI+CiAKICAgICAgICAgSW1wcm92ZSBjb2RlIGdlbmVyYXRv
ciBmb3IgZnVuY3Rpb25zIHdpdGggdmFyaWFkaWMgcGFyYW1ldGVycwpJbmRleDogU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
MjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yMzQ0LDYgKzIzNDQsNyBAQAogCQk1QzQzMDRCMTE5MUFD
OTA4MDAwRTJCQzAgLyogRVhUU2hhZGVyVGV4dHVyZUxPRC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUM0MzA0QUUxOTFBQzkwODAwMEUyQkMwIC8qIEVY
VFNoYWRlclRleHR1cmVMT0QuaCAqLzsgfTsKIAkJNUM0MzA0QjUxOTFBRUY0NjAwMEUyQkMwIC8q
IEpTRVhUU2hhZGVyVGV4dHVyZUxPRC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1QzQzMDRCMzE5MUFFRjQ2MDAwRTJCQzAgLyogSlNFWFRTaGFkZXJU
ZXh0dXJlTE9ELmNwcCAqLzsgfTsKIAkJNUM0MzA0QjYxOTFBRUY0NjAwMEUyQkMwIC8qIEpTRVhU
U2hhZGVyVGV4dHVyZUxPRC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNUM0MzA0QjQxOTFBRUY0NjAwMEUyQkMwIC8qIEpTRVhUU2hhZGVyVGV4dHVyZUxP
RC5oICovOyB9OworCQk1QzdDODhEODFEMEYxRjRBMDA5RDJGNkQgLyogU29ja2V0UHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDN0M4OEQ3
MUQwRjFGMkIwMDlEMkY2RCAvKiBTb2NrZXRQcm92aWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVDOUE3QTc1MUFBMEY2RUEwMDk1OEFDRiAv
KiBERkFCeXRlY29kZUNvbXBpbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDVDMzkzMDVFMUFBMEY2QTkwMDI5QzgxNiAvKiBERkFCeXRlY29kZUNv
bXBpbGVyLmNwcCAqLzsgfTsKIAkJNUM5QTdBNzYxQUEwRjZFRDAwOTU4QUNGIC8qIERGQUJ5dGVj
b2RlSW50ZXJwcmV0ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNUMzOTMwNjAxQUEwRjZBOTAwMjlDODE2IC8qIERGQUJ5dGVjb2RlSW50ZXJwcmV0
ZXIuY3BwICovOyB9OwogCQk1QzlCODYwQzFDMjFFM0M5MDAxMTBGMzYgLyogUmVzb3VyY2VMb2Fk
VGltaW5nLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUM5Qjg2MEIxQzIxRTNDNjAwMTEwRjM2IC8qIFJlc291cmNlTG9hZFRpbWluZy5tbSAqLzsgfTsK
QEAgLTk5NjUsNiArOTk2Niw3IEBACiAJCTVDNDMwNEFGMTkxQUM5MDgwMDBFMkJDMCAvKiBFWFRT
aGFkZXJUZXh0dXJlTE9ELmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBFWFRTaGFkZXJUZXh0
dXJlTE9ELmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUM0MzA0QjMxOTFBRUY0
NjAwMEUyQkMwIC8qIEpTRVhUU2hhZGVyVGV4dHVyZUxPRC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0VYVFNoYWRlclRleHR1cmVMT0QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1QzQzMDRCNDE5MUFFRjQ2MDAwRTJCQzAgLyogSlNFWFRTaGFk
ZXJUZXh0dXJlTE9ELmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRVhUU2hh
ZGVyVGV4dHVyZUxPRC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1QzdDODhENzFE
MEYxRjJCMDA5RDJGNkQgLyogU29ja2V0UHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU29ja2V0UHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNUM5Qjg2MEIxQzIxRTNDNjAwMTEwRjM2IC8qIFJlc291cmNlTG9hZFRpbWluZy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJlc291cmNlTG9hZFRpbWluZy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCMzdGRkMxQzYyRDI3ODAwRjIwMTg4
IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTY3JvbGxBbmltYXRvck1vY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1Q0IzN0ZGRDFDNjJEMjc4MDBGMjAxODggLyogU2Nyb2xsQW5pbWF0b3JNb2NrLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yTW9jay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc5NzcsNiArMTc5NzksNyBAQAogCQk2NUJGMDIx
ODA5NzQ4MDYzMDBDNDMxOTYgLyogcGFnZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJNUM3Qzg4RDcxRDBGMUYyQjAwOUQyRjZEIC8qIFNvY2tldFByb3Zp
ZGVyLmggKi8sCiAJCQkJMzE2RkUxMDYwRTZFMUQ4NDAwQkY2MDg4IC8qIGFuaW1hdGlvbiAqLywK
IAkJCQk1RDU5NzVCNTE5NjM2MkJFMDBEMDA4NzggLyogY29jb2EgKi8sCiAJCQkJQ0UxN0FEMTQx
QzU4NTIyRjAwNUY0Nzk5IC8qIGNzcCAqLywKQEAgLTI4MTI5LDYgKzI4MTMyLDcgQEAKIAkJCQkw
OEZFMEJDNTEyN0UyQUMxMDAwQzRGQjUgLyogU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlv
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwODhBMEUwNTEyNkVGMURCMDA5NzhGN0EgLyogU1ZHQW5p
bWF0ZWRQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDg4QTBFMDYxMjZFRjFEQjAwOTc4
RjdBIC8qIFNWR0FuaW1hdGVkUHJvcGVydHlEZXNjcmlwdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNUM3Qzg4RDgxRDBGMUY0QTAwOUQyRjZEIC8qIFNvY2tldFByb3ZpZGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwODhBMEUwNzEyNkVGMURCMDA5NzhGN0EgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0
eU1hY3Jvcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDg4QTBFMDgxMjZFRjFEQjAwOTc4RjdBIC8q
IFNWR0FuaW1hdGVkUHJvcGVydHlUZWFyT2ZmLmggaW4gSGVhZGVycyAqLywKIAkJCQkwOEM4NTlD
MDEyNzQ1NzU0MDBBNTcyOEQgLyogU1ZHQW5pbWF0ZWRSZWN0LmggaW4gSGVhZGVycyAqLywKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuY3Bw
CShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJD
b250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUg
IkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIk1haW5GcmFtZS5oIgogI2luY2x1ZGUgIk5vZGVU
cmF2ZXJzYWwuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKICNpbmNs
dWRlICJSZW5kZXJCbG9ja0Zsb3cuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgpJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5j
cHAJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1h
dGlvbkNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBACiAjaW5j
bHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgog
I2luY2x1ZGUgIk1haW5GcmFtZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZXF1
ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5j
bHVkZSA8d3RmL1JlZi5oPgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Miw2ICs3Miw3IEBACiAjaW5jbHVkZSAi
TWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgiCiAjaW5jbHVkZSAiTmV0d29ya2luZ0NvbnRleHQuaCIK
ICNpbmNsdWRlICJOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24uaCIKKyNpbmNsdWRlICJQYWdlLmgi
CiAjaW5jbHVkZSAiUGFnZUdyb3VwLmgiCiAjaW5jbHVkZSAiUGFnZVRocm90dGxlci5oIgogI2lu
Y2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBA
CiAjaW5jbHVkZSAiSFRNTFZpZGVvRWxlbWVudC5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQu
aCIKICNpbmNsdWRlICJOb2RlTGlzdC5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJS
YXdEYXRhRG9jdW1lbnRQYXJzZXIuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiU2hhZG93Um9vdC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9sRWxlbWVudHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAkocmV2aXNpb24gMjAxOTg5KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3IEBACiAjaW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYUNvbnRyb2xzLmgiCisjaW5j
bHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlJlbmRlckxh
eWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyTWVkaWFDb250cm9sRWxlbWVudHMuaCIKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCShyZXZpc2lvbiAy
MDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIk1lZGlhQ29udHJvbHMu
aCIKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIgorI2luY2x1ZGUgIlBh
Z2UuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oCShyZXZpc2lvbiAy
MDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJIVE1MRGl2RWxlbWVudC5o
IgogI2luY2x1ZGUgIk1lZGlhQ29udHJvbEVsZW1lbnRzLmgiCiAjaW5jbHVkZSAiTW91c2VFdmVu
dC5oIgotI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1
ZGUgIlRleHQuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC00Niw3ICs0NSw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBFdmVudDsKLWNsYXNz
IFBhZ2U7CiBjbGFzcyBNZWRpYVBsYXllcjsKIAogY2xhc3MgUmVuZGVyQm94OwpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0FwcGxlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzQXBwbGUuY3BwCShy
ZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xzQXBwbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAi
Q1NTVmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5o
IgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJX
aGVlbEV2ZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCShyZXZp
c2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsNiArNTQsNyBAQAogI2luY2x1ZGUg
Ikluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRz
LmgiCiAjaW5jbHVkZSAiTWFpbkZyYW1lLmgiCisjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUg
IlBhZ2VEZWJ1Z2dlckFnZW50LmgiCiAjaW5jbHVkZSAiUGFnZVJ1bnRpbWVBZ2VudC5oIgogI2lu
Y2x1ZGUgIlJlbmRlck9iamVjdC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAkocmV2aXNpb24gMjAxOTg5KQorKysg
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgog
I2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZS5oIgogI2luY2x1ZGUgIk1l
bW9yeVByZXNzdXJlSGFuZGxlci5oIgotI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU3RvcmFnZUFyZWEuaCIKICNpbmNsdWRl
ICJXZWJTb2NrZXRGcmFtZS5oIgpAQCAtODAsNiArNzksNyBAQCBjbGFzcyBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb247CiBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50OwogY2xhc3MgSW5zdHJ1
bWVudGluZ0FnZW50czsKIGNsYXNzIE5vZGU7CitjbGFzcyBQYWdlOwogY2xhc3MgUHNldWRvRWxl
bWVudDsKIGNsYXNzIFJlbmRlckxheWVyOwogY2xhc3MgUmVuZGVyTGF5ZXJCYWNraW5nOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAkocmV2
aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJs
YXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NjQsNyArODY0LDcgQEAgUGFnZSogSW5zcGVjdG9y
T3ZlcmxheTo6b3ZlcmxheVBhZ2UoKQogICAgIGlmIChtX292ZXJsYXlQYWdlKQogICAgICAgICBy
ZXR1cm4gbV9vdmVybGF5UGFnZS5nZXQoKTsKIAotICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VD
b25maWd1cmF0aW9uKG1ha2VVbmlxdWVSZWY8RW1wdHlFZGl0b3JDbGllbnQ+KCkpOworICAgIFBh
Z2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKG1ha2VVbmlxdWVSZWY8RW1wdHlFZGl0
b3JDbGllbnQ+KCksIG1ha2VVbmlxdWVSZWY8RW1wdHlTb2NrZXRQcm92aWRlcj4oKSk7CiAgICAg
ZmlsbFdpdGhFbXB0eUNsaWVudHMocGFnZUNvbmZpZ3VyYXRpb24pOwogICAgIG1fb3ZlcmxheVBh
Z2UgPSBzdGQ6Om1ha2VfdW5pcXVlPFBhZ2U+KFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24pKTsK
IApJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAJKHJldmlzaW9uIDIw
MTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiRnJhbWVOZXR3b3JraW5nQ29udGV4
dC5oIgogI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUgIkluUHJvY2Vzc0lE
QlNlcnZlci5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlQ29uZmlndXJhdGlv
bi5oIgogI2luY2x1ZGUgIlN0b3JhZ2VBcmVhLmgiCiAjaW5jbHVkZSAiU3RvcmFnZU5hbWVzcGFj
ZS5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAkocmV2aXNpb24gMjAx
OTg5KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCSh3b3JraW5nIGNv
cHkpCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5j
bHVkZSAiUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5o
IgorI2luY2x1ZGUgIlNvY2tldFByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiVGV4dENoZWNrZXJDbGll
bnQuaCIKICNpbmNsdWRlICJWaXNpdGVkTGlua1N0b3JlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nVmlldy5oPgpAQCAtNzEsNiArNzIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgUGFnZTsKK2NsYXNzIFBhZ2VDb25maWd1cmF0
aW9uOwogCiBjbGFzcyBFbXB0eUNocm9tZUNsaWVudCA6IHB1YmxpYyBDaHJvbWVDbGllbnQgewog
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpAQCAtNjQyLDYgKzY0NCw5IEBAIGNsYXNzIEVt
cHR5RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQgZmluYWwKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNN
ZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmlu
ZyYsIFNob3VsZFNhbXBsZSkgb3ZlcnJpZGUgeyB9CiB9OwogCitjbGFzcyBFbXB0eVNvY2tldFBy
b3ZpZGVyIGZpbmFsIDogcHVibGljIFNvY2tldFByb3ZpZGVyIHsKK307CisgICAgCiB2b2lkIGZp
bGxXaXRoRW1wdHlDbGllbnRzKFBhZ2VDb25maWd1cmF0aW9uJik7CiAKIH0KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsNiAr
ODYsNyBAQAogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJNYWluRnJh
bWUuaCIKICNpbmNsdWRlICJNZW1vcnlDYWNoZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNs
dWRlICJQYWdlQ2FjaGUuaCIKICNpbmNsdWRlICJQYWdlVGhyb3R0bGVyLmgiCiAjaW5jbHVkZSAi
UGFnZVRyYW5zaXRpb25FdmVudC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmgJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxNSArMjksMTMgQEAKICAqIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
IAotI2lmbmRlZiBGcmFtZUxvYWRlcl9oCi0jZGVmaW5lIEZyYW1lTG9hZGVyX2gKKyNwcmFnbWEg
b25jZQogCiAjaW5jbHVkZSAiQ2FjaGVQb2xpY3kuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlclN0
YXRlTWFjaGluZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKICNpbmNsdWRlICJM
YXlvdXRNaWxlc3RvbmVzLmgiCiAjaW5jbHVkZSAiTWl4ZWRDb250ZW50Q2hlY2tlci5oIgotI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlVGhyb3R0bGVyLmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VIYW5kbGVUeXBlcy5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZE5vdGlmaWVyLmgiCkBA
IC00NjksNSArNDY3LDMgQEAgcHJpdmF0ZToKIFJlZlB0cjxGcmFtZT4gY3JlYXRlV2luZG93KEZy
YW1lJiBvcGVuZXJGcmFtZSwgRnJhbWUmIGxvb2t1cEZyYW1lLCBjb25zdCBGcmFtZUxvYWRSZXF1
ZXN0JiwgY29uc3QgV2luZG93RmVhdHVyZXMmLCBib29sJiBjcmVhdGVkKTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRnJhbWVMb2FkZXJfaApJbmRleDogU291cmNlL1dl
YkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3Qu
Y3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUv
QXBwbGljYXRpb25DYWNoZUhvc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBA
CiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJNYWluRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgi
CiAjaW5jbHVkZSAiUHJvZ3Jlc3NFdmVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgi
CiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWFp
bkZyYW1lLmgiCiAjaW5jbHVkZSAiTWVtb3J5Q2FjaGUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAj
aW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUu
aCIKICNpbmNsdWRlICJTY2hlbWVSZWdpc3RyeS5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCw3IEBACiAjaW5jbHVkZSAiTWVtb3J5
Q2FjaGUuaCIKICNpbmNsdWRlICJNZW1vcnlQcmVzc3VyZUhhbmRsZXIuaCIKICNpbmNsdWRlICJP
dmVyZmxvd0V2ZW50LmgiCisjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VDYWNoZS5o
IgogI2luY2x1ZGUgIlBhZ2VPdmVybGF5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlByb2dyZXNz
VHJhY2tlci5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzAsNiArMjMw
LDcgQEAgUGFnZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYmIHBhZ2VDb25maQogI2VuZGlmCiAg
ICAgLCBtX2xhc3RTcGF0aWFsTmF2aWdhdGlvbkNhbmRpZGF0ZXNDb3VudCgwKSAvLyBOT1RFOiBP
bmx5IGNhbGxlZCBmcm9tIEludGVybmFscyBmb3IgU3BhdGlhbCBOYXZpZ2F0aW9uIHRlc3Rpbmcu
CiAgICAgLCBtX2ZvcmJpZFByb21wdHNEZXB0aCgwKQorICAgICwgbV9zb2NrZXRQcm92aWRlcihX
VEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnNvY2tldFByb3ZpZGVyKSkKICAgICAsIG1fYXBwbGlj
YXRpb25DYWNoZVN0b3JhZ2UoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25D
YWNoZVN0b3JhZ2UpKQogICAgICwgbV9kYXRhYmFzZVByb3ZpZGVyKCpXVEZNb3ZlKHBhZ2VDb25m
aWd1cmF0aW9uLmRhdGFiYXNlUHJvdmlkZXIpKQogICAgICwgbV9zdG9yYWdlTmFtZXNwYWNlUHJv
dmlkZXIoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVy
KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMTIwLDYgKzEyMCw3IEBAIGNsYXNzIFZp
c2libGVTZWxlY3Rpb247CiBjbGFzcyBTY3JvbGxhYmxlQXJlYTsKIGNsYXNzIFNjcm9sbGluZ0Nv
b3JkaW5hdG9yOwogY2xhc3MgU2V0dGluZ3M7CitjbGFzcyBTb2NrZXRQcm92aWRlcjsKIGNsYXNz
IFN0b3JhZ2VOYW1lc3BhY2U7CiBjbGFzcyBTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7CiBjbGFz
cyBVc2VyQ29udGVudFByb3ZpZGVyOwpAQCAtNDU2LDYgKzQ1Nyw3IEBAIHB1YmxpYzoKIAogICAg
IEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlJiBhcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSgpIHsgcmV0
dXJuIG1fYXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7IH0KICAgICBEYXRhYmFzZVByb3ZpZGVyJiBk
YXRhYmFzZVByb3ZpZGVyKCkgeyByZXR1cm4gbV9kYXRhYmFzZVByb3ZpZGVyOyB9CisgICAgU29j
a2V0UHJvdmlkZXImIHNvY2tldFByb3ZpZGVyKCkgeyByZXR1cm4gbV9zb2NrZXRQcm92aWRlcjsg
fQogCiAgICAgU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyJiBzdG9yYWdlTmFtZXNwYWNlUHJvdmlk
ZXIoKSB7IHJldHVybiBtX3N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5nZXQoKTsgfQogICAgIHZv
aWQgc2V0U3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyKFJlZjxTdG9yYWdlTmFtZXNwYWNlUHJvdmlk
ZXI+JiYpOwpAQCAtNjkwLDYgKzY5Miw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9sYXN0
U3BhdGlhbE5hdmlnYXRpb25DYW5kaWRhdGVzQ291bnQ7CiAgICAgdW5zaWduZWQgbV9mb3JiaWRQ
cm9tcHRzRGVwdGg7CiAKKyAgICBVbmlxdWVSZWY8U29ja2V0UHJvdmlkZXI+IG1fc29ja2V0UHJv
dmlkZXI7CiAgICAgUmVmPEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlPiBtX2FwcGxpY2F0aW9uQ2Fj
aGVTdG9yYWdlOwogICAgIFJlZjxEYXRhYmFzZVByb3ZpZGVyPiBtX2RhdGFiYXNlUHJvdmlkZXI7
CiAgICAgUmVmPFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcj4gbV9zdG9yYWdlTmFtZXNwYWNlUHJv
dmlkZXI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAko
cmV2aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlv
bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDE0ICszMSwxNiBAQAogI2luY2x1ZGUgIkRhdGFi
YXNlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIgogI2lu
Y2x1ZGUgIkVkaXRvckNsaWVudC5oIgorI2luY2x1ZGUgIlNvY2tldFByb3ZpZGVyLmgiCiAjaW5j
bHVkZSAiU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiVXNlckNvbnRlbnRD
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiVmlzaXRlZExpbmtTdG9yZS5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLVBhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVS
ZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRvckNsaWVudCkKK1BhZ2VDb25maWd1cmF0aW9uOjpQYWdl
Q29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRvckNsaWVudCwgVW5p
cXVlUmVmPFNvY2tldFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyKQogICAgIDogZWRpdG9yQ2xp
ZW50KFdURk1vdmUoZWRpdG9yQ2xpZW50KSkKKyAgICAsIHNvY2tldFByb3ZpZGVyKFdURk1vdmUo
c29ja2V0UHJvdmlkZXIpKQogewogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VD
b25maWd1cmF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29u
ZmlndXJhdGlvbi5oCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VDb25maWd1cmF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAgY2xhc3Mg
RnJhbWVMb2FkZXJDbGllbnQ7CiBjbGFzcyBJbnNwZWN0b3JDbGllbnQ7CiBjbGFzcyBQbHVnSW5D
bGllbnQ7CiBjbGFzcyBQcm9ncmVzc1RyYWNrZXJDbGllbnQ7CitjbGFzcyBTb2NrZXRQcm92aWRl
cjsKIGNsYXNzIFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjsKIGNsYXNzIFVzZXJDb250ZW50UHJv
dmlkZXI7CiBjbGFzcyBWYWxpZGF0aW9uTWVzc2FnZUNsaWVudDsKQEAgLTU5LDcgKzYwLDcgQEAg
Y2xhc3MgQ29udGV4dE1lbnVDbGllbnQ7CiBjbGFzcyBQYWdlQ29uZmlndXJhdGlvbiB7CiAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNvbmZpZ3VyYXRpb24pOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihV
bmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmln
dXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmLCBVbmlxdWVSZWY8U29ja2V0UHJvdmlk
ZXI+JiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5QYWdlQ29uZmlndXJhdGlvbigpOwogCiAgICAg
QWx0ZXJuYXRpdmVUZXh0Q2xpZW50KiBhbHRlcm5hdGl2ZVRleHRDbGllbnQgeyBudWxscHRyIH07
CkBAIC02OCw2ICs2OSw3IEBAIHB1YmxpYzoKICAgICBDb250ZXh0TWVudUNsaWVudCogY29udGV4
dE1lbnVDbGllbnQgeyBudWxscHRyIH07CiAjZW5kaWYKICAgICBVbmlxdWVSZWY8RWRpdG9yQ2xp
ZW50PiBlZGl0b3JDbGllbnQ7CisgICAgVW5pcXVlUmVmPFNvY2tldFByb3ZpZGVyPiBzb2NrZXRQ
cm92aWRlcjsKICAgICBEcmFnQ2xpZW50KiBkcmFnQ2xpZW50IHsgbnVsbHB0ciB9OwogICAgIElu
c3BlY3RvckNsaWVudCogaW5zcGVjdG9yQ2xpZW50IHsgbnVsbHB0ciB9OwogICAgIFBsdWdJbkNs
aWVudCogcGx1Z0luQ2xpZW50IHsgbnVsbHB0ciB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9SZXNvdXJjZVVzYWdlT3ZlcmxheS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9SZXNvdXJjZVVzYWdlT3ZlcmxheS5jcHAJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZU92ZXJsYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VVc2FnZU92ZXJsYXkuaCIKIAogI2lu
Y2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlT3Zl
cmxheUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGFnZS9Tb2NrZXRQcm92aWRlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvU29ja2V0UHJvdmlkZXIuaAkocmV2aXNpb24gMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvU29ja2V0UHJvdmlkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgU29ja2V0UHJvdmlkZXIgeworcHVibGljOgorICAgIHZpcnR1YWwgflNvY2tldFBy
b3ZpZGVyKCkgeyB9OworfTsKKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9S
ZXNvdXJjZVVzYWdlT3ZlcmxheUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvY29jb2EvUmVzb3VyY2VVc2FnZU92ZXJsYXlDb2NvYS5tbQkocmV2aXNpb24gMjAxOTg5
KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlT3ZlcmxheUNvY29h
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8Q29yZUdyYXBo
aWNzL0NHQ29udGV4dC5oPgogI2luY2x1ZGUgPFF1YXJ0ekNvcmUvQ0FMYXllci5oPgogI2luY2x1
ZGUgPFF1YXJ0ekNvcmUvQ0FUcmFuc2FjdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFk
Lmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0
cm95ZWQuaD4KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50
LmNwcAkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAi
SFRNTEh0bWxFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiTG9n
Z2luZy5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYXRoVXRpbGl0aWVzLmgiCiAj
aW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKICNpbmNsdWRlICJSZW5kZXJDaGlsZEl0ZXJhdG9yLmgi
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmNwcAkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNs
dWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJLZXlmcmFtZUxpc3Qu
aCIKICNpbmNsdWRlICJNYWluRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAi
UGx1Z2luVmlld0Jhc2UuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXIuaCIKICNpbmNsdWRl
ICJSZW5kZXJGbG93VGhyZWFkLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJl
c29sdmVGb3JEb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVGb3JEb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJIVE1MSUZyYW1lRWxlbWVudC5oIgogI2luY2x1
ZGUgIkxvY2FsZVRvU2NyaXB0TWFwcGluZy5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5o
IgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRl
ICJSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAJKHJldmlzaW9uIDIwMTk4OSkKKysr
IFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIkxvYWRlclN0cmF0ZWd5LmgiCiAjaW5jbHVk
ZSAiTWFpbkZyYW1lLmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCisjaW5jbHVkZSAi
UGFnZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogI2luY2x1ZGUgIlNldHRp
bmdzLmgiCiAjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvc3Zn
L2dyYXBoaWNzL1NWR0ltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcv
Z3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3
IEBACiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkpTRE9NV2luZG93QmFzZS5oIgog
I2luY2x1ZGUgIk1haW5GcmFtZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdl
Q29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jvb3QuaCIKICNpbmNsdWRlICJS
ZW5kZXJTdHlsZS5oIgpAQCAtMzc5LDcgKzM4MCw3IEBAIGJvb2wgU1ZHSW1hZ2U6OmRhdGFDaGFu
Z2VkKGJvb2wgYWxsRGF0YVIKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBpZiAoYWxsRGF0
YVJlY2VpdmVkKSB7Ci0gICAgICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9u
KG1ha2VVbmlxdWVSZWY8RW1wdHlFZGl0b3JDbGllbnQ+KCkpOworICAgICAgICBQYWdlQ29uZmln
dXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbihtYWtlVW5pcXVlUmVmPEVtcHR5RWRpdG9yQ2xpZW50
PigpLCBtYWtlVW5pcXVlUmVmPEVtcHR5U29ja2V0UHJvdmlkZXI+KCkpOwogICAgICAgICBmaWxs
V2l0aEVtcHR5Q2xpZW50cyhwYWdlQ29uZmlndXJhdGlvbik7CiAgICAgICAgIG1fY2hyb21lQ2xp
ZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxTVkdJbWFnZUNocm9tZUNsaWVudD4odGhpcyk7CiAgICAg
ICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG1fY2hyb21lQ2xpZW50LmdldCgp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXlDbGllbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BhZ2VPdmVybGF5Q2xp
ZW50LmNwcAkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2Nr
UGFnZU92ZXJsYXlDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAj
aW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgog
I2luY2x1ZGUgIk1haW5GcmFtZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdl
T3ZlcmxheUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKICNp
bmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIw
MTk4OSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE1IEBACisyMDE2LTA2LTEzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFdlYlNvY2tldFByb3ZpZGVyIHN0dWIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODcwMgorCisgICAgICAg
IFJldmlld2VkIGJ5IEJyYWR5IEVpZHNvbi4KKworICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0
UHJvdmlkZXIuaDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwOgorICAgICAgICAoV2ViS2l0OjptX3Nob3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50
cyk6CisKIDIwMTYtMDYtMTAgIEFkYSBDaGFuICA8YWRhY2hhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgVXNlIHRoZSB2aWRlbyBlbGVtZW50J3MgdmlkZW8gYm94IHdoZW4gZ2V0dGluZyB0aGUgaW5s
aW5lIHZpZGVvIHJlY3QgaW4gV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlcgpJbmRleDogU291cmNl
L1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNp
b24gMjAxOTg5KQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zMDYzLDYgKzMwNjMsNyBAQAogCQk1QzIwQ0I5QjFC
QjBEQ0QyMDA4OTVCQjEgLyogTmV0d29ya1Nlc3Npb25Db2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IE5ldHdvcmtTZXNzaW9uQ29jb2EubW07IHBhdGggPSBO
ZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1QzIwQ0I5RTFCQjBERDE4MDA4OTVCQjEgLyogTmV0d29ya1Nlc3Np
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1Nlc3Npb24uaDsg
cGF0aCA9IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTVDMjk4RDlFMUMzREVGMjkwMDQ3MEFGRSAvKiBQZW5kaW5nRG93bmxvYWQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUGVuZGluZ0Rvd25sb2FkLmg7IHBh
dGggPSBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvUGVuZGluZ0Rvd25sb2FkLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTVDN0M4OERDMUQwRjQxQTAwMDlEMkY2RCAvKiBXZWJTb2Nr
ZXRQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJTb2NrZXRQ
cm92aWRlci5oOyBwYXRoID0gTmV0d29yay9XZWJTb2NrZXRQcm92aWRlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1Qzg1Qzc4NjFDM0YyM0M1MDA2MUE0RkEgLyogUGVuZGluZ0Rv
d25sb2FkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFBlbmRpbmdE
b3dubG9hZC5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvUGVuZGluZ0Rvd25s
b2FkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzlCODkxQzY1MjRBNTAw
QThGRENGIC8qIE5ldHdvcmtEYXRhVGFzay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBOZXR3b3JrRGF0YVRhc2suaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRh
VGFzay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0JDOUI4QjFDNjUyNTczMDBB
OEZEQ0YgLyogTmV0d29ya0RhdGFUYXNrQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IG5hbWUgPSBOZXR3b3JrRGF0YVRhc2tDb2NvYS5tbTsgcGF0aCA9IE5ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNTI1Myw2ICs1MjU0LDcgQEAKIAkJNTEwNUIwRDIxNjJGN0E1RTAwRTI3NzA5
IC8qIE5ldHdvcmsgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAor
CQkJCTVDN0M4OERDMUQwRjQxQTAwMDlEMkY2RCAvKiBXZWJTb2NrZXRQcm92aWRlci5oICovLAog
CQkJCTUxMDVCMEQ0MTYyRjdBN0EwMEUyNzcwOSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24u
Y3BwICovLAogCQkJCTUxMDVCMEQ1MTYyRjdBN0EwMEUyNzcwOSAvKiBOZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb24uaCAqLywKIAkJCQk1MUZCMDkwMjE2M0EzQjFDMDBFQzMyNEEgLyogTmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluICovLApJbmRleDogU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFByb3ZpZGVyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFByb3ZpZGVyLmgJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0UHJvdmlk
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL1NvY2tldFByb3ZpZGVyLmg+CisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitjbGFzcyBXZWJTb2NrZXRQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBXZWJD
b3JlOjpTb2NrZXRQcm92aWRlciB7Cit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwMSw2ICsxMDEsNyBAQAogI2luY2x1ZGUgIldlYlByb2Nlc3NQb29sTWVzc2FnZXMuaCIK
ICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2dy
ZXNzVHJhY2tlckNsaWVudC5oIgorI2luY2x1ZGUgIldlYlNvY2tldFByb3ZpZGVyLmgiCiAjaW5j
bHVkZSAiV2ViU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV2ViVW5kb1N0
ZXAuaCIKICNpbmNsdWRlICJXZWJVc2VyQ29udGVudENvbnRyb2xsZXIuaCIKQEAgLTM4NCw3ICsz
ODUsNyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgCiAgICAgU2V0
dGluZ3M6OnNldFNob3VsZE1hbmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KHRydWUpOwogI2VuZGlm
CiAKLSAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbihtYWtlVW5pcXVlUmVm
PFdlYkVkaXRvckNsaWVudD4odGhpcykpOworICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25m
aWd1cmF0aW9uKG1ha2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50Pih0aGlzKSwgbWFrZVVuaXF1
ZVJlZjxXZWJTb2NrZXRQcm92aWRlcj4oKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21l
Q2xpZW50ID0gbmV3IFdlYkNocm9tZUNsaWVudCh0aGlzKTsKICNpZiBFTkFCTEUoQ09OVEVYVF9N
RU5VUykKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jb250ZXh0TWVudUNsaWVudCA9IG5ldyBXZWJD
b250ZXh0TWVudUNsaWVudCh0aGlzKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDIwMDApCisr
KyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBA
CisyMDE2LTA2LTEzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgQWRkIFdlYlNvY2tldFByb3ZpZGVyIHN0dWIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODcwMgorCisgICAgICAgIFJldmlld2Vk
IGJ5IEJyYWR5IEVpZHNvbi4KKworICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorCiAyMDE2LTA2LTEwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgRml4IENNYWtlIGJ1aWxkLgpJbmRleDogU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMDE5ODkp
CisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDYsNiArMTQ2LDcgQEAKIAkJNTk4QUQ5MjgxMjAxQ0YzMjAwQUJBRTRF
IC8qIFdlYkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJNb2NrLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTk4QUQ5MjcxMjAxQ0YzMjAwQUJBRTRFIC8q
IFdlYkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJNb2NrLm1tICovOyB9OwogCQk1OThBRDkyQTEy
MDFDRjNCMDBBQkFFNEUgLyogV2ViRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlck1vY2tJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTk4QUQ5
MjkxMjAxQ0YzQjAwQUJBRTRFIC8qIFdlYkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJNb2NrSW50
ZXJuYWwuaCAqLzsgfTsKIAkJNTk4QURBNDYxMjAyMjc1MDAwQUJBRTRFIC8qIFdlYkRldmljZU9y
aWVudGF0aW9uUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU5OEFEQTQ1MTIwMjI3NTAwMEFCQUU0RSAvKiBXZWJEZXZpY2VPcmllbnRhdGlv
blByb3ZpZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJNUM3Qzg4REExRDBGM0JGMjAwOUQyRjZEIC8qIFdlYlNvY2tldFByb3ZpZGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzdDODhEOTFEMEYz
QkYyMDA5RDJGNkQgLyogV2ViU29ja2V0UHJvdmlkZXIuaCAqLzsgfTsKIAkJNUQ3QkY4MTQwQzJB
MUQ5MDAwOENFMDZEIC8qIFdlYkluc3BlY3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNUQ3QkY4MTIwQzJBMUQ5MDAwOENFMDZEIC8qIFdlYkluc3Bl
Y3Rvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTVEN0JGODE1MEMyQTFEOTAwMDhDRTA2RCAvKiBXZWJJbnNwZWN0b3IubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RDdCRjgxMzBDMkExRDkwMDA4Q0Uw
NkQgLyogV2ViSW5zcGVjdG9yLm1tICovOyB9OwogCQk1REU4M0E3QTBEMEY3Rjk0MDBDQUQxMkEg
LyogV2ViSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsLm5pYiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNURFODNBNzQwRDBGN0Y5NDAwQ0FEMTJBIC8qIFdl
YkphdmFTY3JpcHRUZXh0SW5wdXRQYW5lbC5uaWIgKi87IH07CkBAIC02NDYsNiArNjQ3LDcgQEAK
IAkJNTk4QUQ5MjcxMjAxQ0YzMjAwQUJBRTRFIC8qIFdlYkRldmljZU9yaWVudGF0aW9uUHJvdmlk
ZXJNb2NrLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViRGV2
aWNlT3JpZW50YXRpb25Qcm92aWRlck1vY2subW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTU5OEFEOTI5MTIwMUNGM0IwMEFCQUU0RSAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblByb3Zp
ZGVyTW9ja0ludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkRl
dmljZU9yaWVudGF0aW9uUHJvdmlkZXJNb2NrSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTk4QURBNDUxMjAyMjc1MDAwQUJBRTRFIC8qIFdlYkRldmljZU9yaWVudGF0
aW9uUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRGV2aWNl
T3JpZW50YXRpb25Qcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1QzdD
ODhEOTFEMEYzQkYyMDA5RDJGNkQgLyogV2ViU29ja2V0UHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU29ja2V0UHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNUQ3QkY4MTIwQzJBMUQ5MDAwOENFMDZEIC8qIFdlYkluc3BlY3Rvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSW5zcGVjdG9yLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEN0JGODEzMEMyQTFEOTAwMDhDRTA2RCAvKiBXZWJJ
bnNwZWN0b3IubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2Vi
SW5zcGVjdG9yLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1REU4M0E3NTBEMEY3
Rjk0MDBDQUQxMkEgLyogRW5nbGlzaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHdyYXBwZXIubmliOyBuYW1lID0gRW5nbGlzaDsgcGF0aCA9IEVuZ2xp
c2gubHByb2ovV2ViSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsLm5pYjsgc291cmNlVHJlZSA9IFNP
VVJDRV9ST09UOyB9OwpAQCAtMTA5MCw2ICsxMDkyLDcgQEAKIAkJMjU0REMzMzQwMTZFMUQzRjBF
Q0ExNDlFIC8qIE1pc2MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KAorCQkJCTVDN0M4OEQ5MUQwRjNCRjIwMDlEMkY2RCAvKiBXZWJTb2NrZXRQcm92aWRlci5oICov
LAogCQkJCUExMEMxRDIwMTgyMDJGQUYwMDM2ODgzQSAvKiBpb3MgKi8sCiAJCQkJMUNDRkZEMTIw
QjFGODFGMjAwMkVFOTI2IC8qIE9sZFdlYkFzc2VydGlvbnMuYyAqLywKIAkJCQkyOUFFRjk1RDEz
NEM3NTU0MDBGRTUwOTYgLyogT3V0bG9va1F1aXJrc1VzZXJTY3JpcHQuanMgKi8sCkBAIC0xNzk0
LDYgKzE3OTcsNyBAQAogCQkJCTkzOTgxMDUzMDgyNEJGMDEwMDhERjAzOCAvKiBXZWJGcmFtZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTM5ODEwOUMwODI0QkYwMTAwOERGMDM4IC8qIFdlYkZyYW1l
SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMEMxRDZCMTgyMDMwMEUwMDM2ODgzQSAv
KiBXZWJGcmFtZUlPUy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUM3Qzg4REExRDBGM0JGMjAwOUQy
RjZEIC8qIFdlYlNvY2tldFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTBDMUQ2RDE4
MjAzMDBFMDAzNjg4M0EgLyogV2ViRnJhbWVJUGhvbmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkz
OTgxMDVCMDgyNEJGMDEwMDhERjAzOCAvKiBXZWJGcmFtZUxvYWREZWxlZ2F0ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQzBCODhFOEIxMEEwOEYzRDAwRkJCM0Y1IC8qIFdlYkZyYW1lTG9hZERlbGVn
YXRlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lv
biAyMDE5ODkpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxNSBAQAorMjAxNi0wNi0xMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBXZWJTb2NrZXRQcm92aWRlciBzdHViCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg3MDIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBCcmFkeSBFaWRzb24uCisKKyAgICAgICAgKiBNaXNjL1dlYlNv
Y2tldFByb3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3Vw
TmFtZTpdKToKKyAgICAgICAgKC1bV2ViVmlldyBpbml0U2ltcGxlSFRNTERvY3VtZW50V2l0aFN0
eWxlOmZyYW1lOnByZWZlcmVuY2VzOmdyb3VwTmFtZTpdKToKKwogMjAxNi0wNi0xMCAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEludHJvZHVj
ZSBXVEY6OlVuaXF1ZVJlZgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJTb2NrZXRQ
cm92aWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViU29ja2V0
UHJvdmlkZXIuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViU29j
a2V0UHJvdmlkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL1NvY2tldFByb3ZpZGVyLmg+CisK
K2NsYXNzIFdlYlNvY2tldFByb3ZpZGVyIGZpbmFsIDogcHVibGljIFdlYkNvcmU6OlNvY2tldFBy
b3ZpZGVyIHsKK307CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZp
c2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdv
cmtpbmcgY29weSkKQEAgLTk5LDYgKzk5LDcgQEAKICNpbXBvcnQgIldlYlNjcmlwdERlYnVnRGVs
ZWdhdGUuaCIKICNpbXBvcnQgIldlYlNjcmlwdFdvcmxkSW50ZXJuYWwuaCIKICNpbXBvcnQgIldl
YlNlbGVjdGlvblNlcnZpY2VDb250cm9sbGVyLmgiCisjaW1wb3J0ICJXZWJTb2NrZXRQcm92aWRl
ci5oIgogI2ltcG9ydCAiV2ViU3RvcmFnZU1hbmFnZXJJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2Vi
U3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyLmgiCiAjaW1wb3J0ICJXZWJTeXN0ZW1JbnRlcmZhY2Uu
aCIKQEAgLTk4Nyw3ICs5ODgsNyBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhG
cmFtZU5hCiAgICAgX3ByaXZhdGUtPmdyb3VwID0gV2ViVmlld0dyb3VwOjpnZXRPckNyZWF0ZShn
cm91cE5hbWUsIF9wcml2YXRlLT5wcmVmZXJlbmNlcy5fbG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRo
KTsKICAgICBfcHJpdmF0ZS0+Z3JvdXAtPmFkZFdlYlZpZXcoc2VsZik7CiAKLSAgICBQYWdlQ29u
ZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbihtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVu
dD4oc2VsZikpOworICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKG1ha2VV
bmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50PihzZWxmKSwgbWFrZVVuaXF1ZVJlZjxXZWJTb2NrZXRQ
cm92aWRlcj4oKSk7CiAjaWYgIVBMQVRGT1JNKElPUykKICAgICBwYWdlQ29uZmlndXJhdGlvbi5j
aHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KHNlbGYpOwogICAgIHBhZ2VDb25maWd1
cmF0aW9uLmNvbnRleHRNZW51Q2xpZW50ID0gbmV3IFdlYkNvbnRleHRNZW51Q2xpZW50KHNlbGYp
OwpAQCAtMTIzNyw3ICsxMjM4LDcgQEAgLSAoaWQpaW5pdFNpbXBsZUhUTUxEb2N1bWVudFdpdGhT
dHlsZTooTgogICAgIF9wcml2YXRlLT5ncm91cCA9IFdlYlZpZXdHcm91cDo6Z2V0T3JDcmVhdGUo
Z3JvdXBOYW1lLCBfcHJpdmF0ZS0+cHJlZmVyZW5jZXMuX2xvY2FsU3RvcmFnZURhdGFiYXNlUGF0
aCk7CiAgICAgX3ByaXZhdGUtPmdyb3VwLT5hZGRXZWJWaWV3KHNlbGYpOwogCi0gICAgUGFnZUNv
bmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb24obWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGll
bnQ+KHNlbGYpKTsKKyAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbihtYWtl
VW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4oc2VsZiksIG1ha2VVbmlxdWVSZWY8V2ViU29ja2V0
UHJvdmlkZXI+KCkpOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBX
ZWJDaHJvbWVDbGllbnRJT1Moc2VsZik7CiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBw
YWdlQ29uZmlndXJhdGlvbi5kcmFnQ2xpZW50ID0gbmV3IFdlYkRyYWdDbGllbnQoc2VsZik7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDIwMDIpCisrKyBTb3VyY2UvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0wNi0xMyAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIEFk
ZCBXZWJTb2NrZXRQcm92aWRlciBzdHViCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTg3MDIKKworICAgICAgICBSZXZpZXdlZCBieSBCcmFkeSBFaWRz
b24uCisKKyAgICAgICAgKiBXZWJTb2NrZXRQcm92aWRlci5oOiBBZGRlZC4KKyAgICAgICAgKiBX
ZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgorCiAyMDE2LTA2
LTEwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgSW50cm9kdWNlIFdURjo6VW5pcXVlUmVmCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJT
b2NrZXRQcm92aWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYlNvY2tl
dFByb3ZpZGVyLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJTb2NrZXRQ
cm92aWRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPFdlYkNvcmUvU29ja2V0UHJvdmlkZXIuaD4KKworY2xh
c3MgV2ViU29ja2V0UHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6U29ja2V0UHJvdmlk
ZXIgeworfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBT
b3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjksNiArNjks
NyBAQAogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VM
b2FkU2NoZWR1bGVyLmgiCiAjaW5jbHVkZSAiV2ViU2NyaXB0V29ybGQuaCIKKyNpbmNsdWRlICJX
ZWJTb2NrZXRQcm92aWRlci5oIgogI2luY2x1ZGUgIldlYlN0b3JhZ2VOYW1lc3BhY2VQcm92aWRl
ci5oIgogI2luY2x1ZGUgIldlYlZpZXdHcm91cC5oIgogI2luY2x1ZGUgIldlYlZpc2l0ZWRMaW5r
U3RvcmUuaCIKQEAgLTI5MDksNyArMjkxMCw3IEBAIEhSRVNVTFQgV2ViVmlldzo6aW5pdFdpdGhG
cmFtZShSRUNUIGZyYW0KIAogICAgIG1faW5zcGVjdG9yQ2xpZW50ID0gbmV3IFdlYkluc3BlY3Rv
ckNsaWVudCh0aGlzKTsKIAotICAgIFBhZ2VDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24obWFr
ZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHRoaXMpKTsKKyAgICBQYWdlQ29uZmlndXJhdGlv
biBjb25maWd1cmF0aW9uKG1ha2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50Pih0aGlzKSwgbWFr
ZVVuaXF1ZVJlZjxXZWJTb2NrZXRQcm92aWRlcj4oKSk7CiAgICAgY29uZmlndXJhdGlvbi5jaHJv
bWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KHRoaXMpOwogICAgIGNvbmZpZ3VyYXRpb24u
Y29udGV4dE1lbnVDbGllbnQgPSBuZXcgV2ViQ29udGV4dE1lbnVDbGllbnQodGhpcyk7CiAgICAg
Y29uZmlndXJhdGlvbi5kcmFnQ2xpZW50ID0gbmV3IFdlYkRyYWdDbGllbnQodGhpcyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281197</attachid>
            <date>2016-06-13 13:55:11 -0700</date>
            <delta_ts>2016-06-13 14:12:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158702-20160613135659.patch</filename>
            <type>text/plain</type>
            <size>44842</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE2LTA2LTEzICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFdlYlNvY2tldFByb3ZpZGVy
IHN0dWIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
ODcwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEJyYWR5IEVpZHNvbi4KKworICAgICAgICAqIHd0
Zi9VbmlxdWVSZWYuaDoKKyAgICAgICAgKFdURjo6VW5pcXVlUmVmOjpvcGVyYXRvci0+KToKKyAg
ICAgICAgKFdURjo6VW5pcXVlUmVmOjpvcGVyYXRvciBUJik6CisgICAgICAgIChXVEY6OlVuaXF1
ZVJlZjo6b3BlcmF0b3IgY29uc3QgVCYpOgorICAgICAgICBBZGRlZCBvcGVyYXRvciBUJiB0byBh
dm9pZCB1bm5lZWRlZCAuZ2V0KCkgY2FsbHMuCisKIDIwMTYtMDYtMTEgIE15bGVzIEMuIE1heGZp
ZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGRyZXNzaW5nIHBvc3QtcmV2
aWV3IGNvbW1lbnRzIGFmdGVyIHIyMDE5NzguCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9VbmlxdWVS
ZWYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9VbmlxdWVSZWYuaAkocmV2aXNpb24g
MjAxOTg5KQorKysgU291cmNlL1dURi93dGYvVW5pcXVlUmVmLmgJKHdvcmtpbmcgY29weSkKQEAg
LTU2LDYgKzU2LDkgQEAgcHVibGljOgogCiAgICAgVCogb3BlcmF0b3ItPigpIHsgQVNTRVJUKG1f
cmVmKTsgcmV0dXJuIG1fcmVmLmdldCgpOyB9CiAgICAgY29uc3QgVCogb3BlcmF0b3ItPigpIGNv
bnN0IHsgQVNTRVJUKG1fcmVmKTsgcmV0dXJuIG1fcmVmLmdldCgpOyB9CisgICAgCisgICAgb3Bl
cmF0b3IgVCYoKSB7IEFTU0VSVChtX3JlZik7IHJldHVybiAqbV9yZWY7IH0KKyAgICBvcGVyYXRv
ciBjb25zdCBUJigpIGNvbnN0IHsgQVNTRVJUKG1fcmVmKTsgcmV0dXJuICptX3JlZjsgfQogCiBw
cml2YXRlOgogICAgIHRlbXBsYXRlPGNsYXNzIFUsIGNsYXNzLi4uIEFyZ3M+IGZyaWVuZCBVbmlx
dWVSZWY8VT4gbWFrZVVuaXF1ZVJlZihBcmdzJiYuLi4pOwpJbmRleDogU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNp
b24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTMgQEAKKzIwMTYtMDYtMTMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgV2ViU29ja2V0UHJvdmlkZXIgc3R1YgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NzAyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQnJhZHkgRWlkc29uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4g
IE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBkb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAg
ICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvTWVkaWFEb2N1
bWVudC5jcHA6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3Bw
OgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwOgorICAgICAgICAqIGh0
bWwvc2hhZG93L01lZGlhQ29udHJvbHMuaDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xzQXBwbGUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpvdmVybGF5UGFnZSk6CisgICAgICAgICogbG9hZGVy
L0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAg
ICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVIb3N0LmNwcDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2UuY3BwOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKiBwYWdl
L1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6UGFnZSk6CisgICAgICAgICogcGFn
ZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjphcHBsaWNhdGlvbkNhY2hlU3RvcmFn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpkYXRhYmFzZVByb3ZpZGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6OnNvY2tldFByb3ZpZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6
OnN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcik6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJh
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZp
Z3VyYXRpb24pOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAg
KiBwYWdlL1Jlc291cmNlVXNhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKiBwYWdlL1NvY2tldFBy
b3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0UHJvdmlkZXI6On5Tb2Nr
ZXRQcm92aWRlcik6CisgICAgICAgICogcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlT3ZlcmxheUNv
Y29hLm1tOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKiBzdHlsZS9TdHls
ZVJlc29sdmVGb3JEb2N1bWVudC5jcHA6CisgICAgICAgICogc3R5bGUvU3R5bGVUcmVlUmVzb2x2
ZXIuY3BwOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdJbWFnZTo6ZGF0YUNoYW5nZWQpOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1Bh
Z2VPdmVybGF5Q2xpZW50LmNwcDoKKwogMjAxNi0wNi0xMyAgTmFlbCBPdWVkcmFvZ28gIDxuYWVs
Lm91ZWRyYW9nb0BjcmYuY2Fub24uZnI+CiAKICAgICAgICAgSW1wcm92ZSBjb2RlIGdlbmVyYXRv
ciBmb3IgZnVuY3Rpb25zIHdpdGggdmFyaWFkaWMgcGFyYW1ldGVycwpJbmRleDogU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
MjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yMzQ0LDYgKzIzNDQsNyBAQAogCQk1QzQzMDRCMTE5MUFD
OTA4MDAwRTJCQzAgLyogRVhUU2hhZGVyVGV4dHVyZUxPRC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUM0MzA0QUUxOTFBQzkwODAwMEUyQkMwIC8qIEVY
VFNoYWRlclRleHR1cmVMT0QuaCAqLzsgfTsKIAkJNUM0MzA0QjUxOTFBRUY0NjAwMEUyQkMwIC8q
IEpTRVhUU2hhZGVyVGV4dHVyZUxPRC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1QzQzMDRCMzE5MUFFRjQ2MDAwRTJCQzAgLyogSlNFWFRTaGFkZXJU
ZXh0dXJlTE9ELmNwcCAqLzsgfTsKIAkJNUM0MzA0QjYxOTFBRUY0NjAwMEUyQkMwIC8qIEpTRVhU
U2hhZGVyVGV4dHVyZUxPRC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNUM0MzA0QjQxOTFBRUY0NjAwMEUyQkMwIC8qIEpTRVhUU2hhZGVyVGV4dHVyZUxP
RC5oICovOyB9OworCQk1QzdDODhEODFEMEYxRjRBMDA5RDJGNkQgLyogU29ja2V0UHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDN0M4OEQ3
MUQwRjFGMkIwMDlEMkY2RCAvKiBTb2NrZXRQcm92aWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVDOUE3QTc1MUFBMEY2RUEwMDk1OEFDRiAv
KiBERkFCeXRlY29kZUNvbXBpbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDVDMzkzMDVFMUFBMEY2QTkwMDI5QzgxNiAvKiBERkFCeXRlY29kZUNv
bXBpbGVyLmNwcCAqLzsgfTsKIAkJNUM5QTdBNzYxQUEwRjZFRDAwOTU4QUNGIC8qIERGQUJ5dGVj
b2RlSW50ZXJwcmV0ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNUMzOTMwNjAxQUEwRjZBOTAwMjlDODE2IC8qIERGQUJ5dGVjb2RlSW50ZXJwcmV0
ZXIuY3BwICovOyB9OwogCQk1QzlCODYwQzFDMjFFM0M5MDAxMTBGMzYgLyogUmVzb3VyY2VMb2Fk
VGltaW5nLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUM5Qjg2MEIxQzIxRTNDNjAwMTEwRjM2IC8qIFJlc291cmNlTG9hZFRpbWluZy5tbSAqLzsgfTsK
QEAgLTk5NjUsNiArOTk2Niw3IEBACiAJCTVDNDMwNEFGMTkxQUM5MDgwMDBFMkJDMCAvKiBFWFRT
aGFkZXJUZXh0dXJlTE9ELmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBFWFRTaGFkZXJUZXh0
dXJlTE9ELmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUM0MzA0QjMxOTFBRUY0
NjAwMEUyQkMwIC8qIEpTRVhUU2hhZGVyVGV4dHVyZUxPRC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0VYVFNoYWRlclRleHR1cmVMT0QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1QzQzMDRCNDE5MUFFRjQ2MDAwRTJCQzAgLyogSlNFWFRTaGFk
ZXJUZXh0dXJlTE9ELmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRVhUU2hh
ZGVyVGV4dHVyZUxPRC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1QzdDODhENzFE
MEYxRjJCMDA5RDJGNkQgLyogU29ja2V0UHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU29ja2V0UHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNUM5Qjg2MEIxQzIxRTNDNjAwMTEwRjM2IC8qIFJlc291cmNlTG9hZFRpbWluZy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJlc291cmNlTG9hZFRpbWluZy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCMzdGRkMxQzYyRDI3ODAwRjIwMTg4
IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTY3JvbGxBbmltYXRvck1vY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1Q0IzN0ZGRDFDNjJEMjc4MDBGMjAxODggLyogU2Nyb2xsQW5pbWF0b3JNb2NrLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yTW9jay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc5NzcsNiArMTc5NzksNyBAQAogCQk2NUJGMDIx
ODA5NzQ4MDYzMDBDNDMxOTYgLyogcGFnZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJNUM3Qzg4RDcxRDBGMUYyQjAwOUQyRjZEIC8qIFNvY2tldFByb3Zp
ZGVyLmggKi8sCiAJCQkJMzE2RkUxMDYwRTZFMUQ4NDAwQkY2MDg4IC8qIGFuaW1hdGlvbiAqLywK
IAkJCQk1RDU5NzVCNTE5NjM2MkJFMDBEMDA4NzggLyogY29jb2EgKi8sCiAJCQkJQ0UxN0FEMTQx
QzU4NTIyRjAwNUY0Nzk5IC8qIGNzcCAqLywKQEAgLTI4MTI5LDYgKzI4MTMyLDcgQEAKIAkJCQkw
OEZFMEJDNTEyN0UyQUMxMDAwQzRGQjUgLyogU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlv
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwODhBMEUwNTEyNkVGMURCMDA5NzhGN0EgLyogU1ZHQW5p
bWF0ZWRQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDg4QTBFMDYxMjZFRjFEQjAwOTc4
RjdBIC8qIFNWR0FuaW1hdGVkUHJvcGVydHlEZXNjcmlwdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNUM3Qzg4RDgxRDBGMUY0QTAwOUQyRjZEIC8qIFNvY2tldFByb3ZpZGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwODhBMEUwNzEyNkVGMURCMDA5NzhGN0EgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0
eU1hY3Jvcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDg4QTBFMDgxMjZFRjFEQjAwOTc4RjdBIC8q
IFNWR0FuaW1hdGVkUHJvcGVydHlUZWFyT2ZmLmggaW4gSGVhZGVycyAqLywKIAkJCQkwOEM4NTlD
MDEyNzQ1NzU0MDBBNTcyOEQgLyogU1ZHQW5pbWF0ZWRSZWN0LmggaW4gSGVhZGVycyAqLywKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuY3Bw
CShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJD
b250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUg
IkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIk1haW5GcmFtZS5oIgogI2luY2x1ZGUgIk5vZGVU
cmF2ZXJzYWwuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKICNpbmNs
dWRlICJSZW5kZXJCbG9ja0Zsb3cuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgpJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5j
cHAJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1h
dGlvbkNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBACiAjaW5j
bHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgog
I2luY2x1ZGUgIk1haW5GcmFtZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZXF1
ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5j
bHVkZSA8d3RmL1JlZi5oPgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Miw2ICs3Miw3IEBACiAjaW5jbHVkZSAi
TWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgiCiAjaW5jbHVkZSAiTmV0d29ya2luZ0NvbnRleHQuaCIK
ICNpbmNsdWRlICJOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24uaCIKKyNpbmNsdWRlICJQYWdlLmgi
CiAjaW5jbHVkZSAiUGFnZUdyb3VwLmgiCiAjaW5jbHVkZSAiUGFnZVRocm90dGxlci5oIgogI2lu
Y2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBA
CiAjaW5jbHVkZSAiSFRNTFZpZGVvRWxlbWVudC5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQu
aCIKICNpbmNsdWRlICJOb2RlTGlzdC5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJS
YXdEYXRhRG9jdW1lbnRQYXJzZXIuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiU2hhZG93Um9vdC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9sRWxlbWVudHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAkocmV2aXNpb24gMjAxOTg5KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3IEBACiAjaW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYUNvbnRyb2xzLmgiCisjaW5j
bHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlJlbmRlckxh
eWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyTWVkaWFDb250cm9sRWxlbWVudHMuaCIKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCShyZXZpc2lvbiAy
MDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIk1lZGlhQ29udHJvbHMu
aCIKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIgorI2luY2x1ZGUgIlBh
Z2UuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oCShyZXZpc2lvbiAy
MDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJIVE1MRGl2RWxlbWVudC5o
IgogI2luY2x1ZGUgIk1lZGlhQ29udHJvbEVsZW1lbnRzLmgiCiAjaW5jbHVkZSAiTW91c2VFdmVu
dC5oIgotI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1
ZGUgIlRleHQuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC00Niw3ICs0NSw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBFdmVudDsKLWNsYXNz
IFBhZ2U7CiBjbGFzcyBNZWRpYVBsYXllcjsKIAogY2xhc3MgUmVuZGVyQm94OwpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0FwcGxlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzQXBwbGUuY3BwCShy
ZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xzQXBwbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAi
Q1NTVmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5o
IgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJX
aGVlbEV2ZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCShyZXZp
c2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsNiArNTQsNyBAQAogI2luY2x1ZGUg
Ikluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRz
LmgiCiAjaW5jbHVkZSAiTWFpbkZyYW1lLmgiCisjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUg
IlBhZ2VEZWJ1Z2dlckFnZW50LmgiCiAjaW5jbHVkZSAiUGFnZVJ1bnRpbWVBZ2VudC5oIgogI2lu
Y2x1ZGUgIlJlbmRlck9iamVjdC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAkocmV2aXNpb24gMjAxOTg5KQorKysg
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgog
I2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZS5oIgogI2luY2x1ZGUgIk1l
bW9yeVByZXNzdXJlSGFuZGxlci5oIgotI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU3RvcmFnZUFyZWEuaCIKICNpbmNsdWRl
ICJXZWJTb2NrZXRGcmFtZS5oIgpAQCAtODAsNiArNzksNyBAQCBjbGFzcyBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb247CiBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50OwogY2xhc3MgSW5zdHJ1
bWVudGluZ0FnZW50czsKIGNsYXNzIE5vZGU7CitjbGFzcyBQYWdlOwogY2xhc3MgUHNldWRvRWxl
bWVudDsKIGNsYXNzIFJlbmRlckxheWVyOwogY2xhc3MgUmVuZGVyTGF5ZXJCYWNraW5nOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAkocmV2
aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJs
YXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NjQsNyArODY0LDcgQEAgUGFnZSogSW5zcGVjdG9y
T3ZlcmxheTo6b3ZlcmxheVBhZ2UoKQogICAgIGlmIChtX292ZXJsYXlQYWdlKQogICAgICAgICBy
ZXR1cm4gbV9vdmVybGF5UGFnZS5nZXQoKTsKIAotICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VD
b25maWd1cmF0aW9uKG1ha2VVbmlxdWVSZWY8RW1wdHlFZGl0b3JDbGllbnQ+KCkpOworICAgIFBh
Z2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKG1ha2VVbmlxdWVSZWY8RW1wdHlFZGl0
b3JDbGllbnQ+KCksIG1ha2VVbmlxdWVSZWY8RW1wdHlTb2NrZXRQcm92aWRlcj4oKSk7CiAgICAg
ZmlsbFdpdGhFbXB0eUNsaWVudHMocGFnZUNvbmZpZ3VyYXRpb24pOwogICAgIG1fb3ZlcmxheVBh
Z2UgPSBzdGQ6Om1ha2VfdW5pcXVlPFBhZ2U+KFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24pKTsK
IApJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAJKHJldmlzaW9uIDIw
MTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiRnJhbWVOZXR3b3JraW5nQ29udGV4
dC5oIgogI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUgIkluUHJvY2Vzc0lE
QlNlcnZlci5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlQ29uZmlndXJhdGlv
bi5oIgogI2luY2x1ZGUgIlN0b3JhZ2VBcmVhLmgiCiAjaW5jbHVkZSAiU3RvcmFnZU5hbWVzcGFj
ZS5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAkocmV2aXNpb24gMjAx
OTg5KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yNiw4ICsyNiw3IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgRW1w
dHlDbGllbnRzX2gKLSNkZWZpbmUgRW1wdHlDbGllbnRzX2gKKyNwcmFnbWEgb25jZQogCiAjaW5j
bHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDbGllbnQuaCIKQEAg
LTQyLDYgKzQxLDggQEAKICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnQuaCIKICNpbmNsdWRlICJQ
cm9ncmVzc1RyYWNrZXJDbGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCisjaW5j
bHVkZSAiU2Vzc2lvbklELmgiCisjaW5jbHVkZSAiU29ja2V0UHJvdmlkZXIuaCIKICNpbmNsdWRl
ICJUZXh0Q2hlY2tlckNsaWVudC5oIgogI2luY2x1ZGUgIlZpc2l0ZWRMaW5rU3RvcmUuaCIKICNp
bmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdWaWV3Lmg+CkBAIC03MSw2ICs3Miw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiBjbGFzcyBQYWdlOworY2xh
c3MgUGFnZUNvbmZpZ3VyYXRpb247CiAKIGNsYXNzIEVtcHR5Q2hyb21lQ2xpZW50IDogcHVibGlj
IENocm9tZUNsaWVudCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CkBAIC02NDIsOCAr
NjQ0LDkgQEAgY2xhc3MgRW1wdHlEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCBmaW5hbAogICAgIHZv
aWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoY29uc3QgU3RyaW5nJiwgY29uc3QgU3Ry
aW5nJiwgY29uc3QgU3RyaW5nJiwgU2hvdWxkU2FtcGxlKSBvdmVycmlkZSB7IH0KIH07CiAKK2Ns
YXNzIEVtcHR5U29ja2V0UHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgU29ja2V0UHJvdmlkZXIgewor
fTsKKyAgICAKIHZvaWQgZmlsbFdpdGhFbXB0eUNsaWVudHMoUGFnZUNvbmZpZ3VyYXRpb24mKTsK
IAogfQotCi0jZW5kaWYgLy8gRW1wdHlDbGllbnRzX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcAkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsNyBAQAogI2lu
Y2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJNYWluRnJhbWUuaCIKICNpbmNs
dWRlICJNZW1vcnlDYWNoZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlQ2Fj
aGUuaCIKICNpbmNsdWRlICJQYWdlVGhyb3R0bGVyLmgiCiAjaW5jbHVkZSAiUGFnZVRyYW5zaXRp
b25FdmVudC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgJKHJldmlzaW9u
IDIwMTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSwxNSArMjksMTMgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBG
cmFtZUxvYWRlcl9oCi0jZGVmaW5lIEZyYW1lTG9hZGVyX2gKKyNwcmFnbWEgb25jZQogCiAjaW5j
bHVkZSAiQ2FjaGVQb2xpY3kuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlclN0YXRlTWFjaGluZS5o
IgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKICNpbmNsdWRlICJMYXlvdXRNaWxlc3Rv
bmVzLmgiCiAjaW5jbHVkZSAiTWl4ZWRDb250ZW50Q2hlY2tlci5oIgotI2luY2x1ZGUgIlBhZ2Uu
aCIKICNpbmNsdWRlICJQYWdlVGhyb3R0bGVyLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVU
eXBlcy5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZE5vdGlmaWVyLmgiCkBAIC00NjksNSArNDY3
LDMgQEAgcHJpdmF0ZToKIFJlZlB0cjxGcmFtZT4gY3JlYXRlV2luZG93KEZyYW1lJiBvcGVuZXJG
cmFtZSwgRnJhbWUmIGxvb2t1cEZyYW1lLCBjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiwgY29uc3Qg
V2luZG93RmVhdHVyZXMmLCBib29sJiBjcmVhdGVkKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCi0jZW5kaWYgLy8gRnJhbWVMb2FkZXJfaApJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVy
L2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuY3BwCShyZXZpc2lv
biAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUhvc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAi
RnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aCIKICNpbmNsdWRlICJNYWluRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAi
UHJvZ3Jlc3NFdmVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAi
UmVzb3VyY2VSZXF1ZXN0LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZS5jcHAJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYg
KzQyLDcgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWFpbkZyYW1lLmgiCiAj
aW5jbHVkZSAiTWVtb3J5Q2FjaGUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGxh
dGZvcm1TdHJhdGVnaWVzLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRl
ICJTY2hlbWVSZWdpc3RyeS5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAkocmV2
aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NCw2ICs2NCw3IEBACiAjaW5jbHVkZSAiTWVtb3J5Q2FjaGUuaCIKICNp
bmNsdWRlICJNZW1vcnlQcmVzc3VyZUhhbmRsZXIuaCIKICNpbmNsdWRlICJPdmVyZmxvd0V2ZW50
LmgiCisjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VDYWNoZS5oIgogI2luY2x1ZGUg
IlBhZ2VPdmVybGF5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlByb2dyZXNzVHJhY2tlci5oIgpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzAsNiArMjMwLDcgQEAgUGFnZTo6
UGFnZShQYWdlQ29uZmlndXJhdGlvbiYmIHBhZ2VDb25maQogI2VuZGlmCiAgICAgLCBtX2xhc3RT
cGF0aWFsTmF2aWdhdGlvbkNhbmRpZGF0ZXNDb3VudCgwKSAvLyBOT1RFOiBPbmx5IGNhbGxlZCBm
cm9tIEludGVybmFscyBmb3IgU3BhdGlhbCBOYXZpZ2F0aW9uIHRlc3RpbmcuCiAgICAgLCBtX2Zv
cmJpZFByb21wdHNEZXB0aCgwKQorICAgICwgbV9zb2NrZXRQcm92aWRlcihXVEZNb3ZlKHBhZ2VD
b25maWd1cmF0aW9uLnNvY2tldFByb3ZpZGVyKSkKICAgICAsIG1fYXBwbGljYXRpb25DYWNoZVN0
b3JhZ2UoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25DYWNoZVN0b3JhZ2Up
KQogICAgICwgbV9kYXRhYmFzZVByb3ZpZGVyKCpXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLmRh
dGFiYXNlUHJvdmlkZXIpKQogICAgICwgbV9zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIoKldURk1v
dmUocGFnZUNvbmZpZ3VyYXRpb24uc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyKSkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5oCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtMTIwLDYgKzEyMCw3IEBAIGNsYXNzIFZpc2libGVTZWxlY3Rp
b247CiBjbGFzcyBTY3JvbGxhYmxlQXJlYTsKIGNsYXNzIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOwog
Y2xhc3MgU2V0dGluZ3M7CitjbGFzcyBTb2NrZXRQcm92aWRlcjsKIGNsYXNzIFN0b3JhZ2VOYW1l
c3BhY2U7CiBjbGFzcyBTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7CiBjbGFzcyBVc2VyQ29udGVu
dFByb3ZpZGVyOwpAQCAtNDU2LDYgKzQ1Nyw3IEBAIHB1YmxpYzoKIAogICAgIEFwcGxpY2F0aW9u
Q2FjaGVTdG9yYWdlJiBhcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSgpIHsgcmV0dXJuIG1fYXBwbGlj
YXRpb25DYWNoZVN0b3JhZ2U7IH0KICAgICBEYXRhYmFzZVByb3ZpZGVyJiBkYXRhYmFzZVByb3Zp
ZGVyKCkgeyByZXR1cm4gbV9kYXRhYmFzZVByb3ZpZGVyOyB9CisgICAgU29ja2V0UHJvdmlkZXIm
IHNvY2tldFByb3ZpZGVyKCkgeyByZXR1cm4gbV9zb2NrZXRQcm92aWRlcjsgfQogCiAgICAgU3Rv
cmFnZU5hbWVzcGFjZVByb3ZpZGVyJiBzdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIoKSB7IHJldHVy
biBtX3N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5nZXQoKTsgfQogICAgIHZvaWQgc2V0U3RvcmFn
ZU5hbWVzcGFjZVByb3ZpZGVyKFJlZjxTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI+JiYpOwpAQCAt
NjkwLDYgKzY5Miw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9sYXN0U3BhdGlhbE5hdmln
YXRpb25DYW5kaWRhdGVzQ291bnQ7CiAgICAgdW5zaWduZWQgbV9mb3JiaWRQcm9tcHRzRGVwdGg7
CiAKKyAgICBVbmlxdWVSZWY8U29ja2V0UHJvdmlkZXI+IG1fc29ja2V0UHJvdmlkZXI7CiAgICAg
UmVmPEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlPiBtX2FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwog
ICAgIFJlZjxEYXRhYmFzZVByb3ZpZGVyPiBtX2RhdGFiYXNlUHJvdmlkZXI7CiAgICAgUmVmPFN0
b3JhZ2VOYW1lc3BhY2VQcm92aWRlcj4gbV9zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAkocmV2aXNpb24gMjAx
OTg5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMxLDE0ICszMSwxNiBAQAogI2luY2x1ZGUgIkRhdGFiYXNlUHJvdmlkZXIu
aCIKICNpbmNsdWRlICJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIgogI2luY2x1ZGUgIkVkaXRv
ckNsaWVudC5oIgorI2luY2x1ZGUgIlNvY2tldFByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiU3RvcmFn
ZU5hbWVzcGFjZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiVXNlckNvbnRlbnRDb250cm9sbGVyLmgi
CiAjaW5jbHVkZSAiVmlzaXRlZExpbmtTdG9yZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LVBhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xp
ZW50PiYmIGVkaXRvckNsaWVudCkKK1BhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlv
bihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRvckNsaWVudCwgVW5pcXVlUmVmPFNvY2tl
dFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyKQogICAgIDogZWRpdG9yQ2xpZW50KFdURk1vdmUo
ZWRpdG9yQ2xpZW50KSkKKyAgICAsIHNvY2tldFByb3ZpZGVyKFdURk1vdmUoc29ja2V0UHJvdmlk
ZXIpKQogewogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9u
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5o
CShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAgY2xhc3MgRnJhbWVMb2FkZXJD
bGllbnQ7CiBjbGFzcyBJbnNwZWN0b3JDbGllbnQ7CiBjbGFzcyBQbHVnSW5DbGllbnQ7CiBjbGFz
cyBQcm9ncmVzc1RyYWNrZXJDbGllbnQ7CitjbGFzcyBTb2NrZXRQcm92aWRlcjsKIGNsYXNzIFN0
b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjsKIGNsYXNzIFVzZXJDb250ZW50UHJvdmlkZXI7CiBjbGFz
cyBWYWxpZGF0aW9uTWVzc2FnZUNsaWVudDsKQEAgLTU5LDcgKzYwLDcgQEAgY2xhc3MgQ29udGV4
dE1lbnVDbGllbnQ7CiBjbGFzcyBQYWdlQ29uZmlndXJhdGlvbiB7CiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUGFnZUNvbmZpZ3VyYXRpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRp
dG9yQ2xpZW50PiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihVbmlx
dWVSZWY8RWRpdG9yQ2xpZW50PiYmLCBVbmlxdWVSZWY8U29ja2V0UHJvdmlkZXI+JiYpOwogICAg
IFdFQkNPUkVfRVhQT1JUIH5QYWdlQ29uZmlndXJhdGlvbigpOwogCiAgICAgQWx0ZXJuYXRpdmVU
ZXh0Q2xpZW50KiBhbHRlcm5hdGl2ZVRleHRDbGllbnQgeyBudWxscHRyIH07CkBAIC02OCw2ICs2
OSw3IEBAIHB1YmxpYzoKICAgICBDb250ZXh0TWVudUNsaWVudCogY29udGV4dE1lbnVDbGllbnQg
eyBudWxscHRyIH07CiAjZW5kaWYKICAgICBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiBlZGl0b3JD
bGllbnQ7CisgICAgVW5pcXVlUmVmPFNvY2tldFByb3ZpZGVyPiBzb2NrZXRQcm92aWRlcjsKICAg
ICBEcmFnQ2xpZW50KiBkcmFnQ2xpZW50IHsgbnVsbHB0ciB9OwogICAgIEluc3BlY3RvckNsaWVu
dCogaW5zcGVjdG9yQ2xpZW50IHsgbnVsbHB0ciB9OwogICAgIFBsdWdJbkNsaWVudCogcGx1Z0lu
Q2xpZW50IHsgbnVsbHB0ciB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9SZXNvdXJjZVVz
YWdlT3ZlcmxheS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9SZXNvdXJj
ZVVzYWdlT3ZlcmxheS5jcHAJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUmVzb3VyY2VVc2FnZU92ZXJsYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3
IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VVc2FnZU92ZXJsYXkuaCIKIAogI2luY2x1ZGUgIkZyYW1l
Vmlldy5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlT3ZlcmxheUNvbnRyb2xs
ZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKIApJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9Tb2NrZXRQcm92aWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvU29ja2V0UHJvdmlkZXIuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvU29ja2V0UHJvdmlkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU29j
a2V0UHJvdmlkZXIgeworcHVibGljOgorICAgIHZpcnR1YWwgflNvY2tldFByb3ZpZGVyKCkgeyB9
OworfTsKKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdl
T3ZlcmxheUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvY29jb2Ev
UmVzb3VyY2VVc2FnZU92ZXJsYXlDb2NvYS5tbQkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlT3ZlcmxheUNvY29hLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQ29udGV4
dC5oPgogI2luY2x1ZGUgPFF1YXJ0ekNvcmUvQ0FMYXllci5oPgogI2luY2x1ZGUgPFF1YXJ0ekNv
cmUvQ0FUcmFuc2FjdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVk
ZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAkocmV2aXNp
b24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiSFRNTEh0bWxFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYXRoVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyQmxvY2suaCIKICNpbmNsdWRlICJSZW5kZXJDaGlsZEl0ZXJhdG9yLmgiCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAkocmV2aXNp
b24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJLZXlmcmFtZUxpc3QuaCIKICNpbmNsdWRl
ICJNYWluRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGx1Z2luVmlld0Jh
c2UuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXIuaCIKICNpbmNsdWRlICJSZW5kZXJGbG93
VGhyZWFkLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVGb3JEb2N1
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZl
Rm9yRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZVJlc29sdmVGb3JEb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2
LDcgQEAKICNpbmNsdWRlICJIVE1MSUZyYW1lRWxlbWVudC5oIgogI2luY2x1ZGUgIkxvY2FsZVRv
U2NyaXB0TWFwcGluZy5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgorI2luY2x1ZGUg
IlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJTdHls
ZS5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlVHJlZVJlc29sdmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNiAr
MzksNyBAQAogI2luY2x1ZGUgIkxvYWRlclN0cmF0ZWd5LmgiCiAjaW5jbHVkZSAiTWFpbkZyYW1l
LmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCisjaW5jbHVkZSAiUGFnZS5oIgogI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5j
bHVkZSAiU2hhZG93Um9vdC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NW
R0ltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZH
SW1hZ2UuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhp
Y3MvU1ZHSW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVk
ZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkpTRE9NV2luZG93QmFzZS5oIgogI2luY2x1ZGUgIk1h
aW5GcmFtZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlQ29uZmlndXJhdGlv
bi5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jvb3QuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5o
IgpAQCAtMzc5LDcgKzM4MCw3IEBAIGJvb2wgU1ZHSW1hZ2U6OmRhdGFDaGFuZ2VkKGJvb2wgYWxs
RGF0YVIKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBpZiAoYWxsRGF0YVJlY2VpdmVkKSB7
Ci0gICAgICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKG1ha2VVbmlxdWVS
ZWY8RW1wdHlFZGl0b3JDbGllbnQ+KCkpOworICAgICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdl
Q29uZmlndXJhdGlvbihtYWtlVW5pcXVlUmVmPEVtcHR5RWRpdG9yQ2xpZW50PigpLCBtYWtlVW5p
cXVlUmVmPEVtcHR5U29ja2V0UHJvdmlkZXI+KCkpOwogICAgICAgICBmaWxsV2l0aEVtcHR5Q2xp
ZW50cyhwYWdlQ29uZmlndXJhdGlvbik7CiAgICAgICAgIG1fY2hyb21lQ2xpZW50ID0gc3RkOjpt
YWtlX3VuaXF1ZTxTVkdJbWFnZUNocm9tZUNsaWVudD4odGhpcyk7CiAgICAgICAgIHBhZ2VDb25m
aWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG1fY2hyb21lQ2xpZW50LmdldCgpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcAkocmV2
aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXlD
bGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiR3Jh
cGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIk1h
aW5GcmFtZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlT3ZlcmxheUNvbnRy
b2xsZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKICNpbmNsdWRlIDx3dGYv
TmV2ZXJEZXN0cm95ZWQuaD4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisy
MDE2LTA2LTEzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgQWRkIFdlYlNvY2tldFByb3ZpZGVyIHN0dWIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODcwMgorCisgICAgICAgIFJldmlld2VkIGJ5
IEJyYWR5IEVpZHNvbi4KKworICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0UHJvdmlkZXIuaDog
QWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAg
ICAoV2ViS2l0OjptX3Nob3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cyk6CisKIDIwMTYt
MDYtMTAgIEFkYSBDaGFuICA8YWRhY2hhbkBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIHRoZSB2
aWRlbyBlbGVtZW50J3MgdmlkZW8gYm94IHdoZW4gZ2V0dGluZyB0aGUgaW5saW5lIHZpZGVvIHJl
Y3QgaW4gV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlcgpJbmRleDogU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjAxOTg5KQor
KysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMDYzLDYgKzMwNjMsNyBAQAogCQk1QzIwQ0I5QjFCQjBEQ0QyMDA4OTVC
QjEgLyogTmV0d29ya1Nlc3Npb25Db2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgbmFtZSA9IE5ldHdvcmtTZXNzaW9uQ29jb2EubW07IHBhdGggPSBOZXR3b3JrUHJvY2Vz
cy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1QzIwQ0I5RTFCQjBERDE4MDA4OTVCQjEgLyogTmV0d29ya1Nlc3Npb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1Nlc3Npb24uaDsgcGF0aCA9IE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTVDMjk4RDlFMUMzREVGMjkwMDQ3MEFGRSAvKiBQZW5kaW5nRG93bmxvYWQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUGVuZGluZ0Rvd25sb2FkLmg7IHBhdGggPSBOZXR3b3Jr
UHJvY2Vzcy9Eb3dubG9hZHMvUGVuZGluZ0Rvd25sb2FkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTVDN0M4OERDMUQwRjQxQTAwMDlEMkY2RCAvKiBXZWJTb2NrZXRQcm92aWRlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJTb2NrZXRQcm92aWRlci5oOyBw
YXRoID0gTmV0d29yay9XZWJTb2NrZXRQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1Qzg1Qzc4NjFDM0YyM0M1MDA2MUE0RkEgLyogUGVuZGluZ0Rvd25sb2FkLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFBlbmRpbmdEb3dubG9hZC5jcHA7
IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvUGVuZGluZ0Rvd25sb2FkLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzlCODkxQzY1MjRBNTAwQThGRENGIC8qIE5l
dHdvcmtEYXRhVGFzay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3Jr
RGF0YVRhc2suaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0JDOUI4QjFDNjUyNTczMDBBOEZEQ0YgLyogTmV0
d29ya0RhdGFUYXNrQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5h
bWUgPSBOZXR3b3JrRGF0YVRhc2tDb2NvYS5tbTsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL2NvY29h
L05ldHdvcmtEYXRhVGFza0NvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
NTI1Myw2ICs1MjU0LDcgQEAKIAkJNTEwNUIwRDIxNjJGN0E1RTAwRTI3NzA5IC8qIE5ldHdvcmsg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVDN0M4OERD
MUQwRjQxQTAwMDlEMkY2RCAvKiBXZWJTb2NrZXRQcm92aWRlci5oICovLAogCQkJCTUxMDVCMEQ0
MTYyRjdBN0EwMEUyNzcwOSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwICovLAogCQkJ
CTUxMDVCMEQ1MTYyRjdBN0EwMEUyNzcwOSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCAq
LywKIAkJCQk1MUZCMDkwMjE2M0EzQjFDMDBFQzMyNEEgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0
aW9uLm1lc3NhZ2VzLmluICovLApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlNvY2tldFByb3ZpZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFByb3ZpZGVyLmgJKHJldmlzaW9uIDApCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0UHJvdmlkZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlIDxXZWJDb3JlL1NvY2tldFByb3ZpZGVyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
CitjbGFzcyBXZWJTb2NrZXRQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpTb2NrZXRQ
cm92aWRlciB7Cit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMSw2ICsx
MDEsNyBAQAogI2luY2x1ZGUgIldlYlByb2Nlc3NQb29sTWVzc2FnZXMuaCIKICNpbmNsdWRlICJX
ZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2dyZXNzVHJhY2tlckNs
aWVudC5oIgorI2luY2x1ZGUgIldlYlNvY2tldFByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV2ViU3Rv
cmFnZU5hbWVzcGFjZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV2ViVW5kb1N0ZXAuaCIKICNpbmNs
dWRlICJXZWJVc2VyQ29udGVudENvbnRyb2xsZXIuaCIKQEAgLTM4NCw3ICszODUsNyBAQCBXZWJQ
YWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgCiAgICAgU2V0dGluZ3M6OnNldFNo
b3VsZE1hbmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KHRydWUpOwogI2VuZGlmCiAKLSAgICBQYWdl
Q29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbihtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNs
aWVudD4odGhpcykpOworICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKG1h
a2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50Pih0aGlzKSwgbWFrZVVuaXF1ZVJlZjxXZWJTb2Nr
ZXRQcm92aWRlcj4oKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3
IFdlYkNocm9tZUNsaWVudCh0aGlzKTsKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICBw
YWdlQ29uZmlndXJhdGlvbi5jb250ZXh0TWVudUNsaWVudCA9IG5ldyBXZWJDb250ZXh0TWVudUNs
aWVudCh0aGlzKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDIwMDApCisrKyBTb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE2LTA2LTEz
ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
QWRkIFdlYlNvY2tldFByb3ZpZGVyIHN0dWIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1ODcwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEJyYWR5IEVp
ZHNvbi4KKworICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAy
MDE2LTA2LTEwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgRml4IENNYWtlIGJ1aWxkLgpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0xNDYsNiArMTQ2LDcgQEAKIAkJNTk4QUQ5MjgxMjAxQ0YzMjAwQUJBRTRFIC8qIFdlYkRldmlj
ZU9yaWVudGF0aW9uUHJvdmlkZXJNb2NrLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTk4QUQ5MjcxMjAxQ0YzMjAwQUJBRTRFIC8qIFdlYkRldmljZU9y
aWVudGF0aW9uUHJvdmlkZXJNb2NrLm1tICovOyB9OwogCQk1OThBRDkyQTEyMDFDRjNCMDBBQkFF
NEUgLyogV2ViRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlck1vY2tJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTk4QUQ5MjkxMjAxQ0YzQjAw
QUJBRTRFIC8qIFdlYkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJNb2NrSW50ZXJuYWwuaCAqLzsg
fTsKIAkJNTk4QURBNDYxMjAyMjc1MDAwQUJBRTRFIC8qIFdlYkRldmljZU9yaWVudGF0aW9uUHJv
dmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5
OEFEQTQ1MTIwMjI3NTAwMEFCQUU0RSAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNUM3Qzg4
REExRDBGM0JGMjAwOUQyRjZEIC8qIFdlYlNvY2tldFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzdDODhEOTFEMEYzQkYyMDA5RDJGNkQg
LyogV2ViU29ja2V0UHJvdmlkZXIuaCAqLzsgfTsKIAkJNUQ3QkY4MTQwQzJBMUQ5MDAwOENFMDZE
IC8qIFdlYkluc3BlY3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNUQ3QkY4MTIwQzJBMUQ5MDAwOENFMDZEIC8qIFdlYkluc3BlY3Rvci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVEN0JGODE1MEMy
QTFEOTAwMDhDRTA2RCAvKiBXZWJJbnNwZWN0b3IubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RDdCRjgxMzBDMkExRDkwMDA4Q0UwNkQgLyogV2ViSW5z
cGVjdG9yLm1tICovOyB9OwogCQk1REU4M0E3QTBEMEY3Rjk0MDBDQUQxMkEgLyogV2ViSmF2YVNj
cmlwdFRleHRJbnB1dFBhbmVsLm5pYiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNURFODNBNzQwRDBGN0Y5NDAwQ0FEMTJBIC8qIFdlYkphdmFTY3JpcHRU
ZXh0SW5wdXRQYW5lbC5uaWIgKi87IH07CkBAIC02NDYsNiArNjQ3LDcgQEAKIAkJNTk4QUQ5Mjcx
MjAxQ0YzMjAwQUJBRTRFIC8qIFdlYkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJNb2NrLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViRGV2aWNlT3JpZW50YXRp
b25Qcm92aWRlck1vY2subW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5OEFEOTI5
MTIwMUNGM0IwMEFCQUU0RSAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyTW9ja0ludGVy
bmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkRldmljZU9yaWVudGF0
aW9uUHJvdmlkZXJNb2NrSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTk4QURBNDUxMjAyMjc1MDAwQUJBRTRFIC8qIFdlYkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRGV2aWNlT3JpZW50YXRpb25Q
cm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1QzdDODhEOTFEMEYzQkYy
MDA5RDJGNkQgLyogV2ViU29ja2V0UHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViU29ja2V0UHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNUQ3QkY4MTIwQzJBMUQ5MDAwOENFMDZEIC8qIFdlYkluc3BlY3Rvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSW5zcGVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTVEN0JGODEzMEMyQTFEOTAwMDhDRTA2RCAvKiBXZWJJbnNwZWN0b3IubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViSW5zcGVjdG9yLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1REU4M0E3NTBEMEY3Rjk0MDBDQUQxMkEg
LyogRW5nbGlzaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHdyYXBwZXIubmliOyBuYW1lID0gRW5nbGlzaDsgcGF0aCA9IEVuZ2xpc2gubHByb2ovV2Vi
SmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsLm5pYjsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9
OwpAQCAtMTA5MCw2ICsxMDkyLDcgQEAKIAkJMjU0REMzMzQwMTZFMUQzRjBFQ0ExNDlFIC8qIE1p
c2MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVDN0M4
OEQ5MUQwRjNCRjIwMDlEMkY2RCAvKiBXZWJTb2NrZXRQcm92aWRlci5oICovLAogCQkJCUExMEMx
RDIwMTgyMDJGQUYwMDM2ODgzQSAvKiBpb3MgKi8sCiAJCQkJMUNDRkZEMTIwQjFGODFGMjAwMkVF
OTI2IC8qIE9sZFdlYkFzc2VydGlvbnMuYyAqLywKIAkJCQkyOUFFRjk1RDEzNEM3NTU0MDBGRTUw
OTYgLyogT3V0bG9va1F1aXJrc1VzZXJTY3JpcHQuanMgKi8sCkBAIC0xNzk0LDYgKzE3OTcsNyBA
QAogCQkJCTkzOTgxMDUzMDgyNEJGMDEwMDhERjAzOCAvKiBXZWJGcmFtZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTM5ODEwOUMwODI0QkYwMTAwOERGMDM4IC8qIFdlYkZyYW1lSW50ZXJuYWwuaCBp
biBIZWFkZXJzICovLAogCQkJCUExMEMxRDZCMTgyMDMwMEUwMDM2ODgzQSAvKiBXZWJGcmFtZUlP
Uy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUM3Qzg4REExRDBGM0JGMjAwOUQyRjZEIC8qIFdlYlNv
Y2tldFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTBDMUQ2RDE4MjAzMDBFMDAzNjg4
M0EgLyogV2ViRnJhbWVJUGhvbmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzOTgxMDVCMDgyNEJG
MDEwMDhERjAzOCAvKiBXZWJGcmFtZUxvYWREZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QzBCODhFOEIxMEEwOEYzRDAwRkJCM0Y1IC8qIFdlYkZyYW1lTG9hZERlbGVnYXRlUHJpdmF0ZS5o
IGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDE5ODkpCisr
KyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
NSBAQAorMjAxNi0wNi0xMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQu
b3JnPgorCisgICAgICAgIEFkZCBXZWJTb2NrZXRQcm92aWRlciBzdHViCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg3MDIKKworICAgICAgICBSZXZp
ZXdlZCBieSBCcmFkeSBFaWRzb24uCisKKyAgICAgICAgKiBNaXNjL1dlYlNvY2tldFByb3ZpZGVy
Lmg6IEFkZGVkLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2Vi
VmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKyAg
ICAgICAgKC1bV2ViVmlldyBpbml0U2ltcGxlSFRNTERvY3VtZW50V2l0aFN0eWxlOmZyYW1lOnBy
ZWZlcmVuY2VzOmdyb3VwTmFtZTpdKToKKwogMjAxNi0wNi0xMCAgQWxleCBDaHJpc3RlbnNlbiAg
PGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEludHJvZHVjZSBXVEY6OlVuaXF1
ZVJlZgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJTb2NrZXRQcm92aWRlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViU29ja2V0UHJvdmlkZXIuaAko
cmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViU29ja2V0UHJvdmlkZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL1NvY2tldFByb3ZpZGVyLmg+CisKK2NsYXNzIFdlYlNv
Y2tldFByb3ZpZGVyIGZpbmFsIDogcHVibGljIFdlYkNvcmU6OlNvY2tldFByb3ZpZGVyIHsKK307
CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAyMDE5ODkp
CisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkK
QEAgLTk5LDYgKzk5LDcgQEAKICNpbXBvcnQgIldlYlNjcmlwdERlYnVnRGVsZWdhdGUuaCIKICNp
bXBvcnQgIldlYlNjcmlwdFdvcmxkSW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYlNlbGVjdGlvblNl
cnZpY2VDb250cm9sbGVyLmgiCisjaW1wb3J0ICJXZWJTb2NrZXRQcm92aWRlci5oIgogI2ltcG9y
dCAiV2ViU3RvcmFnZU1hbmFnZXJJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViU3RvcmFnZU5hbWVz
cGFjZVByb3ZpZGVyLmgiCiAjaW1wb3J0ICJXZWJTeXN0ZW1JbnRlcmZhY2UuaCIKQEAgLTk4Nyw3
ICs5ODgsNyBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hCiAgICAg
X3ByaXZhdGUtPmdyb3VwID0gV2ViVmlld0dyb3VwOjpnZXRPckNyZWF0ZShncm91cE5hbWUsIF9w
cml2YXRlLT5wcmVmZXJlbmNlcy5fbG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRoKTsKICAgICBfcHJp
dmF0ZS0+Z3JvdXAtPmFkZFdlYlZpZXcoc2VsZik7CiAKLSAgICBQYWdlQ29uZmlndXJhdGlvbiBw
YWdlQ29uZmlndXJhdGlvbihtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4oc2VsZikpOwor
ICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKG1ha2VVbmlxdWVSZWY8V2Vi
RWRpdG9yQ2xpZW50PihzZWxmKSwgbWFrZVVuaXF1ZVJlZjxXZWJTb2NrZXRQcm92aWRlcj4oKSk7
CiAjaWYgIVBMQVRGT1JNKElPUykKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQg
PSBuZXcgV2ViQ2hyb21lQ2xpZW50KHNlbGYpOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNvbnRl
eHRNZW51Q2xpZW50ID0gbmV3IFdlYkNvbnRleHRNZW51Q2xpZW50KHNlbGYpOwpAQCAtMTIzNyw3
ICsxMjM4LDcgQEAgLSAoaWQpaW5pdFNpbXBsZUhUTUxEb2N1bWVudFdpdGhTdHlsZTooTgogICAg
IF9wcml2YXRlLT5ncm91cCA9IFdlYlZpZXdHcm91cDo6Z2V0T3JDcmVhdGUoZ3JvdXBOYW1lLCBf
cHJpdmF0ZS0+cHJlZmVyZW5jZXMuX2xvY2FsU3RvcmFnZURhdGFiYXNlUGF0aCk7CiAgICAgX3By
aXZhdGUtPmdyb3VwLT5hZGRXZWJWaWV3KHNlbGYpOwogCi0gICAgUGFnZUNvbmZpZ3VyYXRpb24g
cGFnZUNvbmZpZ3VyYXRpb24obWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHNlbGYpKTsK
KyAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbihtYWtlVW5pcXVlUmVmPFdl
YkVkaXRvckNsaWVudD4oc2VsZiksIG1ha2VVbmlxdWVSZWY8V2ViU29ja2V0UHJvdmlkZXI+KCkp
OwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGll
bnRJT1Moc2VsZik7CiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBwYWdlQ29uZmlndXJh
dGlvbi5kcmFnQ2xpZW50ID0gbmV3IFdlYkRyYWdDbGllbnQoc2VsZik7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMDIwMDIpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0wNi0xMyAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBXZWJTb2NrZXRQ
cm92aWRlciBzdHViCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTg3MDIKKworICAgICAgICBSZXZpZXdlZCBieSBCcmFkeSBFaWRzb24uCisKKyAgICAg
ICAgKiBXZWJTb2NrZXRQcm92aWRlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJWaWV3LmNwcDoK
KyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgorCiAyMDE2LTA2LTEwICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW50cm9kdWNl
IFdURjo6VW5pcXVlUmVmCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJTb2NrZXRQcm92aWRl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYlNvY2tldFByb3ZpZGVyLmgJ
KHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJTb2NrZXRQcm92aWRlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgPFdlYkNvcmUvU29ja2V0UHJvdmlkZXIuaD4KKworY2xhc3MgV2ViU29ja2V0
UHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6U29ja2V0UHJvdmlkZXIgeworfTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjksNiArNjksNyBAQAogI2luY2x1
ZGUgIldlYlByZWZlcmVuY2VzLmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmgiCiAjaW5jbHVkZSAiV2ViU2NyaXB0V29ybGQuaCIKKyNpbmNsdWRlICJXZWJTb2NrZXRQcm92
aWRlci5oIgogI2luY2x1ZGUgIldlYlN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5oIgogI2luY2x1
ZGUgIldlYlZpZXdHcm91cC5oIgogI2luY2x1ZGUgIldlYlZpc2l0ZWRMaW5rU3RvcmUuaCIKQEAg
LTI5MDksNyArMjkxMCw3IEBAIEhSRVNVTFQgV2ViVmlldzo6aW5pdFdpdGhGcmFtZShSRUNUIGZy
YW0KIAogICAgIG1faW5zcGVjdG9yQ2xpZW50ID0gbmV3IFdlYkluc3BlY3RvckNsaWVudCh0aGlz
KTsKIAotICAgIFBhZ2VDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24obWFrZVVuaXF1ZVJlZjxX
ZWJFZGl0b3JDbGllbnQ+KHRoaXMpKTsKKyAgICBQYWdlQ29uZmlndXJhdGlvbiBjb25maWd1cmF0
aW9uKG1ha2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50Pih0aGlzKSwgbWFrZVVuaXF1ZVJlZjxX
ZWJTb2NrZXRQcm92aWRlcj4oKSk7CiAgICAgY29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBu
ZXcgV2ViQ2hyb21lQ2xpZW50KHRoaXMpOwogICAgIGNvbmZpZ3VyYXRpb24uY29udGV4dE1lbnVD
bGllbnQgPSBuZXcgV2ViQ29udGV4dE1lbnVDbGllbnQodGhpcyk7CiAgICAgY29uZmlndXJhdGlv
bi5kcmFnQ2xpZW50ID0gbmV3IFdlYkRyYWdDbGllbnQodGhpcyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281201</attachid>
            <date>2016-06-13 14:12:03 -0700</date>
            <delta_ts>2016-06-13 14:57:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158702-20160613141337.patch</filename>
            <type>text/plain</type>
            <size>45298</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE2LTA2LTEzICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFdlYlNvY2tldFByb3ZpZGVy
IHN0dWIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
ODcwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEJyYWR5IEVpZHNvbi4KKworICAgICAgICAqIHd0
Zi9VbmlxdWVSZWYuaDoKKyAgICAgICAgKFdURjo6VW5pcXVlUmVmOjpvcGVyYXRvci0+KToKKyAg
ICAgICAgKFdURjo6VW5pcXVlUmVmOjpvcGVyYXRvciBUJik6CisgICAgICAgIChXVEY6OlVuaXF1
ZVJlZjo6b3BlcmF0b3IgY29uc3QgVCYpOgorICAgICAgICBBZGRlZCBvcGVyYXRvciBUJiB0byBh
dm9pZCB1bm5lZWRlZCAuZ2V0KCkgY2FsbHMuCisKIDIwMTYtMDYtMTEgIE15bGVzIEMuIE1heGZp
ZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGRyZXNzaW5nIHBvc3QtcmV2
aWV3IGNvbW1lbnRzIGFmdGVyIHIyMDE5NzguCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9VbmlxdWVS
ZWYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9VbmlxdWVSZWYuaAkocmV2aXNpb24g
MjAxOTg5KQorKysgU291cmNlL1dURi93dGYvVW5pcXVlUmVmLmgJKHdvcmtpbmcgY29weSkKQEAg
LTU2LDYgKzU2LDkgQEAgcHVibGljOgogCiAgICAgVCogb3BlcmF0b3ItPigpIHsgQVNTRVJUKG1f
cmVmKTsgcmV0dXJuIG1fcmVmLmdldCgpOyB9CiAgICAgY29uc3QgVCogb3BlcmF0b3ItPigpIGNv
bnN0IHsgQVNTRVJUKG1fcmVmKTsgcmV0dXJuIG1fcmVmLmdldCgpOyB9CisgICAgCisgICAgb3Bl
cmF0b3IgVCYoKSB7IEFTU0VSVChtX3JlZik7IHJldHVybiAqbV9yZWY7IH0KKyAgICBvcGVyYXRv
ciBjb25zdCBUJigpIGNvbnN0IHsgQVNTRVJUKG1fcmVmKTsgcmV0dXJuICptX3JlZjsgfQogCiBw
cml2YXRlOgogICAgIHRlbXBsYXRlPGNsYXNzIFUsIGNsYXNzLi4uIEFyZ3M+IGZyaWVuZCBVbmlx
dWVSZWY8VT4gbWFrZVVuaXF1ZVJlZihBcmdzJiYuLi4pOwpJbmRleDogU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNp
b24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTMgQEAKKzIwMTYtMDYtMTMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgV2ViU29ja2V0UHJvdmlkZXIgc3R1YgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NzAyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQnJhZHkgRWlkc29uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4g
IE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBkb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAg
ICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvTWVkaWFEb2N1
bWVudC5jcHA6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3Bw
OgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwOgorICAgICAgICAqIGh0
bWwvc2hhZG93L01lZGlhQ29udHJvbHMuaDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xzQXBwbGUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpvdmVybGF5UGFnZSk6CisgICAgICAgICogbG9hZGVy
L0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAg
ICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVIb3N0LmNwcDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2UuY3BwOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKiBwYWdl
L1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6UGFnZSk6CisgICAgICAgICogcGFn
ZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjphcHBsaWNhdGlvbkNhY2hlU3RvcmFn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpkYXRhYmFzZVByb3ZpZGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6OnNvY2tldFByb3ZpZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6
OnN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcik6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJh
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlQ29uZmlndXJhdGlvbjo6UGFnZUNvbmZp
Z3VyYXRpb24pOgorICAgICAgICAqIHBhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAg
KiBwYWdlL1Jlc291cmNlVXNhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKiBwYWdlL1NvY2tldFBy
b3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0UHJvdmlkZXI6On5Tb2Nr
ZXRQcm92aWRlcik6CisgICAgICAgICogcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlT3ZlcmxheUNv
Y29hLm1tOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKiBzdHlsZS9TdHls
ZVJlc29sdmVGb3JEb2N1bWVudC5jcHA6CisgICAgICAgICogc3R5bGUvU3R5bGVUcmVlUmVzb2x2
ZXIuY3BwOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdJbWFnZTo6ZGF0YUNoYW5nZWQpOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1Bh
Z2VPdmVybGF5Q2xpZW50LmNwcDoKKwogMjAxNi0wNi0xMyAgTmFlbCBPdWVkcmFvZ28gIDxuYWVs
Lm91ZWRyYW9nb0BjcmYuY2Fub24uZnI+CiAKICAgICAgICAgSW1wcm92ZSBjb2RlIGdlbmVyYXRv
ciBmb3IgZnVuY3Rpb25zIHdpdGggdmFyaWFkaWMgcGFyYW1ldGVycwpJbmRleDogU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
MjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yMzQ0LDYgKzIzNDQsNyBAQAogCQk1QzQzMDRCMTE5MUFD
OTA4MDAwRTJCQzAgLyogRVhUU2hhZGVyVGV4dHVyZUxPRC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUM0MzA0QUUxOTFBQzkwODAwMEUyQkMwIC8qIEVY
VFNoYWRlclRleHR1cmVMT0QuaCAqLzsgfTsKIAkJNUM0MzA0QjUxOTFBRUY0NjAwMEUyQkMwIC8q
IEpTRVhUU2hhZGVyVGV4dHVyZUxPRC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1QzQzMDRCMzE5MUFFRjQ2MDAwRTJCQzAgLyogSlNFWFRTaGFkZXJU
ZXh0dXJlTE9ELmNwcCAqLzsgfTsKIAkJNUM0MzA0QjYxOTFBRUY0NjAwMEUyQkMwIC8qIEpTRVhU
U2hhZGVyVGV4dHVyZUxPRC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNUM0MzA0QjQxOTFBRUY0NjAwMEUyQkMwIC8qIEpTRVhUU2hhZGVyVGV4dHVyZUxP
RC5oICovOyB9OworCQk1QzdDODhEODFEMEYxRjRBMDA5RDJGNkQgLyogU29ja2V0UHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDN0M4OEQ3
MUQwRjFGMkIwMDlEMkY2RCAvKiBTb2NrZXRQcm92aWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVDOUE3QTc1MUFBMEY2RUEwMDk1OEFDRiAv
KiBERkFCeXRlY29kZUNvbXBpbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDVDMzkzMDVFMUFBMEY2QTkwMDI5QzgxNiAvKiBERkFCeXRlY29kZUNv
bXBpbGVyLmNwcCAqLzsgfTsKIAkJNUM5QTdBNzYxQUEwRjZFRDAwOTU4QUNGIC8qIERGQUJ5dGVj
b2RlSW50ZXJwcmV0ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNUMzOTMwNjAxQUEwRjZBOTAwMjlDODE2IC8qIERGQUJ5dGVjb2RlSW50ZXJwcmV0
ZXIuY3BwICovOyB9OwogCQk1QzlCODYwQzFDMjFFM0M5MDAxMTBGMzYgLyogUmVzb3VyY2VMb2Fk
VGltaW5nLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUM5Qjg2MEIxQzIxRTNDNjAwMTEwRjM2IC8qIFJlc291cmNlTG9hZFRpbWluZy5tbSAqLzsgfTsK
QEAgLTk5NjUsNiArOTk2Niw3IEBACiAJCTVDNDMwNEFGMTkxQUM5MDgwMDBFMkJDMCAvKiBFWFRT
aGFkZXJUZXh0dXJlTE9ELmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBFWFRTaGFkZXJUZXh0
dXJlTE9ELmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUM0MzA0QjMxOTFBRUY0
NjAwMEUyQkMwIC8qIEpTRVhUU2hhZGVyVGV4dHVyZUxPRC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0VYVFNoYWRlclRleHR1cmVMT0QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1QzQzMDRCNDE5MUFFRjQ2MDAwRTJCQzAgLyogSlNFWFRTaGFk
ZXJUZXh0dXJlTE9ELmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRVhUU2hh
ZGVyVGV4dHVyZUxPRC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1QzdDODhENzFE
MEYxRjJCMDA5RDJGNkQgLyogU29ja2V0UHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU29ja2V0UHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNUM5Qjg2MEIxQzIxRTNDNjAwMTEwRjM2IC8qIFJlc291cmNlTG9hZFRpbWluZy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJlc291cmNlTG9hZFRpbWluZy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCMzdGRkMxQzYyRDI3ODAwRjIwMTg4
IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTY3JvbGxBbmltYXRvck1vY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1Q0IzN0ZGRDFDNjJEMjc4MDBGMjAxODggLyogU2Nyb2xsQW5pbWF0b3JNb2NrLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yTW9jay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc5NzcsNiArMTc5NzksNyBAQAogCQk2NUJGMDIx
ODA5NzQ4MDYzMDBDNDMxOTYgLyogcGFnZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJNUM3Qzg4RDcxRDBGMUYyQjAwOUQyRjZEIC8qIFNvY2tldFByb3Zp
ZGVyLmggKi8sCiAJCQkJMzE2RkUxMDYwRTZFMUQ4NDAwQkY2MDg4IC8qIGFuaW1hdGlvbiAqLywK
IAkJCQk1RDU5NzVCNTE5NjM2MkJFMDBEMDA4NzggLyogY29jb2EgKi8sCiAJCQkJQ0UxN0FEMTQx
QzU4NTIyRjAwNUY0Nzk5IC8qIGNzcCAqLywKQEAgLTI4MTI5LDYgKzI4MTMyLDcgQEAKIAkJCQkw
OEZFMEJDNTEyN0UyQUMxMDAwQzRGQjUgLyogU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlv
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwODhBMEUwNTEyNkVGMURCMDA5NzhGN0EgLyogU1ZHQW5p
bWF0ZWRQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDg4QTBFMDYxMjZFRjFEQjAwOTc4
RjdBIC8qIFNWR0FuaW1hdGVkUHJvcGVydHlEZXNjcmlwdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNUM3Qzg4RDgxRDBGMUY0QTAwOUQyRjZEIC8qIFNvY2tldFByb3ZpZGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwODhBMEUwNzEyNkVGMURCMDA5NzhGN0EgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0
eU1hY3Jvcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDg4QTBFMDgxMjZFRjFEQjAwOTc4RjdBIC8q
IFNWR0FuaW1hdGVkUHJvcGVydHlUZWFyT2ZmLmggaW4gSGVhZGVycyAqLywKIAkJCQkwOEM4NTlD
MDEyNzQ1NzU0MDBBNTcyOEQgLyogU1ZHQW5pbWF0ZWRSZWN0LmggaW4gSGVhZGVycyAqLywKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvRE9NT2JqZWN0Q2FjaGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvRE9NT2JqZWN0Q2Fj
aGUuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2Jq
ZWN0L0RPTU9iamVjdENhY2hlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAog
I2luY2x1ZGUgPGdsaWItb2JqZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRyLmg+CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuY3Bw
CShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJD
b250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUg
IkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIk1haW5GcmFtZS5oIgogI2luY2x1ZGUgIk5vZGVU
cmF2ZXJzYWwuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKICNpbmNs
dWRlICJSZW5kZXJCbG9ja0Zsb3cuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgpJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5j
cHAJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1h
dGlvbkNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBACiAjaW5j
bHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgog
I2luY2x1ZGUgIk1haW5GcmFtZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZXF1
ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5j
bHVkZSA8d3RmL1JlZi5oPgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Miw2ICs3Miw3IEBACiAjaW5jbHVkZSAi
TWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgiCiAjaW5jbHVkZSAiTmV0d29ya2luZ0NvbnRleHQuaCIK
ICNpbmNsdWRlICJOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb24uaCIKKyNpbmNsdWRlICJQYWdlLmgi
CiAjaW5jbHVkZSAiUGFnZUdyb3VwLmgiCiAjaW5jbHVkZSAiUGFnZVRocm90dGxlci5oIgogI2lu
Y2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBA
CiAjaW5jbHVkZSAiSFRNTFZpZGVvRWxlbWVudC5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQu
aCIKICNpbmNsdWRlICJOb2RlTGlzdC5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJS
YXdEYXRhRG9jdW1lbnRQYXJzZXIuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiU2hhZG93Um9vdC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9sRWxlbWVudHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAkocmV2aXNpb24gMjAxOTg5KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3IEBACiAjaW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYUNvbnRyb2xzLmgiCisjaW5j
bHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlJlbmRlckxh
eWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyTWVkaWFDb250cm9sRWxlbWVudHMuaCIKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwCShyZXZpc2lvbiAy
MDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIk1lZGlhQ29udHJvbHMu
aCIKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIgorI2luY2x1ZGUgIlBh
Z2UuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oCShyZXZpc2lvbiAy
MDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJIVE1MRGl2RWxlbWVudC5o
IgogI2luY2x1ZGUgIk1lZGlhQ29udHJvbEVsZW1lbnRzLmgiCiAjaW5jbHVkZSAiTW91c2VFdmVu
dC5oIgotI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1
ZGUgIlRleHQuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC00Niw3ICs0NSw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBFdmVudDsKLWNsYXNz
IFBhZ2U7CiBjbGFzcyBNZWRpYVBsYXllcjsKIAogY2xhc3MgUmVuZGVyQm94OwpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sc0FwcGxlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzQXBwbGUuY3BwCShy
ZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRy
b2xzQXBwbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAi
Q1NTVmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5o
IgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJX
aGVlbEV2ZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCShyZXZp
c2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsNiArNTQsNyBAQAogI2luY2x1ZGUg
Ikluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRz
LmgiCiAjaW5jbHVkZSAiTWFpbkZyYW1lLmgiCisjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUg
IlBhZ2VEZWJ1Z2dlckFnZW50LmgiCiAjaW5jbHVkZSAiUGFnZVJ1bnRpbWVBZ2VudC5oIgogI2lu
Y2x1ZGUgIlJlbmRlck9iamVjdC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAkocmV2aXNpb24gMjAxOTg5KQorKysg
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgog
I2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZS5oIgogI2luY2x1ZGUgIk1l
bW9yeVByZXNzdXJlSGFuZGxlci5oIgotI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU3RvcmFnZUFyZWEuaCIKICNpbmNsdWRl
ICJXZWJTb2NrZXRGcmFtZS5oIgpAQCAtODAsNiArNzksNyBAQCBjbGFzcyBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb247CiBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50OwogY2xhc3MgSW5zdHJ1
bWVudGluZ0FnZW50czsKIGNsYXNzIE5vZGU7CitjbGFzcyBQYWdlOwogY2xhc3MgUHNldWRvRWxl
bWVudDsKIGNsYXNzIFJlbmRlckxheWVyOwogY2xhc3MgUmVuZGVyTGF5ZXJCYWNraW5nOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAkocmV2
aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJs
YXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NjQsNyArODY0LDcgQEAgUGFnZSogSW5zcGVjdG9y
T3ZlcmxheTo6b3ZlcmxheVBhZ2UoKQogICAgIGlmIChtX292ZXJsYXlQYWdlKQogICAgICAgICBy
ZXR1cm4gbV9vdmVybGF5UGFnZS5nZXQoKTsKIAotICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VD
b25maWd1cmF0aW9uKG1ha2VVbmlxdWVSZWY8RW1wdHlFZGl0b3JDbGllbnQ+KCkpOworICAgIFBh
Z2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKG1ha2VVbmlxdWVSZWY8RW1wdHlFZGl0
b3JDbGllbnQ+KCksIG1ha2VVbmlxdWVSZWY8RW1wdHlTb2NrZXRQcm92aWRlcj4oKSk7CiAgICAg
ZmlsbFdpdGhFbXB0eUNsaWVudHMocGFnZUNvbmZpZ3VyYXRpb24pOwogICAgIG1fb3ZlcmxheVBh
Z2UgPSBzdGQ6Om1ha2VfdW5pcXVlPFBhZ2U+KFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24pKTsK
IApJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAJKHJldmlzaW9uIDIw
MTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiRnJhbWVOZXR3b3JraW5nQ29udGV4
dC5oIgogI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUgIkluUHJvY2Vzc0lE
QlNlcnZlci5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlQ29uZmlndXJhdGlv
bi5oIgogI2luY2x1ZGUgIlN0b3JhZ2VBcmVhLmgiCiAjaW5jbHVkZSAiU3RvcmFnZU5hbWVzcGFj
ZS5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAkocmV2aXNpb24gMjAx
OTg5KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yNiw4ICsyNiw3IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgRW1w
dHlDbGllbnRzX2gKLSNkZWZpbmUgRW1wdHlDbGllbnRzX2gKKyNwcmFnbWEgb25jZQogCiAjaW5j
bHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDbGllbnQuaCIKQEAg
LTQyLDYgKzQxLDggQEAKICNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnQuaCIKICNpbmNsdWRlICJQ
cm9ncmVzc1RyYWNrZXJDbGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCisjaW5j
bHVkZSAiU2Vzc2lvbklELmgiCisjaW5jbHVkZSAiU29ja2V0UHJvdmlkZXIuaCIKICNpbmNsdWRl
ICJUZXh0Q2hlY2tlckNsaWVudC5oIgogI2luY2x1ZGUgIlZpc2l0ZWRMaW5rU3RvcmUuaCIKICNp
bmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdWaWV3Lmg+CkBAIC03MSw2ICs3Miw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiBjbGFzcyBQYWdlOworY2xh
c3MgUGFnZUNvbmZpZ3VyYXRpb247CiAKIGNsYXNzIEVtcHR5Q2hyb21lQ2xpZW50IDogcHVibGlj
IENocm9tZUNsaWVudCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CkBAIC02NDIsOCAr
NjQ0LDkgQEAgY2xhc3MgRW1wdHlEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCBmaW5hbAogICAgIHZv
aWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoY29uc3QgU3RyaW5nJiwgY29uc3QgU3Ry
aW5nJiwgY29uc3QgU3RyaW5nJiwgU2hvdWxkU2FtcGxlKSBvdmVycmlkZSB7IH0KIH07CiAKK2Ns
YXNzIEVtcHR5U29ja2V0UHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgU29ja2V0UHJvdmlkZXIgewor
fTsKKyAgICAKIHZvaWQgZmlsbFdpdGhFbXB0eUNsaWVudHMoUGFnZUNvbmZpZ3VyYXRpb24mKTsK
IAogfQotCi0jZW5kaWYgLy8gRW1wdHlDbGllbnRzX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcAkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsNyBAQAogI2lu
Y2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJNYWluRnJhbWUuaCIKICNpbmNs
dWRlICJNZW1vcnlDYWNoZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlQ2Fj
aGUuaCIKICNpbmNsdWRlICJQYWdlVGhyb3R0bGVyLmgiCiAjaW5jbHVkZSAiUGFnZVRyYW5zaXRp
b25FdmVudC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgJKHJldmlzaW9u
IDIwMTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSwxNSArMjksMTMgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBG
cmFtZUxvYWRlcl9oCi0jZGVmaW5lIEZyYW1lTG9hZGVyX2gKKyNwcmFnbWEgb25jZQogCiAjaW5j
bHVkZSAiQ2FjaGVQb2xpY3kuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlclN0YXRlTWFjaGluZS5o
IgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKICNpbmNsdWRlICJMYXlvdXRNaWxlc3Rv
bmVzLmgiCiAjaW5jbHVkZSAiTWl4ZWRDb250ZW50Q2hlY2tlci5oIgotI2luY2x1ZGUgIlBhZ2Uu
aCIKICNpbmNsdWRlICJQYWdlVGhyb3R0bGVyLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVU
eXBlcy5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZE5vdGlmaWVyLmgiCkBAIC00NjksNSArNDY3
LDMgQEAgcHJpdmF0ZToKIFJlZlB0cjxGcmFtZT4gY3JlYXRlV2luZG93KEZyYW1lJiBvcGVuZXJG
cmFtZSwgRnJhbWUmIGxvb2t1cEZyYW1lLCBjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiwgY29uc3Qg
V2luZG93RmVhdHVyZXMmLCBib29sJiBjcmVhdGVkKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCi0jZW5kaWYgLy8gRnJhbWVMb2FkZXJfaApJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVy
L2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuY3BwCShyZXZpc2lv
biAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUhvc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAi
RnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aCIKICNpbmNsdWRlICJNYWluRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAi
UHJvZ3Jlc3NFdmVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAi
UmVzb3VyY2VSZXF1ZXN0LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZS5jcHAJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYg
KzQyLDcgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWFpbkZyYW1lLmgiCiAj
aW5jbHVkZSAiTWVtb3J5Q2FjaGUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGxh
dGZvcm1TdHJhdGVnaWVzLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRl
ICJTY2hlbWVSZWdpc3RyeS5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAkocmV2
aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NCw2ICs2NCw3IEBACiAjaW5jbHVkZSAiTWVtb3J5Q2FjaGUuaCIKICNp
bmNsdWRlICJNZW1vcnlQcmVzc3VyZUhhbmRsZXIuaCIKICNpbmNsdWRlICJPdmVyZmxvd0V2ZW50
LmgiCisjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VDYWNoZS5oIgogI2luY2x1ZGUg
IlBhZ2VPdmVybGF5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlByb2dyZXNzVHJhY2tlci5oIgpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzAsNiArMjMwLDcgQEAgUGFnZTo6
UGFnZShQYWdlQ29uZmlndXJhdGlvbiYmIHBhZ2VDb25maQogI2VuZGlmCiAgICAgLCBtX2xhc3RT
cGF0aWFsTmF2aWdhdGlvbkNhbmRpZGF0ZXNDb3VudCgwKSAvLyBOT1RFOiBPbmx5IGNhbGxlZCBm
cm9tIEludGVybmFscyBmb3IgU3BhdGlhbCBOYXZpZ2F0aW9uIHRlc3RpbmcuCiAgICAgLCBtX2Zv
cmJpZFByb21wdHNEZXB0aCgwKQorICAgICwgbV9zb2NrZXRQcm92aWRlcihXVEZNb3ZlKHBhZ2VD
b25maWd1cmF0aW9uLnNvY2tldFByb3ZpZGVyKSkKICAgICAsIG1fYXBwbGljYXRpb25DYWNoZVN0
b3JhZ2UoKldURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uYXBwbGljYXRpb25DYWNoZVN0b3JhZ2Up
KQogICAgICwgbV9kYXRhYmFzZVByb3ZpZGVyKCpXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLmRh
dGFiYXNlUHJvdmlkZXIpKQogICAgICwgbV9zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIoKldURk1v
dmUocGFnZUNvbmZpZ3VyYXRpb24uc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyKSkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5oCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtMTIwLDYgKzEyMCw3IEBAIGNsYXNzIFZpc2libGVTZWxlY3Rp
b247CiBjbGFzcyBTY3JvbGxhYmxlQXJlYTsKIGNsYXNzIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOwog
Y2xhc3MgU2V0dGluZ3M7CitjbGFzcyBTb2NrZXRQcm92aWRlcjsKIGNsYXNzIFN0b3JhZ2VOYW1l
c3BhY2U7CiBjbGFzcyBTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7CiBjbGFzcyBVc2VyQ29udGVu
dFByb3ZpZGVyOwpAQCAtNDU2LDYgKzQ1Nyw3IEBAIHB1YmxpYzoKIAogICAgIEFwcGxpY2F0aW9u
Q2FjaGVTdG9yYWdlJiBhcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSgpIHsgcmV0dXJuIG1fYXBwbGlj
YXRpb25DYWNoZVN0b3JhZ2U7IH0KICAgICBEYXRhYmFzZVByb3ZpZGVyJiBkYXRhYmFzZVByb3Zp
ZGVyKCkgeyByZXR1cm4gbV9kYXRhYmFzZVByb3ZpZGVyOyB9CisgICAgU29ja2V0UHJvdmlkZXIm
IHNvY2tldFByb3ZpZGVyKCkgeyByZXR1cm4gbV9zb2NrZXRQcm92aWRlcjsgfQogCiAgICAgU3Rv
cmFnZU5hbWVzcGFjZVByb3ZpZGVyJiBzdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIoKSB7IHJldHVy
biBtX3N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5nZXQoKTsgfQogICAgIHZvaWQgc2V0U3RvcmFn
ZU5hbWVzcGFjZVByb3ZpZGVyKFJlZjxTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI+JiYpOwpAQCAt
NjkwLDYgKzY5Miw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9sYXN0U3BhdGlhbE5hdmln
YXRpb25DYW5kaWRhdGVzQ291bnQ7CiAgICAgdW5zaWduZWQgbV9mb3JiaWRQcm9tcHRzRGVwdGg7
CiAKKyAgICBVbmlxdWVSZWY8U29ja2V0UHJvdmlkZXI+IG1fc29ja2V0UHJvdmlkZXI7CiAgICAg
UmVmPEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlPiBtX2FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwog
ICAgIFJlZjxEYXRhYmFzZVByb3ZpZGVyPiBtX2RhdGFiYXNlUHJvdmlkZXI7CiAgICAgUmVmPFN0
b3JhZ2VOYW1lc3BhY2VQcm92aWRlcj4gbV9zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAkocmV2aXNpb24gMjAx
OTg5KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMxLDE0ICszMSwxNiBAQAogI2luY2x1ZGUgIkRhdGFiYXNlUHJvdmlkZXIu
aCIKICNpbmNsdWRlICJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIgogI2luY2x1ZGUgIkVkaXRv
ckNsaWVudC5oIgorI2luY2x1ZGUgIlNvY2tldFByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiU3RvcmFn
ZU5hbWVzcGFjZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiVXNlckNvbnRlbnRDb250cm9sbGVyLmgi
CiAjaW5jbHVkZSAiVmlzaXRlZExpbmtTdG9yZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LVBhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRpdG9yQ2xp
ZW50PiYmIGVkaXRvckNsaWVudCkKK1BhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlv
bihVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYmIGVkaXRvckNsaWVudCwgVW5pcXVlUmVmPFNvY2tl
dFByb3ZpZGVyPiYmIHNvY2tldFByb3ZpZGVyKQogICAgIDogZWRpdG9yQ2xpZW50KFdURk1vdmUo
ZWRpdG9yQ2xpZW50KSkKKyAgICAsIHNvY2tldFByb3ZpZGVyKFdURk1vdmUoc29ja2V0UHJvdmlk
ZXIpKQogewogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9u
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5o
CShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAgY2xhc3MgRnJhbWVMb2FkZXJD
bGllbnQ7CiBjbGFzcyBJbnNwZWN0b3JDbGllbnQ7CiBjbGFzcyBQbHVnSW5DbGllbnQ7CiBjbGFz
cyBQcm9ncmVzc1RyYWNrZXJDbGllbnQ7CitjbGFzcyBTb2NrZXRQcm92aWRlcjsKIGNsYXNzIFN0
b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjsKIGNsYXNzIFVzZXJDb250ZW50UHJvdmlkZXI7CiBjbGFz
cyBWYWxpZGF0aW9uTWVzc2FnZUNsaWVudDsKQEAgLTU5LDcgKzYwLDcgQEAgY2xhc3MgQ29udGV4
dE1lbnVDbGllbnQ7CiBjbGFzcyBQYWdlQ29uZmlndXJhdGlvbiB7CiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUGFnZUNvbmZpZ3VyYXRpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihVbmlxdWVSZWY8RWRp
dG9yQ2xpZW50PiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihVbmlx
dWVSZWY8RWRpdG9yQ2xpZW50PiYmLCBVbmlxdWVSZWY8U29ja2V0UHJvdmlkZXI+JiYpOwogICAg
IFdFQkNPUkVfRVhQT1JUIH5QYWdlQ29uZmlndXJhdGlvbigpOwogCiAgICAgQWx0ZXJuYXRpdmVU
ZXh0Q2xpZW50KiBhbHRlcm5hdGl2ZVRleHRDbGllbnQgeyBudWxscHRyIH07CkBAIC02OCw2ICs2
OSw3IEBAIHB1YmxpYzoKICAgICBDb250ZXh0TWVudUNsaWVudCogY29udGV4dE1lbnVDbGllbnQg
eyBudWxscHRyIH07CiAjZW5kaWYKICAgICBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiBlZGl0b3JD
bGllbnQ7CisgICAgVW5pcXVlUmVmPFNvY2tldFByb3ZpZGVyPiBzb2NrZXRQcm92aWRlcjsKICAg
ICBEcmFnQ2xpZW50KiBkcmFnQ2xpZW50IHsgbnVsbHB0ciB9OwogICAgIEluc3BlY3RvckNsaWVu
dCogaW5zcGVjdG9yQ2xpZW50IHsgbnVsbHB0ciB9OwogICAgIFBsdWdJbkNsaWVudCogcGx1Z0lu
Q2xpZW50IHsgbnVsbHB0ciB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9SZXNvdXJjZVVz
YWdlT3ZlcmxheS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9SZXNvdXJj
ZVVzYWdlT3ZlcmxheS5jcHAJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUmVzb3VyY2VVc2FnZU92ZXJsYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3
IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VVc2FnZU92ZXJsYXkuaCIKIAogI2luY2x1ZGUgIkZyYW1l
Vmlldy5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlT3ZlcmxheUNvbnRyb2xs
ZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKIApJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9Tb2NrZXRQcm92aWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvU29ja2V0UHJvdmlkZXIuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvU29ja2V0UHJvdmlkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU29j
a2V0UHJvdmlkZXIgeworcHVibGljOgorICAgIHZpcnR1YWwgflNvY2tldFByb3ZpZGVyKCkgeyB9
OworfTsKKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdl
T3ZlcmxheUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvY29jb2Ev
UmVzb3VyY2VVc2FnZU92ZXJsYXlDb2NvYS5tbQkocmV2aXNpb24gMjAxOTg5KQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlT3ZlcmxheUNvY29hLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQ29udGV4
dC5oPgogI2luY2x1ZGUgPFF1YXJ0ekNvcmUvQ0FMYXllci5oPgogI2luY2x1ZGUgPFF1YXJ0ekNv
cmUvQ0FUcmFuc2FjdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVk
ZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAkocmV2aXNp
b24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiSFRNTEh0bWxFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYXRoVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyQmxvY2suaCIKICNpbmNsdWRlICJSZW5kZXJDaGlsZEl0ZXJhdG9yLmgiCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAkocmV2aXNp
b24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJLZXlmcmFtZUxpc3QuaCIKICNpbmNsdWRl
ICJNYWluRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGx1Z2luVmlld0Jh
c2UuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXIuaCIKICNpbmNsdWRlICJSZW5kZXJGbG93
VGhyZWFkLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVGb3JEb2N1
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZl
Rm9yRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZVJlc29sdmVGb3JEb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2
LDcgQEAKICNpbmNsdWRlICJIVE1MSUZyYW1lRWxlbWVudC5oIgogI2luY2x1ZGUgIkxvY2FsZVRv
U2NyaXB0TWFwcGluZy5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgorI2luY2x1ZGUg
IlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJTdHls
ZS5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlVHJlZVJlc29sdmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNiAr
MzksNyBAQAogI2luY2x1ZGUgIkxvYWRlclN0cmF0ZWd5LmgiCiAjaW5jbHVkZSAiTWFpbkZyYW1l
LmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCisjaW5jbHVkZSAiUGFnZS5oIgogI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5j
bHVkZSAiU2hhZG93Um9vdC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NW
R0ltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZH
SW1hZ2UuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhp
Y3MvU1ZHSW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVk
ZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkpTRE9NV2luZG93QmFzZS5oIgogI2luY2x1ZGUgIk1h
aW5GcmFtZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlQ29uZmlndXJhdGlv
bi5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jvb3QuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5o
IgpAQCAtMzc5LDcgKzM4MCw3IEBAIGJvb2wgU1ZHSW1hZ2U6OmRhdGFDaGFuZ2VkKGJvb2wgYWxs
RGF0YVIKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBpZiAoYWxsRGF0YVJlY2VpdmVkKSB7
Ci0gICAgICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKG1ha2VVbmlxdWVS
ZWY8RW1wdHlFZGl0b3JDbGllbnQ+KCkpOworICAgICAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdl
Q29uZmlndXJhdGlvbihtYWtlVW5pcXVlUmVmPEVtcHR5RWRpdG9yQ2xpZW50PigpLCBtYWtlVW5p
cXVlUmVmPEVtcHR5U29ja2V0UHJvdmlkZXI+KCkpOwogICAgICAgICBmaWxsV2l0aEVtcHR5Q2xp
ZW50cyhwYWdlQ29uZmlndXJhdGlvbik7CiAgICAgICAgIG1fY2hyb21lQ2xpZW50ID0gc3RkOjpt
YWtlX3VuaXF1ZTxTVkdJbWFnZUNocm9tZUNsaWVudD4odGhpcyk7CiAgICAgICAgIHBhZ2VDb25m
aWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG1fY2hyb21lQ2xpZW50LmdldCgpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcAkocmV2
aXNpb24gMjAxOTg5KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXlD
bGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiR3Jh
cGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIk1h
aW5GcmFtZS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlT3ZlcmxheUNvbnRy
b2xsZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKICNpbmNsdWRlIDx3dGYv
TmV2ZXJEZXN0cm95ZWQuaD4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMTk4OSkKKysrIFNv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisy
MDE2LTA2LTEzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgQWRkIFdlYlNvY2tldFByb3ZpZGVyIHN0dWIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODcwMgorCisgICAgICAgIFJldmlld2VkIGJ5
IEJyYWR5IEVpZHNvbi4KKworICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0UHJvdmlkZXIuaDog
QWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAg
ICAoV2ViS2l0OjptX3Nob3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cyk6CisKIDIwMTYt
MDYtMTAgIEFkYSBDaGFuICA8YWRhY2hhbkBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIHRoZSB2
aWRlbyBlbGVtZW50J3MgdmlkZW8gYm94IHdoZW4gZ2V0dGluZyB0aGUgaW5saW5lIHZpZGVvIHJl
Y3QgaW4gV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlcgpJbmRleDogU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjAxOTg5KQor
KysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMDYzLDYgKzMwNjMsNyBAQAogCQk1QzIwQ0I5QjFCQjBEQ0QyMDA4OTVC
QjEgLyogTmV0d29ya1Nlc3Npb25Db2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgbmFtZSA9IE5ldHdvcmtTZXNzaW9uQ29jb2EubW07IHBhdGggPSBOZXR3b3JrUHJvY2Vz
cy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1QzIwQ0I5RTFCQjBERDE4MDA4OTVCQjEgLyogTmV0d29ya1Nlc3Npb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1Nlc3Npb24uaDsgcGF0aCA9IE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTVDMjk4RDlFMUMzREVGMjkwMDQ3MEFGRSAvKiBQZW5kaW5nRG93bmxvYWQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUGVuZGluZ0Rvd25sb2FkLmg7IHBhdGggPSBOZXR3b3Jr
UHJvY2Vzcy9Eb3dubG9hZHMvUGVuZGluZ0Rvd25sb2FkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTVDN0M4OERDMUQwRjQxQTAwMDlEMkY2RCAvKiBXZWJTb2NrZXRQcm92aWRlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJTb2NrZXRQcm92aWRlci5oOyBw
YXRoID0gTmV0d29yay9XZWJTb2NrZXRQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1Qzg1Qzc4NjFDM0YyM0M1MDA2MUE0RkEgLyogUGVuZGluZ0Rvd25sb2FkLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFBlbmRpbmdEb3dubG9hZC5jcHA7
IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvUGVuZGluZ0Rvd25sb2FkLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzlCODkxQzY1MjRBNTAwQThGRENGIC8qIE5l
dHdvcmtEYXRhVGFzay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3Jr
RGF0YVRhc2suaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0JDOUI4QjFDNjUyNTczMDBBOEZEQ0YgLyogTmV0
d29ya0RhdGFUYXNrQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5h
bWUgPSBOZXR3b3JrRGF0YVRhc2tDb2NvYS5tbTsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL2NvY29h
L05ldHdvcmtEYXRhVGFza0NvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
NTI1Myw2ICs1MjU0LDcgQEAKIAkJNTEwNUIwRDIxNjJGN0E1RTAwRTI3NzA5IC8qIE5ldHdvcmsg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVDN0M4OERD
MUQwRjQxQTAwMDlEMkY2RCAvKiBXZWJTb2NrZXRQcm92aWRlci5oICovLAogCQkJCTUxMDVCMEQ0
MTYyRjdBN0EwMEUyNzcwOSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwICovLAogCQkJ
CTUxMDVCMEQ1MTYyRjdBN0EwMEUyNzcwOSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCAq
LywKIAkJCQk1MUZCMDkwMjE2M0EzQjFDMDBFQzMyNEEgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0
aW9uLm1lc3NhZ2VzLmluICovLApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlNvY2tldFByb3ZpZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFByb3ZpZGVyLmgJKHJldmlzaW9uIDApCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0UHJvdmlkZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlIDxXZWJDb3JlL1NvY2tldFByb3ZpZGVyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
CitjbGFzcyBXZWJTb2NrZXRQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpTb2NrZXRQ
cm92aWRlciB7Cit9OworCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMSw2ICsx
MDEsNyBAQAogI2luY2x1ZGUgIldlYlByb2Nlc3NQb29sTWVzc2FnZXMuaCIKICNpbmNsdWRlICJX
ZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2dyZXNzVHJhY2tlckNs
aWVudC5oIgorI2luY2x1ZGUgIldlYlNvY2tldFByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV2ViU3Rv
cmFnZU5hbWVzcGFjZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiV2ViVW5kb1N0ZXAuaCIKICNpbmNs
dWRlICJXZWJVc2VyQ29udGVudENvbnRyb2xsZXIuaCIKQEAgLTM4NCw3ICszODUsNyBAQCBXZWJQ
YWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgCiAgICAgU2V0dGluZ3M6OnNldFNo
b3VsZE1hbmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KHRydWUpOwogI2VuZGlmCiAKLSAgICBQYWdl
Q29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbihtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNs
aWVudD4odGhpcykpOworICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKG1h
a2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50Pih0aGlzKSwgbWFrZVVuaXF1ZVJlZjxXZWJTb2Nr
ZXRQcm92aWRlcj4oKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3
IFdlYkNocm9tZUNsaWVudCh0aGlzKTsKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICBw
YWdlQ29uZmlndXJhdGlvbi5jb250ZXh0TWVudUNsaWVudCA9IG5ldyBXZWJDb250ZXh0TWVudUNs
aWVudCh0aGlzKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDIwMDApCisrKyBTb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE2LTA2LTEz
ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
QWRkIFdlYlNvY2tldFByb3ZpZGVyIHN0dWIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1ODcwMgorCisgICAgICAgIFJldmlld2VkIGJ5IEJyYWR5IEVp
ZHNvbi4KKworICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAy
MDE2LTA2LTEwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgRml4IENNYWtlIGJ1aWxkLgpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0xNDYsNiArMTQ2LDcgQEAKIAkJNTk4QUQ5MjgxMjAxQ0YzMjAwQUJBRTRFIC8qIFdlYkRldmlj
ZU9yaWVudGF0aW9uUHJvdmlkZXJNb2NrLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTk4QUQ5MjcxMjAxQ0YzMjAwQUJBRTRFIC8qIFdlYkRldmljZU9y
aWVudGF0aW9uUHJvdmlkZXJNb2NrLm1tICovOyB9OwogCQk1OThBRDkyQTEyMDFDRjNCMDBBQkFF
NEUgLyogV2ViRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlck1vY2tJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTk4QUQ5MjkxMjAxQ0YzQjAw
QUJBRTRFIC8qIFdlYkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJNb2NrSW50ZXJuYWwuaCAqLzsg
fTsKIAkJNTk4QURBNDYxMjAyMjc1MDAwQUJBRTRFIC8qIFdlYkRldmljZU9yaWVudGF0aW9uUHJv
dmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5
OEFEQTQ1MTIwMjI3NTAwMEFCQUU0RSAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNUM3Qzg4
REExRDBGM0JGMjAwOUQyRjZEIC8qIFdlYlNvY2tldFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzdDODhEOTFEMEYzQkYyMDA5RDJGNkQg
LyogV2ViU29ja2V0UHJvdmlkZXIuaCAqLzsgfTsKIAkJNUQ3QkY4MTQwQzJBMUQ5MDAwOENFMDZE
IC8qIFdlYkluc3BlY3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNUQ3QkY4MTIwQzJBMUQ5MDAwOENFMDZEIC8qIFdlYkluc3BlY3Rvci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVEN0JGODE1MEMy
QTFEOTAwMDhDRTA2RCAvKiBXZWJJbnNwZWN0b3IubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RDdCRjgxMzBDMkExRDkwMDA4Q0UwNkQgLyogV2ViSW5z
cGVjdG9yLm1tICovOyB9OwogCQk1REU4M0E3QTBEMEY3Rjk0MDBDQUQxMkEgLyogV2ViSmF2YVNj
cmlwdFRleHRJbnB1dFBhbmVsLm5pYiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNURFODNBNzQwRDBGN0Y5NDAwQ0FEMTJBIC8qIFdlYkphdmFTY3JpcHRU
ZXh0SW5wdXRQYW5lbC5uaWIgKi87IH07CkBAIC02NDYsNiArNjQ3LDcgQEAKIAkJNTk4QUQ5Mjcx
MjAxQ0YzMjAwQUJBRTRFIC8qIFdlYkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJNb2NrLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViRGV2aWNlT3JpZW50YXRp
b25Qcm92aWRlck1vY2subW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5OEFEOTI5
MTIwMUNGM0IwMEFCQUU0RSAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyTW9ja0ludGVy
bmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkRldmljZU9yaWVudGF0
aW9uUHJvdmlkZXJNb2NrSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTk4QURBNDUxMjAyMjc1MDAwQUJBRTRFIC8qIFdlYkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRGV2aWNlT3JpZW50YXRpb25Q
cm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1QzdDODhEOTFEMEYzQkYy
MDA5RDJGNkQgLyogV2ViU29ja2V0UHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViU29ja2V0UHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNUQ3QkY4MTIwQzJBMUQ5MDAwOENFMDZEIC8qIFdlYkluc3BlY3Rvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSW5zcGVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTVEN0JGODEzMEMyQTFEOTAwMDhDRTA2RCAvKiBXZWJJbnNwZWN0b3IubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViSW5zcGVjdG9yLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1REU4M0E3NTBEMEY3Rjk0MDBDQUQxMkEg
LyogRW5nbGlzaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHdyYXBwZXIubmliOyBuYW1lID0gRW5nbGlzaDsgcGF0aCA9IEVuZ2xpc2gubHByb2ovV2Vi
SmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsLm5pYjsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9
OwpAQCAtMTA5MCw2ICsxMDkyLDcgQEAKIAkJMjU0REMzMzQwMTZFMUQzRjBFQ0ExNDlFIC8qIE1p
c2MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVDN0M4
OEQ5MUQwRjNCRjIwMDlEMkY2RCAvKiBXZWJTb2NrZXRQcm92aWRlci5oICovLAogCQkJCUExMEMx
RDIwMTgyMDJGQUYwMDM2ODgzQSAvKiBpb3MgKi8sCiAJCQkJMUNDRkZEMTIwQjFGODFGMjAwMkVF
OTI2IC8qIE9sZFdlYkFzc2VydGlvbnMuYyAqLywKIAkJCQkyOUFFRjk1RDEzNEM3NTU0MDBGRTUw
OTYgLyogT3V0bG9va1F1aXJrc1VzZXJTY3JpcHQuanMgKi8sCkBAIC0xNzk0LDYgKzE3OTcsNyBA
QAogCQkJCTkzOTgxMDUzMDgyNEJGMDEwMDhERjAzOCAvKiBXZWJGcmFtZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTM5ODEwOUMwODI0QkYwMTAwOERGMDM4IC8qIFdlYkZyYW1lSW50ZXJuYWwuaCBp
biBIZWFkZXJzICovLAogCQkJCUExMEMxRDZCMTgyMDMwMEUwMDM2ODgzQSAvKiBXZWJGcmFtZUlP
Uy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUM3Qzg4REExRDBGM0JGMjAwOUQyRjZEIC8qIFdlYlNv
Y2tldFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTBDMUQ2RDE4MjAzMDBFMDAzNjg4
M0EgLyogV2ViRnJhbWVJUGhvbmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzOTgxMDVCMDgyNEJG
MDEwMDhERjAzOCAvKiBXZWJGcmFtZUxvYWREZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QzBCODhFOEIxMEEwOEYzRDAwRkJCM0Y1IC8qIFdlYkZyYW1lTG9hZERlbGVnYXRlUHJpdmF0ZS5o
IGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDE5ODkpCisr
KyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
NSBAQAorMjAxNi0wNi0xMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQu
b3JnPgorCisgICAgICAgIEFkZCBXZWJTb2NrZXRQcm92aWRlciBzdHViCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg3MDIKKworICAgICAgICBSZXZp
ZXdlZCBieSBCcmFkeSBFaWRzb24uCisKKyAgICAgICAgKiBNaXNjL1dlYlNvY2tldFByb3ZpZGVy
Lmg6IEFkZGVkLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2Vi
VmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKyAg
ICAgICAgKC1bV2ViVmlldyBpbml0U2ltcGxlSFRNTERvY3VtZW50V2l0aFN0eWxlOmZyYW1lOnBy
ZWZlcmVuY2VzOmdyb3VwTmFtZTpdKToKKwogMjAxNi0wNi0xMCAgQWxleCBDaHJpc3RlbnNlbiAg
PGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEludHJvZHVjZSBXVEY6OlVuaXF1
ZVJlZgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJTb2NrZXRQcm92aWRlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViU29ja2V0UHJvdmlkZXIuaAko
cmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViU29ja2V0UHJvdmlkZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL1NvY2tldFByb3ZpZGVyLmg+CisKK2NsYXNzIFdlYlNv
Y2tldFByb3ZpZGVyIGZpbmFsIDogcHVibGljIFdlYkNvcmU6OlNvY2tldFByb3ZpZGVyIHsKK307
CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAyMDE5ODkp
CisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkK
QEAgLTk5LDYgKzk5LDcgQEAKICNpbXBvcnQgIldlYlNjcmlwdERlYnVnRGVsZWdhdGUuaCIKICNp
bXBvcnQgIldlYlNjcmlwdFdvcmxkSW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYlNlbGVjdGlvblNl
cnZpY2VDb250cm9sbGVyLmgiCisjaW1wb3J0ICJXZWJTb2NrZXRQcm92aWRlci5oIgogI2ltcG9y
dCAiV2ViU3RvcmFnZU1hbmFnZXJJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViU3RvcmFnZU5hbWVz
cGFjZVByb3ZpZGVyLmgiCiAjaW1wb3J0ICJXZWJTeXN0ZW1JbnRlcmZhY2UuaCIKQEAgLTk4Nyw3
ICs5ODgsNyBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hCiAgICAg
X3ByaXZhdGUtPmdyb3VwID0gV2ViVmlld0dyb3VwOjpnZXRPckNyZWF0ZShncm91cE5hbWUsIF9w
cml2YXRlLT5wcmVmZXJlbmNlcy5fbG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRoKTsKICAgICBfcHJp
dmF0ZS0+Z3JvdXAtPmFkZFdlYlZpZXcoc2VsZik7CiAKLSAgICBQYWdlQ29uZmlndXJhdGlvbiBw
YWdlQ29uZmlndXJhdGlvbihtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4oc2VsZikpOwor
ICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKG1ha2VVbmlxdWVSZWY8V2Vi
RWRpdG9yQ2xpZW50PihzZWxmKSwgbWFrZVVuaXF1ZVJlZjxXZWJTb2NrZXRQcm92aWRlcj4oKSk7
CiAjaWYgIVBMQVRGT1JNKElPUykKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQg
PSBuZXcgV2ViQ2hyb21lQ2xpZW50KHNlbGYpOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNvbnRl
eHRNZW51Q2xpZW50ID0gbmV3IFdlYkNvbnRleHRNZW51Q2xpZW50KHNlbGYpOwpAQCAtMTIzNyw3
ICsxMjM4LDcgQEAgLSAoaWQpaW5pdFNpbXBsZUhUTUxEb2N1bWVudFdpdGhTdHlsZTooTgogICAg
IF9wcml2YXRlLT5ncm91cCA9IFdlYlZpZXdHcm91cDo6Z2V0T3JDcmVhdGUoZ3JvdXBOYW1lLCBf
cHJpdmF0ZS0+cHJlZmVyZW5jZXMuX2xvY2FsU3RvcmFnZURhdGFiYXNlUGF0aCk7CiAgICAgX3By
aXZhdGUtPmdyb3VwLT5hZGRXZWJWaWV3KHNlbGYpOwogCi0gICAgUGFnZUNvbmZpZ3VyYXRpb24g
cGFnZUNvbmZpZ3VyYXRpb24obWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHNlbGYpKTsK
KyAgICBQYWdlQ29uZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbihtYWtlVW5pcXVlUmVmPFdl
YkVkaXRvckNsaWVudD4oc2VsZiksIG1ha2VVbmlxdWVSZWY8V2ViU29ja2V0UHJvdmlkZXI+KCkp
OwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGll
bnRJT1Moc2VsZik7CiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBwYWdlQ29uZmlndXJh
dGlvbi5kcmFnQ2xpZW50ID0gbmV3IFdlYkRyYWdDbGllbnQoc2VsZik7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMDIwMDIpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0wNi0xMyAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBXZWJTb2NrZXRQ
cm92aWRlciBzdHViCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTg3MDIKKworICAgICAgICBSZXZpZXdlZCBieSBCcmFkeSBFaWRzb24uCisKKyAgICAg
ICAgKiBXZWJTb2NrZXRQcm92aWRlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJWaWV3LmNwcDoK
KyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgorCiAyMDE2LTA2LTEwICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW50cm9kdWNl
IFdURjo6VW5pcXVlUmVmCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJTb2NrZXRQcm92aWRl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYlNvY2tldFByb3ZpZGVyLmgJ
KHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJTb2NrZXRQcm92aWRlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgPFdlYkNvcmUvU29ja2V0UHJvdmlkZXIuaD4KKworY2xhc3MgV2ViU29ja2V0
UHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6U29ja2V0UHJvdmlkZXIgeworfTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiAyMDE5ODkpCisrKyBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjksNiArNjksNyBAQAogI2luY2x1
ZGUgIldlYlByZWZlcmVuY2VzLmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmgiCiAjaW5jbHVkZSAiV2ViU2NyaXB0V29ybGQuaCIKKyNpbmNsdWRlICJXZWJTb2NrZXRQcm92
aWRlci5oIgogI2luY2x1ZGUgIldlYlN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5oIgogI2luY2x1
ZGUgIldlYlZpZXdHcm91cC5oIgogI2luY2x1ZGUgIldlYlZpc2l0ZWRMaW5rU3RvcmUuaCIKQEAg
LTI5MDksNyArMjkxMCw3IEBAIEhSRVNVTFQgV2ViVmlldzo6aW5pdFdpdGhGcmFtZShSRUNUIGZy
YW0KIAogICAgIG1faW5zcGVjdG9yQ2xpZW50ID0gbmV3IFdlYkluc3BlY3RvckNsaWVudCh0aGlz
KTsKIAotICAgIFBhZ2VDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24obWFrZVVuaXF1ZVJlZjxX
ZWJFZGl0b3JDbGllbnQ+KHRoaXMpKTsKKyAgICBQYWdlQ29uZmlndXJhdGlvbiBjb25maWd1cmF0
aW9uKG1ha2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50Pih0aGlzKSwgbWFrZVVuaXF1ZVJlZjxX
ZWJTb2NrZXRQcm92aWRlcj4oKSk7CiAgICAgY29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBu
ZXcgV2ViQ2hyb21lQ2xpZW50KHRoaXMpOwogICAgIGNvbmZpZ3VyYXRpb24uY29udGV4dE1lbnVD
bGllbnQgPSBuZXcgV2ViQ29udGV4dE1lbnVDbGllbnQodGhpcyk7CiAgICAgY29uZmlndXJhdGlv
bi5kcmFnQ2xpZW50ID0gbmV3IFdlYkRyYWdDbGllbnQodGhpcyk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>