<?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>202631</bug_id>
          
          <creation_ts>2019-10-07 04:58:46 -0700</creation_ts>
          <short_desc>MediaStreamTrack should be a PlatformMediaSessionClient instead of MediaStream</short_desc>
          <delta_ts>2019-10-08 12:55:17 -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>WebRTC</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>vjaquez</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1577315</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-10-07 04:58:46 -0700</bug_when>
    <thetext>A MediaStreamTrack can be removed from any MediaStream and still used as part of a RTCPeerConnection.
Capture MediaStreamTrack should therefore be PlatformMediaSessionClient instead of MediaStream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577325</commentid>
    <comment_count>1</comment_count>
      <attachid>380318</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-10-07 06:23:29 -0700</bug_when>
    <thetext>Created attachment 380318
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577770</commentid>
    <comment_count>2</comment_count>
      <attachid>380427</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-10-08 07:08:46 -0700</bug_when>
    <thetext>Created attachment 380427
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577777</commentid>
    <comment_count>3</comment_count>
      <attachid>380429</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-10-08 08:01:55 -0700</bug_when>
    <thetext>Created attachment 380429
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577854</commentid>
    <comment_count>4</comment_count>
      <attachid>380429</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-10-08 11:42:35 -0700</bug_when>
    <thetext>Comment on attachment 380429
Patch

API test error seems unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577892</commentid>
    <comment_count>5</comment_count>
      <attachid>380429</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-08 12:54:04 -0700</bug_when>
    <thetext>Comment on attachment 380429
Patch

Clearing flags on attachment: 380429

Committed r250853: &lt;https://trac.webkit.org/changeset/250853&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577893</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-08 12:54:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577894</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-08 12:55:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/56084933&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380318</attachid>
            <date>2019-10-07 06:23:29 -0700</date>
            <delta_ts>2019-10-08 07:08:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202631-20191007152328.patch</filename>
            <type>text/plain</type>
            <size>19149</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjE2MDYyZDRmZGJhYzFj
YTczZWJiMzFiNzVlM2YxZDRiNGM2OWU2NS4uMTEyYmQ1ZDY5NjU4MDI2OGUwNTU0NDg1MmI4MzY2
ZjgxMjA3MDRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDE5LTEwLTA3ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVhbVRyYWNr
IHNob3VsZCBiZSBhIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50IGluc3RlYWQgb2YgTWVkaWFT
dHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
MjYzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1h
a2UgTWVkaWFTdHJlYW1UcmFjayBhIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50LCB3aGljaCBh
bGxvd3MgdHJhY2tpbmcgdHJhY2tzIHRoYXQgYXJlIG5vdCBvd25lZCBieSBhIHN0cmVhbS4KKyAg
ICAgICAgTWVkaWFTdHJlYW0gaXMgbm8gbG9uZ2VyIGEgUGxhdGZvcm1NZWRpYVNlc3Npb25DbGll
bnQgYW5kIG1vdmUgY29kZSB0byBNZWRpYVN0cmVhbVRyYWNrLgorCisgICAgICAgIENvdmVyZWQg
YnkgdXBkYXRlZCB0ZXN0LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6TWVkaWFTdHJlYW0pOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06OnN0YXJ0UHJvZHVjaW5nRGF0YSk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6c3RvcFByb2R1Y2luZ0RhdGEpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTdHJlYW06OnN0YXR1c0RpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVN0cmVhbTo6bWVkaWFUeXBlIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU3RyZWFtOjpwcmVzZW50YXRpb25UeXBlIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjpjaGFyYWN0ZXJpc3RpY3MgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06Om1heVJlc3VtZVBsYXliYWNrKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjpzdXNwZW5kUGxheWJhY2spOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06OnNvdXJjZUFwcGxpY2F0aW9u
SWRlbnRpZmllciBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVh
bTo6Y2FuUHJvZHVjZUF1ZGlvIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtOjpwcm9jZXNzaW5nVXNlckdlc3R1cmVGb3JNZWRpYSBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5oOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpNZWRpYVN0cmVhbVRyYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmNvbmZpZ3VyZVRyYWNrUmVuZGVyaW5nKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6Om1lZGlhVHlwZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpwcmVzZW50YXRpb25UeXBlIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmNoYXJhY3RlcmlzdGljcyBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjptYXlSZXN1bWVQbGF5YmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpzdXNwZW5kUGxheWJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFjazo6c291cmNlQXBwbGljYXRpb25JZGVudGlm
aWVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmNhblByb2R1
Y2VBdWRpbyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpwcm9j
ZXNzaW5nVXNlckdlc3R1cmVGb3JNZWRpYSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1Qcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFt
UHJpdmF0ZTo6aGFzVmlkZW8gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1Q
cml2YXRlOjpoYXNBdWRpbyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVBy
aXZhdGU6Omhhc0NhcHR1cmVWaWRlb1NvdXJjZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbVByaXZhdGU6Omhhc0NhcHR1cmVBdWRpb1NvdXJjZSBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2
YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1By
aXZhdGUuaDoKKwogMjAxOS0xMC0wNyAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgTWVkaWFTdHJlYW1UcmFjayBkb2VzIG5vdCBuZWVkIHRvIGJlIGEgRG9jdW1l
bnQgYXVkaW8gcHJvZHVjZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggZjAzNjA3MDQzNjk3OTg4M2MwMmMxNTRkZDVlNzBm
Y2Y5ZjQ4NmU5YS4uODI5NmYzMjFiYjQ5ZWVjZTY1N2NhNzdhYzcwYjQ2ZGJiNTY1ZTdiNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5j
cHAKQEAgLTc5LDcgKzc5LDYgQEAgc3RhdGljIGlubGluZSBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0
ZVZlY3RvciBjcmVhdGVUcmFja1ByaXZhdGVWZWN0b3IoY29uc3QgTWVkaWEKIE1lZGlhU3RyZWFt
OjpNZWRpYVN0cmVhbShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tW
ZWN0b3ImIHRyYWNrcykKICAgICA6IEFjdGl2ZURPTU9iamVjdChkb2N1bWVudCkKICAgICAsIG1f
cHJpdmF0ZShNZWRpYVN0cmVhbVByaXZhdGU6OmNyZWF0ZShkb2N1bWVudC5sb2dnZXIoKSwgY3Jl
YXRlVHJhY2tQcml2YXRlVmVjdG9yKHRyYWNrcykpKQotICAgICwgbV9tZWRpYVNlc3Npb24oUGxh
dGZvcm1NZWRpYVNlc3Npb246OmNyZWF0ZSgqdGhpcykpCiB7CiAgICAgLy8gVGhpcyBjb25zdHJ1
Y3RvciBwcmVzZXJ2ZXMgTWVkaWFTdHJlYW1UcmFjayBpbnN0YW5jZXMgYW5kIG11c3QgYmUgdXNl
ZCBieSBjYWxscyBvcmlnaW5hdGluZwogICAgIC8vIGZyb20gdGhlIEphdmFTY3JpcHQgTWVkaWFT
dHJlYW0gY29uc3RydWN0b3IuCkBAIC05Nyw3ICs5Niw2IEBAIE1lZGlhU3RyZWFtOjpNZWRpYVN0
cmVhbShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tWZWN0b3ImIHRy
YWNrCiBNZWRpYVN0cmVhbTo6TWVkaWFTdHJlYW0oRG9jdW1lbnQmIGRvY3VtZW50LCBSZWY8TWVk
aWFTdHJlYW1Qcml2YXRlPiYmIHN0cmVhbVByaXZhdGUpCiAgICAgOiBBY3RpdmVET01PYmplY3Qo
ZG9jdW1lbnQpCiAgICAgLCBtX3ByaXZhdGUoV1RGTW92ZShzdHJlYW1Qcml2YXRlKSkKLSAgICAs
IG1fbWVkaWFTZXNzaW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpjcmVhdGUoKnRoaXMpKQogewog
ICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CiAKQEAgLTMwMiwyMiArMzAwLDE3IEBAIHZv
aWQgTWVkaWFTdHJlYW06OnN0YXJ0UHJvZHVjaW5nRGF0YSgpCiAgICAgaWYgKG1faXNQcm9kdWNp
bmdEYXRhKQogICAgICAgICByZXR1cm47CiAgICAgbV9pc1Byb2R1Y2luZ0RhdGEgPSB0cnVlOwot
Ci0gICAgbV9tZWRpYVNlc3Npb24tPmNhblByb2R1Y2VBdWRpb0NoYW5nZWQoKTsKICAgICBtX3By
aXZhdGUtPnN0YXJ0UHJvZHVjaW5nRGF0YSgpOwogfQogCiB2b2lkIE1lZGlhU3RyZWFtOjpzdG9w
UHJvZHVjaW5nRGF0YSgpCiB7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKKwogICAg
IGlmICghbV9pc1Byb2R1Y2luZ0RhdGEpCiAgICAgICAgIHJldHVybjsKIAotICAgIEFMV0FZU19M
T0coTE9HSURFTlRJRklFUik7Ci0KICAgICBtX2lzUHJvZHVjaW5nRGF0YSA9IGZhbHNlOwotCi0g
ICAgbV9tZWRpYVNlc3Npb24tPmNhblByb2R1Y2VBdWRpb0NoYW5nZWQoKTsKLQogICAgIG1fcHJp
dmF0ZS0+c3RvcFByb2R1Y2luZ0RhdGEoKTsKIH0KIApAQCAtMzM2LDkgKzMyOSw3IEBAIE1lZGlh
UHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBNZWRpYVN0cmVhbTo6bWVkaWFTdGF0ZSgpIGNvbnN0
CiAKIHZvaWQgTWVkaWFTdHJlYW06OnN0YXR1c0RpZENoYW5nZSgpCiB7Ci0gICAgbV9tZWRpYVNl
c3Npb24tPmNhblByb2R1Y2VBdWRpb0NoYW5nZWQoKTsKLQotICAgIGlmIChEb2N1bWVudCogZG9j
dW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpKSB7CisgICAgaWYgKGF1dG8qIGRvY3VtZW50ID0gdGhp
cy0+ZG9jdW1lbnQoKSkgewogICAgICAgICBpZiAoIW1faXNBY3RpdmUpCiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIGRvY3VtZW50LT51cGRhdGVJc1BsYXlpbmdNZWRpYSgpOwpAQCAtMzk5
LDY4ICszOTAsNiBAQCBEb2N1bWVudCogTWVkaWFTdHJlYW06OmRvY3VtZW50KCkgY29uc3QKICAg
ICByZXR1cm4gZG93bmNhc3Q8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiB9
CiAKLVBsYXRmb3JtTWVkaWFTZXNzaW9uOjpNZWRpYVR5cGUgTWVkaWFTdHJlYW06Om1lZGlhVHlw
ZSgpIGNvbnN0Ci17Ci0gICAgLy8gV2Ugb25seSBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0eXBlIHdo
ZW4gY2FwdHVyaW5nIGF1ZGlvLCBIVE1MTWVkaWFFbGVtZW50IGFuZC9vciBXZWJBdWRpbwotICAg
IC8vIHdpbGwgZG8gdGhlIHJpZ2h0IHRoaW5nIHdoZW4gYSBzdHJlYW0gaXMgYXR0YWNoZWQgdG8g
YSBtZWRpYSBlbGVtZW50IG9yIGFuIGF1ZGlvIGNvbnRleHQuCi0gICAgaWYgKG1fcHJpdmF0ZS0+
aGFzQ2FwdHVyZUF1ZGlvU291cmNlKCkpCi0gICAgICAgIHJldHVybiBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6TWVkaWFTdHJlYW1DYXB0dXJpbmdBdWRpbzsKLQotICAgIHJldHVybiBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6Tm9uZTsKLX0KLQotUGxhdGZvcm1NZWRpYVNlc3Npb246Ok1lZGlhVHlwZSBN
ZWRpYVN0cmVhbTo6cHJlc2VudGF0aW9uVHlwZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1lZGlh
VHlwZSgpOwotfQotCi1QbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Q2hhcmFjdGVyaXN0aWNzRmxhZ3Mg
TWVkaWFTdHJlYW06OmNoYXJhY3RlcmlzdGljcygpIGNvbnN0Ci17Ci0gICAgUGxhdGZvcm1NZWRp
YVNlc3Npb246OkNoYXJhY3RlcmlzdGljc0ZsYWdzIHN0YXRlID0gUGxhdGZvcm1NZWRpYVNlc3Np
b246Okhhc05vdGhpbmc7Ci0KLSAgICBpZiAoIW1faXNQcm9kdWNpbmdEYXRhKQotICAgICAgICBy
ZXR1cm4gc3RhdGU7Ci0KLSAgICBpZiAobV9wcml2YXRlLT5oYXNBdWRpbygpKQotICAgICAgICBz
dGF0ZSB8PSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6SGFzQXVkaW87Ci0KLSAgICBpZiAobV9wcml2
YXRlLT5oYXNWaWRlbygpKQotICAgICAgICBzdGF0ZSB8PSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6
SGFzVmlkZW87Ci0KLSAgICByZXR1cm4gc3RhdGU7Ci19Ci0KLXZvaWQgTWVkaWFTdHJlYW06Om1h
eVJlc3VtZVBsYXliYWNrKGJvb2wpCi17Ci0gICAgLy8gRklYTUU6IHNob3VsZCBhIG1lZGlhIHN0
cmVhbSBwYXkgYXR0ZW50aW9uIHRvIHRoaXMgZGlyZWN0bHksIG9yIG9ubHkgd2hlbiBhdHRhY2hl
ZCB0byBhIG1lZGlhIGVsZW1lbnQ/Ci19Ci0KLXZvaWQgTWVkaWFTdHJlYW06OnN1c3BlbmRQbGF5
YmFjaygpCi17Ci0gICAgLy8gRklYTUU6IHNob3VsZCBhIG1lZGlhIHN0cmVhbSBwYXkgYXR0ZW50
aW9uIHRvIHRoaXMgZGlyZWN0bHksIG9yIG9ubHkgd2hlbiBhdHRhY2hlZCB0byBhIG1lZGlhIGVs
ZW1lbnQ/Ci19Ci0KLVN0cmluZyBNZWRpYVN0cmVhbTo6c291cmNlQXBwbGljYXRpb25JZGVudGlm
aWVyKCkgY29uc3QKLXsKLSAgICBEb2N1bWVudCogZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgp
OwotICAgIGlmIChkb2N1bWVudCAmJiBkb2N1bWVudC0+ZnJhbWUoKSkgewotICAgICAgICBpZiAo
TmV0d29ya2luZ0NvbnRleHQqIG5ldHdvcmtpbmdDb250ZXh0ID0gZG9jdW1lbnQtPmZyYW1lKCkt
PmxvYWRlcigpLm5ldHdvcmtpbmdDb250ZXh0KCkpCi0gICAgICAgICAgICByZXR1cm4gbmV0d29y
a2luZ0NvbnRleHQtPnNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllcigpOwotICAgIH0KLQotICAg
IHJldHVybiBlbXB0eVN0cmluZygpOwotfQotCi1ib29sIE1lZGlhU3RyZWFtOjpjYW5Qcm9kdWNl
QXVkaW8oKSBjb25zdAotewotICAgIHJldHVybiAhbXV0ZWQoKSAmJiBhY3RpdmUoKSAmJiBtX3By
aXZhdGUtPmhhc0F1ZGlvKCkgJiYgbV9pc1Byb2R1Y2luZ0RhdGE7Ci19Ci0KLWJvb2wgTWVkaWFT
dHJlYW06OnByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkgY29uc3QKLXsKLSAgICByZXR1
cm4gZG9jdW1lbnQoKSA/IGRvY3VtZW50KCktPnByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlh
KCkgOiBmYWxzZTsKLX0KLQogdm9pZCBNZWRpYVN0cmVhbTo6c3RvcCgpCiB7CiAgICAgbV9pc0Fj
dGl2ZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbS5oCmluZGV4IDM0MGQ0OWVkZGMzMDJlZmE2YTlhOTAzYTliY2ZkYjcxYjcyZGE3
MzkuLjY2NWYxMDlhMWIxMGZlMDgzZmJhMjQxMTI1MjkzMTIzYzdhZjVmYTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmgKQEAgLTM1LDcg
KzM1LDYgQEAKICNpbmNsdWRlICJNZWRpYVByb2R1Y2VyLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJl
YW1Qcml2YXRlLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFjay5oIgotI2luY2x1ZGUgIlBs
YXRmb3JtTWVkaWFTZXNzaW9uLmgiCiAjaW5jbHVkZSAiU2NyaXB0V3JhcHBhYmxlLmgiCiAjaW5j
bHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJVUkxSZWdpc3RyeS5oIgpAQCAtNTQsNyArNTMsNiBA
QCBjbGFzcyBNZWRpYVN0cmVhbSBmaW5hbAogICAgICwgcHVibGljIE1lZGlhU3RyZWFtVHJhY2s6
Ok9ic2VydmVyCiAgICAgLCBwdWJsaWMgTWVkaWFTdHJlYW1Qcml2YXRlOjpPYnNlcnZlcgogICAg
ICwgcHJpdmF0ZSBNZWRpYUNhblN0YXJ0TGlzdGVuZXIKLSAgICAsIHByaXZhdGUgUGxhdGZvcm1N
ZWRpYVNlc3Npb25DbGllbnQKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICAsIHByaXZh
dGUgTG9nZ2VySGVscGVyCiAjZW5kaWYKQEAgLTE0NSwyMiArMTQzLDYgQEAgcHJpdmF0ZToKICAg
ICAvLyBNZWRpYUNhblN0YXJ0TGlzdGVuZXIKICAgICB2b2lkIG1lZGlhQ2FuU3RhcnQoRG9jdW1l
bnQmKSBmaW5hbDsKIAotICAgIC8vIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50Ci0gICAgUGxh
dGZvcm1NZWRpYVNlc3Npb246Ok1lZGlhVHlwZSBtZWRpYVR5cGUoKSBjb25zdCBmaW5hbDsKLSAg
ICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlIHByZXNlbnRhdGlvblR5cGUoKSBjb25z
dCBmaW5hbDsKLSAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Q2hhcmFjdGVyaXN0aWNzRmxhZ3Mg
Y2hhcmFjdGVyaXN0aWNzKCkgY29uc3QgZmluYWw7Ci0gICAgdm9pZCBtYXlSZXN1bWVQbGF5YmFj
ayhib29sIHNob3VsZFJlc3VtZSkgZmluYWw7Ci0gICAgdm9pZCBzdXNwZW5kUGxheWJhY2soKSBm
aW5hbDsKLSAgICBib29sIGNhblJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZHMoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xD
b21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNv
bnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQqKSBmaW5hbCB7
IH0KLSAgICBib29sIHN1cHBvcnRzU2Vla2luZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNl
OyB9Ci0gICAgYm9vbCBzaG91bGRPdmVycmlkZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0aW9u
KFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpJbnRlcnJ1cHRpb25UeXBlKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBmYWxzZTsgfQotICAgIFN0cmluZyBzb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXIoKSBj
b25zdCBmaW5hbDsKLSAgICBib29sIGNhblByb2R1Y2VBdWRpbygpIGNvbnN0IGZpbmFsOwotICAg
IERvY3VtZW50KiBob3N0aW5nRG9jdW1lbnQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBkb2N1bWVu
dCgpOyB9Ci0gICAgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmVGb3JNZWRpYSgpIGNvbnN0IGZp
bmFsOwotICAgIGJvb2wgc2hvdWxkT3ZlcnJpZGVQYXVzZUR1cmluZ1JvdXRlQ2hhbmdlKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQotCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0IEFQSS4K
ICAgICB2b2lkIHN0b3AoKSBmaW5hbDsKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3RO
YW1lKCkgY29uc3QgZmluYWw7CkBAIC0xNzgsNyArMTYwLDYgQEAgcHJpdmF0ZToKICAgICBIYXNo
TWFwPFN0cmluZywgUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+PiBtX3RyYWNrU2V0OwogCiAgICAg
VmVjdG9yPE9ic2VydmVyKj4gbV9vYnNlcnZlcnM7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFBsYXRm
b3JtTWVkaWFTZXNzaW9uPiBtX21lZGlhU2Vzc2lvbjsKIAogICAgIE1lZGlhUHJvZHVjZXI6Ok1l
ZGlhU3RhdGVGbGFncyBtX3N0YXRlIHsgTWVkaWFQcm9kdWNlcjo6SXNOb3RQbGF5aW5nIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtVHJhY2suY3BwCmluZGV4IGNjNjgyZDg0OGFjNDU5NjEyY2VkODM4YjMxMjNlZjI4Y2JjMGM2
OTkuLjY1NjcxZDVhNWVjMTQ5YzUyYTBhNTRkOTI2N2QxZmRmZmM5NzNiMzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNr
LmNwcApAQCAtNjksNiArNjksNyBAQCBNZWRpYVN0cmVhbVRyYWNrOjpNZWRpYVN0cmVhbVRyYWNr
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxNZWRpYVN0cgogICAgICwgbV9w
cml2YXRlKFdURk1vdmUocHJpdmF0ZVRyYWNrKSkKICAgICAsIG1fdGFza1F1ZXVlKGNvbnRleHQp
CiAgICAgLCBtX2lzQ2FwdHVyZVRyYWNrKG1fcHJpdmF0ZS0+aXNDYXB0dXJlVHJhY2soKSkKKyAg
ICAsIG1fbWVkaWFTZXNzaW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpjcmVhdGUoKnRoaXMpKQog
ewogICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CiAgICAgc3VzcGVuZElmTmVlZGVkKCk7
CkBAIC01MzIsNiArNTMzLDkgQEAgdm9pZCBNZWRpYVN0cmVhbVRyYWNrOjp0cmFja0VuYWJsZWRD
aGFuZ2VkKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJikKIHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6
Y29uZmlndXJlVHJhY2tSZW5kZXJpbmcoKQogewogICAgIG1fdGFza1F1ZXVlLmVucXVldWVUYXNr
KFt0aGlzXSB7CisgICAgICAgIGlmIChtX21lZGlhU2Vzc2lvbiAmJiBtX3ByaXZhdGUtPnR5cGUo
KSA9PSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbykKKyAgICAgICAgICAgIG1fbWVk
aWFTZXNzaW9uLT5jYW5Qcm9kdWNlQXVkaW9DaGFuZ2VkKCk7CisKICAgICAgICAgaWYgKGF1dG8g
ZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpKQogICAgICAgICAgICAgZG9jdW1lbnQtPnVwZGF0
ZUlzUGxheWluZ01lZGlhKCk7CiAgICAgfSk7CkBAIC01NzEsNiArNTc1LDU1IEBAIERvY3VtZW50
KiBNZWRpYVN0cmVhbVRyYWNrOjpkb2N1bWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIGRvd25jYXN0
PERvY3VtZW50PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogfQogCitQbGF0Zm9ybU1lZGlh
U2Vzc2lvbjo6TWVkaWFUeXBlIE1lZGlhU3RyZWFtVHJhY2s6Om1lZGlhVHlwZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIChpc0NhcHR1cmVUcmFjaygpICYmIGNhblByb2R1Y2VBdWRpbygpKSA/IFBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpNZWRpYVN0cmVhbUNhcHR1cmluZ0F1ZGlvIDogUGxhdGZvcm1N
ZWRpYVNlc3Npb246Ok5vbmU7Cit9CisKK1BsYXRmb3JtTWVkaWFTZXNzaW9uOjpNZWRpYVR5cGUg
TWVkaWFTdHJlYW1UcmFjazo6cHJlc2VudGF0aW9uVHlwZSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1lZGlhVHlwZSgpOworfQorCitQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Q2hhcmFjdGVyaXN0aWNz
RmxhZ3MgTWVkaWFTdHJlYW1UcmFjazo6Y2hhcmFjdGVyaXN0aWNzKCkgY29uc3QKK3sKKyAgICBp
ZiAoIW1fcHJpdmF0ZS0+aXNBY3RpdmUoKSkKKyAgICAgICAgcmV0dXJuIFBsYXRmb3JtTWVkaWFT
ZXNzaW9uOjpIYXNOb3RoaW5nOworCisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+dHlwZSgpID09IFJl
YWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvID8gUGxhdGZvcm1NZWRpYVNlc3Npb246Okhh
c0F1ZGlvIDogUGxhdGZvcm1NZWRpYVNlc3Npb246Okhhc1ZpZGVvOworfQorCit2b2lkIE1lZGlh
U3RyZWFtVHJhY2s6Om1heVJlc3VtZVBsYXliYWNrKGJvb2wpCit7CisgICAgLy8gRklYTUU6IHNo
b3VsZCBhIG1lZGlhIHN0cmVhbSB0cmFjayBwYXkgYXR0ZW50aW9uIHRvIHRoaXMgZGlyZWN0bHks
IG9yIG9ubHkgd2hlbiBhdHRhY2hlZCB0byBhIG1lZGlhIGVsZW1lbnQ/Cit9CisKK3ZvaWQgTWVk
aWFTdHJlYW1UcmFjazo6c3VzcGVuZFBsYXliYWNrKCkKK3sKKyAgICAvLyBGSVhNRTogc2hvdWxk
IGEgbWVkaWEgc3RyZWFtIHRyYWNrIHBheSBhdHRlbnRpb24gdG8gdGhpcyBkaXJlY3RseSwgb3Ig
b25seSB3aGVuIGF0dGFjaGVkIHRvIGEgbWVkaWEgZWxlbWVudD8KK30KKworU3RyaW5nIE1lZGlh
U3RyZWFtVHJhY2s6OnNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllcigpIGNvbnN0Cit7CisgICAg
YXV0byogZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpOworICAgIGlmIChkb2N1bWVudCAmJiBk
b2N1bWVudC0+ZnJhbWUoKSkgeworICAgICAgICBpZiAoYXV0byogbmV0d29ya2luZ0NvbnRleHQg
PSBkb2N1bWVudC0+ZnJhbWUoKS0+bG9hZGVyKCkubmV0d29ya2luZ0NvbnRleHQoKSkKKyAgICAg
ICAgICAgIHJldHVybiBuZXR3b3JraW5nQ29udGV4dC0+c291cmNlQXBwbGljYXRpb25JZGVudGlm
aWVyKCk7CisgICAgfQorCisgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Cit9CisKK2Jvb2wgTWVk
aWFTdHJlYW1UcmFjazo6Y2FuUHJvZHVjZUF1ZGlvKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9w
cml2YXRlLT50eXBlKCkgPT0gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW8gJiYgIWVu
ZGVkKCkgJiYgIW11dGVkKCk7Cit9CisKK2Jvb2wgTWVkaWFTdHJlYW1UcmFjazo6cHJvY2Vzc2lu
Z1VzZXJHZXN0dXJlRm9yTWVkaWEoKSBjb25zdAoreworICAgIHJldHVybiBkb2N1bWVudCgpID8g
ZG9jdW1lbnQoKS0+cHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEoKSA6IGZhbHNlOworfQor
CiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiBXVEZMb2dDaGFubmVsJiBNZWRpYVN0cmVhbVRy
YWNrOjpsb2dDaGFubmVsKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKaW5kZXggNDY0ZDk1ZmQ2YjMzYWQ4
YzExYTI5YjBiZDc5ZGU2YjY1NjcxNWNhMi4uZGI1NzQyNTgzMGQ2OTVlMDU0OGIxYzVkYmYxYTdk
Yjc4YzIwODBlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbVRyYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJNZWRp
YVByb2R1Y2VyLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuaCIKICNpbmNs
dWRlICJNZWRpYVRyYWNrQ29uc3RyYWludHMuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vz
c2lvbi5oIgogI2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNTMsNiArNTQsNyBAQCBjbGFzcyBNZWRpYVN0cmVhbVRyYWNrCiAgICAgLCBwdWJs
aWMgQWN0aXZlRE9NT2JqZWN0CiAgICAgLCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0
YQogICAgICwgcHJpdmF0ZSBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTo6T2JzZXJ2ZXIKKyAgICAs
IHByaXZhdGUgUGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQKICNpZiAhUkVMRUFTRV9MT0dfRElT
QUJMRUQKICAgICAsIHByaXZhdGUgTG9nZ2VySGVscGVyCiAjZW5kaWYKQEAgLTE4OSw2ICsxOTEs
MjIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHRyYWNrU2V0dGluZ3NDaGFuZ2VkKE1lZGlhU3RyZWFt
VHJhY2tQcml2YXRlJikgZmluYWw7CiAgICAgdm9pZCB0cmFja0VuYWJsZWRDaGFuZ2VkKE1lZGlh
U3RyZWFtVHJhY2tQcml2YXRlJikgZmluYWw7CiAKKyAgICAvLyBQbGF0Zm9ybU1lZGlhU2Vzc2lv
bkNsaWVudAorICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpNZWRpYVR5cGUgbWVkaWFUeXBlKCkg
Y29uc3QgZmluYWw7CisgICAgUGxhdGZvcm1NZWRpYVNlc3Npb246Ok1lZGlhVHlwZSBwcmVzZW50
YXRpb25UeXBlKCkgY29uc3QgZmluYWw7CisgICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OkNoYXJh
Y3RlcmlzdGljc0ZsYWdzIGNoYXJhY3RlcmlzdGljcygpIGNvbnN0IGZpbmFsOworICAgIHZvaWQg
bWF5UmVzdW1lUGxheWJhY2soYm9vbCBzaG91bGRSZXN1bWUpIGZpbmFsOworICAgIHZvaWQgc3Vz
cGVuZFBsYXliYWNrKCkgZmluYWw7CisgICAgYm9vbCBjYW5SZWNlaXZlUmVtb3RlQ29udHJvbENv
bW1hbmRzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2b2lkIGRpZFJlY2Vp
dmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJv
bENvbW1hbmRUeXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFy
Z3VtZW50KikgZmluYWwgeyB9CisgICAgYm9vbCBzdXBwb3J0c1NlZWtpbmcoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBmYWxzZTsgfQorICAgIGJvb2wgc2hvdWxkT3ZlcnJpZGVCYWNrZ3JvdW5kUGxh
eWJhY2tSZXN0cmljdGlvbihQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6SW50ZXJydXB0aW9uVHlwZSkg
Y29uc3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKyAgICBTdHJpbmcgc291cmNlQXBwbGljYXRp
b25JZGVudGlmaWVyKCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBjYW5Qcm9kdWNlQXVkaW8oKSBj
b25zdCBmaW5hbDsKKyAgICBEb2N1bWVudCogaG9zdGluZ0RvY3VtZW50KCkgY29uc3QgZmluYWwg
eyByZXR1cm4gZG9jdW1lbnQoKTsgfQorICAgIGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9y
TWVkaWEoKSBjb25zdCBmaW5hbDsKKyAgICBib29sIHNob3VsZE92ZXJyaWRlUGF1c2VEdXJpbmdS
b3V0ZUNoYW5nZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKwogI2lmICFSRUxFQVNF
X0xPR19ESVNBQkxFRAogICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuICJNZWRpYVN0cmVhbVRyYWNrIjsgfQogICAgIFdURkxvZ0NoYW5uZWwmIGxvZ0No
YW5uZWwoKSBjb25zdCBmaW5hbDsKQEAgLTIwMyw2ICsyMjEsNyBAQCBwcml2YXRlOgogCiAgICAg
Ym9vbCBtX2VuZGVkIHsgZmFsc2UgfTsKICAgICBjb25zdCBib29sIG1faXNDYXB0dXJlVHJhY2sg
eyBmYWxzZSB9OworICAgIHN0ZDo6dW5pcXVlX3B0cjxQbGF0Zm9ybU1lZGlhU2Vzc2lvbj4gbV9t
ZWRpYVNlc3Npb247CiB9OwogCiB0eXBlZGVmIFZlY3RvcjxSZWZQdHI8TWVkaWFTdHJlYW1UcmFj
az4+IE1lZGlhU3RyZWFtVHJhY2tWZWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmNwcAppbmRleCA0MTAw
ZTZiZTJhMjU3ZTQ5Y2U1YmQwNjdkZmRiNTMxNzdhZjBjNDZmLi5kNThjNjlkYzE3MjBjMmYzZTEz
MTdjMjhjYTZmZjY3Yzk2ZjE2MzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5jcHAKQEAgLTIwMiw3ICsy
MDIsNyBAQCBib29sIE1lZGlhU3RyZWFtUHJpdmF0ZTo6aXNQcm9kdWNpbmdEYXRhKCkgY29uc3QK
IGJvb2wgTWVkaWFTdHJlYW1Qcml2YXRlOjpoYXNWaWRlbygpIGNvbnN0CiB7CiAgICAgZm9yIChh
dXRvJiB0cmFjayA6IG1fdHJhY2tTZXQudmFsdWVzKCkpIHsKLSAgICAgICAgaWYgKHRyYWNrLT50
eXBlKCkgPT0gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW8gJiYgdHJhY2stPmVuYWJs
ZWQoKSAmJiAhdHJhY2stPmVuZGVkKCkpCisgICAgICAgIGlmICh0cmFjay0+dHlwZSgpID09IFJl
YWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvICYmIHRyYWNrLT5pc0FjdGl2ZSgpKQogICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKQEAgLTIxMSwy
NSArMjExLDcgQEAgYm9vbCBNZWRpYVN0cmVhbVByaXZhdGU6Omhhc1ZpZGVvKCkgY29uc3QKIGJv
b2wgTWVkaWFTdHJlYW1Qcml2YXRlOjpoYXNBdWRpbygpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRv
JiB0cmFjayA6IG1fdHJhY2tTZXQudmFsdWVzKCkpIHsKLSAgICAgICAgaWYgKHRyYWNrLT50eXBl
KCkgPT0gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW8gJiYgdHJhY2stPmVuYWJsZWQo
KSAmJiAhdHJhY2stPmVuZGVkKCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0g
ICAgcmV0dXJuIGZhbHNlOwotfQotCi1ib29sIE1lZGlhU3RyZWFtUHJpdmF0ZTo6aGFzQ2FwdHVy
ZVZpZGVvU291cmNlKCkgY29uc3QKLXsKLSAgICBmb3IgKGF1dG8mIHRyYWNrIDogbV90cmFja1Nl
dC52YWx1ZXMoKSkgewotICAgICAgICBpZiAodHJhY2stPnR5cGUoKSA9PSBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlOjpWaWRlbyAmJiB0cmFjay0+aXNDYXB0dXJlVHJhY2soKSkKLSAgICAgICAg
ICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgTWVk
aWFTdHJlYW1Qcml2YXRlOjpoYXNDYXB0dXJlQXVkaW9Tb3VyY2UoKSBjb25zdAotewotICAgIGZv
ciAoYXV0byYgdHJhY2sgOiBtX3RyYWNrU2V0LnZhbHVlcygpKSB7Ci0gICAgICAgIGlmICh0cmFj
ay0+dHlwZSgpID09IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvICYmIHRyYWNrLT5p
c0NhcHR1cmVUcmFjaygpICYmICF0cmFjay0+ZW5kZWQoKSAmJiAhdHJhY2stPm11dGVkKCkpCisg
ICAgICAgIGlmICh0cmFjay0+dHlwZSgpID09IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1
ZGlvICYmIHRyYWNrLT5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmgKaW5kZXggYmQ1Nzg1NWU2Mzg0NmU5
OTVkZjhmYzA1ZTM2ZWY5NzZkYjRlYTMwZi4uN2RmZmRiNGNlMGNlMTAzMGJjZjMyMjUzZDQ4M2E3
ZWU4NmYxMGQzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmgKQEAgLTEwMSw5ICsxMDEsNiBAQCBwdWJsaWM6
CiAgICAgYm9vbCBoYXNBdWRpbygpIGNvbnN0OwogICAgIGJvb2wgbXV0ZWQoKSBjb25zdDsKIAot
ICAgIGJvb2wgaGFzQ2FwdHVyZVZpZGVvU291cmNlKCkgY29uc3Q7Ci0gICAgYm9vbCBoYXNDYXB0
dXJlQXVkaW9Tb3VyY2UoKSBjb25zdDsKLQogICAgIEZsb2F0U2l6ZSBpbnRyaW5zaWNTaXplKCkg
Y29uc3Q7CiAKICAgICB2b2lkIG1vbml0b3JPcmllbnRhdGlvbihPcmllbnRhdGlvbk5vdGlmaWVy
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbVRyYWNrUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuaAppbmRleCA5MjVkODc4OTliZTMzZjM4NmIzODE4
MmE3MzAxOTc4YjRiNWI5N2M1Li44Nzc5YjIyZWQwYTZjZjM0NDE2NWJmZGM2M2I1ZjJiMTBiMzlk
OTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbVRyYWNrUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmgKQEAgLTc1LDYgKzc1LDggQEAgcHVibGlj
OgogICAgIGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9CiAgICAgY29u
c3QgU3RyaW5nJiBsYWJlbCgpIGNvbnN0OwogCisgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsg
cmV0dXJuIGVuYWJsZWQoKSAmJiAhZW5kZWQoKSAmJiAhbXV0ZWQoKTsgfQorCiAgICAgYm9vbCBl
bmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNFbmRlZDsgfQogCiAgICAgZW51bSBjbGFzcyBIaW50
VmFsdWUgeyBFbXB0eSwgU3BlZWNoLCBNdXNpYywgTW90aW9uLCBEZXRhaWwsIFRleHQgfTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBiNWIxOWM2NWMwMjYyYWQwNzEwNmRiNzM4NTQ1YmIyNzBiY2VmNWNiLi5kMGNiNzhiNzI0
MzA0MzVjM2FhNTBlOWY5ZTllMGRjNjNhMzBjMDE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MTktMTAtMDcgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1l
ZGlhU3RyZWFtVHJhY2sgc2hvdWxkIGJlIGEgUGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQgaW5z
dGVhZCBvZiBNZWRpYVN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjAyNjMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL2F1ZGlvLXRyYWNrLWVuYWJsZWQuaHRtbDoK
KwogMjAxOS0xMC0wNiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBhdHRhY2hTaGFkb3cgc2hvdWxkIHN1cHBvcnQgYXR0YWNoaW5nIGEgc2hhZG93IHJvb3QgdG8g
YSBtYWluIGVsZW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
YXVkaW8tdHJhY2stZW5hYmxlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9h
dWRpby10cmFjay1lbmFibGVkLmh0bWwKaW5kZXggNWEwMDI4Y2MyZTdlZjMwZDQyZDYwMTMwN2Iy
ODU5OTY1MjRlNThmNy4uY2ExMzhiZTEyMmE1NWRiNTg2NWEwODM0MTU0MWM3NGYwN2I4NTgyNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9hdWRpby10cmFjay1lbmFi
bGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9hdWRpby10cmFjay1l
bmFibGVkLmh0bWwKQEAgLTIzLDYgKzIzLDEwIEBAIHByb21pc2VfdGVzdChhc3luYygpID0+IHsK
ICAgICBzdHJlYW0uZ2V0QXVkaW9UcmFja3MoKVswXS5lbmFibGVkID0gZmFsc2U7CiAgICAgYXdh
aXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDEwKSk7CiAgICAg
YXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSwgIlBsYXlBbmRS
ZWNvcmQiKTsKKworICAgIHN0cmVhbS5yZW1vdmVUcmFjayhzdHJlYW0uZ2V0QXVkaW9UcmFja3Mo
KVswXSk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29s
dmUsIDEwKSk7CisgICAgYXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdv
cnkoKSwgIlBsYXlBbmRSZWNvcmQiKTsKIH0sICJDaGVjayBhdWRpbyBzZXNzaW9uIHN0YXRlIGlu
IGNhc2Ugb2YgZGlzYWJsZWQgYXVkaW8gdHJhY2tzIik7CiA8L3NjcmlwdD4KIDwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380427</attachid>
            <date>2019-10-08 07:08:46 -0700</date>
            <delta_ts>2019-10-08 08:01:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202631-20191008160845.patch</filename>
            <type>text/plain</type>
            <size>22227</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwODIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWJlZGYwZjhiODQyMTE3
YTRhMmJlOWEyZTFiOGRmYmZlZGM3MmJmZC4uZDEzZmYzMmE0MTNiYzUzM2FjZWY5ODRlMmU0MjQ3
NGNhZDU3NzA5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE5LTEwLTA4ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVhbVRyYWNr
IHNob3VsZCBiZSBhIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50IGluc3RlYWQgb2YgTWVkaWFT
dHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
MjYzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1h
a2UgTWVkaWFTdHJlYW1UcmFjayBhIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50LCB3aGljaCBh
bGxvd3MgdHJhY2tpbmcgdHJhY2tzIHRoYXQgYXJlIG5vdCBvd25lZCBieSBhIHN0cmVhbS4KKyAg
ICAgICAgTWVkaWFTdHJlYW0gaXMgbm8gbG9uZ2VyIGEgUGxhdGZvcm1NZWRpYVNlc3Npb25DbGll
bnQgc28gd2UgbW92ZSBzb21lIG9mIE1lZGlhU3RyZWFtIEFQSSBpbXBsZW1lbnRhdGlvbiB0byBN
ZWRpYVN0cmVhbVRyYWNrLgorCisgICAgICAgIENvdmVyZWQgYnkgdXBkYXRlZCB0ZXN0LgorCisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbTo6TWVkaWFTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTdHJlYW06OnN0YXJ0UHJvZHVjaW5nRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0
cmVhbTo6c3RvcFByb2R1Y2luZ0RhdGEpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06
OnN0YXR1c0RpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6bWVkaWFU
eXBlIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjpwcmVz
ZW50YXRpb25UeXBlIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtOjpjaGFyYWN0ZXJpc3RpY3MgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTdHJlYW06Om1heVJlc3VtZVBsYXliYWNrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU3RyZWFtOjpzdXNwZW5kUGxheWJhY2spOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTdHJlYW06OnNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllciBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6Y2FuUHJvZHVjZUF1ZGlvIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjpwcm9jZXNzaW5n
VXNlckdlc3R1cmVGb3JNZWRpYSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNr
OjpNZWRpYVN0cmVhbVRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6
OmNvbmZpZ3VyZVRyYWNrUmVuZGVyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFt
VHJhY2s6Om1lZGlhVHlwZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRy
YWNrOjpwcmVzZW50YXRpb25UeXBlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtVHJhY2s6OmNoYXJhY3RlcmlzdGljcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVN0cmVhbVRyYWNrOjptYXlSZXN1bWVQbGF5YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVN0cmVhbVRyYWNrOjpzdXNwZW5kUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFT
dHJlYW1UcmFjazo6c291cmNlQXBwbGljYXRpb25JZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmNhblByb2R1Y2VBdWRpbyBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpwcm9jZXNzaW5nVXNlckdlc3R1cmVGb3JN
ZWRpYSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRy
YWNrLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXI6OmxvYWQpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtUHJpdmF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVByaXZhdGU6
Omhhc1ZpZGVvIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJpdmF0ZTo6
aGFzQXVkaW8gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1Qcml2YXRlOjpo
YXNDYXB0dXJlVmlkZW9Tb3VyY2UgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTdHJlYW1Qcml2YXRlOjpoYXNDYXB0dXJlQXVkaW9Tb3VyY2UgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmg6
CisKIDIwMTktMTAtMDggIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIE1lZGlhU3RyZWFtVHJhY2sgZG9lcyBub3QgbmVlZCB0byBiZSBhIERvY3VtZW50IGF1ZGlv
IHByb2R1Y2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1
dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdAppbmRleCAyZjk4ZjllMzE1ZWI2ZjgzZTAzMzRjYTdmNzg0OGUzZGVhNGQxMjA5Li5lM2Vl
NDM5ZGVjNWMwMDYxNzg2MDUyN2M1OTczOTIxN2EwZWQ2NWFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTU5Niw2ICs1OTYsOSBAQCAk
KFBST0pFQ1RfRElSKS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCiAkKFBST0pFQ1RfRElSKS9k
b20vRm9jdXNFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9HbG9iYWxFdmVudEhhbmRsZXJz
LmlkbAogJChQUk9KRUNUX0RJUikvZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwKKyQoUFJPSkVDVF9E
SVIpL2RvbS9JZGxlRGVhZGxpbmUuaWRsCiskKFBST0pFQ1RfRElSKS9kb20vSWRsZVJlcXVlc3RD
YWxsYmFjay5pZGwKKyQoUFJPSkVDVF9ESVIpL2RvbS9JZGxlUmVxdWVzdE9wdGlvbnMuaWRsCiAk
KFBST0pFQ1RfRElSKS9kb20vSW5wdXRFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9LZXli
b2FyZEV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikvZG9tL01lc3NhZ2VDaGFubmVsLmlkbApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Qg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA5
M2M1Yzg2NzU4NTk0YWEwYTA3ZGI2MmIwYzhlMDRkMzQ0Yjg3ODFhLi5lNGFmNDY3M2YyYTc1ZTg0
YWU1OWIwNWM0OGZjZGY4NTkxZjk3MjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtODg1LDYgKzg4NSwxMiBAQCAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0lEQlRyYW5zYWN0aW9uTW9kZS5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSURCVHJh
bnNhY3Rpb25Nb2RlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTSURCVmVyc2lvbkNoYW5nZUV2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNJREJWZXJzaW9uQ2hhbmdlRXZlbnQuaAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNJZGxlRGVhZGxpbmUuY3BwCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0lkbGVEZWFkbGlu
ZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0lkbGVS
ZXF1ZXN0Q2FsbGJhY2suY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0lkbGVSZXF1ZXN0Q2FsbGJhY2suaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNJZGxlUmVxdWVzdE9wdGlvbnMuY3BwCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0lkbGVSZXF1ZXN0T3B0aW9ucy5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ltYWdlQml0
bWFwLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNJ
bWFnZUJpdG1hcC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0ltYWdlQml0bWFwT3B0aW9ucy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggZjAzNjA3MDQzNjk3OTg4M2MwMmMx
NTRkZDVlNzBmY2Y5ZjQ4NmU5YS4uODI5NmYzMjFiYjQ5ZWVjZTY1N2NhNzdhYzcwYjQ2ZGJiNTY1
ZTdiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS5jcHAKQEAgLTc5LDcgKzc5LDYgQEAgc3RhdGljIGlubGluZSBNZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZVZlY3RvciBjcmVhdGVUcmFja1ByaXZhdGVWZWN0b3IoY29uc3QgTWVkaWEKIE1l
ZGlhU3RyZWFtOjpNZWRpYVN0cmVhbShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IE1lZGlhU3Ry
ZWFtVHJhY2tWZWN0b3ImIHRyYWNrcykKICAgICA6IEFjdGl2ZURPTU9iamVjdChkb2N1bWVudCkK
ICAgICAsIG1fcHJpdmF0ZShNZWRpYVN0cmVhbVByaXZhdGU6OmNyZWF0ZShkb2N1bWVudC5sb2dn
ZXIoKSwgY3JlYXRlVHJhY2tQcml2YXRlVmVjdG9yKHRyYWNrcykpKQotICAgICwgbV9tZWRpYVNl
c3Npb24oUGxhdGZvcm1NZWRpYVNlc3Npb246OmNyZWF0ZSgqdGhpcykpCiB7CiAgICAgLy8gVGhp
cyBjb25zdHJ1Y3RvciBwcmVzZXJ2ZXMgTWVkaWFTdHJlYW1UcmFjayBpbnN0YW5jZXMgYW5kIG11
c3QgYmUgdXNlZCBieSBjYWxscyBvcmlnaW5hdGluZwogICAgIC8vIGZyb20gdGhlIEphdmFTY3Jp
cHQgTWVkaWFTdHJlYW0gY29uc3RydWN0b3IuCkBAIC05Nyw3ICs5Niw2IEBAIE1lZGlhU3RyZWFt
OjpNZWRpYVN0cmVhbShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tW
ZWN0b3ImIHRyYWNrCiBNZWRpYVN0cmVhbTo6TWVkaWFTdHJlYW0oRG9jdW1lbnQmIGRvY3VtZW50
LCBSZWY8TWVkaWFTdHJlYW1Qcml2YXRlPiYmIHN0cmVhbVByaXZhdGUpCiAgICAgOiBBY3RpdmVE
T01PYmplY3QoZG9jdW1lbnQpCiAgICAgLCBtX3ByaXZhdGUoV1RGTW92ZShzdHJlYW1Qcml2YXRl
KSkKLSAgICAsIG1fbWVkaWFTZXNzaW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpjcmVhdGUoKnRo
aXMpKQogewogICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CiAKQEAgLTMwMiwyMiArMzAw
LDE3IEBAIHZvaWQgTWVkaWFTdHJlYW06OnN0YXJ0UHJvZHVjaW5nRGF0YSgpCiAgICAgaWYgKG1f
aXNQcm9kdWNpbmdEYXRhKQogICAgICAgICByZXR1cm47CiAgICAgbV9pc1Byb2R1Y2luZ0RhdGEg
PSB0cnVlOwotCi0gICAgbV9tZWRpYVNlc3Npb24tPmNhblByb2R1Y2VBdWRpb0NoYW5nZWQoKTsK
ICAgICBtX3ByaXZhdGUtPnN0YXJ0UHJvZHVjaW5nRGF0YSgpOwogfQogCiB2b2lkIE1lZGlhU3Ry
ZWFtOjpzdG9wUHJvZHVjaW5nRGF0YSgpCiB7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVS
KTsKKwogICAgIGlmICghbV9pc1Byb2R1Y2luZ0RhdGEpCiAgICAgICAgIHJldHVybjsKIAotICAg
IEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7Ci0KICAgICBtX2lzUHJvZHVjaW5nRGF0YSA9IGZh
bHNlOwotCi0gICAgbV9tZWRpYVNlc3Npb24tPmNhblByb2R1Y2VBdWRpb0NoYW5nZWQoKTsKLQog
ICAgIG1fcHJpdmF0ZS0+c3RvcFByb2R1Y2luZ0RhdGEoKTsKIH0KIApAQCAtMzM2LDkgKzMyOSw3
IEBAIE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBNZWRpYVN0cmVhbTo6bWVkaWFTdGF0
ZSgpIGNvbnN0CiAKIHZvaWQgTWVkaWFTdHJlYW06OnN0YXR1c0RpZENoYW5nZSgpCiB7Ci0gICAg
bV9tZWRpYVNlc3Npb24tPmNhblByb2R1Y2VBdWRpb0NoYW5nZWQoKTsKLQotICAgIGlmIChEb2N1
bWVudCogZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpKSB7CisgICAgaWYgKGF1dG8qIGRvY3Vt
ZW50ID0gdGhpcy0+ZG9jdW1lbnQoKSkgewogICAgICAgICBpZiAoIW1faXNBY3RpdmUpCiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIGRvY3VtZW50LT51cGRhdGVJc1BsYXlpbmdNZWRpYSgp
OwpAQCAtMzk5LDY4ICszOTAsNiBAQCBEb2N1bWVudCogTWVkaWFTdHJlYW06OmRvY3VtZW50KCkg
Y29uc3QKICAgICByZXR1cm4gZG93bmNhc3Q8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSk7CiB9CiAKLVBsYXRmb3JtTWVkaWFTZXNzaW9uOjpNZWRpYVR5cGUgTWVkaWFTdHJlYW06
Om1lZGlhVHlwZSgpIGNvbnN0Ci17Ci0gICAgLy8gV2Ugb25seSBuZWVkIHRvIG92ZXJyaWRlIHRo
ZSB0eXBlIHdoZW4gY2FwdHVyaW5nIGF1ZGlvLCBIVE1MTWVkaWFFbGVtZW50IGFuZC9vciBXZWJB
dWRpbwotICAgIC8vIHdpbGwgZG8gdGhlIHJpZ2h0IHRoaW5nIHdoZW4gYSBzdHJlYW0gaXMgYXR0
YWNoZWQgdG8gYSBtZWRpYSBlbGVtZW50IG9yIGFuIGF1ZGlvIGNvbnRleHQuCi0gICAgaWYgKG1f
cHJpdmF0ZS0+aGFzQ2FwdHVyZUF1ZGlvU291cmNlKCkpCi0gICAgICAgIHJldHVybiBQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6TWVkaWFTdHJlYW1DYXB0dXJpbmdBdWRpbzsKLQotICAgIHJldHVybiBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Tm9uZTsKLX0KLQotUGxhdGZvcm1NZWRpYVNlc3Npb246Ok1l
ZGlhVHlwZSBNZWRpYVN0cmVhbTo6cHJlc2VudGF0aW9uVHlwZSgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIG1lZGlhVHlwZSgpOwotfQotCi1QbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Q2hhcmFjdGVyaXN0
aWNzRmxhZ3MgTWVkaWFTdHJlYW06OmNoYXJhY3RlcmlzdGljcygpIGNvbnN0Ci17Ci0gICAgUGxh
dGZvcm1NZWRpYVNlc3Npb246OkNoYXJhY3RlcmlzdGljc0ZsYWdzIHN0YXRlID0gUGxhdGZvcm1N
ZWRpYVNlc3Npb246Okhhc05vdGhpbmc7Ci0KLSAgICBpZiAoIW1faXNQcm9kdWNpbmdEYXRhKQot
ICAgICAgICByZXR1cm4gc3RhdGU7Ci0KLSAgICBpZiAobV9wcml2YXRlLT5oYXNBdWRpbygpKQot
ICAgICAgICBzdGF0ZSB8PSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6SGFzQXVkaW87Ci0KLSAgICBp
ZiAobV9wcml2YXRlLT5oYXNWaWRlbygpKQotICAgICAgICBzdGF0ZSB8PSBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbjo6SGFzVmlkZW87Ci0KLSAgICByZXR1cm4gc3RhdGU7Ci19Ci0KLXZvaWQgTWVkaWFT
dHJlYW06Om1heVJlc3VtZVBsYXliYWNrKGJvb2wpCi17Ci0gICAgLy8gRklYTUU6IHNob3VsZCBh
IG1lZGlhIHN0cmVhbSBwYXkgYXR0ZW50aW9uIHRvIHRoaXMgZGlyZWN0bHksIG9yIG9ubHkgd2hl
biBhdHRhY2hlZCB0byBhIG1lZGlhIGVsZW1lbnQ/Ci19Ci0KLXZvaWQgTWVkaWFTdHJlYW06OnN1
c3BlbmRQbGF5YmFjaygpCi17Ci0gICAgLy8gRklYTUU6IHNob3VsZCBhIG1lZGlhIHN0cmVhbSBw
YXkgYXR0ZW50aW9uIHRvIHRoaXMgZGlyZWN0bHksIG9yIG9ubHkgd2hlbiBhdHRhY2hlZCB0byBh
IG1lZGlhIGVsZW1lbnQ/Ci19Ci0KLVN0cmluZyBNZWRpYVN0cmVhbTo6c291cmNlQXBwbGljYXRp
b25JZGVudGlmaWVyKCkgY29uc3QKLXsKLSAgICBEb2N1bWVudCogZG9jdW1lbnQgPSB0aGlzLT5k
b2N1bWVudCgpOwotICAgIGlmIChkb2N1bWVudCAmJiBkb2N1bWVudC0+ZnJhbWUoKSkgewotICAg
ICAgICBpZiAoTmV0d29ya2luZ0NvbnRleHQqIG5ldHdvcmtpbmdDb250ZXh0ID0gZG9jdW1lbnQt
PmZyYW1lKCktPmxvYWRlcigpLm5ldHdvcmtpbmdDb250ZXh0KCkpCi0gICAgICAgICAgICByZXR1
cm4gbmV0d29ya2luZ0NvbnRleHQtPnNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllcigpOwotICAg
IH0KLQotICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotfQotCi1ib29sIE1lZGlhU3RyZWFtOjpj
YW5Qcm9kdWNlQXVkaW8oKSBjb25zdAotewotICAgIHJldHVybiAhbXV0ZWQoKSAmJiBhY3RpdmUo
KSAmJiBtX3ByaXZhdGUtPmhhc0F1ZGlvKCkgJiYgbV9pc1Byb2R1Y2luZ0RhdGE7Ci19Ci0KLWJv
b2wgTWVkaWFTdHJlYW06OnByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gZG9jdW1lbnQoKSA/IGRvY3VtZW50KCktPnByb2Nlc3NpbmdVc2VyR2VzdHVy
ZUZvck1lZGlhKCkgOiBmYWxzZTsKLX0KLQogdm9pZCBNZWRpYVN0cmVhbTo6c3RvcCgpCiB7CiAg
ICAgbV9pc0FjdGl2ZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbS5oCmluZGV4IDM0MGQ0OWVkZGMzMDJlZmE2YTlhOTAzYTliY2Zk
YjcxYjcyZGE3MzkuLjY2NWYxMDlhMWIxMGZlMDgzZmJhMjQxMTI1MjkzMTIzYzdhZjVmYTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmgK
QEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJNZWRpYVByb2R1Y2VyLmgiCiAjaW5jbHVkZSAi
TWVkaWFTdHJlYW1Qcml2YXRlLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFjay5oIgotI2lu
Y2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uLmgiCiAjaW5jbHVkZSAiU2NyaXB0V3JhcHBhYmxl
LmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJVUkxSZWdpc3RyeS5oIgpAQCAtNTQs
NyArNTMsNiBAQCBjbGFzcyBNZWRpYVN0cmVhbSBmaW5hbAogICAgICwgcHVibGljIE1lZGlhU3Ry
ZWFtVHJhY2s6Ok9ic2VydmVyCiAgICAgLCBwdWJsaWMgTWVkaWFTdHJlYW1Qcml2YXRlOjpPYnNl
cnZlcgogICAgICwgcHJpdmF0ZSBNZWRpYUNhblN0YXJ0TGlzdGVuZXIKLSAgICAsIHByaXZhdGUg
UGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAg
ICAsIHByaXZhdGUgTG9nZ2VySGVscGVyCiAjZW5kaWYKQEAgLTE0NSwyMiArMTQzLDYgQEAgcHJp
dmF0ZToKICAgICAvLyBNZWRpYUNhblN0YXJ0TGlzdGVuZXIKICAgICB2b2lkIG1lZGlhQ2FuU3Rh
cnQoRG9jdW1lbnQmKSBmaW5hbDsKIAotICAgIC8vIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50
Ci0gICAgUGxhdGZvcm1NZWRpYVNlc3Npb246Ok1lZGlhVHlwZSBtZWRpYVR5cGUoKSBjb25zdCBm
aW5hbDsKLSAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlIHByZXNlbnRhdGlvblR5
cGUoKSBjb25zdCBmaW5hbDsKLSAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Q2hhcmFjdGVyaXN0
aWNzRmxhZ3MgY2hhcmFjdGVyaXN0aWNzKCkgY29uc3QgZmluYWw7Ci0gICAgdm9pZCBtYXlSZXN1
bWVQbGF5YmFjayhib29sIHNob3VsZFJlc3VtZSkgZmluYWw7Ci0gICAgdm9pZCBzdXNwZW5kUGxh
eWJhY2soKSBmaW5hbDsKLSAgICBib29sIGNhblJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZHMo
KSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90
ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFu
ZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQq
KSBmaW5hbCB7IH0KLSAgICBib29sIHN1cHBvcnRzU2Vla2luZygpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIGZhbHNlOyB9Ci0gICAgYm9vbCBzaG91bGRPdmVycmlkZUJhY2tncm91bmRQbGF5YmFja1Jl
c3RyaWN0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpJbnRlcnJ1cHRpb25UeXBlKSBjb25zdCBm
aW5hbCB7IHJldHVybiBmYWxzZTsgfQotICAgIFN0cmluZyBzb3VyY2VBcHBsaWNhdGlvbklkZW50
aWZpZXIoKSBjb25zdCBmaW5hbDsKLSAgICBib29sIGNhblByb2R1Y2VBdWRpbygpIGNvbnN0IGZp
bmFsOwotICAgIERvY3VtZW50KiBob3N0aW5nRG9jdW1lbnQoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBkb2N1bWVudCgpOyB9Ci0gICAgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmVGb3JNZWRpYSgp
IGNvbnN0IGZpbmFsOwotICAgIGJvb2wgc2hvdWxkT3ZlcnJpZGVQYXVzZUR1cmluZ1JvdXRlQ2hh
bmdlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQotCiAgICAgLy8gQWN0aXZlRE9NT2Jq
ZWN0IEFQSS4KICAgICB2b2lkIHN0b3AoKSBmaW5hbDsKICAgICBjb25zdCBjaGFyKiBhY3RpdmVE
T01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7CkBAIC0xNzgsNyArMTYwLDYgQEAgcHJpdmF0ZToK
ICAgICBIYXNoTWFwPFN0cmluZywgUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+PiBtX3RyYWNrU2V0
OwogCiAgICAgVmVjdG9yPE9ic2VydmVyKj4gbV9vYnNlcnZlcnM7Ci0gICAgc3RkOjp1bmlxdWVf
cHRyPFBsYXRmb3JtTWVkaWFTZXNzaW9uPiBtX21lZGlhU2Vzc2lvbjsKIAogICAgIE1lZGlhUHJv
ZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBtX3N0YXRlIHsgTWVkaWFQcm9kdWNlcjo6SXNOb3RQbGF5
aW5nIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IDE1YTI3YTlkMDYwMjEzYzhlNjI1ZmI0M2JhMjQz
MTRjMjJmMzE4Y2QuLjE0YjJiZjRlZGI2Nzg4OGM5ZDQyNTE1NjcwYTNiMmYxNDZmOTU1ZjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1U
cmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbVRyYWNrLmNwcApAQCAtNjksNiArNjksNyBAQCBNZWRpYVN0cmVhbVRyYWNrOjpNZWRpYVN0
cmVhbVRyYWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxNZWRpYVN0cgog
ICAgICwgbV9wcml2YXRlKFdURk1vdmUocHJpdmF0ZVRyYWNrKSkKICAgICAsIG1fdGFza1F1ZXVl
KGNvbnRleHQpCiAgICAgLCBtX2lzQ2FwdHVyZVRyYWNrKG1fcHJpdmF0ZS0+aXNDYXB0dXJlVHJh
Y2soKSkKKyAgICAsIG1fbWVkaWFTZXNzaW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpjcmVhdGUo
KnRoaXMpKQogewogICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CiAgICAgc3VzcGVuZElm
TmVlZGVkKCk7CkBAIC01MzIsNiArNTMzLDkgQEAgdm9pZCBNZWRpYVN0cmVhbVRyYWNrOjp0cmFj
a0VuYWJsZWRDaGFuZ2VkKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJikKIHZvaWQgTWVkaWFTdHJl
YW1UcmFjazo6Y29uZmlndXJlVHJhY2tSZW5kZXJpbmcoKQogewogICAgIG1fdGFza1F1ZXVlLmVu
cXVldWVUYXNrKFt0aGlzXSB7CisgICAgICAgIGlmIChtX21lZGlhU2Vzc2lvbiAmJiBtX3ByaXZh
dGUtPnR5cGUoKSA9PSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbykKKyAgICAgICAg
ICAgIG1fbWVkaWFTZXNzaW9uLT5jYW5Qcm9kdWNlQXVkaW9DaGFuZ2VkKCk7CisKICAgICAgICAg
aWYgKGF1dG8gZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpKQogICAgICAgICAgICAgZG9jdW1l
bnQtPnVwZGF0ZUlzUGxheWluZ01lZGlhKCk7CiAgICAgfSk7CkBAIC01NzEsNiArNTc1LDU1IEBA
IERvY3VtZW50KiBNZWRpYVN0cmVhbVRyYWNrOjpkb2N1bWVudCgpIGNvbnN0CiAgICAgcmV0dXJu
IGRvd25jYXN0PERvY3VtZW50PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogfQogCitQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlIE1lZGlhU3RyZWFtVHJhY2s6Om1lZGlhVHlwZSgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIChpc0NhcHR1cmVUcmFjaygpICYmIGNhblByb2R1Y2VBdWRp
bygpKSA/IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpNZWRpYVN0cmVhbUNhcHR1cmluZ0F1ZGlvIDog
UGxhdGZvcm1NZWRpYVNlc3Npb246Ok5vbmU7Cit9CisKK1BsYXRmb3JtTWVkaWFTZXNzaW9uOjpN
ZWRpYVR5cGUgTWVkaWFTdHJlYW1UcmFjazo6cHJlc2VudGF0aW9uVHlwZSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1lZGlhVHlwZSgpOworfQorCitQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Q2hhcmFj
dGVyaXN0aWNzRmxhZ3MgTWVkaWFTdHJlYW1UcmFjazo6Y2hhcmFjdGVyaXN0aWNzKCkgY29uc3QK
K3sKKyAgICBpZiAoIW1fcHJpdmF0ZS0+aXNBY3RpdmUoKSkKKyAgICAgICAgcmV0dXJuIFBsYXRm
b3JtTWVkaWFTZXNzaW9uOjpIYXNOb3RoaW5nOworCisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+dHlw
ZSgpID09IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvID8gUGxhdGZvcm1NZWRpYVNl
c3Npb246Okhhc0F1ZGlvIDogUGxhdGZvcm1NZWRpYVNlc3Npb246Okhhc1ZpZGVvOworfQorCit2
b2lkIE1lZGlhU3RyZWFtVHJhY2s6Om1heVJlc3VtZVBsYXliYWNrKGJvb2wpCit7CisgICAgLy8g
RklYTUU6IHNob3VsZCBhIG1lZGlhIHN0cmVhbSB0cmFjayBwYXkgYXR0ZW50aW9uIHRvIHRoaXMg
ZGlyZWN0bHksIG9yIG9ubHkgd2hlbiBhdHRhY2hlZCB0byBhIG1lZGlhIGVsZW1lbnQ/Cit9CisK
K3ZvaWQgTWVkaWFTdHJlYW1UcmFjazo6c3VzcGVuZFBsYXliYWNrKCkKK3sKKyAgICAvLyBGSVhN
RTogc2hvdWxkIGEgbWVkaWEgc3RyZWFtIHRyYWNrIHBheSBhdHRlbnRpb24gdG8gdGhpcyBkaXJl
Y3RseSwgb3Igb25seSB3aGVuIGF0dGFjaGVkIHRvIGEgbWVkaWEgZWxlbWVudD8KK30KKworU3Ry
aW5nIE1lZGlhU3RyZWFtVHJhY2s6OnNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllcigpIGNvbnN0
Cit7CisgICAgYXV0byogZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpOworICAgIGlmIChkb2N1
bWVudCAmJiBkb2N1bWVudC0+ZnJhbWUoKSkgeworICAgICAgICBpZiAoYXV0byogbmV0d29ya2lu
Z0NvbnRleHQgPSBkb2N1bWVudC0+ZnJhbWUoKS0+bG9hZGVyKCkubmV0d29ya2luZ0NvbnRleHQo
KSkKKyAgICAgICAgICAgIHJldHVybiBuZXR3b3JraW5nQ29udGV4dC0+c291cmNlQXBwbGljYXRp
b25JZGVudGlmaWVyKCk7CisgICAgfQorCisgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Cit9CisK
K2Jvb2wgTWVkaWFTdHJlYW1UcmFjazo6Y2FuUHJvZHVjZUF1ZGlvKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9wcml2YXRlLT50eXBlKCkgPT0gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVk
aW8gJiYgIWVuZGVkKCkgJiYgIW11dGVkKCk7Cit9CisKK2Jvb2wgTWVkaWFTdHJlYW1UcmFjazo6
cHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEoKSBjb25zdAoreworICAgIHJldHVybiBkb2N1
bWVudCgpID8gZG9jdW1lbnQoKS0+cHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEoKSA6IGZh
bHNlOworfQorCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiBXVEZMb2dDaGFubmVsJiBNZWRp
YVN0cmVhbVRyYWNrOjpsb2dDaGFubmVsKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKaW5kZXggMDNmODFl
YzcwZjcyNThjNjU5NDJiN2Y2OGZkNzNjM2E3MmYzMDIzYy4uNmIxNjY5ZDI2MjNkNDBiMmEyYTk5
OWVkNzQyMDJhYzlmYjdmOTMzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNs
dWRlICJNZWRpYVByb2R1Y2VyLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUu
aCIKICNpbmNsdWRlICJNZWRpYVRyYWNrQ29uc3RyYWludHMuaCIKKyNpbmNsdWRlICJQbGF0Zm9y
bU1lZGlhU2Vzc2lvbi5oIgogI2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNTMsNiArNTQsNyBAQCBjbGFzcyBNZWRpYVN0cmVhbVRyYWNrCiAg
ICAgLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0CiAgICAgLCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRo
SW5saW5lRGF0YQogICAgICwgcHJpdmF0ZSBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTo6T2JzZXJ2
ZXIKKyAgICAsIHByaXZhdGUgUGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQKICNpZiAhUkVMRUFT
RV9MT0dfRElTQUJMRUQKICAgICAsIHByaXZhdGUgTG9nZ2VySGVscGVyCiAjZW5kaWYKQEAgLTE4
OSw2ICsxOTEsMjIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHRyYWNrU2V0dGluZ3NDaGFuZ2VkKE1l
ZGlhU3RyZWFtVHJhY2tQcml2YXRlJikgZmluYWw7CiAgICAgdm9pZCB0cmFja0VuYWJsZWRDaGFu
Z2VkKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJikgZmluYWw7CiAKKyAgICAvLyBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbkNsaWVudAorICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpNZWRpYVR5cGUgbWVk
aWFUeXBlKCkgY29uc3QgZmluYWw7CisgICAgUGxhdGZvcm1NZWRpYVNlc3Npb246Ok1lZGlhVHlw
ZSBwcmVzZW50YXRpb25UeXBlKCkgY29uc3QgZmluYWw7CisgICAgUGxhdGZvcm1NZWRpYVNlc3Np
b246OkNoYXJhY3RlcmlzdGljc0ZsYWdzIGNoYXJhY3RlcmlzdGljcygpIGNvbnN0IGZpbmFsOwor
ICAgIHZvaWQgbWF5UmVzdW1lUGxheWJhY2soYm9vbCBzaG91bGRSZXN1bWUpIGZpbmFsOworICAg
IHZvaWQgc3VzcGVuZFBsYXliYWNrKCkgZmluYWw7CisgICAgYm9vbCBjYW5SZWNlaXZlUmVtb3Rl
Q29udHJvbENvbW1hbmRzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2b2lk
IGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVt
b3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3Rl
Q29tbWFuZEFyZ3VtZW50KikgZmluYWwgeyB9CisgICAgYm9vbCBzdXBwb3J0c1NlZWtpbmcoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQorICAgIGJvb2wgc2hvdWxkT3ZlcnJpZGVCYWNr
Z3JvdW5kUGxheWJhY2tSZXN0cmljdGlvbihQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6SW50ZXJydXB0
aW9uVHlwZSkgY29uc3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKyAgICBTdHJpbmcgc291cmNl
QXBwbGljYXRpb25JZGVudGlmaWVyKCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBjYW5Qcm9kdWNl
QXVkaW8oKSBjb25zdCBmaW5hbDsKKyAgICBEb2N1bWVudCogaG9zdGluZ0RvY3VtZW50KCkgY29u
c3QgZmluYWwgeyByZXR1cm4gZG9jdW1lbnQoKTsgfQorICAgIGJvb2wgcHJvY2Vzc2luZ1VzZXJH
ZXN0dXJlRm9yTWVkaWEoKSBjb25zdCBmaW5hbDsKKyAgICBib29sIHNob3VsZE92ZXJyaWRlUGF1
c2VEdXJpbmdSb3V0ZUNoYW5nZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKwogI2lm
ICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuICJNZWRpYVN0cmVhbVRyYWNrIjsgfQogICAgIFdURkxvZ0NoYW5u
ZWwmIGxvZ0NoYW5uZWwoKSBjb25zdCBmaW5hbDsKQEAgLTIwMyw2ICsyMjEsNyBAQCBwcml2YXRl
OgogCiAgICAgYm9vbCBtX2VuZGVkIHsgZmFsc2UgfTsKICAgICBjb25zdCBib29sIG1faXNDYXB0
dXJlVHJhY2sgeyBmYWxzZSB9OworICAgIHN0ZDo6dW5pcXVlX3B0cjxQbGF0Zm9ybU1lZGlhU2Vz
c2lvbj4gbV9tZWRpYVNlc3Npb247CiB9OwogCiB0eXBlZGVmIFZlY3RvcjxSZWZQdHI8TWVkaWFT
dHJlYW1UcmFjaz4+IE1lZGlhU3RyZWFtVHJhY2tWZWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IDBhYWNkYWMyZTE1MDlmMDI5OThh
NTc4ZDRiNTlkMmU2Y2JhZDRmMjQuLjc5ZWFlNzA0ZTI4MjMyYjcxN2YzYzZmODljOGZlYjM3NTM4
ZjhkZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
Y3BwCkBAIC0zMjgsOSArMzI4LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6
OmxvYWQoTWVkaWFTdHJlYW1Qcml2YXRlJiBzdHJlYW0pCiB7CiAgICAgbV9zdHJlYW1Qcml2YXRl
ID0gJnN0cmVhbTsKICAgICBzdGF0aWMgQXRvbWljPHVpbnQzMl90PiBwaXBlbGluZUlkOwotICAg
IGF1dG8gcGlwZWxpbmVOYW1lID0gbWFrZVN0cmluZygibWVkaWFzdHJlYW0tIiwKLSAgICAgICAg
KHN0cmVhbS5oYXNDYXB0dXJlVmlkZW9Tb3VyY2UoKSB8fCBzdHJlYW0uaGFzQ2FwdHVyZUF1ZGlv
U291cmNlKCkpID8gImxvY2FsIiA6ICJyZW1vdGUiLAotICAgICAgICAiLSIsIHBpcGVsaW5lSWQu
ZXhjaGFuZ2VBZGQoMSkpOworICAgIGF1dG8gcGlwZWxpbmVOYW1lID0gbWFrZVN0cmluZygibWVk
aWFzdHJlYW0tIiwgcGlwZWxpbmVJZC5leGNoYW5nZUFkZCgxKSk7CiAKICAgICBsb2FkRnVsbChT
dHJpbmcoIm1lZGlhc3RyZWFtOi8vIikgKyBzdHJlYW0uaWQoKSwgcGlwZWxpbmVOYW1lKTsKICAg
ICBzeW5jT25DbG9jayhmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmNwcAppbmRleCA0MTAwZTZiZTJh
MjU3ZTQ5Y2U1YmQwNjdkZmRiNTMxNzdhZjBjNDZmLi5kNThjNjlkYzE3MjBjMmYzZTEzMTdjMjhj
YTZmZjY3Yzk2ZjE2MzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5jcHAKQEAgLTIwMiw3ICsyMDIsNyBA
QCBib29sIE1lZGlhU3RyZWFtUHJpdmF0ZTo6aXNQcm9kdWNpbmdEYXRhKCkgY29uc3QKIGJvb2wg
TWVkaWFTdHJlYW1Qcml2YXRlOjpoYXNWaWRlbygpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvJiB0
cmFjayA6IG1fdHJhY2tTZXQudmFsdWVzKCkpIHsKLSAgICAgICAgaWYgKHRyYWNrLT50eXBlKCkg
PT0gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW8gJiYgdHJhY2stPmVuYWJsZWQoKSAm
JiAhdHJhY2stPmVuZGVkKCkpCisgICAgICAgIGlmICh0cmFjay0+dHlwZSgpID09IFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvICYmIHRyYWNrLT5pc0FjdGl2ZSgpKQogICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKQEAgLTIxMSwyNSArMjEx
LDcgQEAgYm9vbCBNZWRpYVN0cmVhbVByaXZhdGU6Omhhc1ZpZGVvKCkgY29uc3QKIGJvb2wgTWVk
aWFTdHJlYW1Qcml2YXRlOjpoYXNBdWRpbygpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvJiB0cmFj
ayA6IG1fdHJhY2tTZXQudmFsdWVzKCkpIHsKLSAgICAgICAgaWYgKHRyYWNrLT50eXBlKCkgPT0g
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW8gJiYgdHJhY2stPmVuYWJsZWQoKSAmJiAh
dHJhY2stPmVuZGVkKCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0
dXJuIGZhbHNlOwotfQotCi1ib29sIE1lZGlhU3RyZWFtUHJpdmF0ZTo6aGFzQ2FwdHVyZVZpZGVv
U291cmNlKCkgY29uc3QKLXsKLSAgICBmb3IgKGF1dG8mIHRyYWNrIDogbV90cmFja1NldC52YWx1
ZXMoKSkgewotICAgICAgICBpZiAodHJhY2stPnR5cGUoKSA9PSBSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlOjpWaWRlbyAmJiB0cmFjay0+aXNDYXB0dXJlVHJhY2soKSkKLSAgICAgICAgICAgIHJl
dHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgTWVkaWFTdHJl
YW1Qcml2YXRlOjpoYXNDYXB0dXJlQXVkaW9Tb3VyY2UoKSBjb25zdAotewotICAgIGZvciAoYXV0
byYgdHJhY2sgOiBtX3RyYWNrU2V0LnZhbHVlcygpKSB7Ci0gICAgICAgIGlmICh0cmFjay0+dHlw
ZSgpID09IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvICYmIHRyYWNrLT5pc0NhcHR1
cmVUcmFjaygpICYmICF0cmFjay0+ZW5kZWQoKSAmJiAhdHJhY2stPm11dGVkKCkpCisgICAgICAg
IGlmICh0cmFjay0+dHlwZSgpID09IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvICYm
IHRyYWNrLT5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAg
IHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmgKaW5kZXggYmQ1Nzg1NWU2Mzg0NmU5OTVkZjhm
YzA1ZTM2ZWY5NzZkYjRlYTMwZi4uN2RmZmRiNGNlMGNlMTAzMGJjZjMyMjUzZDQ4M2E3ZWU4NmYx
MGQzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1Qcml2YXRlLmgKQEAgLTEwMSw5ICsxMDEsNiBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBoYXNBdWRpbygpIGNvbnN0OwogICAgIGJvb2wgbXV0ZWQoKSBjb25zdDsKIAotICAgIGJv
b2wgaGFzQ2FwdHVyZVZpZGVvU291cmNlKCkgY29uc3Q7Ci0gICAgYm9vbCBoYXNDYXB0dXJlQXVk
aW9Tb3VyY2UoKSBjb25zdDsKLQogICAgIEZsb2F0U2l6ZSBpbnRyaW5zaWNTaXplKCkgY29uc3Q7
CiAKICAgICB2b2lkIG1vbml0b3JPcmllbnRhdGlvbihPcmllbnRhdGlvbk5vdGlmaWVyJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1UcmFja1ByaXZhdGUuaAppbmRleCA5MjVkODc4OTliZTMzZjM4NmIzODE4MmE3MzAx
OTc4YjRiNWI5N2M1Li44Nzc5YjIyZWQwYTZjZjM0NDE2NWJmZGM2M2I1ZjJiMTBiMzlkOTMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmgKQEAgLTc1LDYgKzc1LDggQEAgcHVibGljOgogICAg
IGNvbnN0IFN0cmluZyYgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9CiAgICAgY29uc3QgU3Ry
aW5nJiBsYWJlbCgpIGNvbnN0OwogCisgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJu
IGVuYWJsZWQoKSAmJiAhZW5kZWQoKSAmJiAhbXV0ZWQoKTsgfQorCiAgICAgYm9vbCBlbmRlZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNFbmRlZDsgfQogCiAgICAgZW51bSBjbGFzcyBIaW50VmFsdWUg
eyBFbXB0eSwgU3BlZWNoLCBNdXNpYywgTW90aW9uLCBEZXRhaWwsIFRleHQgfTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4
YjEzZGRjNmYxYTQ5Yjk4OGFmMjE2MzQ0NjdmNzk4ZGY4NzFiODdmLi40M2NkOGQ1MGE3M2ExYjNh
ZTVjNDllMzhiZTFiOTI1MDhhYzQwMjQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMTAt
MDggIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhU3Ry
ZWFtVHJhY2sgc2hvdWxkIGJlIGEgUGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQgaW5zdGVhZCBv
ZiBNZWRpYVN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjAyNjMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL2F1ZGlvLXRyYWNrLWVuYWJsZWQuaHRtbDoKKwogMjAx
OS0xMC0wOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NT
UyBTaGFkb3cgUGFydHNdIEludGVybmFsIHNoYWRvdyBwc2V1ZG8gZWxlbWVudHMgc2hvdWxkIHdv
cmsgd2l0aCA6OnBhcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
YXVkaW8tdHJhY2stZW5hYmxlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9h
dWRpby10cmFjay1lbmFibGVkLmh0bWwKaW5kZXggNWEwMDI4Y2MyZTdlZjMwZDQyZDYwMTMwN2Iy
ODU5OTY1MjRlNThmNy4uY2ExMzhiZTEyMmE1NWRiNTg2NWEwODM0MTU0MWM3NGYwN2I4NTgyNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9hdWRpby10cmFjay1lbmFi
bGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9hdWRpby10cmFjay1l
bmFibGVkLmh0bWwKQEAgLTIzLDYgKzIzLDEwIEBAIHByb21pc2VfdGVzdChhc3luYygpID0+IHsK
ICAgICBzdHJlYW0uZ2V0QXVkaW9UcmFja3MoKVswXS5lbmFibGVkID0gZmFsc2U7CiAgICAgYXdh
aXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDEwKSk7CiAgICAg
YXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSwgIlBsYXlBbmRS
ZWNvcmQiKTsKKworICAgIHN0cmVhbS5yZW1vdmVUcmFjayhzdHJlYW0uZ2V0QXVkaW9UcmFja3Mo
KVswXSk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29s
dmUsIDEwKSk7CisgICAgYXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdv
cnkoKSwgIlBsYXlBbmRSZWNvcmQiKTsKIH0sICJDaGVjayBhdWRpbyBzZXNzaW9uIHN0YXRlIGlu
IGNhc2Ugb2YgZGlzYWJsZWQgYXVkaW8gdHJhY2tzIik7CiA8L3NjcmlwdD4KIDwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380429</attachid>
            <date>2019-10-08 08:01:55 -0700</date>
            <delta_ts>2019-10-08 12:54:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202631-20191008170154.patch</filename>
            <type>text/plain</type>
            <size>20272</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwODIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWJlZGYwZjhiODQyMTE3
YTRhMmJlOWEyZTFiOGRmYmZlZGM3MmJmZC4uZDEzZmYzMmE0MTNiYzUzM2FjZWY5ODRlMmU0MjQ3
NGNhZDU3NzA5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE5LTEwLTA4ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVhbVRyYWNr
IHNob3VsZCBiZSBhIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50IGluc3RlYWQgb2YgTWVkaWFT
dHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
MjYzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1h
a2UgTWVkaWFTdHJlYW1UcmFjayBhIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50LCB3aGljaCBh
bGxvd3MgdHJhY2tpbmcgdHJhY2tzIHRoYXQgYXJlIG5vdCBvd25lZCBieSBhIHN0cmVhbS4KKyAg
ICAgICAgTWVkaWFTdHJlYW0gaXMgbm8gbG9uZ2VyIGEgUGxhdGZvcm1NZWRpYVNlc3Npb25DbGll
bnQgc28gd2UgbW92ZSBzb21lIG9mIE1lZGlhU3RyZWFtIEFQSSBpbXBsZW1lbnRhdGlvbiB0byBN
ZWRpYVN0cmVhbVRyYWNrLgorCisgICAgICAgIENvdmVyZWQgYnkgdXBkYXRlZCB0ZXN0LgorCisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbTo6TWVkaWFTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTdHJlYW06OnN0YXJ0UHJvZHVjaW5nRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0
cmVhbTo6c3RvcFByb2R1Y2luZ0RhdGEpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06
OnN0YXR1c0RpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6bWVkaWFU
eXBlIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjpwcmVz
ZW50YXRpb25UeXBlIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtOjpjaGFyYWN0ZXJpc3RpY3MgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTdHJlYW06Om1heVJlc3VtZVBsYXliYWNrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU3RyZWFtOjpzdXNwZW5kUGxheWJhY2spOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTdHJlYW06OnNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllciBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6Y2FuUHJvZHVjZUF1ZGlvIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjpwcm9jZXNzaW5n
VXNlckdlc3R1cmVGb3JNZWRpYSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNr
OjpNZWRpYVN0cmVhbVRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6
OmNvbmZpZ3VyZVRyYWNrUmVuZGVyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFt
VHJhY2s6Om1lZGlhVHlwZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRy
YWNrOjpwcmVzZW50YXRpb25UeXBlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtVHJhY2s6OmNoYXJhY3RlcmlzdGljcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVN0cmVhbVRyYWNrOjptYXlSZXN1bWVQbGF5YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVN0cmVhbVRyYWNrOjpzdXNwZW5kUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFT
dHJlYW1UcmFjazo6c291cmNlQXBwbGljYXRpb25JZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmNhblByb2R1Y2VBdWRpbyBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpwcm9jZXNzaW5nVXNlckdlc3R1cmVGb3JN
ZWRpYSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRy
YWNrLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXI6OmxvYWQpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtUHJpdmF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVByaXZhdGU6
Omhhc1ZpZGVvIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJpdmF0ZTo6
aGFzQXVkaW8gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1Qcml2YXRlOjpo
YXNDYXB0dXJlVmlkZW9Tb3VyY2UgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTdHJlYW1Qcml2YXRlOjpoYXNDYXB0dXJlQXVkaW9Tb3VyY2UgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmg6
CisKIDIwMTktMTAtMDggIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIE1lZGlhU3RyZWFtVHJhY2sgZG9lcyBub3QgbmVlZCB0byBiZSBhIERvY3VtZW50IGF1ZGlv
IHByb2R1Y2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uY3BwCmluZGV4IGYwMzYwNzA0MzY5Nzk4ODNjMDJjMTU0ZGQ1ZTcwZmNmOWY0ODZl
OWEuLjgyOTZmMzIxYmI0OWVlY2U2NTdjYTc3YWM3MGI0NmRiYjU2NWU3YjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCkBAIC03
OSw3ICs3OSw2IEBAIHN0YXRpYyBpbmxpbmUgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGVWZWN0b3Ig
Y3JlYXRlVHJhY2tQcml2YXRlVmVjdG9yKGNvbnN0IE1lZGlhCiBNZWRpYVN0cmVhbTo6TWVkaWFT
dHJlYW0oRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBNZWRpYVN0cmVhbVRyYWNrVmVjdG9yJiB0
cmFja3MpCiAgICAgOiBBY3RpdmVET01PYmplY3QoZG9jdW1lbnQpCiAgICAgLCBtX3ByaXZhdGUo
TWVkaWFTdHJlYW1Qcml2YXRlOjpjcmVhdGUoZG9jdW1lbnQubG9nZ2VyKCksIGNyZWF0ZVRyYWNr
UHJpdmF0ZVZlY3Rvcih0cmFja3MpKSkKLSAgICAsIG1fbWVkaWFTZXNzaW9uKFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpjcmVhdGUoKnRoaXMpKQogewogICAgIC8vIFRoaXMgY29uc3RydWN0b3IgcHJl
c2VydmVzIE1lZGlhU3RyZWFtVHJhY2sgaW5zdGFuY2VzIGFuZCBtdXN0IGJlIHVzZWQgYnkgY2Fs
bHMgb3JpZ2luYXRpbmcKICAgICAvLyBmcm9tIHRoZSBKYXZhU2NyaXB0IE1lZGlhU3RyZWFtIGNv
bnN0cnVjdG9yLgpAQCAtOTcsNyArOTYsNiBAQCBNZWRpYVN0cmVhbTo6TWVkaWFTdHJlYW0oRG9j
dW1lbnQmIGRvY3VtZW50LCBjb25zdCBNZWRpYVN0cmVhbVRyYWNrVmVjdG9yJiB0cmFjawogTWVk
aWFTdHJlYW06Ok1lZGlhU3RyZWFtKERvY3VtZW50JiBkb2N1bWVudCwgUmVmPE1lZGlhU3RyZWFt
UHJpdmF0ZT4mJiBzdHJlYW1Qcml2YXRlKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KGRvY3VtZW50
KQogICAgICwgbV9wcml2YXRlKFdURk1vdmUoc3RyZWFtUHJpdmF0ZSkpCi0gICAgLCBtX21lZGlh
U2Vzc2lvbihQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Y3JlYXRlKCp0aGlzKSkKIHsKICAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIpOwogCkBAIC0zMDIsMjIgKzMwMCwxNyBAQCB2b2lkIE1lZGlh
U3RyZWFtOjpzdGFydFByb2R1Y2luZ0RhdGEoKQogICAgIGlmIChtX2lzUHJvZHVjaW5nRGF0YSkK
ICAgICAgICAgcmV0dXJuOwogICAgIG1faXNQcm9kdWNpbmdEYXRhID0gdHJ1ZTsKLQotICAgIG1f
bWVkaWFTZXNzaW9uLT5jYW5Qcm9kdWNlQXVkaW9DaGFuZ2VkKCk7CiAgICAgbV9wcml2YXRlLT5z
dGFydFByb2R1Y2luZ0RhdGEoKTsKIH0KIAogdm9pZCBNZWRpYVN0cmVhbTo6c3RvcFByb2R1Y2lu
Z0RhdGEoKQogeworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisKICAgICBpZiAoIW1f
aXNQcm9kdWNpbmdEYXRhKQogICAgICAgICByZXR1cm47CiAKLSAgICBBTFdBWVNfTE9HKExPR0lE
RU5USUZJRVIpOwotCiAgICAgbV9pc1Byb2R1Y2luZ0RhdGEgPSBmYWxzZTsKLQotICAgIG1fbWVk
aWFTZXNzaW9uLT5jYW5Qcm9kdWNlQXVkaW9DaGFuZ2VkKCk7Ci0KICAgICBtX3ByaXZhdGUtPnN0
b3BQcm9kdWNpbmdEYXRhKCk7CiB9CiAKQEAgLTMzNiw5ICszMjksNyBAQCBNZWRpYVByb2R1Y2Vy
OjpNZWRpYVN0YXRlRmxhZ3MgTWVkaWFTdHJlYW06Om1lZGlhU3RhdGUoKSBjb25zdAogCiB2b2lk
IE1lZGlhU3RyZWFtOjpzdGF0dXNEaWRDaGFuZ2UoKQogewotICAgIG1fbWVkaWFTZXNzaW9uLT5j
YW5Qcm9kdWNlQXVkaW9DaGFuZ2VkKCk7Ci0KLSAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0g
dGhpcy0+ZG9jdW1lbnQoKSkgeworICAgIGlmIChhdXRvKiBkb2N1bWVudCA9IHRoaXMtPmRvY3Vt
ZW50KCkpIHsKICAgICAgICAgaWYgKCFtX2lzQWN0aXZlKQogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICBkb2N1bWVudC0+dXBkYXRlSXNQbGF5aW5nTWVkaWEoKTsKQEAgLTM5OSw2OCArMzkw
LDYgQEAgRG9jdW1lbnQqIE1lZGlhU3RyZWFtOjpkb2N1bWVudCgpIGNvbnN0CiAgICAgcmV0dXJu
IGRvd25jYXN0PERvY3VtZW50PihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogfQogCi1QbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlIE1lZGlhU3RyZWFtOjptZWRpYVR5cGUoKSBjb25z
dAotewotICAgIC8vIFdlIG9ubHkgbmVlZCB0byBvdmVycmlkZSB0aGUgdHlwZSB3aGVuIGNhcHR1
cmluZyBhdWRpbywgSFRNTE1lZGlhRWxlbWVudCBhbmQvb3IgV2ViQXVkaW8KLSAgICAvLyB3aWxs
IGRvIHRoZSByaWdodCB0aGluZyB3aGVuIGEgc3RyZWFtIGlzIGF0dGFjaGVkIHRvIGEgbWVkaWEg
ZWxlbWVudCBvciBhbiBhdWRpbyBjb250ZXh0LgotICAgIGlmIChtX3ByaXZhdGUtPmhhc0NhcHR1
cmVBdWRpb1NvdXJjZSgpKQotICAgICAgICByZXR1cm4gUGxhdGZvcm1NZWRpYVNlc3Npb246Ok1l
ZGlhU3RyZWFtQ2FwdHVyaW5nQXVkaW87Ci0KLSAgICByZXR1cm4gUGxhdGZvcm1NZWRpYVNlc3Np
b246Ok5vbmU7Ci19Ci0KLVBsYXRmb3JtTWVkaWFTZXNzaW9uOjpNZWRpYVR5cGUgTWVkaWFTdHJl
YW06OnByZXNlbnRhdGlvblR5cGUoKSBjb25zdAotewotICAgIHJldHVybiBtZWRpYVR5cGUoKTsK
LX0KLQotUGxhdGZvcm1NZWRpYVNlc3Npb246OkNoYXJhY3RlcmlzdGljc0ZsYWdzIE1lZGlhU3Ry
ZWFtOjpjaGFyYWN0ZXJpc3RpY3MoKSBjb25zdAotewotICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpDaGFyYWN0ZXJpc3RpY3NGbGFncyBzdGF0ZSA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpIYXNO
b3RoaW5nOwotCi0gICAgaWYgKCFtX2lzUHJvZHVjaW5nRGF0YSkKLSAgICAgICAgcmV0dXJuIHN0
YXRlOwotCi0gICAgaWYgKG1fcHJpdmF0ZS0+aGFzQXVkaW8oKSkKLSAgICAgICAgc3RhdGUgfD0g
UGxhdGZvcm1NZWRpYVNlc3Npb246Okhhc0F1ZGlvOwotCi0gICAgaWYgKG1fcHJpdmF0ZS0+aGFz
VmlkZW8oKSkKLSAgICAgICAgc3RhdGUgfD0gUGxhdGZvcm1NZWRpYVNlc3Npb246Okhhc1ZpZGVv
OwotCi0gICAgcmV0dXJuIHN0YXRlOwotfQotCi12b2lkIE1lZGlhU3RyZWFtOjptYXlSZXN1bWVQ
bGF5YmFjayhib29sKQotewotICAgIC8vIEZJWE1FOiBzaG91bGQgYSBtZWRpYSBzdHJlYW0gcGF5
IGF0dGVudGlvbiB0byB0aGlzIGRpcmVjdGx5LCBvciBvbmx5IHdoZW4gYXR0YWNoZWQgdG8gYSBt
ZWRpYSBlbGVtZW50PwotfQotCi12b2lkIE1lZGlhU3RyZWFtOjpzdXNwZW5kUGxheWJhY2soKQot
ewotICAgIC8vIEZJWE1FOiBzaG91bGQgYSBtZWRpYSBzdHJlYW0gcGF5IGF0dGVudGlvbiB0byB0
aGlzIGRpcmVjdGx5LCBvciBvbmx5IHdoZW4gYXR0YWNoZWQgdG8gYSBtZWRpYSBlbGVtZW50Pwot
fQotCi1TdHJpbmcgTWVkaWFTdHJlYW06OnNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllcigpIGNv
bnN0Ci17Ci0gICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gdGhpcy0+ZG9jdW1lbnQoKTsKLSAgICBp
ZiAoZG9jdW1lbnQgJiYgZG9jdW1lbnQtPmZyYW1lKCkpIHsKLSAgICAgICAgaWYgKE5ldHdvcmtp
bmdDb250ZXh0KiBuZXR3b3JraW5nQ29udGV4dCA9IGRvY3VtZW50LT5mcmFtZSgpLT5sb2FkZXIo
KS5uZXR3b3JraW5nQ29udGV4dCgpKQotICAgICAgICAgICAgcmV0dXJuIG5ldHdvcmtpbmdDb250
ZXh0LT5zb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXIoKTsKLSAgICB9Ci0KLSAgICByZXR1cm4g
ZW1wdHlTdHJpbmcoKTsKLX0KLQotYm9vbCBNZWRpYVN0cmVhbTo6Y2FuUHJvZHVjZUF1ZGlvKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gIW11dGVkKCkgJiYgYWN0aXZlKCkgJiYgbV9wcml2YXRlLT5o
YXNBdWRpbygpICYmIG1faXNQcm9kdWNpbmdEYXRhOwotfQotCi1ib29sIE1lZGlhU3RyZWFtOjpw
cm9jZXNzaW5nVXNlckdlc3R1cmVGb3JNZWRpYSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRvY3Vt
ZW50KCkgPyBkb2N1bWVudCgpLT5wcm9jZXNzaW5nVXNlckdlc3R1cmVGb3JNZWRpYSgpIDogZmFs
c2U7Ci19Ci0KIHZvaWQgTWVkaWFTdHJlYW06OnN0b3AoKQogewogICAgIG1faXNBY3RpdmUgPSBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW0uaAppbmRleCAzNDBkNDllZGRjMzAyZWZhNmE5YTkwM2E5YmNmZGI3MWI3MmRhNzM5Li42NjVm
MTA5YTFiMTBmZTA4M2ZiYTI0MTEyNTI5MzEyM2M3YWY1ZmEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5oCkBAIC0zNSw3ICszNSw2IEBA
CiAjaW5jbHVkZSAiTWVkaWFQcm9kdWNlci5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtUHJpdmF0
ZS5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2suaCIKLSNpbmNsdWRlICJQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbi5oIgogI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgIlRp
bWVyLmgiCiAjaW5jbHVkZSAiVVJMUmVnaXN0cnkuaCIKQEAgLTU0LDcgKzUzLDYgQEAgY2xhc3Mg
TWVkaWFTdHJlYW0gZmluYWwKICAgICAsIHB1YmxpYyBNZWRpYVN0cmVhbVRyYWNrOjpPYnNlcnZl
cgogICAgICwgcHVibGljIE1lZGlhU3RyZWFtUHJpdmF0ZTo6T2JzZXJ2ZXIKICAgICAsIHByaXZh
dGUgTWVkaWFDYW5TdGFydExpc3RlbmVyCi0gICAgLCBwcml2YXRlIFBsYXRmb3JtTWVkaWFTZXNz
aW9uQ2xpZW50CiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgLCBwcml2YXRlIExvZ2dl
ckhlbHBlcgogI2VuZGlmCkBAIC0xNDUsMjIgKzE0Myw2IEBAIHByaXZhdGU6CiAgICAgLy8gTWVk
aWFDYW5TdGFydExpc3RlbmVyCiAgICAgdm9pZCBtZWRpYUNhblN0YXJ0KERvY3VtZW50JikgZmlu
YWw7CiAKLSAgICAvLyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbkNsaWVudAotICAgIFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpNZWRpYVR5cGUgbWVkaWFUeXBlKCkgY29uc3QgZmluYWw7Ci0gICAgUGxhdGZv
cm1NZWRpYVNlc3Npb246Ok1lZGlhVHlwZSBwcmVzZW50YXRpb25UeXBlKCkgY29uc3QgZmluYWw7
Ci0gICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OkNoYXJhY3RlcmlzdGljc0ZsYWdzIGNoYXJhY3Rl
cmlzdGljcygpIGNvbnN0IGZpbmFsOwotICAgIHZvaWQgbWF5UmVzdW1lUGxheWJhY2soYm9vbCBz
aG91bGRSZXN1bWUpIGZpbmFsOwotICAgIHZvaWQgc3VzcGVuZFBsYXliYWNrKCkgZmluYWw7Ci0g
ICAgYm9vbCBjYW5SZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmRzKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gZmFsc2U7IH0KLSAgICB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50KikgZmluYWwgeyB9Ci0gICAg
Ym9vbCBzdXBwb3J0c1NlZWtpbmcoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQotICAg
IGJvb2wgc2hvdWxkT3ZlcnJpZGVCYWNrZ3JvdW5kUGxheWJhY2tSZXN0cmljdGlvbihQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6SW50ZXJydXB0aW9uVHlwZSkgY29uc3QgZmluYWwgeyByZXR1cm4gZmFs
c2U7IH0KLSAgICBTdHJpbmcgc291cmNlQXBwbGljYXRpb25JZGVudGlmaWVyKCkgY29uc3QgZmlu
YWw7Ci0gICAgYm9vbCBjYW5Qcm9kdWNlQXVkaW8oKSBjb25zdCBmaW5hbDsKLSAgICBEb2N1bWVu
dCogaG9zdGluZ0RvY3VtZW50KCkgY29uc3QgZmluYWwgeyByZXR1cm4gZG9jdW1lbnQoKTsgfQot
ICAgIGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEoKSBjb25zdCBmaW5hbDsKLSAg
ICBib29sIHNob3VsZE92ZXJyaWRlUGF1c2VEdXJpbmdSb3V0ZUNoYW5nZSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIHRydWU7IH0KLQogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgdm9p
ZCBzdG9wKCkgZmluYWw7CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNv
bnN0IGZpbmFsOwpAQCAtMTc4LDcgKzE2MCw2IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxTdHJp
bmcsIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPj4gbV90cmFja1NldDsKIAogICAgIFZlY3RvcjxP
YnNlcnZlcio+IG1fb2JzZXJ2ZXJzOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxQbGF0Zm9ybU1lZGlh
U2Vzc2lvbj4gbV9tZWRpYVNlc3Npb247CiAKICAgICBNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRl
RmxhZ3MgbV9zdGF0ZSB7IE1lZGlhUHJvZHVjZXI6OklzTm90UGxheWluZyB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2su
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNr
LmNwcAppbmRleCAxNWEyN2E5ZDA2MDIxM2M4ZTYyNWZiNDNiYTI0MzE0YzIyZjMxOGNkLi4xNGIy
YmY0ZWRiNjc4ODhjOWQ0MjUxNTY3MGEzYjJmMTQ2Zjk1NWY1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKQEAg
LTY5LDYgKzY5LDcgQEAgTWVkaWFTdHJlYW1UcmFjazo6TWVkaWFTdHJlYW1UcmFjayhTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8TWVkaWFTdHIKICAgICAsIG1fcHJpdmF0ZShX
VEZNb3ZlKHByaXZhdGVUcmFjaykpCiAgICAgLCBtX3Rhc2tRdWV1ZShjb250ZXh0KQogICAgICwg
bV9pc0NhcHR1cmVUcmFjayhtX3ByaXZhdGUtPmlzQ2FwdHVyZVRyYWNrKCkpCisgICAgLCBtX21l
ZGlhU2Vzc2lvbihQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Y3JlYXRlKCp0aGlzKSkKIHsKICAgICBB
TFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogICAgIHN1c3BlbmRJZk5lZWRlZCgpOwpAQCAtNTMy
LDYgKzUzMyw5IEBAIHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6dHJhY2tFbmFibGVkQ2hhbmdlZChN
ZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYpCiB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OmNvbmZpZ3Vy
ZVRyYWNrUmVuZGVyaW5nKCkKIHsKICAgICBtX3Rhc2tRdWV1ZS5lbnF1ZXVlVGFzayhbdGhpc10g
eworICAgICAgICBpZiAobV9tZWRpYVNlc3Npb24gJiYgbV9wcml2YXRlLT50eXBlKCkgPT0gUmVh
bHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW8pCisgICAgICAgICAgICBtX21lZGlhU2Vzc2lv
bi0+Y2FuUHJvZHVjZUF1ZGlvQ2hhbmdlZCgpOworCiAgICAgICAgIGlmIChhdXRvIGRvY3VtZW50
ID0gdGhpcy0+ZG9jdW1lbnQoKSkKICAgICAgICAgICAgIGRvY3VtZW50LT51cGRhdGVJc1BsYXlp
bmdNZWRpYSgpOwogICAgIH0pOwpAQCAtNTcxLDYgKzU3NSw1NSBAQCBEb2N1bWVudCogTWVkaWFT
dHJlYW1UcmFjazo6ZG9jdW1lbnQoKSBjb25zdAogICAgIHJldHVybiBkb3duY2FzdDxEb2N1bWVu
dD4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKIH0KIAorUGxhdGZvcm1NZWRpYVNlc3Npb246
Ok1lZGlhVHlwZSBNZWRpYVN0cmVhbVRyYWNrOjptZWRpYVR5cGUoKSBjb25zdAoreworICAgIHJl
dHVybiAoaXNDYXB0dXJlVHJhY2soKSAmJiBjYW5Qcm9kdWNlQXVkaW8oKSkgPyBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6TWVkaWFTdHJlYW1DYXB0dXJpbmdBdWRpbyA6IFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpOb25lOworfQorCitQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlIE1lZGlhU3Ry
ZWFtVHJhY2s6OnByZXNlbnRhdGlvblR5cGUoKSBjb25zdAoreworICAgIHJldHVybiBtZWRpYVR5
cGUoKTsKK30KKworUGxhdGZvcm1NZWRpYVNlc3Npb246OkNoYXJhY3RlcmlzdGljc0ZsYWdzIE1l
ZGlhU3RyZWFtVHJhY2s6OmNoYXJhY3RlcmlzdGljcygpIGNvbnN0Cit7CisgICAgaWYgKCFtX3By
aXZhdGUtPmlzQWN0aXZlKCkpCisgICAgICAgIHJldHVybiBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6
SGFzTm90aGluZzsKKworICAgIHJldHVybiBtX3ByaXZhdGUtPnR5cGUoKSA9PSBSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlOjpBdWRpbyA/IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpIYXNBdWRpbyA6
IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpIYXNWaWRlbzsKK30KKwordm9pZCBNZWRpYVN0cmVhbVRy
YWNrOjptYXlSZXN1bWVQbGF5YmFjayhib29sKQoreworICAgIC8vIEZJWE1FOiBzaG91bGQgYSBt
ZWRpYSBzdHJlYW0gdHJhY2sgcGF5IGF0dGVudGlvbiB0byB0aGlzIGRpcmVjdGx5LCBvciBvbmx5
IHdoZW4gYXR0YWNoZWQgdG8gYSBtZWRpYSBlbGVtZW50PworfQorCit2b2lkIE1lZGlhU3RyZWFt
VHJhY2s6OnN1c3BlbmRQbGF5YmFjaygpCit7CisgICAgLy8gRklYTUU6IHNob3VsZCBhIG1lZGlh
IHN0cmVhbSB0cmFjayBwYXkgYXR0ZW50aW9uIHRvIHRoaXMgZGlyZWN0bHksIG9yIG9ubHkgd2hl
biBhdHRhY2hlZCB0byBhIG1lZGlhIGVsZW1lbnQ/Cit9CisKK1N0cmluZyBNZWRpYVN0cmVhbVRy
YWNrOjpzb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXIoKSBjb25zdAoreworICAgIGF1dG8qIGRv
Y3VtZW50ID0gdGhpcy0+ZG9jdW1lbnQoKTsKKyAgICBpZiAoZG9jdW1lbnQgJiYgZG9jdW1lbnQt
PmZyYW1lKCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIG5ldHdvcmtpbmdDb250ZXh0ID0gZG9jdW1l
bnQtPmZyYW1lKCktPmxvYWRlcigpLm5ldHdvcmtpbmdDb250ZXh0KCkpCisgICAgICAgICAgICBy
ZXR1cm4gbmV0d29ya2luZ0NvbnRleHQtPnNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllcigpOwor
ICAgIH0KKworICAgIHJldHVybiBlbXB0eVN0cmluZygpOworfQorCitib29sIE1lZGlhU3RyZWFt
VHJhY2s6OmNhblByb2R1Y2VBdWRpbygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+
dHlwZSgpID09IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvICYmICFlbmRlZCgpICYm
ICFtdXRlZCgpOworfQorCitib29sIE1lZGlhU3RyZWFtVHJhY2s6OnByb2Nlc3NpbmdVc2VyR2Vz
dHVyZUZvck1lZGlhKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZG9jdW1lbnQoKSA/IGRvY3VtZW50
KCktPnByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkgOiBmYWxzZTsKK30KKwogI2lmICFS
RUxFQVNFX0xPR19ESVNBQkxFRAogV1RGTG9nQ2hhbm5lbCYgTWVkaWFTdHJlYW1UcmFjazo6bG9n
Q2hhbm5lbCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCmluZGV4IDAzZjgxZWM3MGY3MjU4YzY1OTQyYjdm
NjhmZDczYzNhNzJmMzAyM2MuLjZiMTY2OWQyNjIzZDQwYjJhMmE5OTllZDc0MjAyYWM5ZmI3Zjkz
MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW1UcmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1UcmFjay5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiTWVkaWFQcm9kdWNl
ci5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmgiCiAjaW5jbHVkZSAiTWVk
aWFUcmFja0NvbnN0cmFpbnRzLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb24uaCIK
ICNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTUzLDYgKzU0LDcgQEAgY2xhc3MgTWVkaWFTdHJlYW1UcmFjawogICAgICwgcHVibGljIEFjdGl2
ZURPTU9iamVjdAogICAgICwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEKICAgICAs
IHByaXZhdGUgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6Ok9ic2VydmVyCisgICAgLCBwcml2YXRl
IFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50CiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAg
ICAgLCBwcml2YXRlIExvZ2dlckhlbHBlcgogI2VuZGlmCkBAIC0xODksNiArMTkxLDIyIEBAIHBy
aXZhdGU6CiAgICAgdm9pZCB0cmFja1NldHRpbmdzQ2hhbmdlZChNZWRpYVN0cmVhbVRyYWNrUHJp
dmF0ZSYpIGZpbmFsOwogICAgIHZvaWQgdHJhY2tFbmFibGVkQ2hhbmdlZChNZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZSYpIGZpbmFsOwogCisgICAgLy8gUGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQK
KyAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlIG1lZGlhVHlwZSgpIGNvbnN0IGZp
bmFsOworICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpNZWRpYVR5cGUgcHJlc2VudGF0aW9uVHlw
ZSgpIGNvbnN0IGZpbmFsOworICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpDaGFyYWN0ZXJpc3Rp
Y3NGbGFncyBjaGFyYWN0ZXJpc3RpY3MoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIG1heVJlc3Vt
ZVBsYXliYWNrKGJvb2wgc2hvdWxkUmVzdW1lKSBmaW5hbDsKKyAgICB2b2lkIHN1c3BlbmRQbGF5
YmFjaygpIGZpbmFsOworICAgIGJvb2wgY2FuUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kcygp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdm9pZCBkaWRSZWNlaXZlUmVtb3Rl
Q29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5k
VHlwZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCop
IGZpbmFsIHsgfQorICAgIGJvb2wgc3VwcG9ydHNTZWVraW5nKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gZmFsc2U7IH0KKyAgICBib29sIHNob3VsZE92ZXJyaWRlQmFja2dyb3VuZFBsYXliYWNrUmVz
dHJpY3Rpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGUpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgU3RyaW5nIHNvdXJjZUFwcGxpY2F0aW9uSWRlbnRp
ZmllcigpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgY2FuUHJvZHVjZUF1ZGlvKCkgY29uc3QgZmlu
YWw7CisgICAgRG9jdW1lbnQqIGhvc3RpbmdEb2N1bWVudCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IGRvY3VtZW50KCk7IH0KKyAgICBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkg
Y29uc3QgZmluYWw7CisgICAgYm9vbCBzaG91bGRPdmVycmlkZVBhdXNlRHVyaW5nUm91dGVDaGFu
Z2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisKICNpZiAhUkVMRUFTRV9MT0dfRElT
QUJMRUQKICAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBjb25zdCBmaW5hbCB7IHJldHVy
biAiTWVkaWFTdHJlYW1UcmFjayI7IH0KICAgICBXVEZMb2dDaGFubmVsJiBsb2dDaGFubmVsKCkg
Y29uc3QgZmluYWw7CkBAIC0yMDMsNiArMjIxLDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9l
bmRlZCB7IGZhbHNlIH07CiAgICAgY29uc3QgYm9vbCBtX2lzQ2FwdHVyZVRyYWNrIHsgZmFsc2Ug
fTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1NZWRpYVNlc3Npb24+IG1fbWVkaWFTZXNz
aW9uOwogfTsKIAogdHlwZWRlZiBWZWN0b3I8UmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+PiBNZWRp
YVN0cmVhbVRyYWNrVmVjdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmNwcAppbmRleCAwYWFjZGFjMmUxNTA5ZjAyOTk4YTU3OGQ0YjU5ZDJlNmNiYWQ0
ZjI0Li43OWVhZTcwNGUyODIzMmI3MTdmM2M2Zjg5YzhmZWIzNzUzOGY4ZGYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMzI4LDkgKzMy
OCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKE1lZGlhU3RyZWFt
UHJpdmF0ZSYgc3RyZWFtKQogewogICAgIG1fc3RyZWFtUHJpdmF0ZSA9ICZzdHJlYW07CiAgICAg
c3RhdGljIEF0b21pYzx1aW50MzJfdD4gcGlwZWxpbmVJZDsKLSAgICBhdXRvIHBpcGVsaW5lTmFt
ZSA9IG1ha2VTdHJpbmcoIm1lZGlhc3RyZWFtLSIsCi0gICAgICAgIChzdHJlYW0uaGFzQ2FwdHVy
ZVZpZGVvU291cmNlKCkgfHwgc3RyZWFtLmhhc0NhcHR1cmVBdWRpb1NvdXJjZSgpKSA/ICJsb2Nh
bCIgOiAicmVtb3RlIiwKLSAgICAgICAgIi0iLCBwaXBlbGluZUlkLmV4Y2hhbmdlQWRkKDEpKTsK
KyAgICBhdXRvIHBpcGVsaW5lTmFtZSA9IG1ha2VTdHJpbmcoIm1lZGlhc3RyZWFtLSIsIHBpcGVs
aW5lSWQuZXhjaGFuZ2VBZGQoMSkpOwogCiAgICAgbG9hZEZ1bGwoU3RyaW5nKCJtZWRpYXN0cmVh
bTovLyIpICsgc3RyZWFtLmlkKCksIHBpcGVsaW5lTmFtZSk7CiAgICAgc3luY09uQ2xvY2soZmFs
c2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1Qcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtUHJpdmF0ZS5jcHAKaW5kZXggNDEwMGU2YmUyYTI1N2U0OWNlNWJkMDY3ZGZk
YjUzMTc3YWYwYzQ2Zi4uZDU4YzY5ZGMxNzIwYzJmM2UxMzE3YzI4Y2E2ZmY2N2M5NmYxNjMxMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1Qcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbVByaXZhdGUuY3BwCkBAIC0yMDIsNyArMjAyLDcgQEAgYm9vbCBNZWRpYVN0cmVh
bVByaXZhdGU6OmlzUHJvZHVjaW5nRGF0YSgpIGNvbnN0CiBib29sIE1lZGlhU3RyZWFtUHJpdmF0
ZTo6aGFzVmlkZW8oKSBjb25zdAogewogICAgIGZvciAoYXV0byYgdHJhY2sgOiBtX3RyYWNrU2V0
LnZhbHVlcygpKSB7Ci0gICAgICAgIGlmICh0cmFjay0+dHlwZSgpID09IFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlR5cGU6OlZpZGVvICYmIHRyYWNrLT5lbmFibGVkKCkgJiYgIXRyYWNrLT5lbmRlZCgp
KQorICAgICAgICBpZiAodHJhY2stPnR5cGUoKSA9PSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
OjpWaWRlbyAmJiB0cmFjay0+aXNBY3RpdmUoKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIH0KICAgICByZXR1cm4gZmFsc2U7CkBAIC0yMTEsMjUgKzIxMSw3IEBAIGJvb2wgTWVkaWFT
dHJlYW1Qcml2YXRlOjpoYXNWaWRlbygpIGNvbnN0CiBib29sIE1lZGlhU3RyZWFtUHJpdmF0ZTo6
aGFzQXVkaW8oKSBjb25zdAogewogICAgIGZvciAoYXV0byYgdHJhY2sgOiBtX3RyYWNrU2V0LnZh
bHVlcygpKSB7Ci0gICAgICAgIGlmICh0cmFjay0+dHlwZSgpID09IFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6OkF1ZGlvICYmIHRyYWNrLT5lbmFibGVkKCkgJiYgIXRyYWNrLT5lbmRlZCgpKQot
ICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLX0KLQot
Ym9vbCBNZWRpYVN0cmVhbVByaXZhdGU6Omhhc0NhcHR1cmVWaWRlb1NvdXJjZSgpIGNvbnN0Ci17
Ci0gICAgZm9yIChhdXRvJiB0cmFjayA6IG1fdHJhY2tTZXQudmFsdWVzKCkpIHsKLSAgICAgICAg
aWYgKHRyYWNrLT50eXBlKCkgPT0gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW8gJiYg
dHJhY2stPmlzQ2FwdHVyZVRyYWNrKCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1ib29sIE1lZGlhU3RyZWFtUHJpdmF0ZTo6aGFzQ2Fw
dHVyZUF1ZGlvU291cmNlKCkgY29uc3QKLXsKLSAgICBmb3IgKGF1dG8mIHRyYWNrIDogbV90cmFj
a1NldC52YWx1ZXMoKSkgewotICAgICAgICBpZiAodHJhY2stPnR5cGUoKSA9PSBSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlOjpBdWRpbyAmJiB0cmFjay0+aXNDYXB0dXJlVHJhY2soKSAmJiAhdHJh
Y2stPmVuZGVkKCkgJiYgIXRyYWNrLT5tdXRlZCgpKQorICAgICAgICBpZiAodHJhY2stPnR5cGUo
KSA9PSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbyAmJiB0cmFjay0+aXNBY3RpdmUo
KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtUHJpdmF0ZS5oCmluZGV4IGJkNTc4NTVlNjM4NDZlOTk1ZGY4ZmMwNWUzNmVmOTc2ZGI0ZWEz
MGYuLjdkZmZkYjRjZTBjZTEwMzBiY2YzMjI1M2Q0ODNhN2VlODZmMTBkM2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJp
dmF0ZS5oCkBAIC0xMDEsOSArMTAxLDYgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQXVkaW8oKSBj
b25zdDsKICAgICBib29sIG11dGVkKCkgY29uc3Q7CiAKLSAgICBib29sIGhhc0NhcHR1cmVWaWRl
b1NvdXJjZSgpIGNvbnN0OwotICAgIGJvb2wgaGFzQ2FwdHVyZUF1ZGlvU291cmNlKCkgY29uc3Q7
Ci0KICAgICBGbG9hdFNpemUgaW50cmluc2ljU2l6ZSgpIGNvbnN0OwogCiAgICAgdm9pZCBtb25p
dG9yT3JpZW50YXRpb24oT3JpZW50YXRpb25Ob3RpZmllciYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2
YXRlLmgKaW5kZXggOTI1ZDg3ODk5YmUzM2YzODZiMzgxODJhNzMwMTk3OGI0YjViOTdjNS4uODc3
OWIyMmVkMGE2Y2YzNDQxNjViZmRjNjNiNWYyYjEwYjM5ZDkzMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNr
UHJpdmF0ZS5oCkBAIC03NSw2ICs3NSw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIGlk
KCkgY29uc3QgeyByZXR1cm4gbV9pZDsgfQogICAgIGNvbnN0IFN0cmluZyYgbGFiZWwoKSBjb25z
dDsKIAorICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCB7IHJldHVybiBlbmFibGVkKCkgJiYgIWVu
ZGVkKCkgJiYgIW11dGVkKCk7IH0KKwogICAgIGJvb2wgZW5kZWQoKSBjb25zdCB7IHJldHVybiBt
X2lzRW5kZWQ7IH0KIAogICAgIGVudW0gY2xhc3MgSGludFZhbHVlIHsgRW1wdHksIFNwZWVjaCwg
TXVzaWMsIE1vdGlvbiwgRGV0YWlsLCBUZXh0IH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGIxM2RkYzZmMWE0OWI5ODhh
ZjIxNjM0NDY3Zjc5OGRmODcxYjg3Zi4uNDNjZDhkNTBhNzNhMWIzYWU1YzQ5ZTM4YmUxYjkyNTA4
YWM0MDI0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE5LTEwLTA4ICB5b3Vlbm4gZmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVN0cmVhbVRyYWNrIHNob3VsZCBi
ZSBhIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50IGluc3RlYWQgb2YgTWVkaWFTdHJlYW0KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjYzMQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9tZWRp
YXN0cmVhbS9hdWRpby10cmFjay1lbmFibGVkLmh0bWw6CisKIDIwMTktMTAtMDggIEFudHRpIEtv
aXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgU2hhZG93IFBhcnRzXSBJ
bnRlcm5hbCBzaGFkb3cgcHNldWRvIGVsZW1lbnRzIHNob3VsZCB3b3JrIHdpdGggOjpwYXJ0CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2F1ZGlvLXRyYWNrLWVuYWJs
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vYXVkaW8tdHJhY2stZW5hYmxl
ZC5odG1sCmluZGV4IDVhMDAyOGNjMmU3ZWYzMGQ0MmQ2MDEzMDdiMjg1OTk2NTI0ZTU4ZjcuLmNh
MTM4YmUxMjJhNTVkYjU4NjVhMDgzNDE1NDFjNzRmMDdiODU4MjUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vYXVkaW8tdHJhY2stZW5hYmxlZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vYXVkaW8tdHJhY2stZW5hYmxlZC5odG1sCkBAIC0y
Myw2ICsyMywxMCBAQCBwcm9taXNlX3Rlc3QoYXN5bmMoKSA9PiB7CiAgICAgc3RyZWFtLmdldEF1
ZGlvVHJhY2tzKClbMF0uZW5hYmxlZCA9IGZhbHNlOwogICAgIGF3YWl0IG5ldyBQcm9taXNlKHJl
c29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCAxMCkpOwogICAgIGFzc2VydF9lcXVhbHMoaW50
ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCksICJQbGF5QW5kUmVjb3JkIik7CisKKyAgICBz
dHJlYW0ucmVtb3ZlVHJhY2soc3RyZWFtLmdldEF1ZGlvVHJhY2tzKClbMF0pOworICAgIGF3YWl0
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCAxMCkpOworICAgIGFz
c2VydF9lcXVhbHMoaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCksICJQbGF5QW5kUmVj
b3JkIik7CiB9LCAiQ2hlY2sgYXVkaW8gc2Vzc2lvbiBzdGF0ZSBpbiBjYXNlIG9mIGRpc2FibGVk
IGF1ZGlvIHRyYWNrcyIpOwogPC9zY3JpcHQ+CiA8L2JvZHk+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>