<?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>141823</bug_id>
          
          <creation_ts>2015-02-19 20:30:52 -0800</creation_ts>
          <short_desc>Add support for diagnostic logging messages sampling</short_desc>
          <delta_ts>2015-02-23 14:09:07 -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>528+ (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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1070598</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-02-19 20:30:52 -0800</bug_when>
    <thetext>We currently generate a large amount of diagnostic logging messages and this is unfortunately increase CPU usage of some benchmarks. In most cases, we could use sampling to greatly decrease the amount of messages while getting useful overall results.

Radar: &lt;rdar://problem/19899030&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070891</commentid>
    <comment_count>1</comment_count>
      <attachid>247015</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-02-20 17:11:56 -0800</bug_when>
    <thetext>Created attachment 247015
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071330</commentid>
    <comment_count>2</comment_count>
      <attachid>247015</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-02-23 14:09:02 -0800</bug_when>
    <thetext>Comment on attachment 247015
Patch

Clearing flags on attachment: 247015

Committed r180517: &lt;http://trac.webkit.org/changeset/180517&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071331</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-02-23 14:09:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247015</attachid>
            <date>2015-02-20 17:11:56 -0800</date>
            <delta_ts>2015-02-23 14:09:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141823-20150220171147.patch</filename>
            <type>text/plain</type>
            <size>46041</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmQ5YTFmMWUwYzE2YzI4
ZDAxN2Y3NTkxOWQxYjI3OTMxYjY4ZjYwNi4uZDkxMTE4MjNhYmU3MDhmNjJjYzEyNGY3NGRiNWEw
NmEyMzVmMTRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE1LTAyLTIwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGRp
YWdub3N0aWMgbG9nZ2luZyBtZXNzYWdlcyBzYW1wbGluZworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQxODIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8xOTg5OTAzMD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgc3VwcG9ydCBmb3IgZGlhZ25vc3RpYyBsb2dnaW5nIG1lc3NhZ2VzIHNhbXBsaW5n
IHRvIGRlY3JlYXNlIHRoZQorICAgICAgICBpbXBhY3Qgb2YgZGlhZ25vc3RpYyBsb2dnaW5nIG9u
IENQVSB1c2FnZSwgd2hpbGUgc3RpbGwgZ2V0dGluZyB1c2VmdWwKKyAgICAgICAgb3ZlcmFsbCBy
ZXN1bHRzLiBUaGlzIHBhdGNoIGFkZHMgYSBTaG91bGRTYW1wbGUgYXJndW1lbnQgdG8KKyAgICAg
ICAgbG9nRGlhZ25vc3RpY01lc3NhZ2UqKCkgZnVuY3Rpb25zIGFuZCBsb2dzIDUlIG9mIHRoZSBt
ZXNzYWdlcyB3aGVuCisgICAgICAgIHNhbXBsaW5nLiBTYW1wbGluZyBpcyB0dXJuZWQgb24gZm9y
IGtleXMgdGhhdCBhcmUga25vd24gdG8gYmUgdmVyYm9zZQorICAgICAgICAoZS5nLiBwZXIgcmVz
b3VyY2UgbG9hZCBsb2dnaW5nKS4KKworICAgICAgICBPbiB0aGUgcGFnZSBsb2FkIHRlc3QgSSBh
bSB0cmFja2luZywgQ1BVIHVzYWdlIGNhdXNlZCBieSBkaWFnbm9zdGljCisgICAgICAgIGxvZ2dp
bmcgd2VudCBkb3duIHRvIDAuMyUgb2YgVUlQcm9jZXNzIGZyb20gMi44JSB3aXRoIHRoaXMgY2hh
bmdlLgorCisgICAgICAgICogaGlzdG9yeS9QYWdlQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6bG9nUGFnZUNhY2hlRmFpbHVyZURpYWdub3N0aWNNZXNzYWdlKToKKyAgICAgICAgKFdlYkNv
cmU6OmxvZ0NhbkNhY2hlUGFnZURlY2lzaW9uKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGFyc2VBdHRy
aWJ1dGUpOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKiBsb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9nTmF2aWdhdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6Y2hlY2tMb2FkQ29tcGxldGVGb3JUaGlzRnJh
bWUpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpsb2dSZXNvdXJjZVJlc3BvbnNlU291cmNlKToKKyAgICAgICAgKiBsb2FkZXIvU3ViZnJh
bWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9nUGx1Z2luUmVxdWVzdCk6CisgICAg
ICAgICogbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1
YnJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3Vi
cmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjps
b2dSZXNvdXJjZUxvYWRlZCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmxvZ1Jlc291cmNlUmV2YWxpZGF0aW9uUmVhc29uKToK
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6bG9nTWVtb3J5Q2FjaGVSZXNvdXJjZVJlcXVlc3QpOgorICAgICAgICAqIHBh
Z2UvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaDoKKwogMjAxNS0wMi0yMCAgWmFsYW4gQnVqdGFz
ICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIEludmFsaWQgYXNzZXJ0IGluIENvbXBvc2l0
ZUVkaXRDb21tYW5kOjppbnNlcnROb2RlQWZ0ZXIvaW5zZXJ0Tm9kZUJlZm9yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IGE5YTFhZjViMmRiNjVmYmM5MTk0MmI2OTZkZmZhMjE0YWU0OTdjYjAuLjU4YzI3MmRiMDI3
MDY2YmUyMDk2MTM5MjI4NTU3ZGRhMjZkYTRhODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSw1MyBA
QAogMjAxNS0wMi0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBkaWFnbm9zdGljIGxvZ2dpbmcgbWVzc2FnZXMgc2FtcGxpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MTgyMworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMTk4OTkwMzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGRpYWdub3N0aWMgbG9nZ2lu
ZyBtZXNzYWdlcyBzYW1wbGluZyB0byBkZWNyZWFzZSB0aGUKKyAgICAgICAgaW1wYWN0IG9mIGRp
YWdub3N0aWMgbG9nZ2luZyBvbiBDUFUgdXNhZ2UsIHdoaWxlIHN0aWxsIGdldHRpbmcgdXNlZnVs
CisgICAgICAgIG92ZXJhbGwgcmVzdWx0cy4gVGhpcyBwYXRjaCBhZGRzIGEgU2hvdWxkU2FtcGxl
IGFyZ3VtZW50IHRvCisgICAgICAgIGxvZ0RpYWdub3N0aWNNZXNzYWdlKigpIGZ1bmN0aW9ucyBh
bmQgbG9ncyA1JSBvZiB0aGUgbWVzc2FnZXMgd2hlbgorICAgICAgICBzYW1wbGluZy4gU2FtcGxp
bmcgaXMgdHVybmVkIG9uIGZvciBrZXlzIHRoYXQgYXJlIGtub3duIHRvIGJlIHZlcmJvc2UKKyAg
ICAgICAgKGUuZy4gcGVyIHJlc291cmNlIGxvYWQgbG9nZ2luZykuCisKKyAgICAgICAgT24gdGhl
IHBhZ2UgbG9hZCB0ZXN0IEkgYW0gdHJhY2tpbmcsIENQVSB1c2FnZSBjYXVzZWQgYnkgZGlhZ25v
c3RpYworICAgICAgICBsb2dnaW5nIHdlbnQgZG93biB0byAwLjMlIG9mIFVJUHJvY2VzcyBmcm9t
IDIuOCUgd2l0aCB0aGlzIGNoYW5nZS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OmxvZ0RpYWdu
b3N0aWNNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OmxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aFJlc3VsdCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNz
Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTdGF0aXN0aWNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNo
ZVN0YXRpc3RpY3M6OnJlY29yZE5vdFVzaW5nQ2FjaGVGb3JSZXF1ZXN0KToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya0NhY2hlU3RhdGlzdGljczo6cmVjb3JkUmV0cmlldmFsRmFpbHVyZSk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZVN0YXRpc3RpY3M6OnJlY29yZFJldHJpZXZlZENh
Y2hlZEVudHJ5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1By
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6bG9nRGlhZ25v
c3RpY01lc3NhZ2UpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5Ojpsb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJv
Y2Vzc1Byb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZSk6CisgICAgICAgICogVUlQ
cm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OnNob3VsZExvZ0RpYWdu
b3N0aWNNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9z
dGljTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoUmVzdWx0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpsb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0Ns
aWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojps
b2dEaWFnbm9zdGljTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkRpYWdub3N0aWNMb2dn
aW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
VmFsdWUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OndpbGxTdGFydFVzZXJUcmlnZ2Vy
ZWRab29taW5nKToKKworMjAxNS0wMi0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgorCiAgICAgICAgIFtXSzJdIEFkZCBtb3JlIGRldGFpbGVkIGRpYWdub3N0aWMgbG9nZ2luZyBm
b3IgbWVhc3VyaW5nIG5ldHdvcmsgY2FjaGUgZWZmaWNhY3kKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MTgwMwogICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMTk2MzIwODA+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNo
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKaW5kZXggZTAzOGIy
NDJlMmUwODMzMzk3NGZjMmMyZmI4OTRiNzIzNWE3ZjE5NS4uYWRjYWRhODk2ZDRiNzQxODM0MGQ4
OWVjZTdiYzc4NDE4OWU0Y2Q4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9Q
YWdlQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcApA
QCAtOTgsNyArOTgsNyBAQCBDT01QSUxFX0FTU0VSVChOdW1iZXJPZlJlYXNvbnNGcmFtZXNDYW5u
b3RCZUluUGFnZUNhY2hlIDw9IHNpemVvZih1bnNpZ25lZCkqOCwgUgogCiBzdGF0aWMgaW5saW5l
IHZvaWQgbG9nUGFnZUNhY2hlRmFpbHVyZURpYWdub3N0aWNNZXNzYWdlKERpYWdub3N0aWNMb2dn
aW5nQ2xpZW50JiBjbGllbnQsIGNvbnN0IFN0cmluZyYgcmVhc29uKQogewotICAgIGNsaWVudC5s
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnBhZ2VD
YWNoZUtleSgpLCBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OmZhaWx1cmVLZXkoKSwgcmVhc29uKTsK
KyAgICBjbGllbnQubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoRGlhZ25vc3RpY0xvZ2dp
bmdLZXlzOjpwYWdlQ2FjaGVLZXkoKSwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpmYWlsdXJlS2V5
KCksIHJlYXNvbiwgU2hvdWxkU2FtcGxlOjpZZXMpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQg
bG9nUGFnZUNhY2hlRmFpbHVyZURpYWdub3N0aWNNZXNzYWdlKFBhZ2UqIHBhZ2UsIGNvbnN0IFN0
cmluZyYgcmVhc29uKQpAQCAtMjg4LDcgKzI4OCw3IEBAIHN0YXRpYyB2b2lkIGxvZ0NhbkNhY2hl
UGFnZURlY2lzaW9uKFBhZ2UmIHBhZ2UpCiAgICAgZWxzZQogICAgICAgICBQQ0xPRygiIFBhZ2Ug
Q0FOIGJlIGNhY2hlZFxuLS0tLS0tLS0iKTsKIAotICAgIGRpYWdub3N0aWNMb2dnaW5nQ2xpZW50
LmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnBh
Z2VDYWNoZUtleSgpLCBlbXB0eVN0cmluZygpLCByZWplY3RSZWFzb25zID8gRGlhZ25vc3RpY0xv
Z2dpbmdSZXN1bHRGYWlsIDogRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRQYXNzKTsKKyAgICBkaWFn
bm9zdGljTG9nZ2luZ0NsaWVudC5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQoRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzOjpwYWdlQ2FjaGVLZXkoKSwgZW1wdHlTdHJpbmcoKSwgcmVqZWN0UmVh
c29ucyA/IERpYWdub3N0aWNMb2dnaW5nUmVzdWx0RmFpbCA6IERpYWdub3N0aWNMb2dnaW5nUmVz
dWx0UGFzcywgU2hvdWxkU2FtcGxlOjpZZXMpOwogfQogCiBQYWdlQ2FjaGUmIFBhZ2VDYWNoZTo6
c2luZ2xldG9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4
IDI4ZjA4M2M3MTBkNGQ0ZTczYmVjM2QyNTVjMmZmODQxMTRjNzEzOTMuLjcwMDM3OTg2ODExYThl
ZjA5MGNlM2YwN2NkY2ZiNWZmNTg2NjUyZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcApAQCAtMTE2NCw3ICsxMTY0LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50
Ojpsb2FkUmVzb3VyY2UoY29uc3QgVVJMJiBpbml0aWFsVVJMLCBDb250ZW50VHlwZSYgY29udGVu
dFQKIAogICAgIC8vIExvZyB0aGF0IHdlIHN0YXJ0ZWQgbG9hZGluZyBhIG1lZGlhIGVsZW1lbnQu
CiAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCkuZnJhbWUoKSkKLSAgICAgICAgZnJh
bWUtPm1haW5GcmFtZSgpLmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01l
c3NhZ2VXaXRoVmFsdWUoRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjptZWRpYUtleSgpLCBpc1ZpZGVv
KCkgPyBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnZpZGVvS2V5KCkgOiBEaWFnbm9zdGljTG9nZ2lu
Z0tleXM6OmF1ZGlvS2V5KCksIERpYWdub3N0aWNMb2dnaW5nS2V5czo6bG9hZGluZ0tleSgpKTsK
KyAgICAgICAgZnJhbWUtPm1haW5GcmFtZSgpLmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkubG9n
RGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjptZWRpYUtl
eSgpLCBpc1ZpZGVvKCkgPyBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnZpZGVvS2V5KCkgOiBEaWFn
bm9zdGljTG9nZ2luZ0tleXM6OmF1ZGlvS2V5KCksIERpYWdub3N0aWNMb2dnaW5nS2V5czo6bG9h
ZGluZ0tleSgpLCBTaG91bGRTYW1wbGU6Ok5vKTsKIAogICAgIG1fZmlyc3RUaW1lUGxheWluZyA9
IHRydWU7CiAKQEAgLTE4MzUsMTcgKzE4MzUsMTcgQEAgc3RhdGljIHZvaWQgbG9nTWVkaWFMb2Fk
UmVxdWVzdChQYWdlKiBwYWdlLCBjb25zdCBTdHJpbmcmIG1lZGlhRW5naW5lLCBjb25zdCBTdHIK
IAogICAgIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50JiBkaWFnbm9zdGljTG9nZ2luZ0NsaWVudCA9
IHBhZ2UtPm1haW5GcmFtZSgpLmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCk7CiAgICAgaWYgKCFz
dWNjZWVkZWQpIHsKLSAgICAgICAgZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQubG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoUmVzdWx0KERpYWdub3N0aWNMb2dnaW5nS2V5czo6bWVkaWFMb2FkaW5nRmFp
bGVkS2V5KCksIGVycm9yTWVzc2FnZSwgRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRGYWlsKTsKKyAg
ICAgICAgZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVz
dWx0KERpYWdub3N0aWNMb2dnaW5nS2V5czo6bWVkaWFMb2FkaW5nRmFpbGVkS2V5KCksIGVycm9y
TWVzc2FnZSwgRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRGYWlsLCBTaG91bGRTYW1wbGU6Ok5vKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmxv
Z0RpYWdub3N0aWNNZXNzYWdlKERpYWdub3N0aWNMb2dnaW5nS2V5czo6bWVkaWFMb2FkZWRLZXko
KSwgbWVkaWFFbmdpbmUpOworICAgIGRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmxvZ0RpYWdub3N0
aWNNZXNzYWdlKERpYWdub3N0aWNMb2dnaW5nS2V5czo6bWVkaWFMb2FkZWRLZXkoKSwgbWVkaWFF
bmdpbmUsIFNob3VsZFNhbXBsZTo6Tm8pOwogCiAgICAgaWYgKCFwYWdlLT5oYXNTZWVuQW55TWVk
aWFFbmdpbmUoKSkKLSAgICAgICAgZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQubG9nRGlhZ25vc3Rp
Y01lc3NhZ2UoRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpwYWdlQ29udGFpbnNBdExlYXN0T25lTWVk
aWFFbmdpbmVLZXkoKSwgZW1wdHlTdHJpbmcoKSk7CisgICAgICAgIGRpYWdub3N0aWNMb2dnaW5n
Q2xpZW50LmxvZ0RpYWdub3N0aWNNZXNzYWdlKERpYWdub3N0aWNMb2dnaW5nS2V5czo6cGFnZUNv
bnRhaW5zQXRMZWFzdE9uZU1lZGlhRW5naW5lS2V5KCksIGVtcHR5U3RyaW5nKCksIFNob3VsZFNh
bXBsZTo6Tm8pOwogCiAgICAgaWYgKCFwYWdlLT5oYXNTZWVuTWVkaWFFbmdpbmUobWVkaWFFbmdp
bmUpKQotICAgICAgICBkaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5sb2dEaWFnbm9zdGljTWVzc2Fn
ZShEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnBhZ2VDb250YWluc01lZGlhRW5naW5lS2V5KCksIG1l
ZGlhRW5naW5lKTsKKyAgICAgICAgZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQubG9nRGlhZ25vc3Rp
Y01lc3NhZ2UoRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpwYWdlQ29udGFpbnNNZWRpYUVuZ2luZUtl
eSgpLCBtZWRpYUVuZ2luZSwgU2hvdWxkU2FtcGxlOjpObyk7CiAKICAgICBwYWdlLT5zYXdNZWRp
YUVuZ2luZShtZWRpYUVuZ2luZSk7CiB9CkBAIC00NTU0LDcgKzQ1NTQsNyBAQCB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OnVwZGF0ZVBsYXlTdGF0ZSgpCiAgICAgICAgICAgICBpZiAobV9maXJzdFRp
bWVQbGF5aW5nKSB7CiAgICAgICAgICAgICAgICAgLy8gTG9nIHRoYXQgYSBtZWRpYSBlbGVtZW50
IHdhcyBwbGF5ZWQuCiAgICAgICAgICAgICAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50
KCkuZnJhbWUoKSkKLSAgICAgICAgICAgICAgICAgICAgZnJhbWUtPm1haW5GcmFtZSgpLmRpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzOjptZWRpYUtleSgpLCBpc1ZpZGVvKCkgPyBEaWFnbm9zdGljTG9nZ2lu
Z0tleXM6OnZpZGVvS2V5KCkgOiBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OmF1ZGlvS2V5KCksIERp
YWdub3N0aWNMb2dnaW5nS2V5czo6cGxheWVkS2V5KCkpOworICAgICAgICAgICAgICAgICAgICBm
cmFtZS0+bWFpbkZyYW1lKCkuZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoKS5sb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhWYWx1ZShEaWFnbm9zdGljTG9nZ2luZ0tleXM6Om1lZGlhS2V5KCksIGlzVmlk
ZW8oKSA/IERpYWdub3N0aWNMb2dnaW5nS2V5czo6dmlkZW9LZXkoKSA6IERpYWdub3N0aWNMb2dn
aW5nS2V5czo6YXVkaW9LZXkoKSwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpwbGF5ZWRLZXkoKSwg
U2hvdWxkU2FtcGxlOjpObyk7CiAgICAgICAgICAgICAgICAgbV9maXJzdFRpbWVQbGF5aW5nID0g
ZmFsc2U7CiAgICAgICAgICAgICB9CiAKQEAgLTU4MDYsNyArNTgwNiw3IEBAIHZvaWQgSFRNTE1l
ZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJFbmdpbmVGYWlsZWRUb0xvYWQoKSBjb25zdAogICAgICAg
ICByZXR1cm47CiAKICAgICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS5mcmFtZSgpKQot
ICAgICAgICBmcmFtZS0+bWFpbkZyYW1lKCkuZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoKS5sb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShEaWFnbm9zdGljTG9nZ2luZ0tleXM6OmVuZ2luZUZh
aWxlZFRvTG9hZEtleSgpLCBtX3BsYXllci0+ZW5naW5lRGVzY3JpcHRpb24oKSwgU3RyaW5nOjpu
dW1iZXIobV9wbGF5ZXItPnBsYXRmb3JtRXJyb3JDb2RlKCkpKTsKKyAgICAgICAgZnJhbWUtPm1h
aW5GcmFtZSgpLmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoVmFsdWUoRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjplbmdpbmVGYWlsZWRUb0xvYWRLZXkoKSwg
bV9wbGF5ZXItPmVuZ2luZURlc2NyaXB0aW9uKCksIFN0cmluZzo6bnVtYmVyKG1fcGxheWVyLT5w
bGF0Zm9ybUVycm9yQ29kZSgpKSwgU2hvdWxkU2FtcGxlOjpObyk7CiB9CiAKIGRvdWJsZSBIVE1M
TWVkaWFFbGVtZW50OjptZWRpYVBsYXllclJlcXVlc3RlZFBsYXliYWNrUmF0ZSgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggMTRlYzYyZWJiNWY2ZGNkMmNmZjIw
ZTU0ZGJhMjdmZDYxYzFkNjFkOC4uZjkwMzc4NTk5N2JiMDBmNmYyYTEwZTI4MWYzY2EyODQ1ZWQ4
N2YyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtNjMyLDkgKzYzMiw5
IEBAIGNsYXNzIEVtcHR5UHJvZ3Jlc3NUcmFja2VyQ2xpZW50IDogcHVibGljIFByb2dyZXNzVHJh
Y2tlckNsaWVudCB7CiB9OwogCiBjbGFzcyBFbXB0eURpYWdub3N0aWNMb2dnaW5nQ2xpZW50IGZp
bmFsIDogcHVibGljIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50IHsKLSAgICB2aXJ0dWFsIHZvaWQg
bG9nRGlhZ25vc3RpY01lc3NhZ2UoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikgb3ZlcnJp
ZGUgeyB9Ci0gICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChj
b25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUp
IG92ZXJyaWRlIHsgfQotICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhW
YWx1ZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSBvdmVycmlk
ZSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2UoY29uc3QgU3RyaW5n
JiwgY29uc3QgU3RyaW5nJiwgU2hvdWxkU2FtcGxlKSBvdmVycmlkZSB7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KGNvbnN0IFN0cmluZyYsIGNvbnN0
IFN0cmluZyYsIERpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZSwgU2hvdWxkU2FtcGxlKSBvdmVy
cmlkZSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUo
Y29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgU2hvdWxkU2FtcGxl
KSBvdmVycmlkZSB7IH0KIH07CiAKIHZvaWQgZmlsbFdpdGhFbXB0eUNsaWVudHMoUGFnZUNvbmZp
Z3VyYXRpb24mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDFmYjM3
MTViNjk2MDc4YWM0N2Y4YTNkNmE5MmQ4YWE1NzBhM2UxY2IuLjk2YmYwZmI5MWZjZDdjNjZiMTRl
MzJmZjgxMjM2OWJlNWRkNjc5NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cApAQCAtMTM5NCw3ICsxMzk0LDcgQEAgc3RhdGljIHZvaWQgbG9nTmF2aWdhdGlvbihNYWluRnJh
bWUmIGZyYW1lLCBGcmFtZUxvYWRUeXBlIHR5cGUpCiAgICAgICAgIC8vIE5vdCBsb2dnaW5nIHRo
b3NlIGZvciBub3cuCiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgZnJhbWUuZGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQoKS5sb2dEaWFnbm9zdGljTWVzc2FnZShEaWFnbm9zdGljTG9nZ2luZ0tl
eXM6Om5hdmlnYXRpb25LZXkoKSwgbmF2aWdhdGlvbkRlc2NyaXB0aW9uKTsKKyAgICBmcmFtZS5k
aWFnbm9zdGljTG9nZ2luZ0NsaWVudCgpLmxvZ0RpYWdub3N0aWNNZXNzYWdlKERpYWdub3N0aWNM
b2dnaW5nS2V5czo6bmF2aWdhdGlvbktleSgpLCBuYXZpZ2F0aW9uRGVzY3JpcHRpb24sIFNob3Vs
ZFNhbXBsZTo6Tm8pOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkV2l0aERvY3VtZW50TG9h
ZGVyKERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIEZyYW1lTG9hZFR5cGUgdHlwZSwgUGFzc1JlZlB0
cjxGb3JtU3RhdGU+IHBycEZvcm1TdGF0ZSwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMIGFs
bG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCkKQEAgLTIyNzAsNyArMjI3MCw3IEBAIHZvaWQgRnJh
bWVMb2FkZXI6OmNoZWNrTG9hZENvbXBsZXRlRm9yVGhpc0ZyYW1lKCkKICAgICAgICAgICAgICAg
ICBjYWNoZS0+ZnJhbWVMb2FkaW5nRXZlbnROb3RpZmljYXRpb24oJm1fZnJhbWUsIGxvYWRpbmdF
dmVudCk7CiAKICAgICAgICAgICAgIGlmIChwYWdlKQotICAgICAgICAgICAgICAgIHBhZ2UtPm1h
aW5GcmFtZSgpLmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoUmVzdWx0KERpYWdub3N0aWNMb2dnaW5nS2V5czo6cGFnZUxvYWRlZEtleSgpLCBlbXB0eVN0
cmluZygpLCBlcnJvci5pc051bGwoKSA/IERpYWdub3N0aWNMb2dnaW5nUmVzdWx0UGFzcyA6IERp
YWdub3N0aWNMb2dnaW5nUmVzdWx0RmFpbCk7CisgICAgICAgICAgICAgICAgcGFnZS0+bWFpbkZy
YW1lKCkuZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoKS5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhS
ZXN1bHQoRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpwYWdlTG9hZGVkS2V5KCksIGVtcHR5U3RyaW5n
KCksIGVycm9yLmlzTnVsbCgpID8gRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRQYXNzIDogRGlhZ25v
c3RpY0xvZ2dpbmdSZXN1bHRGYWlsLCBTaG91bGRTYW1wbGU6Ok5vKTsKIAogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNw
cAppbmRleCAzY2FkN2YxMWVkZjJjMjU3YzNmY2M1MzE1YTExNDRhYzI0YTE0N2JiLi4zMzRlOTYw
MzI1YmI0ZDI1ZGIwNTE5MzIwOWM2YWFjMTFkZTdkMGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTMyOSw3ICszMjksNyBAQCBzdGF0aWMgdm9pZCBsb2dS
ZXNvdXJjZVJlc3BvbnNlU291cmNlKEZyYW1lKiBmcmFtZSwgUmVzb3VyY2VSZXNwb25zZTo6U291
cmNlIHNvdQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgZnJhbWUtPm1haW5GcmFtZSgp
LmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUo
RGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpyZXNvdXJjZVJlc3BvbnNlS2V5KCksIERpYWdub3N0aWNM
b2dnaW5nS2V5czo6c291cmNlS2V5KCksIHNvdXJjZUtleSk7CisgICAgZnJhbWUtPm1haW5GcmFt
ZSgpLmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFs
dWUoRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpyZXNvdXJjZVJlc3BvbnNlS2V5KCksIERpYWdub3N0
aWNMb2dnaW5nS2V5czo6c291cmNlS2V5KCksIHNvdXJjZUtleSwgU2hvdWxkU2FtcGxlOjpZZXMp
OwogfQogCiB2b2lkIFJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJm
cmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3Bw
CmluZGV4IDVlY2ZjNzA4ODg4YzE3YzIwMzAwMDczNDI3NTE1ZDFhYTJkYjFhZGMuLmJjYWE5OGQ5
ZjY3NWJkZmU1NzY1OTExZmQ2ODRiYTNiMzZhZTEzMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1N1YmZyYW1lTG9hZGVyLmNwcApAQCAtMTk1LDEzICsxOTUsMTMgQEAgc3RhdGljIHZvaWQgbG9n
UGx1Z2luUmVxdWVzdChQYWdlKiBwYWdlLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBT
dHJpbmcmIHUKICAgICBTdHJpbmcgZGVzY3JpcHRpb24gPSAhcGx1Z2luRmlsZSA/IG5ld01JTUVU
eXBlIDogcGx1Z2luRmlsZTsKIAogICAgIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50JiBkaWFnbm9z
dGljTG9nZ2luZ0NsaWVudCA9IHBhZ2UtPm1haW5GcmFtZSgpLmRpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50KCk7Ci0gICAgZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQubG9nRGlhZ25vc3RpY01lc3NhZ2Uo
c3VjY2VzcyA/IERpYWdub3N0aWNMb2dnaW5nS2V5czo6cGx1Z2luTG9hZGVkS2V5KCkgOiBEaWFn
bm9zdGljTG9nZ2luZ0tleXM6OnBsdWdpbkxvYWRpbmdGYWlsZWRLZXkoKSwgZGVzY3JpcHRpb24p
OworICAgIGRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmxvZ0RpYWdub3N0aWNNZXNzYWdlKHN1Y2Nl
c3MgPyBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnBsdWdpbkxvYWRlZEtleSgpIDogRGlhZ25vc3Rp
Y0xvZ2dpbmdLZXlzOjpwbHVnaW5Mb2FkaW5nRmFpbGVkS2V5KCksIGRlc2NyaXB0aW9uLCBTaG91
bGRTYW1wbGU6Ok5vKTsKIAogICAgIGlmICghcGFnZS0+aGFzU2VlbkFueVBsdWdpbigpKQotICAg
ICAgICBkaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5sb2dEaWFnbm9zdGljTWVzc2FnZShEaWFnbm9z
dGljTG9nZ2luZ0tleXM6OnBhZ2VDb250YWluc0F0TGVhc3RPbmVQbHVnaW5LZXkoKSwgZW1wdHlT
dHJpbmcoKSk7CisgICAgICAgIGRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmxvZ0RpYWdub3N0aWNN
ZXNzYWdlKERpYWdub3N0aWNMb2dnaW5nS2V5czo6cGFnZUNvbnRhaW5zQXRMZWFzdE9uZVBsdWdp
bktleSgpLCBlbXB0eVN0cmluZygpLCBTaG91bGRTYW1wbGU6Ok5vKTsKIAogICAgIGlmICghcGFn
ZS0+aGFzU2VlblBsdWdpbihkZXNjcmlwdGlvbikpCi0gICAgICAgIGRpYWdub3N0aWNMb2dnaW5n
Q2xpZW50LmxvZ0RpYWdub3N0aWNNZXNzYWdlKERpYWdub3N0aWNMb2dnaW5nS2V5czo6cGFnZUNv
bnRhaW5zUGx1Z2luS2V5KCksIGRlc2NyaXB0aW9uKTsKKyAgICAgICAgZGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQubG9nRGlhZ25vc3RpY01lc3NhZ2UoRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpwYWdl
Q29udGFpbnNQbHVnaW5LZXkoKSwgZGVzY3JpcHRpb24sIFNob3VsZFNhbXBsZTo6Tm8pOwogCiAg
ICAgcGFnZS0+c2F3UGx1Z2luKGRlc2NyaXB0aW9uKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDczMWNkNWRkM2ZhYjZiMDJhMTE4M2FiNzk3
NDQyYmZjMmE3YWQyMjcuLjFjMzZmMTZhN2MyZGE3YmYyZWFjZTg2NzQ0NTg1ZjQ3YzdiYWY4Y2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcApAQCAtMTYx
LDcgKzE2MSw3IEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdChSZXNv
dXJjZVJlcXVlc3QmIG5ld1JlcXVlc3QsIGNvbnN0IFJlc291CiAgICAgICAgICAgICBuZXdSZXF1
ZXN0Lm1ha2VVbmNvbmRpdGlvbmFsKCk7CiAgICAgICAgICAgICBNZW1vcnlDYWNoZTo6c2luZ2xl
dG9uKCkucmV2YWxpZGF0aW9uRmFpbGVkKCptX3Jlc291cmNlKTsKICAgICAgICAgICAgIGlmICht
X2ZyYW1lKQotICAgICAgICAgICAgICAgIG1fZnJhbWUtPm1haW5GcmFtZSgpLmRpYWdub3N0aWNM
b2dnaW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KERpYWdub3N0aWNM
b2dnaW5nS2V5czo6Y2FjaGVkUmVzb3VyY2VSZXZhbGlkYXRpb25LZXkoKSwgZW1wdHlTdHJpbmco
KSwgRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRGYWlsKTsKKyAgICAgICAgICAgICAgICBtX2ZyYW1l
LT5tYWluRnJhbWUoKS5kaWFnbm9zdGljTG9nZ2luZ0NsaWVudCgpLmxvZ0RpYWdub3N0aWNNZXNz
YWdlV2l0aFJlc3VsdChEaWFnbm9zdGljTG9nZ2luZ0tleXM6OmNhY2hlZFJlc291cmNlUmV2YWxp
ZGF0aW9uS2V5KCksIGVtcHR5U3RyaW5nKCksIERpYWdub3N0aWNMb2dnaW5nUmVzdWx0RmFpbCwg
U2hvdWxkU2FtcGxlOjpZZXMpOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBpZiAoIW1f
ZG9jdW1lbnRMb2FkZXItPmNhY2hlZFJlc291cmNlTG9hZGVyKCkuY2FuUmVxdWVzdChtX3Jlc291
cmNlLT50eXBlKCksIG5ld1JlcXVlc3QudXJsKCksIG9wdGlvbnMoKSkpIHsKQEAgLTIwOSw3ICsy
MDksNyBAQCB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiAgICAgICAgICAgICBtX3Jlc291cmNlLT5zZXRS
ZXNwb25zZShyZXNwb25zZSk7CiAgICAgICAgICAgICBNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCku
cmV2YWxpZGF0aW9uU3VjY2VlZGVkKCptX3Jlc291cmNlLCByZXNwb25zZSk7CiAgICAgICAgICAg
ICBpZiAobV9mcmFtZSkKLSAgICAgICAgICAgICAgICBtX2ZyYW1lLT5tYWluRnJhbWUoKS5kaWFn
bm9zdGljTG9nZ2luZ0NsaWVudCgpLmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChEaWFn
bm9zdGljTG9nZ2luZ0tleXM6OmNhY2hlZFJlc291cmNlUmV2YWxpZGF0aW9uS2V5KCksIGVtcHR5
U3RyaW5nKCksIERpYWdub3N0aWNMb2dnaW5nUmVzdWx0UGFzcyk7CisgICAgICAgICAgICAgICAg
bV9mcmFtZS0+bWFpbkZyYW1lKCkuZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoKS5sb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhSZXN1bHQoRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpjYWNoZWRSZXNvdXJj
ZVJldmFsaWRhdGlvbktleSgpLCBlbXB0eVN0cmluZygpLCBEaWFnbm9zdGljTG9nZ2luZ1Jlc3Vs
dFBhc3MsIFNob3VsZFNhbXBsZTo6WWVzKTsKICAgICAgICAgICAgIGlmICghcmVhY2hlZFRlcm1p
bmFsU3RhdGUoKSkKICAgICAgICAgICAgICAgICBSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJl
c3BvbnNlKHJlc3BvbnNlKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTIxNyw3ICsyMTcsNyBA
QCB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UpCiAgICAgICAgIC8vIERpZCBub3QgZ2V0IDMwNCByZXNwb25z
ZSwgY29udGludWUgYXMgYSByZWd1bGFyIHJlc291cmNlIGxvYWQuCiAgICAgICAgIE1lbW9yeUNh
Y2hlOjpzaW5nbGV0b24oKS5yZXZhbGlkYXRpb25GYWlsZWQoKm1fcmVzb3VyY2UpOwogICAgICAg
ICBpZiAobV9mcmFtZSkKLSAgICAgICAgICAgIG1fZnJhbWUtPm1haW5GcmFtZSgpLmRpYWdub3N0
aWNMb2dnaW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KERpYWdub3N0
aWNMb2dnaW5nS2V5czo6Y2FjaGVkUmVzb3VyY2VSZXZhbGlkYXRpb25LZXkoKSwgZW1wdHlTdHJp
bmcoKSwgRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRGYWlsKTsKKyAgICAgICAgICAgIG1fZnJhbWUt
Pm1haW5GcmFtZSgpLmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3Nh
Z2VXaXRoUmVzdWx0KERpYWdub3N0aWNMb2dnaW5nS2V5czo6Y2FjaGVkUmVzb3VyY2VSZXZhbGlk
YXRpb25LZXkoKSwgZW1wdHlTdHJpbmcoKSwgRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRGYWlsLCBT
aG91bGRTYW1wbGU6Olllcyk7CiAgICAgfQogCiAgICAgbV9yZXNvdXJjZS0+cmVzcG9uc2VSZWNl
aXZlZChyZXNwb25zZSk7CkBAIC0zNDIsNyArMzQyLDcgQEAgc3RhdGljIHZvaWQgbG9nUmVzb3Vy
Y2VMb2FkZWQoRnJhbWUqIGZyYW1lLCBDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlKQogICAgICAg
ICByZXNvdXJjZVR5cGUgPSBEaWFnbm9zdGljTG9nZ2luZ0tleXM6Om90aGVyS2V5KCk7CiAgICAg
ICAgIGJyZWFrOwogICAgIH0KLSAgICBmcmFtZS0+bWFpbkZyYW1lKCkuZGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQoKS5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShEaWFnbm9zdGljTG9nZ2lu
Z0tleXM6OnJlc291cmNlS2V5KCksIERpYWdub3N0aWNMb2dnaW5nS2V5czo6bG9hZGVkS2V5KCks
IHJlc291cmNlVHlwZSk7CisgICAgZnJhbWUtPm1haW5GcmFtZSgpLmRpYWdub3N0aWNMb2dnaW5n
Q2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoRGlhZ25vc3RpY0xvZ2dpbmdL
ZXlzOjpyZXNvdXJjZUtleSgpLCBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OmxvYWRlZEtleSgpLCBy
ZXNvdXJjZVR5cGUsIFNob3VsZFNhbXBsZTo6WWVzKTsKIH0KIAogdm9pZCBTdWJyZXNvdXJjZUxv
YWRlcjo6ZGlkRmluaXNoTG9hZGluZyhkb3VibGUgZmluaXNoVGltZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IDlmZTcyYzQ3YmZkMzI1
YWRiMmRiOWQ0YWU4Y2M1YTQxZmVlMTZlYmYuLjc1NjRkZTNmMzY0YTI4NTNlZjllNTQ5OWY0YzNk
NmU0NjcyM2Q2YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmNwcApAQCAtNjgzLDcgKzY4Myw3IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2U6OmNhblVz
ZUNhY2hlVmFsaWRhdG9yKCkgY29uc3QKIHN0YXRpYyBpbmxpbmUgdm9pZCBsb2dSZXNvdXJjZVJl
dmFsaWRhdGlvblJlYXNvbihGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgcmVhc29uKQogewog
ICAgIGlmIChmcmFtZSkKLSAgICAgICAgZnJhbWUtPm1haW5GcmFtZSgpLmRpYWdub3N0aWNMb2dn
aW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoRGlhZ25vc3RpY0xvZ2dp
bmdLZXlzOjpjYWNoZWRSZXNvdXJjZVJldmFsaWRhdGlvbktleSgpLCBEaWFnbm9zdGljTG9nZ2lu
Z0tleXM6OnJlYXNvbktleSgpLCByZWFzb24pOworICAgICAgICBmcmFtZS0+bWFpbkZyYW1lKCku
ZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoKS5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShE
aWFnbm9zdGljTG9nZ2luZ0tleXM6OmNhY2hlZFJlc291cmNlUmV2YWxpZGF0aW9uS2V5KCksIERp
YWdub3N0aWNMb2dnaW5nS2V5czo6cmVhc29uS2V5KCksIHJlYXNvbiwgU2hvdWxkU2FtcGxlOjpZ
ZXMpOwogfQogCiBib29sIENhY2hlZFJlc291cmNlOjptdXN0UmV2YWxpZGF0ZUR1ZVRvQ2FjaGVI
ZWFkZXJzKGNvbnN0IENhY2hlZFJlc291cmNlTG9hZGVyJiBjYWNoZWRSZXNvdXJjZUxvYWRlciwg
Q2FjaGVQb2xpY3kgY2FjaGVQb2xpY3kpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCAwN2JhOTI3NWZlNmVj
OGZmMDc0OTQ4ODQ3NWFlNGY4YzEwNTljNTg1Li4zM2U1OTc3ZmZjMjg1MTRlOGQxZDdiYzcxNmUz
OTJkNzY3ZWZjMmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTQ0Myw5ICs0NDMsOSBAQCBzdGF0aWMgaW5saW5l
IHZvaWQgbG9nTWVtb3J5Q2FjaGVSZXNvdXJjZVJlcXVlc3QoRnJhbWUqIGZyYW1lLCBjb25zdCBT
dHJpbmcmIGRlcwogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAodmFs
dWUuaXNOdWxsKCkpCi0gICAgICAgIGZyYW1lLT5tYWluRnJhbWUoKS5kaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudCgpLmxvZ0RpYWdub3N0aWNNZXNzYWdlKERpYWdub3N0aWNMb2dnaW5nS2V5czo6cmVz
b3VyY2VSZXF1ZXN0S2V5KCksIGRlc2NyaXB0aW9uKTsKKyAgICAgICAgZnJhbWUtPm1haW5GcmFt
ZSgpLmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2UoRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzOjpyZXNvdXJjZVJlcXVlc3RLZXkoKSwgZGVzY3JpcHRpb24sIFNob3Vs
ZFNhbXBsZTo6WWVzKTsKICAgICBlbHNlCi0gICAgICAgIGZyYW1lLT5tYWluRnJhbWUoKS5kaWFn
bm9zdGljTG9nZ2luZ0NsaWVudCgpLmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKERpYWdu
b3N0aWNMb2dnaW5nS2V5czo6cmVzb3VyY2VSZXF1ZXN0S2V5KCksIGRlc2NyaXB0aW9uLCB2YWx1
ZSk7CisgICAgICAgIGZyYW1lLT5tYWluRnJhbWUoKS5kaWFnbm9zdGljTG9nZ2luZ0NsaWVudCgp
LmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKERpYWdub3N0aWNMb2dnaW5nS2V5czo6cmVz
b3VyY2VSZXF1ZXN0S2V5KCksIGRlc2NyaXB0aW9uLCB2YWx1ZSwgU2hvdWxkU2FtcGxlOjpZZXMp
OwogfQogCiBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBDYWNo
ZWRSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50LmgKaW5kZXggYTBkYTg1ZGUwYTYwM2NkMDhjMDNlMWQ0MDg3ZGU4
OTEyMTRjZGIzNC4uYmM1YTFlZGY0MjhlYzBmYjExNzI0YjQzNmNkMzE5YzRlNzAyOGQzMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaApAQCAtMzEs
MTEgKzMxLDEzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorZW51bSBjbGFzcyBTaG91bGRT
YW1wbGUgeyBObywgWWVzIH07CisKIGNsYXNzIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50IHsKIHB1
YmxpYzoKLSAgICB2aXJ0dWFsIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2UoY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uKSA9IDA7Ci0gICAgdmlydHVhbCB2
b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIERpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZSkg
PSAwOwotICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0IFN0cmlu
ZyYgdmFsdWUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2UoY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBTaG91bGRTYW1w
bGUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0
KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgRGlhZ25v
c3RpY0xvZ2dpbmdSZXN1bHRUeXBlLCBTaG91bGRTYW1wbGUpID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHZhbHVlLCBTaG91bGRTYW1w
bGUpID0gMDsKIAogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgfkRpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50KCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5jcHAKaW5kZXggYWFkZWEwZTA1MWUzMDhlNDQ2YWJkZTkzYWY5OTY3Mjg2NzdmM2FmZC4u
YzUwZDY3Yzg3M2ZkOWQ1YmQ4ZWJjMmViYTRjMTY3ZmUxMzUxNTExMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMzA1LDE5ICsz
MDUsMTkgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6Z2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNz
KHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2Vu
ZChNZXNzYWdlczo6V2ViUHJvY2Vzc1Bvb2w6OkRpZEdldFN0YXRpc3RpY3MoZGF0YSwgY2FsbGJh
Y2tJRCksIDApOwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjpsb2dEaWFnbm9zdGljTWVzc2Fn
ZSh1aW50NjRfdCB3ZWJQYWdlSUQsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBkZXNjcmlwdGlvbikKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6OmxvZ0RpYWdub3N0aWNNZXNzYWdl
KHVpbnQ2NF90IHdlYlBhZ2VJRCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQogewotICAg
IHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNz
UHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlKHdlYlBhZ2VJRCwgbWVzc2FnZSwgZGVzY3JpcHRp
b24pLCAwKTsKKyAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpO
ZXR3b3JrUHJvY2Vzc1Byb3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZSh3ZWJQYWdlSUQsIG1lc3Nh
Z2UsIGRlc2NyaXB0aW9uLCBzaG91bGRTYW1wbGUgPT0gU2hvdWxkU2FtcGxlOjpZZXMpLCAwKTsK
IH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzczo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0
KHVpbnQ2NF90IHdlYlBhZ2VJRCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUgcmVzdWx0
KQordm9pZCBOZXR3b3JrUHJvY2Vzczo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KHVp
bnQ2NF90IHdlYlBhZ2VJRCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRl
c2NyaXB0aW9uLCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUgcmVzdWx0LCBX
ZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQogewotICAgIHBhcmVudFByb2Nlc3ND
b25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OkxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aFJlc3VsdCh3ZWJQYWdlSUQsIG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCBy
ZXN1bHQpLCAwKTsKKyAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2Vz
OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQod2Vi
UGFnZUlELCBtZXNzYWdlLCBkZXNjcmlwdGlvbiwgcmVzdWx0LCBzaG91bGRTYW1wbGUgPT0gU2hv
dWxkU2FtcGxlOjpZZXMpLCAwKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzczo6bG9nRGlhZ25v
c3RpY01lc3NhZ2VXaXRoVmFsdWUodWludDY0X3Qgd2ViUGFnZUlELCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0IFN0cmluZyYgdmFsdWUpCit2
b2lkIE5ldHdvcmtQcm9jZXNzOjpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZSh1aW50NjRf
dCB3ZWJQYWdlSUQsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlw
dGlvbiwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNh
bXBsZSkKIHsKLSAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpO
ZXR3b3JrUHJvY2Vzc1Byb3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZSh3ZWJQYWdl
SUQsIG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCB2YWx1ZSksIDApOworICAgIHBhcmVudFByb2Nlc3ND
b25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OkxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aFZhbHVlKHdlYlBhZ2VJRCwgbWVzc2FnZSwgZGVzY3JpcHRpb24sIHZh
bHVlLCBzaG91bGRTYW1wbGUgPT0gU2hvdWxkU2FtcGxlOjpZZXMpLCAwKTsKIH0KIAogdm9pZCBO
ZXR3b3JrUHJvY2Vzczo6dGVybWluYXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IGZjYmM5OGNkYjcyNThlMzE4MzM3NzkzZjExNWI4
NmFjYWQzOGMwMjIuLjFkNWZiNWI1OTA4MzJjZjM4M2M3OTFmZDJhODMxOWEwZjM1ZTRkNjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgK
KysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAt
MzMsNyArMzMsNyBAQAogI2luY2x1ZGUgIkRvd25sb2FkTWFuYWdlci5oIgogI2luY2x1ZGUgIk1l
c3NhZ2VSZWNlaXZlck1hcC5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVs
ZXIuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0RpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZS5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1Nlc3Npb25JRC5oPgogI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgpAQCAtNzcsOSArNzcsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBjYW5IYW5kbGVIVFRQ
U1NlcnZlclRydXN0RXZhbHVhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY2FuSGFuZGxlSFRUUFNT
ZXJ2ZXJUcnVzdEV2YWx1YXRpb247IH0KIAogICAgIC8vIERpYWdub3N0aWMgbWVzc2FnZXMgbG9n
Z2luZy4KLSAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlKHVpbnQ2NF90IHdlYlBhZ2VJRCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uKTsKLSAgICB2
b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdCh1aW50NjRfdCB3ZWJQYWdlSUQsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6
RGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlKTsKLSAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNz
YWdlV2l0aFZhbHVlKHVpbnQ2NF90IHdlYlBhZ2VJRCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHZhbHVlKTsKKyAgICB2b2lk
IGxvZ0RpYWdub3N0aWNNZXNzYWdlKHVpbnQ2NF90IHdlYlBhZ2VJRCwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUp
OworICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KHVpbnQ2NF90IHdlYlBh
Z2VJRCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBX
ZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUsIFdlYkNvcmU6OlNob3VsZFNhbXBs
ZSk7CisgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZSh1aW50NjRfdCB3ZWJQ
YWdlSUQsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwg
Y29uc3QgU3RyaW5nJiB2YWx1ZSwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlKTsKIAogcHJpdmF0ZToK
ICAgICBOZXR3b3JrUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljc0NvY29hLm1tIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljc0NvY29hLm1t
CmluZGV4IGQ2ZTU0NjEwZTYzMDRiNTk5ZWRkOTRmNTRlMjI2ZDU0MjViMGUwM2UuLmU3NTczYWNk
YWViNThhMWQ5Y2M5OGIxYzcyYTU5NzM0NmVjNjY5ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3NDb2NvYS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0
aXN0aWNzQ29jb2EubW0KQEAgLTIxNiw3ICsyMTYsNyBAQCB2b2lkIE5ldHdvcmtDYWNoZVN0YXRp
c3RpY3M6OnJlY29yZE5vdFVzaW5nQ2FjaGVGb3JSZXF1ZXN0KHVpbnQ2NF90IHdlYlBhZ2VJRCwg
YwogICAgICAgICBpZiAod2FzRXZlclJlcXVlc3RlZCkgewogICAgICAgICAgICAgU3RyaW5nIGRp
YWdub3N0aWNLZXkgPSByZXRyaWV2ZURlY2lzaW9uVG9EaWFnbm9zdGljS2V5KHJldHJpZXZlRGVj
aXNpb24pOwogICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZSwgIihOZXR3b3JrUHJvY2Vzcykg
d2ViUGFnZUlEICVsbHU6ICVzIHdhcyBwcmV2aW91c2x5IHJlcXVlc3RlZCBidXQgd2UgYXJlIG5v
dCB1c2luZyB0aGUgY2FjaGUsIHJlYXNvbjogJXMiLCB3ZWJQYWdlSUQsIHJlcXVlc3RVUkwuc3Ry
aW5nKCkuYXNjaWkoKS5kYXRhKCksIGRpYWdub3N0aWNLZXkudXRmOCgpLmRhdGEoKSk7Ci0gICAg
ICAgICAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkubG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoVmFsdWUod2ViUGFnZUlELCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ0tleXM6Om5ldHdv
cmtDYWNoZUtleSgpLCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnVudXNlZEtleSgp
LCBkaWFnbm9zdGljS2V5KTsKKyAgICAgICAgICAgIE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24o
KS5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZSh3ZWJQYWdlSUQsIFdlYkNvcmU6OkRpYWdu
b3N0aWNMb2dnaW5nS2V5czo6bmV0d29ya0NhY2hlS2V5KCksIFdlYkNvcmU6OkRpYWdub3N0aWNM
b2dnaW5nS2V5czo6dW51c2VkS2V5KCksIGRpYWdub3N0aWNLZXksIFdlYkNvcmU6OlNob3VsZFNh
bXBsZTo6WWVzKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBtYXJrQXNSZXF1ZXN0ZWQo
aGFzaCk7CiAgICAgfSk7CkBAIC0yNTAsNyArMjUwLDcgQEAgdm9pZCBOZXR3b3JrQ2FjaGVTdGF0
aXN0aWNzOjpyZWNvcmRSZXRyaWV2YWxGYWlsdXJlKHVpbnQ2NF90IHdlYlBhZ2VJRCwgY29uc3Qg
TmUKICAgICAgICAgaWYgKHdhc1ByZXZpb3VzbHlSZXF1ZXN0ZWQpIHsKICAgICAgICAgICAgIFN0
cmluZyBkaWFnbm9zdGljS2V5ID0gc3RvcmVEZWNpc2lvblRvRGlhZ25vc3RpY0tleShzdG9yZURl
Y2lzaW9uLnZhbHVlKCkpOwogICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZSwgIihOZXR3b3Jr
UHJvY2Vzcykgd2ViUGFnZUlEICVsbHU6ICVzIHdhcyBwcmV2aW91c2x5IHJlcXVlc3QgYnV0IGlz
IG5vdCBpbiB0aGUgY2FjaGUsIHJlYXNvbjogJXMiLCB3ZWJQYWdlSUQsIHJlcXVlc3RVUkwuc3Ry
aW5nKCkuYXNjaWkoKS5kYXRhKCksIGRpYWdub3N0aWNLZXkudXRmOCgpLmRhdGEoKSk7Ci0gICAg
ICAgICAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkubG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoVmFsdWUod2ViUGFnZUlELCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ0tleXM6Om5ldHdv
cmtDYWNoZUtleSgpLCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ0tleXM6Om5vdEluQ2FjaGVL
ZXkoKSwgZGlhZ25vc3RpY0tleSk7CisgICAgICAgICAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xl
dG9uKCkubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUod2ViUGFnZUlELCBXZWJDb3JlOjpE
aWFnbm9zdGljTG9nZ2luZ0tleXM6Om5ldHdvcmtDYWNoZUtleSgpLCBXZWJDb3JlOjpEaWFnbm9z
dGljTG9nZ2luZ0tleXM6Om5vdEluQ2FjaGVLZXkoKSwgZGlhZ25vc3RpY0tleSwgV2ViQ29yZTo6
U2hvdWxkU2FtcGxlOjpZZXMpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIG1hcmtBc1Jl
cXVlc3RlZChoYXNoKTsKICAgICB9KTsKQEAgLTI3NywxMyArMjc3LDEzIEBAIHZvaWQgTmV0d29y
a0NhY2hlU3RhdGlzdGljczo6cmVjb3JkUmV0cmlldmVkQ2FjaGVkRW50cnkodWludDY0X3Qgd2Vi
UGFnZUlELCBjb25zCiAgICAgV2ViQ29yZTo6VVJMIHJlcXVlc3RVUkwgPSByZXF1ZXN0LnVybCgp
OwogICAgIGlmIChmYWlsdXJlID09IE5ldHdvcmtDYWNoZTo6Q2FjaGVkRW50cnlSZXVzZUZhaWx1
cmU6Ok5vbmUpIHsKICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZSwgIihOZXR3b3JrUHJvY2Vzcykg
d2ViUGFnZUlEICVsbHU6ICVzIGlzIGluIHRoZSBjYWNoZSBhbmQgaXMgdXNlZCIsIHdlYlBhZ2VJ
RCwgcmVxdWVzdFVSTC5zdHJpbmcoKS5hc2NpaSgpLmRhdGEoKSk7Ci0gICAgICAgIE5ldHdvcmtQ
cm9jZXNzOjpzaW5nbGV0b24oKS5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQod2ViUGFn
ZUlELCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ0tleXM6Om5ldHdvcmtDYWNoZUtleSgpLCBX
ZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnJldHJpZXZhbEtleSgpLCBXZWJDb3JlOjpE
aWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFBhc3MpOworICAgICAgICBOZXR3b3JrUHJvY2Vzczo6c2lu
Z2xldG9uKCkubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KHdlYlBhZ2VJRCwgV2ViQ29y
ZTo6RGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpuZXR3b3JrQ2FjaGVLZXkoKSwgV2ViQ29yZTo6RGlh
Z25vc3RpY0xvZ2dpbmdLZXlzOjpyZXRyaWV2YWxLZXkoKSwgV2ViQ29yZTo6RGlhZ25vc3RpY0xv
Z2dpbmdSZXN1bHRQYXNzLCBXZWJDb3JlOjpTaG91bGRTYW1wbGU6Olllcyk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKICAgICBTdHJpbmcgZGlhZ25vc3RpY0tleSA9IGNhY2hlZEVudHJ5UmV1
c2VGYWlsdXJlVG9EaWFnbm9zdGljS2V5KGZhaWx1cmUpOwogICAgIExPRyhOZXR3b3JrQ2FjaGUs
ICIoTmV0d29ya1Byb2Nlc3MpIHdlYlBhZ2VJRCAlbGx1OiAlcyBpcyBpbiB0aGUgY2FjaGUgYnV0
IHdhc24ndCB1c2VkLCByZWFzb246ICVzIiwgd2ViUGFnZUlELCByZXF1ZXN0VVJMLnN0cmluZygp
LmFzY2lpKCkuZGF0YSgpLCBkaWFnbm9zdGljS2V5LnV0ZjgoKS5kYXRhKCkpOwotICAgIE5ldHdv
cmtQcm9jZXNzOjpzaW5nbGV0b24oKS5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZSh3ZWJQ
YWdlSUQsIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nS2V5czo6bmV0d29ya0NhY2hlS2V5KCks
IFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nS2V5czo6dW51c2FibGVDYWNoZWRFbnRyeUtleSgp
LCBkaWFnbm9zdGljS2V5KTsKKyAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkubG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoVmFsdWUod2ViUGFnZUlELCBXZWJDb3JlOjpEaWFnbm9zdGljTG9n
Z2luZ0tleXM6Om5ldHdvcmtDYWNoZUtleSgpLCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ0tl
eXM6OnVudXNhYmxlQ2FjaGVkRW50cnlLZXkoKSwgZGlhZ25vc3RpY0tleSwgV2ViQ29yZTo6U2hv
dWxkU2FtcGxlOjpZZXMpOwogfQogCiB2b2lkIE5ldHdvcmtDYWNoZVN0YXRpc3RpY3M6Om1hcmtB
c1JlcXVlc3RlZChjb25zdCBTdHJpbmcmIGhhc2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCmluZGV4IDczMmMx
YjU3ZjA5N2MwODk2YTkyMjQ5MDNhMDgxOTAyNTI0Yzg3NWIuLmU5NzBhMjZiZGU4YTFlZGNjMjg1
NmYyMTRlMzY1MWU4M2VkZWRjZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC0yMzAsNyArMjMwLDcg
QEAgdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcoUHJvY2Vzc0xh
dW5jaGVyKiBsYXVuY2hlciwgSVBDOjpDb24KICNlbmRpZgogfQogCi12b2lkIE5ldHdvcmtQcm9j
ZXNzUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uKQordm9pZCBOZXR3b3JrUHJv
Y2Vzc1Byb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgYm9vbCBzaG91bGRTYW1w
bGUpCiB7CiAgICAgV2ViUGFnZVByb3h5KiBwYWdlID0gV2ViUHJvY2Vzc1Byb3h5Ojp3ZWJQYWdl
KHBhZ2VJRCk7CiAgICAgLy8gRklYTUU6IFdlIGRvIHRoaXMgbnVsbC1jaGVjayBiZWNhdXNlIGJ5
IHRoZSB0aW1lIHRoZSBkZWNpc2lvbiB0byBsb2cgaXMgbWFkZSwgdGhlIHBhZ2UgbWF5IGJlIGdv
bmUuIFdlIHNob3VsZCByZWZhY3RvciB0byBhdm9pZCB0aGlzLApAQCAtMjM4LDEwICsyMzgsMTAg
QEAgdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZSh1aW50NjRf
dCBwYWdlSUQsIGNvbnN0IFN0cmluZyYgbWUKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIHBhZ2UtPmxvZ0RpYWdub3N0aWNNZXNzYWdlKG1lc3NhZ2UsIGRlc2NyaXB0aW9u
KTsKKyAgICBwYWdlLT5sb2dEaWFnbm9zdGljTWVzc2FnZShtZXNzYWdlLCBkZXNjcmlwdGlvbiwg
c2hvdWxkU2FtcGxlKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5Ojpsb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhSZXN1bHQodWludDY0X3QgcGFnZUlELCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIHVpbnQzMl90IHJlc3VsdCkKK3ZvaWQgTmV0
d29ya1Byb2Nlc3NQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KHVpbnQ2NF90
IHBhZ2VJRCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9u
LCB1aW50MzJfdCByZXN1bHQsIGJvb2wgc2hvdWxkU2FtcGxlKQogewogICAgIFdlYlBhZ2VQcm94
eSogcGFnZSA9IFdlYlByb2Nlc3NQcm94eTo6d2ViUGFnZShwYWdlSUQpOwogICAgIC8vIEZJWE1F
OiBXZSBkbyB0aGlzIG51bGwtY2hlY2sgYmVjYXVzZSBieSB0aGUgdGltZSB0aGUgZGVjaXNpb24g
dG8gbG9nIGlzIG1hZGUsIHRoZSBwYWdlIG1heSBiZSBnb25lLiBXZSBzaG91bGQgcmVmYWN0b3Ig
dG8gYXZvaWQgdGhpcywKQEAgLTI0OSwxMCArMjQ5LDEwIEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQ
cm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KHVpbnQ2NF90IHBhZ2VJRCwgY29u
c3QKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIHBhZ2UtPmxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aFJlc3VsdChtZXNzYWdlLCBkZXNjcmlwdGlvbiwgcmVzdWx0KTsKKyAg
ICBwYWdlLT5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQobWVzc2FnZSwgZGVzY3JpcHRp
b24sIHJlc3VsdCwgc2hvdWxkU2FtcGxlKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5
Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5nJiB2
YWx1ZSkKK3ZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
VmFsdWUodWludDY0X3QgcGFnZUlELCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmlu
ZyYgZGVzY3JpcHRpb24sIGNvbnN0IFN0cmluZyYgdmFsdWUsIGJvb2wgc2hvdWxkU2FtcGxlKQog
ewogICAgIFdlYlBhZ2VQcm94eSogcGFnZSA9IFdlYlByb2Nlc3NQcm94eTo6d2ViUGFnZShwYWdl
SUQpOwogICAgIC8vIEZJWE1FOiBXZSBkbyB0aGlzIG51bGwtY2hlY2sgYmVjYXVzZSBieSB0aGUg
dGltZSB0aGUgZGVjaXNpb24gdG8gbG9nIGlzIG1hZGUsIHRoZSBwYWdlIG1heSBiZSBnb25lLiBX
ZSBzaG91bGQgcmVmYWN0b3IgdG8gYXZvaWQgdGhpcywKQEAgLTI2MCw3ICsyNjAsNyBAQCB2b2lk
IE5ldHdvcmtQcm9jZXNzUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKHVpbnQ2
NF90IHBhZ2VJRCwgY29uc3QgUwogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgcGFnZS0+bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUobWVzc2FnZSwgZGVzY3JpcHRp
b24sIHZhbHVlKTsKKyAgICBwYWdlLT5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShtZXNz
YWdlLCBkZXNjcmlwdGlvbiwgdmFsdWUsIHNob3VsZFNhbXBsZSk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsv
TmV0d29ya1Byb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsv
TmV0d29ya1Byb2Nlc3NQcm94eS5oCmluZGV4IDNmODk2Mjc2OTE3ZDMyYTRmYzgyNmJjZmRmYTQ2
OGQ5YTg0MDg4YzIuLjU1MGIzYjgyNjcwNDQwNTNkYmY2YWYwOTUyMmJlNjY5ODA3ZjU0MjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNz
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc1Byb3h5LmgKQEAgLTkxLDkgKzkxLDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZENyZWF0
ZU5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKGNvbnN0IElQQzo6QXR0YWNobWVudCYpOwog
ICAgIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKHVpbnQ2NF90IHBhZ2VJ
RCwgdWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVu
Z2UmLCB1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBkaWREZWxldGVXZWJzaXRlRGF0
YSh1aW50NjRfdCBjYWxsYmFja0lEKTsKLSAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlKHVp
bnQ2NF90IHBhZ2VJRCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2Ny
aXB0aW9uKTsKLSAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdCh1aW50NjRf
dCBwYWdlSUQsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlv
biwgdWludDMyX3QgcmVzdWx0KTsKLSAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZh
bHVlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IGRlc2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHZhbHVlKTsKKyAgICB2b2lkIGxvZ0RpYWdub3N0
aWNNZXNzYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBT
dHJpbmcmIGRlc2NyaXB0aW9uLCBib29sIHNob3VsZFNhbXBsZSk7CisgICAgdm9pZCBsb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhSZXN1bHQodWludDY0X3QgcGFnZUlELCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIHVpbnQzMl90IHJlc3VsdCwgYm9vbCBz
aG91bGRTYW1wbGUpOworICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUodWlu
dDY0X3QgcGFnZUlELCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3Jp
cHRpb24sIGNvbnN0IFN0cmluZyYgdmFsdWUsIGJvb2wgc2hvdWxkU2FtcGxlKTsKIAogICAgIC8v
IFByb2Nlc3NMYXVuY2hlcjo6Q2xpZW50CiAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExhdW5j
aGluZyhQcm9jZXNzTGF1bmNoZXIqLCBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIpIG92ZXJy
aWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29y
a1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3
b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZTlkOGNmNjFlMzlkZTg0
MGY2MTdkMWE3ZTE5MWNlMGM0ZDE3OTBkYS4uYzUxOWNlNjlkZDliMGMxZDVjZTk1OTUzYmNiNGNj
MTZmZTFiZWE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsv
TmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC0zMCw5ICsz
MCw5IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzUHJveHkgTGVnYWN5UmVjZWl2ZXIgewog
ICAgIERpZERlbGV0ZVdlYnNpdGVEYXRhKHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAKICAgICAjIERp
YWdub3N0aWMgbWVzc2FnZXMgbG9nZ2luZwotICAgIExvZ0RpYWdub3N0aWNNZXNzYWdlKHVpbnQ2
NF90IHBhZ2VJRCwgU3RyaW5nIG1lc3NhZ2UsIFN0cmluZyBkZXNjcmlwdGlvbikKLSAgICBMb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQodWludDY0X3QgcGFnZUlELCBTdHJpbmcgbWVzc2Fn
ZSwgU3RyaW5nIGRlc2NyaXB0aW9uLCB1aW50MzJfdCByZXN1bHQpCi0gICAgTG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoVmFsdWUodWludDY0X3QgcGFnZUlELCBTdHJpbmcgbWVzc2FnZSwgU3RyaW5n
IGRlc2NyaXB0aW9uLCBTdHJpbmcgdmFsdWUpCisgICAgTG9nRGlhZ25vc3RpY01lc3NhZ2UodWlu
dDY0X3QgcGFnZUlELCBTdHJpbmcgbWVzc2FnZSwgU3RyaW5nIGRlc2NyaXB0aW9uLCBib29sIHNo
b3VsZFNhbXBsZSkKKyAgICBMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQodWludDY0X3Qg
cGFnZUlELCBTdHJpbmcgbWVzc2FnZSwgU3RyaW5nIGRlc2NyaXB0aW9uLCB1aW50MzJfdCByZXN1
bHQsIGJvb2wgc2hvdWxkU2FtcGxlKQorICAgIExvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVl
KHVpbnQ2NF90IHBhZ2VJRCwgU3RyaW5nIG1lc3NhZ2UsIFN0cmluZyBkZXNjcmlwdGlvbiwgU3Ry
aW5nIHZhbHVlLCBib29sIHNob3VsZFNhbXBsZSkKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShORVRX
T1JLX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmlu
ZGV4IDFmYWRjMWExNGU2MTc1YmU4MTJhYzhlMzE4NmZkNDEyNmI0ZDU3ODUuLjNkY2I3ZTgwN2I4
MGE3ZDE0NzVmMTMyOWY3N2EyZmNmODQ2MDJiM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xMTEsNiArMTExLDcgQEAKICNpbmNsdWRlIDxXZWJDb3Jl
L1dpbmRvd0ZlYXR1cmVzLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmFuZG9tTnVtYmVyLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvU3RyaW5nVmlldy5oPgogCiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKQEAg
LTQ1MzgsMTkgKzQ1MzksMzEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmVkaXRpbmdSYW5nZUNhbGxi
YWNrKGNvbnN0IEVkaXRpbmdSYW5nZSYgcmFuZ2UsIHVpbnQ2NF90IGNhbGwKICAgICBjYWxsYmFj
ay0+cGVyZm9ybUNhbGxiYWNrV2l0aFJldHVyblZhbHVlKHJhbmdlKTsKIH0KIAotdm9pZCBXZWJQ
YWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29u
c3QgU3RyaW5nJiBkZXNjcmlwdGlvbikKK3N0YXRpYyBib29sIHNob3VsZExvZ0RpYWdub3N0aWNN
ZXNzYWdlKGJvb2wgc2hvdWxkU2FtcGxlKQogewotICAgIG1fZGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQtPmxvZ0RpYWdub3N0aWNNZXNzYWdlKHRoaXMsIG1lc3NhZ2UsIGRlc2NyaXB0aW9uKTsKKyAg
ICBpZiAoIXNob3VsZFNhbXBsZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgLy8gTG9nIDUl
IG9mIG1lc3NhZ2VzIHdoZW4gc2FtcGxpbmcuCisgICAgc3RhdGljIGNvbnN0IGRvdWJsZSBzZWxl
Y3Rpb25Qcm9iYWJpbGl0eSA9IDAuMDU7CisgICAgcmV0dXJuIHJhbmRvbU51bWJlcigpIDw9IHNl
bGVjdGlvblByb2JhYmlsaXR5OworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3Rp
Y01lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9u
LCBib29sIHNob3VsZFNhbXBsZSkKK3sKKyAgICBpZiAoc2hvdWxkTG9nRGlhZ25vc3RpY01lc3Nh
Z2Uoc2hvdWxkU2FtcGxlKSkKKyAgICAgICAgbV9kaWFnbm9zdGljTG9nZ2luZ0NsaWVudC0+bG9n
RGlhZ25vc3RpY01lc3NhZ2UodGhpcywgbWVzc2FnZSwgZGVzY3JpcHRpb24pOwogfQogCi12b2lk
IFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgdWludDMyX3QgcmVzdWx0KQor
dm9pZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIHVpbnQzMl90IHJlc3Vs
dCwgYm9vbCBzaG91bGRTYW1wbGUpCiB7Ci0gICAgbV9kaWFnbm9zdGljTG9nZ2luZ0NsaWVudC0+
bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KHRoaXMsIG1lc3NhZ2UsIGRlc2NyaXB0aW9u
LCBzdGF0aWNfY2FzdDxXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGU+KHJlc3Vs
dCkpOworICAgIGlmIChzaG91bGRMb2dEaWFnbm9zdGljTWVzc2FnZShzaG91bGRTYW1wbGUpKQor
ICAgICAgICBtX2RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LT5sb2dEaWFnbm9zdGljTWVzc2FnZVdp
dGhSZXN1bHQodGhpcywgbWVzc2FnZSwgZGVzY3JpcHRpb24sIHN0YXRpY19jYXN0PFdlYkNvcmU6
OkRpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZT4ocmVzdWx0KSk7CiB9CiAKLXZvaWQgV2ViUGFn
ZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0IFN0cmluZyYgdmFsdWUpCit2b2lk
IFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHZhbHVl
LCBib29sIHNob3VsZFNhbXBsZSkKIHsKLSAgICBtX2RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LT5s
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZSh0aGlzLCBtZXNzYWdlLCBkZXNjcmlwdGlvbiwg
dmFsdWUpOworICAgIGlmIChzaG91bGRMb2dEaWFnbm9zdGljTWVzc2FnZShzaG91bGRTYW1wbGUp
KQorICAgICAgICBtX2RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LT5sb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhWYWx1ZSh0aGlzLCBtZXNzYWdlLCBkZXNjcmlwdGlvbiwgdmFsdWUpOwogfQogCiB2b2lk
IFdlYlBhZ2VQcm94eTo6cmVjdEZvckNoYXJhY3RlclJhbmdlQ2FsbGJhY2soY29uc3QgSW50UmVj
dCYgcmVjdCwgY29uc3QgRWRpdGluZ1JhbmdlJiBhY3R1YWxSYW5nZSwgdWludDY0X3QgY2FsbGJh
Y2tJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA1NTNiZTll
YWMzNzZlMjRlMDY2NWUwMTdhMTI4ZjBkZDlmNWNkOTAxLi5jMWFiY2MwNDE3NzIwMGY0NzdjOWJk
MzQwYThjZTM2NDA0MDBmMzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCkBAIC05OTAsOSArOTkwLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2hvdWxkRGlzcGF0
Y2hGYWtlTW91c2VNb3ZlRXZlbnRzKGJvb2wpOwogCiAgICAgLy8gRGlhZ25vc3RpYyBtZXNzYWdl
cyBsb2dnaW5nLgotICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2UoY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uKTsKLSAgICB2b2lkIGxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aFJlc3VsdChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYg
ZGVzY3JpcHRpb24sIHVpbnQzMl90IHJlc3VsdCk7Ci0gICAgdm9pZCBsb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhWYWx1ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3Jp
cHRpb24sIGNvbnN0IFN0cmluZyYgdmFsdWUpOworICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3Nh
Z2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBib29s
IHNob3VsZFNhbXBsZSk7CisgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQo
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCB1aW50MzJf
dCByZXN1bHQsIGJvb2wgc2hvdWxkU2FtcGxlKTsKKyAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNz
YWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlw
dGlvbiwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCBzaG91bGRTYW1wbGUpOwogCiBwcml2YXRl
OgogICAgIFdlYlBhZ2VQcm94eShQYWdlQ2xpZW50JiwgV2ViUHJvY2Vzc1Byb3h5JiwgdWludDY0
X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ29uZmlndXJhdGlvbiYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNmM1MDY5YzE2
YWFlM2FjMDM4MGMxNzkyZjNkOGY4MmY3ZDE1N2ZmMC4uYTQ2MjcxMTc2YjA3OWE4NjQwMTUxMzc4
OWRkNDIzYmM1ZWQwNWU3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yMjQsOSArMjI0LDkgQEAgbWVzc2FnZXMgLT4gV2Vi
UGFnZVByb3h5IHsKICAgICBFeGVjdXRlVW5kb1JlZG8odWludDMyX3QgYWN0aW9uKSAtPiAoYm9v
bCByZXN1bHQpCiAKICAgICAjIERpYWdub3N0aWMgbWVzc2FnZXMgbG9nZ2luZwotICAgIExvZ0Rp
YWdub3N0aWNNZXNzYWdlKFN0cmluZyBtZXNzYWdlLCBTdHJpbmcgZGVzY3JpcHRpb24pCi0gICAg
TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KFN0cmluZyBtZXNzYWdlLCBTdHJpbmcgZGVz
Y3JpcHRpb24sIHVpbnQzMl90IHJlc3VsdCkKLSAgICBMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhW
YWx1ZShTdHJpbmcgbWVzc2FnZSwgU3RyaW5nIGRlc2NyaXB0aW9uLCBTdHJpbmcgdmFsdWUpCisg
ICAgTG9nRGlhZ25vc3RpY01lc3NhZ2UoU3RyaW5nIG1lc3NhZ2UsIFN0cmluZyBkZXNjcmlwdGlv
biwgYm9vbCBzaG91bGRTYW1wbGUpCisgICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0
KFN0cmluZyBtZXNzYWdlLCBTdHJpbmcgZGVzY3JpcHRpb24sIHVpbnQzMl90IHJlc3VsdCwgYm9v
bCBzaG91bGRTYW1wbGUpCisgICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoU3RyaW5n
IG1lc3NhZ2UsIFN0cmluZyBkZXNjcmlwdGlvbiwgU3RyaW5nIHZhbHVlLCBib29sIHNob3VsZFNh
bXBsZSkKIAogICAgICMgRWRpdG9yIG5vdGlmaWNhdGlvbnMKICAgICBFZGl0b3JTdGF0ZUNoYW5n
ZWQoc3RydWN0IFdlYktpdDo6RWRpdG9yU3RhdGUgZWRpdG9yU3RhdGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dn
aW5nQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwCmluZGV4IDhiZTE2ZjNjYzY2ZDNiZDM3MDg1
MjdlYjQyNDFiYzk1ODExMDc2MjYuLjBlYTE4MjA3NjA5ZmI2YmQ3NmM1OGNhNGQ0OGY1MGFjN2Zk
NDVjMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwCkBA
IC00MSwzNCArNDEsMzQgQEAgV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6On5XZWJEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudCgpCiB7CiB9CiAKLXZvaWQgV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3Ry
aW5nJiBkZXNjcmlwdGlvbikKK3ZvaWQgV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0Rp
YWdub3N0aWNNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNj
cmlwdGlvbiwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKIHsKICAgICBpZiAo
IW1fcGFnZS5jb3JlUGFnZSgpLT5zZXR0aW5ncygpLmRpYWdub3N0aWNMb2dnaW5nRW5hYmxlZCgp
KQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgaW5qZWN0ZWQg
YnVuZGxlIEFQSS4KICAgICBtX3BhZ2UuaW5qZWN0ZWRCdW5kbGVEaWFnbm9zdGljTG9nZ2luZ0Ns
aWVudCgpLmxvZ0RpYWdub3N0aWNNZXNzYWdlKCZtX3BhZ2UsIG1lc3NhZ2UsIGRlc2NyaXB0aW9u
KTsKLSAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGlj
TWVzc2FnZShtZXNzYWdlLCBkZXNjcmlwdGlvbikpOworICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlKG1lc3NhZ2UsIGRlc2NyaXB0aW9u
LCBzaG91bGRTYW1wbGUgPT0gV2ViQ29yZTo6U2hvdWxkU2FtcGxlOjpZZXMpKTsKIH0KIAotdm9p
ZCBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVz
dWx0KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV2Vi
Q29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlIHJlc3VsdCkKK3ZvaWQgV2ViRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OkRpYWdu
b3N0aWNMb2dnaW5nUmVzdWx0VHlwZSByZXN1bHQsIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91
bGRTYW1wbGUpCiB7CiAgICAgaWYgKCFtX3BhZ2UuY29yZVBhZ2UoKS0+c2V0dGluZ3MoKS5kaWFn
bm9zdGljTG9nZ2luZ0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gRklYTUU6
IFJlbW92ZSB0aGlzIGluamVjdGVkIGJ1bmRsZSBBUEkuCiAgICAgbV9wYWdlLmluamVjdGVkQnVu
ZGxlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoKS5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1
bHQoJm1fcGFnZSwgbWVzc2FnZSwgZGVzY3JpcHRpb24sIHJlc3VsdCk7Ci0gICAgbV9wYWdlLnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0
KG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCByZXN1bHQpKTsKKyAgICBtX3BhZ2Uuc2VuZChNZXNzYWdl
czo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQobWVzc2FnZSwg
ZGVzY3JpcHRpb24sIHJlc3VsdCwgc2hvdWxkU2FtcGxlID09IFdlYkNvcmU6OlNob3VsZFNhbXBs
ZTo6WWVzKSk7CiB9CiAKLXZvaWQgV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBkZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKK3ZvaWQgV2ViRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5nJiB2YWx1ZSwg
V2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKIHsKICAgICBpZiAoIW1fcGFnZS5j
b3JlUGFnZSgpLT5zZXR0aW5ncygpLmRpYWdub3N0aWNMb2dnaW5nRW5hYmxlZCgpKQogICAgICAg
ICByZXR1cm47CiAKICAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgaW5qZWN0ZWQgYnVuZGxlIEFQ
SS4KICAgICBtX3BhZ2UuaW5qZWN0ZWRCdW5kbGVEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCgpLmxv
Z0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKCZtX3BhZ2UsIG1lc3NhZ2UsIGRlc2NyaXB0aW9u
LCB2YWx1ZSk7Ci0gICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoVmFsdWUobWVzc2FnZSwgZGVzY3JpcHRpb24sIHZhbHVlKSk7Cisg
ICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3RpY01lc3Nh
Z2VXaXRoVmFsdWUobWVzc2FnZSwgZGVzY3JpcHRpb24sIHZhbHVlLCBzaG91bGRTYW1wbGUgPT0g
V2ViQ29yZTo6U2hvdWxkU2FtcGxlOjpZZXMpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKaW5kZXggNDZlZTY5OGI1
NzQ4MGE1ZjNjYzJlZDRlODMxMDg0MzJjNmViMTJjNy4uMzY4N2NjODBhYjhiN2U1MmI5ZDA1Mzhm
ODQwMWJjMTg5NGRkNDM0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQuaApAQCAtMzksOSArMzksOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+V2ViRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQoKTsKIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgbG9nRGlhZ25v
c3RpY01lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0
aW9uKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
UmVzdWx0KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwg
V2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlKSBvdmVycmlkZTsKLSAgICB2aXJ0
dWFsIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHZhbHVlKSBvdmVy
cmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2UoY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91bGRTYW1w
bGUpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhS
ZXN1bHQoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBX
ZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUsIFdlYkNvcmU6OlNob3VsZFNhbXBs
ZSkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZh
bHVlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29u
c3QgU3RyaW5nJiB2YWx1ZSwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlKSBvdmVycmlkZTsKIAogICAg
IFdlYlBhZ2UmIG1fcGFnZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggODg3MzNlZTVkNTFkZGFjZmJjYWMxN2Y2
NzUxNjk0YWJiYzUzYTI2ZS4uNjljYjczYmFmMTliMmYwYjllOTRiYzVmMThjYTY4NmEyNDRjM2I4
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQ
YWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2Vi
UGFnZUlPUy5tbQpAQCAtMjcxMSw3ICsyNzExLDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVWaXNp
YmxlQ29udGVudFJlY3RzKGNvbnN0IFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8mIHZpc2kK
IAogdm9pZCBXZWJQYWdlOjp3aWxsU3RhcnRVc2VyVHJpZ2dlcmVkWm9vbWluZygpCiB7Ci0gICAg
bV9wYWdlLT5tYWluRnJhbWUoKS5kaWFnbm9zdGljTG9nZ2luZ0NsaWVudCgpLmxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aFZhbHVlKERpYWdub3N0aWNMb2dnaW5nS2V5czo6d2ViVmlld0tleSgpLCBE
aWFnbm9zdGljTG9nZ2luZ0tleXM6OnVzZXJLZXkoKSwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjp6
b29tZWRLZXkoKSk7CisgICAgbV9wYWdlLT5tYWluRnJhbWUoKS5kaWFnbm9zdGljTG9nZ2luZ0Ns
aWVudCgpLmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKERpYWdub3N0aWNMb2dnaW5nS2V5
czo6d2ViVmlld0tleSgpLCBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnVzZXJLZXkoKSwgRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzOjp6b29tZWRLZXkoKSwgU2hvdWxkU2FtcGxlOjpObyk7CiAgICAgbV91
c2VySGFzQ2hhbmdlZFBhZ2VTY2FsZUZhY3RvciA9IHRydWU7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>