<?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>203310</bug_id>
          
          <creation_ts>2019-10-23 13:10:06 -0700</creation_ts>
          <short_desc>Implement the CSS clamp() function</short_desc>
          <delta_ts>2020-05-28 12:28:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>203342</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1582974</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-10-23 13:10:06 -0700</bug_when>
    <thetext>https://drafts.csswg.org/css-values-4/#calc-notation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582975</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-23 13:10:35 -0700</bug_when>
    <thetext>&lt;rdar://problem/56551088&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583239</commentid>
    <comment_count>2</comment_count>
      <attachid>381776</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-10-23 22:56:09 -0700</bug_when>
    <thetext>Created attachment 381776
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583242</commentid>
    <comment_count>3</comment_count>
      <attachid>381777</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-10-23 23:20:02 -0700</bug_when>
    <thetext>Created attachment 381777
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595364</commentid>
    <comment_count>4</comment_count>
      <attachid>384786</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-12-03 21:11:35 -0800</bug_when>
    <thetext>Created attachment 384786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595456</commentid>
    <comment_count>5</comment_count>
      <attachid>384786</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-12-04 05:46:40 -0800</bug_when>
    <thetext>Comment on attachment 384786
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=384786&amp;action=review

&gt; Source/WebCore/css/CSSCalculationValue.cpp:761
&gt; +    bool isClampNode() const { return m_operator == CalcOperator::Clamp; }

Is this used?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595499</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-12-04 09:28:20 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/253105/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381776</attachid>
            <date>2019-10-23 22:56:09 -0700</date>
            <delta_ts>2019-10-23 23:20:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203310-20191023225608.patch</filename>
            <type>text/plain</type>
            <size>13856</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg0YTk0ODM5YmIzYWM4
NGUxZDMyMWY5MDQ5MDU0YzY3ZWU2MzVlNC4uNmEwZDExMjkwOTY0OTk2NmUwMzQyNjJiMTQ2Y2Y4
YzlhNWM4NWQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE5LTEwLTIzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCB0
aGUgQ1NTIGNsYW1wKCkgZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMzMxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEltcGxlbWVudCBjbGFtcCgpLCB3aGljaCBpcyBiYXNpY2FsbHkgbGlr
ZSBtaW4oKSBhbmQgbWF4KCkgd2l0aCB0aHJlZSBhcmd1bWVudHMuCisKKyAgICAgICAgKiBjc3Mv
Q1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpkZXRlcm1pbmVDYXRl
Z29yeSk6CisgICAgICAgIChXZWJDb3JlOjpyZXNvbHZlZFR5cGVGb3JNaW5Pck1heE9yQ2xhbXAp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJzZUNh
bGMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJz
ZVZhbHVlVGVybSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJz
ZXI6OnBhcnNlQ2xhbXBFeHByZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNTUyk6
CisgICAgICAgIChXZWJDb3JlOjpyZXNvbHZlZFR5cGVGb3JNaW5Pck1heCk6IERlbGV0ZWQuCisg
ICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46CisgICAgICAgICogY3NzL3BhcnNlci9D
U1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVy
dHlQYXJzZXJIZWxwZXJzOjpDYWxjUGFyc2VyOjpDYWxjUGFyc2VyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbGNFeHByZXNz
aW9uT3BlcmF0aW9uOjpldmFsdWF0ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRv
cjw8KToKKyAgICAgICAgKiBwbGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmg6CisKIDIwMTktMTAt
MjMgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBS
ZW1vdmUgd2FzbUF3YXJlTGV4aWNhbEdsb2JhbE9iamVjdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NhbGN1bGF0aW9uVmFsdWUuY3BwCmluZGV4IDliZTc1MWRlZmRlNzA5MDMwYWYyODE1ZjE4YTg5
NThjZGZhYjU2MzguLjY0NTBlODBhMzZhYTdjYzc2NzRhOTc0MTA3ZDYwYmQ3NjM5ZGFjN2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIsIDIwMTkgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0zMjQsNiArMzI0LDcg
QEAgc3RhdGljIENhbGN1bGF0aW9uQ2F0ZWdvcnkgZGV0ZXJtaW5lQ2F0ZWdvcnkoY29uc3QgQ1NT
Q2FsY0V4cHJlc3Npb25Ob2RlJiBsZWZ0U2kKICAgICAgICAgcmV0dXJuIGxlZnRDYXRlZ29yeTsK
ICAgICBjYXNlIENhbGNPcGVyYXRvcjo6TWluOgogICAgIGNhc2UgQ2FsY09wZXJhdG9yOjpNYXg6
CisgICAgY2FzZSBDYWxjT3BlcmF0b3I6OkNsYW1wOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICAgICAgcmV0dXJuIENhbGN1bGF0aW9uQ2F0ZWdvcnk6Ok90aGVyOwogICAgIH0K
QEAgLTMzMiw3ICszMzMsNyBAQCBzdGF0aWMgQ2FsY3VsYXRpb25DYXRlZ29yeSBkZXRlcm1pbmVD
YXRlZ29yeShjb25zdCBDU1NDYWxjRXhwcmVzc2lvbk5vZGUmIGxlZnRTaQogICAgIHJldHVybiBD
YWxjdWxhdGlvbkNhdGVnb3J5OjpPdGhlcjsKIH0KIAotc3RhdGljIENhbGN1bGF0aW9uQ2F0ZWdv
cnkgcmVzb2x2ZWRUeXBlRm9yTWluT3JNYXgoQ2FsY3VsYXRpb25DYXRlZ29yeSBjYXRlZ29yeSwg
Q2FsY3VsYXRpb25DYXRlZ29yeSBkZXN0aW5hdGlvbkNhdGVnb3J5KQorc3RhdGljIENhbGN1bGF0
aW9uQ2F0ZWdvcnkgcmVzb2x2ZWRUeXBlRm9yTWluT3JNYXhPckNsYW1wKENhbGN1bGF0aW9uQ2F0
ZWdvcnkgY2F0ZWdvcnksIENhbGN1bGF0aW9uQ2F0ZWdvcnkgZGVzdGluYXRpb25DYXRlZ29yeSkK
IHsKICAgICBzd2l0Y2ggKGNhdGVnb3J5KSB7CiAgICAgY2FzZSBDYWxjdWxhdGlvbkNhdGVnb3J5
OjpOdW1iZXI6CkBAIC00MDcsNyArNDA4LDM5IEBAIHB1YmxpYzoKIAogICAgICAgICBPcHRpb25h
bDxDYWxjdWxhdGlvbkNhdGVnb3J5PiBjYXRlZ29yeSA9IFdURjo6bnVsbG9wdDsKICAgICAgICAg
Zm9yIChhdXRvJiB2YWx1ZSA6IHZhbHVlcykgewotICAgICAgICAgICAgYXV0byB2YWx1ZUNhdGVn
b3J5ID0gcmVzb2x2ZWRUeXBlRm9yTWluT3JNYXgodmFsdWUtPmNhdGVnb3J5KCksIGRlc3RpbmF0
aW9uQ2F0ZWdvcnkpOworICAgICAgICAgICAgYXV0byB2YWx1ZUNhdGVnb3J5ID0gcmVzb2x2ZWRU
eXBlRm9yTWluT3JNYXhPckNsYW1wKHZhbHVlLT5jYXRlZ29yeSgpLCBkZXN0aW5hdGlvbkNhdGVn
b3J5KTsKKworICAgICAgICAgICAgQVNTRVJUKHZhbHVlQ2F0ZWdvcnkgPCBDYWxjdWxhdGlvbkNh
dGVnb3J5OjpPdGhlcik7CisgICAgICAgICAgICBpZiAoIWNhdGVnb3J5KSB7CisgICAgICAgICAg
ICAgICAgaWYgKHZhbHVlQ2F0ZWdvcnkgPT0gQ2FsY3VsYXRpb25DYXRlZ29yeTo6T3RoZXIpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgICAgIGNhdGVn
b3J5ID0gdmFsdWVDYXRlZ29yeTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKGNh
dGVnb3J5ICE9IHZhbHVlQ2F0ZWdvcnkpIHsKKyAgICAgICAgICAgICAgICBpZiAoaXNTYW1lUGFp
cihjYXRlZ29yeS52YWx1ZSgpLCB2YWx1ZUNhdGVnb3J5LCBDYWxjdWxhdGlvbkNhdGVnb3J5OjpM
ZW5ndGgsIENhbGN1bGF0aW9uQ2F0ZWdvcnk6OlBlcmNlbnRMZW5ndGgpKSB7CisgICAgICAgICAg
ICAgICAgICAgIGNhdGVnb3J5ID0gQ2FsY3VsYXRpb25DYXRlZ29yeTo6UGVyY2VudExlbmd0aDsK
KyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIGlmIChpc1NhbWVQYWlyKGNhdGVnb3J5LnZhbHVlKCksIHZhbHVlQ2F0ZWdvcnks
IENhbGN1bGF0aW9uQ2F0ZWdvcnk6Ok51bWJlciwgQ2FsY3VsYXRpb25DYXRlZ29yeTo6UGVyY2Vu
dE51bWJlcikpIHsKKyAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnkgPSBDYWxjdWxhdGlvbkNh
dGVnb3J5OjpQZXJjZW50TnVtYmVyOworICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENTU0NhbGNP
cGVyYXRpb24oY2F0ZWdvcnkudmFsdWUoKSwgb3AsIFdURk1vdmUodmFsdWVzKSkpOworICAgIH0K
KworICAgIHN0YXRpYyBSZWZQdHI8Q1NTQ2FsY09wZXJhdGlvbj4gY3JlYXRlQ2xhbXAoQ2FsY09w
ZXJhdG9yIG9wLCBWZWN0b3I8UmVmPENTU0NhbGNFeHByZXNzaW9uTm9kZT4+JiYgdmFsdWVzLCBD
YWxjdWxhdGlvbkNhdGVnb3J5IGRlc3RpbmF0aW9uQ2F0ZWdvcnkpCisgICAgeworICAgICAgICBB
U1NFUlQob3AgPT0gQ2FsY09wZXJhdG9yOjpDbGFtcCk7CisKKyAgICAgICAgLy8gRklYTUUuCisg
ICAgICAgIE9wdGlvbmFsPENhbGN1bGF0aW9uQ2F0ZWdvcnk+IGNhdGVnb3J5ID0gV1RGOjpudWxs
b3B0OworICAgICAgICBmb3IgKGF1dG8mIHZhbHVlIDogdmFsdWVzKSB7CisgICAgICAgICAgICBh
dXRvIHZhbHVlQ2F0ZWdvcnkgPSByZXNvbHZlZFR5cGVGb3JNaW5Pck1heE9yQ2xhbXAodmFsdWUt
PmNhdGVnb3J5KCksIGRlc3RpbmF0aW9uQ2F0ZWdvcnkpOwogCiAgICAgICAgICAgICBBU1NFUlQo
dmFsdWVDYXRlZ29yeSA8IENhbGN1bGF0aW9uQ2F0ZWdvcnk6Ok90aGVyKTsKICAgICAgICAgICAg
IGlmICghY2F0ZWdvcnkpIHsKQEAgLTU1OCw3ICs1OTEsNyBAQCBwcml2YXRlOgogICAgICAgICAg
ICAgcmVzdWx0LmFwcGVuZChjaGlsZEV4cHJlc3Npb25zWzFdKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIENhbGNPcGVyYXRvcjo6TWluOgotICAgICAgICBjYXNlIENhbGNPcGVy
YXRvcjo6TWF4OgorICAgICAgICBjYXNlIENhbGNPcGVyYXRvcjo6TWF4OiB7CiAgICAgICAgICAg
ICBBU1NFUlQoIWNoaWxkRXhwcmVzc2lvbnMuaXNFbXB0eSgpKTsKICAgICAgICAgICAgIGNvbnN0
IGNoYXIqIGZ1bmN0aW9uTmFtZSA9IG9wID09IENhbGNPcGVyYXRvcjo6TWluID8gIm1pbigiIDog
Im1heCgiOwogICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChmdW5jdGlvbk5hbWUpOwpAQCAtNTY5
LDYgKzYwMiwxOSBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoY2hp
bGRFeHByZXNzaW9uc1tpXSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXN1bHQuYXBw
ZW5kKCcpJyk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIENh
bGNPcGVyYXRvcjo6Q2xhbXA6CisgICAgICAgICAgICBBU1NFUlQoIWNoaWxkRXhwcmVzc2lvbnMu
aXNFbXB0eSgpKTsKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoImNsYW1wKCIpOworICAgICAg
ICAgICAgcmVzdWx0LmFwcGVuZChjaGlsZEV4cHJlc3Npb25zWzBdKTsKKyAgICAgICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAxOyBpIDwgY2hpbGRFeHByZXNzaW9ucy5zaXplKCk7ICsraSkgeworICAg
ICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJywnKTsKKyAgICAgICAgICAgICAgICByZXN1bHQu
YXBwZW5kKCcgJyk7CisgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChjaGlsZEV4cHJlc3Np
b25zW2ldKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyknKTsK
KyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIHJlc3VsdC5hcHBlbmQoJykn
KTsKIApAQCAtNzA2LDYgKzc1MiwxNCBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIG1heGlt
dW0gPSBzdGQ6Om1heChtYXhpbXVtLCBjaGlsZCk7CiAgICAgICAgICAgICByZXR1cm4gbWF4aW11
bTsKICAgICAgICAgfQorICAgICAgICBjYXNlIENhbGNPcGVyYXRvcjo6Q2xhbXA6IHsKKyAgICAg
ICAgICAgIGlmIChjaGlsZHJlbi5zaXplKCkgIT0gMykKKyAgICAgICAgICAgICAgICByZXR1cm4g
c3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKKyAgICAgICAgICAgIGRv
dWJsZSBtaW4gPSBjaGlsZHJlblswXTsKKyAgICAgICAgICAgIGRvdWJsZSB2YWx1ZSA9IGNoaWxk
cmVuWzFdOworICAgICAgICAgICAgZG91YmxlIG1heCA9IGNoaWxkcmVuWzJdOworICAgICAgICAg
ICAgcmV0dXJuIHN0ZDo6bWF4KG1pbiwgc3RkOjptaW4odmFsdWUsIG1heCkpOworICAgICAgICB9
CiAgICAgICAgIH0KICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVy
biAwOwpAQCAtNzQwLDYgKzc5NCw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIG9rID0gcGFyc2VW
YWx1ZUV4cHJlc3Npb24odG9rZW5zLCAwLCAmcmVzdWx0KTsKICAgICAgICAgZWxzZSBpZiAoZnVu
Y3Rpb24gPT0gQ1NTVmFsdWVNaW4gfHwgZnVuY3Rpb24gPT0gQ1NTVmFsdWVNYXgpCiAgICAgICAg
ICAgICBvayA9IHBhcnNlTWluTWF4RXhwcmVzc2lvbih0b2tlbnMsIGZ1bmN0aW9uLCAwLCAmcmVz
dWx0KTsKKyAgICAgICAgZWxzZSBpZiAoZnVuY3Rpb24gPT0gQ1NTVmFsdWVDbGFtcCkKKyAgICAg
ICAgICAgIG9rID0gcGFyc2VDbGFtcEV4cHJlc3Npb24odG9rZW5zLCBmdW5jdGlvbiwgMCwgJnJl
c3VsdCk7CiAgICAgICAgIGlmICghb2sgfHwgIXRva2Vucy5hdEVuZCgpKQogICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgICAgIHJldHVybiByZXN1bHQudmFsdWU7CkBAIC03OTMsNyAr
ODQ5LDE0IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBpbm5lclJhbmdlLmNvbnN1bWVXaGl0ZXNw
YWNlKCk7CiAgICAgICAgICAgICByZXR1cm4gcGFyc2VNaW5NYXhFeHByZXNzaW9uKGlubmVyUmFu
Z2UsIGZ1bmN0aW9uSWQsIGRlcHRoLCByZXN1bHQpOwogICAgICAgICB9Ci0gICAgICAgIAorCisg
ICAgICAgIGlmIChmdW5jdGlvbklkID09IENTU1ZhbHVlQ2xhbXApIHsKKyAgICAgICAgICAgIENT
U1BhcnNlclRva2VuUmFuZ2UgaW5uZXJSYW5nZSA9IHRva2Vucy5jb25zdW1lQmxvY2soKTsKKyAg
ICAgICAgICAgIHRva2Vucy5jb25zdW1lV2hpdGVzcGFjZSgpOworICAgICAgICAgICAgaW5uZXJS
YW5nZS5jb25zdW1lV2hpdGVzcGFjZSgpOworICAgICAgICAgICAgcmV0dXJuIHBhcnNlQ2xhbXBF
eHByZXNzaW9uKGlubmVyUmFuZ2UsIGZ1bmN0aW9uSWQsIGRlcHRoLCByZXN1bHQpOworICAgICAg
ICB9CisKICAgICAgICAgcmV0dXJuIHBhcnNlVmFsdWUodG9rZW5zLCByZXN1bHQpOwogICAgIH0K
ICAgICAKQEAgLTg4NSw2ICs5NDgsNDMgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIHJlc3Vs
dC0+dmFsdWU7CiAgICAgfQogCisgICAgYm9vbCBwYXJzZUNsYW1wRXhwcmVzc2lvbihDU1NQYXJz
ZXJUb2tlblJhbmdlJiB0b2tlbnMsIENTU1ZhbHVlSUQgY2xhbXBGdW5jdGlvbiwgaW50IGRlcHRo
LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgaWYgKGNoZWNrRGVwdGhBbmRJbmRleCgm
ZGVwdGgsIHRva2VucykgIT0gT0spCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAg
ICAgQVNTRVJUKGNsYW1wRnVuY3Rpb24gPT0gQ1NTVmFsdWVDbGFtcCk7CisgICAgICAgIENhbGNP
cGVyYXRvciBvcCA9IENhbGNPcGVyYXRvcjo6Q2xhbXA7CisKKyAgICAgICAgVmFsdWUgdmFsdWU7
CisgICAgICAgIGlmICghcGFyc2VWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgJnZhbHVl
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBWZWN0b3I8UmVmPENTU0Nh
bGNFeHByZXNzaW9uTm9kZT4+IG5vZGVzOworICAgICAgICBub2Rlcy5hcHBlbmQodmFsdWUudmFs
dWUucmVsZWFzZU5vbk51bGwoKSk7CisKKyAgICAgICAgd2hpbGUgKCF0b2tlbnMuYXRFbmQoKSkg
eworICAgICAgICAgICAgdG9rZW5zLmNvbnN1bWVXaGl0ZXNwYWNlKCk7CisgICAgICAgICAgICBp
ZiAobm9kZXMuc2l6ZSgpID09IDMpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgICAgICAgICBpZiAodG9rZW5zLmNvbnN1bWUoKS50eXBlKCkgIT0gQ29tbWFUb2tlbikKKyAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB0b2tlbnMuY29uc3VtZVdo
aXRlc3BhY2UoKTsKKworICAgICAgICAgICAgaWYgKCFwYXJzZVZhbHVlRXhwcmVzc2lvbih0b2tl
bnMsIGRlcHRoLCAmdmFsdWUpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
ICAgICAgICAgbm9kZXMuYXBwZW5kKHZhbHVlLnZhbHVlLnJlbGVhc2VOb25OdWxsKCkpOworICAg
ICAgICB9CisKKyAgICAgICAgaWYgKG5vZGVzLnNpemUoKSAhPSAzKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgICAgIHJlc3VsdC0+dmFsdWUgPSBDU1NDYWxjT3BlcmF0aW9uOjpj
cmVhdGVDbGFtcChvcCwgV1RGTW92ZShub2RlcyksIG1fZGVzdGluYXRpb25DYXRlZ29yeSk7Cisg
ICAgICAgIHJldHVybiByZXN1bHQtPnZhbHVlOworICAgIH0KKwogICAgIGJvb2wgcGFyc2VWYWx1
ZUV4cHJlc3Npb24oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgdG9rZW5zLCBpbnQgZGVwdGgsIFZhbHVl
KiByZXN1bHQpCiAgICAgewogICAgICAgICByZXR1cm4gcGFyc2VBZGRpdGl2ZVZhbHVlRXhwcmVz
c2lvbih0b2tlbnMsIGRlcHRoLCByZXN1bHQpOwpAQCAtOTI0LDYgKzEwMjQsMTggQEAgc3RhdGlj
IFJlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IGNyZWF0ZUNTUyhjb25zdCBDYWxjRXhwcmVz
c2lvbk5vZGUmIG5vZGUsIGMKICAgICAgICAgICAgIHJldHVybiBDU1NDYWxjT3BlcmF0aW9uOjpj
cmVhdGVNaW5Pck1heChvcGVyYXRpb25Ob2RlLmdldE9wZXJhdG9yKCksIFdURk1vdmUodmFsdWVz
KSwgQ2FsY3VsYXRpb25DYXRlZ29yeTo6T3RoZXIpOwogICAgICAgICB9CiAKKyAgICAgICAgaWYg
KG9wID09IENhbGNPcGVyYXRvcjo6Q2xhbXApIHsKKyAgICAgICAgICAgIFZlY3RvcjxSZWY8Q1NT
Q2FsY0V4cHJlc3Npb25Ob2RlPj4gdmFsdWVzOworICAgICAgICAgICAgdmFsdWVzLnJlc2VydmVJ
bml0aWFsQ2FwYWNpdHkob3BlcmF0aW9uQ2hpbGRyZW4uc2l6ZSgpKTsKKyAgICAgICAgICAgIGZv
ciAoYXV0byYgY2hpbGQgOiBvcGVyYXRpb25DaGlsZHJlbikgeworICAgICAgICAgICAgICAgIGF1
dG8gY3NzTm9kZSA9IGNyZWF0ZUNTUygqY2hpbGQsIHN0eWxlKTsKKyAgICAgICAgICAgICAgICBp
ZiAoIWNzc05vZGUpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAg
ICAgICAgICAgIHZhbHVlcy51bmNoZWNrZWRBcHBlbmQoKmNzc05vZGUpOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgcmV0dXJuIENTU0NhbGNPcGVyYXRpb246OmNyZWF0ZUNsYW1wKG9wZXJh
dGlvbk5vZGUuZ2V0T3BlcmF0b3IoKSwgV1RGTW92ZSh2YWx1ZXMpLCBDYWxjdWxhdGlvbkNhdGVn
b3J5OjpPdGhlcik7CisgICAgICAgIH0KKwogICAgICAgICBpZiAob3BlcmF0aW9uQ2hpbGRyZW4u
c2l6ZSgpID09IDIpCiAgICAgICAgICAgICByZXR1cm4gQ1NTQ2FsY09wZXJhdGlvbjo6Y3JlYXRl
KG9wZXJhdGlvbk5vZGUuZ2V0T3BlcmF0b3IoKSwgY3JlYXRlQ1NTKCpvcGVyYXRpb25DaGlsZHJl
blswXSwgc3R5bGUpLCBjcmVhdGVDU1MoKm9wZXJhdGlvbkNoaWxkcmVuWzFdLCBzdHlsZSkpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDM5YTA4OWZkYjAzMzNl
NjE2OWQwMjcyNWMyMzQ3NDBkOGZlODM3ZTYuLmExNGI5NzAyODYxZDAwMDRjM2U1YmJhNjY3MGFi
ZWY3NjM5MWQxOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdv
cmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC0x
MzA5LDYgKzEzMDksNyBAQCBjYWxjCiAtd2Via2l0LWNhbGMKIG1pbgogbWF4CitjbGFtcAogCiAj
aWYgZGVmaW5lZChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICYmIEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTgogZnJvbS1pbWFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCmluZGV4IGYxNjk5ZTc5ZTFmNTFm
OGFhOTVlNjFlMTI0ODBlYjFkNDQwNGRlZDYuLjU0NWZhNTNkNDNiMjI0ZjVjMzRhNmIyNzRkZGMz
OWIwZjkwODBlODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJv
cGVydHlQYXJzZXJIZWxwZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgcHVibGljOgogICAg
IHsKICAgICAgICAgY29uc3QgQ1NTUGFyc2VyVG9rZW4mIHRva2VuID0gcmFuZ2UucGVlaygpOwog
ICAgICAgICBhdXRvIGZ1bmN0aW9uSWQgPSB0b2tlbi5mdW5jdGlvbklkKCk7Ci0gICAgICAgIGlm
IChmdW5jdGlvbklkID09IENTU1ZhbHVlQ2FsYyB8fCBmdW5jdGlvbklkID09IENTU1ZhbHVlV2Vi
a2l0Q2FsYyB8fCBmdW5jdGlvbklkID09IENTU1ZhbHVlTWluIHx8IGZ1bmN0aW9uSWQgPT0gQ1NT
VmFsdWVNYXgpCisgICAgICAgIGlmIChmdW5jdGlvbklkID09IENTU1ZhbHVlQ2FsYyB8fCBmdW5j
dGlvbklkID09IENTU1ZhbHVlV2Via2l0Q2FsYyB8fCBmdW5jdGlvbklkID09IENTU1ZhbHVlTWlu
IHx8IGZ1bmN0aW9uSWQgPT0gQ1NTVmFsdWVNYXggfHwgZnVuY3Rpb25JZCA9PSBDU1NWYWx1ZUNs
YW1wKQogICAgICAgICAgICAgbV9jYWxjVmFsdWUgPSBDU1NDYWxjVmFsdWU6OmNyZWF0ZShmdW5j
dGlvbklkLCBjb25zdW1lRnVuY3Rpb24obV9yYW5nZSksIGRlc3RpbmF0aW9uQ2F0ZWdvcnksIHZh
bHVlUmFuZ2UpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Q2FsY3VsYXRpb25WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjdWxhdGlv
blZhbHVlLmNwcAppbmRleCA2N2U5MmIwZjgwNjkzOGQ3YjM1Y2JjZGI4OGUwMTZjOTc4ZWE2NWYw
Li4wNzllZDNkODQxZmNiY2EzZjdlNTRmNzIwZGIzODU1MzM3NDIwZWY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmNwcApAQCAtMTEzLDYgKzExMywxNSBA
QCBmbG9hdCBDYWxjRXhwcmVzc2lvbk9wZXJhdGlvbjo6ZXZhbHVhdGUoZmxvYXQgbWF4VmFsdWUp
IGNvbnN0CiAgICAgICAgICAgICBtYXhpbXVtID0gc3RkOjptYXgobWF4aW11bSwgY2hpbGQtPmV2
YWx1YXRlKG1heFZhbHVlKSk7CiAgICAgICAgIHJldHVybiBtYXhpbXVtOwogICAgIH0KKyAgICBj
YXNlIENhbGNPcGVyYXRvcjo6Q2xhbXA6IHsKKyAgICAgICAgaWYgKG1fY2hpbGRyZW4uc2l6ZSgp
ICE9IDMpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OnF1
aWV0X05hTigpOworCisgICAgICAgIGZsb2F0IG1pbiA9IG1fY2hpbGRyZW5bMF0tPmV2YWx1YXRl
KG1heFZhbHVlKTsKKyAgICAgICAgZmxvYXQgdmFsdWUgPSBtX2NoaWxkcmVuWzFdLT5ldmFsdWF0
ZShtYXhWYWx1ZSk7CisgICAgICAgIGZsb2F0IG1heCA9IG1fY2hpbGRyZW5bMl0tPmV2YWx1YXRl
KG1heFZhbHVlKTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWF4KG1pbiwgc3RkOjptaW4odmFsdWUs
IG1heCkpOworICAgIH0KICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0
dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjpxdWlldF9OYU4oKTsKQEAgLTIwNSw2ICsy
MTQsNyBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBDYWxjT3BlcmF0
b3Igb3ApCiAgICAgY2FzZSBDYWxjT3BlcmF0b3I6OkRpdmlkZTogdHMgPDwgIi8iOyBicmVhazsK
ICAgICBjYXNlIENhbGNPcGVyYXRvcjo6TWluOiB0cyA8PCAibWF4IjsgYnJlYWs7CiAgICAgY2Fz
ZSBDYWxjT3BlcmF0b3I6Ok1heDogdHMgPDwgIm1pbiI7IGJyZWFrOworICAgIGNhc2UgQ2FsY09w
ZXJhdG9yOjpDbGFtcDogdHMgPDwgImNsYW1wIjsgYnJlYWs7CiAgICAgfQogICAgIHJldHVybiB0
czsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGN1bGF0aW9uVmFs
dWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGN1bGF0aW9uVmFsdWUuaAppbmRleCA2
MTZjYjEzZTAzNmRlYjk2ZThiZWY5Y2FhNzkyOWU1MDEwZGZlOWIwLi41NzMwMjIyNGQyMmUyMDA1
ZmEyNWVlMTVhMTgwMDc0NTA3MGZhZmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2Fs
Y3VsYXRpb25WYWx1ZS5oCkBAIC01MCw2ICs1MCw3IEBAIGVudW0gY2xhc3MgQ2FsY09wZXJhdG9y
IDogdWludDhfdCB7CiAgICAgRGl2aWRlID0gJy8nLAogICAgIE1pbiA9IDAsCiAgICAgTWF4ID0g
MSwKKyAgICBDbGFtcAogfTsKIAogZW51bSBjbGFzcyBDYWxjRXhwcmVzc2lvbk5vZGVUeXBlIDog
dWludDhfdCB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2NsYW1wLWxlbmd0aC1jb21wdXRlZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
dmFsdWVzL2NsYW1wLWxlbmd0aC1jb21wdXRlZC1leHBlY3RlZC50eHQKaW5kZXggYjZiZTQ0MTQx
NTdlM2FjMDdmZTUwMTM0MWE3MmQ2YTFhMjRiYjY5Zi4uYmYwODFlMGVhYmQ4OGNlNjU1NmFiNGI5
YWQ2MmQ3ZDllNjE1ZjdiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9jbGFtcC1sZW5ndGgtY29tcHV0ZWQtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy12YWx1ZXMvY2xhbXAtbGVuZ3RoLWNvbXB1dGVkLWV4cGVjdGVkLnR4dApAQCAt
MSw2ICsxLDYgQEAKIAotRkFJTCBQcm9wZXJ0eSBsZXR0ZXItc3BhY2luZyB2YWx1ZSAnY2xhbXAo
MTBweCwgMjBweCwgMzBweCknIGNvbXB1dGVzIHRvICcyMHB4JyBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiMjBweCIgYnV0IGdvdCAibm9ybWFsIgotRkFJTCBQcm9wZXJ0eSBsZXR0ZXItc3BhY2lu
ZyB2YWx1ZSAnY2xhbXAoMTBweCwgNXB4LCAzMHB4KScgY29tcHV0ZXMgdG8gJzEwcHgnIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICIxMHB4IiBidXQgZ290ICJub3JtYWwiCi1GQUlMIFByb3BlcnR5
IGxldHRlci1zcGFjaW5nIHZhbHVlICdjbGFtcCgxMHB4LCAzNXB4LCAzMHB4KScgY29tcHV0ZXMg
dG8gJzMwcHgnIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIzMHB4IiBidXQgZ290ICJub3JtYWwi
Ci1GQUlMIFByb3BlcnR5IGxldHRlci1zcGFjaW5nIHZhbHVlICdjbGFtcCgzMHB4LCAxMDBweCwg
MjBweCknIGNvbXB1dGVzIHRvICczMHB4JyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMzBweCIg
YnV0IGdvdCAibm9ybWFsIgorUEFTUyBQcm9wZXJ0eSBsZXR0ZXItc3BhY2luZyB2YWx1ZSAnY2xh
bXAoMTBweCwgMjBweCwgMzBweCknIGNvbXB1dGVzIHRvICcyMHB4JyAKK1BBU1MgUHJvcGVydHkg
bGV0dGVyLXNwYWNpbmcgdmFsdWUgJ2NsYW1wKDEwcHgsIDVweCwgMzBweCknIGNvbXB1dGVzIHRv
ICcxMHB4JyAKK1BBU1MgUHJvcGVydHkgbGV0dGVyLXNwYWNpbmcgdmFsdWUgJ2NsYW1wKDEwcHgs
IDM1cHgsIDMwcHgpJyBjb21wdXRlcyB0byAnMzBweCcgCitQQVNTIFByb3BlcnR5IGxldHRlci1z
cGFjaW5nIHZhbHVlICdjbGFtcCgzMHB4LCAxMDBweCwgMjBweCknIGNvbXB1dGVzIHRvICczMHB4
JyAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381777</attachid>
            <date>2019-10-23 23:20:02 -0700</date>
            <delta_ts>2019-12-03 21:11:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203310-20191023232001.patch</filename>
            <type>text/plain</type>
            <size>13878</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg0YTk0ODM5YmIzYWM4
NGUxZDMyMWY5MDQ5MDU0YzY3ZWU2MzVlNC4uNmEwZDExMjkwOTY0OTk2NmUwMzQyNjJiMTQ2Y2Y4
YzlhNWM4NWQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE5LTEwLTIzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCB0
aGUgQ1NTIGNsYW1wKCkgZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMzMxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEltcGxlbWVudCBjbGFtcCgpLCB3aGljaCBpcyBiYXNpY2FsbHkgbGlr
ZSBtaW4oKSBhbmQgbWF4KCkgd2l0aCB0aHJlZSBhcmd1bWVudHMuCisKKyAgICAgICAgKiBjc3Mv
Q1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpkZXRlcm1pbmVDYXRl
Z29yeSk6CisgICAgICAgIChXZWJDb3JlOjpyZXNvbHZlZFR5cGVGb3JNaW5Pck1heE9yQ2xhbXAp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJzZUNh
bGMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJz
ZVZhbHVlVGVybSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJz
ZXI6OnBhcnNlQ2xhbXBFeHByZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNTUyk6
CisgICAgICAgIChXZWJDb3JlOjpyZXNvbHZlZFR5cGVGb3JNaW5Pck1heCk6IERlbGV0ZWQuCisg
ICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46CisgICAgICAgICogY3NzL3BhcnNlci9D
U1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVy
dHlQYXJzZXJIZWxwZXJzOjpDYWxjUGFyc2VyOjpDYWxjUGFyc2VyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbGNFeHByZXNz
aW9uT3BlcmF0aW9uOjpldmFsdWF0ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRv
cjw8KToKKyAgICAgICAgKiBwbGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmg6CisKIDIwMTktMTAt
MjMgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBS
ZW1vdmUgd2FzbUF3YXJlTGV4aWNhbEdsb2JhbE9iamVjdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NhbGN1bGF0aW9uVmFsdWUuY3BwCmluZGV4IDliZTc1MWRlZmRlNzA5MDMwYWYyODE1ZjE4YTg5
NThjZGZhYjU2MzguLjhkNDUxNzQ2ZDEyNzJiNjA5YmIyYTdkNzJlY2Q2ZDIxYmU4YWZiYjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIsIDIwMTkgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0zMjQsNiArMzI0LDcg
QEAgc3RhdGljIENhbGN1bGF0aW9uQ2F0ZWdvcnkgZGV0ZXJtaW5lQ2F0ZWdvcnkoY29uc3QgQ1NT
Q2FsY0V4cHJlc3Npb25Ob2RlJiBsZWZ0U2kKICAgICAgICAgcmV0dXJuIGxlZnRDYXRlZ29yeTsK
ICAgICBjYXNlIENhbGNPcGVyYXRvcjo6TWluOgogICAgIGNhc2UgQ2FsY09wZXJhdG9yOjpNYXg6
CisgICAgY2FzZSBDYWxjT3BlcmF0b3I6OkNsYW1wOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICAgICAgcmV0dXJuIENhbGN1bGF0aW9uQ2F0ZWdvcnk6Ok90aGVyOwogICAgIH0K
QEAgLTMzMiw3ICszMzMsNyBAQCBzdGF0aWMgQ2FsY3VsYXRpb25DYXRlZ29yeSBkZXRlcm1pbmVD
YXRlZ29yeShjb25zdCBDU1NDYWxjRXhwcmVzc2lvbk5vZGUmIGxlZnRTaQogICAgIHJldHVybiBD
YWxjdWxhdGlvbkNhdGVnb3J5OjpPdGhlcjsKIH0KIAotc3RhdGljIENhbGN1bGF0aW9uQ2F0ZWdv
cnkgcmVzb2x2ZWRUeXBlRm9yTWluT3JNYXgoQ2FsY3VsYXRpb25DYXRlZ29yeSBjYXRlZ29yeSwg
Q2FsY3VsYXRpb25DYXRlZ29yeSBkZXN0aW5hdGlvbkNhdGVnb3J5KQorc3RhdGljIENhbGN1bGF0
aW9uQ2F0ZWdvcnkgcmVzb2x2ZWRUeXBlRm9yTWluT3JNYXhPckNsYW1wKENhbGN1bGF0aW9uQ2F0
ZWdvcnkgY2F0ZWdvcnksIENhbGN1bGF0aW9uQ2F0ZWdvcnkgZGVzdGluYXRpb25DYXRlZ29yeSkK
IHsKICAgICBzd2l0Y2ggKGNhdGVnb3J5KSB7CiAgICAgY2FzZSBDYWxjdWxhdGlvbkNhdGVnb3J5
OjpOdW1iZXI6CkBAIC00MDcsNyArNDA4LDM5IEBAIHB1YmxpYzoKIAogICAgICAgICBPcHRpb25h
bDxDYWxjdWxhdGlvbkNhdGVnb3J5PiBjYXRlZ29yeSA9IFdURjo6bnVsbG9wdDsKICAgICAgICAg
Zm9yIChhdXRvJiB2YWx1ZSA6IHZhbHVlcykgewotICAgICAgICAgICAgYXV0byB2YWx1ZUNhdGVn
b3J5ID0gcmVzb2x2ZWRUeXBlRm9yTWluT3JNYXgodmFsdWUtPmNhdGVnb3J5KCksIGRlc3RpbmF0
aW9uQ2F0ZWdvcnkpOworICAgICAgICAgICAgYXV0byB2YWx1ZUNhdGVnb3J5ID0gcmVzb2x2ZWRU
eXBlRm9yTWluT3JNYXhPckNsYW1wKHZhbHVlLT5jYXRlZ29yeSgpLCBkZXN0aW5hdGlvbkNhdGVn
b3J5KTsKKworICAgICAgICAgICAgQVNTRVJUKHZhbHVlQ2F0ZWdvcnkgPCBDYWxjdWxhdGlvbkNh
dGVnb3J5OjpPdGhlcik7CisgICAgICAgICAgICBpZiAoIWNhdGVnb3J5KSB7CisgICAgICAgICAg
ICAgICAgaWYgKHZhbHVlQ2F0ZWdvcnkgPT0gQ2FsY3VsYXRpb25DYXRlZ29yeTo6T3RoZXIpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgICAgIGNhdGVn
b3J5ID0gdmFsdWVDYXRlZ29yeTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKGNh
dGVnb3J5ICE9IHZhbHVlQ2F0ZWdvcnkpIHsKKyAgICAgICAgICAgICAgICBpZiAoaXNTYW1lUGFp
cihjYXRlZ29yeS52YWx1ZSgpLCB2YWx1ZUNhdGVnb3J5LCBDYWxjdWxhdGlvbkNhdGVnb3J5OjpM
ZW5ndGgsIENhbGN1bGF0aW9uQ2F0ZWdvcnk6OlBlcmNlbnRMZW5ndGgpKSB7CisgICAgICAgICAg
ICAgICAgICAgIGNhdGVnb3J5ID0gQ2FsY3VsYXRpb25DYXRlZ29yeTo6UGVyY2VudExlbmd0aDsK
KyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIGlmIChpc1NhbWVQYWlyKGNhdGVnb3J5LnZhbHVlKCksIHZhbHVlQ2F0ZWdvcnks
IENhbGN1bGF0aW9uQ2F0ZWdvcnk6Ok51bWJlciwgQ2FsY3VsYXRpb25DYXRlZ29yeTo6UGVyY2Vu
dE51bWJlcikpIHsKKyAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnkgPSBDYWxjdWxhdGlvbkNh
dGVnb3J5OjpQZXJjZW50TnVtYmVyOworICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENTU0NhbGNP
cGVyYXRpb24oY2F0ZWdvcnkudmFsdWUoKSwgb3AsIFdURk1vdmUodmFsdWVzKSkpOworICAgIH0K
KworICAgIHN0YXRpYyBSZWZQdHI8Q1NTQ2FsY09wZXJhdGlvbj4gY3JlYXRlQ2xhbXAoQ2FsY09w
ZXJhdG9yIG9wLCBWZWN0b3I8UmVmPENTU0NhbGNFeHByZXNzaW9uTm9kZT4+JiYgdmFsdWVzLCBD
YWxjdWxhdGlvbkNhdGVnb3J5IGRlc3RpbmF0aW9uQ2F0ZWdvcnkpCisgICAgeworICAgICAgICBB
U1NFUlQob3AgPT0gQ2FsY09wZXJhdG9yOjpDbGFtcCk7CisKKyAgICAgICAgLy8gRklYTUUuCisg
ICAgICAgIE9wdGlvbmFsPENhbGN1bGF0aW9uQ2F0ZWdvcnk+IGNhdGVnb3J5ID0gV1RGOjpudWxs
b3B0OworICAgICAgICBmb3IgKGF1dG8mIHZhbHVlIDogdmFsdWVzKSB7CisgICAgICAgICAgICBh
dXRvIHZhbHVlQ2F0ZWdvcnkgPSByZXNvbHZlZFR5cGVGb3JNaW5Pck1heE9yQ2xhbXAodmFsdWUt
PmNhdGVnb3J5KCksIGRlc3RpbmF0aW9uQ2F0ZWdvcnkpOwogCiAgICAgICAgICAgICBBU1NFUlQo
dmFsdWVDYXRlZ29yeSA8IENhbGN1bGF0aW9uQ2F0ZWdvcnk6Ok90aGVyKTsKICAgICAgICAgICAg
IGlmICghY2F0ZWdvcnkpIHsKQEAgLTU1OCw3ICs1OTEsNyBAQCBwcml2YXRlOgogICAgICAgICAg
ICAgcmVzdWx0LmFwcGVuZChjaGlsZEV4cHJlc3Npb25zWzFdKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIENhbGNPcGVyYXRvcjo6TWluOgotICAgICAgICBjYXNlIENhbGNPcGVy
YXRvcjo6TWF4OgorICAgICAgICBjYXNlIENhbGNPcGVyYXRvcjo6TWF4OiB7CiAgICAgICAgICAg
ICBBU1NFUlQoIWNoaWxkRXhwcmVzc2lvbnMuaXNFbXB0eSgpKTsKICAgICAgICAgICAgIGNvbnN0
IGNoYXIqIGZ1bmN0aW9uTmFtZSA9IG9wID09IENhbGNPcGVyYXRvcjo6TWluID8gIm1pbigiIDog
Im1heCgiOwogICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChmdW5jdGlvbk5hbWUpOwpAQCAtNTY5
LDYgKzYwMiwxOSBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoY2hp
bGRFeHByZXNzaW9uc1tpXSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXN1bHQuYXBw
ZW5kKCcpJyk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIENh
bGNPcGVyYXRvcjo6Q2xhbXA6CisgICAgICAgICAgICBBU1NFUlQoIWNoaWxkRXhwcmVzc2lvbnMu
aXNFbXB0eSgpKTsKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoImNsYW1wKCIpOworICAgICAg
ICAgICAgcmVzdWx0LmFwcGVuZChjaGlsZEV4cHJlc3Npb25zWzBdKTsKKyAgICAgICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAxOyBpIDwgY2hpbGRFeHByZXNzaW9ucy5zaXplKCk7ICsraSkgeworICAg
ICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJywnKTsKKyAgICAgICAgICAgICAgICByZXN1bHQu
YXBwZW5kKCcgJyk7CisgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChjaGlsZEV4cHJlc3Np
b25zW2ldKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyknKTsK
KyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIHJlc3VsdC5hcHBlbmQoJykn
KTsKIApAQCAtNzA2LDYgKzc1MiwxNCBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIG1heGlt
dW0gPSBzdGQ6Om1heChtYXhpbXVtLCBjaGlsZCk7CiAgICAgICAgICAgICByZXR1cm4gbWF4aW11
bTsKICAgICAgICAgfQorICAgICAgICBjYXNlIENhbGNPcGVyYXRvcjo6Q2xhbXA6IHsKKyAgICAg
ICAgICAgIGlmIChjaGlsZHJlbi5zaXplKCkgIT0gMykKKyAgICAgICAgICAgICAgICByZXR1cm4g
c3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKKyAgICAgICAgICAgIGRv
dWJsZSBtaW4gPSBjaGlsZHJlblswXTsKKyAgICAgICAgICAgIGRvdWJsZSB2YWx1ZSA9IGNoaWxk
cmVuWzFdOworICAgICAgICAgICAgZG91YmxlIG1heCA9IGNoaWxkcmVuWzJdOworICAgICAgICAg
ICAgcmV0dXJuIHN0ZDo6bWF4KG1pbiwgc3RkOjptaW4odmFsdWUsIG1heCkpOworICAgICAgICB9
CiAgICAgICAgIH0KICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVy
biAwOwpAQCAtNzQwLDYgKzc5NCw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIG9rID0gcGFyc2VW
YWx1ZUV4cHJlc3Npb24odG9rZW5zLCAwLCAmcmVzdWx0KTsKICAgICAgICAgZWxzZSBpZiAoZnVu
Y3Rpb24gPT0gQ1NTVmFsdWVNaW4gfHwgZnVuY3Rpb24gPT0gQ1NTVmFsdWVNYXgpCiAgICAgICAg
ICAgICBvayA9IHBhcnNlTWluTWF4RXhwcmVzc2lvbih0b2tlbnMsIGZ1bmN0aW9uLCAwLCAmcmVz
dWx0KTsKKyAgICAgICAgZWxzZSBpZiAoZnVuY3Rpb24gPT0gQ1NTVmFsdWVDbGFtcCkKKyAgICAg
ICAgICAgIG9rID0gcGFyc2VDbGFtcEV4cHJlc3Npb24odG9rZW5zLCBmdW5jdGlvbiwgMCwgJnJl
c3VsdCk7CiAgICAgICAgIGlmICghb2sgfHwgIXRva2Vucy5hdEVuZCgpKQogICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgICAgIHJldHVybiByZXN1bHQudmFsdWU7CkBAIC03OTMsNyAr
ODQ5LDE0IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBpbm5lclJhbmdlLmNvbnN1bWVXaGl0ZXNw
YWNlKCk7CiAgICAgICAgICAgICByZXR1cm4gcGFyc2VNaW5NYXhFeHByZXNzaW9uKGlubmVyUmFu
Z2UsIGZ1bmN0aW9uSWQsIGRlcHRoLCByZXN1bHQpOwogICAgICAgICB9Ci0gICAgICAgIAorCisg
ICAgICAgIGlmIChmdW5jdGlvbklkID09IENTU1ZhbHVlQ2xhbXApIHsKKyAgICAgICAgICAgIENT
U1BhcnNlclRva2VuUmFuZ2UgaW5uZXJSYW5nZSA9IHRva2Vucy5jb25zdW1lQmxvY2soKTsKKyAg
ICAgICAgICAgIHRva2Vucy5jb25zdW1lV2hpdGVzcGFjZSgpOworICAgICAgICAgICAgaW5uZXJS
YW5nZS5jb25zdW1lV2hpdGVzcGFjZSgpOworICAgICAgICAgICAgcmV0dXJuIHBhcnNlQ2xhbXBF
eHByZXNzaW9uKGlubmVyUmFuZ2UsIGZ1bmN0aW9uSWQsIGRlcHRoLCByZXN1bHQpOworICAgICAg
ICB9CisKICAgICAgICAgcmV0dXJuIHBhcnNlVmFsdWUodG9rZW5zLCByZXN1bHQpOwogICAgIH0K
ICAgICAKQEAgLTg4NSw2ICs5NDgsNDMgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIHJlc3Vs
dC0+dmFsdWU7CiAgICAgfQogCisgICAgYm9vbCBwYXJzZUNsYW1wRXhwcmVzc2lvbihDU1NQYXJz
ZXJUb2tlblJhbmdlJiB0b2tlbnMsIENTU1ZhbHVlSUQgY2xhbXBGdW5jdGlvbiwgaW50IGRlcHRo
LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgaWYgKGNoZWNrRGVwdGhBbmRJbmRleCgm
ZGVwdGgsIHRva2VucykgIT0gT0spCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAg
ICAgQVNTRVJUX1VOVVNFRChjbGFtcEZ1bmN0aW9uLCBjbGFtcEZ1bmN0aW9uID09IENTU1ZhbHVl
Q2xhbXApOworICAgICAgICBDYWxjT3BlcmF0b3Igb3AgPSBDYWxjT3BlcmF0b3I6OkNsYW1wOwor
CisgICAgICAgIFZhbHVlIHZhbHVlOworICAgICAgICBpZiAoIXBhcnNlVmFsdWVFeHByZXNzaW9u
KHRva2VucywgZGVwdGgsICZ2YWx1ZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICAgICAgVmVjdG9yPFJlZjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+PiBub2RlczsKKyAgICAgICAg
bm9kZXMuYXBwZW5kKHZhbHVlLnZhbHVlLnJlbGVhc2VOb25OdWxsKCkpOworCisgICAgICAgIHdo
aWxlICghdG9rZW5zLmF0RW5kKCkpIHsKKyAgICAgICAgICAgIHRva2Vucy5jb25zdW1lV2hpdGVz
cGFjZSgpOworICAgICAgICAgICAgaWYgKG5vZGVzLnNpemUoKSA9PSAzKQorICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgaWYgKHRva2Vucy5jb25zdW1lKCkudHlw
ZSgpICE9IENvbW1hVG9rZW4pCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICAgICAgdG9rZW5zLmNvbnN1bWVXaGl0ZXNwYWNlKCk7CisKKyAgICAgICAgICAgIGlmICghcGFy
c2VWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgJnZhbHVlKSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIG5vZGVzLmFwcGVuZCh2YWx1ZS52YWx1ZS5y
ZWxlYXNlTm9uTnVsbCgpKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChub2Rlcy5zaXplKCkg
IT0gMykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICByZXN1bHQtPnZhbHVl
ID0gQ1NTQ2FsY09wZXJhdGlvbjo6Y3JlYXRlQ2xhbXAob3AsIFdURk1vdmUobm9kZXMpLCBtX2Rl
c3RpbmF0aW9uQ2F0ZWdvcnkpOworICAgICAgICByZXR1cm4gcmVzdWx0LT52YWx1ZTsKKyAgICB9
CisKICAgICBib29sIHBhcnNlVmFsdWVFeHByZXNzaW9uKENTU1BhcnNlclRva2VuUmFuZ2UmIHRv
a2VucywgaW50IGRlcHRoLCBWYWx1ZSogcmVzdWx0KQogICAgIHsKICAgICAgICAgcmV0dXJuIHBh
cnNlQWRkaXRpdmVWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgcmVzdWx0KTsKQEAgLTky
NCw2ICsxMDI0LDE4IEBAIHN0YXRpYyBSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBjcmVh
dGVDU1MoY29uc3QgQ2FsY0V4cHJlc3Npb25Ob2RlJiBub2RlLCBjCiAgICAgICAgICAgICByZXR1
cm4gQ1NTQ2FsY09wZXJhdGlvbjo6Y3JlYXRlTWluT3JNYXgob3BlcmF0aW9uTm9kZS5nZXRPcGVy
YXRvcigpLCBXVEZNb3ZlKHZhbHVlcyksIENhbGN1bGF0aW9uQ2F0ZWdvcnk6Ok90aGVyKTsKICAg
ICAgICAgfQogCisgICAgICAgIGlmIChvcCA9PSBDYWxjT3BlcmF0b3I6OkNsYW1wKSB7CisgICAg
ICAgICAgICBWZWN0b3I8UmVmPENTU0NhbGNFeHByZXNzaW9uTm9kZT4+IHZhbHVlczsKKyAgICAg
ICAgICAgIHZhbHVlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG9wZXJhdGlvbkNoaWxkcmVuLnNp
emUoKSk7CisgICAgICAgICAgICBmb3IgKGF1dG8mIGNoaWxkIDogb3BlcmF0aW9uQ2hpbGRyZW4p
IHsKKyAgICAgICAgICAgICAgICBhdXRvIGNzc05vZGUgPSBjcmVhdGVDU1MoKmNoaWxkLCBzdHls
ZSk7CisgICAgICAgICAgICAgICAgaWYgKCFjc3NOb2RlKQorICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICB2YWx1ZXMudW5jaGVja2VkQXBwZW5kKCpj
c3NOb2RlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBDU1NDYWxjT3BlcmF0
aW9uOjpjcmVhdGVDbGFtcChvcGVyYXRpb25Ob2RlLmdldE9wZXJhdG9yKCksIFdURk1vdmUodmFs
dWVzKSwgQ2FsY3VsYXRpb25DYXRlZ29yeTo6T3RoZXIpOworICAgICAgICB9CisKICAgICAgICAg
aWYgKG9wZXJhdGlvbkNoaWxkcmVuLnNpemUoKSA9PSAyKQogICAgICAgICAgICAgcmV0dXJuIENT
U0NhbGNPcGVyYXRpb246OmNyZWF0ZShvcGVyYXRpb25Ob2RlLmdldE9wZXJhdG9yKCksIGNyZWF0
ZUNTUygqb3BlcmF0aW9uQ2hpbGRyZW5bMF0sIHN0eWxlKSwgY3JlYXRlQ1NTKCpvcGVyYXRpb25D
aGlsZHJlblsxXSwgc3R5bGUpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5p
bgppbmRleCAzOWEwODlmZGIwMzMzZTYxNjlkMDI3MjVjMjM0NzQwZDhmZTgzN2U2Li5hMTRiOTcw
Mjg2MWQwMDA0YzNlNWJiYTY2NzBhYmVmNzYzOTFkMTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
VmFsdWVLZXl3b3Jkcy5pbgpAQCAtMTMwOSw2ICsxMzA5LDcgQEAgY2FsYwogLXdlYmtpdC1jYWxj
CiBtaW4KIG1heAorY2xhbXAKIAogI2lmIGRlZmluZWQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAmJiBFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04KIGZyb20taW1hZ2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNw
cAppbmRleCBmMTY5OWU3OWUxZjUxZjhhYTk1ZTYxZTEyNDgwZWIxZDQ0MDRkZWQ2Li41NDVmYTUz
ZDQzYjIyNGY1YzM0YTZiMjc0ZGRjMzliMGY5MDgwZTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCkBAIC04Niw3
ICs4Niw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIGNvbnN0IENTU1BhcnNlclRva2VuJiB0
b2tlbiA9IHJhbmdlLnBlZWsoKTsKICAgICAgICAgYXV0byBmdW5jdGlvbklkID0gdG9rZW4uZnVu
Y3Rpb25JZCgpOwotICAgICAgICBpZiAoZnVuY3Rpb25JZCA9PSBDU1NWYWx1ZUNhbGMgfHwgZnVu
Y3Rpb25JZCA9PSBDU1NWYWx1ZVdlYmtpdENhbGMgfHwgZnVuY3Rpb25JZCA9PSBDU1NWYWx1ZU1p
biB8fCBmdW5jdGlvbklkID09IENTU1ZhbHVlTWF4KQorICAgICAgICBpZiAoZnVuY3Rpb25JZCA9
PSBDU1NWYWx1ZUNhbGMgfHwgZnVuY3Rpb25JZCA9PSBDU1NWYWx1ZVdlYmtpdENhbGMgfHwgZnVu
Y3Rpb25JZCA9PSBDU1NWYWx1ZU1pbiB8fCBmdW5jdGlvbklkID09IENTU1ZhbHVlTWF4IHx8IGZ1
bmN0aW9uSWQgPT0gQ1NTVmFsdWVDbGFtcCkKICAgICAgICAgICAgIG1fY2FsY1ZhbHVlID0gQ1NT
Q2FsY1ZhbHVlOjpjcmVhdGUoZnVuY3Rpb25JZCwgY29uc3VtZUZ1bmN0aW9uKG1fcmFuZ2UpLCBk
ZXN0aW5hdGlvbkNhdGVnb3J5LCB2YWx1ZVJhbmdlKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGN1bGF0aW9uVmFsdWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vQ2FsY3VsYXRpb25WYWx1ZS5jcHAKaW5kZXggNjdlOTJiMGY4MDY5MzhkN2Iz
NWNiY2RiODhlMDE2Yzk3OGVhNjVmMC4uMDc5ZWQzZDg0MWZjYmNhM2Y3ZTU0ZjcyMGRiMzg1NTMz
NzQyMGVmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY3VsYXRpb25W
YWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY3VsYXRpb25WYWx1ZS5j
cHAKQEAgLTExMyw2ICsxMTMsMTUgQEAgZmxvYXQgQ2FsY0V4cHJlc3Npb25PcGVyYXRpb246OmV2
YWx1YXRlKGZsb2F0IG1heFZhbHVlKSBjb25zdAogICAgICAgICAgICAgbWF4aW11bSA9IHN0ZDo6
bWF4KG1heGltdW0sIGNoaWxkLT5ldmFsdWF0ZShtYXhWYWx1ZSkpOwogICAgICAgICByZXR1cm4g
bWF4aW11bTsKICAgICB9CisgICAgY2FzZSBDYWxjT3BlcmF0b3I6OkNsYW1wOiB7CisgICAgICAg
IGlmIChtX2NoaWxkcmVuLnNpemUoKSAhPSAzKQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVt
ZXJpY19saW1pdHM8ZmxvYXQ+OjpxdWlldF9OYU4oKTsKKworICAgICAgICBmbG9hdCBtaW4gPSBt
X2NoaWxkcmVuWzBdLT5ldmFsdWF0ZShtYXhWYWx1ZSk7CisgICAgICAgIGZsb2F0IHZhbHVlID0g
bV9jaGlsZHJlblsxXS0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgICAgICBmbG9hdCBtYXggPSBt
X2NoaWxkcmVuWzJdLT5ldmFsdWF0ZShtYXhWYWx1ZSk7CisgICAgICAgIHJldHVybiBzdGQ6Om1h
eChtaW4sIHN0ZDo6bWluKHZhbHVlLCBtYXgpKTsKKyAgICB9CiAgICAgfQogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6cXVp
ZXRfTmFOKCk7CkBAIC0yMDUsNiArMjE0LDcgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0
U3RyZWFtJiB0cywgQ2FsY09wZXJhdG9yIG9wKQogICAgIGNhc2UgQ2FsY09wZXJhdG9yOjpEaXZp
ZGU6IHRzIDw8ICIvIjsgYnJlYWs7CiAgICAgY2FzZSBDYWxjT3BlcmF0b3I6Ok1pbjogdHMgPDwg
Im1heCI7IGJyZWFrOwogICAgIGNhc2UgQ2FsY09wZXJhdG9yOjpNYXg6IHRzIDw8ICJtaW4iOyBi
cmVhazsKKyAgICBjYXNlIENhbGNPcGVyYXRvcjo6Q2xhbXA6IHRzIDw8ICJjbGFtcCI7IGJyZWFr
OwogICAgIH0KICAgICByZXR1cm4gdHM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxj
dWxhdGlvblZhbHVlLmgKaW5kZXggNjE2Y2IxM2UwMzZkZWI5NmU4YmVmOWNhYTc5MjllNTAxMGRm
ZTliMC4uNTczMDIyMjRkMjJlMjAwNWZhMjVlZTE1YTE4MDA3NDUwNzBmYWZkZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY3VsYXRpb25WYWx1ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGN1bGF0aW9uVmFsdWUuaApAQCAtNTAsNiArNTAsNyBAQCBl
bnVtIGNsYXNzIENhbGNPcGVyYXRvciA6IHVpbnQ4X3QgewogICAgIERpdmlkZSA9ICcvJywKICAg
ICBNaW4gPSAwLAogICAgIE1heCA9IDEsCisgICAgQ2xhbXAKIH07CiAKIGVudW0gY2xhc3MgQ2Fs
Y0V4cHJlc3Npb25Ob2RlVHlwZSA6IHVpbnQ4X3QgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9jbGFtcC1sZW5n
dGgtY29tcHV0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9jbGFtcC1sZW5ndGgtY29tcHV0ZWQtZXhwZWN0
ZWQudHh0CmluZGV4IGI2YmU0NDE0MTU3ZTNhYzA3ZmU1MDEzNDFhNzJkNmExYTI0YmI2OWYuLmJm
MDgxZTBlYWJkODhjZTY1NTZhYjRiOWFkNjJkN2Q5ZTYxNWY3YjMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvY2xh
bXAtbGVuZ3RoLWNvbXB1dGVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2NsYW1wLWxlbmd0aC1jb21w
dXRlZC1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgUHJvcGVydHkgbGV0dGVy
LXNwYWNpbmcgdmFsdWUgJ2NsYW1wKDEwcHgsIDIwcHgsIDMwcHgpJyBjb21wdXRlcyB0byAnMjBw
eCcgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjIwcHgiIGJ1dCBnb3QgIm5vcm1hbCIKLUZBSUwg
UHJvcGVydHkgbGV0dGVyLXNwYWNpbmcgdmFsdWUgJ2NsYW1wKDEwcHgsIDVweCwgMzBweCknIGNv
bXB1dGVzIHRvICcxMHB4JyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMTBweCIgYnV0IGdvdCAi
bm9ybWFsIgotRkFJTCBQcm9wZXJ0eSBsZXR0ZXItc3BhY2luZyB2YWx1ZSAnY2xhbXAoMTBweCwg
MzVweCwgMzBweCknIGNvbXB1dGVzIHRvICczMHB4JyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
MzBweCIgYnV0IGdvdCAibm9ybWFsIgotRkFJTCBQcm9wZXJ0eSBsZXR0ZXItc3BhY2luZyB2YWx1
ZSAnY2xhbXAoMzBweCwgMTAwcHgsIDIwcHgpJyBjb21wdXRlcyB0byAnMzBweCcgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgIjMwcHgiIGJ1dCBnb3QgIm5vcm1hbCIKK1BBU1MgUHJvcGVydHkgbGV0
dGVyLXNwYWNpbmcgdmFsdWUgJ2NsYW1wKDEwcHgsIDIwcHgsIDMwcHgpJyBjb21wdXRlcyB0byAn
MjBweCcgCitQQVNTIFByb3BlcnR5IGxldHRlci1zcGFjaW5nIHZhbHVlICdjbGFtcCgxMHB4LCA1
cHgsIDMwcHgpJyBjb21wdXRlcyB0byAnMTBweCcgCitQQVNTIFByb3BlcnR5IGxldHRlci1zcGFj
aW5nIHZhbHVlICdjbGFtcCgxMHB4LCAzNXB4LCAzMHB4KScgY29tcHV0ZXMgdG8gJzMwcHgnIAor
UEFTUyBQcm9wZXJ0eSBsZXR0ZXItc3BhY2luZyB2YWx1ZSAnY2xhbXAoMzBweCwgMTAwcHgsIDIw
cHgpJyBjb21wdXRlcyB0byAnMzBweCcgCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384786</attachid>
            <date>2019-12-03 21:11:35 -0800</date>
            <delta_ts>2019-12-04 08:21:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203310-20191203211135.patch</filename>
            <type>text/plain</type>
            <size>20798</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMDg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2IzOTk3MjAzMTRlZGYz
YjdjMTAzNDJiNjFlMTk0ZmQ1ZTYwMjliYS4uNjk3NzBlY2ZhMTQ0YWM1NDA5YWYxYjBlMjA4ZjE5
MjlmMGQ0MDY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTEyLTAzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCB0
aGUgQ1NTIGNsYW1wKCkgZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMzMxMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTY1NTEwODg+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAg
ICBJbXBsZW1lbnQgdGhlIENTUyBjbGFtcCgpIGZ1bmN0aW9uLCBvZiB0aGUgZm9ybSBjbGFtcCht
aW4sIHZhbHVlLCBtYXgpOgorICAgICAgICBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXZh
bHVlcy00LyNmdW5jZGVmLWNsYW1wCisKKyAgICAgICAgVGhpcyBpcyBhIG5hdHVyYWwgZXh0ZW5z
aW9uIG9mIG1pbigpIGFuZCBtYXgoKSwgdGhlIG1haW4gZGlmZmVyZW5jZSBiZWluZworICAgICAg
ICB0aGF0IGl0IHRha2VzIGV4YWN0bHkgdGhyZWUgYXJndW1lbnRzLgorCisgICAgICAgIFRlc3Rz
OiBmYXN0L2Nzcy9jYWxjLXBhcnNpbmcuaHRtbAorICAgICAgICAgICAgICAgd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2NsYW1wLWxlbmd0aC1jb21wdXRlZC1leHBlY3RlZC50eHQ6
CisgICAgICAgICAgICAgICB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvY2xhbXAt
bGVuZ3RoLXNlcmlhbGl6ZS1leHBlY3RlZC50eHQ6CisKKyAgICAgICAgKiBjc3MvQ1NTQ2FsY3Vs
YXRpb25WYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmdW5jdGlvbkZyb21PcGVyYXRvcik6
CisgICAgICAgIChXZWJDb3JlOjpkZXRlcm1pbmVDYXRlZ29yeSk6CisgICAgICAgIChXZWJDb3Jl
OjpyZXNvbHZlZFR5cGVGb3JNaW5Pck1heE9yQ2xhbXApOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
Q2FsY09wZXJhdGlvbk5vZGU6OmNyZWF0ZU1pbk9yTWF4T3JDbGFtcCk6CisgICAgICAgIChXZWJD
b3JlOjpmdW5jdGlvblByZWZpeEZvck9wZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNPcGVyYXRpb25Ob2RlOjpldmFsdWF0ZU9wZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VDYWxjRnVuY3Rpb24pOgorICAgICAgICAo
V2ViQ29yZTo6Y3JlYXRlQ1NTKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6aXND
YWxjRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6cmVzb2x2ZWRUeXBlRm9yTWluT3JNYXgp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY09wZXJhdGlvbk5vZGU6OmNyZWF0
ZU1pbk9yTWF4KTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbjoK
KyAgICAgICAgKiBwbGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNhbGNFeHByZXNzaW9uT3BlcmF0aW9uOjpldmFsdWF0ZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpvcGVyYXRvcjw8KToKKyAgICAgICAgKiBwbGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVl
Lmg6CisKIDIwMTktMTItMDMgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBwbGUuY29t
PgogCiAgICAgICAgIEZvY3VzIHRyYWNraW5nIHN1cHBvcnQgaW4gdGhlIGFjY2Vzc2liaWxpdHkg
aXNvbGF0ZWR0cmVlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0
aW9uVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3Bw
CmluZGV4IGViZWYwZTg4YWFkZWM3ZjMxYjU2YWVhMjMxNGVjM2ZiNDJmMDYyODIuLjUyM2E1ZTJh
N2YyYTNmNWI4MjE2NDA2Y2VmMjBlMGU2M2M3MWY0N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0
IChDKSAyMDExLCAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDE0LCAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTIzNCw2ICsyMzQsOCBAQCBzdGF0aWMg
Q1NTVmFsdWVJRCBmdW5jdGlvbkZyb21PcGVyYXRvcihDYWxjT3BlcmF0b3Igb3ApCiAgICAgICAg
IHJldHVybiBDU1NWYWx1ZU1pbjsKICAgICBjYXNlIENhbGNPcGVyYXRvcjo6TWF4OgogICAgICAg
ICByZXR1cm4gQ1NTVmFsdWVNYXg7CisgICAgY2FzZSBDYWxjT3BlcmF0b3I6OkNsYW1wOgorICAg
ICAgICByZXR1cm4gQ1NTVmFsdWVDbGFtcDsKICAgICB9CiAgICAgcmV0dXJuIENTU1ZhbHVlQ2Fs
YzsKIH0KQEAgLTYzMyw2ICs2MzUsNyBAQCBzdGF0aWMgQ2FsY3VsYXRpb25DYXRlZ29yeSBkZXRl
cm1pbmVDYXRlZ29yeShjb25zdCBDU1NDYWxjRXhwcmVzc2lvbk5vZGUmIGxlZnRTaQogICAgICAg
ICByZXR1cm4gbGVmdENhdGVnb3J5OwogICAgIGNhc2UgQ2FsY09wZXJhdG9yOjpNaW46CiAgICAg
Y2FzZSBDYWxjT3BlcmF0b3I6Ok1heDoKKyAgICBjYXNlIENhbGNPcGVyYXRvcjo6Q2xhbXA6CiAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gQ2FsY3VsYXRpb25D
YXRlZ29yeTo6T3RoZXI7CiAgICAgfQpAQCAtNzAxLDYgKzcwNCw3IEBAIHN0YXRpYyBDYWxjdWxh
dGlvbkNhdGVnb3J5IGRldGVybWluZUNhdGVnb3J5KGNvbnN0IFZlY3RvcjxSZWY8Q1NTQ2FsY0V4
cHJlc3Npb25OCiAKICAgICAgICAgY2FzZSBDYWxjT3BlcmF0b3I6Ok1pbjoKICAgICAgICAgY2Fz
ZSBDYWxjT3BlcmF0b3I6Ok1heDoKKyAgICAgICAgY2FzZSBDYWxjT3BlcmF0b3I6OkNsYW1wOgog
ICAgICAgICAgICAgLy8gVGhlIHR5cGUgb2YgYSBtaW4oKSwgbWF4KCksIG9yIGNsYW1wKCkgZXhw
cmVzc2lvbiBpcyB0aGUgcmVzdWx0IG9mIGFkZGluZyB0aGUgdHlwZXMgb2YgaXRzIGNvbW1hLXNl
cGFyYXRlZCBjYWxjdWxhdGlvbnMKICAgICAgICAgICAgIHJldHVybiBDYWxjdWxhdGlvbkNhdGVn
b3J5OjpPdGhlcjsKICAgICAgICAgfQpAQCAtNzA5LDcgKzcxMyw3IEBAIHN0YXRpYyBDYWxjdWxh
dGlvbkNhdGVnb3J5IGRldGVybWluZUNhdGVnb3J5KGNvbnN0IFZlY3RvcjxSZWY8Q1NTQ2FsY0V4
cHJlc3Npb25OCiAgICAgcmV0dXJuIGN1cnJlbnRDYXRlZ29yeTsKIH0KIAotc3RhdGljIENhbGN1
bGF0aW9uQ2F0ZWdvcnkgcmVzb2x2ZWRUeXBlRm9yTWluT3JNYXgoQ2FsY3VsYXRpb25DYXRlZ29y
eSBjYXRlZ29yeSwgQ2FsY3VsYXRpb25DYXRlZ29yeSBkZXN0aW5hdGlvbkNhdGVnb3J5KQorc3Rh
dGljIENhbGN1bGF0aW9uQ2F0ZWdvcnkgcmVzb2x2ZWRUeXBlRm9yTWluT3JNYXhPckNsYW1wKENh
bGN1bGF0aW9uQ2F0ZWdvcnkgY2F0ZWdvcnksIENhbGN1bGF0aW9uQ2F0ZWdvcnkgZGVzdGluYXRp
b25DYXRlZ29yeSkKIHsKICAgICBzd2l0Y2ggKGNhdGVnb3J5KSB7CiAgICAgY2FzZSBDYWxjdWxh
dGlvbkNhdGVnb3J5OjpOdW1iZXI6CkBAIC03NDQsNyArNzQ4LDcgQEAgcHVibGljOgogICAgIHN0
YXRpYyBSZWZQdHI8Q1NTQ2FsY09wZXJhdGlvbk5vZGU+IGNyZWF0ZShDYWxjT3BlcmF0b3IsIFJl
ZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+JiYgbGVmdFNpZGUsIFJlZlB0cjxDU1NDYWxjRXhw
cmVzc2lvbk5vZGU+JiYgcmlnaHRTaWRlKTsKICAgICBzdGF0aWMgUmVmUHRyPENTU0NhbGNPcGVy
YXRpb25Ob2RlPiBjcmVhdGVTdW0oVmVjdG9yPFJlZjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+PiYm
IHZhbHVlcyk7CiAgICAgc3RhdGljIFJlZlB0cjxDU1NDYWxjT3BlcmF0aW9uTm9kZT4gY3JlYXRl
UHJvZHVjdChWZWN0b3I8UmVmPENTU0NhbGNFeHByZXNzaW9uTm9kZT4+JiYgdmFsdWVzKTsKLSAg
ICBzdGF0aWMgUmVmUHRyPENTU0NhbGNPcGVyYXRpb25Ob2RlPiBjcmVhdGVNaW5Pck1heChDYWxj
T3BlcmF0b3IsIFZlY3RvcjxSZWY8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPj4mJiB2YWx1ZXMsIENh
bGN1bGF0aW9uQ2F0ZWdvcnkgZGVzdGluYXRpb25DYXRlZ29yeSk7CisgICAgc3RhdGljIFJlZlB0
cjxDU1NDYWxjT3BlcmF0aW9uTm9kZT4gY3JlYXRlTWluT3JNYXhPckNsYW1wKENhbGNPcGVyYXRv
ciwgVmVjdG9yPFJlZjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+PiYmIHZhbHVlcywgQ2FsY3VsYXRp
b25DYXRlZ29yeSBkZXN0aW5hdGlvbkNhdGVnb3J5KTsKIAogICAgIHN0YXRpYyBSZWY8Q1NTQ2Fs
Y0V4cHJlc3Npb25Ob2RlPiBzaW1wbGlmeShSZWY8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiYmKTsK
IApAQCAtNzU0LDYgKzc1OCw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzQ2FsY1N1bU5vZGUoKSBj
b25zdCB7IHJldHVybiBtX29wZXJhdG9yID09IENhbGNPcGVyYXRvcjo6QWRkOyB9CiAgICAgYm9v
bCBpc0NhbGNQcm9kdWN0Tm9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fb3BlcmF0b3IgPT0gQ2FsY09w
ZXJhdG9yOjpNdWx0aXBseTsgfQogICAgIGJvb2wgaXNNaW5Pck1heE5vZGUoKSBjb25zdCB7IHJl
dHVybiBtX29wZXJhdG9yID09IENhbGNPcGVyYXRvcjo6TWluIHx8IG1fb3BlcmF0b3IgPT0gQ2Fs
Y09wZXJhdG9yOjpNYXg7IH0KKyAgICBib29sIGlzQ2xhbXBOb2RlKCkgY29uc3QgeyByZXR1cm4g
bV9vcGVyYXRvciA9PSBDYWxjT3BlcmF0b3I6OkNsYW1wOyB9CiAgICAgYm9vbCBzaG91bGRTb3J0
Q2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBpc0NhbGNTdW1Ob2RlKCkgfHwgaXNDYWxjUHJvZHVj
dE5vZGUoKTsgfQogCiAgICAgdm9pZCBob2lzdENoaWxkcmVuV2l0aE9wZXJhdG9yKENhbGNPcGVy
YXRvcik7CkBAIC04NzcsMTMgKzg4MiwxNCBAQCBSZWZQdHI8Q1NTQ2FsY09wZXJhdGlvbk5vZGU+
IENTU0NhbGNPcGVyYXRpb25Ob2RlOjpjcmVhdGVQcm9kdWN0KFZlY3RvcjxSZWY8Q1NTQwogICAg
IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQ2FsY09wZXJhdGlvbk5vZGUobmV3Q2F0ZWdvcnksIENh
bGNPcGVyYXRvcjo6TXVsdGlwbHksIFdURk1vdmUodmFsdWVzKSkpOwogfQogCi1SZWZQdHI8Q1NT
Q2FsY09wZXJhdGlvbk5vZGU+IENTU0NhbGNPcGVyYXRpb25Ob2RlOjpjcmVhdGVNaW5Pck1heChD
YWxjT3BlcmF0b3Igb3AsIFZlY3RvcjxSZWY8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPj4mJiB2YWx1
ZXMsIENhbGN1bGF0aW9uQ2F0ZWdvcnkgZGVzdGluYXRpb25DYXRlZ29yeSkKK1JlZlB0cjxDU1ND
YWxjT3BlcmF0aW9uTm9kZT4gQ1NTQ2FsY09wZXJhdGlvbk5vZGU6OmNyZWF0ZU1pbk9yTWF4T3JD
bGFtcChDYWxjT3BlcmF0b3Igb3AsIFZlY3RvcjxSZWY8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPj4m
JiB2YWx1ZXMsIENhbGN1bGF0aW9uQ2F0ZWdvcnkgZGVzdGluYXRpb25DYXRlZ29yeSkKIHsKLSAg
ICBBU1NFUlQob3AgPT0gQ2FsY09wZXJhdG9yOjpNaW4gfHwgb3AgPT0gQ2FsY09wZXJhdG9yOjpN
YXgpOworICAgIEFTU0VSVChvcCA9PSBDYWxjT3BlcmF0b3I6Ok1pbiB8fCBvcCA9PSBDYWxjT3Bl
cmF0b3I6Ok1heCB8fCBvcCA9PSBDYWxjT3BlcmF0b3I6OkNsYW1wKTsKKyAgICBBU1NFUlRfSU1Q
TElFUyhvcCA9PSBDYWxjT3BlcmF0b3I6OkNsYW1wLCB2YWx1ZXMuc2l6ZSgpID09IDMpOwogCiAg
ICAgT3B0aW9uYWw8Q2FsY3VsYXRpb25DYXRlZ29yeT4gY2F0ZWdvcnkgPSBXVEY6Om51bGxvcHQ7
CiAgICAgZm9yIChhdXRvJiB2YWx1ZSA6IHZhbHVlcykgewotICAgICAgICBhdXRvIHZhbHVlQ2F0
ZWdvcnkgPSByZXNvbHZlZFR5cGVGb3JNaW5Pck1heCh2YWx1ZS0+Y2F0ZWdvcnkoKSwgZGVzdGlu
YXRpb25DYXRlZ29yeSk7CisgICAgICAgIGF1dG8gdmFsdWVDYXRlZ29yeSA9IHJlc29sdmVkVHlw
ZUZvck1pbk9yTWF4T3JDbGFtcCh2YWx1ZS0+Y2F0ZWdvcnkoKSwgZGVzdGluYXRpb25DYXRlZ29y
eSk7CiAKICAgICAgICAgQVNTRVJUKHZhbHVlQ2F0ZWdvcnkgPCBDYWxjdWxhdGlvbkNhdGVnb3J5
OjpPdGhlcik7CiAgICAgICAgIGlmICghY2F0ZWdvcnkpIHsKQEAgLTEzOTksNiArMTQwNSw3IEBA
IHN0YXRpYyBjb25zdCBjaGFyKiBmdW5jdGlvblByZWZpeEZvck9wZXJhdG9yKENhbGNPcGVyYXRv
ciBvcCkKICAgICAgICAgcmV0dXJuICIiOwogICAgIGNhc2UgQ2FsY09wZXJhdG9yOjpNaW46IHJl
dHVybiAibWluKCI7CiAgICAgY2FzZSBDYWxjT3BlcmF0b3I6Ok1heDogcmV0dXJuICJtYXgoIjsK
KyAgICBjYXNlIENhbGNPcGVyYXRvcjo6Q2xhbXA6IHJldHVybiAiY2xhbXAoIjsKICAgICB9CiAg
ICAgCiAgICAgcmV0dXJuICIiOwpAQCAtMTU5Miw2ICsxNTk5LDE0IEBAIGRvdWJsZSBDU1NDYWxj
T3BlcmF0aW9uTm9kZTo6ZXZhbHVhdGVPcGVyYXRvcihDYWxjT3BlcmF0b3Igb3AsIGNvbnN0IFZl
Y3Rvcjxkb3ViCiAgICAgICAgICAgICBtYXhpbXVtID0gc3RkOjptYXgobWF4aW11bSwgY2hpbGQp
OwogICAgICAgICByZXR1cm4gbWF4aW11bTsKICAgICB9CisgICAgY2FzZSBDYWxjT3BlcmF0b3I6
OkNsYW1wOiB7CisgICAgICAgIGlmIChjaGlsZHJlbi5zaXplKCkgIT0gMykKKyAgICAgICAgICAg
IHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOworICAgICAg
ICBkb3VibGUgbWluID0gY2hpbGRyZW5bMF07CisgICAgICAgIGRvdWJsZSB2YWx1ZSA9IGNoaWxk
cmVuWzFdOworICAgICAgICBkb3VibGUgbWF4ID0gY2hpbGRyZW5bMl07CisgICAgICAgIHJldHVy
biBzdGQ6Om1heChtaW4sIHN0ZDo6bWluKHZhbHVlLCBtYXgpKTsKKyAgICB9CiAgICAgfQogICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiAwOwpAQCAtMTY4Niw2ICsxNzAxLDcg
QEAgYm9vbCBDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlQ2FsY0Z1bmN0aW9uKENT
U1BhcnNlclRva2VuUmFuZ2UmIHRva2VucywKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
Ly8gImFyZ3VtZW50cyIgcmVmZXJzIHRvIHRoaW5ncyBiZXR3ZWVuIGNvbW1hcy4KKyAgICB1bnNp
Z25lZCBtaW5Bcmd1bWVudENvdW50ID0gMTsKICAgICBPcHRpb25hbDx1bnNpZ25lZD4gbWF4QXJn
dW1lbnRDb3VudDsKIAogICAgIHN3aXRjaCAoZnVuY3Rpb25JRCkgewpAQCAtMTY5Myw2ICsxNzA5
LDEwIEBAIGJvb2wgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJzZUNhbGNGdW5jdGlv
bihDU1NQYXJzZXJUb2tlblJhbmdlJiB0b2tlbnMsCiAgICAgY2FzZSBDU1NWYWx1ZU1heDoKICAg
ICAgICAgbWF4QXJndW1lbnRDb3VudCA9IFdURjo6bnVsbG9wdDsKICAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBDU1NWYWx1ZUNsYW1wOgorICAgICAgICBtaW5Bcmd1bWVudENvdW50ID0gMzsKKyAg
ICAgICAgbWF4QXJndW1lbnRDb3VudCA9IDM7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ1NT
VmFsdWVDYWxjOgogICAgICAgICBtYXhBcmd1bWVudENvdW50ID0gMTsKICAgICAgICAgYnJlYWs7
CkBAIC0xNzI0LDEzICsxNzQ0LDE5IEBAIGJvb2wgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2Vy
OjpwYXJzZUNhbGNGdW5jdGlvbihDU1NQYXJzZXJUb2tlblJhbmdlJiB0b2tlbnMsCiAgICAgICAg
IG5vZGVzLmFwcGVuZChub2RlLnJlbGVhc2VOb25OdWxsKCkpOwogICAgICAgICByZXF1aXJlQ29t
bWEgPSB0cnVlOwogICAgIH0KKyAgICAKKyAgICBpZiAoYXJndW1lbnRDb3VudCA8IG1pbkFyZ3Vt
ZW50Q291bnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHN3aXRjaCAoZnVuY3Rpb25J
RCkgewogICAgIGNhc2UgQ1NTVmFsdWVNaW46Ci0gICAgICAgIHJlc3VsdCA9IENTU0NhbGNPcGVy
YXRpb25Ob2RlOjpjcmVhdGVNaW5Pck1heChDYWxjT3BlcmF0b3I6Ok1pbiwgV1RGTW92ZShub2Rl
cyksIG1fZGVzdGluYXRpb25DYXRlZ29yeSk7CisgICAgICAgIHJlc3VsdCA9IENTU0NhbGNPcGVy
YXRpb25Ob2RlOjpjcmVhdGVNaW5Pck1heE9yQ2xhbXAoQ2FsY09wZXJhdG9yOjpNaW4sIFdURk1v
dmUobm9kZXMpLCBtX2Rlc3RpbmF0aW9uQ2F0ZWdvcnkpOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIENTU1ZhbHVlTWF4OgotICAgICAgICByZXN1bHQgPSBDU1NDYWxjT3BlcmF0aW9uTm9kZTo6
Y3JlYXRlTWluT3JNYXgoQ2FsY09wZXJhdG9yOjpNYXgsIFdURk1vdmUobm9kZXMpLCBtX2Rlc3Rp
bmF0aW9uQ2F0ZWdvcnkpOworICAgICAgICByZXN1bHQgPSBDU1NDYWxjT3BlcmF0aW9uTm9kZTo6
Y3JlYXRlTWluT3JNYXhPckNsYW1wKENhbGNPcGVyYXRvcjo6TWF4LCBXVEZNb3ZlKG5vZGVzKSwg
bV9kZXN0aW5hdGlvbkNhdGVnb3J5KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NWYWx1
ZUNsYW1wOgorICAgICAgICByZXN1bHQgPSBDU1NDYWxjT3BlcmF0aW9uTm9kZTo6Y3JlYXRlTWlu
T3JNYXhPckNsYW1wKENhbGNPcGVyYXRvcjo6Q2xhbXAsIFdURk1vdmUobm9kZXMpLCBtX2Rlc3Rp
bmF0aW9uQ2F0ZWdvcnkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1ZhbHVlV2Via2l0
Q2FsYzoKICAgICBjYXNlIENTU1ZhbHVlQ2FsYzoKQEAgLTE5NzAsMTEgKzE5OTYsMTIgQEAgc3Rh
dGljIFJlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IGNyZWF0ZUNTUyhjb25zdCBDYWxjRXhw
cmVzc2lvbk5vZGUmIG5vZGUsIGMKICAgICAgICAgICAgIHJldHVybiBDU1NDYWxjT3BlcmF0aW9u
Tm9kZTo6Y3JlYXRlUHJvZHVjdChjcmVhdGVDU1Mob3BlcmF0aW9uQ2hpbGRyZW4sIHN0eWxlKSk7
CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBDYWxjT3BlcmF0b3I6Ok1pbjoKLSAgICAgICAgY2Fz
ZSBDYWxjT3BlcmF0b3I6Ok1heDogeworICAgICAgICBjYXNlIENhbGNPcGVyYXRvcjo6TWF4Ogor
ICAgICAgICBjYXNlIENhbGNPcGVyYXRvcjo6Q2xhbXA6IHsKICAgICAgICAgICAgIGF1dG8gY2hp
bGRyZW4gPSBjcmVhdGVDU1Mob3BlcmF0aW9uQ2hpbGRyZW4sIHN0eWxlKTsKICAgICAgICAgICAg
IGlmIChjaGlsZHJlbi5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7
Ci0gICAgICAgICAgICByZXR1cm4gQ1NTQ2FsY09wZXJhdGlvbk5vZGU6OmNyZWF0ZU1pbk9yTWF4
KG9wLCBXVEZNb3ZlKGNoaWxkcmVuKSwgQ2FsY3VsYXRpb25DYXRlZ29yeTo6T3RoZXIpOworICAg
ICAgICAgICAgcmV0dXJuIENTU0NhbGNPcGVyYXRpb25Ob2RlOjpjcmVhdGVNaW5Pck1heE9yQ2xh
bXAob3AsIFdURk1vdmUoY2hpbGRyZW4pLCBDYWxjdWxhdGlvbkNhdGVnb3J5OjpPdGhlcik7CiAg
ICAgICAgIH0KICAgICAgICAgfQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTIwNDcsNiAr
MjA3NCw3IEBAIGJvb2wgQ1NTQ2FsY1ZhbHVlOjppc0NhbGNGdW5jdGlvbihDU1NWYWx1ZUlEIGZ1
bmN0aW9uSWQpCiAgICAgY2FzZSBDU1NWYWx1ZVdlYmtpdENhbGM6CiAgICAgY2FzZSBDU1NWYWx1
ZU1pbjoKICAgICBjYXNlIENTU1ZhbHVlTWF4OgorICAgIGNhc2UgQ1NTVmFsdWVDbGFtcDoKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCA1ZDdmNDA4MWEwMzM1NmFi
YzUwN2UyMDBlY2JiMGE5NGFiZDJmNzU3Li44ZGZlM2FiYjIxNGM5ZjEyOTQwMmYzYTg3ZjY4YTUx
MmFmMTM2NThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAtMTMw
OSw2ICsxMzA5LDcgQEAgY2FsYwogLXdlYmtpdC1jYWxjCiBtaW4KIG1heAorY2xhbXAKIAogI2lm
IGRlZmluZWQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAmJiBFTkFCTEVfQ1NTX0lNQUdF
X1JFU09MVVRJT04KIGZyb20taW1hZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0NhbGN1bGF0aW9uVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY3Vs
YXRpb25WYWx1ZS5jcHAKaW5kZXggYmQ3MmZmYzNmZmUzNjI4ZmNlNDMzYmUwNDM2NjRjN2ZhNGNi
MzQwNi4uM2JjYWY1MmY0YTNhM2EzNzExODcyNDg0MjVhZmFkOGI0MTE0ZTRhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY3VsYXRpb25WYWx1ZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY3VsYXRpb25WYWx1ZS5jcHAKQEAgLTE1OSw2ICsxNTks
MTUgQEAgZmxvYXQgQ2FsY0V4cHJlc3Npb25PcGVyYXRpb246OmV2YWx1YXRlKGZsb2F0IG1heFZh
bHVlKSBjb25zdAogICAgICAgICAgICAgbWF4aW11bSA9IHN0ZDo6bWF4KG1heGltdW0sIGNoaWxk
LT5ldmFsdWF0ZShtYXhWYWx1ZSkpOwogICAgICAgICByZXR1cm4gbWF4aW11bTsKICAgICB9Cisg
ICAgY2FzZSBDYWxjT3BlcmF0b3I6OkNsYW1wOiB7CisgICAgICAgIGlmIChtX2NoaWxkcmVuLnNp
emUoKSAhPSAzKQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+
OjpxdWlldF9OYU4oKTsKKworICAgICAgICBmbG9hdCBtaW4gPSBtX2NoaWxkcmVuWzBdLT5ldmFs
dWF0ZShtYXhWYWx1ZSk7CisgICAgICAgIGZsb2F0IHZhbHVlID0gbV9jaGlsZHJlblsxXS0+ZXZh
bHVhdGUobWF4VmFsdWUpOworICAgICAgICBmbG9hdCBtYXggPSBtX2NoaWxkcmVuWzJdLT5ldmFs
dWF0ZShtYXhWYWx1ZSk7CisgICAgICAgIHJldHVybiBzdGQ6Om1heChtaW4sIHN0ZDo6bWluKHZh
bHVlLCBtYXgpKTsKKyAgICB9CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
IHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6cXVpZXRfTmFOKCk7CkBAIC0yNTEs
NiArMjYwLDcgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgQ2FsY09w
ZXJhdG9yIG9wKQogICAgIGNhc2UgQ2FsY09wZXJhdG9yOjpEaXZpZGU6IHRzIDw8ICIvIjsgYnJl
YWs7CiAgICAgY2FzZSBDYWxjT3BlcmF0b3I6Ok1pbjogdHMgPDwgIm1pbiI7IGJyZWFrOwogICAg
IGNhc2UgQ2FsY09wZXJhdG9yOjpNYXg6IHRzIDw8ICJtYXgiOyBicmVhazsKKyAgICBjYXNlIENh
bGNPcGVyYXRvcjo6Q2xhbXA6IHRzIDw8ICJjbGFtcCI7IGJyZWFrOwogICAgIH0KICAgICByZXR1
cm4gdHM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjdWxhdGlv
blZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjdWxhdGlvblZhbHVlLmgKaW5k
ZXggNmYyODExODFiMGE0MGEwMWIxYTMxMzA0N2ZjYTU1OWFkNmI4NmMxYi4uY2FjM2JmOGQ2YjI2
YTkwY2QxZGU1Y2Y3N2VlNTE4MmY4NWE3NThhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ2FsY3VsYXRpb25WYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0NhbGN1bGF0aW9uVmFsdWUuaApAQCAtNDksNyArNDksOCBAQCBlbnVtIGNsYXNzIENhbGNPcGVy
YXRvciA6IHVpbnQ4X3QgewogICAgIE11bHRpcGx5ID0gJyonLAogICAgIERpdmlkZSA9ICcvJywK
ICAgICBNaW4gPSAwLAotICAgIE1heCA9IDEsCisgICAgTWF4LAorICAgIENsYW1wLAogfTsKIAog
ZW51bSBjbGFzcyBDYWxjRXhwcmVzc2lvbk5vZGVUeXBlIDogdWludDhfdCB7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjY0
Njg3OGExZjQ4MzJlOGEyMGM0YTFkMzhmYjQ1Yjg0YjU2NWMzYy4uMDgwNjI3YWJmNjVhZjUzOGU1
YzM0MjZhNTcyNTliMjE2NjQwNTQ3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTEyLTAz
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxl
bWVudCB0aGUgQ1NTIGNsYW1wKCkgZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzMxMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTY1
NTEwODg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
U29tZSBiYXNpYyBjbGFtcCgpIHBhcnNpbmcgdGVzdHMgKHZhbGlkIGFuZCBpbnZhbGlkIGlucHV0
cykuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9jYWxjLXBhcnNpbmctZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGZhc3QvY3NzL2NhbGMtcGFyc2luZy5odG1sOgorCiAyMDE5LTEyLTAzICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgdGVz
dCBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBmNGEzNmY5OGZk
MjllM2UwYjNlYmE0NDNjNGZkN2RlNzFhMTVmY2RmLi4yNjJlZjk0OThlMzRkYTFhOTczY2RhZWZk
ZWJlODc0OWVmY2I3OTAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAxOS0xMi0wMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNv
bT4KKworICAgICAgICBJbXBsZW1lbnQgdGhlIENTUyBjbGFtcCgpIGZ1bmN0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMzMTAKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzU2NTUxMDg4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2Ns
YW1wLWxlbmd0aC1jb21wdXRlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2NsYW1wLWxlbmd0aC1zZXJpYWxpemUtZXhwZWN0ZWQudHh0
OgorCiAyMDE5LTEyLTAzICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRvcHQgdGhlIG5ldyBXZWJBc3NlbWJseS5HbG9iYWwgc3lzdGVtCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jYWxjLXBhcnNpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvY2FsYy1wYXJzaW5nLWV4cGVjdGVkLnR4dAppbmRleCAwY2Y5MmJmYTAy
NDdkZDI4MzVmN2UwZWZiOTg4NzkyY2ZkM2ZkMWQ1Li5iMzRjZjY2OTNjNmYwODNiMjQ0NmE5Yzhl
N2ExMTU5YmU0M2I4MDUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jYWxjLXBh
cnNpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMtcGFyc2lu
Zy1leHBlY3RlZC50eHQKQEAgLTIwLDYgKzIwLDI2IEBAIHRlc3REaXYuc3R5bGVbIndpZHRoIl0g
PSAibWF4KDEwMHB4LDIwMHB4KSIKIFBBU1MgdGVzdERpdi5zdHlsZVsnd2lkdGgnXSBpcyAibWF4
KDIwMHB4KSIKIFBBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVy
dHlWYWx1ZSgnd2lkdGgnKSBpcyAiMjAwcHgiCiAKK3Rlc3REaXYuc3R5bGVbIndpZHRoIl0gPSAi
Y2xhbXAoMTAwcHgsMTIzcHgsMjAwcHgpIgorUEFTUyB0ZXN0RGl2LnN0eWxlWyd3aWR0aCddIGlz
ICJjbGFtcCgxMDBweCwgMTIzcHgsIDIwMHB4KSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5
bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgnd2lkdGgnKSBpcyAiMTIzcHgiCisKK3Rlc3RE
aXYuc3R5bGVbIndpZHRoIl0gPSAiY2xhbXAoMTAwcHgsMzAwcHgsMjAwcHgpIgorUEFTUyB0ZXN0
RGl2LnN0eWxlWyd3aWR0aCddIGlzICJjbGFtcCgxMDBweCwgMzAwcHgsIDIwMHB4KSIKK1BBU1Mg
d2luZG93LmdldENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgnd2lkdGgn
KSBpcyAiMjAwcHgiCisKK3Rlc3REaXYuc3R5bGVbIndpZHRoIl0gPSAiY2xhbXAoMjAwcHgsMzAw
cHgsMTAwcHgpIgorUEFTUyB0ZXN0RGl2LnN0eWxlWyd3aWR0aCddIGlzICJjbGFtcCgyMDBweCwg
MzAwcHgsIDEwMHB4KSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0
UHJvcGVydHlWYWx1ZSgnd2lkdGgnKSBpcyAiMjAwcHgiCisKK3Rlc3REaXYuc3R5bGVbIndpZHRo
Il0gPSAiY2xhbXAoKDUwcHggKyA1MHB4KSw0MHB4LDIwMHB4KSIKK1BBU1MgdGVzdERpdi5zdHls
ZVsnd2lkdGgnXSBpcyAiY2xhbXAoMTAwcHgsIDQwcHgsIDIwMHB4KSIKK1BBU1Mgd2luZG93Lmdl
dENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgnd2lkdGgnKSBpcyAiMTAw
cHgiCisKK3Rlc3REaXYuc3R5bGVbIndpZHRoIl0gPSAiY2xhbXAoNTBweCArIDUwcHgsNDBweCwy
MDBweCkiCitQQVNTIHRlc3REaXYuc3R5bGVbJ3dpZHRoJ10gaXMgImNsYW1wKDEwMHB4LCA0MHB4
LCAyMDBweCkiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRlc3REaXYpLmdldFByb3Bl
cnR5VmFsdWUoJ3dpZHRoJykgaXMgIjEwMHB4IgorCiB0ZXN0RGl2LnN0eWxlWyJ3aWR0aCJdID0g
ImNhbGMoMTAwcHgsIDIwMHB4KSIKIFBBU1MgdGVzdERpdi5zdHlsZVsnd2lkdGgnXSBpcyAiOTk5
cHgiCiBQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRlc3REaXYpLmdldFByb3BlcnR5VmFs
dWUoJ3dpZHRoJykgaXMgIjk5OXB4IgpAQCAtNTEsNiArNzEsMjYgQEAgUEFTUyB3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZSh0ZXN0RGl2KS5nZXRQcm9wZXJ0eVZhbHVlKCd3aWR0aCcpIGlzICI5OTlw
eCIKIHRlc3REaXYuc3R5bGVbIndpZHRoIl0gPSAibWF4KDEwMHB4LCAyMDBweCwpIgogUEFTUyB0
ZXN0RGl2LnN0eWxlWyd3aWR0aCddIGlzICI5OTlweCIKIFBBU1Mgd2luZG93LmdldENvbXB1dGVk
U3R5bGUodGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgnd2lkdGgnKSBpcyAiOTk5cHgiCisKK3Rl
c3REaXYuc3R5bGVbIndpZHRoIl0gPSAiY2xhbXAoMjAwcHgsMzAwcHgpIgorUEFTUyB0ZXN0RGl2
LnN0eWxlWyd3aWR0aCddIGlzICI5OTlweCIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUo
dGVzdERpdikuZ2V0UHJvcGVydHlWYWx1ZSgnd2lkdGgnKSBpcyAiOTk5cHgiCisKK3Rlc3REaXYu
c3R5bGVbIndpZHRoIl0gPSAiY2xhbXAoMjAwcHgsMzAwcHgsKSIKK1BBU1MgdGVzdERpdi5zdHls
ZVsnd2lkdGgnXSBpcyAiOTk5cHgiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRlc3RE
aXYpLmdldFByb3BlcnR5VmFsdWUoJ3dpZHRoJykgaXMgIjk5OXB4IgorCit0ZXN0RGl2LnN0eWxl
WyJ3aWR0aCJdID0gImNsYW1wKDIwMHB4LCwzMDBweCkiCitQQVNTIHRlc3REaXYuc3R5bGVbJ3dp
ZHRoJ10gaXMgIjk5OXB4IgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0RGl2KS5n
ZXRQcm9wZXJ0eVZhbHVlKCd3aWR0aCcpIGlzICI5OTlweCIKKwordGVzdERpdi5zdHlsZVsid2lk
dGgiXSA9ICJjbGFtcCgoKSwsMzAwcHgpIgorUEFTUyB0ZXN0RGl2LnN0eWxlWyd3aWR0aCddIGlz
ICI5OTlweCIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUodGVzdERpdikuZ2V0UHJvcGVy
dHlWYWx1ZSgnd2lkdGgnKSBpcyAiOTk5cHgiCisKK3Rlc3REaXYuc3R5bGVbIndpZHRoIl0gPSAi
Y2xhbXAoMXB4LDJweCwycHgsNHB4KSIKK1BBU1MgdGVzdERpdi5zdHlsZVsnd2lkdGgnXSBpcyAi
OTk5cHgiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRlc3REaXYpLmdldFByb3BlcnR5
VmFsdWUoJ3dpZHRoJykgaXMgIjk5OXB4IgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jYWxj
LXBhcnNpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMtcGFyc2luZy5odG1sCmlu
ZGV4IGI4MjEyMWZmZDUwMzdhOTcyMmI1ZjZjYzRhOGRmM2I4M2FlNTU0ZDUuLjUyYWY2MzFjZjU3
NDU1MjUxMWNhM2EyNzIyZmNkMzBlMWFiODJkYTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvY3NzL2NhbGMtcGFyc2luZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMt
cGFyc2luZy5odG1sCkBAIC0yMyw2ICsyMywxMSBAQAogICAgICAgICAgICAgdGVzdEV4cHJlc3Np
b24oJ21heCgxMDBweCArIDIwMHB4KScsICdtYXgoMzAwcHgpJywgJzMwMHB4Jyk7CiAgICAgICAg
ICAgICB0ZXN0RXhwcmVzc2lvbignbWF4KDEwMHB4ICwgMjAwcHgpJywgJ21heCgyMDBweCknLCAn
MjAwcHgnKTsKICAgICAgICAgICAgIHRlc3RFeHByZXNzaW9uKCdtYXgoMTAwcHgsMjAwcHgpJywg
J21heCgyMDBweCknLCAnMjAwcHgnKTsKKyAgICAgICAgICAgIHRlc3RFeHByZXNzaW9uKCdjbGFt
cCgxMDBweCwxMjNweCwyMDBweCknLCAnY2xhbXAoMTAwcHgsIDEyM3B4LCAyMDBweCknLCAnMTIz
cHgnKTsKKyAgICAgICAgICAgIHRlc3RFeHByZXNzaW9uKCdjbGFtcCgxMDBweCwzMDBweCwyMDBw
eCknLCAnY2xhbXAoMTAwcHgsIDMwMHB4LCAyMDBweCknLCAnMjAwcHgnKTsKKyAgICAgICAgICAg
IHRlc3RFeHByZXNzaW9uKCdjbGFtcCgyMDBweCwzMDBweCwxMDBweCknLCAnY2xhbXAoMjAwcHgs
IDMwMHB4LCAxMDBweCknLCAnMjAwcHgnKTsKKyAgICAgICAgICAgIHRlc3RFeHByZXNzaW9uKCdj
bGFtcCgoNTBweCArIDUwcHgpLDQwcHgsMjAwcHgpJywgJ2NsYW1wKDEwMHB4LCA0MHB4LCAyMDBw
eCknLCAnMTAwcHgnKTsKKyAgICAgICAgICAgIHRlc3RFeHByZXNzaW9uKCdjbGFtcCg1MHB4ICsg
NTBweCw0MHB4LDIwMHB4KScsICdjbGFtcCgxMDBweCwgNDBweCwgMjAwcHgpJywgJzEwMHB4Jyk7
CiAKICAgICAgICAgICAgIC8vIE5vbi1wYXJzaW5nIGV4cHJlc3Npb24uCiAgICAgICAgICAgICB0
ZXN0RXhwcmVzc2lvbignY2FsYygxMDBweCwgMjAwcHgpJywgJzk5OXB4JywgJzk5OXB4Jyk7CkBA
IC0zNSw2ICs0MCwxMiBAQAogICAgICAgICAgICAgdGVzdEV4cHJlc3Npb24oJ21heCgxMDBweCws
IDIwMHB4KScsICc5OTlweCcsICc5OTlweCcpOwogICAgICAgICAgICAgdGVzdEV4cHJlc3Npb24o
J21heCgxMDBweCwgLCAyMDBweCknLCAnOTk5cHgnLCAnOTk5cHgnKTsKICAgICAgICAgICAgIHRl
c3RFeHByZXNzaW9uKCdtYXgoMTAwcHgsIDIwMHB4LCknLCAnOTk5cHgnLCAnOTk5cHgnKTsKKwor
ICAgICAgICAgICAgdGVzdEV4cHJlc3Npb24oJ2NsYW1wKDIwMHB4LDMwMHB4KScsICc5OTlweCcs
ICc5OTlweCcpOworICAgICAgICAgICAgdGVzdEV4cHJlc3Npb24oJ2NsYW1wKDIwMHB4LDMwMHB4
LCknLCAnOTk5cHgnLCAnOTk5cHgnKTsKKyAgICAgICAgICAgIHRlc3RFeHByZXNzaW9uKCdjbGFt
cCgyMDBweCwsMzAwcHgpJywgJzk5OXB4JywgJzk5OXB4Jyk7CisgICAgICAgICAgICB0ZXN0RXhw
cmVzc2lvbignY2xhbXAoKCksLDMwMHB4KScsICc5OTlweCcsICc5OTlweCcpOworICAgICAgICAg
ICAgdGVzdEV4cHJlc3Npb24oJ2NsYW1wKDFweCwycHgsMnB4LDRweCknLCAnOTk5cHgnLCAnOTk5
cHgnKTsKICAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KICAgICA8L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFs
dWVzL2NsYW1wLWxlbmd0aC1jb21wdXRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2NsYW1wLWxlbmd0aC1j
b21wdXRlZC1leHBlY3RlZC50eHQKaW5kZXggZDc4MTFiNWFjY2M0MWYyN2YzZTgzODgwMzYwZDJm
ODdjMTFkZWVlZS4uYmYwODFlMGVhYmQ4OGNlNjU1NmFiNGI5YWQ2MmQ3ZDllNjE1ZjdiMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXZhbHVlcy9jbGFtcC1sZW5ndGgtY29tcHV0ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvY2xh
bXAtbGVuZ3RoLWNvbXB1dGVkLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBQ
cm9wZXJ0eSBsZXR0ZXItc3BhY2luZyB2YWx1ZSAnY2xhbXAoMTBweCwgMjBweCwgMzBweCknIGNv
bXB1dGVzIHRvICcyMHB4JyBhc3NlcnRfdHJ1ZTogJ2NsYW1wKDEwcHgsIDIwcHgsIDMwcHgpJyBp
cyBhIHN1cHBvcnRlZCB2YWx1ZSBmb3IgbGV0dGVyLXNwYWNpbmcuIGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCi1GQUlMIFByb3BlcnR5IGxldHRlci1zcGFjaW5nIHZhbHVlICdjbGFtcCgxMHB4LCA1
cHgsIDMwcHgpJyBjb21wdXRlcyB0byAnMTBweCcgYXNzZXJ0X3RydWU6ICdjbGFtcCgxMHB4LCA1
cHgsIDMwcHgpJyBpcyBhIHN1cHBvcnRlZCB2YWx1ZSBmb3IgbGV0dGVyLXNwYWNpbmcuIGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFByb3BlcnR5IGxldHRlci1zcGFjaW5nIHZhbHVlICdj
bGFtcCgxMHB4LCAzNXB4LCAzMHB4KScgY29tcHV0ZXMgdG8gJzMwcHgnIGFzc2VydF90cnVlOiAn
Y2xhbXAoMTBweCwgMzVweCwgMzBweCknIGlzIGEgc3VwcG9ydGVkIHZhbHVlIGZvciBsZXR0ZXIt
c3BhY2luZy4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgUHJvcGVydHkgbGV0dGVyLXNw
YWNpbmcgdmFsdWUgJ2NsYW1wKDMwcHgsIDEwMHB4LCAyMHB4KScgY29tcHV0ZXMgdG8gJzMwcHgn
IGFzc2VydF90cnVlOiAnY2xhbXAoMzBweCwgMTAwcHgsIDIwcHgpJyBpcyBhIHN1cHBvcnRlZCB2
YWx1ZSBmb3IgbGV0dGVyLXNwYWNpbmcuIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFBy
b3BlcnR5IGxldHRlci1zcGFjaW5nIHZhbHVlICdjbGFtcCgxMHB4LCAyMHB4LCAzMHB4KScgY29t
cHV0ZXMgdG8gJzIwcHgnIAorUEFTUyBQcm9wZXJ0eSBsZXR0ZXItc3BhY2luZyB2YWx1ZSAnY2xh
bXAoMTBweCwgNXB4LCAzMHB4KScgY29tcHV0ZXMgdG8gJzEwcHgnIAorUEFTUyBQcm9wZXJ0eSBs
ZXR0ZXItc3BhY2luZyB2YWx1ZSAnY2xhbXAoMTBweCwgMzVweCwgMzBweCknIGNvbXB1dGVzIHRv
ICczMHB4JyAKK1BBU1MgUHJvcGVydHkgbGV0dGVyLXNwYWNpbmcgdmFsdWUgJ2NsYW1wKDMwcHgs
IDEwMHB4LCAyMHB4KScgY29tcHV0ZXMgdG8gJzMwcHgnIAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2NsYW1w
LWxlbmd0aC1zZXJpYWxpemUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9jbGFtcC1sZW5ndGgtc2VyaWFsaXpl
LWV4cGVjdGVkLnR4dAppbmRleCA3NDhmMWQ2NTEyZjc3MzMyMDY5ODJkMmFlNGIzMWZhNzMxYzE1
OGM5Li4wNTc0ZTIzYTExNDMwZWM2MTZkMzBjZTBlY2M4Y2Y5NTgwNWVjNTEyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFs
dWVzL2NsYW1wLWxlbmd0aC1zZXJpYWxpemUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvY2xhbXAtbGVu
Z3RoLXNlcmlhbGl6ZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgZS5zdHls
ZVsnbGV0dGVyLXNwYWNpbmcnXSA9ICJjbGFtcCgxcHgsIDJweCwgM3B4KSIgc2hvdWxkIHNldCB0
aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X25vdF9lcXVhbHM6IHByb3BlcnR5IHNob3VsZCBiZSBz
ZXQgZ290IGRpc2FsbG93ZWQgdmFsdWUgIiIKLUZBSUwgZS5zdHlsZVsnbGV0dGVyLXNwYWNpbmcn
XSA9ICJjbGFtcCgxcHgsIDJweCwgY2xhbXAoMnB4LCAzcHgsIDRweCkpIiBzaG91bGQgc2V0IHRo
ZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfbm90X2VxdWFsczogcHJvcGVydHkgc2hvdWxkIGJlIHNl
dCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAiIgorUEFTUyBlLnN0eWxlWydsZXR0ZXItc3BhY2luZydd
ID0gImNsYW1wKDFweCwgMnB4LCAzcHgpIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSAK
K1BBU1MgZS5zdHlsZVsnbGV0dGVyLXNwYWNpbmcnXSA9ICJjbGFtcCgxcHgsIDJweCwgY2xhbXAo
MnB4LCAzcHgsIDRweCkpIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSAKIAo=
</data>
<flag name="review"
          id="400607"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>