<?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>164641</bug_id>
          
          <creation_ts>2016-11-11 10:09:07 -0800</creation_ts>
          <short_desc>IndexedDB 2.0: &quot;close pending flag&quot; and firing blocked events all need fixing</short_desc>
          <delta_ts>2016-11-11 14:01:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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>
          
          <blocked>160306</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jsbell</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1250273</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-11-11 10:09:07 -0800</bug_when>
    <thetext>IndexedDB 2.0: imported/w3c/web-platform-tests/IndexedDB/idbobjectstore-rename-store.html fails

It fails in a test that verifies key generators work properly.

But it fails for reasons unrelated to object store renaming or key generators; It actually exposes a flaw in how we handle IDBDatabase.close()!

Right now, patch seems like it should be easy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250275</commentid>
    <comment_count>1</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-11-11 10:15:14 -0800</bug_when>
    <thetext>Confirmed a one line change fixes this test.

Now running all the other IDB tests to make sure they all still behave.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250354</commentid>
    <comment_count>2</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-11-11 12:57:23 -0800</bug_when>
    <thetext>One line fixed this specific test, but exposed a trail of failures in others.

Basically revealed long standing issues with the &quot;close pending&quot; flag and firing blocked events.

This can all be fixed at once, covered by existing tests.

Retitling:
IndexedDB 2.0: &quot;close pending flag&quot; and firing blocked events all need fixing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250369</commentid>
    <comment_count>3</comment_count>
      <attachid>294527</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-11-11 13:19:48 -0800</bug_when>
    <thetext>Created attachment 294527
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250393</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-11-11 14:01:05 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/208609</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294527</attachid>
            <date>2016-11-11 13:19:48 -0800</date>
            <delta_ts>2016-11-11 13:33:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164641-20161111131534.patch</filename>
            <type>text/plain</type>
            <size>28343</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjBiODEyNDIxNTA1Njhm
NWIxZGU1YTZmNTZjOTQ1YTVjMzM3NDUxZi4uZWQwZWY2YWQ3MThmZmM3MGM3Njc3NjZhZjZmOTMw
MWM4NWU3ZjJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE2LTExLTExICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBJbmRleGVkREIgMi4wOiAi
Y2xvc2UgcGVuZGluZyBmbGFnIiBhbmQgZmlyaW5nIGJsb2NrZWQgZXZlbnRzIGFsbCBuZWVkIGZp
eGluZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
NDY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cyAoQ292ZXJlZCBieSBhdCBsZWFzdCAzIGV4aXN0aW5nIHRlc3RzKS4KKworICAg
ICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OklEQkRhdGFiYXNlOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6
bWF5YmVDbG9zZUluU2VydmVyKToKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVu
dC9JREJDb25uZWN0aW9uUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHk6OmRhdGFiYXNlQ29ubmVjdGlvblBlbmRpbmdDbG9zZSk6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5oOgorCisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6
ZGF0YWJhc2VDb25uZWN0aW9uUGVuZGluZ0Nsb3NlKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4
ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmg6CisgICAgICAgICogTW9kdWxlcy9p
bmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLmg6CisKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OklEQlNlcnZlcjo6SURCU2VydmVyOjpkYXRhYmFzZUNvbm5lY3Rpb25QZW5kaW5nQ2xv
c2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuaDoKKwor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TZXJ2ZXJPcGVuREJSZXF1ZXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6U2VydmVyT3BlbkRCUmVxdWVzdDo6bWF5
YmVOb3RpZnlSZXF1ZXN0QmxvY2tlZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlNl
cnZlck9wZW5EQlJlcXVlc3Q6Om5vdGlmeVJlcXVlc3RCbG9ja2VkKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU2VydmVyT3BlbkRCUmVxdWVzdC5oOgorICAg
ICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpTZXJ2ZXJPcGVuREJSZXF1ZXN0OjpoYXNOb3RpZmll
ZEJsb2NrZWQpOiBEZWxldGVkLgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L1VuaXF1ZUlEQkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5p
cXVlSURCRGF0YWJhc2U6OmFsbENvbm5lY3Rpb25zQXJlQ2xvc2VkT3JDbG9zaW5nKToKKyAgICAg
ICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2U6Om1heWJlTm90aWZ5Q29u
bmVjdGlvbnNPZlZlcnNpb25DaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpV
bmlxdWVJREJEYXRhYmFzZTo6bm90aWZ5Q3VycmVudFJlcXVlc3RDb25uZWN0aW9uQ2xvc2VkT3JG
aXJlZFZlcnNpb25DaGFuZ2VFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmg6CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9z
ZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9uOjpjb25uZWN0aW9uUGVuZGlu
Z0Nsb3NlRnJvbUNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlE
QkRhdGFiYXNlQ29ubmVjdGlvbjo6Y29ubmVjdGlvbkNsb3NlZEZyb21DbGllbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZUNvbm5lY3Rpb246OmNvbm5l
Y3Rpb25Jc0Nsb3NpbmcpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9Vbmlx
dWVJREJEYXRhYmFzZUNvbm5lY3Rpb24uaDoKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5Qcm9j
ZXNzSURCU2VydmVyOjpkYXRhYmFzZUNvbm5lY3Rpb25QZW5kaW5nQ2xvc2UpOgorICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuaDoKKwogMjAxNi0x
MS0xMSAgQWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
V2ViUlRDXVtPcGVuV2ViUlRDXSBJbXBsZW1lbnQgZGV2aWNlIHBlcm1pc3Npb25zIGhhbmRsaW5n
IHNvbHV0aW9uIGZvciBvd3IgYmFja2VuZCBpbiB0aGUgVUkgcHJvY2VzcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IDhmNTcyYzgzMTQxZWVhZWEyOTU5ZGVkOTZlNzY4ZjhmNmYzZTlhOGEuLjRiYTQ2NTRhMjNhNmMy
MmFiZDYxMzQ4NzVjNjY2MWMxZjM1MDk3NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAxNi0xMS0xMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAg
SW5kZXhlZERCIDIuMDogImNsb3NlIHBlbmRpbmcgZmxhZyIgYW5kIGZpcmluZyBibG9ja2VkIGV2
ZW50cyBhbGwgbmVlZCBmaXhpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjQ2NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlv
blRvQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50
OjpkYXRhYmFzZUNvbm5lY3Rpb25QZW5kaW5nQ2xvc2UpOgorICAgICAgICAqIERhdGFiYXNlUHJv
Y2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Lmg6CisgICAgICAgICogRGF0
YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQubWVzc2FnZXMu
aW46CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29u
bmVjdGlvblRvU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSURCQ29ubmVjdGlvblRv
U2VydmVyOjpkYXRhYmFzZUNvbm5lY3Rpb25QZW5kaW5nQ2xvc2UpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaDoKKwog
MjAxNi0xMS0xMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbTWVkaWFTdHJlYW1dIGFwcGx5IGNvbnN0cmFpbnRzIHBhc3NlZCB0byBnZXRVc2VyTWVk
aWEoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0
YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2Uu
Y3BwCmluZGV4IDk1MmIyZjkxNmM0ODlhMjRhNGM2OGRkMTEzODRjMzhmZmQ4MTVjYmYuLjY3M2Rh
NDk1OGNjNzcwN2E2Mzc4NDM2MjE2N2Q4YzE4MmIwMGM0MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAKQEAgLTIzNyw3ICsyMzcsMTEg
QEAgdm9pZCBJREJEYXRhYmFzZTo6Y2xvc2UoKQogCiAgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQo
KSA9PSBvcmlnaW5UaHJlYWRJRCgpKTsKIAotICAgIG1fY2xvc2VQZW5kaW5nID0gdHJ1ZTsKKyAg
ICBpZiAoIW1fY2xvc2VQZW5kaW5nKSB7CisgICAgICAgIG1fY2xvc2VQZW5kaW5nID0gdHJ1ZTsK
KyAgICAgICAgbV9jb25uZWN0aW9uUHJveHktPmRhdGFiYXNlQ29ubmVjdGlvblBlbmRpbmdDbG9z
ZSgqdGhpcyk7CisgICAgfQorCiAgICAgbWF5YmVDbG9zZUluU2VydmVyKCk7CiB9CiAKQEAgLTI4
Nyw3ICsyOTEsNyBAQCB2b2lkIElEQkRhdGFiYXNlOjptYXliZUNsb3NlSW5TZXJ2ZXIoKQogICAg
IC8vIDMuMy45IERhdGFiYXNlIGNsb3Npbmcgc3RlcHMKICAgICAvLyBXYWl0IGZvciBhbGwgdHJh
bnNhY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhpcyBjb25uZWN0aW9uIHRvIGNvbXBsZXRlLgogICAg
IC8vIE9uY2UgdGhleSBhcmUgY29tcGxldGUsIHRoaXMgY29ubmVjdGlvbiBpcyBjbG9zZWQuCi0g
ICAgaWYgKCFtX2FjdGl2ZVRyYW5zYWN0aW9ucy5pc0VtcHR5KCkpCisgICAgaWYgKCFtX2FjdGl2
ZVRyYW5zYWN0aW9ucy5pc0VtcHR5KCkgfHwgIW1fY29tbWl0dGluZ1RyYW5zYWN0aW9ucy5pc0Vt
cHR5KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fY2xvc2VkSW5TZXJ2ZXIgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNv
bm5lY3Rpb25Qcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGll
bnQvSURCQ29ubmVjdGlvblByb3h5LmNwcAppbmRleCBjYWZmZDVmMTM0YjY1YWFmOTljMWQ3YjBi
MmM3ZGNjNWNhMTYwMzA5Li44MDVmMzBlOGQ5Yjk2NWI0ZmM2ZGZhM2MzNjhkN2E1M2U3YWE1ZDVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURC
Q29ubmVjdGlvblByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmNwcApAQCAtMzg0LDYgKzM4NCwxMSBAQCB2b2lk
IElEQkNvbm5lY3Rpb25Qcm94eTo6ZGlkRmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hhbmdlVHJhbnNh
Y3Rpb24odWludDY0X3QgZGF0YQogICAgIGNhbGxDb25uZWN0aW9uT25NYWluVGhyZWFkKCZJREJD
b25uZWN0aW9uVG9TZXJ2ZXI6OmRpZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0
aW9uLCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCB0cmFuc2FjdGlvbi5pbmZvKCkuaWRl
bnRpZmllcigpKTsKIH0KIAordm9pZCBJREJDb25uZWN0aW9uUHJveHk6OmRhdGFiYXNlQ29ubmVj
dGlvblBlbmRpbmdDbG9zZShJREJEYXRhYmFzZSYgZGF0YWJhc2UpCit7CisgICAgY2FsbENvbm5l
Y3Rpb25Pbk1haW5UaHJlYWQoJklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6ZGF0YWJhc2VDb25uZWN0
aW9uUGVuZGluZ0Nsb3NlLCBkYXRhYmFzZS5kYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKCkp
OworfQorCiB2b2lkIElEQkNvbm5lY3Rpb25Qcm94eTo6ZGF0YWJhc2VDb25uZWN0aW9uQ2xvc2Vk
KElEQkRhdGFiYXNlJiBkYXRhYmFzZSkKIHsKICAgICBjYWxsQ29ubmVjdGlvbk9uTWFpblRocmVh
ZCgmSURCQ29ubmVjdGlvblRvU2VydmVyOjpkYXRhYmFzZUNvbm5lY3Rpb25DbG9zZWQsIGRhdGFi
YXNlLmRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5
LmgKaW5kZXggZGQ5NTRlYWEyYTlkMDAyNjE4N2EzODliNDhlNTgwNDVmNDE3OWEyNi4uNWMwMWFj
MzRjZDYyZmVhOWMxMjA4MTkyY2UyZTVjYzI1YWQ0MDRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJv
eHkuaApAQCAtOTcsNiArOTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRBYm9ydFRyYW5zYWN0
aW9uKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCBj
b25zdCBJREJFcnJvciYpOwogCiAgICAgdm9pZCBkaWRGaW5pc2hIYW5kbGluZ1ZlcnNpb25DaGFu
Z2VUcmFuc2FjdGlvbih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBJREJU
cmFuc2FjdGlvbiYpOworICAgIHZvaWQgZGF0YWJhc2VDb25uZWN0aW9uUGVuZGluZ0Nsb3NlKElE
QkRhdGFiYXNlJik7CiAgICAgdm9pZCBkYXRhYmFzZUNvbm5lY3Rpb25DbG9zZWQoSURCRGF0YWJh
c2UmKTsKIAogICAgIHZvaWQgZGlkQ2xvc2VGcm9tU2VydmVyKHVpbnQ2NF90IGRhdGFiYXNlQ29u
bmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IElEQkVycm9yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9u
VG9TZXJ2ZXIuY3BwCmluZGV4IDNhMDc2ZmI3NjU1ZDRjMWI2NDlhZWMxZjU5MTU2MTJmNmQ3NTQ2
NDYuLjc1YzU3NzNhNTYzMTA0MDRjZDZmYWI2MTk1MzcxYmY4ZDdjYjg1YWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9T
ZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9J
REJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwCkBAIC0zOTksNiArMzk5LDE0IEBAIHZvaWQgSURCQ29u
bmVjdGlvblRvU2VydmVyOjpvcGVuREJSZXF1ZXN0Q2FuY2VsbGVkKGNvbnN0IElEQlJlcXVlc3RE
YXRhJiByZXF1ZXN0CiAgICAgbV9kZWxlZ2F0ZS0+b3BlbkRCUmVxdWVzdENhbmNlbGxlZChyZXF1
ZXN0RGF0YSk7CiB9CiAKK3ZvaWQgSURCQ29ubmVjdGlvblRvU2VydmVyOjpkYXRhYmFzZUNvbm5l
Y3Rpb25QZW5kaW5nQ2xvc2UodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcikK
K3sKKyAgICBMT0coSW5kZXhlZERCLCAiSURCQ29ubmVjdGlvblRvU2VydmVyOjpkYXRhYmFzZUNv
bm5lY3Rpb25QZW5kaW5nQ2xvc2UiKTsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworCisg
ICAgbV9kZWxlZ2F0ZS0+ZGF0YWJhc2VDb25uZWN0aW9uUGVuZGluZ0Nsb3NlKGRhdGFiYXNlQ29u
bmVjdGlvbklkZW50aWZpZXIpOworfQorCiB2b2lkIElEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6ZGF0
YWJhc2VDb25uZWN0aW9uQ2xvc2VkKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZp
ZXIpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6ZGF0YWJh
c2VDb25uZWN0aW9uQ2xvc2VkIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmgKaW5kZXgg
Yzg5OGZkNDg1YWUxYjE3ODI2ZGNhM2RlYTYwOWIwNTJiNmZlODVkZi4uNzY1MWY0MzA1NTdhNjM4
ZmMyYzA2MTc2NTdhZmVhMTA3NzlhYmVlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIu
aApAQCAtMTI5LDYgKzEyOSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZXN0YWJsaXNoVHJhbnNh
Y3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCVHJh
bnNhY3Rpb25JbmZvJik7CiAKKyAgICB2b2lkIGRhdGFiYXNlQ29ubmVjdGlvblBlbmRpbmdDbG9z
ZSh1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKTsKICAgICB2b2lkIGRhdGFi
YXNlQ29ubmVjdGlvbkNsb3NlZCh1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVy
KTsKIAogICAgIC8vIFRvIGJlIHVzZWQgd2hlbiBhbiBJREJPcGVuREJSZXF1ZXN0IGdldHMgYSBu
ZXcgZGF0YWJhc2UgY29ubmVjdGlvbiwgb3B0aW9uYWxseSB3aXRoIGEKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2
ZXJEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lE
QkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLmgKaW5kZXggYzRhNjY3NTBlNGQxODM4NWU2OTI1
OGNiODIxZjJlMDYyN2Q5OTgyMS4uYTYxYzI4M2EyNjViNTE1YmRlZmVjOWE5MTUxYzkzZTk5NmQ1
N2NiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50
L0lEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLmgKQEAg
LTc5LDYgKzc5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBpdGVyYXRlQ3Vyc29yKGNv
bnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCSXRlcmF0ZUN1cnNvckRhdGEmKSA9IDA7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgZXN0YWJsaXNoVHJhbnNhY3Rpb24odWludDY0X3QgZGF0YWJhc2VD
b25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCVHJhbnNhY3Rpb25JbmZvJikgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBkYXRhYmFzZUNvbm5lY3Rpb25QZW5kaW5nQ2xvc2UodWludDY0X3QgZGF0
YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkYXRhYmFz
ZUNvbm5lY3Rpb25DbG9zZWQodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcikg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBhYm9ydE9wZW5BbmRVcGdyYWRlTmVlZGVkKHVpbnQ2NF90
IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmll
ciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZEZpcmVW
ZXJzaW9uQ2hhbmdlRXZlbnQodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwg
Y29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiByZXF1ZXN0SWRlbnRpZmllcikgPSAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVy
LmNwcAppbmRleCA3YzBkNWE1NzdiZmNlZWZmOGI2MDVhN2QzZTRjMzM1YjNkMWFiNTRiLi4wOGE2
YWY0Y2VlMGY0NWJmZWJjNDc3ZTdiZTJjMWU3NWZlZGJlZjcyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNwcApAQCAtMzg1
LDYgKzM4NSwxNyBAQCB2b2lkIElEQlNlcnZlcjo6ZGlkRmluaXNoSGFuZGxpbmdWZXJzaW9uQ2hh
bmdlVHJhbnNhY3Rpb24odWludDY0X3QgZGF0YWJhc2VDb25uZQogICAgIGNvbm5lY3Rpb24tPmRp
ZEZpbmlzaEhhbmRsaW5nVmVyc2lvbkNoYW5nZSh0cmFuc2FjdGlvbklkZW50aWZpZXIpOwogfQog
Cit2b2lkIElEQlNlcnZlcjo6ZGF0YWJhc2VDb25uZWN0aW9uUGVuZGluZ0Nsb3NlKHVpbnQ2NF90
IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpCit7CisgICAgTE9HKEluZGV4ZWREQiwgIklE
QlNlcnZlcjo6ZGF0YWJhc2VDb25uZWN0aW9uUGVuZGluZ0Nsb3NlIC0gJSIgUFJJdTY0LCBkYXRh
YmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKTsKKworICAgIGF1dG8gZGF0YWJhc2VDb25uZWN0aW9u
ID0gbV9kYXRhYmFzZUNvbm5lY3Rpb25zLmdldChkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVy
KTsKKyAgICBpZiAoIWRhdGFiYXNlQ29ubmVjdGlvbikKKyAgICAgICAgcmV0dXJuOworCisgICAg
ZGF0YWJhc2VDb25uZWN0aW9uLT5jb25uZWN0aW9uUGVuZGluZ0Nsb3NlRnJvbUNsaWVudCgpOwor
fQorCiB2b2lkIElEQlNlcnZlcjo6ZGF0YWJhc2VDb25uZWN0aW9uQ2xvc2VkKHVpbnQ2NF90IGRh
dGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIklEQlNl
cnZlcjo6ZGF0YWJhc2VDb25uZWN0aW9uQ2xvc2VkIC0gJSIgUFJJdTY0LCBkYXRhYmFzZUNvbm5l
Y3Rpb25JZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9JREJTZXJ2ZXIuaAppbmRleCAxZTFiNDdjNTM0MzJlYmRiZjQyYWYwODdkOTAx
YmYyMjE1OTJkMGNhLi4yNTZjZDUwN2U2ZTZkN2Y2NTZlZWNlMGMxMTk4OTQ4ZmQ5MjNkYTFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2Vy
dmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNl
cnZlci5oCkBAIC04MSw2ICs4MSw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGl0ZXJhdGVDdXJzb3IoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJJdGVyYXRlQ3Vy
c29yRGF0YSYpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBlc3RhYmxpc2hUcmFuc2FjdGlv
bih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBJREJUcmFuc2Fj
dGlvbkluZm8mKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRhdGFiYXNlQ29ubmVjdGlvblBl
bmRpbmdDbG9zZSh1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKTsKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIGRhdGFiYXNlQ29ubmVjdGlvbkNsb3NlZCh1aW50NjRfdCBkYXRh
YmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFib3J0
T3BlbkFuZFVwZ3JhZGVOZWVkZWQodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmll
ciwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkRmlyZVZlcnNpb25DaGFuZ2VFdmVudCh1aW50NjRf
dCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBJREJSZXNvdXJjZUlkZW50aWZp
ZXImIHJlcXVlc3RJZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL3NlcnZlci9TZXJ2ZXJPcGVuREJSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TZXJ2ZXJPcGVuREJSZXF1ZXN0LmNwcAppbmRl
eCAxOGRjZDRkMDQ2M2FkMmUxMTVmZjNmODAwNjc1NjY3OWFiNTQyZTU3Li4yM2FkZWY2YjJkYjZk
OGE0Y2UwNmRiMDBiNGJiOTk4NGZjNzY5NTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU2VydmVyT3BlbkRCUmVxdWVzdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NlcnZlck9wZW5EQlJlcXVlc3Qu
Y3BwCkBAIC01NSw5ICs1NSwxMCBAQCBib29sIFNlcnZlck9wZW5EQlJlcXVlc3Q6OmlzRGVsZXRl
UmVxdWVzdCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcmVxdWVzdERhdGEuaXNEZWxldGVSZXF1ZXN0
KCk7CiB9CiAKLXZvaWQgU2VydmVyT3BlbkRCUmVxdWVzdDo6bm90aWZ5UmVxdWVzdEJsb2NrZWQo
dWludDY0X3QgY3VycmVudFZlcnNpb24pCit2b2lkIFNlcnZlck9wZW5EQlJlcXVlc3Q6Om1heWJl
Tm90aWZ5UmVxdWVzdEJsb2NrZWQodWludDY0X3QgY3VycmVudFZlcnNpb24pCiB7Ci0gICAgQVNT
RVJUKCFtX25vdGlmaWVkQmxvY2tlZCk7CisgICAgaWYgKG1fbm90aWZpZWRCbG9ja2VkKQorICAg
ICAgICByZXR1cm47CiAKICAgICB1aW50NjRfdCByZXF1ZXN0ZWRWZXJzaW9uID0gaXNPcGVuUmVx
dWVzdCgpID8gIG1fcmVxdWVzdERhdGEucmVxdWVzdGVkVmVyc2lvbigpIDogMDsKICAgICBtX2Nv
bm5lY3Rpb24ubm90aWZ5T3BlbkRCUmVxdWVzdEJsb2NrZWQobV9yZXF1ZXN0RGF0YS5yZXF1ZXN0
SWRlbnRpZmllcigpLCBjdXJyZW50VmVyc2lvbiwgcmVxdWVzdGVkVmVyc2lvbik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU2VydmVyT3BlbkRC
UmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NlcnZl
ck9wZW5EQlJlcXVlc3QuaAppbmRleCBmYmJjZjkyNTYwZDI1NWE1ZmVkMWFhZmQzNzNmNDFlOGE5
ZGNkMTg4Li4wNjRiMGE5MTk4YTRiNDc0MmNkYjM1NTRjYzA2MzUyMmRmOTFmZjdhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU2VydmVyT3BlbkRC
UmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9T
ZXJ2ZXJPcGVuREJSZXF1ZXN0LmgKQEAgLTUwLDggKzUwLDcgQEAgcHVibGljOgogICAgIGJvb2wg
aXNPcGVuUmVxdWVzdCgpIGNvbnN0OwogICAgIGJvb2wgaXNEZWxldGVSZXF1ZXN0KCkgY29uc3Q7
CiAKLSAgICBib29sIGhhc05vdGlmaWVkQmxvY2tlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbm90aWZp
ZWRCbG9ja2VkOyB9Ci0gICAgdm9pZCBub3RpZnlSZXF1ZXN0QmxvY2tlZCh1aW50NjRfdCBjdXJy
ZW50VmVyc2lvbik7CisgICAgdm9pZCBtYXliZU5vdGlmeVJlcXVlc3RCbG9ja2VkKHVpbnQ2NF90
IGN1cnJlbnRWZXJzaW9uKTsKICAgICB2b2lkIG5vdGlmeURpZERlbGV0ZURhdGFiYXNlKGNvbnN0
IElEQkRhdGFiYXNlSW5mbyYpOwogCiAgICAgdWludDY0X3QgdmVyc2lvbkNoYW5nZUlEKCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIv
VW5pcXVlSURCRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcAppbmRleCAxMjcwOGU2OTBjMDc1N2I2MzA4MGFi
YTQzMTAwMTFjNGY2YTRjMjlhLi5jOTljZTkwNDNhNmVkOTljMGE4YzkwYTMxYjliODQyOTRmNTk1
ODYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIv
VW5pcXVlSURCRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKQEAgLTM2Niw2ICszNjYsMTYgQEAgYm9v
bCBVbmlxdWVJREJEYXRhYmFzZTo6aGFzQW55T3BlbkNvbm5lY3Rpb25zKCkgY29uc3QKICAgICBy
ZXR1cm4gIW1fb3BlbkRhdGFiYXNlQ29ubmVjdGlvbnMuaXNFbXB0eSgpOwogfQogCitib29sIFVu
aXF1ZUlEQkRhdGFiYXNlOjphbGxDb25uZWN0aW9uc0FyZUNsb3NlZE9yQ2xvc2luZygpIGNvbnN0
Cit7CisgICAgZm9yIChhdXRvJiBjb25uZWN0aW9uIDogbV9vcGVuRGF0YWJhc2VDb25uZWN0aW9u
cykgeworICAgICAgICBpZiAoIWNvbm5lY3Rpb24tPmNvbm5lY3Rpb25Jc0Nsb3NpbmcoKSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwog
c3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlVW5pcXVlQ2FsbGJhY2tJZGVudGlmaWVyKCkKIHsKICAg
ICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwpAQCAtNTA0LDcgKzUxNCwxMCBAQCB2b2lkIFVuaXF1
ZUlEQkRhdGFiYXNlOjptYXliZU5vdGlmeUNvbm5lY3Rpb25zT2ZWZXJzaW9uQ2hhbmdlKCkKICAg
ICAgICAgY29ubmVjdGlvbklkZW50aWZpZXJzLmFkZChjb25uZWN0aW9uLT5pZGVudGlmaWVyKCkp
OwogICAgIH0KIAotICAgIG1fY3VycmVudE9wZW5EQlJlcXVlc3QtPm5vdGlmaWVkQ29ubmVjdGlv
bnNPZlZlcnNpb25DaGFuZ2UoV1RGTW92ZShjb25uZWN0aW9uSWRlbnRpZmllcnMpKTsKKyAgICBp
ZiAoIWNvbm5lY3Rpb25JZGVudGlmaWVycy5pc0VtcHR5KCkpCisgICAgICAgIG1fY3VycmVudE9w
ZW5EQlJlcXVlc3QtPm5vdGlmaWVkQ29ubmVjdGlvbnNPZlZlcnNpb25DaGFuZ2UoV1RGTW92ZShj
b25uZWN0aW9uSWRlbnRpZmllcnMpKTsKKyAgICBlbHNlCisgICAgICAgIG1fY3VycmVudE9wZW5E
QlJlcXVlc3QtPm1heWJlTm90aWZ5UmVxdWVzdEJsb2NrZWQobV9kYXRhYmFzZUluZm8tPnZlcnNp
b24oKSk7CiB9CiAKIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6Om5vdGlmeUN1cnJlbnRSZXF1ZXN0
Q29ubmVjdGlvbkNsb3NlZE9yRmlyZWRWZXJzaW9uQ2hhbmdlRXZlbnQodWludDY0X3QgY29ubmVj
dGlvbklkZW50aWZpZXIpCkBAIC01MTgsMTcgKzUzMSwxNCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFi
YXNlOjpub3RpZnlDdXJyZW50UmVxdWVzdENvbm5lY3Rpb25DbG9zZWRPckZpcmVkVmVyc2lvbkNo
YW5nZQogICAgIGlmIChtX2N1cnJlbnRPcGVuREJSZXF1ZXN0LT5oYXNDb25uZWN0aW9uc1BlbmRp
bmdWZXJzaW9uQ2hhbmdlRXZlbnQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFoYXNB
bnlPcGVuQ29ubmVjdGlvbnMoKSkgeworICAgIGlmICghaGFzQW55T3BlbkNvbm5lY3Rpb25zKCkg
fHwgYWxsQ29ubmVjdGlvbnNBcmVDbG9zZWRPckNsb3NpbmcoKSkgewogICAgICAgICBpbnZva2VP
cGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
LSAgICBpZiAobV9jdXJyZW50T3BlbkRCUmVxdWVzdC0+aGFzTm90aWZpZWRCbG9ja2VkKCkpCi0g
ICAgICAgIHJldHVybjsKLQogICAgIC8vIFNpbmNlIGFsbCBvcGVuIGNvbm5lY3Rpb25zIGhhdmUg
ZmlyZWQgdGhlaXIgdmVyc2lvbiBjaGFuZ2UgZXZlbnRzIGJ1dCBub3QgYWxsIG9mIHRoZW0gaGF2
ZSBjbG9zZWQsCiAgICAgLy8gdGhpcyByZXF1ZXN0IGlzIG9mZmljaWFsbHkgYmxvY2tlZC4KLSAg
ICBtX2N1cnJlbnRPcGVuREJSZXF1ZXN0LT5ub3RpZnlSZXF1ZXN0QmxvY2tlZChtX2RhdGFiYXNl
SW5mby0+dmVyc2lvbigpKTsKKyAgICBtX2N1cnJlbnRPcGVuREJSZXF1ZXN0LT5tYXliZU5vdGlm
eVJlcXVlc3RCbG9ja2VkKG1fZGF0YWJhc2VJbmZvLT52ZXJzaW9uKCkpOwogfQogCiB2b2lkIFVu
aXF1ZUlEQkRhdGFiYXNlOjpkaWRGaXJlVmVyc2lvbkNoYW5nZUV2ZW50KFVuaXF1ZUlEQkRhdGFi
YXNlQ29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiBy
ZXF1ZXN0SWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmgKaW5kZXggOWM5OTVhM2VlZTFl
MTY5NDQwZWY3Y2U5MDg2OTIxYWNhZmMwNDBhNy4uNzZhYWZjOTkxMDhmODgyODU1Yzg0ZTAwZjgz
MThlODczNTFmYmEyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmgKQEAgLTEzMCw2ICsxMzAsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgcGVyZm9ybUN1cnJlbnREZWxldGVPcGVyYXRpb24oKTsKICAg
ICB2b2lkIGFkZE9wZW5EYXRhYmFzZUNvbm5lY3Rpb24oUmVmPFVuaXF1ZUlEQkRhdGFiYXNlQ29u
bmVjdGlvbj4mJik7CiAgICAgYm9vbCBoYXNBbnlPcGVuQ29ubmVjdGlvbnMoKSBjb25zdDsKKyAg
ICBib29sIGFsbENvbm5lY3Rpb25zQXJlQ2xvc2VkT3JDbG9zaW5nKCkgY29uc3Q7CiAKICAgICB2
b2lkIHN0YXJ0VmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKCk7CiAgICAgdm9pZCBtYXliZU5vdGlm
eUNvbm5lY3Rpb25zT2ZWZXJzaW9uQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRh
YmFzZUNvbm5lY3Rpb24uY3BwCmluZGV4IDJiNjM1MmQyMjA2NGFiNjE3MzYxNWM5ZWExYTdlNzk4
N2NjMGYxNzIuLjY5NGI3MTcxZDNmMGM3OTUzNDU4OGJiYjc2NjMyZTMzNmRhMThkMGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJE
YXRhYmFzZUNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZUNvbm5lY3Rpb24uY3BwCkBAIC04MywxMSArODMs
MTcgQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZUNvbm5lY3Rpb246OmFib3J0VHJhbnNhY3Rpb25X
aXRob3V0Q2FsbGJhY2soVW5pcXVlSURCRGF0YWIKICAgICB9KTsKIH0KIAordm9pZCBVbmlxdWVJ
REJEYXRhYmFzZUNvbm5lY3Rpb246OmNvbm5lY3Rpb25QZW5kaW5nQ2xvc2VGcm9tQ2xpZW50KCkK
K3sKKyAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9uOjpjb25u
ZWN0aW9uUGVuZGluZ0Nsb3NlRnJvbUNsaWVudCAtICVzIC0gJSIgUFJJdTY0LCBtX29wZW5SZXF1
ZXN0SWRlbnRpZmllci5sb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgbV9pZGVudGlmaWVy
KTsKKworICAgIG1fY2xvc2VQZW5kaW5nID0gdHJ1ZTsKK30KKwogdm9pZCBVbmlxdWVJREJEYXRh
YmFzZUNvbm5lY3Rpb246OmNvbm5lY3Rpb25DbG9zZWRGcm9tQ2xpZW50KCkKIHsKICAgICBMT0co
SW5kZXhlZERCLCAiVW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9uOjpjb25uZWN0aW9uQ2xvc2Vk
RnJvbUNsaWVudCAtICVzIC0gJSIgUFJJdTY0LCBtX29wZW5SZXF1ZXN0SWRlbnRpZmllci5sb2dn
aW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgbV9pZGVudGlmaWVyKTsKIAotICAgIG1fY2xvc2VQ
ZW5kaW5nID0gdHJ1ZTsKICAgICBtX2RhdGFiYXNlLmNvbm5lY3Rpb25DbG9zZWRGcm9tQ2xpZW50
KCp0aGlzKTsKIH0KIApAQCAtMjE5LDYgKzIyNSwxMSBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNl
Q29ubmVjdGlvbjo6ZGlkUmVuYW1lSW5kZXgoY29uc3QgSURCUmVzdWx0RGF0YSYgcmVzdWx0RGF0
YQogICAgIG1fY29ubmVjdGlvblRvQ2xpZW50LmRpZFJlbmFtZUluZGV4KHJlc3VsdERhdGEpOwog
fQogCitib29sIFVuaXF1ZUlEQkRhdGFiYXNlQ29ubmVjdGlvbjo6Y29ubmVjdGlvbklzQ2xvc2lu
ZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY2xvc2VQZW5kaW5nOworfQorCiB9IC8vIG5hbWVz
cGFjZSBJREJTZXJ2ZXIKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlQ29u
bmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1
ZUlEQkRhdGFiYXNlQ29ubmVjdGlvbi5oCmluZGV4IGE0ZjM1YmU0MTgxMjY3NTgxMjdmNTYwMWQ4
Zjk3ZmNkMzc5ODNlMzkuLjI3ZDU4ODRiM2E2YzNhY2RiODZhZGU5ZGQ1MTJkOWU5ODQ1Nzk4ZDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9Vbmlx
dWVJREJEYXRhYmFzZUNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9uLmgKQEAgLTU1LDYgKzU1
LDcgQEAgcHVibGljOgogICAgIFVuaXF1ZUlEQkRhdGFiYXNlJiBkYXRhYmFzZSgpIHsgcmV0dXJu
IG1fZGF0YWJhc2U7IH0KICAgICBJREJDb25uZWN0aW9uVG9DbGllbnQmIGNvbm5lY3Rpb25Ub0Ns
aWVudCgpIHsgcmV0dXJuIG1fY29ubmVjdGlvblRvQ2xpZW50OyB9CiAKKyAgICB2b2lkIGNvbm5l
Y3Rpb25QZW5kaW5nQ2xvc2VGcm9tQ2xpZW50KCk7CiAgICAgdm9pZCBjb25uZWN0aW9uQ2xvc2Vk
RnJvbUNsaWVudCgpOwogCiAgICAgYm9vbCBjbG9zZVBlbmRpbmcoKSBjb25zdCB7IHJldHVybiBt
X2Nsb3NlUGVuZGluZzsgfQpAQCAtODAsNiArODEsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFi
b3J0VHJhbnNhY3Rpb25XaXRob3V0Q2FsbGJhY2soVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlv
biYpOwogCisgICAgYm9vbCBjb25uZWN0aW9uSXNDbG9zaW5nKCkgY29uc3Q7CisKIHByaXZhdGU6
CiAgICAgVW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9uKFVuaXF1ZUlEQkRhdGFiYXNlJiwgU2Vy
dmVyT3BlbkRCUmVxdWVzdCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuY3BwCmluZGV4IGI5
YWZkMmYwMWNlMTNjZTUzNWI0OTRhZWYyNjQwZjcwOGI0OTE1M2YuLmFkZGQxZjhjMDA0NDk1MDk1
N2RlNDA2M2FmMTMxYTI1ZmE1MGE4ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuY3BwCkBA
IC0zODUsNiArMzg1LDEzIEBAIHZvaWQgSW5Qcm9jZXNzSURCU2VydmVyOjpub3RpZnlPcGVuREJS
ZXF1ZXN0QmxvY2tlZChjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImCiAgICAgfSk7CiB9CiAK
K3ZvaWQgSW5Qcm9jZXNzSURCU2VydmVyOjpkYXRhYmFzZUNvbm5lY3Rpb25QZW5kaW5nQ2xvc2Uo
dWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcikKK3sKKyAgICBSdW5Mb29wOjpj
dXJyZW50KCkuZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwg
ZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcl0geworICAgICAgICBtX3NlcnZlci0+ZGF0YWJh
c2VDb25uZWN0aW9uUGVuZGluZ0Nsb3NlKGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpOwor
ICAgIH0pOworfQorCiB2b2lkIEluUHJvY2Vzc0lEQlNlcnZlcjo6ZGF0YWJhc2VDb25uZWN0aW9u
Q2xvc2VkKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpCiB7CiAgICAgUnVu
TG9vcDo6Y3VycmVudCgpLmRpc3BhdGNoKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigq
dGhpcyksIGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXJdIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2
ZXIuaAppbmRleCAxNzQwNmMyNTdmMWI4ODY5ZTlhNjAzZDhlZTFhOTQxMjkzMDk4NDc1Li5kMGRj
MmVjMDJjNGNkZTNjYTdkYmRiMmRkZTE3ZjFhZjYzYzU0MTMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNl
cnZlci5oCkBAIC03Nyw2ICs3Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG9wZW5DdXJzb3IoY29u
c3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJREJDdXJzb3JJbmZvJikgZmluYWw7CiAgICAgdm9p
ZCBpdGVyYXRlQ3Vyc29yKGNvbnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCSXRlcmF0ZUN1
cnNvckRhdGEmKSBmaW5hbDsKICAgICB2b2lkIGVzdGFibGlzaFRyYW5zYWN0aW9uKHVpbnQ2NF90
IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IElEQlRyYW5zYWN0aW9uSW5mbyYp
IGZpbmFsOworICAgIHZvaWQgZGF0YWJhc2VDb25uZWN0aW9uUGVuZGluZ0Nsb3NlKHVpbnQ2NF90
IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpIGZpbmFsOwogICAgIHZvaWQgZGF0YWJhc2VD
b25uZWN0aW9uQ2xvc2VkKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpIGZp
bmFsOwogICAgIHZvaWQgYWJvcnRPcGVuQW5kVXBncmFkZU5lZWRlZCh1aW50NjRfdCBkYXRhYmFz
ZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5z
YWN0aW9uSWRlbnRpZmllcikgZmluYWw7CiAgICAgdm9pZCBkaWRGaXJlVmVyc2lvbkNoYW5nZUV2
ZW50KHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IElEQlJlc291
cmNlSWRlbnRpZmllciYgcmVxdWVzdElkZW50aWZpZXIpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9D
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9XZWJJ
REJDb25uZWN0aW9uVG9DbGllbnQuY3BwCmluZGV4IGNlZTlhZWViNTBmNmUyZjQ5Nzg0NDJiNTYy
YTJmNWFhNzUwZmVkNDAuLjI3NGFkZDVlYTc2NmVlYWE1MTA1OWQxMzJkM2ZjZGQ0YjY1ZTA2NDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvV2Vi
SURCQ29ubmVjdGlvblRvQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVBy
b2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAKQEAgLTMzMSw2ICsz
MzEsMTEgQEAgdm9pZCBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ6OmVzdGFibGlzaFRyYW5zYWN0
aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbkkKICAgICBEYXRhYmFzZVByb2Nlc3M6OnNp
bmdsZXRvbigpLmlkYlNlcnZlcigpLmVzdGFibGlzaFRyYW5zYWN0aW9uKGRhdGFiYXNlQ29ubmVj
dGlvbklkZW50aWZpZXIsIGluZm8pOwogfQogCit2b2lkIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVu
dDo6ZGF0YWJhc2VDb25uZWN0aW9uUGVuZGluZ0Nsb3NlKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVj
dGlvbklkZW50aWZpZXIpCit7CisgICAgRGF0YWJhc2VQcm9jZXNzOjpzaW5nbGV0b24oKS5pZGJT
ZXJ2ZXIoKS5kYXRhYmFzZUNvbm5lY3Rpb25QZW5kaW5nQ2xvc2UoZGF0YWJhc2VDb25uZWN0aW9u
SWRlbnRpZmllcik7Cit9CisKIHZvaWQgV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50OjpkYXRhYmFz
ZUNvbm5lY3Rpb25DbG9zZWQodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcikK
IHsKICAgICBEYXRhYmFzZVByb2Nlc3M6OnNpbmdsZXRvbigpLmlkYlNlcnZlcigpLmRhdGFiYXNl
Q29ubmVjdGlvbkNsb3NlZChkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVj
dGlvblRvQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERC
L1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oCmluZGV4IDliNzhmZThhOWIxYzk3NmNiM2QyNzgx
NDJjYjc0MmM1NTZhMzgwNWYuLjExYzZjYzFjMWQ4MGE1YzRmYTVlZDVmZDU5NWJiYjk1YzFkZDVl
MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIv
V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQ
cm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaApAQCAtMTExLDYgKzEx
MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGl0ZXJhdGVDdXJzb3IoY29uc3QgV2ViQ29yZTo6SURC
UmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJJdGVyYXRlQ3Vyc29yRGF0YSYpOwogCiAg
ICAgdm9pZCBlc3RhYmxpc2hUcmFuc2FjdGlvbih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25J
ZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkluZm8mKTsKKyAgICB2b2lk
IGRhdGFiYXNlQ29ubmVjdGlvblBlbmRpbmdDbG9zZSh1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rp
b25JZGVudGlmaWVyKTsKICAgICB2b2lkIGRhdGFiYXNlQ29ubmVjdGlvbkNsb3NlZCh1aW50NjRf
dCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKTsKICAgICB2b2lkIGFib3J0T3BlbkFuZFVw
Z3JhZGVOZWVkZWQodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3Qg
V2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIpOwog
ICAgIHZvaWQgZGlkRmlyZVZlcnNpb25DaGFuZ2VFdmVudCh1aW50NjRfdCBkYXRhYmFzZUNvbm5l
Y3Rpb25JZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImIHJl
cXVlc3RJZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJv
Y2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Lm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9D
bGllbnQubWVzc2FnZXMuaW4KaW5kZXggMWEzNzZiY2QwZTBlYTc5OGI5MGE4NTczNDI1ZmQ1OWI3
ZTkzYzZiNi4uZDVhNzQ3YjRmMTAwMzllOTcwZTRjN2IyYWMyZjMyZTVhYWIwZDY3MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25u
ZWN0aW9uVG9DbGllbnQubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQ
cm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQubWVzc2FnZXMuaW4KQEAg
LTQ0LDYgKzQ0LDcgQEAgbWVzc2FnZXMgLT4gV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50IHsKICAg
ICBJdGVyYXRlQ3Vyc29yKFdlYkNvcmU6OklEQlJlcXVlc3REYXRhIHJlcXVlc3REYXRhLCBzdHJ1
Y3QgV2ViQ29yZTo6SURCSXRlcmF0ZUN1cnNvckRhdGEgZGF0YSk7CiAKICAgICBFc3RhYmxpc2hU
cmFuc2FjdGlvbih1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyLCBXZWJDb3Jl
OjpJREJUcmFuc2FjdGlvbkluZm8gaW5mbyk7CisgICAgRGF0YWJhc2VDb25uZWN0aW9uUGVuZGlu
Z0Nsb3NlKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpOwogICAgIERhdGFi
YXNlQ29ubmVjdGlvbkNsb3NlZCh1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVy
KTsKICAgICBBYm9ydE9wZW5BbmRVcGdyYWRlTmVlZGVkKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVj
dGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllciB0cmFuc2FjdGlv
bklkZW50aWZpZXIpOwogICAgIERpZEZpcmVWZXJzaW9uQ2hhbmdlRXZlbnQodWludDY0X3QgZGF0
YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVy
IHJlcXVlc3RJZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rp
b25Ub1NlcnZlci5jcHAKaW5kZXggYzZjNmI0YmQwZDIwNTNkZTlkN2IxYjBhOTlmOWZhM2Y1YjQ3
NzM2OS4uZTZjMWFhMmYxN2U5MWM0Y2YwOWEyN2JlMmJiZWZjNzAzNGNiMzM0NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNv
bm5lY3Rpb25Ub1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRh
YmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKQEAgLTE4NSw2ICsx
ODUsMTEgQEAgdm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmVzdGFibGlzaFRyYW5zYWN0
aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbkkKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJJ
REJDb25uZWN0aW9uVG9DbGllbnQ6OkVzdGFibGlzaFRyYW5zYWN0aW9uKGRhdGFiYXNlQ29ubmVj
dGlvbklkZW50aWZpZXIsIGluZm8pKTsKIH0KIAordm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2
ZXI6OmRhdGFiYXNlQ29ubmVjdGlvblBlbmRpbmdDbG9zZSh1aW50NjRfdCBkYXRhYmFzZUNvbm5l
Y3Rpb25JZGVudGlmaWVyKQoreworICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rpb25U
b0NsaWVudDo6RGF0YWJhc2VDb25uZWN0aW9uUGVuZGluZ0Nsb3NlKGRhdGFiYXNlQ29ubmVjdGlv
bklkZW50aWZpZXIpKTsKK30KKwogdm9pZCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRhdGFi
YXNlQ29ubmVjdGlvbkNsb3NlZCh1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVy
KQogewogICAgIHNlbmQoTWVzc2FnZXM6OldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6RGF0YWJh
c2VDb25uZWN0aW9uQ2xvc2VkKGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJ
REJDb25uZWN0aW9uVG9TZXJ2ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJh
c2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaAppbmRleCAzMDcxZTk5MTc5
NThiYjc4ZTU4OTY0NzcwOTdhMWJhNzQwMzA1YzkxLi5jNWVkOTNmMzgwYzBjN2IzNzQzYjI2YTNh
YTk0ZWRmMmU3NjQ2MmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rh
dGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25U
b1NlcnZlci5oCkBAIC02Niw2ICs2Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG9wZW5DdXJzb3Io
Y29uc3QgV2ViQ29yZTo6SURCUmVxdWVzdERhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJDdXJzb3JJ
bmZvJikgZmluYWw7CiAgICAgdm9pZCBpdGVyYXRlQ3Vyc29yKGNvbnN0IFdlYkNvcmU6OklEQlJl
cXVlc3REYXRhJiwgY29uc3QgV2ViQ29yZTo6SURCSXRlcmF0ZUN1cnNvckRhdGEmKSBmaW5hbDsK
ICAgICB2b2lkIGVzdGFibGlzaFRyYW5zYWN0aW9uKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlv
bklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uSW5mbyYpIGZpbmFsOwor
ICAgIHZvaWQgZGF0YWJhc2VDb25uZWN0aW9uUGVuZGluZ0Nsb3NlKHVpbnQ2NF90IGRhdGFiYXNl
Q29ubmVjdGlvbklkZW50aWZpZXIpIGZpbmFsOwogICAgIHZvaWQgZGF0YWJhc2VDb25uZWN0aW9u
Q2xvc2VkKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpIGZpbmFsOwogICAg
IHZvaWQgYWJvcnRPcGVuQW5kVXBncmFkZU5lZWRlZCh1aW50NjRfdCBkYXRhYmFzZUNvbm5lY3Rp
b25JZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5z
YWN0aW9uSWRlbnRpZmllcikgZmluYWw7CiAgICAgdm9pZCBkaWRGaXJlVmVyc2lvbkNoYW5nZUV2
ZW50KHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6
OklEQlJlc291cmNlSWRlbnRpZmllciYgcmVxdWVzdElkZW50aWZpZXIpIGZpbmFsOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZjg1NmE0ZGJiNTU2MWEyMWQ3NmVlNmJlYmM5YTJj
YzE0NTM4MTdhNS4uYTE4YzJlMGMwNWNmMTFmNmQ5ZDc4MDg3NzMzNWM5NjZkMzUwNWFlOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMTEtMTEg
IEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIEluZGV4ZWREQiAy
LjA6ICJjbG9zZSBwZW5kaW5nIGZsYWciIGFuZCBmaXJpbmcgYmxvY2tlZCBldmVudHMgYWxsIG5l
ZWQgZml4aW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY0NjQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlLXJlbmFtZS1z
dG9yZS1leHBlY3RlZC50eHQ6CisKIDIwMTYtMTEtMTAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25A
YXBwbGUuY29tPgogCiAgICAgICAgIEluZGV4ZWREQiAyLjAgU3VwcG9ydCB0aGUgSURCRGF0YWJh
c2Uub25jbG9zZSBldmVudC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlLXJlbmFtZS1zdG9yZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZS1yZW5hbWUtc3RvcmUtZXhwZWN0ZWQudHh0CmluZGV4
IDU2Yzk4ZDg2Y2NmMjM2ZjE5YmJlYTczNzU4Nzg2OWMxZTdlN2JjNjEuLjkwYjE0MmIzMTdhOGJk
YjJkZmZlMWZjMmJiMWFlMDdhN2QyZDJhZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlLXJlbmFt
ZS1zdG9yZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmUtcmVuYW1lLXN0b3JlLWV4cGVj
dGVkLnR4dApAQCAtMiw3ICsyLDcgQEAKIFBBU1MgSW5kZXhlZERCIG9iamVjdCBzdG9yZSByZW5h
bWUgaW4gbmV3IHRyYW5zYWN0aW9uIAogUEFTUyBJbmRleGVkREIgb2JqZWN0IHN0b3JlIHJlbmFt
ZSBpbiB0aGUgdHJhbnNhY3Rpb24gd2hlcmUgaXQgaXMgY3JlYXRlZCAKIFBBU1MgSW5kZXhlZERC
IG9iamVjdCBzdG9yZSByZW5hbWUgY292ZXJzIGluZGV4IAotRkFJTCBJbmRleGVkREIgb2JqZWN0
IHN0b3JlIHJlbmFtZSBjb3ZlcnMga2V5IGdlbmVyYXRvciBhc3NlcnRfZXF1YWxzOiBSZW5hbWlu
ZyBhbiBvYmplY3Qgc3RvcmUgc2hvdWxkIG5vdCBjaGFuZ2UgdGhlIHN0YXRlIG9mIGl0cyBrZXkg
Z2VuZXJhdG9yIGV4cGVjdGVkIDM0NTY4MCBidXQgZ290IDM0NTY3OQorUEFTUyBJbmRleGVkREIg
b2JqZWN0IHN0b3JlIHJlbmFtZSBjb3ZlcnMga2V5IGdlbmVyYXRvciAKIFBBU1MgSW5kZXhlZERC
IG9iamVjdCBzdG9yZSByZW5hbWUgdG8gdGhlIHNhbWUgbmFtZSBzdWNjZWVkcyAKIFBBU1MgSW5k
ZXhlZERCIG9iamVjdCBzdG9yZSByZW5hbWUgdG8gdGhlIG5hbWUgb2YgYSBkZWxldGVkIHN0b3Jl
IHN1Y2NlZWRzIAogUEFTUyBJbmRleGVkREIgb2JqZWN0IHN0b3JlIHN3YXBwaW5nIHZpYSByZW5h
bWVzIHN1Y2NlZWRzIAo=
</data>
<flag name="review"
          id="317205"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>