<?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>188315</bug_id>
          
          <creation_ts>2018-08-03 11:14:35 -0700</creation_ts>
          <short_desc>Fix spelling of &quot;overridden&quot;</short_desc>
          <delta_ts>2018-08-03 17:14:54 -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>InRadar</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>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1447702</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-08-03 11:14:35 -0700</bug_when>
    <thetext>Fix spelling of &quot;overridden&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447703</commentid>
    <comment_count>1</comment_count>
      <attachid>346507</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-08-03 11:15:40 -0700</bug_when>
    <thetext>Created attachment 346507
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447818</commentid>
    <comment_count>2</comment_count>
      <attachid>346507</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-03 16:14:04 -0700</bug_when>
    <thetext>Comment on attachment 346507
Patch

Clearing flags on attachment: 346507

Committed r234563: &lt;https://trac.webkit.org/changeset/234563&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447819</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-03 16:14:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447840</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-03 17:14:54 -0700</bug_when>
    <thetext>&lt;rdar://problem/42920399&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346507</attachid>
            <date>2018-08-03 11:15:40 -0700</date>
            <delta_ts>2018-08-03 16:14:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188315-20180803111539.patch</filename>
            <type>text/plain</type>
            <size>38173</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM0NTU0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDE4LTA4LTAzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgRml4IHNwZWxsaW5nIG9mICJvdmVycmlkZGVuIgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4MzE1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBBUEkvSlNFeHBvcnQuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanM6CisKIDIwMTgtMDgtMDIgIFNh
YW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVhZGluZyBpbnN0cnVj
dGlvblBvaW50ZXIgZnJvbSBQbGF0Zm9ybVJlZ2lzdGVycyBtYXkgZmFpbCB3aGVuIHVzaW5nIHBv
aW50ZXIgcHJvZmlsaW5nCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTRXhwb3J0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0V4cG9ydC5oCShy
ZXZpc2lvbiAyMzQ1MTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTRXhwb3J0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEyNCw3ICsxMjQsNyBAQAogICAtIEFueSBsb3dlcmNhc2UgbGV0
dGVyIHRoYXQgaGFkIGZvbGxvd2VkIGEgY29sb24gd2lsbCBiZSBjYXBpdGFsaXplZC4KIAogIFVu
ZGVyIHRoZSBkZWZhdWx0IGNvbnZlcnNpb24gYSBzZWxlY3RvciA8Y29kZT5kb0Zvbzp3aXRoQmFy
OjwvY29kZT4gd2lsbCBiZSBleHBvcnRlZCBhcwotIDxjb2RlPmRvRm9vV2l0aEJhcjwvY29kZT4u
IFRoZSBkZWZhdWx0IGNvbnZlcnNpb24gbWF5IGJlIG92ZXJyaWRlbiB1c2luZyB0aGUgSlNFeHBv
cnRBcworIDxjb2RlPmRvRm9vV2l0aEJhcjwvY29kZT4uIFRoZSBkZWZhdWx0IGNvbnZlcnNpb24g
bWF5IGJlIG92ZXJyaWRkZW4gdXNpbmcgdGhlIEpTRXhwb3J0QXMKICBtYWNybywgZm9yIGV4YW1w
bGUgdG8gZXhwb3J0IGEgbWV0aG9kIDxjb2RlPmRvRm9vOndpdGhCYXI6PC9jb2RlPiBhcyA8Y29k
ZT5kb0ZvbzwvY29kZT46CiAKIDxwcmU+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMJKHJldmlzaW9uIDIz
NDUxNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRT
b3VyY2UuanMJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKIAogKGZ1bmN0aW9uIChJ
bmplY3RlZFNjcmlwdEhvc3QsIGluc3BlY3RlZEdsb2JhbE9iamVjdCwgaW5qZWN0ZWRTY3JpcHRJ
ZCkgewogCi0vLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1MjI5ND4gV2ViIEluc3Bl
Y3RvcjogUGFyc2UgSW5qZWN0ZWRTY3JpcHRTb3VyY2UgYXMgYSBidWlsdC1pbiB0byBnZXQgZ3Vh
cmFudGVlZCBub24tdXNlci1vdmVycmlkZW4gYnVpbHQtaW5zCisvLyBGSVhNRTogPGh0dHBzOi8v
d2Via2l0Lm9yZy9iLzE1MjI5ND4gV2ViIEluc3BlY3RvcjogUGFyc2UgSW5qZWN0ZWRTY3JpcHRT
b3VyY2UgYXMgYSBidWlsdC1pbiB0byBnZXQgZ3VhcmFudGVlZCBub24tdXNlci1vdmVycmlkZGVu
IGJ1aWx0LWlucwogCiB2YXIgT2JqZWN0ID0ge30uY29uc3RydWN0b3I7CiAKSW5kZXg6IFNvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNDUxNCkKKysrIFNvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE4
LTA4LTAzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgRml4IHNwZWxsaW5nIG9mICJvdmVycmlkZGVuIgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4MzE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvUHJvZ3Jh
bUltcGwuaDoKKwogMjAxOC0wNy0xNCAgS29jc2VuIENodW5nICA8a29jc2VuX2NodW5nQGFwcGxl
LmNvbT4KIAogICAgICAgICBFbnN1cmUgV2ViS2l0IHN0YWNrIGlzIGFkLWhvYyBzaWduZWQKSW5k
ZXg6IFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9Qcm9ncmFt
SW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9Qcm9ncmFtSW1wbC5oCShyZXZpc2lvbiAyMzQ1MTQpCisrKyBTb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvUHJvZ3JhbUltcGwuaAkod29ya2lu
ZyBjb3B5KQpAQCAtOTIsNyArOTIsNyBAQCBjbGFzcyBQcm9ncmFtSW1wbCA6IGFuZ2xlOjpOb25D
b3B5YWJsZQogCiAgICAgLy8gSW1wbGVtZW50YXRpb24tc3BlY2lmaWMgbWV0aG9kIGZvciBpZ25v
cmluZyB1bnJlZmVyZW5jZWQgdW5pZm9ybXMuIFNvbWUgaW1wbGVtZW50YXRpb25zIG1heQogICAg
IC8vIHBlcmZvcm0gbW9yZSBleHRlbnNpdmUgYW5hbHlzaXMgYW5kIGlnbm9yZSBzb21lIGxvY2F0
aW9ucyB0aGF0IEFOR0xFIGRvZXNuJ3QgZGV0ZWN0IGFzCi0gICAgLy8gdW5yZWZlcmVuY2VkLiBU
aGlzIG1ldGhvZCBpcyBub3QgcmVxdWlyZWQgdG8gYmUgb3ZlcnJpZGVuIGJ5IGEgYmFjay1lbmQu
CisgICAgLy8gdW5yZWZlcmVuY2VkLiBUaGlzIG1ldGhvZCBpcyBub3QgcmVxdWlyZWQgdG8gYmUg
b3ZlcnJpZGRlbiBieSBhIGJhY2stZW5kLgogICAgIHZpcnR1YWwgdm9pZCBtYXJrVW51c2VkVW5p
Zm9ybUxvY2F0aW9ucyhzdGQ6OnZlY3RvcjxnbDo6VmFyaWFibGVMb2NhdGlvbj4gKnVuaWZvcm1M
b2NhdGlvbnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0
ZDo6dmVjdG9yPGdsOjpTYW1wbGVyQmluZGluZz4gKnNhbXBsZXJCaW5kaW5ncykKICAgICB7Cklu
ZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNDUxNCkK
KysrIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMiBAQAorMjAxOC0wOC0wMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIEZpeCBzcGVsbGluZyBvZiAib3ZlcnJpZGRlbiIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODMxNQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNl
L3dlYnJ0Yy9wMnAvY2xpZW50L2Jhc2ljcG9ydGFsbG9jYXRvci5oOgorCiAyMDE4LTA3LTI0ICBU
aGliYXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BFXVtH
VEtdIEltcGxlbWVudCBQZWVyQ29ubmVjdGlvbiBBUEkgb24gdG9wIG9mIGxpYndlYnJ0YwpJbmRl
eDogU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvcDJwL2NsaWVudC9i
YXNpY3BvcnRhbGxvY2F0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3dlYnJ0Yy9wMnAvY2xpZW50L2Jhc2ljcG9ydGFsbG9jYXRvci5oCShyZXZp
c2lvbiAyMzQ1MTQpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0
Yy9wMnAvY2xpZW50L2Jhc2ljcG9ydGFsbG9jYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzks
NyArMTM5LDcgQEAgY2xhc3MgQmFzaWNQb3J0QWxsb2NhdG9yU2Vzc2lvbiA6IHB1YmxpYwogICAv
LyBuZXR3b3JrIChvciBhIHRpbWVvdXQgb2NjdXJzKSwgd2Ugd2lsbCBzdGFydCBhbGxvY2F0aW5n
IHBvcnRzLgogICB2aXJ0dWFsIHZvaWQgQ29uZmlnUmVhZHkoUG9ydENvbmZpZ3VyYXRpb24qIGNv
bmZpZyk7CiAKLSAgLy8gTWVzc2FnZUhhbmRsZXIuICBDYW4gYmUgb3ZlcnJpZGVuIGlmIG1lc3Nh
Z2UgSURzIGRvIG5vdCBjb25mbGljdC4KKyAgLy8gTWVzc2FnZUhhbmRsZXIuICBDYW4gYmUgb3Zl
cnJpZGRlbiBpZiBtZXNzYWdlIElEcyBkbyBub3QgY29uZmxpY3QuCiAgIHZvaWQgT25NZXNzYWdl
KHJ0Yzo6TWVzc2FnZSogbWVzc2FnZSkgb3ZlcnJpZGU7CiAKICBwcml2YXRlOgpJbmRleDogU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkocmV2aXNpb24gMjM0NTE0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTgtMDgtMDMgIEFsZXggQ2hyaXN0ZW5zZW4g
IDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBGaXggc3BlbGxpbmcgb2YgIm92
ZXJyaWRkZW4iCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODgzMTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1t
OgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5
TGFiZWxdKToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNz
aWJpbGl0eVZhbHVlXSk6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVu
c2lvbnNCYWNrZW5kLmg6CisgICAgICAgICogZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RWRpdGluZ1N0eWxlOjpyZW1vdmVTdHlsZUZyb21SdWxlc0FuZENvbnRl
eHQpOgorICAgICAgICAqIGluc3BlY3Rvci9Db21tYW5kTGluZUFQSU1vZHVsZVNvdXJjZS5qczoK
KyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3Lmg6CisgICAgICAgICogcGxhdGZvcm0vU2Ny
b2xsYWJsZUFyZWEuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXNlc3Npb24vTWVkaWFTZXNz
aW9uSW50ZXJydXB0aW9uUHJvdmlkZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRnJh
Z21lbnRlZEZsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRnJhZ21lbnRlZEZsb3c6
OmFkanVzdGVkUG9zaXRpb25SZWxhdGl2ZVRvT2Zmc2V0UGFyZW50IGNvbnN0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlz
dEJveC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcjo6ZHJhd0Nv
bnRlbnRJbnRvTWFza0ltYWdlKToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdFbGVtZW50Ojpsb2NhbENvb3JkaW5hdGVTcGFjZVRyYW5zZm9ybSBj
b25zdCk6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aENvbnRleHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHTGVuZ3RoQ29udGV4dDo6U1ZHTGVuZ3RoQ29udGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdMZW5ndGhDb250ZXh0Ojpjb252ZXJ0VmFsdWVUb1VzZXJVbml0cyBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGhDb250ZXh0OjpkZXRlcm1pbmVWaWV3cG9ydCBjb25z
dCk6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aENvbnRleHQuaDoKKwogMjAxOC0wOC0wMiAgVGlt
b3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgVGV4dCBzZWxlY3Rp
b24gY29sb3IgaXMgaGFyZCB0byBzZWUgaW4gZGFyayBtb2RlIHdlYiB2aWV3cy4KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVySU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9z
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tCShyZXZpc2lvbiAyMzQ1MTQpCisr
KyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlcklPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTEyMSw3ICsxMTIxLDcgQEAgLSAoTlNT
dHJpbmcgKilhY2Nlc3NpYmlsaXR5TGFiZWwKICAgICBpZiAoIVtzZWxmIF9wcmVwYXJlQWNjZXNz
aWJpbGl0eUNhbGxdKQogICAgICAgICByZXR1cm4gbmlsOwogCi0gICAgLy8gY2hlY2sgaWYgdGhl
IGxhYmVsIHdhcyBvdmVycmlkZW4KKyAgICAvLyBjaGVjayBpZiB0aGUgbGFiZWwgd2FzIG92ZXJy
aWRkZW4KICAgICBOU1N0cmluZyAqbGFiZWwgPSBbc3VwZXIgYWNjZXNzaWJpbGl0eUxhYmVsXTsK
ICAgICBpZiAobGFiZWwpCiAgICAgICAgIHJldHVybiBsYWJlbDsKQEAgLTEzOTYsNyArMTM5Niw3
IEBAIC0gKE5TU3RyaW5nICopYWNjZXNzaWJpbGl0eVZhbHVlCiAgICAgaWYgKCFbc2VsZiBfcHJl
cGFyZUFjY2Vzc2liaWxpdHlDYWxsXSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKLSAgICAv
LyBjaGVjayBpZiB0aGUgdmFsdWUgd2FzIG92ZXJyaWRlbgorICAgIC8vIGNoZWNrIGlmIHRoZSB2
YWx1ZSB3YXMgb3ZlcnJpZGRlbgogICAgIE5TU3RyaW5nICp2YWx1ZSA9IFtzdXBlciBhY2Nlc3Np
YmlsaXR5VmFsdWVdOwogICAgIGlmICh2YWx1ZSkKICAgICAgICAgcmV0dXJuIHZhbHVlOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbnNCYWNr
ZW5kLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29u
dGVudEV4dGVuc2lvbnNCYWNrZW5kLmgJKHJldmlzaW9uIDIzNDUxNCkKKysrIFNvdXJjZS9XZWJD
b3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25zQmFja2VuZC5oCSh3b3JraW5n
IGNvcHkpCkBAIC01NCw3ICs1NCw3IEBAIGNsYXNzIENvbnRlbnRFeHRlbnNpb25zQmFja2VuZCB7
CiBwdWJsaWM6CiAgICAgLy8gLSBSdWxlIG1hbmFnZW1lbnQgaW50ZXJmYWNlLiBUaGlzIGNhbiBi
ZSB1c2VkIGJ5IHVwcGVyIGxheWVyLgogCi0gICAgLy8gU2V0IGEgbGlzdCBvZiBydWxlcyBmb3Ig
YSBnaXZlbiBuYW1lLiBJZiB0aGVyZSB3ZXJlIGV4aXN0aW5nIHJ1bGVzIGZvciB0aGUgbmFtZSwg
dGhleSBhcmUgb3ZlcnJpZGVuLgorICAgIC8vIFNldCBhIGxpc3Qgb2YgcnVsZXMgZm9yIGEgZ2l2
ZW4gbmFtZS4gSWYgdGhlcmUgd2VyZSBleGlzdGluZyBydWxlcyBmb3IgdGhlIG5hbWUsIHRoZXkg
YXJlIG92ZXJyaWRkZW4uCiAgICAgLy8gVGhlIGlkZW50aWZpZXIgY2Fubm90IGJlIGVtcHR5Lgog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWRkQ29udGVudEV4dGVuc2lvbihjb25zdCBTdHJpbmcm
IGlkZW50aWZpZXIsIFJlZjxDb21waWxlZENvbnRlbnRFeHRlbnNpb24+LCBDb250ZW50RXh0ZW5z
aW9uOjpTaG91bGRDb21waWxlQ1NTID0gQ29udGVudEV4dGVuc2lvbjo6U2hvdWxkQ29tcGlsZUNT
Uzo6WWVzKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlbW92ZUNvbnRlbnRFeHRlbnNpb24o
Y29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdGluZ1N0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Vk
aXRpbmdTdHlsZS5jcHAJKHJldmlzaW9uIDIzNDUxNCkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdGluZ1N0eWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMxOCw3ICsxMzE4LDcgQEAg
dm9pZCBFZGl0aW5nU3R5bGU6OnJlbW92ZVN0eWxlRnJvbVJ1bGVzQQogICAgIGlmIChzdHlsZUZy
b21NYXRjaGVkUnVsZXMgJiYgIXN0eWxlRnJvbU1hdGNoZWRSdWxlcy0+aXNFbXB0eSgpKQogICAg
ICAgICBtX211dGFibGVTdHlsZSA9IGdldFByb3BlcnRpZXNOb3RJbigqbV9tdXRhYmxlU3R5bGUs
ICpzdHlsZUZyb21NYXRjaGVkUnVsZXMpOwogCi0gICAgLy8gMi4gUmVtb3ZlIHN0eWxlIHByZXNl
bnQgaW4gY29udGV4dCBhbmQgbm90IG92ZXJyaWRlbiBieSBtYXRjaGVkIHJ1bGVzLgorICAgIC8v
IDIuIFJlbW92ZSBzdHlsZSBwcmVzZW50IGluIGNvbnRleHQgYW5kIG5vdCBvdmVycmlkZGVuIGJ5
IG1hdGNoZWQgcnVsZXMuCiAgICAgUmVmUHRyPEVkaXRpbmdTdHlsZT4gY29tcHV0ZWRTdHlsZSA9
IEVkaXRpbmdTdHlsZTo6Y3JlYXRlKGNvbnRleHQsIEVkaXRpbmdQcm9wZXJ0aWVzSW5FZmZlY3Qp
OwogICAgIGlmIChjb21wdXRlZFN0eWxlLT5tX211dGFibGVTdHlsZSkgewogICAgICAgICBpZiAo
IWNvbXB1dGVkU3R5bGUtPm1fbXV0YWJsZVN0eWxlLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1By
b3BlcnR5QmFja2dyb3VuZENvbG9yKSkKQEAgLTEzMjgsNyArMTMyOCw3IEBAIHZvaWQgRWRpdGlu
Z1N0eWxlOjpyZW1vdmVTdHlsZUZyb21SdWxlc0EKICAgICAgICAgbV9tdXRhYmxlU3R5bGUgPSBn
ZXRQcm9wZXJ0aWVzTm90SW4oKm1fbXV0YWJsZVN0eWxlLCAqY29tcHV0ZWRTdHlsZS0+bV9tdXRh
YmxlU3R5bGUpOwogICAgIH0KIAotICAgIC8vIDMuIElmIHRoaXMgZWxlbWVudCBpcyBhIHNwYW4g
YW5kIGhhcyBkaXNwbGF5OiBpbmxpbmUgb3IgZmxvYXQ6IG5vbmUsIHJlbW92ZSB0aGVtIHVubGVz
cyB0aGV5IGFyZSBvdmVycmlkZW4gYnkgcnVsZXMuCisgICAgLy8gMy4gSWYgdGhpcyBlbGVtZW50
IGlzIGEgc3BhbiBhbmQgaGFzIGRpc3BsYXk6IGlubGluZSBvciBmbG9hdDogbm9uZSwgcmVtb3Zl
IHRoZW0gdW5sZXNzIHRoZXkgYXJlIG92ZXJyaWRkZW4gYnkgcnVsZXMuCiAgICAgLy8gVGhlc2Ug
cnVsZXMgYXJlIGFkZGVkIGJ5IHNlcmlhbGl6YXRpb24gY29kZSB0byB3cmFwIHRleHQgbm9kZXMu
CiAgICAgaWYgKGlzU3R5bGVTcGFuT3JTcGFuV2l0aE9ubHlTdHlsZUF0dHJpYnV0ZShlbGVtZW50
KSkgewogICAgICAgICBpZiAoIXN0eWxlRnJvbU1hdGNoZWRSdWxlcy0+Z2V0UHJvcGVydHlDU1NW
YWx1ZShDU1NQcm9wZXJ0eURpc3BsYXkpICYmIGlkZW50aWZpZXJGb3JTdHlsZVByb3BlcnR5KCpt
X211dGFibGVTdHlsZSwgQ1NTUHJvcGVydHlEaXNwbGF5KSA9PSBDU1NWYWx1ZUlubGluZSkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSU1vZHVsZVNvdXJjZS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElN
b2R1bGVTb3VyY2UuanMJKHJldmlzaW9uIDIzNDUxNCkKKysrIFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Db21tYW5kTGluZUFQSU1vZHVsZVNvdXJjZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMzAs
NyArMzAsNyBAQAogCiAoZnVuY3Rpb24gKEluamVjdGVkU2NyaXB0SG9zdCwgaW5zcGVjdGVkV2lu
ZG93LCBpbmplY3RlZFNjcmlwdElkLCBpbmplY3RlZFNjcmlwdCwgUmVtb3RlT2JqZWN0LCBDb21t
YW5kTGluZUFQSUhvc3QpIHsKIAotLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5vcmcvYi8xNTIy
OTQ+IFdlYiBJbnNwZWN0b3I6IFBhcnNlIEluamVjdGVkU2NyaXB0U291cmNlIGFzIGEgYnVpbHQt
aW4gdG8gZ2V0IGd1YXJhbnRlZWQgbm9uLXVzZXItb3ZlcnJpZGVuIGJ1aWx0LWlucworLy8gRklY
TUU6IDxodHRwczovL3dlYmtpdC5vcmcvYi8xNTIyOTQ+IFdlYiBJbnNwZWN0b3I6IFBhcnNlIElu
amVjdGVkU2NyaXB0U291cmNlIGFzIGEgYnVpbHQtaW4gdG8gZ2V0IGd1YXJhbnRlZWQgbm9uLXVz
ZXItb3ZlcnJpZGRlbiBidWlsdC1pbnMKIAogZnVuY3Rpb24gYmluZChmdW5jLCB0aGlzT2JqZWN0
LCAuLi5vdXRlckFyZ3MpCiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxW
aWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5o
CShyZXZpc2lvbiAyMzQ1MTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3
LmgJKHdvcmtpbmcgY29weSkKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgogCiAgICAgSW50UG9p
bnQgbG9jYXRpb25PZkNvbnRlbnRzKCkgY29uc3Q7CiAKLSAgICAvLyBOT1RFOiBUaGlzIHNob3Vs
ZCBvbmx5IGJlIGNhbGxlZCBieSB0aGUgb3ZlcnJpZGVuIHNldFNjcm9sbE9mZnNldCBmcm9tIFNj
cm9sbGFibGVBcmVhLgorICAgIC8vIE5PVEU6IFRoaXMgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGJ5
IHRoZSBvdmVycmlkZGVuIHNldFNjcm9sbE9mZnNldCBmcm9tIFNjcm9sbGFibGVBcmVhLgogICAg
IHZpcnR1YWwgdm9pZCBzY3JvbGxUbyhjb25zdCBTY3JvbGxQb3NpdGlvbiYpOwogCiAgICAgLy8g
VGhlIHdpbmRvdyB0aGF0cyBob3N0cyB0aGUgU2Nyb2xsVmlldy4gVGhlIFNjcm9sbFZpZXcgd2ls
bCBjb21tdW5pY2F0ZSBzY3JvbGxzIGFuZCByZXBhaW50cyB0byB0aGUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAkocmV2aXNpb24gMjM0NTE0KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAkod29ya2luZyBjb3B5KQpAQCAt
MzQ0LDcgKzM0NCw3IEBAIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFNjcm9sbEFuaW1hdG9y
OwogICAgIHZvaWQgc2V0U2Nyb2xsT2Zmc2V0RnJvbUFuaW1hdGlvbihjb25zdCBTY3JvbGxPZmZz
ZXQmKTsKIAotICAgIC8vIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIG92ZXJyaWRlbiBieSBzdWJj
bGFzc2VzIHRvIHBlcmZvcm0gdGhlIGFjdHVhbAorICAgIC8vIFRoaXMgZnVuY3Rpb24gc2hvdWxk
IGJlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3NlcyB0byBwZXJmb3JtIHRoZSBhY3R1YWwKICAgICAv
LyBzY3JvbGwgb2YgdGhlIGNvbnRlbnQuCiAgICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbE9mZnNl
dChjb25zdCBTY3JvbGxPZmZzZXQmKSA9IDA7CiAgICAgU2Nyb2xsU25hcE9mZnNldHNJbmZvPExh
eW91dFVuaXQ+JiBlbnN1cmVTbmFwT2Zmc2V0c0luZm8oKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25JbnRlcnJ1cHRpb25Qcm92aWRlci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc2Vzc2lvbi9NZWRp
YVNlc3Npb25JbnRlcnJ1cHRpb25Qcm92aWRlci5oCShyZXZpc2lvbiAyMzQ1MTQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uSW50ZXJydXB0aW9u
UHJvdmlkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQCBwdWJsaWM6CiAgICAg
ZXhwbGljaXQgTWVkaWFTZXNzaW9uSW50ZXJydXB0aW9uUHJvdmlkZXIoTWVkaWFTZXNzaW9uSW50
ZXJydXB0aW9uUHJvdmlkZXJDbGllbnQmKTsKICAgICB2aXJ0dWFsIH5NZWRpYVNlc3Npb25JbnRl
cnJ1cHRpb25Qcm92aWRlcigpOwogCi0gICAgLy8gVG8gYmUgb3ZlcnJpZGVuIGJ5IHN1YmNsYXNz
ZXMuCisgICAgLy8gVG8gYmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzLgogICAgIHZpcnR1YWwg
dm9pZCBiZWdpbkxpc3RlbmluZ0ZvckludGVycnVwdGlvbnMoKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIHN0b3BMaXN0ZW5pbmdGb3JJbnRlcnJ1cHRpb25zKCkgPSAwOwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5jcHAJKHJldmlz
aW9uIDIzNDUxNCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVk
Rmxvdy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxMSw3ICszMTEsNyBAQCBMYXlvdXRQb2ludCBS
ZW5kZXJGcmFnbWVudGVkRmxvdzo6YWRqdXN0CiAgICAgICAgICAgICBMYXlvdXRVbml0IHRvcFJl
bGF0aXZlVG9GcmFnbWVudCA9IHRvcCAtIGZyYWdtZW50TG9naWNhbFRvcDsKICAgICAgICAgICAg
IHJlZmVyZW5jZVBvaW50LnNldFkoc3RhcnRGcmFnbWVudEJveC0+b2Zmc2V0VG9wKCkgKyB0b3BS
ZWxhdGl2ZVRvRnJhZ21lbnQpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBTaW5jZSB0
aGUgdG9wIGhhcyBiZWVuIG92ZXJyaWRlbiwgY2hlY2sgaWYgdGhlCisgICAgICAgICAgICAvLyBT
aW5jZSB0aGUgdG9wIGhhcyBiZWVuIG92ZXJyaWRkZW4sIGNoZWNrIGlmIHRoZQogICAgICAgICAg
ICAgLy8gcmVsYXRpdmUvc3RpY2t5IHBvc2l0aW9uaW5nIG11c3QgYmUgcmVjb25zaWRlcmVkLgog
ICAgICAgICAgICAgaWYgKGJveE1vZGVsT2JqZWN0LmlzUmVsYXRpdmVseVBvc2l0aW9uZWQoKSkK
ICAgICAgICAgICAgICAgICByZWZlcmVuY2VQb2ludC5tb3ZlKDAsIGJveE1vZGVsT2JqZWN0LnJl
bGF0aXZlUG9zaXRpb25PZmZzZXQoKS5oZWlnaHQoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuaAkocmV2aXNpb24gMjM0NTE0KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTkzMCw3ICs5MzAsNyBA
QCBwcml2YXRlOgogICAgIC8vIFJlY3RhbmdsZSBlbmNvbXBhc3NpbmcgdGhlIHNjcm9sbCBjb3Ju
ZXIgYW5kIHJlc2l6ZXIgcmVjdC4KICAgICBMYXlvdXRSZWN0IHNjcm9sbENvcm5lckFuZFJlc2l6
ZXJSZWN0KCkgY29uc3Q7CiAKLSAgICAvLyBOT1RFOiBUaGlzIHNob3VsZCBvbmx5IGJlIGNhbGxl
ZCBieSB0aGUgb3ZlcnJpZGVuIHNldFNjcm9sbE9mZnNldCBmcm9tIFNjcm9sbGFibGVBcmVhLgor
ICAgIC8vIE5PVEU6IFRoaXMgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGJ5IHRoZSBvdmVycmlkZGVu
IHNldFNjcm9sbE9mZnNldCBmcm9tIFNjcm9sbGFibGVBcmVhLgogICAgIHZvaWQgc2Nyb2xsVG8o
Y29uc3QgU2Nyb2xsUG9zaXRpb24mKTsKICAgICB2b2lkIHVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJz
QWZ0ZXJTY3JvbGwoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxp
c3RCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlz
dEJveC5oCShyZXZpc2lvbiAyMzQ1MTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGlzdEJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDEsNyArMTQxLDcgQEAgcHJpdmF0ZToK
ICAgICBib29sIHVzZXNNb2NrU2Nyb2xsQW5pbWF0b3IoKSBjb25zdCBvdmVycmlkZTsKICAgICB2
b2lkIGxvZ01vY2tTY3JvbGxBbmltYXRvck1lc3NhZ2UoY29uc3QgU3RyaW5nJikgY29uc3Qgb3Zl
cnJpZGU7CiAKLSAgICAvLyBOT1RFOiBUaGlzIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBieSB0aGUg
b3ZlcnJpZGVuIHNldFNjcm9sbE9mZnNldCBmcm9tIFNjcm9sbGFibGVBcmVhLgorICAgIC8vIE5P
VEU6IFRoaXMgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGJ5IHRoZSBvdmVycmlkZGVuIHNldFNjcm9s
bE9mZnNldCBmcm9tIFNjcm9sbGFibGVBcmVhLgogICAgIHZvaWQgc2Nyb2xsVG8oaW50IG5ld09m
ZnNldCk7CiAKICAgICB1c2luZyBQYWludEZ1bmN0aW9uID0gV1RGOjpGdW5jdGlvbjx2b2lkKFBh
aW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50JiwgaW50IGxpc3RJdGVtSW5kZXgpPjsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jl
c291cmNlQ2xpcHBlci5jcHAJKHJldmlzaW9uIDIzNDUxNCkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjI4LDcgKzIyOCw3IEBAIGJvb2wgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjpkcmF3Q29u
dGUKIAogICAgICAgICAvLyBJbiB0aGUgY2FzZSBvZiBhIDx1c2U+IGVsZW1lbnQsIHdlIG9idGFp
bmVkIGl0cyByZW5kZXJlcmUgYWJvdmUsIHRvIHJldHJpZXZlIGl0cyBjbGlwUnVsZS4KICAgICAg
ICAgLy8gV2UgaGF2ZSB0byBwYXNzIHRoZSA8dXNlPiByZW5kZXJlciBpdHNlbGYgdG8gcmVuZGVy
U3VidHJlZVRvSW1hZ2VCdWZmZXIoKSB0byBhcHBseSBpdCdzIHgveS90cmFuc2Zvcm0vZXRjLiB2
YWx1ZXMgd2hlbiByZW5kZXJpbmcuCi0gICAgICAgIC8vIFNvIGlmIGlzVXNlRWxlbWVudCBpcyB0
cnVlLCByZWZldGNoIHRoZSBjaGlsZE5vZGUtPnJlbmRlcmVyKCksIGFzIHJlbmRlcmVyIGdvdCBv
dmVycmlkZW4gYWJvdmUuCisgICAgICAgIC8vIFNvIGlmIGlzVXNlRWxlbWVudCBpcyB0cnVlLCBy
ZWZldGNoIHRoZSBjaGlsZE5vZGUtPnJlbmRlcmVyKCksIGFzIHJlbmRlcmVyIGdvdCBvdmVycmlk
ZGVuIGFib3ZlLgogICAgICAgICBTVkdSZW5kZXJpbmdDb250ZXh0OjpyZW5kZXJTdWJ0cmVlVG9J
bWFnZUJ1ZmZlcihjbGlwcGVyTWFza0ltYWdlLmdldCgpLCBpc1VzZUVsZW1lbnQgPyAqY2hpbGQu
cmVuZGVyZXIoKSA6ICpyZW5kZXJlciwgbWFza0NvbnRlbnRUcmFuc2Zvcm1hdGlvbik7CiAgICAg
fQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCShyZXZpc2lvbiAyMzQ1MTQpCisr
KyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEw
NjMsNyArMTA2Myw3IEBAIHZvaWQgU1ZHRWxlbWVudDo6c2V0SW5zdGFuY2VVcGRhdGVzQmxvY2sK
IAogQWZmaW5lVHJhbnNmb3JtIFNWR0VsZW1lbnQ6OmxvY2FsQ29vcmRpbmF0ZVNwYWNlVHJhbnNm
b3JtKFNWR0xvY2F0YWJsZTo6Q1RNU2NvcGUpIGNvbnN0CiB7Ci0gICAgLy8gVG8gYmUgb3ZlcnJp
ZGVuIGJ5IFNWR0dyYXBoaWNzRWxlbWVudCAob3IgYXMgc3BlY2lhbCBjYXNlIFNWR1RleHRFbGVt
ZW50IGFuZCBTVkdQYXR0ZXJuRWxlbWVudCkKKyAgICAvLyBUbyBiZSBvdmVycmlkZGVuIGJ5IFNW
R0dyYXBoaWNzRWxlbWVudCAob3IgYXMgc3BlY2lhbCBjYXNlIFNWR1RleHRFbGVtZW50IGFuZCBT
VkdQYXR0ZXJuRWxlbWVudCkKICAgICByZXR1cm4gQWZmaW5lVHJhbnNmb3JtKCk7CiB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGhDb250ZXh0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoQ29udGV4dC5jcHAJKHJldmlzaW9uIDIzNDUx
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGhDb250ZXh0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDIsNyArNDIsNyBAQCBTVkdMZW5ndGhDb250ZXh0OjpTVkdMZW5ndGhDb250ZXh0
KGNvbnN0CiAKIFNWR0xlbmd0aENvbnRleHQ6OlNWR0xlbmd0aENvbnRleHQoY29uc3QgU1ZHRWxl
bWVudCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiB2aWV3cG9ydCkKICAgICA6IG1fY29udGV4
dChjb250ZXh0KQotICAgICwgbV9vdmVycmlkZW5WaWV3cG9ydCh2aWV3cG9ydCkKKyAgICAsIG1f
b3ZlcnJpZGRlblZpZXdwb3J0KHZpZXdwb3J0KQogewogfQogCkBAIC0xMTMsNyArMTEzLDcgQEAg
ZmxvYXQgU1ZHTGVuZ3RoQ29udGV4dDo6dmFsdWVGb3JMZW5ndGgoYwogRXhjZXB0aW9uT3I8Zmxv
YXQ+IFNWR0xlbmd0aENvbnRleHQ6OmNvbnZlcnRWYWx1ZVRvVXNlclVuaXRzKGZsb2F0IHZhbHVl
LCBTVkdMZW5ndGhNb2RlIG1vZGUsIFNWR0xlbmd0aFR5cGUgZnJvbVVuaXQpIGNvbnN0CiB7CiAg
ICAgLy8gSWYgdGhlIFNWR0xlbmd0aENvbnRleHQgY2FycmllcyBhIGN1c3RvbSB2aWV3cG9ydCwg
Zm9yY2UgcmVzb2x2aW5nIGFnYWluc3QgaXQuCi0gICAgaWYgKCFtX292ZXJyaWRlblZpZXdwb3J0
LmlzRW1wdHkoKSkgeworICAgIGlmICghbV9vdmVycmlkZGVuVmlld3BvcnQuaXNFbXB0eSgpKSB7
CiAgICAgICAgIC8vIDEwMCUgPSAxMDAuMCBpbnN0ZWFkIG9mIDEuMCBmb3IgaGlzdG9yaWNhbCBy
ZWFzb25zLCB0aGlzIGNvdWxkIGV2ZW50dWFsbHkgYmUgY2hhbmdlZAogICAgICAgICBpZiAoZnJv
bVVuaXQgPT0gTGVuZ3RoVHlwZVBlcmNlbnRhZ2UpCiAgICAgICAgICAgICB2YWx1ZSAvPSAxMDA7
CkBAIC0yODgsOSArMjg4LDkgQEAgYm9vbCBTVkdMZW5ndGhDb250ZXh0OjpkZXRlcm1pbmVWaWV3
cG9ydAogICAgIGlmICghbV9jb250ZXh0KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAv
LyBJZiBhbiBvdmVycmlkZW4gdmlld3BvcnQgaXMgZ2l2ZW4sIGl0IGhhcyBwcmVjZWRlbmNlLgot
ICAgIGlmICghbV9vdmVycmlkZW5WaWV3cG9ydC5pc0VtcHR5KCkpIHsKLSAgICAgICAgdmlld3Bv
cnRTaXplID0gbV9vdmVycmlkZW5WaWV3cG9ydC5zaXplKCk7CisgICAgLy8gSWYgYW4gb3ZlcnJp
ZGRlbiB2aWV3cG9ydCBpcyBnaXZlbiwgaXQgaGFzIHByZWNlZGVuY2UuCisgICAgaWYgKCFtX292
ZXJyaWRkZW5WaWV3cG9ydC5pc0VtcHR5KCkpIHsKKyAgICAgICAgdmlld3BvcnRTaXplID0gbV9v
dmVycmlkZGVuVmlld3BvcnQuc2l6ZSgpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGhDb250ZXh0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aENvbnRleHQuaAkocmV2aXNpb24gMjM0NTE0
KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aENvbnRleHQuaAkod29ya2luZyBjb3B5
KQpAQCAtODMsNyArODMsNyBAQCBwcml2YXRlOgogICAgIEV4Y2VwdGlvbk9yPGZsb2F0PiBjb252
ZXJ0VmFsdWVGcm9tRVhTVG9Vc2VyVW5pdHMoZmxvYXQgdmFsdWUpIGNvbnN0OwogCiAgICAgY29u
c3QgU1ZHRWxlbWVudCogbV9jb250ZXh0OwotICAgIEZsb2F0UmVjdCBtX292ZXJyaWRlblZpZXdw
b3J0OworICAgIEZsb2F0UmVjdCBtX292ZXJyaWRkZW5WaWV3cG9ydDsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkocmV2aXNpb24gMjM0
NTE0KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIzIEBACisyMDE4LTA4LTAzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVu
c2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgRml4IHNwZWxsaW5nIG9mICJvdmVycmlkZGVuIgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4MzE1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL0NvbnRlbnRCcm93c2VyVGFiQ29udGVudFZpZXcuanM6CisgICAgICAgIChX
SS5Db250ZW50QnJvd3NlclRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS50cmVlRWxlbWVudEZvclJl
cHJlc2VudGVkT2JqZWN0KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0dlbmVyYWxU
cmVlRWxlbWVudC5qczoKKyAgICAgICAgKFdJLkdlbmVyYWxUcmVlRWxlbWVudC5wcm90b3R5cGUu
b25kZXRhY2gpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTmF2aWdhdGlvbkJhci5q
czoKKyAgICAgICAgKFdJLk5hdmlnYXRpb25CYXIucHJvdG90eXBlLmdldCBzaXplc1RvRml0KToK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanM6
CisgICAgICAgIChXSS5OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZS5zaG91bGRGaWx0
ZXJQb3B1bGF0ZSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpz
OgorICAgICAgICAoV0kuVGV4dEVkaXRvci5wcm90b3R5cGUuY2FuQmVGb3JtYXR0ZWQpOgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVHJlZUVsZW1lbnQuanM6CisgICAgICAgIChXSS5U
cmVlRWxlbWVudC5wcm90b3R5cGUub25wb3B1bGF0ZSk6CisKIDIwMTgtMDgtMDEgIE5pa2l0YSBW
YXNpbHlldiAgPG52YXNpbHlldkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
RGFyayBNb2RlOiBTb3VyY2VDb2RlVGV4dEVkaXRvciB0aHJlYWQgaW5kaWNhdG9yIHdpZGdldCBp
cyB0b28gbGlnaHQKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0NvbnRlbnRCcm93c2VyVGFiQ29udGVudFZpZXcuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudEJyb3dzZXJUYWJDb250
ZW50Vmlldy5qcwkocmV2aXNpb24gMjM0NTE0KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudEJyb3dzZXJUYWJDb250ZW50Vmlldy5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMjQyLDcgKzI0Miw3IEBAIFdJLkNvbnRlbnRCcm93c2VyVGFiQ29udGVudFZp
ZXcgPSBjbGFzcyAKIAogICAgIHRyZWVFbGVtZW50Rm9yUmVwcmVzZW50ZWRPYmplY3QocmVwcmVz
ZW50ZWRPYmplY3QpCiAgICAgewotICAgICAgICAvLyBDYW4gYmUgb3ZlcnJpZGVuIGJ5IHN1YmNs
YXNzZXMuCisgICAgICAgIC8vIENhbiBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCiAKICAg
ICAgICAgaWYgKCF0aGlzLm5hdmlnYXRpb25TaWRlYmFyUGFuZWwpCiAgICAgICAgICAgICByZXR1
cm4gbnVsbDsKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0dlbmVyYWxUcmVlRWxlbWVudC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9HZW5lcmFsVHJlZUVsZW1lbnQuanMJKHJldmlzaW9uIDIz
NDUxNCkKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dlbmVy
YWxUcmVlRWxlbWVudC5qcwkod29ya2luZyBjb3B5KQpAQCAtMjEyLDcgKzIxMiw3IEBAIFdJLkdl
bmVyYWxUcmVlRWxlbWVudCA9IGNsYXNzIEdlbmVyYWxUcmUKIAogICAgIG9uZGV0YWNoKCkKICAg
ICB7Ci0gICAgICAgIC8vIE92ZXJyaWRlbiBieSBzdWJjbGFzc2VzLgorICAgICAgICAvLyBPdmVy
cmlkZGVuIGJ5IHN1YmNsYXNzZXMuCiAgICAgfQogCiAgICAgb25yZXZlYWwoKQpJbmRleDogU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmF2aWdhdGlvbkJhci5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9O
YXZpZ2F0aW9uQmFyLmpzCShyZXZpc2lvbiAyMzQ1MTQpCisrKyBTb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9uQmFyLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0xNzEsNyArMTcxLDcgQEAgV0kuTmF2aWdhdGlvbkJhciA9IGNsYXNzIE5hdmlnYXRpb25CYXIg
ZQogCiAgICAgZ2V0IHNpemVzVG9GaXQoKQogICAgIHsKLSAgICAgICAgLy8gQ2FuIGJlIG92ZXJy
aWRlbiBieSBzdWJjbGFzc2VzLgorICAgICAgICAvLyBDYW4gYmUgb3ZlcnJpZGRlbiBieSBzdWJj
bGFzc2VzLgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMJKHJldmlzaW9uIDIzNDUxNCkKKysrIFNvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25TaWRlYmFyUGFuZWwu
anMJKHdvcmtpbmcgY29weSkKQEAgLTMwOCw3ICszMDgsNyBAQCBXSS5OYXZpZ2F0aW9uU2lkZWJh
clBhbmVsID0gY2xhc3MgTmF2aWdhCiAKICAgICBzaG91bGRGaWx0ZXJQb3B1bGF0ZSgpCiAgICAg
ewotICAgICAgICAvLyBPdmVycmlkZW4gYnkgc3ViY2xhc3NlcyBpZiBuZWVkZWQuCisgICAgICAg
IC8vIE92ZXJyaWRkZW4gYnkgc3ViY2xhc3NlcyBpZiBuZWVkZWQuCiAgICAgICAgIHJldHVybiB0
aGlzLmhhc0N1c3RvbUZpbHRlcnMoKTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRFZGl0b3IuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dEVkaXRvci5qcwkocmV2
aXNpb24gMjM0NTE0KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGV4dEVkaXRvci5qcwkod29ya2luZyBjb3B5KQpAQCAtMTk2LDcgKzE5Niw3IEBAIFdJLlRl
eHRFZGl0b3IgPSBjbGFzcyBUZXh0RWRpdG9yIGV4dGVuZHMKIAogICAgIGNhbkJlRm9ybWF0dGVk
KCkKICAgICB7Ci0gICAgICAgIC8vIENhbiBiZSBvdmVycmlkZW4gYnkgc3ViY2xhc3Nlcy4KKyAg
ICAgICAgLy8gQ2FuIGJlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3Nlcy4KICAgICAgICAgcmV0dXJu
IHRoaXMuaGFzRm9ybWF0dGVyKCk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlRWxlbWVudC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlRWxlbWVudC5qcwkocmV2
aXNpb24gMjM0NTE0KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVHJlZUVsZW1lbnQuanMJKHdvcmtpbmcgY29weSkKQEAgLTU4Niw3ICs1ODYsNyBAQCBXSS5U
cmVlRWxlbWVudCA9IGNsYXNzIFRyZWVFbGVtZW50IGV4dGVuCiAKICAgICBvbnBvcHVsYXRlKCkK
ICAgICB7Ci0gICAgICAgIC8vIE92ZXJyaWRlbiBieSBzdWJjbGFzc2VzLgorICAgICAgICAvLyBP
dmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCiAgICAgfQogCiAgICAgdHJhdmVyc2VOZXh0VHJlZUVs
ZW1lbnQoc2tpcFVucmV2ZWFsZWQsIHN0YXlXaXRoaW4sIGRvbnRQb3B1bGF0ZSwgaW5mbykKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyMzQ1MTkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE4LTA4LTAzICBBbGV4IENocmlzdGVu
c2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgRml4IHNwZWxsaW5nIG9m
ICJvdmVycmlkZGVuIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTg4MzE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBQbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW06CisgICAgICAgIChJUEM6
OkNvbm5lY3Rpb246OnJlY2VpdmVTb3VyY2VFdmVudEhhbmRsZXIpOgorICAgICAgICAqIFNoYXJl
ZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5j
ZXNTdG9yZTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXNT
dG9yZTo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6dmFsdWVGb3JLZXkpOgorICAgICAgICAo
V2ViS2l0OjpzZXRWYWx1ZUZvcktleSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
U3RvcmU6OnNldFN0cmluZ1ZhbHVlRm9yS2V5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVy
ZW5jZXNTdG9yZTo6Z2V0U3RyaW5nVmFsdWVGb3JLZXkgY29uc3QpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpzZXRCb29sVmFsdWVGb3JLZXkpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpnZXRCb29sVmFsdWVGb3JLZXkgY29uc3QpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpzZXRVSW50MzJWYWx1ZUZvcktleSk6
CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OmdldFVJbnQzMlZhbHVlRm9y
S2V5IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6c2V0RG91
YmxlVmFsdWVGb3JLZXkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpn
ZXREb3VibGVWYWx1ZUZvcktleSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVu
Y2VzU3RvcmU6OnNldE92ZXJyaWRlRGVmYXVsdHNTdHJpbmdWYWx1ZUZvcktleSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OnNldE92ZXJyaWRlRGVmYXVsdHNCb29sVmFs
dWVGb3JLZXkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpzZXRPdmVy
cmlkZURlZmF1bHRzVUludDMyVmFsdWVGb3JLZXkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVm
ZXJlbmNlc1N0b3JlOjpzZXRPdmVycmlkZURlZmF1bHRzRG91YmxlVmFsdWVGb3JLZXkpOgorICAg
ICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmg6CisgICAgICAgICogVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZp
ZXcgZHJhZ0ludGVyYWN0aW9uOnByZXZpZXdGb3JMaWZ0aW5nSXRlbTpzZXNzaW9uOl0pOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IGRyYWdJbnRlcmFjdGlvbjpwcmV2aWV3Rm9yQ2FuY2VsbGlu
Z0l0ZW06d2l0aERlZmF1bHQ6XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1Njcm9sbFZp
ZXcubW06CisgICAgICAgICgtW1dLU2Nyb2xsVmlldyBfc3lzdGVtQ29udGVudEluc2V0XSk6CisK
IDIwMTgtMDgtMDIgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBGaXggc29tZSBidWlsZHMgYWZ0ZXIgcjIzNDUxNgpJbmRleDogU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0JKHJldmlzaW9uIDIz
NDUxNikKKysrIFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC01ODIsNyArNTgyLDcgQEAgdm9pZCBDb25uZWN0aW9uOjpyZWNl
aXZlU291cmNlRXZlbnRIYW5kbAogI2lmICFQTEFURk9STShJT1MpCiAgICAgaWYgKGRlY29kZXIt
Pm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSAiSVBDIiAmJiBkZWNvZGVyLT5tZXNzYWdlTmFtZSgp
ID09ICJTZXRFeGNlcHRpb25Qb3J0IikgewogICAgICAgICBpZiAobV9pc1NlcnZlcikgewotICAg
ICAgICAgICAgLy8gU2VydmVyIGNvbm5lY3Rpb25zIGFyZW4ndCBzdXBwb3NlZCB0byBoYXZlIHRo
ZWlyIGV4Y2VwdGlvbiBwb3J0cyBvdmVycmlkZW4uIFRyZWF0IHRoaXMgYXMgYW4gaW52YWxpZCBt
ZXNzYWdlLgorICAgICAgICAgICAgLy8gU2VydmVyIGNvbm5lY3Rpb25zIGFyZW4ndCBzdXBwb3Nl
ZCB0byBoYXZlIHRoZWlyIGV4Y2VwdGlvbiBwb3J0cyBvdmVycmlkZGVuLiBUcmVhdCB0aGlzIGFz
IGFuIGludmFsaWQgbWVzc2FnZS4KICAgICAgICAgICAgIFN0cmluZ1JlZmVyZW5jZSBtZXNzYWdl
UmVjZWl2ZXJOYW1lUmVmZXJlbmNlID0gZGVjb2Rlci0+bWVzc2FnZVJlY2VpdmVyTmFtZSgpOwog
ICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2VSZWNlaXZlck5hbWUoU3RyaW5nKG1lc3NhZ2VSZWNl
aXZlck5hbWVSZWZlcmVuY2UuZGF0YSgpLCBtZXNzYWdlUmVjZWl2ZXJOYW1lUmVmZXJlbmNlLnNp
emUoKSkpOwogICAgICAgICAgICAgU3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VOYW1lUmVmZXJlbmNl
ID0gZGVjb2Rlci0+bWVzc2FnZU5hbWUoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByZWZlcmVuY2VzU3RvcmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwCShyZXZpc2lvbiAyMzQ1MTYpCisrKyBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDks
NyArNDksNyBAQCBXZWJQcmVmZXJlbmNlc1N0b3JlOjpXZWJQcmVmZXJlbmNlc1N0b3JlCiB2b2lk
IFdlYlByZWZlcmVuY2VzU3RvcmU6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0
CiB7CiAgICAgZW5jb2RlciA8PCBtX3ZhbHVlczsKLSAgICBlbmNvZGVyIDw8IG1fb3ZlcnJpZGVu
RGVmYXVsdHM7CisgICAgZW5jb2RlciA8PCBtX292ZXJyaWRkZW5EZWZhdWx0czsKIH0KIAogYm9v
bCBXZWJQcmVmZXJlbmNlc1N0b3JlOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJQ
cmVmZXJlbmNlc1N0b3JlJiByZXN1bHQpCkBAIC02MCwxMSArNjAsMTEgQEAgYm9vbCBXZWJQcmVm
ZXJlbmNlc1N0b3JlOjpkZWNvZGUoSVBDOjpEZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
cmVzdWx0Lm1fdmFsdWVzID0gV1RGTW92ZSgqdmFsdWVzKTsKIAotICAgIHN0ZDo6b3B0aW9uYWw8
SGFzaE1hcDxTdHJpbmcsIFZhbHVlPj4gb3ZlcnJpZGVuRGVmYXVsdHM7Ci0gICAgZGVjb2RlciA+
PiBvdmVycmlkZW5EZWZhdWx0czsKLSAgICBpZiAoIW92ZXJyaWRlbkRlZmF1bHRzKQorICAgIHN0
ZDo6b3B0aW9uYWw8SGFzaE1hcDxTdHJpbmcsIFZhbHVlPj4gb3ZlcnJpZGRlbkRlZmF1bHRzOwor
ICAgIGRlY29kZXIgPj4gb3ZlcnJpZGRlbkRlZmF1bHRzOworICAgIGlmICghb3ZlcnJpZGRlbkRl
ZmF1bHRzKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmVzdWx0Lm1fb3ZlcnJpZGVuRGVm
YXVsdHMgPSBXVEZNb3ZlKCpvdmVycmlkZW5EZWZhdWx0cyk7CisgICAgcmVzdWx0Lm1fb3ZlcnJp
ZGRlbkRlZmF1bHRzID0gV1RGTW92ZSgqb3ZlcnJpZGRlbkRlZmF1bHRzKTsKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIApAQCAtNzksMTUgKzc5LDE1IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXNTdG9yZTo6
cmVtb3ZlVGVzdFJ1bm4KIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgTWFwcGVkVHlwZT4KLXN0YXRp
YyBNYXBwZWRUeXBlIHZhbHVlRm9yS2V5KGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVl
TWFwJiB2YWx1ZXMsIGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlTWFwJiBvdmVycmlk
ZW5EZWZhdWx0cywgY29uc3QgU3RyaW5nJiBrZXkpCitzdGF0aWMgTWFwcGVkVHlwZSB2YWx1ZUZv
cktleShjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZU1hcCYgdmFsdWVzLCBjb25zdCBX
ZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZU1hcCYgb3ZlcnJpZGRlbkRlZmF1bHRzLCBjb25zdCBT
dHJpbmcmIGtleSkKIHsKICAgICBhdXRvIHZhbHVlc0l0ID0gdmFsdWVzLmZpbmQoa2V5KTsKICAg
ICBpZiAodmFsdWVzSXQgIT0gdmFsdWVzLmVuZCgpICYmIFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8
TWFwcGVkVHlwZT4odmFsdWVzSXQtPnZhbHVlKSkKICAgICAgICAgcmV0dXJuIFdURjo6Z2V0PE1h
cHBlZFR5cGU+KHZhbHVlc0l0LT52YWx1ZSk7CiAKLSAgICBhdXRvIG92ZXJyaWRlbkRlZmF1bHRz
SXQgPSBvdmVycmlkZW5EZWZhdWx0cy5maW5kKGtleSk7Ci0gICAgaWYgKG92ZXJyaWRlbkRlZmF1
bHRzSXQgIT0gb3ZlcnJpZGVuRGVmYXVsdHMuZW5kKCkgJiYgV1RGOjpob2xkc19hbHRlcm5hdGl2
ZTxNYXBwZWRUeXBlPihvdmVycmlkZW5EZWZhdWx0c0l0LT52YWx1ZSkpCi0gICAgICAgIHJldHVy
biBXVEY6OmdldDxNYXBwZWRUeXBlPihvdmVycmlkZW5EZWZhdWx0c0l0LT52YWx1ZSk7CisgICAg
YXV0byBvdmVycmlkZGVuRGVmYXVsdHNJdCA9IG92ZXJyaWRkZW5EZWZhdWx0cy5maW5kKGtleSk7
CisgICAgaWYgKG92ZXJyaWRkZW5EZWZhdWx0c0l0ICE9IG92ZXJyaWRkZW5EZWZhdWx0cy5lbmQo
KSAmJiBXVEY6OmhvbGRzX2FsdGVybmF0aXZlPE1hcHBlZFR5cGU+KG92ZXJyaWRkZW5EZWZhdWx0
c0l0LT52YWx1ZSkpCisgICAgICAgIHJldHVybiBXVEY6OmdldDxNYXBwZWRUeXBlPihvdmVycmlk
ZGVuRGVmYXVsdHNJdC0+dmFsdWUpOwogCiAgICAgYXV0byYgZGVmYXVsdHNNYXAgPSBXZWJQcmVm
ZXJlbmNlc1N0b3JlOjpkZWZhdWx0cygpOwogICAgIGF1dG8gZGVmYXVsdHNJdCA9IGRlZmF1bHRz
TWFwLmZpbmQoa2V5KTsKQEAgLTk4LDkgKzk4LDkgQEAgc3RhdGljIE1hcHBlZFR5cGUgdmFsdWVG
b3JLZXkoY29uc3QgV2ViUAogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBNYXBwZWRUeXBlPgotc3Rh
dGljIGJvb2wgc2V0VmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWVNYXAmIG1h
cCwgY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWVNYXAmIG92ZXJyaWRlbkRlZmF1bHRz
LCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgTWFwcGVkVHlwZSYgdmFsdWUpCitzdGF0aWMgYm9v
bCBzZXRWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZU1hcCYgbWFwLCBjb25z
dCBXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZU1hcCYgb3ZlcnJpZGRlbkRlZmF1bHRzLCBjb25z
dCBTdHJpbmcmIGtleSwgY29uc3QgTWFwcGVkVHlwZSYgdmFsdWUpCiB7Ci0gICAgTWFwcGVkVHlw
ZSBleGlzdGluZ1ZhbHVlID0gdmFsdWVGb3JLZXk8TWFwcGVkVHlwZT4obWFwLCBvdmVycmlkZW5E
ZWZhdWx0cywga2V5KTsKKyAgICBNYXBwZWRUeXBlIGV4aXN0aW5nVmFsdWUgPSB2YWx1ZUZvcktl
eTxNYXBwZWRUeXBlPihtYXAsIG92ZXJyaWRkZW5EZWZhdWx0cywga2V5KTsKICAgICBpZiAoZXhp
c3RpbmdWYWx1ZSA9PSB2YWx1ZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0xMTAsMTcg
KzExMCwxNyBAQCBzdGF0aWMgYm9vbCBzZXRWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlCiAKIGJv
b2wgV2ViUHJlZmVyZW5jZXNTdG9yZTo6c2V0U3RyaW5nVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5n
JiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7Ci0gICAgcmV0dXJuIHNldFZhbHVlRm9yS2V5
PFN0cmluZz4obV92YWx1ZXMsIG1fb3ZlcnJpZGVuRGVmYXVsdHMsIGtleSwgdmFsdWUpOworICAg
IHJldHVybiBzZXRWYWx1ZUZvcktleTxTdHJpbmc+KG1fdmFsdWVzLCBtX292ZXJyaWRkZW5EZWZh
dWx0cywga2V5LCB2YWx1ZSk7CiB9CiAKIFN0cmluZyBXZWJQcmVmZXJlbmNlc1N0b3JlOjpnZXRT
dHJpbmdWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSkgY29uc3QKIHsKLSAgICByZXR1cm4g
dmFsdWVGb3JLZXk8U3RyaW5nPihtX3ZhbHVlcywgbV9vdmVycmlkZW5EZWZhdWx0cywga2V5KTsK
KyAgICByZXR1cm4gdmFsdWVGb3JLZXk8U3RyaW5nPihtX3ZhbHVlcywgbV9vdmVycmlkZGVuRGVm
YXVsdHMsIGtleSk7CiB9CiAKIGJvb2wgV2ViUHJlZmVyZW5jZXNTdG9yZTo6c2V0Qm9vbFZhbHVl
Rm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCBib29sIHZhbHVlKQogewotICAgIHJldHVybiBzZXRW
YWx1ZUZvcktleTxib29sPihtX3ZhbHVlcywgbV9vdmVycmlkZW5EZWZhdWx0cywga2V5LCB2YWx1
ZSk7CisgICAgcmV0dXJuIHNldFZhbHVlRm9yS2V5PGJvb2w+KG1fdmFsdWVzLCBtX292ZXJyaWRk
ZW5EZWZhdWx0cywga2V5LCB2YWx1ZSk7CiB9CiAKIGJvb2wgV2ViUHJlZmVyZW5jZXNTdG9yZTo6
Z2V0Qm9vbFZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5KSBjb25zdApAQCAtMTMwLDQ5ICsx
MzAsNDkgQEAgYm9vbCBXZWJQcmVmZXJlbmNlc1N0b3JlOjpnZXRCb29sVmFsdWVGbwogICAgIGlm
IChpdCAhPSBib29sVGVzdFJ1bm5lck92ZXJyaWRlc01hcCgpLmVuZCgpKQogICAgICAgICByZXR1
cm4gaXQtPnZhbHVlOwogCi0gICAgcmV0dXJuIHZhbHVlRm9yS2V5PGJvb2w+KG1fdmFsdWVzLCBt
X292ZXJyaWRlbkRlZmF1bHRzLCBrZXkpOworICAgIHJldHVybiB2YWx1ZUZvcktleTxib29sPiht
X3ZhbHVlcywgbV9vdmVycmlkZGVuRGVmYXVsdHMsIGtleSk7CiB9CiAKIGJvb2wgV2ViUHJlZmVy
ZW5jZXNTdG9yZTo6c2V0VUludDMyVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBrZXksIHVpbnQz
Ml90IHZhbHVlKSAKIHsKLSAgICByZXR1cm4gc2V0VmFsdWVGb3JLZXk8dWludDMyX3Q+KG1fdmFs
dWVzLCBtX292ZXJyaWRlbkRlZmF1bHRzLCBrZXksIHZhbHVlKTsKKyAgICByZXR1cm4gc2V0VmFs
dWVGb3JLZXk8dWludDMyX3Q+KG1fdmFsdWVzLCBtX292ZXJyaWRkZW5EZWZhdWx0cywga2V5LCB2
YWx1ZSk7CiB9CiAKIHVpbnQzMl90IFdlYlByZWZlcmVuY2VzU3RvcmU6OmdldFVJbnQzMlZhbHVl
Rm9yS2V5KGNvbnN0IFN0cmluZyYga2V5KSBjb25zdAogewotICAgIHJldHVybiB2YWx1ZUZvcktl
eTx1aW50MzJfdD4obV92YWx1ZXMsIG1fb3ZlcnJpZGVuRGVmYXVsdHMsIGtleSk7CisgICAgcmV0
dXJuIHZhbHVlRm9yS2V5PHVpbnQzMl90PihtX3ZhbHVlcywgbV9vdmVycmlkZGVuRGVmYXVsdHMs
IGtleSk7CiB9CiAKIGJvb2wgV2ViUHJlZmVyZW5jZXNTdG9yZTo6c2V0RG91YmxlVmFsdWVGb3JL
ZXkoY29uc3QgU3RyaW5nJiBrZXksIGRvdWJsZSB2YWx1ZSkgCiB7Ci0gICAgcmV0dXJuIHNldFZh
bHVlRm9yS2V5PGRvdWJsZT4obV92YWx1ZXMsIG1fb3ZlcnJpZGVuRGVmYXVsdHMsIGtleSwgdmFs
dWUpOworICAgIHJldHVybiBzZXRWYWx1ZUZvcktleTxkb3VibGU+KG1fdmFsdWVzLCBtX292ZXJy
aWRkZW5EZWZhdWx0cywga2V5LCB2YWx1ZSk7CiB9CiAKIGRvdWJsZSBXZWJQcmVmZXJlbmNlc1N0
b3JlOjpnZXREb3VibGVWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSkgY29uc3QKIHsKLSAg
ICByZXR1cm4gdmFsdWVGb3JLZXk8ZG91YmxlPihtX3ZhbHVlcywgbV9vdmVycmlkZW5EZWZhdWx0
cywga2V5KTsKKyAgICByZXR1cm4gdmFsdWVGb3JLZXk8ZG91YmxlPihtX3ZhbHVlcywgbV9vdmVy
cmlkZGVuRGVmYXVsdHMsIGtleSk7CiB9CiAKLS8vIE92ZXJyaWRlbiBEZWZhdWx0cworLy8gT3Zl
cnJpZGRlbiBEZWZhdWx0cwogCiB2b2lkIFdlYlByZWZlcmVuY2VzU3RvcmU6OnNldE92ZXJyaWRl
RGVmYXVsdHNTdHJpbmdWYWx1ZUZvcktleShjb25zdCBTdHJpbmcmIGtleSwgU3RyaW5nIHZhbHVl
KQogewotICAgIG1fb3ZlcnJpZGVuRGVmYXVsdHMuc2V0KGtleSwgVmFsdWUodmFsdWUpKTsKKyAg
ICBtX292ZXJyaWRkZW5EZWZhdWx0cy5zZXQoa2V5LCBWYWx1ZSh2YWx1ZSkpOwogfQogCiB2b2lk
IFdlYlByZWZlcmVuY2VzU3RvcmU6OnNldE92ZXJyaWRlRGVmYXVsdHNCb29sVmFsdWVGb3JLZXko
Y29uc3QgU3RyaW5nJiBrZXksIGJvb2wgdmFsdWUpCiB7Ci0gICAgbV9vdmVycmlkZW5EZWZhdWx0
cy5zZXQoa2V5LCBWYWx1ZSh2YWx1ZSkpOworICAgIG1fb3ZlcnJpZGRlbkRlZmF1bHRzLnNldChr
ZXksIFZhbHVlKHZhbHVlKSk7CiB9CiAKIHZvaWQgV2ViUHJlZmVyZW5jZXNTdG9yZTo6c2V0T3Zl
cnJpZGVEZWZhdWx0c1VJbnQzMlZhbHVlRm9yS2V5KGNvbnN0IFN0cmluZyYga2V5LCB1aW50MzJf
dCB2YWx1ZSkKIHsKLSAgICBtX292ZXJyaWRlbkRlZmF1bHRzLnNldChrZXksIFZhbHVlKHZhbHVl
KSk7CisgICAgbV9vdmVycmlkZGVuRGVmYXVsdHMuc2V0KGtleSwgVmFsdWUodmFsdWUpKTsKIH0K
IAogdm9pZCBXZWJQcmVmZXJlbmNlc1N0b3JlOjpzZXRPdmVycmlkZURlZmF1bHRzRG91YmxlVmFs
dWVGb3JLZXkoY29uc3QgU3RyaW5nJiBrZXksIGRvdWJsZSB2YWx1ZSkKIHsKLSAgICBtX292ZXJy
aWRlbkRlZmF1bHRzLnNldChrZXksIFZhbHVlKHZhbHVlKSk7CisgICAgbV9vdmVycmlkZGVuRGVm
YXVsdHMuc2V0KGtleSwgVmFsdWUodmFsdWUpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCShyZXZp
c2lvbiAyMzQ1MTYpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3Jl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTY2LDcgKzY2LDcgQEAgc3RydWN0IFdlYlByZWZlcmVuY2Vz
U3RvcmUgewogCiAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgVmFsdWU+IFZhbHVlTWFwOwog
ICAgIFZhbHVlTWFwIG1fdmFsdWVzOwotICAgIFZhbHVlTWFwIG1fb3ZlcnJpZGVuRGVmYXVsdHM7
CisgICAgVmFsdWVNYXAgbV9vdmVycmlkZGVuRGVmYXVsdHM7CiAKICAgICBzdGF0aWMgVmFsdWVN
YXAmIGRlZmF1bHRzKCk7CiB9OwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCShyZXZpc2lvbiAyMzQ1MTQp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC01MjU3LDkgKzUyNTcsOSBAQCAtIChVSVRhcmdldGVkRHJh
Z1ByZXZpZXcgKilkcmFnSW50ZXJhY3RpCiB7CiAgICAgaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+
IHVpRGVsZWdhdGUgPSBzZWxmLndlYlZpZXdVSURlbGVnYXRlOwogICAgIGlmIChbdWlEZWxlZ2F0
ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnByZXZpZXdGb3JMaWZ0aW5n
SXRlbTpzZXNzaW9uOildKSB7Ci0gICAgICAgIFVJVGFyZ2V0ZWREcmFnUHJldmlldyAqb3ZlcnJp
ZGVuUHJldmlldyA9IFt1aURlbGVnYXRlIF93ZWJWaWV3Ol93ZWJWaWV3IHByZXZpZXdGb3JMaWZ0
aW5nSXRlbTppdGVtIHNlc3Npb246c2Vzc2lvbl07Ci0gICAgICAgIGlmIChvdmVycmlkZW5QcmV2
aWV3KQotICAgICAgICAgICAgcmV0dXJuIG92ZXJyaWRlblByZXZpZXc7CisgICAgICAgIFVJVGFy
Z2V0ZWREcmFnUHJldmlldyAqb3ZlcnJpZGRlblByZXZpZXcgPSBbdWlEZWxlZ2F0ZSBfd2ViVmll
dzpfd2ViVmlldyBwcmV2aWV3Rm9yTGlmdGluZ0l0ZW06aXRlbSBzZXNzaW9uOnNlc3Npb25dOwor
ICAgICAgICBpZiAob3ZlcnJpZGRlblByZXZpZXcpCisgICAgICAgICAgICByZXR1cm4gb3ZlcnJp
ZGRlblByZXZpZXc7CiAgICAgfQogICAgIHJldHVybiBfZHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRl
LnByZXZpZXdGb3JEcmFnSXRlbShpdGVtLCBzZWxmLCBzZWxmLnVuc2NhbGVkVmlldyk7CiB9CkBA
IC01MzIxLDkgKzUzMjEsOSBAQCAtIChVSVRhcmdldGVkRHJhZ1ByZXZpZXcgKilkcmFnSW50ZXJh
Y3RpCiB7CiAgICAgaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+IHVpRGVsZWdhdGUgPSBzZWxmLndl
YlZpZXdVSURlbGVnYXRlOwogICAgIGlmIChbdWlEZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6
QHNlbGVjdG9yKF93ZWJWaWV3OnByZXZpZXdGb3JDYW5jZWxsaW5nSXRlbTp3aXRoRGVmYXVsdDop
XSkgewotICAgICAgICBVSVRhcmdldGVkRHJhZ1ByZXZpZXcgKm92ZXJyaWRlblByZXZpZXcgPSBb
dWlEZWxlZ2F0ZSBfd2ViVmlldzpfd2ViVmlldyBwcmV2aWV3Rm9yQ2FuY2VsbGluZ0l0ZW06aXRl
bSB3aXRoRGVmYXVsdDpkZWZhdWx0UHJldmlld107Ci0gICAgICAgIGlmIChvdmVycmlkZW5QcmV2
aWV3KQotICAgICAgICAgICAgcmV0dXJuIG92ZXJyaWRlblByZXZpZXc7CisgICAgICAgIFVJVGFy
Z2V0ZWREcmFnUHJldmlldyAqb3ZlcnJpZGRlblByZXZpZXcgPSBbdWlEZWxlZ2F0ZSBfd2ViVmll
dzpfd2ViVmlldyBwcmV2aWV3Rm9yQ2FuY2VsbGluZ0l0ZW06aXRlbSB3aXRoRGVmYXVsdDpkZWZh
dWx0UHJldmlld107CisgICAgICAgIGlmIChvdmVycmlkZGVuUHJldmlldykKKyAgICAgICAgICAg
IHJldHVybiBvdmVycmlkZGVuUHJldmlldzsKICAgICB9CiAgICAgcmV0dXJuIF9kcmFnRHJvcElu
dGVyYWN0aW9uU3RhdGUucHJldmlld0ZvckRyYWdJdGVtKGl0ZW0sIHNlbGYsIHNlbGYudW5zY2Fs
ZWRWaWV3KTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1Njcm9sbFZp
ZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU2Nyb2xs
Vmlldy5tbQkocmV2aXNpb24gMjM0NTE0KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLU2Nyb2xsVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzQyLDcgKzM0Miw3IEBAIC0gKFVJ
RWRnZUluc2V0cylfc3lzdGVtQ29udGVudEluc2V0CiAgICAgVUlFZGdlSW5zZXRzIHN5c3RlbUNv
bnRlbnRJbnNldCA9IFtzdXBlciBfc3lzdGVtQ29udGVudEluc2V0XTsKIAogICAgIC8vIEludGVy
bmFsIGNsaWVudHMgd2hvIHVzZSBzZXRPYnNjdXJlZEluc2V0cyBpbmNsdWRlIHRoZSBrZXlib2Fy
ZCBoZWlnaHQgaW4gdGhlaXIKLSAgICAvLyBtYW51YWxseSBvdmVycmlkZW4gaW5zZXRzLCBzbyB3
ZSBkb24ndCBuZWVkIHRvIHJlLWFkZCBpdCBoZXJlLgorICAgIC8vIG1hbnVhbGx5IG92ZXJyaWRk
ZW4gaW5zZXRzLCBzbyB3ZSBkb24ndCBuZWVkIHRvIHJlLWFkZCBpdCBoZXJlLgogICAgIGlmIChf
aW50ZXJuYWxEZWxlZ2F0ZS5faGF2ZVNldE9ic2N1cmVkSW5zZXRzKQogICAgICAgICByZXR1cm4g
c3lzdGVtQ29udGVudEluc2V0OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyMzQ1MTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxOC0wOC0wMyAgQWxleCBDaHJpc3RlbnNl
biAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIEZpeCBzcGVsbGluZyBvZiAi
b3ZlcnJpZGRlbiIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4ODMxNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLm1tOgorICAgICAgICAoc2V0V2ViS2l0TGlu
a1RpbWVWZXJzaW9uKToKKyAgICAgICAgKFdlYktpdExpbmtUaW1lVmVyc2lvbik6CisgICAgICAg
ICogUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAoLVtXZWJC
YXNlTmV0c2NhcGVQbHVnaW5WaWV3IGhhbmRsZU1vdXNlTW92ZWQ6XSk6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvUG9wdXBNZW51TWFjLm1tOgorICAgICAgICAoUG9wdXBNZW51TWFjOjpwb3B1
bGF0ZSk6CisKIDIwMTgtMDgtMDEgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBWDogQU9NOiBBZGQgQVJJQSBJREwgQXR0cmlidXRlIFJlZmxlY3Rpb24KSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYktpdFZlcnNpb25DaGVja3Mu
bW0JKHJldmlzaW9uIDIzNDUxNCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2Vi
S2l0VmVyc2lvbkNoZWNrcy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2lt
cG9ydCA8bWFjaC1vL2R5bGQuaD4KIAogc3RhdGljIGludCBXZWJLaXRMaW5rVGltZVZlcnNpb24o
dm9pZCk7Ci1zdGF0aWMgaW50IG92ZXJyaWRlbldlYktpdExpbmtUaW1lVmVyc2lvbjsKK3N0YXRp
YyBpbnQgb3ZlcnJpZGRlbldlYktpdExpbmtUaW1lVmVyc2lvbjsKIAogQk9PTCBXZWJLaXRMaW5r
ZWRPbk9yQWZ0ZXIoaW50IHZlcnNpb24pCiB7CkBAIC01MSwxMyArNTEsMTMgQEAgQk9PTCBXZWJL
aXRMaW5rZWRPbk9yQWZ0ZXIoaW50IHZlcnNpb24pCiAKIHZvaWQgc2V0V2ViS2l0TGlua1RpbWVW
ZXJzaW9uKGludCB2ZXJzaW9uKQogewotICAgIG92ZXJyaWRlbldlYktpdExpbmtUaW1lVmVyc2lv
biA9IHZlcnNpb247CisgICAgb3ZlcnJpZGRlbldlYktpdExpbmtUaW1lVmVyc2lvbiA9IHZlcnNp
b247CiB9CiAKIHN0YXRpYyBpbnQgV2ViS2l0TGlua1RpbWVWZXJzaW9uKHZvaWQpCiB7Ci0gICAg
aWYgKG92ZXJyaWRlbldlYktpdExpbmtUaW1lVmVyc2lvbikKLSAgICAgICAgcmV0dXJuIG92ZXJy
aWRlbldlYktpdExpbmtUaW1lVmVyc2lvbjsKKyAgICBpZiAob3ZlcnJpZGRlbldlYktpdExpbmtU
aW1lVmVyc2lvbikKKyAgICAgICAgcmV0dXJuIG92ZXJyaWRkZW5XZWJLaXRMaW5rVGltZVZlcnNp
b247CiAKICNpZiAhUExBVEZPUk0oSU9TKQogICAgIHJldHVybiBOU1ZlcnNpb25PZkxpbmtUaW1l
TGlicmFyeSgiV2ViS2l0Iik7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5z
L1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCShyZXZpc2lv
biAyMzQ1MTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRz
Y2FwZVBsdWdpblZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2NSw3ICsxNjUsNyBAQCAtICh2
b2lkKXNldEF0dHJpYnV0ZUtleXM6KE5TQXJyYXkgKilrZXlzCiAKIC0gKHZvaWQpaGFuZGxlTW91
c2VNb3ZlZDooTlNFdmVudCAqKWV2ZW50CiB7Ci0gICAgLy8gVGhpcyBuZWVkcyB0byBiZSBvdmVy
cmlkZW4gYnkgc3ViY2xhc3Nlcy4KKyAgICAvLyBUaGlzIG5lZWRzIHRvIGJlIG92ZXJyaWRkZW4g
Ynkgc3ViY2xhc3Nlcy4KIH0KIAogLSAodm9pZCloYW5kbGVNb3VzZUVudGVyZWQ6KE5TRXZlbnQg
KilldmVudApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvUG9w
dXBNZW51TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNv
cmVTdXBwb3J0L1BvcHVwTWVudU1hYy5tbQkocmV2aXNpb24gMjM0NTE0KQorKysgU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvUG9wdXBNZW51TWFjLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTUsNyArMTE1LDcgQEAgdm9pZCBQb3B1cE1lbnVNYWM6OnBvcHVsYXRlKCkKIAog
I3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBp
Z25vcmVkICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgotICAgICAgICAvLyBBbGxvdyB0aGUg
YWNjZXNzaWJsZSB0ZXh0IG9mIHRoZSBpdGVtIHRvIGJlIG92ZXJyaWRlbiBpZiBuZWNlc3Nhcnku
CisgICAgICAgIC8vIEFsbG93IHRoZSBhY2Nlc3NpYmxlIHRleHQgb2YgdGhlIGl0ZW0gdG8gYmUg
b3ZlcnJpZGRlbiBpZiBuZWNlc3NhcnkuCiAgICAgICAgIGlmIChBWE9iamVjdENhY2hlOjphY2Nl
c3NpYmlsaXR5RW5hYmxlZCgpKSB7CiAgICAgICAgICAgICBOU1N0cmluZyAqYWNjZXNzaWJpbGl0
eU92ZXJyaWRlID0gbV9jbGllbnQtPml0ZW1BY2Nlc3NpYmlsaXR5VGV4dChpKTsKICAgICAgICAg
ICAgIGlmIChbYWNjZXNzaWJpbGl0eU92ZXJyaWRlIGxlbmd0aF0pCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>