<?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>110988</bug_id>
          
          <creation_ts>2013-02-27 09:10:51 -0800</creation_ts>
          <short_desc>[CSS Grid Layout] Add parsing for grid-{start|before}</short_desc>
          <delta_ts>2013-03-04 15:09:56 -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>Layout and Rendering</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>103314</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>843143</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-02-27 09:10:51 -0800</bug_when>
    <thetext>As discussed in bug 110777, in order to support spanning and to properly parse the shorthands grid-{row|column}. We need to support and switch our internal representation to using grid-{start|end} instead of the current design which is based on grid-{row|column}.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843155</commentid>
    <comment_count>1</comment_count>
      <attachid>190541</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-02-27 09:23:03 -0800</bug_when>
    <thetext>Created attachment 190541
Proposed implementation 1: Added the properties and refactored the internal to be aligned with grid-{start|end}.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843264</commentid>
    <comment_count>2</comment_count>
      <attachid>190541</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-27 10:59:57 -0800</bug_when>
    <thetext>Comment on attachment 190541
Proposed implementation 1: Added the properties and refactored the internal to be aligned with grid-{start|end}.

Attachment 190541 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/16675178

New failing tests:
svg/css/getComputedStyle-basic.xhtml
fast/css/getComputedStyle/computed-style.html
fast/css/getComputedStyle/computed-style-without-renderer.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843294</commentid>
    <comment_count>3</comment_count>
      <attachid>190562</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-02-27 11:23:55 -0800</bug_when>
    <thetext>Created attachment 190562
Proposed implementation 2: Same as 1, without the wrong test rebaselines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846894</commentid>
    <comment_count>4</comment_count>
      <attachid>190562</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-04 15:09:51 -0800</bug_when>
    <thetext>Comment on attachment 190562
Proposed implementation 2: Same as 1, without the wrong test rebaselines.

Clearing flags on attachment: 190562

Committed r144681: &lt;http://trac.webkit.org/changeset/144681&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846895</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-04 15:09:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190541</attachid>
            <date>2013-02-27 09:23:03 -0800</date>
            <delta_ts>2013-02-27 11:23:52 -0800</delta_ts>
            <desc>Proposed implementation 1: Added the properties and refactored the internal to be aligned with grid-{start|end}.</desc>
            <filename>bug-110988-20130227091916.patch</filename>
            <type>text/plain</type>
            <size>40776</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGQ2Zjc4NTg1OTcyZjQ1
YmE4NDQ4YjQ5OWY0MTFmNzZhY2JmYWZhYi4uNjAxNTRkMzBiYjYwNGQ2ZTNhYTQzNGI0Yzc5Mzdh
ODlkMzI5NDk4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTAyLTI3ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIEFkZCBwYXJzaW5nIGZvciBncmlkLXtzdGFydHxiZWZvcmV9CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA5ODgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy1ncmlk
LWxheW91dC9ncmlkLWl0ZW0tc3RhcnQtYmVmb3JlLWdldC1zZXQuaHRtbAorCisgICAgICAgIFJl
ZmFjdG9yZWQgaG93IHdlIHN0b3JlIGludGVybmFsbHkgZ3JpZC17cm93fGNvbHVtbn0gdG8gYmUg
YmFzZWQgb24gZ3JpZC17YmVmb3JlfHN0YXJ0fS4KKyAgICAgICAgVGhpcyBpcyByZXF1aXJlZCBh
cyBncmlkLXtyb3d8Y29sdW1ufSBhcmUgc2hvcnRoYW5kcyBmb3IgcmVzcC4gZ3JpZC17YmVmb3Jl
fGFmdGVyfSBhbmQgZ3JpZC17c3RhcnR8ZW5kfQorICAgICAgICBpbiB0aGUgc3BlY2lmaWNhdGlv
biBhbmQgd2lsbCBhbHNvIGJlIGluIHRoZSBjb2RlLiBUaGF0IG1lYW5zIGEgbG90IG9mIG1ldGhv
ZHMgd2VyZSByZW5hbWVkIHRvIGJlIG1vcmUKKyAgICAgICAgYWxpZ25lZCB3aXRoIHRoZSBuZXcg
ZGVzaWduLgorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3Bl
cnR5Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkp
OgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eU5hbWVzLmluOgorICAgICAgICAqIGNzcy9TdHls
ZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJv
cGVydHkpOgorICAgICAgICBBZGRlZCB0aGUgY29kZSB0byBwYXJzZSwgYXBwbHkgYW5kIGdldCBi
YWNrIHRoZSBuZXcgcHJvcGVydGllcy4gQWxzbworICAgICAgICBzb21lIHJlbmFtaW5nIGFmdGVy
IHRoZSBpbnRlcm5hbCBuYW1pbmcgY2hhbmdlIGJlbG93LgorCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6bWF4aW11bUlu
ZGV4SW5EaXJlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6cGxhY2VJdGVt
c09uR3JpZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjphdXRvUGxhY2VtZW50TWFq
b3JBeGlzUG9zaXRpb25Gb3JDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjph
dXRvUGxhY2VtZW50TWlub3JBeGlzUG9zaXRpb25Gb3JDaGlsZCk6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxl
R3JpZEl0ZW1EYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlR3JpZEl0ZW1EYXRhOjpT
dHlsZUdyaWRJdGVtRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZEl0
ZW1EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUdyaWRJdGVtRGF0YTo6b3BlcmF0b3I9
PSk6CisgICAgICAgIFVwZGF0ZWQgdGhlIG5hbWluZyBub3cgdGhhdCB3ZSBtYW5pcHVsYXRlIGdy
aWQte2JlZm9yZXxzdGFydH0gaW5zdGVhZCBvZiBncmlkLXtyb3d8Y29sdW1ufS4KKwogMjAxMy0w
Mi0yNyAgSnVzdGluIE5vdm9zYWQgIDxqdW5vdkBnb29nbGUuY29tPgogCiAgICAgICAgIFJFR1JF
U1NJT04gKHIxMzQ2MzEpIG9mIGJvcmRlci1yYWRpdXMgcGVyY2VudGFnZSB3aXRoIGJvcmRlciBw
aXhlbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcAppbmRleCAyYWUyNTBjNDMwN2VmNzE5NDJmM2MyM2YwNDM1MTczOTM2ZmNiMThhLi4x
OThjM2NiOTgwOTQ5MWM5NzhlNmYwNGVkYjM1NTdmMzlhN2M0NjBjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMjgwLDYg
KzI4MCw4IEBAIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGNvbXB1dGVkUHJvcGVydGllc1td
ID0gewogICAgIENTU1Byb3BlcnR5V2Via2l0R3JpZEF1dG9GbG93LAogICAgIENTU1Byb3BlcnR5
V2Via2l0R3JpZENvbHVtbnMsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRHcmlkUm93cywKKyAgICBD
U1NQcm9wZXJ0eVdlYmtpdEdyaWRTdGFydCwKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRCZWZv
cmUsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRHcmlkQ29sdW1uLAogICAgIENTU1Byb3BlcnR5V2Vi
a2l0R3JpZFJvdywKICAgICBDU1NQcm9wZXJ0eVdlYmtpdEhpZ2hsaWdodCwKQEAgLTE5MjQsMTAg
KzE5MjYsMTIgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnQKICAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdlYmtpdEdyaWRSb3dzOgogICAgICAgICAgICAgcmV0dXJuIHZhbHVlRm9yR3JpZFRyYWNr
TGlzdChzdHlsZS0+Z3JpZFJvd3MoKSwgc3R5bGUuZ2V0KCksIG1fbm9kZS0+ZG9jdW1lbnQoKS0+
cmVuZGVyVmlldygpKTsKIAorICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZFN0YXJ0
OgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZENvbHVtbjoKLSAgICAgICAgICAg
IHJldHVybiB2YWx1ZUZvckdyaWRQb3NpdGlvbihzdHlsZS0+Z3JpZEl0ZW1Db2x1bW4oKSk7Cisg
ICAgICAgICAgICByZXR1cm4gdmFsdWVGb3JHcmlkUG9zaXRpb24oc3R5bGUtPmdyaWRJdGVtU3Rh
cnQoKSk7CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkQmVmb3JlOgogICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZFJvdzoKLSAgICAgICAgICAgIHJldHVybiB2YWx1
ZUZvckdyaWRQb3NpdGlvbihzdHlsZS0+Z3JpZEl0ZW1Sb3coKSk7CisgICAgICAgICAgICByZXR1
cm4gdmFsdWVGb3JHcmlkUG9zaXRpb24oc3R5bGUtPmdyaWRJdGVtQmVmb3JlKCkpOwogCiAgICAg
ICAgIGNhc2UgQ1NTUHJvcGVydHlIZWlnaHQ6CiAgICAgICAgICAgICBpZiAocmVuZGVyZXIpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggZTAwMmUxMDJlYTAzMDc3MTA3YzQ5YzIyOTkw
MTJmNzA1ZDJjODBhNi4uOTY0YmIwOGViMTY4MjFlMWQ3OTgzZTQwY2M3ZmY5ZDE3YTFlZTlhNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTI1ODQsNiArMjU4NCw4IEBAIGJvb2wgQ1NT
UGFyc2VyOjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgcmV0dXJuIHBhcnNlR3JpZFRyYWNr
TGlzdChwcm9wSWQsIGltcG9ydGFudCk7CiAKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3Jp
ZFN0YXJ0OgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkQmVmb3JlOgogICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRHcmlkQ29sdW1uOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRH
cmlkUm93OgogICAgICAgICBpZiAoIWNzc0dyaWRMYXlvdXRFbmFibGVkKCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnR5LmNwcAppbmRleCAzYTQwMmNmZjc1ZGZlMzVjZTI1YmQ1MGM4NzE3YTVlMWU0
NjVkMDZhLi4yODQzOWM2Y2QzN2Q4Y2Q2OWVlYzg0Y2ZiNjBiNGE3ZTRkODg0NmQ0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKQEAgLTU3OCw2ICs1NzgsOCBAQCBib29sIENTU1Byb3Bl
cnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkKICAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZEF1dG9GbG93OgogICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRHcmlkQ29sdW1uczoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZFJvd3M6Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRTdGFydDoKKyAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0R3JpZEJlZm9yZToKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZENvbHVtbjoK
ICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZFJvdzoKICAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0TGluZUNsYW1wOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgppbmRl
eCBhYzNmZGU1NjE1YjViMTM5YzhmYWQxNDQ5OTg5NmQ0YWQ3YjY2NmRhLi5hYzNiOWVlMTkxNjU3
NGZiNDUyNDkwZjM2ZWY0OGE2MDc2YzBmYmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydHlOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHlOYW1lcy5pbgpAQCAtMjkyLDYgKzI5Miw4IEBAIHotaW5kZXgKIC13ZWJraXQtZm9udC1zaXpl
LWRlbHRhCiAtd2Via2l0LWdyaWQtY29sdW1ucwogLXdlYmtpdC1ncmlkLXJvd3MKKy13ZWJraXQt
Z3JpZC1zdGFydAorLXdlYmtpdC1ncmlkLWJlZm9yZQogLXdlYmtpdC1ncmlkLWNvbHVtbgogLXdl
YmtpdC1ncmlkLXJvdwogLXdlYmtpdC1ncmlkLWF1dG8tZmxvdwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuY3BwCmluZGV4IDZlNzM5YTM4NTk4OWY0N2NhZmFmYTg4ODM3Njc3NjRmZjdjOWJk
MmUuLjNmYmIxYjZkOWJmYjU5ZTBmNTM2ZDM4MDQzNmUyNzhmZGYyMWY2MWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTM1NjYsMTggKzM1NjYsMjAgQEAgdm9pZCBTdHls
ZVJlc29sdmVyOjphcHBseVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQsIENTU1ZhbHVlKiB2YWx1
ZSkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRH
cmlkU3RhcnQ6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRDb2x1bW46IHsKLSAgICAg
ICAgR3JpZFBvc2l0aW9uIGNvbHVtbjsKLSAgICAgICAgaWYgKCFjcmVhdGVHcmlkUG9zaXRpb24o
dmFsdWUsIGNvbHVtbikpCisgICAgICAgIEdyaWRQb3NpdGlvbiBzdGFydFBvc2l0aW9uOworICAg
ICAgICBpZiAoIWNyZWF0ZUdyaWRQb3NpdGlvbih2YWx1ZSwgc3RhcnRQb3NpdGlvbikpCiAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgIHN0YXRlLnN0eWxlKCktPnNldEdyaWRJdGVtQ29sdW1u
KGNvbHVtbik7CisgICAgICAgIHN0YXRlLnN0eWxlKCktPnNldEdyaWRJdGVtU3RhcnQoc3RhcnRQ
b3NpdGlvbik7CiAgICAgICAgIHJldHVybjsKICAgICB9CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdl
YmtpdEdyaWRCZWZvcmU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRSb3c6IHsKLSAg
ICAgICAgR3JpZFBvc2l0aW9uIHJvdzsKLSAgICAgICAgaWYgKCFjcmVhdGVHcmlkUG9zaXRpb24o
dmFsdWUsIHJvdykpCisgICAgICAgIEdyaWRQb3NpdGlvbiBiZWZvcmVQb3NpdGlvbjsKKyAgICAg
ICAgaWYgKCFjcmVhdGVHcmlkUG9zaXRpb24odmFsdWUsIGJlZm9yZVBvc2l0aW9uKSkKICAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0R3JpZEl0ZW1Sb3cocm93
KTsKKyAgICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0R3JpZEl0ZW1CZWZvcmUoYmVmb3JlUG9zaXRp
b24pOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIC8vIFRoZXNlIHByb3BlcnRpZXMgYXJl
IGltcGxlbWVudGVkIGluIHRoZSBTdHlsZUJ1aWxkZXIgbG9va3VwIHRhYmxlLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IGY2YjVjYWIwNzRlMjM2OTQwNmIwMDcy
YmNmMjkwNTZjMDZhMzhlZTYuLjllOTBlYTk3NGUwMzY4M2VlMjIyNzNhZThlODA3ZjcwZWNkOTEx
YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTMzNCw3ICsz
MzQsNyBAQCBzaXplX3QgUmVuZGVyR3JpZDo6bWF4aW11bUluZGV4SW5EaXJlY3Rpb24oVHJhY2tT
aXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uKSBjb25zdAogICAgIHNpemVfdCBtYXhpbXVtSW5kZXgg
PSBzdGQ6Om1heDxzaXplX3Q+KDEsIHRyYWNrU3R5bGVzLnNpemUoKSk7CiAKICAgICBmb3IgKFJl
bmRlckJveCogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5u
ZXh0U2libGluZ0JveCgpKSB7Ci0gICAgICAgIGNvbnN0IEdyaWRQb3NpdGlvbiYgcG9zaXRpb24g
PSAoZGlyZWN0aW9uID09IEZvckNvbHVtbnMpID8gY2hpbGQtPnN0eWxlKCktPmdyaWRJdGVtQ29s
dW1uKCkgOiBjaGlsZC0+c3R5bGUoKS0+Z3JpZEl0ZW1Sb3coKTsKKyAgICAgICAgY29uc3QgR3Jp
ZFBvc2l0aW9uJiBwb3NpdGlvbiA9IChkaXJlY3Rpb24gPT0gRm9yQ29sdW1ucykgPyBjaGlsZC0+
c3R5bGUoKS0+Z3JpZEl0ZW1TdGFydCgpIDogY2hpbGQtPnN0eWxlKCktPmdyaWRJdGVtQmVmb3Jl
KCk7CiAgICAgICAgIC8vICdhdXRvJyBpdGVtcyB3aWxsIG5lZWQgdG8gYmUgcmVzb2x2ZWQgaW4g
c2VwZXJhdGUgcGhhc2VzIGFueXdheS4gTm90ZSB0aGF0IGJlY2F1c2UgbWF4aW11bUluZGV4IGlz
IGF0IGxlYXN0IDEsCiAgICAgICAgIC8vIHRoZSBncmlkLWF1dG8tZmxvdyA9PSBub25lIGNhc2Ug
aXMgYXV0b21hdGljYWxseSBoYW5kbGVkLgogICAgICAgICBpZiAocG9zaXRpb24uaXNBdXRvKCkp
CkBAIC01MjYsOSArNTI2LDkgQEAgdm9pZCBSZW5kZXJHcmlkOjpwbGFjZUl0ZW1zT25HcmlkKCkK
ICAgICBWZWN0b3I8UmVuZGVyQm94Kj4gc3BlY2lmaWVkTWFqb3JBeGlzQXV0b0dyaWRJdGVtczsK
ICAgICBHcmlkQXV0b0Zsb3cgYXV0b0Zsb3cgPSBzdHlsZSgpLT5ncmlkQXV0b0Zsb3coKTsKICAg
ICBmb3IgKFJlbmRlckJveCogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9
IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7Ci0gICAgICAgIGNvbnN0IEdyaWRQb3NpdGlvbiYg
Y29sdW1uUG9zaXRpb24gPSBjaGlsZC0+c3R5bGUoKS0+Z3JpZEl0ZW1Db2x1bW4oKTsKLSAgICAg
ICAgY29uc3QgR3JpZFBvc2l0aW9uJiByb3dQb3NpdGlvbiA9IGNoaWxkLT5zdHlsZSgpLT5ncmlk
SXRlbVJvdygpOwotICAgICAgICBpZiAoYXV0b0Zsb3cgIT0gQXV0b0Zsb3dOb25lICYmIChjb2x1
bW5Qb3NpdGlvbi5pc0F1dG8oKSB8fCByb3dQb3NpdGlvbi5pc0F1dG8oKSkpIHsKKyAgICAgICAg
Y29uc3QgR3JpZFBvc2l0aW9uJiBzdGFydFBvc2l0aW9uID0gY2hpbGQtPnN0eWxlKCktPmdyaWRJ
dGVtU3RhcnQoKTsKKyAgICAgICAgY29uc3QgR3JpZFBvc2l0aW9uJiBiZWZvcmVQb3NpdGlvbiA9
IGNoaWxkLT5zdHlsZSgpLT5ncmlkSXRlbUJlZm9yZSgpOworICAgICAgICBpZiAoYXV0b0Zsb3cg
IT0gQXV0b0Zsb3dOb25lICYmIChzdGFydFBvc2l0aW9uLmlzQXV0bygpIHx8IGJlZm9yZVBvc2l0
aW9uLmlzQXV0bygpKSkgewogICAgICAgICAgICAgY29uc3QgR3JpZFBvc2l0aW9uJiBtYWpvckF4
aXNQb3NpdGlvbiA9IGF1dG9QbGFjZW1lbnRNYWpvckF4aXNQb3NpdGlvbkZvckNoaWxkKGNoaWxk
KTsKICAgICAgICAgICAgIGlmIChtYWpvckF4aXNQb3NpdGlvbi5pc0F1dG8oKSkKICAgICAgICAg
ICAgICAgICBhdXRvTWFqb3JBeGlzQXV0b0dyaWRJdGVtcy5hcHBlbmQoY2hpbGQpOwpAQCAtNTM2
LDggKzUzNiw4IEBAIHZvaWQgUmVuZGVyR3JpZDo6cGxhY2VJdGVtc09uR3JpZCgpCiAgICAgICAg
ICAgICAgICAgc3BlY2lmaWVkTWFqb3JBeGlzQXV0b0dyaWRJdGVtcy5hcHBlbmQoY2hpbGQpOwog
ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KLSAgICAgICAgc2l6ZV90IGNvbHVtblRy
YWNrID0gcmVzb2x2ZUdyaWRQb3NpdGlvbkZyb21TdHlsZShjb2x1bW5Qb3NpdGlvbik7Ci0gICAg
ICAgIHNpemVfdCByb3dUcmFjayA9IHJlc29sdmVHcmlkUG9zaXRpb25Gcm9tU3R5bGUocm93UG9z
aXRpb24pOworICAgICAgICBzaXplX3QgY29sdW1uVHJhY2sgPSByZXNvbHZlR3JpZFBvc2l0aW9u
RnJvbVN0eWxlKHN0YXJ0UG9zaXRpb24pOworICAgICAgICBzaXplX3Qgcm93VHJhY2sgPSByZXNv
bHZlR3JpZFBvc2l0aW9uRnJvbVN0eWxlKGJlZm9yZVBvc2l0aW9uKTsKICAgICAgICAgaW5zZXJ0
SXRlbUludG9HcmlkKGNoaWxkLCByb3dUcmFjaywgY29sdW1uVHJhY2spOwogICAgIH0KIApAQCAt
NjE1LDE0ICs2MTUsMTQgQEAgY29uc3QgR3JpZFBvc2l0aW9uJiBSZW5kZXJHcmlkOjphdXRvUGxh
Y2VtZW50TWFqb3JBeGlzUG9zaXRpb25Gb3JDaGlsZChjb25zdCBSZW4KIHsKICAgICBHcmlkQXV0
b0Zsb3cgZmxvdyA9IHN0eWxlKCktPmdyaWRBdXRvRmxvdygpOwogICAgIEFTU0VSVChmbG93ICE9
IEF1dG9GbG93Tm9uZSk7Ci0gICAgcmV0dXJuIChmbG93ID09IEF1dG9GbG93Q29sdW1uKSA/IGdy
aWRJdGVtLT5zdHlsZSgpLT5ncmlkSXRlbUNvbHVtbigpIDogZ3JpZEl0ZW0tPnN0eWxlKCktPmdy
aWRJdGVtUm93KCk7CisgICAgcmV0dXJuIChmbG93ID09IEF1dG9GbG93Q29sdW1uKSA/IGdyaWRJ
dGVtLT5zdHlsZSgpLT5ncmlkSXRlbVN0YXJ0KCkgOiBncmlkSXRlbS0+c3R5bGUoKS0+Z3JpZEl0
ZW1CZWZvcmUoKTsKIH0KIAogY29uc3QgR3JpZFBvc2l0aW9uJiBSZW5kZXJHcmlkOjphdXRvUGxh
Y2VtZW50TWlub3JBeGlzUG9zaXRpb25Gb3JDaGlsZChjb25zdCBSZW5kZXJCb3gqIGdyaWRJdGVt
KSBjb25zdAogewogICAgIEdyaWRBdXRvRmxvdyBmbG93ID0gc3R5bGUoKS0+Z3JpZEF1dG9GbG93
KCk7CiAgICAgQVNTRVJUKGZsb3cgIT0gQXV0b0Zsb3dOb25lKTsKLSAgICByZXR1cm4gKGZsb3cg
PT0gQXV0b0Zsb3dDb2x1bW4pID8gZ3JpZEl0ZW0tPnN0eWxlKCktPmdyaWRJdGVtUm93KCkgOiBn
cmlkSXRlbS0+c3R5bGUoKS0+Z3JpZEl0ZW1Db2x1bW4oKTsKKyAgICByZXR1cm4gKGZsb3cgPT0g
QXV0b0Zsb3dDb2x1bW4pID8gZ3JpZEl0ZW0tPnN0eWxlKCktPmdyaWRJdGVtQmVmb3JlKCkgOiBn
cmlkSXRlbS0+c3R5bGUoKS0+Z3JpZEl0ZW1TdGFydCgpOwogfQogCiBSZW5kZXJHcmlkOjpUcmFj
a1NpemluZ0RpcmVjdGlvbiBSZW5kZXJHcmlkOjphdXRvUGxhY2VtZW50TWFqb3JBeGlzRGlyZWN0
aW9uKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmgKaW5kZXggNzZkOGI4ZDhjMzJlMmY0Y2RmMDI1ODA2ZTAxMGVjZDFjMDE3YWZhYy4uZThiZWE2
ZjkwODU5MTYyZjc1MzdiMTg0OTE2MGUxZWE4NGE0Y2E3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTc2NSw4ICs3NjUsOCBAQCBwdWJsaWM6
CiAgICAgY29uc3QgVmVjdG9yPEdyaWRUcmFja1NpemU+JiBncmlkUm93cygpIGNvbnN0IHsgcmV0
dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2dyaWQtPm1fZ3JpZFJvd3M7IH0KICAgICBHcmlk
QXV0b0Zsb3cgZ3JpZEF1dG9GbG93KCkgY29uc3QgeyByZXR1cm4gcmFyZU5vbkluaGVyaXRlZERh
dGEtPm1fZ3JpZC0+bV9ncmlkQXV0b0Zsb3c7IH0KIAotICAgIGNvbnN0IEdyaWRQb3NpdGlvbiYg
Z3JpZEl0ZW1Db2x1bW4oKSBjb25zdCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9n
cmlkSXRlbS0+bV9ncmlkQ29sdW1uOyB9Ci0gICAgY29uc3QgR3JpZFBvc2l0aW9uJiBncmlkSXRl
bVJvdygpIGNvbnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2dyaWRJdGVtLT5t
X2dyaWRSb3c7IH0KKyAgICBjb25zdCBHcmlkUG9zaXRpb24mIGdyaWRJdGVtU3RhcnQoKSBjb25z
dCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9ncmlkSXRlbS0+bV9ncmlkU3RhcnQ7
IH0KKyAgICBjb25zdCBHcmlkUG9zaXRpb24mIGdyaWRJdGVtQmVmb3JlKCkgY29uc3QgeyByZXR1
cm4gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZ3JpZEl0ZW0tPm1fZ3JpZEJlZm9yZTsgfQogCiAg
ICAgY29uc3QgU2hhZG93RGF0YSogYm94U2hhZG93KCkgY29uc3QgeyByZXR1cm4gcmFyZU5vbklu
aGVyaXRlZERhdGEtPm1fYm94U2hhZG93LmdldCgpOyB9CiAgICAgdm9pZCBnZXRCb3hTaGFkb3dF
eHRlbnQoTGF5b3V0VW5pdCYgdG9wLCBMYXlvdXRVbml0JiByaWdodCwgTGF5b3V0VW5pdCYgYm90
dG9tLCBMYXlvdXRVbml0JiBsZWZ0KSBjb25zdCB7IGdldFNoYWRvd0V4dGVudChib3hTaGFkb3co
KSwgdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0KTsgfQpAQCAtMTI1Myw4ICsxMjUzLDggQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0R3JpZENvbHVtbnMoY29uc3QgVmVjdG9yPEdyaWRUcmFja1NpemU+
JiBsZW5ndGhzKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNzKCktPm1fZ3Jp
ZCwgbV9ncmlkQ29sdW1ucywgbGVuZ3Rocyk7IH0KICAgICB2b2lkIHNldEdyaWRSb3dzKGNvbnN0
IFZlY3RvcjxHcmlkVHJhY2tTaXplPiYgbGVuZ3RocykgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0
ZWREYXRhLmFjY2VzcygpLT5tX2dyaWQsIG1fZ3JpZFJvd3MsIGxlbmd0aHMpOyB9CiAgICAgdm9p
ZCBzZXRHcmlkQXV0b0Zsb3coR3JpZEF1dG9GbG93IGZsb3cpIHsgU0VUX1ZBUihyYXJlTm9uSW5o
ZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9ncmlkLCBtX2dyaWRBdXRvRmxvdywgZmxvdyk7IH0KLSAg
ICB2b2lkIHNldEdyaWRJdGVtQ29sdW1uKGNvbnN0IEdyaWRQb3NpdGlvbiYgY29sdW1uUG9zaXRp
b24pIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9ncmlkSXRlbSwg
bV9ncmlkQ29sdW1uLCBjb2x1bW5Qb3NpdGlvbik7IH0KLSAgICB2b2lkIHNldEdyaWRJdGVtUm93
KGNvbnN0IEdyaWRQb3NpdGlvbiYgcm93UG9zaXRpb24pIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJp
dGVkRGF0YS5hY2Nlc3MoKS0+bV9ncmlkSXRlbSwgbV9ncmlkUm93LCByb3dQb3NpdGlvbik7IH0K
KyAgICB2b2lkIHNldEdyaWRJdGVtU3RhcnQoY29uc3QgR3JpZFBvc2l0aW9uJiBzdGFydFBvc2l0
aW9uKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNzKCktPm1fZ3JpZEl0ZW0s
IG1fZ3JpZFN0YXJ0LCBzdGFydFBvc2l0aW9uKTsgfQorICAgIHZvaWQgc2V0R3JpZEl0ZW1CZWZv
cmUoY29uc3QgR3JpZFBvc2l0aW9uJiBiZWZvcmVQb3NpdGlvbikgeyBTRVRfVkFSKHJhcmVOb25J
bmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX2dyaWRJdGVtLCBtX2dyaWRCZWZvcmUsIGJlZm9yZVBv
c2l0aW9uKTsgfQogCiAgICAgdm9pZCBzZXRNYXJxdWVlSW5jcmVtZW50KGNvbnN0IExlbmd0aCYg
ZikgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX21hcnF1ZWUsIGlu
Y3JlbWVudCwgZik7IH0KICAgICB2b2lkIHNldE1hcnF1ZWVTcGVlZChpbnQgZikgeyBTRVRfVkFS
KHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX21hcnF1ZWUsIHNwZWVkLCBmKTsgfQpA
QCAtMTY2NCw4ICsxNjY0LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBHcmlkQXV0b0Zsb3cgaW5p
dGlhbEdyaWRBdXRvRmxvdygpIHsgcmV0dXJuIEF1dG9GbG93Tm9uZTsgfQogCiAgICAgLy8gJ2F1
dG8nIGlzIHRoZSBkZWZhdWx0LgotICAgIHN0YXRpYyBHcmlkUG9zaXRpb24gaW5pdGlhbEdyaWRJ
dGVtQ29sdW1uKCkgeyByZXR1cm4gR3JpZFBvc2l0aW9uKCk7IH0KLSAgICBzdGF0aWMgR3JpZFBv
c2l0aW9uIGluaXRpYWxHcmlkSXRlbVJvdygpIHsgcmV0dXJuIEdyaWRQb3NpdGlvbigpOyB9Cisg
ICAgc3RhdGljIEdyaWRQb3NpdGlvbiBpbml0aWFsR3JpZFBvc2l0aW9uKCkgeyByZXR1cm4gR3Jp
ZFBvc2l0aW9uKCk7IH0KIAogICAgIHN0YXRpYyB1bnNpZ25lZCBpbml0aWFsVGFiU2l6ZSgpIHsg
cmV0dXJuIDg7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlR3JpZEl0ZW1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZUdyaWRJdGVtRGF0YS5jcHAKaW5kZXggNGVkYjllZGQ0M2IzZGU0OThkYWZiZmJlMjUzMjFh
ZDIwOGI2Zjg5My4uZTNkYzg2N2ZhZjU1NTMxZTdhMzYxZTIzODAzNTNhNDBjNDRmNmRkYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZEl0ZW1EYXRh
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkSXRlbURh
dGEuY3BwCkBAIC0zNSwxNSArMzUsMTUgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogU3R5bGVH
cmlkSXRlbURhdGE6OlN0eWxlR3JpZEl0ZW1EYXRhKCkKLSAgICA6IG1fZ3JpZENvbHVtbihSZW5k
ZXJTdHlsZTo6aW5pdGlhbEdyaWRJdGVtQ29sdW1uKCkpCi0gICAgLCBtX2dyaWRSb3coUmVuZGVy
U3R5bGU6OmluaXRpYWxHcmlkSXRlbVJvdygpKQorICAgIDogbV9ncmlkU3RhcnQoUmVuZGVyU3R5
bGU6OmluaXRpYWxHcmlkUG9zaXRpb24oKSkKKyAgICAsIG1fZ3JpZEJlZm9yZShSZW5kZXJTdHls
ZTo6aW5pdGlhbEdyaWRQb3NpdGlvbigpKQogewogfQogCiBTdHlsZUdyaWRJdGVtRGF0YTo6U3R5
bGVHcmlkSXRlbURhdGEoY29uc3QgU3R5bGVHcmlkSXRlbURhdGEmIG8pCiAgICAgOiBSZWZDb3Vu
dGVkPFN0eWxlR3JpZEl0ZW1EYXRhPigpCi0gICAgLCBtX2dyaWRDb2x1bW4oby5tX2dyaWRDb2x1
bW4pCi0gICAgLCBtX2dyaWRSb3coby5tX2dyaWRSb3cpCisgICAgLCBtX2dyaWRTdGFydChvLm1f
Z3JpZFN0YXJ0KQorICAgICwgbV9ncmlkQmVmb3JlKG8ubV9ncmlkQmVmb3JlKQogewogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkSXRlbURh
dGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWRJdGVtRGF0YS5o
CmluZGV4IDJmNzQ4N2I4Njk4YWY3NDRiZWQ0NmFlYWE5NGU2ZGNhMjllNTE5MTQuLmFiZDUzZTdk
ZTg0ZTM2NmQ3MTE0YzZlODE4ZDc0ZjQzYjIwMWQxZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWRJdGVtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWRJdGVtRGF0YS5oCkBAIC00Niw3ICs0Niw3IEBA
IHB1YmxpYzoKIAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBTdHlsZUdyaWRJdGVtRGF0YSYg
bykgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiBtX2dyaWRDb2x1bW4gPT0gby5tX2dyaWRD
b2x1bW4gJiYgbV9ncmlkUm93ID09IG8ubV9ncmlkUm93OworICAgICAgICByZXR1cm4gbV9ncmlk
U3RhcnQgPT0gby5tX2dyaWRTdGFydCAmJiBtX2dyaWRCZWZvcmUgPT0gby5tX2dyaWRCZWZvcmU7
CiAgICAgfQogCiAgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFN0eWxlR3JpZEl0ZW1EYXRhJiBv
KSBjb25zdApAQCAtNTQsOCArNTQsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAhKCp0aGlz
ID09IG8pOwogICAgIH0KIAotICAgIEdyaWRQb3NpdGlvbiBtX2dyaWRDb2x1bW47Ci0gICAgR3Jp
ZFBvc2l0aW9uIG1fZ3JpZFJvdzsKKyAgICBHcmlkUG9zaXRpb24gbV9ncmlkU3RhcnQ7CisgICAg
R3JpZFBvc2l0aW9uIG1fZ3JpZEJlZm9yZTsKIAogcHJpdmF0ZToKICAgICBTdHlsZUdyaWRJdGVt
RGF0YSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDhlMGQ2ZTBjYzI2MDNjY2MyYTc0NmFiZTU0MTQ3NjliZDFkMTZmNGUu
LjAwNjRhODM4MjQyNWU4MWFlOWJmNGVlOTFkZTkzZDQ1NTk2MGM5NTkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNCBAQAorMjAxMy0wMi0yNyAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0
Lm9yZz4KKworICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBBZGQgcGFyc2luZyBmb3IgZ3JpZC17
c3RhcnR8YmVmb3JlfQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTEwOTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tY29sdW1uLXJvdy1nZXQtc2V0
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0t
Y29sdW1uLXJvdy1nZXQtc2V0Lmh0bWw6CisgICAgICAgIEV4dGVuZGVkIHRoZSB0ZXN0IHRvIG1h
a2Ugc3VyZSB0aGF0IGJvdGggZ3JpZC1jb2x1bW4gKHJlc3AuIGdyaWQtcm93KSBhbmQgZ3JpZC1z
dGFydCAocmVzcC4gZ3JpZC1iZWZvcmUpIGFyZQorICAgICAgICBpbiBzeW5jLgorCisgICAgICAg
ICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXN0YXJ0LWJlZm9yZS1nZXQtc2V0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1p
dGVtLXN0YXJ0LWJlZm9yZS1nZXQtc2V0Lmh0bWw6IEFkZGVkCisgICAgICAgIEFkZCB0aGlzIHRl
c3QgZm9yIGdyaWQte3N0YXJ0fGJlZm9yZX0sIHNpbWlsYXIgdG8gTGF5b3V0VGVzdHMvZmFzdC9j
c3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWNvbHVtbi1yb3ctZ2V0LXNldC5odG1sLgorCisgICAg
ICAgICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13
aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvY3NzL2dldENvbXB1
dGVkU3R5bGUtYmFzaWMtZXhwZWN0ZWQudHh0OgorICAgICAgICBBZGRlZCB0aGUgbmV3IHByb3Bl
cnRpZXMgdG8gdGhlIGxpc3QuCisKIDIwMTMtMDItMjcgIMOBZMOhbSBLYWxsYWkgIDxrYWRhbUBp
bmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIGdhcmRlbmluZy4gVW5z
a2lwcCBpbnNwZWN0b3IgdGVzdHMgYWZ0ZXIgcjE0NDA3MS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1jb2x1bW4tcm93LWdldC1zZXQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWNv
bHVtbi1yb3ctZ2V0LXNldC1leHBlY3RlZC50eHQKaW5kZXggYTU3OTQ2NmRkNDNmMGJlYjZiYTI5
Nzk0NDRiMDFjZWUzZmZiOGJhNC4uMjc5ZGQzN2MwOWE4MmYwZmMxMDk1NGI5ZTYyMTk4ZDBmYmMy
Njc1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1p
dGVtLWNvbHVtbi1yb3ctZ2V0LXNldC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWNvbHVtbi1yb3ctZ2V0LXNldC1leHBlY3RlZC50
eHQKQEAgLTUsMzEgKzUsNTEgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogVGVzdCBnZXR0
aW5nIC13ZWJraXQtZ3JpZC1jb2x1bW4gYW5kIC13ZWJraXQtZ3JpZC1yb3cgc2V0IHRocm91Z2gg
Q1NTCiBQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZEVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWdyaWQtY29sdW1uJykgaXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5
bGUoZ3JpZEVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtc3RhcnQn
KSBpcyAnYXV0bycKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkRWxlbWVudCwgJycpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3cnKSBpcyAnYXV0bycKK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShncmlkRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1i
ZWZvcmUnKSBpcyAnYXV0bycKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhQb3Np
dGl2ZUludGVnZXIsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1uJykg
aXMgJzEwJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aFBvc2l0aXZlSW50ZWdl
ciwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcpIGlzICcxMCcKIFBB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhQb3NpdGl2ZUludGVnZXIsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykgaXMgJzE1JworUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGdyaWRJdGVtV2l0aFBvc2l0aXZlSW50ZWdlciwgJycpLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZ3JpZC1iZWZvcmUnKSBpcyAnMTUnCiBQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3Jp
ZEl0ZW1XaXRoTmVnYXRpdmVJbnRlZ2VyLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1n
cmlkLWNvbHVtbicpIGlzICctMTAnCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1XaXRo
TmVnYXRpdmVJbnRlZ2VyLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0YXJ0
JykgaXMgJy0xMCcKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhOZWdhdGl2ZUlu
dGVnZXIsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykgaXMgJy0xNScK
K1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhOZWdhdGl2ZUludGVnZXIsICcnKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykgaXMgJy0xNScKIFBBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhBdXRvRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSBpcyAnYXV0bycKK1BBU1MgZ2V0Q29tcHV0ZWRTdHls
ZShncmlkSXRlbVdpdGhBdXRvRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC1zdGFydCcpIGlzICdhdXRvJwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0
aEF1dG9FbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvdycpIGlz
ICdhdXRvJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aEF1dG9FbGVtZW50LCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9yZScpIGlzICdhdXRvJwogCiBU
ZXN0IHRoZSBpbml0aWFsIHZhbHVlCiBQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycp
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSBpcyAnYXV0bycKK1BBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1n
cmlkLXN0YXJ0JykgaXMgJ2F1dG8nCiBQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycp
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3cnKSBpcyAnYXV0bycKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LWJlZm9yZScpIGlzICdhdXRvJwogCiBUZXN0IGdldHRpbmcgYW5kIHNldHRpbmcgZ3JpZC1jb2x1
bW4gYW5kIGdyaWQtcm93IHRocm91Z2ggSlMKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50
LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbicpIGlzICcxOCcKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLXN0YXJ0JykgaXMgJzE4JwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcn
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykgaXMgJzY2JworUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQt
YmVmb3JlJykgaXMgJzY2JwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1uJykgaXMgJy01NScKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0
YXJ0JykgaXMgJy01NScKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvdycpIGlzICctNDAnCitQQVNTIGdldENvbXB1dGVk
U3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1iZWZvcmUn
KSBpcyAnLTQwJwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1uJykgaXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVk
U3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcp
IGlzICdhdXRvJwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykgaXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5
bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1iZWZvcmUnKSBp
cyAnYXV0bycKIAogVGVzdCBzZXR0aW5nIGdyaWQtY29sdW1uIGFuZCBncmlkLXJvdyBiYWNrIHRv
ICdhdXRvJyB0aHJvdWdoIEpTCiBQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSBpcyAnMTgnCitQQVNTIGdldENv
bXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1z
dGFydCcpIGlzICcxOCcKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvdycpIGlzICc2NicKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9yZScp
IGlzICc2NicKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbicpIGlzICdhdXRvJworUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtc3RhcnQnKSBp
cyAnYXV0bycKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLXJvdycpIGlzICdhdXRvJworUEFTUyBnZXRDb21wdXRlZFN0eWxl
KGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykgaXMg
J2F1dG8nCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1j
b2x1bW4tcm93LWdldC1zZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0
L2dyaWQtaXRlbS1jb2x1bW4tcm93LWdldC1zZXQuaHRtbAppbmRleCA3N2YzZmU2ZmRhNzFhMDFh
YzliNDg5MWEwZmJmNDkxZGE5NWI1MWZkLi43YjhkMDZiODE3OGVkMzdjMjRjMmRkNmY2OTE4OTY4
Yzk4NjNiMjE5IDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9n
cmlkLWl0ZW0tY29sdW1uLXJvdy1nZXQtc2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWNvbHVtbi1yb3ctZ2V0LXNldC5odG1sCkBAIC0zMyw1
OCArMzMsNzggQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIGRlYnVnKCJUZXN0IGdldHRp
bmcgLXdlYmtpdC1ncmlkLWNvbHVtbiBhbmQgLXdlYmtpdC1ncmlkLXJvdyBzZXQgdGhyb3VnaCBD
U1MiKTsKICAgICB2YXIgZ3JpZEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3Jp
ZEVsZW1lbnQiKTsKICAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkRWxlbWVudCwg
JycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSIsICInYXV0byciKTsK
KyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkRWxlbWVudCwgJycpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcpIiwgIidhdXRvJyIpOwogICAgIHNob3VsZEJl
KCJnZXRDb21wdXRlZFN0eWxlKGdyaWRFbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdl
YmtpdC1ncmlkLXJvdycpIiwgIidhdXRvJyIpOworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0
eWxlKGdyaWRFbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9y
ZScpIiwgIidhdXRvJyIpOwogCiAgICAgdmFyIGdyaWRJdGVtV2l0aFBvc2l0aXZlSW50ZWdlciA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlkSXRlbVdpdGhQb3NpdGl2ZUludGVnZXIiKTsK
ICAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhQb3NpdGl2ZUludGVn
ZXIsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1uJykiLCAiJzEwJyIp
OworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aFBvc2l0aXZlSW50
ZWdlciwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcpIiwgIicxMCci
KTsKICAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhQb3NpdGl2ZUlu
dGVnZXIsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykiLCAiJzE1JyIp
OworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aFBvc2l0aXZlSW50
ZWdlciwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1iZWZvcmUnKSIsICInMTUn
Iik7CiAKICAgICB2YXIgZ3JpZEl0ZW1XaXRoTmVnYXRpdmVJbnRlZ2VyID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImdyaWRJdGVtV2l0aE5lZ2F0aXZlSW50ZWdlciIpOwogICAgIHNob3VsZEJl
KCJnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aE5lZ2F0aXZlSW50ZWdlciwgJycpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSIsICInLTEwJyIpOworICAgIHNob3Vs
ZEJlKCJnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aE5lZ2F0aXZlSW50ZWdlciwgJycpLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcpIiwgIictMTAnIik7CiAgICAgc2hv
dWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1XaXRoTmVnYXRpdmVJbnRlZ2VyLCAnJyku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvdycpIiwgIictMTUnIik7CisgICAgc2hv
dWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1XaXRoTmVnYXRpdmVJbnRlZ2VyLCAnJyku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9yZScpIiwgIictMTUnIik7CiAKICAg
ICB2YXIgZ3JpZEl0ZW1XaXRoQXV0b0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Z3JpZEl0ZW1XaXRoQXV0b0VsZW1lbnQiKTsKICAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHls
ZShncmlkSXRlbVdpdGhBdXRvRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC1jb2x1bW4nKSIsICInYXV0byciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHls
ZShncmlkSXRlbVdpdGhBdXRvRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC1zdGFydCcpIiwgIidhdXRvJyIpOwogICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxl
KGdyaWRJdGVtV2l0aEF1dG9FbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1n
cmlkLXJvdycpIiwgIidhdXRvJyIpOworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGdy
aWRJdGVtV2l0aEF1dG9FbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LWJlZm9yZScpIiwgIidhdXRvJyIpOwogCiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJUZXN0
IHRoZSBpbml0aWFsIHZhbHVlIik7CiAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwog
ICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWdyaWQtY29sdW1uJykiLCAiJ2F1dG8nIik7CisgICAgc2hvdWxkQmUoImdl
dENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC1zdGFydCcpIiwgIidhdXRvJyIpOwogICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVs
ZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykiLCAiJ2F1dG8n
Iik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1iZWZvcmUnKSIsICInYXV0byciKTsKIAogICAgIGRlYnVn
KCIiKTsKICAgICBkZWJ1ZygiVGVzdCBnZXR0aW5nIGFuZCBzZXR0aW5nIGdyaWQtY29sdW1uIGFu
ZCBncmlkLXJvdyB0aHJvdWdoIEpTIik7CiAgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkQ29s
dW1uID0gIjE4IjsKICAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRSb3cgPSAiNjYiOwogICAg
IHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVl
KCctd2Via2l0LWdyaWQtY29sdW1uJykiLCAiJzE4JyIpOworICAgIHNob3VsZEJlKCJnZXRDb21w
dXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtc3Rh
cnQnKSIsICInMTgnIik7CiAgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwg
JycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3cnKSIsICInNjYnIik7CisgICAg
c2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZ3JpZC1iZWZvcmUnKSIsICInNjYnIik7CiAKICAgICBlbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChl
bGVtZW50KTsKICAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRDb2x1bW4gPSAiLTU1IjsKICAg
ICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRSb3cgPSAiLTQwIjsKICAgICBzaG91bGRCZSgiZ2V0
Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LWNvbHVtbicpIiwgIictNTUnIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxl
bWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcpIiwgIictNTUn
Iik7CiAgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3cnKSIsICInLTQwJyIpOworICAgIHNob3VsZEJlKCJn
ZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdy
aWQtYmVmb3JlJykiLCAiJy00MCciKTsKIAogICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwog
ICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZENvbHVtbiA9ICJhdXRvIjsKICAgICBlbGVtZW50
LnN0eWxlLndlYmtpdEdyaWRSb3cgPSAiYXV0byI7CiAgICAgc2hvdWxkQmUoImdldENvbXB1dGVk
U3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4n
KSIsICInYXV0byciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0YXJ0JykiLCAiJ2F1dG8nIik7CiAg
ICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZ3JpZC1yb3cnKSIsICInYXV0byciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29t
cHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJl
Zm9yZScpIiwgIidhdXRvJyIpOwogCiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJUZXN0IHNl
dHRpbmcgZ3JpZC1jb2x1bW4gYW5kIGdyaWQtcm93IGJhY2sgdG8gJ2F1dG8nIHRocm91Z2ggSlMi
KTsKICAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRDb2x1bW4gPSAiMTgiOwogICAgIGVsZW1l
bnQuc3R5bGUud2Via2l0R3JpZFJvdyA9ICI2NiI7CiAgICAgc2hvdWxkQmUoImdldENvbXB1dGVk
U3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4n
KSIsICInMTgnIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycp
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcpIiwgIicxOCciKTsKICAgICBz
aG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1ncmlkLXJvdycpIiwgIic2NiciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRT
dHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9yZScp
IiwgIic2NiciKTsKICAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRDb2x1bW4gPSAiYXV0byI7
CiAgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkUm93ID0gImF1dG8iOwogICAgIHNob3VsZEJl
KCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0
LWdyaWQtY29sdW1uJykiLCAiJ2F1dG8nIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5
bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcpIiwg
IidhdXRvJyIpOwogICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykiLCAiJ2F1dG8nIik7CisgICAgc2hv
dWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZ3JpZC1iZWZvcmUnKSIsICInYXV0byciKTsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXN0YXJ0
LWJlZm9yZS1nZXQtc2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQt
bGF5b3V0L2dyaWQtaXRlbS1zdGFydC1iZWZvcmUtZ2V0LXNldC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzdhZjRhYzE2NDVjNjYzNzY3ZGQyYWIyNmUzZGE5ZTdjZjZmOTQyNgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1zdGFy
dC1iZWZvcmUtZ2V0LXNldC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1NiBAQAorVGVzdCB0aGF0
IHNldHRpbmcgYW5kIGdldHRpbmcgZ3JpZC1zdGFydCBhbmQgZ3JpZC1iZWZvcmUgd29ya3MgYXMg
ZXhwZWN0ZWQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1Rlc3QgZ2V0dGluZyAt
d2Via2l0LWdyaWQtc3RhcnQgYW5kIC13ZWJraXQtZ3JpZC1iZWZvcmUgc2V0IHRocm91Z2ggQ1NT
CitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZEVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVl
KCctd2Via2l0LWdyaWQtc3RhcnQnKSBpcyAnYXV0bycKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShn
cmlkRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSBp
cyAnYXV0bycKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkRWxlbWVudCwgJycpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1iZWZvcmUnKSBpcyAnYXV0bycKK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShncmlkRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1y
b3cnKSBpcyAnYXV0bycKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhQb3NpdGl2
ZUludGVnZXIsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtc3RhcnQnKSBpcyAn
MTAnCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1XaXRoUG9zaXRpdmVJbnRlZ2VyLCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbicpIGlzICcxMCcKK1BBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhQb3NpdGl2ZUludGVnZXIsICcnKS5nZXRQcm9w
ZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykgaXMgJzE1JworUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGdyaWRJdGVtV2l0aFBvc2l0aXZlSW50ZWdlciwgJycpLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZ3JpZC1yb3cnKSBpcyAnMTUnCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZEl0
ZW1XaXRoTmVnYXRpdmVJbnRlZ2VyLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LXN0YXJ0JykgaXMgJy0xMCcKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhOZWdh
dGl2ZUludGVnZXIsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1uJykg
aXMgJy0xMCcKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhOZWdhdGl2ZUludGVn
ZXIsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykgaXMgJy0xNScK
K1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhOZWdhdGl2ZUludGVnZXIsICcnKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykgaXMgJy0xNScKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShncmlkSXRlbVdpdGhBdXRvRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZ3JpZC1zdGFydCcpIGlzICdhdXRvJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdy
aWRJdGVtV2l0aEF1dG9FbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LWNvbHVtbicpIGlzICdhdXRvJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aEF1
dG9FbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9yZScpIGlz
ICdhdXRvJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aEF1dG9FbGVtZW50LCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvdycpIGlzICdhdXRvJworCitUZXN0
IHRoZSBpbml0aWFsIHZhbHVlCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcpIGlzICdhdXRvJworUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQt
Y29sdW1uJykgaXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1iZWZvcmUnKSBpcyAnYXV0bycKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LXJvdycpIGlzICdhdXRvJworCitUZXN0IGdldHRpbmcgYW5kIHNldHRpbmcgZ3JpZC1zdGFydCBh
bmQgZ3JpZC1iZWZvcmUgdGhyb3VnaCBKUworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQs
ICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtc3RhcnQnKSBpcyAnMTgnCitQQVNT
IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC1jb2x1bW4nKSBpcyAnMTgnCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycp
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1iZWZvcmUnKSBpcyAnNjYnCitQQVNTIGdl
dENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC1yb3cnKSBpcyAnNjYnCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcpIGlzICctNTUnCitQQVNTIGdldENvbXB1
dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1
bW4nKSBpcyAnLTU1JworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9w
ZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykgaXMgJy00MCcKK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvdycp
IGlzICctNDAnCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcpIGlzICdhdXRvJworUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1uJykg
aXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC1iZWZvcmUnKSBpcyAnYXV0bycKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvdycpIGlz
ICdhdXRvJworCitUZXN0IHNldHRpbmcgZ3JpZC1zdGFydCBhbmQgZ3JpZC1iZWZvcmUgYmFjayB0
byAnYXV0bycgdGhyb3VnaCBKUworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtc3RhcnQnKSBpcyAnMTgnCitQQVNTIGdldENv
bXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1j
b2x1bW4nKSBpcyAnMTgnCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1iZWZvcmUnKSBpcyAnNjYnCitQQVNTIGdldENvbXB1
dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3cn
KSBpcyAnNjYnCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcpIGlzICdhdXRvJworUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1uJykg
aXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC1iZWZvcmUnKSBpcyAnYXV0bycKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvdycpIGlz
ICdhdXRvJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRl
bS1zdGFydC1iZWZvcmUtZ2V0LXNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvZ3JpZC1pdGVtLXN0YXJ0LWJlZm9yZS1nZXQtc2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjNj
N2U2OGNmZmFjNmFkYzNiNzk4NjQ4NDc2ZGNlZTRjYzA4NjY3YgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1zdGFydC1iZWZvcmUt
Z2V0LXNldC5odG1sCkBAIC0wLDAgKzEsMTExIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRDU1NHcmlkTGF5b3V0RW5hYmxlZCIsIDEpOworPC9z
Y3JpcHQ+Cis8c3R5bGU+CisuZ3JpZEl0ZW1XaXRoUG9zaXRpdmVJbnRlZ2VyIHsKKyAgICAtd2Vi
a2l0LWdyaWQtc3RhcnQ6IDEwOworICAgIC13ZWJraXQtZ3JpZC1iZWZvcmU6IDE1OworfQorLmdy
aWRJdGVtV2l0aE5lZ2F0aXZlSW50ZWdlciB7CisgICAgLXdlYmtpdC1ncmlkLXN0YXJ0OiAtMTA7
CisgICAgLXdlYmtpdC1ncmlkLWJlZm9yZTogLTE1OworfQorLmdyaWRJdGVtV2l0aEF1dG8gewor
ICAgIC13ZWJraXQtZ3JpZC1zdGFydDogYXV0bzsKKyAgICAtd2Via2l0LWdyaWQtYmVmb3JlOiBh
dXRvOworfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8IS0tIFRoZSBmaXJzdCBoYXMgbm8g
cHJvcGVydGllcyBzZXQgb24gaXQuIC0tPgorPGRpdiBpZD0iZ3JpZEVsZW1lbnQiPjwvZGl2Pgor
PGRpdiBjbGFzcz0iZ3JpZEl0ZW1XaXRoUG9zaXRpdmVJbnRlZ2VyIiBpZD0iZ3JpZEl0ZW1XaXRo
UG9zaXRpdmVJbnRlZ2VyIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWRJdGVtV2l0aE5lZ2F0aXZl
SW50ZWdlciIgaWQ9ImdyaWRJdGVtV2l0aE5lZ2F0aXZlSW50ZWdlciI+PC9kaXY+Cis8ZGl2IGNs
YXNzPSJncmlkSXRlbVdpdGhBdXRvIiBpZD0iZ3JpZEl0ZW1XaXRoQXV0b0VsZW1lbnQiPjwvZGl2
PgorPHNjcmlwdD4KKyAgICBkZXNjcmlwdGlvbignVGVzdCB0aGF0IHNldHRpbmcgYW5kIGdldHRp
bmcgZ3JpZC1zdGFydCBhbmQgZ3JpZC1iZWZvcmUgd29ya3MgYXMgZXhwZWN0ZWQnKTsKKworICAg
IGRlYnVnKCJUZXN0IGdldHRpbmcgLXdlYmtpdC1ncmlkLXN0YXJ0IGFuZCAtd2Via2l0LWdyaWQt
YmVmb3JlIHNldCB0aHJvdWdoIENTUyIpOworICAgIHZhciBncmlkRWxlbWVudCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJncmlkRWxlbWVudCIpOworICAgIHNob3VsZEJlKCJnZXRDb21wdXRl
ZFN0eWxlKGdyaWRFbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0
YXJ0JykiLCAiJ2F1dG8nIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEVs
ZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1uJykiLCAiJ2F1
dG8nIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEVsZW1lbnQsICcnKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykiLCAiJ2F1dG8nIik7CisgICAg
c2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWdyaWQtcm93JykiLCAiJ2F1dG8nIik7CisKKyAgICB2YXIgZ3JpZEl0ZW1X
aXRoUG9zaXRpdmVJbnRlZ2VyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRJdGVtV2l0
aFBvc2l0aXZlSW50ZWdlciIpOworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGdyaWRJ
dGVtV2l0aFBvc2l0aXZlSW50ZWdlciwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC1zdGFydCcpIiwgIicxMCciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlk
SXRlbVdpdGhQb3NpdGl2ZUludGVnZXIsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdy
aWQtY29sdW1uJykiLCAiJzEwJyIpOworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGdy
aWRJdGVtV2l0aFBvc2l0aXZlSW50ZWdlciwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC1iZWZvcmUnKSIsICInMTUnIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUo
Z3JpZEl0ZW1XaXRoUG9zaXRpdmVJbnRlZ2VyLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLXJvdycpIiwgIicxNSciKTsKKworICAgIHZhciBncmlkSXRlbVdpdGhOZWdhdGl2ZUlu
dGVnZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZEl0ZW1XaXRoTmVnYXRpdmVJbnRl
Z2VyIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1XaXRoTmVnYXRp
dmVJbnRlZ2VyLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0YXJ0JykiLCAi
Jy0xMCciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhOZWdh
dGl2ZUludGVnZXIsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1uJyki
LCAiJy0xMCciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhO
ZWdhdGl2ZUludGVnZXIsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3Jl
JykiLCAiJy0xNSciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdp
dGhOZWdhdGl2ZUludGVnZXIsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93
JykiLCAiJy0xNSciKTsKKworICAgIHZhciBncmlkSXRlbVdpdGhBdXRvRWxlbWVudCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJncmlkSXRlbVdpdGhBdXRvRWxlbWVudCIpOworICAgIHNob3Vs
ZEJlKCJnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aEF1dG9FbGVtZW50LCAnJykuZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0YXJ0JykiLCAiJ2F1dG8nIik7CisgICAgc2hvdWxk
QmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1XaXRoQXV0b0VsZW1lbnQsICcnKS5nZXRQcm9w
ZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1uJykiLCAiJ2F1dG8nIik7CisgICAgc2hvdWxk
QmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1XaXRoQXV0b0VsZW1lbnQsICcnKS5nZXRQcm9w
ZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykiLCAiJ2F1dG8nIik7CisgICAgc2hvdWxk
QmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1XaXRoQXV0b0VsZW1lbnQsICcnKS5nZXRQcm9w
ZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykiLCAiJ2F1dG8nIik7CisKKyAgICBkZWJ1Zygi
Iik7CisgICAgZGVidWcoIlRlc3QgdGhlIGluaXRpYWwgdmFsdWUiKTsKKyAgICB2YXIgZWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoZWxlbWVudCk7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVu
dCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcpIiwgIidhdXRvJyIp
OworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1uJykiLCAiJ2F1dG8nIik7CisgICAgc2hvdWxkQmUo
ImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC1iZWZvcmUnKSIsICInYXV0byciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHls
ZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvdycpIiwgIidh
dXRvJyIpOworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJUZXN0IGdldHRpbmcgYW5kIHNl
dHRpbmcgZ3JpZC1zdGFydCBhbmQgZ3JpZC1iZWZvcmUgdGhyb3VnaCBKUyIpOworICAgIGVsZW1l
bnQuc3R5bGUud2Via2l0R3JpZFN0YXJ0ID0gIjE4IjsKKyAgICBlbGVtZW50LnN0eWxlLndlYmtp
dEdyaWRCZWZvcmUgPSAiNjYiOworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1l
bnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtc3RhcnQnKSIsICInMTgnIik7
CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSIsICInMTgnIik7CisgICAgc2hvdWxkQmUoImdl
dENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC1iZWZvcmUnKSIsICInNjYnIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxl
bWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3cnKSIsICInNjYnIik7
CisKKyAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKKyAgICBlbGVtZW50LnN0eWxlLndlYmtp
dEdyaWRTdGFydCA9ICItNTUiOworICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZEJlZm9yZSA9
ICItNDAiOworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtc3RhcnQnKSIsICInLTU1JyIpOworICAgIHNob3Vs
ZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Vi
a2l0LWdyaWQtY29sdW1uJykiLCAiJy01NSciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRT
dHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9yZScp
IiwgIictNDAnIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycp
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3cnKSIsICInLTQwJyIpOworCisgICAg
ZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7CisgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkU3Rh
cnQgPSAiYXV0byI7CisgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkQmVmb3JlID0gImF1dG8i
OworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWdyaWQtc3RhcnQnKSIsICInYXV0byciKTsKKyAgICBzaG91bGRCZSgi
Z2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1n
cmlkLWNvbHVtbicpIiwgIidhdXRvJyIpOworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxl
KGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykiLCAi
J2F1dG8nIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3cnKSIsICInYXV0byciKTsKKworICAgIGRl
YnVnKCIiKTsKKyAgICBkZWJ1ZygiVGVzdCBzZXR0aW5nIGdyaWQtc3RhcnQgYW5kIGdyaWQtYmVm
b3JlIGJhY2sgdG8gJ2F1dG8nIHRocm91Z2ggSlMiKTsKKyAgICBlbGVtZW50LnN0eWxlLndlYmtp
dEdyaWRTdGFydCA9ICIxOCI7CisgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkQmVmb3JlID0g
IjY2IjsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0YXJ0JykiLCAiJzE4JyIpOworICAgIHNob3VsZEJl
KCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0
LWdyaWQtY29sdW1uJykiLCAiJzE4JyIpOworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxl
KGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykiLCAi
JzY2JyIpOworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykiLCAiJzY2JyIpOworICAgIGVsZW1lbnQu
c3R5bGUud2Via2l0R3JpZFN0YXJ0ID0gImF1dG8iOworICAgIGVsZW1lbnQuc3R5bGUud2Via2l0
R3JpZEJlZm9yZSA9ICJhdXRvIjsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVt
ZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0YXJ0JykiLCAiJ2F1dG8n
Iik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSIsICInYXV0byciKTsKKyAgICBzaG91bGRC
ZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLWJlZm9yZScpIiwgIidhdXRvJyIpOworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0
eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykiLCAi
J2F1dG8nIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHls
ZS1leHBlY3RlZC50eHQKaW5kZXggOTIxZDM1M2FjMDZkYzBmMTRjNjM5MGYyMjU2M2IyOWQwN2Rh
Yzg0Ni4uYTM5NjlkMjgyNjUwYzljN2FjZWNhNjU3ZGE0ZWYwZGU4NzNmMjMxNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9j
b21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQKQEAgLTE1Miw2ICsxNTIsNyBAQCB6b29tOiAxOwog
LXdlYmtpdC1mb250LWtlcm5pbmc6IGF1dG87CiAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRv
OwogLXdlYmtpdC1mb250LXZhcmlhbnQtbGlnYXR1cmVzOiBub3JtYWw7Cistd2Via2l0LWdyaWQt
cm93OiBhdXRvOwogLXdlYmtpdC1ncmlkLWNvbHVtbjogYXV0bzsKIC13ZWJraXQtZ3JpZC1yb3c6
IGF1dG87CiAtd2Via2l0LWhpZ2hsaWdodDogbm9uZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2Nv
bXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0CmluZGV4IDRlZjE4OThk
NzFjZDA2MWQxNTIxZTNjZTBmOTdkOWU4N2QxZDZjZjkuLjlkMTk0ODhiNDUwNjE2YTgzZTU2ZWUw
YTJhNDFhOTYzOTg5MTZiMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENv
bXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHls
ZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dApAQCAtMTUxLDYgKzE1MSw3IEBAIHpvb206
IDEKIC13ZWJraXQtZm9udC1rZXJuaW5nOiBhdXRvCiAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBh
dXRvCiAtd2Via2l0LWZvbnQtdmFyaWFudC1saWdhdHVyZXM6IG5vcm1hbAorLXdlYmtpdC1ncmlk
LXJvdzogYXV0bwogLXdlYmtpdC1ncmlkLWNvbHVtbjogYXV0bwogLXdlYmtpdC1ncmlkLXJvdzog
YXV0bwogLXdlYmtpdC1oaWdobGlnaHQ6IG5vbmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dmcvY3NzL2dldENvbXB1dGVkU3R5bGUtYmFzaWMtZXhwZWN0ZWQudHh0CmluZGV4IDg3ZjE4Yzg3
YTMzOGIyOTc3ZDY4MzhmMTRjZmM3YmE5ZDVmNjMyN2UuLmRhMjRmNDFkNGYwNzE1Mzg2NmUyNDEy
YmY2NWVlODhmNzE4MDMxMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jc3MvZ2V0Q29t
cHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9n
ZXRDb21wdXRlZFN0eWxlLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMzAyLDYgKzMwMiw4IEBAIHJl
Y3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1mb250LXNtb290aGluZykgOiBhdXRv
CiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtZm9udC1zbW9vdGhpbmcp
IDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFs
dWUoLXdlYmtpdC1mb250LXZhcmlhbnQtbGlnYXR1cmVzKSA6IG5vcm1hbAogcmVjdDogc3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LWZvbnQtdmFyaWFudC1saWdhdHVyZXMpIDogW29i
amVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KK3JlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdl
YmtpdC1ncmlkLXJvdykgOiBhdXRvCityZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13
ZWJraXQtZ3JpZC1yb3cpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIHJlY3Q6IHN0eWxl
LmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1ncmlkLWNvbHVtbikgOiBhdXRvCiByZWN0OiBzdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtZ3JpZC1jb2x1bW4pIDogW29iamVjdCBDU1NQ
cmltaXRpdmVWYWx1ZV0KIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1ncmlk
LXJvdykgOiBhdXRvCkBAIC04MDIsNiArODA0LDggQEAgZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1
ZSgtd2Via2l0LWZvbnQtc21vb3RoaW5nKSA6IGF1dG8KIGc6IHN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoLXdlYmtpdC1mb250LXNtb290aGluZykgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVl
XQogZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LWZvbnQtdmFyaWFudC1saWdhdHVy
ZXMpIDogbm9ybWFsCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtZm9udC12
YXJpYW50LWxpZ2F0dXJlcykgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQorZzogc3R5bGUu
Z2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LWdyaWQtcm93KSA6IGF1dG8KK2c6IHN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1ncmlkLXJvdykgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZh
bHVlXQogZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LWdyaWQtY29sdW1uKSA6IGF1
dG8KIGc6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1ncmlkLWNvbHVtbikgOiBb
b2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Vi
a2l0LWdyaWQtcm93KSA6IGF1dG8K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190562</attachid>
            <date>2013-02-27 11:23:55 -0800</date>
            <delta_ts>2013-03-04 15:09:51 -0800</delta_ts>
            <desc>Proposed implementation 2: Same as 1, without the wrong test rebaselines.</desc>
            <filename>bug-110988-20130227112008.patch</filename>
            <type>text/plain</type>
            <size>37517</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGQ3ZWM2ODEwODM5MTlm
M2I3NzEyY2E1M2NlODQwNTE0Yzc1ZGZjMC4uYmM4NzE5Y2ZlNzg0MjNjOGY3Yjg3NTdmNzE5MzY0
MzM4Zjg0MGQyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTAyLTI3ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIEFkZCBwYXJzaW5nIGZvciBncmlkLXtzdGFydHxiZWZvcmV9CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA5ODgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy1ncmlk
LWxheW91dC9ncmlkLWl0ZW0tc3RhcnQtYmVmb3JlLWdldC1zZXQuaHRtbAorCisgICAgICAgIFJl
ZmFjdG9yZWQgaG93IHdlIHN0b3JlIGludGVybmFsbHkgZ3JpZC17cm93fGNvbHVtbn0gdG8gYmUg
YmFzZWQgb24gZ3JpZC17YmVmb3JlfHN0YXJ0fS4KKyAgICAgICAgVGhpcyBpcyByZXF1aXJlZCBh
cyBncmlkLXtyb3d8Y29sdW1ufSBhcmUgc2hvcnRoYW5kcyBmb3IgcmVzcC4gZ3JpZC17YmVmb3Jl
fGFmdGVyfSBhbmQgZ3JpZC17c3RhcnR8ZW5kfQorICAgICAgICBpbiB0aGUgc3BlY2lmaWNhdGlv
biBhbmQgd2lsbCBhbHNvIGJlIGluIHRoZSBjb2RlLiBUaGF0IG1lYW5zIGEgbG90IG9mIG1ldGhv
ZHMgd2VyZSByZW5hbWVkIHRvIGJlIG1vcmUKKyAgICAgICAgYWxpZ25lZCB3aXRoIHRoZSBuZXcg
ZGVzaWduLgorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3Bl
cnR5Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkp
OgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eU5hbWVzLmluOgorICAgICAgICAqIGNzcy9TdHls
ZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJv
cGVydHkpOgorICAgICAgICBBZGRlZCB0aGUgY29kZSB0byBwYXJzZSwgYXBwbHkgYW5kIGdldCBi
YWNrIHRoZSBuZXcgcHJvcGVydGllcy4gQWxzbworICAgICAgICBzb21lIHJlbmFtaW5nIGFmdGVy
IHRoZSBpbnRlcm5hbCBuYW1pbmcgY2hhbmdlIGJlbG93LgorCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6bWF4aW11bUlu
ZGV4SW5EaXJlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6cGxhY2VJdGVt
c09uR3JpZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjphdXRvUGxhY2VtZW50TWFq
b3JBeGlzUG9zaXRpb25Gb3JDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjph
dXRvUGxhY2VtZW50TWlub3JBeGlzUG9zaXRpb25Gb3JDaGlsZCk6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxl
R3JpZEl0ZW1EYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlR3JpZEl0ZW1EYXRhOjpT
dHlsZUdyaWRJdGVtRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZEl0
ZW1EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUdyaWRJdGVtRGF0YTo6b3BlcmF0b3I9
PSk6CisgICAgICAgIFVwZGF0ZWQgdGhlIG5hbWluZyBub3cgdGhhdCB3ZSBtYW5pcHVsYXRlIGdy
aWQte2JlZm9yZXxzdGFydH0gaW5zdGVhZCBvZiBncmlkLXtyb3d8Y29sdW1ufS4KKwogMjAxMy0w
Mi0yNyAgR2xlbm4gQWRhbXMgIDxnbGVubkBza3luYXYuY29tPgogCiAgICAgICAgIEFkZCBFTkFC
TEVfQ1NTM19URVhUX0xJTkVfQlJFQUsgZmxhZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggMmFlMjUwYzQzMDdlZjcxOTQy
ZjNjMjNmMDQzNTE3MzkzNmZjYjE4YS4uMTk4YzNjYjk4MDk0OTFjOTc4ZTZmMDRlZGIzNTU3ZjM5
YTdjNDYwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKQEAgLTI4MCw2ICsyODAsOCBAQCBzdGF0aWMgY29uc3QgQ1NTUHJvcGVy
dHlJRCBjb21wdXRlZFByb3BlcnRpZXNbXSA9IHsKICAgICBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRB
dXRvRmxvdywKICAgICBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRDb2x1bW5zLAogICAgIENTU1Byb3Bl
cnR5V2Via2l0R3JpZFJvd3MsCisgICAgQ1NTUHJvcGVydHlXZWJraXRHcmlkU3RhcnQsCisgICAg
Q1NTUHJvcGVydHlXZWJraXRHcmlkQmVmb3JlLAogICAgIENTU1Byb3BlcnR5V2Via2l0R3JpZENv
bHVtbiwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRSb3csCiAgICAgQ1NTUHJvcGVydHlXZWJr
aXRIaWdobGlnaHQsCkBAIC0xOTI0LDEwICsxOTI2LDEyIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+
IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9w
ZXJ0CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkUm93czoKICAgICAgICAgICAg
IHJldHVybiB2YWx1ZUZvckdyaWRUcmFja0xpc3Qoc3R5bGUtPmdyaWRSb3dzKCksIHN0eWxlLmdl
dCgpLCBtX25vZGUtPmRvY3VtZW50KCktPnJlbmRlclZpZXcoKSk7CiAKKyAgICAgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdEdyaWRTdGFydDoKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dEdyaWRDb2x1bW46Ci0gICAgICAgICAgICByZXR1cm4gdmFsdWVGb3JHcmlkUG9zaXRpb24oc3R5
bGUtPmdyaWRJdGVtQ29sdW1uKCkpOworICAgICAgICAgICAgcmV0dXJuIHZhbHVlRm9yR3JpZFBv
c2l0aW9uKHN0eWxlLT5ncmlkSXRlbVN0YXJ0KCkpOworICAgICAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0R3JpZEJlZm9yZToKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRSb3c6
Ci0gICAgICAgICAgICByZXR1cm4gdmFsdWVGb3JHcmlkUG9zaXRpb24oc3R5bGUtPmdyaWRJdGVt
Um93KCkpOworICAgICAgICAgICAgcmV0dXJuIHZhbHVlRm9yR3JpZFBvc2l0aW9uKHN0eWxlLT5n
cmlkSXRlbUJlZm9yZSgpKTsKIAogICAgICAgICBjYXNlIENTU1Byb3BlcnR5SGVpZ2h0OgogICAg
ICAgICAgICAgaWYgKHJlbmRlcmVyKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGUw
MDJlMTAyZWEwMzA3NzEwN2M0OWMyMjk5MDEyZjcwNWQyYzgwYTYuLjk2NGJiMDhlYjE2ODIxZTFk
Nzk4M2U0MGNjN2ZmOWQxN2ExZWU5YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0y
NTg0LDYgKzI1ODQsOCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlE
IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIHJldHVybiBwYXJzZUdyaWRUcmFja0xpc3QocHJvcElkLCBpbXBvcnRhbnQpOwogCisgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRTdGFydDoKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Vi
a2l0R3JpZEJlZm9yZToKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZENvbHVtbjoKICAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZFJvdzoKICAgICAgICAgaWYgKCFjc3NHcmlkTGF5
b3V0RW5hYmxlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXggM2E0MDJjZmY3
NWRmZTM1Y2UyNWJkNTBjODcxN2E1ZTFlNDY1ZDA2YS4uMjg0MzljNmNkMzdkOGNkNjllZWM4NGNm
YjYwYjRhN2U0ZDg4NDZkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCkBAIC01Nzgs
NiArNTc4LDggQEAgYm9vbCBDU1NQcm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eShDU1NQcm9w
ZXJ0eUlEIHByb3BlcnR5SUQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRBdXRvRmxv
dzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZENvbHVtbnM6CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdEdyaWRSb3dzOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkU3Rh
cnQ6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRCZWZvcmU6CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdEdyaWRDb2x1bW46CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRS
b3c6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdExpbmVDbGFtcDoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5kZXggYWMzZmRlNTYxNWI1YjEzOWM4ZmFkMTQ0OTk4OTZk
NGFkN2I2NjZkYS4uYWMzYjllZTE5MTY1NzRmYjQ1MjQ5MGYzNmVmNDhhNjA3NmMwZmJiMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAgLTI5Miw2ICsyOTIsOCBAQCB6
LWluZGV4CiAtd2Via2l0LWZvbnQtc2l6ZS1kZWx0YQogLXdlYmtpdC1ncmlkLWNvbHVtbnMKIC13
ZWJraXQtZ3JpZC1yb3dzCistd2Via2l0LWdyaWQtc3RhcnQKKy13ZWJraXQtZ3JpZC1iZWZvcmUK
IC13ZWJraXQtZ3JpZC1jb2x1bW4KIC13ZWJraXQtZ3JpZC1yb3cKIC13ZWJraXQtZ3JpZC1hdXRv
LWZsb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCA2ZTczOWEzODU5ODlm
NDdjYWZhZmE4ODgzNzY3NzY0ZmY3YzliZDJlLi4zZmJiMWI2ZDliZmI1OWUwZjUzNmQzODA0MzZl
Mjc4ZmRmMjFmNjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0zNTY2
LDE4ICszNTY2LDIwIEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9w
ZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZFN0YXJ0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRHcmlkQ29sdW1uOiB7Ci0gICAgICAgIEdyaWRQb3NpdGlvbiBjb2x1bW47Ci0gICAgICAg
IGlmICghY3JlYXRlR3JpZFBvc2l0aW9uKHZhbHVlLCBjb2x1bW4pKQorICAgICAgICBHcmlkUG9z
aXRpb24gc3RhcnRQb3NpdGlvbjsKKyAgICAgICAgaWYgKCFjcmVhdGVHcmlkUG9zaXRpb24odmFs
dWUsIHN0YXJ0UG9zaXRpb24pKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBzdGF0ZS5z
dHlsZSgpLT5zZXRHcmlkSXRlbUNvbHVtbihjb2x1bW4pOworICAgICAgICBzdGF0ZS5zdHlsZSgp
LT5zZXRHcmlkSXRlbVN0YXJ0KHN0YXJ0UG9zaXRpb24pOwogICAgICAgICByZXR1cm47CiAgICAg
fQorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkQmVmb3JlOgogICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRHcmlkUm93OiB7Ci0gICAgICAgIEdyaWRQb3NpdGlvbiByb3c7Ci0gICAgICAg
IGlmICghY3JlYXRlR3JpZFBvc2l0aW9uKHZhbHVlLCByb3cpKQorICAgICAgICBHcmlkUG9zaXRp
b24gYmVmb3JlUG9zaXRpb247CisgICAgICAgIGlmICghY3JlYXRlR3JpZFBvc2l0aW9uKHZhbHVl
LCBiZWZvcmVQb3NpdGlvbikpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHN0YXRlLnN0
eWxlKCktPnNldEdyaWRJdGVtUm93KHJvdyk7CisgICAgICAgIHN0YXRlLnN0eWxlKCktPnNldEdy
aWRJdGVtQmVmb3JlKGJlZm9yZVBvc2l0aW9uKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAg
ICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGFyZSBpbXBsZW1lbnRlZCBpbiB0aGUgU3R5bGVCdWlsZGVy
IGxvb2t1cCB0YWJsZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRl
eCBmNmI1Y2FiMDc0ZTIzNjk0MDZiMDA3MmJjZjI5MDU2YzA2YTM4ZWU2Li45ZTkwZWE5NzRlMDM2
ODNlZTIyMjczYWU4ZTgwN2Y3MGVjZDkxMWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckdyaWQuY3BwCkBAIC0zMzQsNyArMzM0LDcgQEAgc2l6ZV90IFJlbmRlckdyaWQ6Om1heGlt
dW1JbmRleEluRGlyZWN0aW9uKFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbikgY29uc3QK
ICAgICBzaXplX3QgbWF4aW11bUluZGV4ID0gc3RkOjptYXg8c2l6ZV90PigxLCB0cmFja1N0eWxl
cy5zaXplKCkpOwogCiAgICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgp
OyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewotICAgICAgICBjb25z
dCBHcmlkUG9zaXRpb24mIHBvc2l0aW9uID0gKGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zKSA/IGNo
aWxkLT5zdHlsZSgpLT5ncmlkSXRlbUNvbHVtbigpIDogY2hpbGQtPnN0eWxlKCktPmdyaWRJdGVt
Um93KCk7CisgICAgICAgIGNvbnN0IEdyaWRQb3NpdGlvbiYgcG9zaXRpb24gPSAoZGlyZWN0aW9u
ID09IEZvckNvbHVtbnMpID8gY2hpbGQtPnN0eWxlKCktPmdyaWRJdGVtU3RhcnQoKSA6IGNoaWxk
LT5zdHlsZSgpLT5ncmlkSXRlbUJlZm9yZSgpOwogICAgICAgICAvLyAnYXV0bycgaXRlbXMgd2ls
bCBuZWVkIHRvIGJlIHJlc29sdmVkIGluIHNlcGVyYXRlIHBoYXNlcyBhbnl3YXkuIE5vdGUgdGhh
dCBiZWNhdXNlIG1heGltdW1JbmRleCBpcyBhdCBsZWFzdCAxLAogICAgICAgICAvLyB0aGUgZ3Jp
ZC1hdXRvLWZsb3cgPT0gbm9uZSBjYXNlIGlzIGF1dG9tYXRpY2FsbHkgaGFuZGxlZC4KICAgICAg
ICAgaWYgKHBvc2l0aW9uLmlzQXV0bygpKQpAQCAtNTI2LDkgKzUyNiw5IEBAIHZvaWQgUmVuZGVy
R3JpZDo6cGxhY2VJdGVtc09uR3JpZCgpCiAgICAgVmVjdG9yPFJlbmRlckJveCo+IHNwZWNpZmll
ZE1ham9yQXhpc0F1dG9HcmlkSXRlbXM7CiAgICAgR3JpZEF1dG9GbG93IGF1dG9GbG93ID0gc3R5
bGUoKS0+Z3JpZEF1dG9GbG93KCk7CiAgICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RD
aGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewotICAg
ICAgICBjb25zdCBHcmlkUG9zaXRpb24mIGNvbHVtblBvc2l0aW9uID0gY2hpbGQtPnN0eWxlKCkt
PmdyaWRJdGVtQ29sdW1uKCk7Ci0gICAgICAgIGNvbnN0IEdyaWRQb3NpdGlvbiYgcm93UG9zaXRp
b24gPSBjaGlsZC0+c3R5bGUoKS0+Z3JpZEl0ZW1Sb3coKTsKLSAgICAgICAgaWYgKGF1dG9GbG93
ICE9IEF1dG9GbG93Tm9uZSAmJiAoY29sdW1uUG9zaXRpb24uaXNBdXRvKCkgfHwgcm93UG9zaXRp
b24uaXNBdXRvKCkpKSB7CisgICAgICAgIGNvbnN0IEdyaWRQb3NpdGlvbiYgc3RhcnRQb3NpdGlv
biA9IGNoaWxkLT5zdHlsZSgpLT5ncmlkSXRlbVN0YXJ0KCk7CisgICAgICAgIGNvbnN0IEdyaWRQ
b3NpdGlvbiYgYmVmb3JlUG9zaXRpb24gPSBjaGlsZC0+c3R5bGUoKS0+Z3JpZEl0ZW1CZWZvcmUo
KTsKKyAgICAgICAgaWYgKGF1dG9GbG93ICE9IEF1dG9GbG93Tm9uZSAmJiAoc3RhcnRQb3NpdGlv
bi5pc0F1dG8oKSB8fCBiZWZvcmVQb3NpdGlvbi5pc0F1dG8oKSkpIHsKICAgICAgICAgICAgIGNv
bnN0IEdyaWRQb3NpdGlvbiYgbWFqb3JBeGlzUG9zaXRpb24gPSBhdXRvUGxhY2VtZW50TWFqb3JB
eGlzUG9zaXRpb25Gb3JDaGlsZChjaGlsZCk7CiAgICAgICAgICAgICBpZiAobWFqb3JBeGlzUG9z
aXRpb24uaXNBdXRvKCkpCiAgICAgICAgICAgICAgICAgYXV0b01ham9yQXhpc0F1dG9HcmlkSXRl
bXMuYXBwZW5kKGNoaWxkKTsKQEAgLTUzNiw4ICs1MzYsOCBAQCB2b2lkIFJlbmRlckdyaWQ6OnBs
YWNlSXRlbXNPbkdyaWQoKQogICAgICAgICAgICAgICAgIHNwZWNpZmllZE1ham9yQXhpc0F1dG9H
cmlkSXRlbXMuYXBwZW5kKGNoaWxkKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9
Ci0gICAgICAgIHNpemVfdCBjb2x1bW5UcmFjayA9IHJlc29sdmVHcmlkUG9zaXRpb25Gcm9tU3R5
bGUoY29sdW1uUG9zaXRpb24pOwotICAgICAgICBzaXplX3Qgcm93VHJhY2sgPSByZXNvbHZlR3Jp
ZFBvc2l0aW9uRnJvbVN0eWxlKHJvd1Bvc2l0aW9uKTsKKyAgICAgICAgc2l6ZV90IGNvbHVtblRy
YWNrID0gcmVzb2x2ZUdyaWRQb3NpdGlvbkZyb21TdHlsZShzdGFydFBvc2l0aW9uKTsKKyAgICAg
ICAgc2l6ZV90IHJvd1RyYWNrID0gcmVzb2x2ZUdyaWRQb3NpdGlvbkZyb21TdHlsZShiZWZvcmVQ
b3NpdGlvbik7CiAgICAgICAgIGluc2VydEl0ZW1JbnRvR3JpZChjaGlsZCwgcm93VHJhY2ssIGNv
bHVtblRyYWNrKTsKICAgICB9CiAKQEAgLTYxNSwxNCArNjE1LDE0IEBAIGNvbnN0IEdyaWRQb3Np
dGlvbiYgUmVuZGVyR3JpZDo6YXV0b1BsYWNlbWVudE1ham9yQXhpc1Bvc2l0aW9uRm9yQ2hpbGQo
Y29uc3QgUmVuCiB7CiAgICAgR3JpZEF1dG9GbG93IGZsb3cgPSBzdHlsZSgpLT5ncmlkQXV0b0Zs
b3coKTsKICAgICBBU1NFUlQoZmxvdyAhPSBBdXRvRmxvd05vbmUpOwotICAgIHJldHVybiAoZmxv
dyA9PSBBdXRvRmxvd0NvbHVtbikgPyBncmlkSXRlbS0+c3R5bGUoKS0+Z3JpZEl0ZW1Db2x1bW4o
KSA6IGdyaWRJdGVtLT5zdHlsZSgpLT5ncmlkSXRlbVJvdygpOworICAgIHJldHVybiAoZmxvdyA9
PSBBdXRvRmxvd0NvbHVtbikgPyBncmlkSXRlbS0+c3R5bGUoKS0+Z3JpZEl0ZW1TdGFydCgpIDog
Z3JpZEl0ZW0tPnN0eWxlKCktPmdyaWRJdGVtQmVmb3JlKCk7CiB9CiAKIGNvbnN0IEdyaWRQb3Np
dGlvbiYgUmVuZGVyR3JpZDo6YXV0b1BsYWNlbWVudE1pbm9yQXhpc1Bvc2l0aW9uRm9yQ2hpbGQo
Y29uc3QgUmVuZGVyQm94KiBncmlkSXRlbSkgY29uc3QKIHsKICAgICBHcmlkQXV0b0Zsb3cgZmxv
dyA9IHN0eWxlKCktPmdyaWRBdXRvRmxvdygpOwogICAgIEFTU0VSVChmbG93ICE9IEF1dG9GbG93
Tm9uZSk7Ci0gICAgcmV0dXJuIChmbG93ID09IEF1dG9GbG93Q29sdW1uKSA/IGdyaWRJdGVtLT5z
dHlsZSgpLT5ncmlkSXRlbVJvdygpIDogZ3JpZEl0ZW0tPnN0eWxlKCktPmdyaWRJdGVtQ29sdW1u
KCk7CisgICAgcmV0dXJuIChmbG93ID09IEF1dG9GbG93Q29sdW1uKSA/IGdyaWRJdGVtLT5zdHls
ZSgpLT5ncmlkSXRlbUJlZm9yZSgpIDogZ3JpZEl0ZW0tPnN0eWxlKCktPmdyaWRJdGVtU3RhcnQo
KTsKIH0KIAogUmVuZGVyR3JpZDo6VHJhY2tTaXppbmdEaXJlY3Rpb24gUmVuZGVyR3JpZDo6YXV0
b1BsYWNlbWVudE1ham9yQXhpc0RpcmVjdGlvbigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDc2ZDhiOGQ4YzMyZTJmNGNkZjAyNTgw
NmUwMTBlY2QxYzAxN2FmYWMuLmU4YmVhNmY5MDg1OTE2MmY3NTM3YjE4NDkxNjBlMWVhODRhNGNh
N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBA
IC03NjUsOCArNzY1LDggQEAgcHVibGljOgogICAgIGNvbnN0IFZlY3RvcjxHcmlkVHJhY2tTaXpl
PiYgZ3JpZFJvd3MoKSBjb25zdCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9ncmlk
LT5tX2dyaWRSb3dzOyB9CiAgICAgR3JpZEF1dG9GbG93IGdyaWRBdXRvRmxvdygpIGNvbnN0IHsg
cmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2dyaWQtPm1fZ3JpZEF1dG9GbG93OyB9CiAK
LSAgICBjb25zdCBHcmlkUG9zaXRpb24mIGdyaWRJdGVtQ29sdW1uKCkgY29uc3QgeyByZXR1cm4g
cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZ3JpZEl0ZW0tPm1fZ3JpZENvbHVtbjsgfQotICAgIGNv
bnN0IEdyaWRQb3NpdGlvbiYgZ3JpZEl0ZW1Sb3coKSBjb25zdCB7IHJldHVybiByYXJlTm9uSW5o
ZXJpdGVkRGF0YS0+bV9ncmlkSXRlbS0+bV9ncmlkUm93OyB9CisgICAgY29uc3QgR3JpZFBvc2l0
aW9uJiBncmlkSXRlbVN0YXJ0KCkgY29uc3QgeyByZXR1cm4gcmFyZU5vbkluaGVyaXRlZERhdGEt
Pm1fZ3JpZEl0ZW0tPm1fZ3JpZFN0YXJ0OyB9CisgICAgY29uc3QgR3JpZFBvc2l0aW9uJiBncmlk
SXRlbUJlZm9yZSgpIGNvbnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2dyaWRJ
dGVtLT5tX2dyaWRCZWZvcmU7IH0KIAogICAgIGNvbnN0IFNoYWRvd0RhdGEqIGJveFNoYWRvdygp
IGNvbnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2JveFNoYWRvdy5nZXQoKTsg
fQogICAgIHZvaWQgZ2V0Qm94U2hhZG93RXh0ZW50KExheW91dFVuaXQmIHRvcCwgTGF5b3V0VW5p
dCYgcmlnaHQsIExheW91dFVuaXQmIGJvdHRvbSwgTGF5b3V0VW5pdCYgbGVmdCkgY29uc3QgeyBn
ZXRTaGFkb3dFeHRlbnQoYm94U2hhZG93KCksIHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCk7IH0K
QEAgLTEyNTMsOCArMTI1Myw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEdyaWRDb2x1bW5zKGNv
bnN0IFZlY3RvcjxHcmlkVHJhY2tTaXplPiYgbGVuZ3RocykgeyBTRVRfVkFSKHJhcmVOb25Jbmhl
cml0ZWREYXRhLmFjY2VzcygpLT5tX2dyaWQsIG1fZ3JpZENvbHVtbnMsIGxlbmd0aHMpOyB9CiAg
ICAgdm9pZCBzZXRHcmlkUm93cyhjb25zdCBWZWN0b3I8R3JpZFRyYWNrU2l6ZT4mIGxlbmd0aHMp
IHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9ncmlkLCBtX2dyaWRS
b3dzLCBsZW5ndGhzKTsgfQogICAgIHZvaWQgc2V0R3JpZEF1dG9GbG93KEdyaWRBdXRvRmxvdyBm
bG93KSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNzKCktPm1fZ3JpZCwgbV9n
cmlkQXV0b0Zsb3csIGZsb3cpOyB9Ci0gICAgdm9pZCBzZXRHcmlkSXRlbUNvbHVtbihjb25zdCBH
cmlkUG9zaXRpb24mIGNvbHVtblBvc2l0aW9uKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERh
dGEuYWNjZXNzKCktPm1fZ3JpZEl0ZW0sIG1fZ3JpZENvbHVtbiwgY29sdW1uUG9zaXRpb24pOyB9
Ci0gICAgdm9pZCBzZXRHcmlkSXRlbVJvdyhjb25zdCBHcmlkUG9zaXRpb24mIHJvd1Bvc2l0aW9u
KSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNzKCktPm1fZ3JpZEl0ZW0sIG1f
Z3JpZFJvdywgcm93UG9zaXRpb24pOyB9CisgICAgdm9pZCBzZXRHcmlkSXRlbVN0YXJ0KGNvbnN0
IEdyaWRQb3NpdGlvbiYgc3RhcnRQb3NpdGlvbikgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWRE
YXRhLmFjY2VzcygpLT5tX2dyaWRJdGVtLCBtX2dyaWRTdGFydCwgc3RhcnRQb3NpdGlvbik7IH0K
KyAgICB2b2lkIHNldEdyaWRJdGVtQmVmb3JlKGNvbnN0IEdyaWRQb3NpdGlvbiYgYmVmb3JlUG9z
aXRpb24pIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9ncmlkSXRl
bSwgbV9ncmlkQmVmb3JlLCBiZWZvcmVQb3NpdGlvbik7IH0KIAogICAgIHZvaWQgc2V0TWFycXVl
ZUluY3JlbWVudChjb25zdCBMZW5ndGgmIGYpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0
YS5hY2Nlc3MoKS0+bV9tYXJxdWVlLCBpbmNyZW1lbnQsIGYpOyB9CiAgICAgdm9pZCBzZXRNYXJx
dWVlU3BlZWQoaW50IGYpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+
bV9tYXJxdWVlLCBzcGVlZCwgZik7IH0KQEAgLTE2NjQsOCArMTY2NCw3IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgR3JpZEF1dG9GbG93IGluaXRpYWxHcmlkQXV0b0Zsb3coKSB7IHJldHVybiBBdXRv
Rmxvd05vbmU7IH0KIAogICAgIC8vICdhdXRvJyBpcyB0aGUgZGVmYXVsdC4KLSAgICBzdGF0aWMg
R3JpZFBvc2l0aW9uIGluaXRpYWxHcmlkSXRlbUNvbHVtbigpIHsgcmV0dXJuIEdyaWRQb3NpdGlv
bigpOyB9Ci0gICAgc3RhdGljIEdyaWRQb3NpdGlvbiBpbml0aWFsR3JpZEl0ZW1Sb3coKSB7IHJl
dHVybiBHcmlkUG9zaXRpb24oKTsgfQorICAgIHN0YXRpYyBHcmlkUG9zaXRpb24gaW5pdGlhbEdy
aWRQb3NpdGlvbigpIHsgcmV0dXJuIEdyaWRQb3NpdGlvbigpOyB9CiAKICAgICBzdGF0aWMgdW5z
aWduZWQgaW5pdGlhbFRhYlNpemUoKSB7IHJldHVybiA4OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWRJdGVtRGF0YS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkSXRlbURhdGEuY3BwCmluZGV4IDRlZGI5
ZWRkNDNiM2RlNDk4ZGFmYmZiZTI1MzIxYWQyMDhiNmY4OTMuLmUzZGM4NjdmYWY1NTUzMWU3YTM2
MWUyMzgwMzUzYTQwYzQ0ZjZkZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZUdyaWRJdGVtRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlR3JpZEl0ZW1EYXRhLmNwcApAQCAtMzUsMTUgKzM1LDE1IEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIFN0eWxlR3JpZEl0ZW1EYXRhOjpTdHlsZUdyaWRJdGVtRGF0YSgp
Ci0gICAgOiBtX2dyaWRDb2x1bW4oUmVuZGVyU3R5bGU6OmluaXRpYWxHcmlkSXRlbUNvbHVtbigp
KQotICAgICwgbV9ncmlkUm93KFJlbmRlclN0eWxlOjppbml0aWFsR3JpZEl0ZW1Sb3coKSkKKyAg
ICA6IG1fZ3JpZFN0YXJ0KFJlbmRlclN0eWxlOjppbml0aWFsR3JpZFBvc2l0aW9uKCkpCisgICAg
LCBtX2dyaWRCZWZvcmUoUmVuZGVyU3R5bGU6OmluaXRpYWxHcmlkUG9zaXRpb24oKSkKIHsKIH0K
IAogU3R5bGVHcmlkSXRlbURhdGE6OlN0eWxlR3JpZEl0ZW1EYXRhKGNvbnN0IFN0eWxlR3JpZEl0
ZW1EYXRhJiBvKQogICAgIDogUmVmQ291bnRlZDxTdHlsZUdyaWRJdGVtRGF0YT4oKQotICAgICwg
bV9ncmlkQ29sdW1uKG8ubV9ncmlkQ29sdW1uKQotICAgICwgbV9ncmlkUm93KG8ubV9ncmlkUm93
KQorICAgICwgbV9ncmlkU3RhcnQoby5tX2dyaWRTdGFydCkKKyAgICAsIG1fZ3JpZEJlZm9yZShv
Lm1fZ3JpZEJlZm9yZSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlR3JpZEl0ZW1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVHcmlkSXRlbURhdGEuaAppbmRleCAyZjc0ODdiODY5OGFmNzQ0YmVkNDZhZWFh
OTRlNmRjYTI5ZTUxOTE0Li5hYmQ1M2U3ZGU4NGUzNjZkNzExNGM2ZTgxOGQ3NGY0M2IyMDFkMWU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkSXRl
bURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkSXRl
bURhdGEuaApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIG9wZXJhdG9yPT0o
Y29uc3QgU3R5bGVHcmlkSXRlbURhdGEmIG8pIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4g
bV9ncmlkQ29sdW1uID09IG8ubV9ncmlkQ29sdW1uICYmIG1fZ3JpZFJvdyA9PSBvLm1fZ3JpZFJv
dzsKKyAgICAgICAgcmV0dXJuIG1fZ3JpZFN0YXJ0ID09IG8ubV9ncmlkU3RhcnQgJiYgbV9ncmlk
QmVmb3JlID09IG8ubV9ncmlkQmVmb3JlOwogICAgIH0KIAogICAgIGJvb2wgb3BlcmF0b3IhPShj
b25zdCBTdHlsZUdyaWRJdGVtRGF0YSYgbykgY29uc3QKQEAgLTU0LDggKzU0LDggQEAgcHVibGlj
OgogICAgICAgICByZXR1cm4gISgqdGhpcyA9PSBvKTsKICAgICB9CiAKLSAgICBHcmlkUG9zaXRp
b24gbV9ncmlkQ29sdW1uOwotICAgIEdyaWRQb3NpdGlvbiBtX2dyaWRSb3c7CisgICAgR3JpZFBv
c2l0aW9uIG1fZ3JpZFN0YXJ0OworICAgIEdyaWRQb3NpdGlvbiBtX2dyaWRCZWZvcmU7CiAKIHBy
aXZhdGU6CiAgICAgU3R5bGVHcmlkSXRlbURhdGEoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmODQxMGU1NDEyMWFlYTBi
MGIyZmE5N2UyYjExOWY1MDJlNDhhYTNkLi4yYTUyYjY5YzRhZmYzN2JjYWFkZDdlZjJlNDgxYjkx
OGI3ZTRhZjk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMDItMjcgIEp1bGllbiBDaGFm
ZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NTUyBHcmlkIExheW91
dF0gQWRkIHBhcnNpbmcgZm9yIGdyaWQte3N0YXJ0fGJlZm9yZX0KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDk4OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3Jp
ZC1pdGVtLWNvbHVtbi1yb3ctZ2V0LXNldC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9j
c3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWNvbHVtbi1yb3ctZ2V0LXNldC5odG1sOgorICAgICAg
ICBFeHRlbmRlZCB0aGUgdGVzdCB0byBtYWtlIHN1cmUgdGhhdCBib3RoIGdyaWQtY29sdW1uIChy
ZXNwLiBncmlkLXJvdykgYW5kIGdyaWQtc3RhcnQgKHJlc3AuIGdyaWQtYmVmb3JlKSBhcmUKKyAg
ICAgICAgaW4gc3luYy4KKworICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRl
bS1zdGFydC1iZWZvcmUtZ2V0LXNldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1zdGFydC1iZWZvcmUtZ2V0LXNldC5odG1sOiBB
ZGRlZAorICAgICAgICBBZGQgdGhpcyB0ZXN0IGZvciBncmlkLXtzdGFydHxiZWZvcmV9LCBzaW1p
bGFyIHRvIExheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1jb2x1bW4t
cm93LWdldC1zZXQuaHRtbC4KKwogMjAxMy0wMi0yNyAgU3RlcGhlbiBDaGVubmV5ICA8c2NoZW5u
ZXlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gVGVzdCBleHBlY3RhdGlvbnMg
dXBkYXRlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3Jp
ZC1pdGVtLWNvbHVtbi1yb3ctZ2V0LXNldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tY29sdW1uLXJvdy1nZXQtc2V0LWV4cGVjdGVkLnR4
dAppbmRleCBhNTc5NDY2ZGQ0M2YwYmViNmJhMjk3OTQ0NGIwMWNlZTNmZmI4YmE0Li4yNzlkZDM3
YzA5YTgyZjBmYzEwOTU0YjllNjIxOThkMGZiYzI2NzU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tY29sdW1uLXJvdy1nZXQtc2V0LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0t
Y29sdW1uLXJvdy1nZXQtc2V0LWV4cGVjdGVkLnR4dApAQCAtNSwzMSArNSw1MSBAQCBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURQogCiBUZXN0IGdldHRpbmcgLXdlYmtpdC1ncmlkLWNvbHVtbiBhbmQg
LXdlYmtpdC1ncmlkLXJvdyBzZXQgdGhyb3VnaCBDU1MKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShn
cmlkRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSBp
cyAnYXV0bycKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkRWxlbWVudCwgJycpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcpIGlzICdhdXRvJwogUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGdyaWRFbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJv
dycpIGlzICdhdXRvJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRFbGVtZW50LCAnJykuZ2V0
UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9yZScpIGlzICdhdXRvJwogUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aFBvc2l0aXZlSW50ZWdlciwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSBpcyAnMTAnCitQQVNTIGdldENvbXB1dGVkU3R5
bGUoZ3JpZEl0ZW1XaXRoUG9zaXRpdmVJbnRlZ2VyLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdl
YmtpdC1ncmlkLXN0YXJ0JykgaXMgJzEwJwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVt
V2l0aFBvc2l0aXZlSW50ZWdlciwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1y
b3cnKSBpcyAnMTUnCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1XaXRoUG9zaXRpdmVJ
bnRlZ2VyLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9yZScpIGlzICcx
NScKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhOZWdhdGl2ZUludGVnZXIsICcn
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1uJykgaXMgJy0xMCcKK1BBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhOZWdhdGl2ZUludGVnZXIsICcnKS5nZXRQcm9w
ZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtc3RhcnQnKSBpcyAnLTEwJwogUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGdyaWRJdGVtV2l0aE5lZ2F0aXZlSW50ZWdlciwgJycpLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZ3JpZC1yb3cnKSBpcyAnLTE1JworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRJ
dGVtV2l0aE5lZ2F0aXZlSW50ZWdlciwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC1iZWZvcmUnKSBpcyAnLTE1JwogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aEF1
dG9FbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbicpIGlz
ICdhdXRvJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aEF1dG9FbGVtZW50LCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0YXJ0JykgaXMgJ2F1dG8nCiBQQVNT
IGdldENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1XaXRoQXV0b0VsZW1lbnQsICcnKS5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykgaXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5
bGUoZ3JpZEl0ZW1XaXRoQXV0b0VsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0
LWdyaWQtYmVmb3JlJykgaXMgJ2F1dG8nCiAKIFRlc3QgdGhlIGluaXRpYWwgdmFsdWUKIFBBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1n
cmlkLWNvbHVtbicpIGlzICdhdXRvJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcn
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtc3RhcnQnKSBpcyAnYXV0bycKIFBBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1n
cmlkLXJvdycpIGlzICdhdXRvJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykgaXMgJ2F1dG8nCiAKIFRlc3Qg
Z2V0dGluZyBhbmQgc2V0dGluZyBncmlkLWNvbHVtbiBhbmQgZ3JpZC1yb3cgdGhyb3VnaCBKUwog
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Vi
a2l0LWdyaWQtY29sdW1uJykgaXMgJzE4JworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQs
ICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtc3RhcnQnKSBpcyAnMTgnCiBQQVNT
IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC1yb3cnKSBpcyAnNjYnCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1iZWZvcmUnKSBpcyAnNjYnCiBQQVNTIGdldENv
bXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1j
b2x1bW4nKSBpcyAnLTU1JworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtc3RhcnQnKSBpcyAnLTU1JwogUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93
JykgaXMgJy00MCcKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9yZScpIGlzICctNDAnCiBQQVNTIGdldENvbXB1dGVk
U3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4n
KSBpcyAnYXV0bycKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0YXJ0JykgaXMgJ2F1dG8nCiBQQVNTIGdldENvbXB1dGVk
U3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3cnKSBp
cyAnYXV0bycKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9yZScpIGlzICdhdXRvJwogCiBUZXN0IHNldHRpbmcgZ3Jp
ZC1jb2x1bW4gYW5kIGdyaWQtcm93IGJhY2sgdG8gJ2F1dG8nIHRocm91Z2ggSlMKIFBBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LWNvbHVtbicpIGlzICcxOCcKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0
UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0YXJ0JykgaXMgJzE4JwogUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93
JykgaXMgJzY2JworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykgaXMgJzY2JwogUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1uJykg
aXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcpIGlzICdhdXRvJwogUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykgaXMg
J2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZ3JpZC1iZWZvcmUnKSBpcyAnYXV0bycKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWNvbHVtbi1yb3ctZ2V0LXNldC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWNvbHVtbi1yb3ctZ2V0LXNl
dC5odG1sCmluZGV4IDc3ZjNmZTZmZGE3MWEwMWFjOWI0ODkxYTBmYmY0OTFkYTk1YjUxZmQuLjdi
OGQwNmI4MTc4ZWQzN2MyNGMyZGQ2ZjY5MTg5NjhjOTg2M2IyMTkgMTAwNzU1Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1jb2x1bW4tcm93LWdldC1zZXQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tY29s
dW1uLXJvdy1nZXQtc2V0Lmh0bWwKQEAgLTMzLDU4ICszMyw3OCBAQCBpZiAod2luZG93LnRlc3RS
dW5uZXIpCiAgICAgZGVidWcoIlRlc3QgZ2V0dGluZyAtd2Via2l0LWdyaWQtY29sdW1uIGFuZCAt
d2Via2l0LWdyaWQtcm93IHNldCB0aHJvdWdoIENTUyIpOwogICAgIHZhciBncmlkRWxlbWVudCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlkRWxlbWVudCIpOwogICAgIHNob3VsZEJlKCJn
ZXRDb21wdXRlZFN0eWxlKGdyaWRFbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLWNvbHVtbicpIiwgIidhdXRvJyIpOworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0
eWxlKGdyaWRFbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0YXJ0
JykiLCAiJ2F1dG8nIik7CiAgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEVsZW1l
bnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykiLCAiJ2F1dG8nIik7
CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEVsZW1lbnQsICcnKS5nZXRQcm9w
ZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykiLCAiJ2F1dG8nIik7CiAKICAgICB2YXIg
Z3JpZEl0ZW1XaXRoUG9zaXRpdmVJbnRlZ2VyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdy
aWRJdGVtV2l0aFBvc2l0aXZlSW50ZWdlciIpOwogICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0
eWxlKGdyaWRJdGVtV2l0aFBvc2l0aXZlSW50ZWdlciwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZ3JpZC1jb2x1bW4nKSIsICInMTAnIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVk
U3R5bGUoZ3JpZEl0ZW1XaXRoUG9zaXRpdmVJbnRlZ2VyLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1ncmlkLXN0YXJ0JykiLCAiJzEwJyIpOwogICAgIHNob3VsZEJlKCJnZXRDb21wdXRl
ZFN0eWxlKGdyaWRJdGVtV2l0aFBvc2l0aXZlSW50ZWdlciwgJycpLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZ3JpZC1yb3cnKSIsICInMTUnIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVk
U3R5bGUoZ3JpZEl0ZW1XaXRoUG9zaXRpdmVJbnRlZ2VyLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1ncmlkLWJlZm9yZScpIiwgIicxNSciKTsKIAogICAgIHZhciBncmlkSXRlbVdpdGhO
ZWdhdGl2ZUludGVnZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZEl0ZW1XaXRoTmVn
YXRpdmVJbnRlZ2VyIik7CiAgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1X
aXRoTmVnYXRpdmVJbnRlZ2VyLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNv
bHVtbicpIiwgIictMTAnIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEl0
ZW1XaXRoTmVnYXRpdmVJbnRlZ2VyLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LXN0YXJ0JykiLCAiJy0xMCciKTsKICAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlk
SXRlbVdpdGhOZWdhdGl2ZUludGVnZXIsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdy
aWQtcm93JykiLCAiJy0xNSciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlk
SXRlbVdpdGhOZWdhdGl2ZUludGVnZXIsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdy
aWQtYmVmb3JlJykiLCAiJy0xNSciKTsKIAogICAgIHZhciBncmlkSXRlbVdpdGhBdXRvRWxlbWVu
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlkSXRlbVdpdGhBdXRvRWxlbWVudCIpOwog
ICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aEF1dG9FbGVtZW50LCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbicpIiwgIidhdXRvJyIpOwor
ICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aEF1dG9FbGVtZW50LCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0YXJ0JykiLCAiJ2F1dG8nIik7CiAg
ICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1XaXRoQXV0b0VsZW1lbnQsICcn
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykiLCAiJ2F1dG8nIik7CisgICAg
c2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1XaXRoQXV0b0VsZW1lbnQsICcnKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykiLCAiJ2F1dG8nIik7CiAKICAg
ICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlRlc3QgdGhlIGluaXRpYWwgdmFsdWUiKTsKICAgICB2
YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7CiAgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5
bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSIs
ICInYXV0byciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJyku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0YXJ0JykiLCAiJ2F1dG8nIik7CiAgICAg
c2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZ3JpZC1yb3cnKSIsICInYXV0byciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0
ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9y
ZScpIiwgIidhdXRvJyIpOwogCiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJUZXN0IGdldHRp
bmcgYW5kIHNldHRpbmcgZ3JpZC1jb2x1bW4gYW5kIGdyaWQtcm93IHRocm91Z2ggSlMiKTsKICAg
ICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRDb2x1bW4gPSAiMTgiOwogICAgIGVsZW1lbnQuc3R5
bGUud2Via2l0R3JpZFJvdyA9ICI2NiI7CiAgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUo
ZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSIsICIn
MTgnIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcpIiwgIicxOCciKTsKICAgICBzaG91bGRC
ZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLXJvdycpIiwgIic2NiciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShl
bGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9yZScpIiwgIic2
NiciKTsKIAogICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwogICAgIGVsZW1lbnQuc3R5bGUu
d2Via2l0R3JpZENvbHVtbiA9ICItNTUiOwogICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFJv
dyA9ICItNDAiOwogICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1uJykiLCAiJy01NSciKTsKKyAgICBz
aG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1ncmlkLXN0YXJ0JykiLCAiJy01NSciKTsKICAgICBzaG91bGRCZSgiZ2V0Q29tcHV0
ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvdycp
IiwgIictNDAnIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycp
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1iZWZvcmUnKSIsICInLTQwJyIpOwogCiAg
ICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7CiAgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlk
Q29sdW1uID0gImF1dG8iOwogICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFJvdyA9ICJhdXRv
IjsKICAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbicpIiwgIidhdXRvJyIpOworICAgIHNob3VsZEJl
KCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0
LWdyaWQtc3RhcnQnKSIsICInYXV0byciKTsKICAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHls
ZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvdycpIiwgIidh
dXRvJyIpOworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykiLCAiJ2F1dG8nIik7CiAKICAgICBk
ZWJ1ZygiIik7CiAgICAgZGVidWcoIlRlc3Qgc2V0dGluZyBncmlkLWNvbHVtbiBhbmQgZ3JpZC1y
b3cgYmFjayB0byAnYXV0bycgdGhyb3VnaCBKUyIpOwogICAgIGVsZW1lbnQuc3R5bGUud2Via2l0
R3JpZENvbHVtbiA9ICIxOCI7CiAgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkUm93ID0gIjY2
IjsKICAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbicpIiwgIicxOCciKTsKKyAgICBzaG91bGRCZSgi
Z2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1n
cmlkLXN0YXJ0JykiLCAiJzE4JyIpOwogICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVs
ZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykiLCAiJzY2JyIp
OworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykiLCAiJzY2JyIpOwogICAgIGVsZW1lbnQuc3R5
bGUud2Via2l0R3JpZENvbHVtbiA9ICJhdXRvIjsKICAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdy
aWRSb3cgPSAiYXV0byI7CiAgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwg
JycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSIsICInYXV0byciKTsK
KyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLXN0YXJ0JykiLCAiJ2F1dG8nIik7CiAgICAgc2hvdWxkQmUoImdl
dENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC1yb3cnKSIsICInYXV0byciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVt
ZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9yZScpIiwgIidhdXRv
JyIpOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tc3RhcnQtYmVmb3JlLWdldC1zZXQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXN0YXJ0LWJlZm9y
ZS1nZXQtc2V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zN2FmNGFjMTY0NWM2NjM3NjdkZDJh
YjI2ZTNkYTllN2NmNmY5NDI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXN0YXJ0LWJlZm9yZS1nZXQtc2V0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDU2IEBACitUZXN0IHRoYXQgc2V0dGluZyBhbmQgZ2V0dGluZyBncmlkLXN0
YXJ0IGFuZCBncmlkLWJlZm9yZSB3b3JrcyBhcyBleHBlY3RlZAorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworVGVzdCBnZXR0aW5nIC13ZWJraXQtZ3JpZC1zdGFydCBhbmQgLXdlYmtp
dC1ncmlkLWJlZm9yZSBzZXQgdGhyb3VnaCBDU1MKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlk
RWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcpIGlzICdh
dXRvJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRFbGVtZW50LCAnJykuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbicpIGlzICdhdXRvJworUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGdyaWRFbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9y
ZScpIGlzICdhdXRvJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRFbGVtZW50LCAnJykuZ2V0
UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvdycpIGlzICdhdXRvJworUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGdyaWRJdGVtV2l0aFBvc2l0aXZlSW50ZWdlciwgJycpLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZ3JpZC1zdGFydCcpIGlzICcxMCcKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShn
cmlkSXRlbVdpdGhQb3NpdGl2ZUludGVnZXIsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0
LWdyaWQtY29sdW1uJykgaXMgJzEwJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0
aFBvc2l0aXZlSW50ZWdlciwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1iZWZv
cmUnKSBpcyAnMTUnCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1XaXRoUG9zaXRpdmVJ
bnRlZ2VyLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvdycpIGlzICcxNScK
K1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhOZWdhdGl2ZUludGVnZXIsICcnKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtc3RhcnQnKSBpcyAnLTEwJworUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aE5lZ2F0aXZlSW50ZWdlciwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSBpcyAnLTEwJworUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGdyaWRJdGVtV2l0aE5lZ2F0aXZlSW50ZWdlciwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZ3JpZC1iZWZvcmUnKSBpcyAnLTE1JworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRJ
dGVtV2l0aE5lZ2F0aXZlSW50ZWdlciwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC1yb3cnKSBpcyAnLTE1JworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aEF1dG9F
bGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0YXJ0JykgaXMgJ2F1
dG8nCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1XaXRoQXV0b0VsZW1lbnQsICcnKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1uJykgaXMgJ2F1dG8nCitQQVNTIGdl
dENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1XaXRoQXV0b0VsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykgaXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5
bGUoZ3JpZEl0ZW1XaXRoQXV0b0VsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0
LWdyaWQtcm93JykgaXMgJ2F1dG8nCisKK1Rlc3QgdGhlIGluaXRpYWwgdmFsdWUKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LXN0YXJ0JykgaXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSBpcyAnYXV0bycKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LWJlZm9yZScpIGlzICdhdXRvJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykgaXMgJ2F1dG8nCisKK1Rlc3QgZ2V0
dGluZyBhbmQgc2V0dGluZyBncmlkLXN0YXJ0IGFuZCBncmlkLWJlZm9yZSB0aHJvdWdoIEpTCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZ3JpZC1zdGFydCcpIGlzICcxOCcKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbicpIGlzICcxOCcKK1BBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1n
cmlkLWJlZm9yZScpIGlzICc2NicKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJyku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvdycpIGlzICc2NicKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0
YXJ0JykgaXMgJy01NScKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbicpIGlzICctNTUnCitQQVNTIGdldENvbXB1
dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1iZWZv
cmUnKSBpcyAnLTQwJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9w
ZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykgaXMgJy00MCcKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0YXJ0Jykg
aXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSBpcyAnYXV0bycKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9yZScp
IGlzICdhdXRvJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykgaXMgJ2F1dG8nCisKK1Rlc3Qgc2V0dGluZyBncmlk
LXN0YXJ0IGFuZCBncmlkLWJlZm9yZSBiYWNrIHRvICdhdXRvJyB0aHJvdWdoIEpTCitQQVNTIGdl
dENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC1zdGFydCcpIGlzICcxOCcKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0
UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbicpIGlzICcxOCcKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJl
Zm9yZScpIGlzICc2NicKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXJvdycpIGlzICc2NicKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0YXJ0Jykg
aXMgJ2F1dG8nCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSBpcyAnYXV0bycKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9yZScp
IGlzICdhdXRvJworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykgaXMgJ2F1dG8nCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXN0YXJ0LWJlZm9yZS1nZXQtc2V0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tc3RhcnQtYmVmb3Jl
LWdldC1zZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mM2M3ZTY4Y2ZmYWM2YWRjM2I3OTg2NDg0NzZkY2Vl
NGNjMDg2NjdiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvZ3JpZC1pdGVtLXN0YXJ0LWJlZm9yZS1nZXQtc2V0Lmh0bWwKQEAgLTAsMCArMSwxMTEg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdENT
U0dyaWRMYXlvdXRFbmFibGVkIiwgMSk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KKy5ncmlkSXRlbVdp
dGhQb3NpdGl2ZUludGVnZXIgeworICAgIC13ZWJraXQtZ3JpZC1zdGFydDogMTA7CisgICAgLXdl
YmtpdC1ncmlkLWJlZm9yZTogMTU7Cit9CisuZ3JpZEl0ZW1XaXRoTmVnYXRpdmVJbnRlZ2VyIHsK
KyAgICAtd2Via2l0LWdyaWQtc3RhcnQ6IC0xMDsKKyAgICAtd2Via2l0LWdyaWQtYmVmb3JlOiAt
MTU7Cit9CisuZ3JpZEl0ZW1XaXRoQXV0byB7CisgICAgLXdlYmtpdC1ncmlkLXN0YXJ0OiBhdXRv
OworICAgIC13ZWJraXQtZ3JpZC1iZWZvcmU6IGF1dG87Cit9Cis8L3N0eWxlPgorPHNjcmlwdCBz
cmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzwhLS0gVGhlIGZpcnN0IGhhcyBubyBwcm9wZXJ0aWVzIHNldCBvbiBpdC4gLS0+Cis8
ZGl2IGlkPSJncmlkRWxlbWVudCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkSXRlbVdpdGhQb3Np
dGl2ZUludGVnZXIiIGlkPSJncmlkSXRlbVdpdGhQb3NpdGl2ZUludGVnZXIiPjwvZGl2PgorPGRp
diBjbGFzcz0iZ3JpZEl0ZW1XaXRoTmVnYXRpdmVJbnRlZ2VyIiBpZD0iZ3JpZEl0ZW1XaXRoTmVn
YXRpdmVJbnRlZ2VyIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWRJdGVtV2l0aEF1dG8iIGlkPSJn
cmlkSXRlbVdpdGhBdXRvRWxlbWVudCI+PC9kaXY+Cis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9u
KCdUZXN0IHRoYXQgc2V0dGluZyBhbmQgZ2V0dGluZyBncmlkLXN0YXJ0IGFuZCBncmlkLWJlZm9y
ZSB3b3JrcyBhcyBleHBlY3RlZCcpOworCisgICAgZGVidWcoIlRlc3QgZ2V0dGluZyAtd2Via2l0
LWdyaWQtc3RhcnQgYW5kIC13ZWJraXQtZ3JpZC1iZWZvcmUgc2V0IHRocm91Z2ggQ1NTIik7Cisg
ICAgdmFyIGdyaWRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRFbGVtZW50
Iik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEVsZW1lbnQsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtc3RhcnQnKSIsICInYXV0byciKTsKKyAgICBzaG91
bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZ3JpZC1jb2x1bW4nKSIsICInYXV0byciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29t
cHV0ZWRTdHlsZShncmlkRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC1iZWZvcmUnKSIsICInYXV0byciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShn
cmlkRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3cnKSIsICIn
YXV0byciKTsKKworICAgIHZhciBncmlkSXRlbVdpdGhQb3NpdGl2ZUludGVnZXIgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZ3JpZEl0ZW1XaXRoUG9zaXRpdmVJbnRlZ2VyIik7CisgICAgc2hv
dWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1XaXRoUG9zaXRpdmVJbnRlZ2VyLCAnJyku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXN0YXJ0JykiLCAiJzEwJyIpOworICAgIHNo
b3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aFBvc2l0aXZlSW50ZWdlciwgJycp
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSIsICInMTAnIik7CisgICAg
c2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEl0ZW1XaXRoUG9zaXRpdmVJbnRlZ2VyLCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9yZScpIiwgIicxNSciKTsKKyAg
ICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRlbVdpdGhQb3NpdGl2ZUludGVnZXIs
ICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtcm93JykiLCAiJzE1JyIpOworCisg
ICAgdmFyIGdyaWRJdGVtV2l0aE5lZ2F0aXZlSW50ZWdlciA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJncmlkSXRlbVdpdGhOZWdhdGl2ZUludGVnZXIiKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29t
cHV0ZWRTdHlsZShncmlkSXRlbVdpdGhOZWdhdGl2ZUludGVnZXIsICcnKS5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWdyaWQtc3RhcnQnKSIsICInLTEwJyIpOworICAgIHNob3VsZEJlKCJnZXRD
b21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aE5lZ2F0aXZlSW50ZWdlciwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSIsICInLTEwJyIpOworICAgIHNob3VsZEJlKCJn
ZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aE5lZ2F0aXZlSW50ZWdlciwgJycpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1iZWZvcmUnKSIsICInLTE1JyIpOworICAgIHNob3VsZEJl
KCJnZXRDb21wdXRlZFN0eWxlKGdyaWRJdGVtV2l0aE5lZ2F0aXZlSW50ZWdlciwgJycpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3cnKSIsICInLTE1JyIpOworCisgICAgdmFyIGdy
aWRJdGVtV2l0aEF1dG9FbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRJdGVt
V2l0aEF1dG9FbGVtZW50Iik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZ3JpZEl0
ZW1XaXRoQXV0b0VsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtc3Rh
cnQnKSIsICInYXV0byciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRl
bVdpdGhBdXRvRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1
bW4nKSIsICInYXV0byciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRl
bVdpdGhBdXRvRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1iZWZv
cmUnKSIsICInYXV0byciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShncmlkSXRl
bVdpdGhBdXRvRWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3cn
KSIsICInYXV0byciKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiVGVzdCB0aGUgaW5p
dGlhbCB2YWx1ZSIpOworICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKKyAgICBzaG91
bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdl
YmtpdC1ncmlkLXN0YXJ0JykiLCAiJ2F1dG8nIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVk
U3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4n
KSIsICInYXV0byciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9yZScpIiwgIidhdXRvJyIpOwor
ICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWdyaWQtcm93JykiLCAiJ2F1dG8nIik7CisKKyAgICBkZWJ1ZygiIik7Cisg
ICAgZGVidWcoIlRlc3QgZ2V0dGluZyBhbmQgc2V0dGluZyBncmlkLXN0YXJ0IGFuZCBncmlkLWJl
Zm9yZSB0aHJvdWdoIEpTIik7CisgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkU3RhcnQgPSAi
MTgiOworICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZEJlZm9yZSA9ICI2NiI7CisgICAgc2hv
dWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZ3JpZC1zdGFydCcpIiwgIicxOCciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRT
dHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVtbicp
IiwgIicxOCciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJyku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWJlZm9yZScpIiwgIic2NiciKTsKKyAgICBz
aG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1ncmlkLXJvdycpIiwgIic2NiciKTsKKworICAgIGVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1l
bnQpOworICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFN0YXJ0ID0gIi01NSI7CisgICAgZWxl
bWVudC5zdHlsZS53ZWJraXRHcmlkQmVmb3JlID0gIi00MCI7CisgICAgc2hvdWxkQmUoImdldENv
bXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1z
dGFydCcpIiwgIictNTUnIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVu
dCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSIsICInLTU1JyIp
OworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykiLCAiJy00MCciKTsKKyAgICBzaG91bGRCZSgi
Z2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1n
cmlkLXJvdycpIiwgIictNDAnIik7CisKKyAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKKyAg
ICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRTdGFydCA9ICJhdXRvIjsKKyAgICBlbGVtZW50LnN0
eWxlLndlYmtpdEdyaWRCZWZvcmUgPSAiYXV0byI7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVk
U3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1zdGFydCcp
IiwgIidhdXRvJyIpOworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcn
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtY29sdW1uJykiLCAiJ2F1dG8nIik7Cisg
ICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZ3JpZC1iZWZvcmUnKSIsICInYXV0byciKTsKKyAgICBzaG91bGRCZSgiZ2V0
Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LXJvdycpIiwgIidhdXRvJyIpOworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJUZXN0IHNl
dHRpbmcgZ3JpZC1zdGFydCBhbmQgZ3JpZC1iZWZvcmUgYmFjayB0byAnYXV0bycgdGhyb3VnaCBK
UyIpOworICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFN0YXJ0ID0gIjE4IjsKKyAgICBlbGVt
ZW50LnN0eWxlLndlYmtpdEdyaWRCZWZvcmUgPSAiNjYiOworICAgIHNob3VsZEJlKCJnZXRDb21w
dXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtc3Rh
cnQnKSIsICInMTgnIik7CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwg
JycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1jb2x1bW4nKSIsICInMTgnIik7Cisg
ICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZ3JpZC1iZWZvcmUnKSIsICInNjYnIik7CisgICAgc2hvdWxkQmUoImdldENv
bXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC1y
b3cnKSIsICInNjYnIik7CisgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkU3RhcnQgPSAiYXV0
byI7CisgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkQmVmb3JlID0gImF1dG8iOworICAgIHNo
b3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCct
d2Via2l0LWdyaWQtc3RhcnQnKSIsICInYXV0byciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0
ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLWNvbHVt
bicpIiwgIidhdXRvJyIpOworICAgIHNob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQs
ICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtYmVmb3JlJykiLCAiJ2F1dG8nIik7
CisgICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC1yb3cnKSIsICInYXV0byciKTsKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>