<?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>219276</bug_id>
          
          <creation_ts>2020-11-24 09:26:12 -0800</creation_ts>
          <short_desc>[WebIDL] Remove [CustomToStringName] and Location-specific extended attributes</short_desc>
          <delta_ts>2020-12-26 12:40:54 -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>Bindings</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://github.com/web-platform-tests/wpt/pull/26765</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>077janesmith</cc>
    
    <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>joepeck</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1710008</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-11-24 09:26:12 -0800</bug_when>
    <thetext>[WebIDL] Remove [CustomToStringName] and Location-specific extended attributes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710009</commentid>
    <comment_count>1</comment_count>
      <attachid>414843</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-11-24 09:33:10 -0800</bug_when>
    <thetext>Created attachment 414843
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710096</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-11-25 19:28:37 -0800</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710433</commentid>
    <comment_count>4</comment_count>
      <attachid>414843</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-11-28 11:32:31 -0800</bug_when>
    <thetext>Comment on attachment 414843
Patch

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

Really excited to see more of these old custom extended attributes going away. Great work!

&gt; LayoutTests/imported/w3c/ChangeLog:11
&gt; +        * web-platform-tests/html/browsers/history/the-location-interface/location-define-own-property-expected.txt: Added.
&gt; +        * web-platform-tests/html/browsers/history/the-location-interface/location-define-own-property.html: Added.
&gt; +        * web-platform-tests/html/browsers/history/the-location-interface/location-prototype-define-own-property-expected.txt: Added.
&gt; +        * web-platform-tests/html/browsers/history/the-location-interface/location-prototype-define-own-property.html: Added.

Did you import these using the import-w3c-tests script?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710440</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-11-28 12:04:26 -0800</bug_when>
    <thetext>(In reply to Sam Weinig from comment #4)
&gt; Did you import these using the import-w3c-tests script?

No, those tests are authored against the patch; I was hoping to export them. Do you consider the tests too specific for WPT and would rather prefer them in fast/dom?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710471</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-11-28 22:46:08 -0800</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #5)
&gt; (In reply to Sam Weinig from comment #4)
&gt; &gt; Did you import these using the import-w3c-tests script?
&gt; 
&gt; No, those tests are authored against the patch; I was hoping to export them.
&gt; Do you consider the tests too specific for WPT and would rather prefer them
&gt; in fast/dom?

imported directory is specifically for imported tests. So, only -expect.txt files and auto-imported files exist under this directory.
Let&apos;s add them to http/wpt/ instead :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711057</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-01 09:27:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/71853543&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712189</commentid>
    <comment_count>8</comment_count>
      <attachid>415465</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-12-04 15:29:11 -0800</bug_when>
    <thetext>Created attachment 415465
Patch

Adjust __defineGetter__ tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712191</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-12-04 15:31:39 -0800</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #6)
&gt; imported directory is specifically for imported tests. So, only -expect.txt
&gt; files and auto-imported files exist under this directory.
&gt; Let&apos;s add them to http/wpt/ instead :)

I am putting them to LayoutTests/imported to leverage the WPT export process (https://trac.webkit.org/wiki/WPTExportProcess): once the patch is reviewed, I can land a WPT PR (https://github.com/web-platform-tests/wpt/pull/26765) with those tests w/o additional review on GitHub (which saves a lot of time), and only then I would land the patch itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716676</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-12-26 12:40:54 -0800</bug_when>
    <thetext>Committed r271092: &lt;https://trac.webkit.org/changeset/271092&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414843</attachid>
            <date>2020-11-24 09:33:10 -0800</date>
            <delta_ts>2020-12-04 15:29:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219276-20201124193308.patch</filename>
            <type>text/plain</type>
            <size>20939</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3MDE2NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU4IEBACisyMDIwLTExLTI0ICBBbGV4ZXkg
U2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBbV2ViSURMXSBSZW1v
dmUgW0N1c3RvbVRvU3RyaW5nTmFtZV0gYW5kIExvY2F0aW9uLXNwZWNpZmljIGV4dGVuZGVkIGF0
dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxOTI3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoaXMgcGF0Y2g6CisKKyAgICAgICAgYSkgUmVtb3ZlcyBbQ3VzdG9tVG9TdHJpbmdOYW1lXSBh
bmQgMyByZWxhdGVkIG92ZXJyaWRlcywgd2hvc2UgcHVycG9zZSB3YXMgdG8gZW5zdXJlCisgICAg
ICAgICAgIHRoYXQgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpIHJldHVybnMgIltvYmplY3Qg
T2JqZWN0XSIgZm9yIGNyb3NzLXJlYWxtIExvY2F0aW9uIC8KKyAgICAgICAgICAgV2luZG93UHJv
eHkgb2JqZWN0cywgd2hpY2ggaXMgYWxyZWFkeSBhY2NvbXBsaXNoZWQgdmlhIG93biB1bmZvcmdl
YWJsZSBAQHRvU3RyaW5nVGFnCisgICAgICAgICAgIHByb3BlcnR5IFsxXSwgbWFraW5nIHRoaXMg
Y2hhbmdlIHVub2JzZXJ2YWJsZS4KKworICAgICAgICBiKSBJbmxpbmVzIHB1dENvbW1vbigpIHRv
IGF2b2lkIHdlaXJkIHRydWUgPT4gZmFsc2UgcmV0dXJucyBhbmQgc2F2ZSBhbiBleHRyYSBpZGVu
dGlmaWVyCisgICAgICAgICAgIGNyZWF0aW9uIC8gY2hlY2sgaW4gcHV0QnlJbmRleCgpLiBUaGlz
IGlzIGFsc28gdW5vYnNlcnZhYmxlLgorCisgICAgICAgIGMpIFJlbW92ZXMgInRvU3RyaW5nIiBh
bmQgInZhbHVlT2YiIHNwZWNpYWwtY2FzaW5nIGZyb20gSlNMb2NhdGlvbjo6ZGVmaW5lT3duUHJv
cGVydHkoKSwKKyAgICAgICAgICAgd2hpY2ggZmFpbGVkIHNpbGVudGx5IGluc3RlYWQgb2YgdGhy
b3dpbmcgYSBUeXBlRXJyb3IuIFNpbmNlIHRoZXNlIGFyZSBvd24gdW5mb3JnZWFibGUKKyAgICAg
ICAgICAgcHJvcGVydGllcyBvZiBMb2NhdGlvbiBbMl0sIG9yZGluYXJ5IFtbRGVmaW5lT3duUHJv
cGVydHldXSBwcmV2ZW50cyB0aGVpciByZWRlZmluaXRpb24uCisKKyAgICAgICAgZCkgUmVtb3Zl
cyBbQ3VzdG9tRGVmaW5lT3duUHJvcGVydHlPblByb3RvdHlwZV0sIFtDdXN0b21QdXRPblByb3Rv
dHlwZV0sIGFuZCBjb3JyZXNwb25kaW5nCisgICAgICAgICAgIG92ZXJyaWRlcywgd2hvc2UgcHVy
cG9zZSB3YXMgdG8gcHJldmVudCBkZWZpbml0aW9uIG9mICJ0b1N0cmluZyIgYW5kICJ2YWx1ZU9m
IiBwcm9wZXJ0aWVzCisgICAgICAgICAgIG9uIExvY2F0aW9uLnByb3RvdHlwZS4gU2luY2UgdGhl
c2UgYXJlIG93biB1bmZvcmdlYWJsZSBwcm9wZXJ0aWVzIG9mIExvY2F0aW9uIGluc3RhbmNlcyBb
Ml0sCisgICAgICAgICAgIHRoZSBsaW1pdGF0aW9uIGRvZXNuJ3QgbWFrZSBzZW5zZS4gTG9jYXRp
b24ucHJvdG90eXBlIGlzIGFuIG9yZGluYXJ5IG9iamVjdCBwZXIgc3BlYy4KKworICAgICAgICBC
b3RoIGMpIGFuZCBkKSBhbGlnbiBXZWJLaXQgd2l0aCB0aGUgc3BlYywgQmxpbmssIGFuZCBHZWNr
by4KKworICAgICAgICBbMV06IGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L2Jyb3dzZXJzLmh0bWwjY3Jvc3NvcmlnaW5wcm9wZXJ0eWZhbGxiYWNrLSgtcC0pCisgICAgICAg
IFsyXTogaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaGlzdG9yeS5odG1s
I3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UgKHN0ZXAgMykKKworICAgICAgICBUZXN0czogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWxvY2F0
aW9uLWludGVyZmFjZS9sb2NhdGlvbi1kZWZpbmUtb3duLXByb3BlcnR5Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0
b3J5L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tcHJvdG90eXBlLWRlZmluZS1vd24t
cHJvcGVydHkuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OnRvU3RyaW5nTmFtZSk6IERlbGV0
ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNMb2NhdGlvbkN1c3RvbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpKU0xvY2F0aW9uOjpwdXQpOgorICAgICAgICAoV2ViQ29yZTo6SlNMb2NhdGlv
bjo6cHV0QnlJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpKU0xvY2F0aW9uOjpkZWZpbmVPd25Q
cm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpwdXRDb21tb24pOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6SlNMb2NhdGlvbjo6dG9TdHJpbmdOYW1lKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkpTTG9jYXRpb25Qcm90b3R5cGU6OnB1dCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpKU0xvY2F0aW9uUHJvdG90eXBlOjpkZWZpbmVPd25Qcm9wZXJ0eSk6IERlbGV0ZWQu
CisgICAgICAgICogYmluZGluZ3MvanMvSlNSZW1vdGVET01XaW5kb3dDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNSZW1vdGVET01XaW5kb3c6OnRvU3RyaW5nTmFtZSk6IERlbGV0ZWQu
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAg
IChHZW5lcmF0ZUhlYWRlcik6CisgICAgICAgIChHZW5lcmF0ZVByb3RvdHlwZURlY2xhcmF0aW9u
KToKKyAgICAgICAgKEhlYWRlck5lZWRzUHJvdG90eXBlRGVjbGFyYXRpb24pOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy5qc29uOgorICAgICAgICAqIHBhZ2UvRE9N
V2luZG93LmlkbDoKKyAgICAgICAgKiBwYWdlL0xvY2F0aW9uLmlkbDoKKyAgICAgICAgKiBwYWdl
L1JlbW90ZURPTVdpbmRvdy5pZGw6CisKIDIwMjAtMTEtMjIgIEFudHRpIEtvaXZpc3RvICA8YW50
dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0ludGVncmF0aW9uXSBDb252ZXJ0IHNvbWUg
cmVtYWluaW5nIElubGluZUJveCBhY2Nlc3MgdG8gdXNlIGlubGluZSBpdGVyYXRvcgpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAko
cmV2aXNpb24gMjcwMTY1KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5k
b3dDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MDMsMTQgKzUwMyw2IEBAIGJvb2wgSlNE
T01XaW5kb3c6OnByZXZlbnRFeHRlbnNpb25zKEpTT2IKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
LVN0cmluZyBKU0RPTVdpbmRvdzo6dG9TdHJpbmdOYW1lKGNvbnN0IEpTT2JqZWN0KiBvYmplY3Qs
IEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0KQotewotICAgIGF1dG8qIHRoaXNP
YmplY3QgPSBqc0Nhc3Q8Y29uc3QgSlNET01XaW5kb3cqPihvYmplY3QpOwotICAgIGlmICghQmlu
ZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KGxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNPYmplY3QtPndyYXBwZWQoKSwgRG9Ob3RSZXBvcnRTZWN1cml0eUVycm9yKSkK
LSAgICAgICAgcmV0dXJuICJPYmplY3QiX3M7Ci0gICAgcmV0dXJuICJXaW5kb3ciX3M7Ci19Ci0K
IC8vIEN1c3RvbSBBdHRyaWJ1dGVzCiAKIEpTVmFsdWUgSlNET01XaW5kb3c6OmV2ZW50KEpTR2xv
YmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0KSBjb25zdApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNMb2NhdGlvbkN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNMb2NhdGlvbkN1c3RvbS5jcHAJKHJldmlzaW9uIDI3MDE2
NSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTG9jYXRpb25DdXN0b20uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTMsMjMgKzExMyw2IEBAIGJvb2wgSlNMb2NhdGlvbjo6Z2V0T3du
UHJvcGVydHlTbG90QnlJbmQKICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTT2JqZWN0
OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KG9iamVjdCwgbGV4aWNhbEdsb2JhbE9iamVjdCwg
aW5kZXgsIHNsb3QpKTsKIH0KIAotc3RhdGljIGJvb2wgcHV0Q29tbW9uKEpTTG9jYXRpb24mIHRo
aXNPYmplY3QsIEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYW1lKQotewotICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3Qudm0o
KTsKLQotICAgIC8vIEFsd2F5cyBhbGxvdyBhc3NpZ25pbmcgdG8gdGhlIHdob2xlIGxvY2F0aW9u
LgotICAgIC8vIEhvd2V2ZXIsIGFsbGxvd2luZyBhc3NpZ25pbmcgb2YgcGllY2VzIG1pZ2h0IGlu
YWR2ZXJ0ZW50bHkgZGlzY2xvc2UgcGFydHMgb2YgdGhlIG9yaWdpbmFsIGxvY2F0aW9uLgotICAg
IC8vIFNvIGZhbGwgdGhyb3VnaCB0byB0aGUgYWNjZXNzIGNoZWNrIGZvciB0aG9zZS4KLSAgICBp
ZiAocHJvcGVydHlOYW1lID09IHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50
RGF0YSktPmJ1aWx0aW5OYW1lcygpLmhyZWZQdWJsaWNOYW1lKCkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLQotICAgIC8vIEJsb2NrIGFjY2VzcyBhbmQgdGhyb3cgaWYgdGhlcmUgaXMgYSBzZWN1
cml0eSBlcnJvci4KLSAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NU
b0RPTVdpbmRvdygmbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc09iamVjdC53cmFwcGVkKCkud2lu
ZG93KCksIFRocm93U2VjdXJpdHlFcnJvcikpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAg
cmV0dXJuIGZhbHNlOwotfQotCiB2b2lkIEpTTG9jYXRpb246OmRvUHV0UHJvcGVydHlTZWN1cml0
eUNoZWNrKEpTT2JqZWN0KiBvYmplY3QsIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQdXRQcm9wZXJ0eVNsb3QmKQogewogICAg
IGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNMb2NhdGlvbio+KG9iamVjdCk7CkBAIC0xNDks
MjIgKzEzMiwyNyBAQCB2b2lkIEpTTG9jYXRpb246OmRvUHV0UHJvcGVydHlTZWN1cml0eUNoCiAK
IGJvb2wgSlNMb2NhdGlvbjo6cHV0KEpTQ2VsbCogY2VsbCwgSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUs
IFB1dFByb3BlcnR5U2xvdCYgcHV0UHJvcGVydHlTbG90KQogeworICAgIFZNJiB2bSA9IGxleGlj
YWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0xv
Y2F0aW9uKj4oY2VsbCk7CiAgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0
LCBpbmZvKCkpOwogCi0gICAgaWYgKHB1dENvbW1vbigqdGhpc09iamVjdCwgKmxleGljYWxHbG9i
YWxPYmplY3QsIHByb3BlcnR5TmFtZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAvLyBB
bHdheXMgYWxsb3cgYXNzaWduaW5nIHRvIHRoZSB3aG9sZSBsb2NhdGlvbi4KKyAgICAvLyBIb3dl
dmVyLCBhbGxvd2luZyBhc3NpZ25pbmcgb2YgcGllY2VzIG1pZ2h0IGluYWR2ZXJ0ZW50bHkgZGlz
Y2xvc2UgcGFydHMgb2YgdGhlIG9yaWdpbmFsIGxvY2F0aW9uLgorICAgIC8vIFNvIGZhbGwgdGhy
b3VnaCB0byB0aGUgYWNjZXNzIGNoZWNrIGZvciB0aG9zZS4KKyAgICBpZiAocHJvcGVydHlOYW1l
ICE9IHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5O
YW1lcygpLmhyZWZQdWJsaWNOYW1lKCkpIHsKKyAgICAgICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6
OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3cobGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc09i
amVjdC0+d3JhcHBlZCgpLndpbmRvdygpLCBUaHJvd1NlY3VyaXR5RXJyb3IpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAogICAgIHJldHVybiBKU09iamVjdDo6cHV0KHRoaXNP
YmplY3QsIGxleGljYWxHbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHB1dFByb3Bl
cnR5U2xvdCk7CiB9CiAKIGJvb2wgSlNMb2NhdGlvbjo6cHV0QnlJbmRleChKU0NlbGwqIGNlbGws
IEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCB1bnNpZ25lZCBpbmRleCwgSlNW
YWx1ZSB2YWx1ZSwgYm9vbCBzaG91bGRUaHJvdykKIHsKLSAgICBWTSYgdm0gPSBsZXhpY2FsR2xv
YmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNMb2NhdGlv
bio+KGNlbGwpOwogICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5m
bygpKTsKIAotICAgIGlmIChwdXRDb21tb24oKnRoaXNPYmplY3QsICpsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBJZGVudGlmaWVyOjpmcm9tKHZtLCBpbmRleCkpKQorICAgIGlmICghQmluZGluZ1NlY3Vy
aXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KGxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNPYmplY3QtPndyYXBwZWQoKS53aW5kb3coKSwgVGhyb3dTZWN1cml0eUVycm9yKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIEpTT2JqZWN0OjpwdXRCeUluZGV4KGNlbGws
IGxleGljYWxHbG9iYWxPYmplY3QsIGluZGV4LCB2YWx1ZSwgc2hvdWxkVGhyb3cpOwpAQCAtMjA1
LDkgKzE5Myw2IEBAIGJvb2wgSlNMb2NhdGlvbjo6ZGVmaW5lT3duUHJvcGVydHkoSlNPYmoKICAg
ICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzT2JqZWN0LT53cmFwcGVkKCkud2luZG93KCksIFRocm93U2Vj
dXJpdHlFcnJvcikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIFZNJiB2bSA9IGxleGlj
YWxHbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgaWYgKGRlc2NyaXB0b3IuaXNBY2Nlc3NvckRlc2Ny
aXB0b3IoKSAmJiAocHJvcGVydHlOYW1lID09IHZtLnByb3BlcnR5TmFtZXMtPnRvU3RyaW5nIHx8
IHByb3BlcnR5TmFtZSA9PSB2bS5wcm9wZXJ0eU5hbWVzLT52YWx1ZU9mKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIHJldHVybiBCYXNlOjpkZWZpbmVPd25Qcm9wZXJ0eShvYmplY3QsIGxl
eGljYWxHbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvciwgdGhyb3dFeGNlcHRp
b24pOwogfQogCkBAIC0yMjgsMjkgKzIxMyw0IEBAIGJvb2wgSlNMb2NhdGlvbjo6cHJldmVudEV4
dGVuc2lvbnMoSlNPYmoKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLVN0cmluZyBKU0xvY2F0aW9u
Ojp0b1N0cmluZ05hbWUoY29uc3QgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QpCi17Ci0gICAgYXV0byogdGhpc09iamVjdCA9IGpzQ2FzdDxjb25z
dCBKU0xvY2F0aW9uKj4ob2JqZWN0KTsKLSAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxk
QWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzT2JqZWN0LT53
cmFwcGVkKCkud2luZG93KCksIERvTm90UmVwb3J0U2VjdXJpdHlFcnJvcikpCi0gICAgICAgIHJl
dHVybiAiT2JqZWN0Il9zOwotICAgIHJldHVybiAiTG9jYXRpb24iX3M7Ci19Ci0KLWJvb2wgSlNM
b2NhdGlvblByb3RvdHlwZTo6cHV0KEpTQ2VsbCogY2VsbCwgSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUs
IFB1dFByb3BlcnR5U2xvdCYgc2xvdCkKLXsKLSAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LT52bSgpOwotICAgIGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNMb2NhdGlvblByb3Rv
dHlwZSo+KGNlbGwpOwotICAgIGlmIChwcm9wZXJ0eU5hbWUgPT0gdm0ucHJvcGVydHlOYW1lcy0+
dG9TdHJpbmcgfHwgcHJvcGVydHlOYW1lID09IHZtLnByb3BlcnR5TmFtZXMtPnZhbHVlT2YpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gQmFzZTo6cHV0KHRoaXNPYmplY3QsIGxl
eGljYWxHbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOwotfQotCi1ib29s
IEpTTG9jYXRpb25Qcm90b3R5cGU6OmRlZmluZU93blByb3BlcnR5KEpTT2JqZWN0KiBvYmplY3Qs
IEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBQcm9wZXJ0eU5hbWUgcHJvcGVy
dHlOYW1lLCBjb25zdCBQcm9wZXJ0eURlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIGJvb2wgdGhyb3dF
eGNlcHRpb24pCi17Ci0gICAgVk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTsKLSAg
ICBpZiAoZGVzY3JpcHRvci5pc0FjY2Vzc29yRGVzY3JpcHRvcigpICYmIChwcm9wZXJ0eU5hbWUg
PT0gdm0ucHJvcGVydHlOYW1lcy0+dG9TdHJpbmcgfHwgcHJvcGVydHlOYW1lID09IHZtLnByb3Bl
cnR5TmFtZXMtPnZhbHVlT2YpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIEJh
c2U6OmRlZmluZU93blByb3BlcnR5KG9iamVjdCwgbGV4aWNhbEdsb2JhbE9iamVjdCwgcHJvcGVy
dHlOYW1lLCBkZXNjcmlwdG9yLCB0aHJvd0V4Y2VwdGlvbik7Ci19Ci0KIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVtb3RlRE9NV2lu
ZG93Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1JlbW90ZURPTVdpbmRvd0N1c3RvbS5jcHAJKHJldmlzaW9uIDI3MDE2NSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVtb3RlRE9NV2luZG93Q3VzdG9tLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTI5LDkgKzEyOSw0IEBAIGJvb2wgSlNSZW1vdGVET01XaW5kb3c6OnByZXZlbnRF
eHRlbnNpb24KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLVN0cmluZyBKU1JlbW90ZURPTVdpbmRv
dzo6dG9TdHJpbmdOYW1lKGNvbnN0IEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqKQotewotICAg
IHJldHVybiAiT2JqZWN0Il9zOwotfQotCiB9IC8vIG5hbWVwYWNlIFdlYkNvcmUKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
CShyZXZpc2lvbiAyNzAxNjUpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQkod29ya2luZyBjb3B5KQpAQCAtMzAwNCwxMCArMzAwNCw2IEBAIHN1
YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICAkc3RydWN0dXJlRmxhZ3N7IkpTQzo6T3ZlcnJpZGVz
R2V0UHJvdG90eXBlIn0gPSAxOwogICAgIH0KICAgICAKLSAgICBpZiAoJGludGVyZmFjZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57Q3VzdG9tVG9TdHJpbmdOYW1lfSkgewotICAgICAgICBwdXNoKEBo
ZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmdOYW1lKGNvbnN0IEpTQzo6
SlNPYmplY3QqLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7XG4iKTsKLSAgICB9Ci0gICAgCiAgICAg
aWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0N1c3RvbVByZXZlbnRFeHRlbnNp
b25zfSkgewogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyBib29sIHBy
ZXZlbnRFeHRlbnNpb25zKEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7XG4i
KTsKICAgICB9CkBAIC03NjYyLDE3ICs3NjU4LDYgQEAgc3ViIEdlbmVyYXRlUHJvdG90eXBlRGVj
bGFyYXRpb24KICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJcbiIpOwogICAgIHB1c2goQCRvdXRw
dXRBcnJheSwgIiAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTtcbiIpOwogCi0gICAg
IyBGSVhNRTogU2hvdWxkIHRoaXMgb3ZlcnJpZGUgcHV0QnlJbmRleCBhcyB3ZWxsPwotICAgIGlm
ICgkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntDdXN0b21QdXRPblByb3RvdHlwZX0p
IHsKLSAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiXG4iKTsKLSAgICAgICAgcHVzaChAJG91
dHB1dEFycmF5LCAiICAgIHN0YXRpYyBib29sIHB1dChKU0M6OkpTQ2VsbCosIEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBKU0M6OlByb3BlcnR5TmFtZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OlB1dFByb3Bl
cnR5U2xvdCYpO1xuIik7Ci0gICAgfQotCi0gICAgaWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0
cmlidXRlcy0+e0N1c3RvbURlZmluZU93blByb3BlcnR5T25Qcm90b3R5cGV9KSB7Ci0gICAgICAg
IHB1c2goQCRvdXRwdXRBcnJheSwgIlxuIik7Ci0gICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiAgICBzdGF0aWMgYm9vbCBkZWZpbmVPd25Qcm9wZXJ0eShKU0M6OkpTT2JqZWN0KiwgSlNDOjpK
U0dsb2JhbE9iamVjdCosIEpTQzo6UHJvcGVydHlOYW1lLCBjb25zdCBKU0M6OlByb3BlcnR5RGVz
Y3JpcHRvciYsIGJvb2wgc2hvdWxkVGhyb3cpO1xuIik7Ci0gICAgfQotCiAgICAgJHN0cnVjdHVy
ZUZsYWdzeyJKU0M6Okhhc1N0YXRpY1Byb3BlcnR5VGFibGUifSA9IDEgaWYgUHJvdG90eXBlSGFz
U3RhdGljUHJvcGVydHlUYWJsZSgkaW50ZXJmYWNlKSAmJiBJc0dsb2JhbEludGVyZmFjZSgkaW50
ZXJmYWNlKTsKICAgICAkc3RydWN0dXJlRmxhZ3N7IkpTQzo6SXNJbW11dGFibGVQcm90b3R5cGVF
eG90aWNPYmplY3QifSA9IDEgaWYgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57SXNJ
bW11dGFibGVQcm90b3R5cGVFeG90aWNPYmplY3RPblByb3RvdHlwZX07CiAKQEAgLTgwMzYsOSAr
ODAyMSw3IEBAIHN1YiBJbnN0YW5jZU92ZXJyaWRlc0dldENhbGxEYXRhCiBzdWIgSGVhZGVyTmVl
ZHNQcm90b3R5cGVEZWNsYXJhdGlvbgogewogICAgIG15ICRpbnRlcmZhY2UgPSBzaGlmdDsKLSAg
ICByZXR1cm4gSXNET01HbG9iYWxPYmplY3QoJGludGVyZmFjZSkKLSAgICAgICAgfHwgJGludGVy
ZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q3VzdG9tUHV0T25Qcm90b3R5cGV9Ci0gICAgICAg
IHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0N1c3RvbURlZmluZU93blByb3Bl
cnR5T25Qcm90b3R5cGV9OworICAgIHJldHVybiBJc0RPTUdsb2JhbE9iamVjdCgkaW50ZXJmYWNl
KTsKIH0KIAogc3ViIElzTGVnYWN5VW5mb3JnZWFibGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy5qc29uCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy5qc29uCShyZXZpc2lvbiAyNzAx
NjUpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMuanNv
bgkod29ya2luZyBjb3B5KQpAQCAtOTEsOSArOTEsNiBAQAogICAgICAgICAiQ3VzdG9tRGVmaW5l
T3duUHJvcGVydHkiOiB7CiAgICAgICAgICAgICAiY29udGV4dHNBbGxvd2VkIjogWyJpbnRlcmZh
Y2UiXQogICAgICAgICB9LAotICAgICAgICAiQ3VzdG9tRGVmaW5lT3duUHJvcGVydHlPblByb3Rv
dHlwZSI6IHsKLSAgICAgICAgICAgICJjb250ZXh0c0FsbG93ZWQiOiBbImludGVyZmFjZSJdCi0g
ICAgICAgIH0sCiAgICAgICAgICJDdXN0b21EZWxldGVQcm9wZXJ0eSI6IHsKICAgICAgICAgICAg
ICJjb250ZXh0c0FsbG93ZWQiOiBbImludGVyZmFjZSJdCiAgICAgICAgIH0sCkBAIC0xMzMsMTgg
KzEzMCwxMiBAQAogICAgICAgICAiQ3VzdG9tUHV0IjogewogICAgICAgICAgICAgImNvbnRleHRz
QWxsb3dlZCI6IFsiaW50ZXJmYWNlIl0KICAgICAgICAgfSwKLSAgICAgICAgIkN1c3RvbVB1dE9u
UHJvdG90eXBlIjogewotICAgICAgICAgICAgImNvbnRleHRzQWxsb3dlZCI6IFsiaW50ZXJmYWNl
Il0KLSAgICAgICAgfSwKICAgICAgICAgIkN1c3RvbVNldHRlciI6IHsKICAgICAgICAgICAgICJj
b250ZXh0c0FsbG93ZWQiOiBbImF0dHJpYnV0ZSJdCiAgICAgICAgIH0sCiAgICAgICAgICJDdXN0
b21Ub0pTT2JqZWN0IjogewogICAgICAgICAgICAgImNvbnRleHRzQWxsb3dlZCI6IFsiaW50ZXJm
YWNlIl0KICAgICAgICAgfSwKLSAgICAgICAgIkN1c3RvbVRvU3RyaW5nTmFtZSI6IHsKLSAgICAg
ICAgICAgICJjb250ZXh0c0FsbG93ZWQiOiBbImludGVyZmFjZSJdCi0gICAgICAgIH0sCiAgICAg
ICAgICJDdXN0b21FbmFibGVkIjogewogICAgICAgICAgICAgImNvbnRleHRzQWxsb3dlZCI6IFsi
aW50ZXJmYWNlIiwgImRpY3Rpb25hcnkiLCAiZW51bSIsICJhdHRyaWJ1dGUiLCAib3BlcmF0aW9u
IiwgImNvbnN0YW50IiwgIml0ZXJhYmxlIl0KICAgICAgICAgfSwKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDI3MDE2NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNiBAQAogICAgIEN1c3Rv
bVByZXZlbnRFeHRlbnNpb25zLAogICAgIEN1c3RvbVByb3h5VG9KU09iamVjdCwKICAgICBDdXN0
b21QdXQsCi0gICAgQ3VzdG9tVG9TdHJpbmdOYW1lLAogICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVf
RVhQT1JULAogICAgIEltcGxpY2l0VGhpcywKICAgICBJbnRlcmZhY2VOYW1lPVdpbmRvdywKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsCShyZXZpc2lvbiAyNzAxNjUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL0xvY2F0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTUgKzMwLDEy
IEBACiBbCiAgICAgQ2hlY2tTZWN1cml0eSwKICAgICBDdXN0b21EZWZpbmVPd25Qcm9wZXJ0eSwK
LSAgICBDdXN0b21EZWZpbmVPd25Qcm9wZXJ0eU9uUHJvdG90eXBlLAogICAgIEN1c3RvbURlbGV0
ZVByb3BlcnR5LAogICAgIEN1c3RvbUdldE93blByb3BlcnR5TmFtZXMsCiAgICAgQ3VzdG9tR2V0
T3duUHJvcGVydHlTbG90LAogICAgIEN1c3RvbUdldFByb3RvdHlwZSwKICAgICBDdXN0b21QcmV2
ZW50RXh0ZW5zaW9ucywKICAgICBDdXN0b21QdXQsCi0gICAgQ3VzdG9tUHV0T25Qcm90b3R5cGUs
Ci0gICAgQ3VzdG9tVG9TdHJpbmdOYW1lLAogICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JU
LAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9UmVhY2hhYmxlRnJvbURPTVdpbmRvdywKICAgICBJ
c0ltbXV0YWJsZVByb3RvdHlwZUV4b3RpY09iamVjdCwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUmVtb3RlRE9NV2luZG93LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L1JlbW90ZURPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDI3MDE2NSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUmVtb3RlRE9NV2luZG93LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNiBA
QAogICAgIEN1c3RvbVByZXZlbnRFeHRlbnNpb25zLAogICAgIEN1c3RvbVByb3h5VG9KU09iamVj
dCwKICAgICBDdXN0b21QdXQsCi0gICAgQ3VzdG9tVG9TdHJpbmdOYW1lLAogICAgIEltcGxpY2l0
VGhpcywKICAgICBJbnRlcmZhY2VOYW1lPVdpbmRvdywKICAgICBJc0ltbXV0YWJsZVByb3RvdHlw
ZUV4b3RpY09iamVjdCwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkocmV2aXNp
b24gMjcwMTY1KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIwLTExLTI0ICBBbGV4ZXkgU2h2YXlrYSAgPHNo
dmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBbV2ViSURMXSBSZW1vdmUgW0N1c3RvbVRv
U3RyaW5nTmFtZV0gYW5kIExvY2F0aW9uLXNwZWNpZmljIGV4dGVuZGVkIGF0dHJpYnV0ZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTI3NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlzdG9yeS90aGUtbG9jYXRpb24taW50ZXJmYWNlL2xv
Y2F0aW9uLWRlZmluZS1vd24tcHJvcGVydHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1sb2NhdGlvbi1p
bnRlcmZhY2UvbG9jYXRpb24tZGVmaW5lLW93bi1wcm9wZXJ0eS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1sb2NhdGlv
bi1pbnRlcmZhY2UvbG9jYXRpb24tcHJvdG90eXBlLWRlZmluZS1vd24tcHJvcGVydHktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vy
cy9oaXN0b3J5L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tcHJvdG90eXBlLWRlZmlu
ZS1vd24tcHJvcGVydHkuaHRtbDogQWRkZWQuCisKIDIwMjAtMTEtMjAgIFNlcmdpbyBWaWxsYXIg
U2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1mbGV4XSBJbWFnZXMg
YXMgZmxleCBpdGVtcyBzaG91bGQgdXNlIHRoZSBvdmVycmlkaW5nTG9naWNhbFdpZHRoIHdoZW4g
ZGVmaW5lZCB0byBjb21wdXRlIHRoZSBsb2dpY2FsIGhlaWdodApJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhl
LWxvY2F0aW9uLWludGVyZmFjZS9sb2NhdGlvbi1kZWZpbmUtb3duLXByb3BlcnR5LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlzdG9yeS90aGUtbG9jYXRpb24taW50ZXJmYWNlL2xvY2F0
aW9uLWRlZmluZS1vd24tcHJvcGVydHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9o
aXN0b3J5L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tZGVmaW5lLW93bi1wcm9wZXJ0
eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgJ3Rv
U3RyaW5nJyByZWRlZmluaXRpb24gd2l0aCBhY2Nlc3NvciBmYWlscworUEFTUyAndmFsdWVPZicg
cmVkZWZpbml0aW9uIHdpdGggYWNjZXNzb3IgZmFpbHMKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWxv
Y2F0aW9uLWludGVyZmFjZS9sb2NhdGlvbi1kZWZpbmUtb3duLXByb3BlcnR5Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWxvY2F0aW9uLWludGVyZmFjZS9sb2NhdGlvbi1kZWZpbmUt
b3duLXByb3BlcnR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWxvY2F0aW9u
LWludGVyZmFjZS9sb2NhdGlvbi1kZWZpbmUtb3duLXByb3BlcnR5Lmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8dGl0bGU+W1tEZWZpbmVPd25Qcm9wZXJ0eV1dIG9uIGEgc2FtZS1vcmlnaW4gTG9jYXRp
b24gb2JqZWN0IGJlaGF2ZXMgbGlrZSBvcmRpbmFyeTwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2hpc3RvcnkuaHRt
bCNsb2NhdGlvbi1kZWZpbmVvd25wcm9wZXJ0eSI+CisKKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKKwor
dGVzdCgoKSA9PiB7CisgIGFzc2VydF9vd25fcHJvcGVydHkobG9jYXRpb24sICJ0b1N0cmluZyIp
OworICBjb25zdCBvcmlnVG9TdHJpbmcgPSBsb2NhdGlvbi50b1N0cmluZzsKKworICBhc3NlcnRf
dGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4geworICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShs
b2NhdGlvbiwgInRvU3RyaW5nIiwgeworICAgICAgZ2V0KCkge30sCisgICAgICBzZXQoX3YpIHt9
LAorICAgICAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKKyAg
ICB9KTsKKyAgfSk7CisKKyAgYXNzZXJ0X2VxdWFscyhsb2NhdGlvbi50b1N0cmluZywgb3JpZ1Rv
U3RyaW5nKTsKK30sICIndG9TdHJpbmcnIHJlZGVmaW5pdGlvbiB3aXRoIGFjY2Vzc29yIGZhaWxz
Iik7CisKK3Rlc3QoKCkgPT4geworICBhc3NlcnRfb3duX3Byb3BlcnR5KGxvY2F0aW9uLCAidmFs
dWVPZiIpOworICBjb25zdCBvcmlnVmFsdWVPZiA9IGxvY2F0aW9uLnZhbHVlT2Y7CisKKyAgYXNz
ZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVy
dHkobG9jYXRpb24sICJ2YWx1ZU9mIiwgeworICAgICAgZ2V0KCkge30sCisgICAgICBlbnVtZXJh
YmxlOiBmYWxzZSwKKyAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKKyAgICB9KTsKKyAgfSk7CisK
KyAgYXNzZXJ0X2VxdWFscyhsb2NhdGlvbi52YWx1ZU9mLCBvcmlnVmFsdWVPZik7Cit9LCAiJ3Zh
bHVlT2YnIHJlZGVmaW5pdGlvbiB3aXRoIGFjY2Vzc29yIGZhaWxzIik7Cis8L3NjcmlwdD4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93
c2Vycy9oaXN0b3J5L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tcHJvdG90eXBlLWRl
ZmluZS1vd24tcHJvcGVydHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3Ro
ZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tcHJvdG90eXBlLWRlZmluZS1vd24tcHJvcGVy
dHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1sb2NhdGlvbi1p
bnRlcmZhY2UvbG9jYXRpb24tcHJvdG90eXBlLWRlZmluZS1vd24tcHJvcGVydHktZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNiBAQAorCitQQVNTICd0b1N0cmluZycgYWNj
ZXNzb3IgcHJvcGVydHkgaXMgZGVmaW5lZAorUEFTUyAndG9TdHJpbmcnIGRhdGEgcHJvcGVydHkg
aXMgY3JlYXRlZCB2aWEgW1tTZXRdXQorUEFTUyAndmFsdWVPZicgYWNjZXNzb3IgcHJvcGVydHkg
aXMgZGVmaW5lZAorUEFTUyAndmFsdWVPZicgZGF0YSBwcm9wZXJ0eSBpcyBjcmVhdGVkIHZpYSBb
W1NldF1dCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24t
cHJvdG90eXBlLWRlZmluZS1vd24tcHJvcGVydHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlzdG9y
eS90aGUtbG9jYXRpb24taW50ZXJmYWNlL2xvY2F0aW9uLXByb3RvdHlwZS1kZWZpbmUtb3duLXBy
b3BlcnR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWxvY2F0aW9uLWludGVy
ZmFjZS9sb2NhdGlvbi1wcm90b3R5cGUtZGVmaW5lLW93bi1wcm9wZXJ0eS5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPkxvY2F0aW9uLnByb3RvdHlwZSBoYXMgb3JkaW5hcnkgW1tEZWZpbmVP
d25Qcm9wZXJ0eV1dIG1ldGhvZDwvdGl0bGU+CisKKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKKwordGVz
dCh0ID0+IHsKKyAgYXNzZXJ0X25vdF9vd25fcHJvcGVydHkoTG9jYXRpb24ucHJvdG90eXBlLCAi
dG9TdHJpbmciKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGRlbGV0ZSBMb2NhdGlvbi5wcm90
b3R5cGUudG9TdHJpbmc7IH0pOworCisgIGxldCB2YWw7CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0
eShMb2NhdGlvbi5wcm90b3R5cGUsICJ0b1N0cmluZyIsIHsKKyAgICBnZXQ6ICgpID0+IHZhbCwK
KyAgICBzZXQ6IG5ld1ZhbCA9PiB7IHZhbCA9IG5ld1ZhbDsgfSwKKyAgICBlbnVtZXJhYmxlOiBm
YWxzZSwKKyAgICBjb25maWd1cmFibGU6IHRydWUsCisgIH0pOworCisgIExvY2F0aW9uLnByb3Rv
dHlwZS50b1N0cmluZyA9IDI7CisgIGFzc2VydF9lcXVhbHMoTG9jYXRpb24ucHJvdG90eXBlLnRv
U3RyaW5nLCAyKTsKK30sICIndG9TdHJpbmcnIGFjY2Vzc29yIHByb3BlcnR5IGlzIGRlZmluZWQi
KTsKKwordGVzdCh0ID0+IHsKKyAgYXNzZXJ0X25vdF9vd25fcHJvcGVydHkoTG9jYXRpb24ucHJv
dG90eXBlLCAidG9TdHJpbmciKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGRlbGV0ZSBMb2Nh
dGlvbi5wcm90b3R5cGUudG9TdHJpbmc7IH0pOworCisgIExvY2F0aW9uLnByb3RvdHlwZS50b1N0
cmluZyA9IDQ7CisgIGFzc2VydF9lcXVhbHMoTG9jYXRpb24ucHJvdG90eXBlLnRvU3RyaW5nLCA0
KTsKK30sICIndG9TdHJpbmcnIGRhdGEgcHJvcGVydHkgaXMgY3JlYXRlZCB2aWEgW1tTZXRdXSIp
OworCit0ZXN0KHQgPT4geworICBhc3NlcnRfbm90X293bl9wcm9wZXJ0eShMb2NhdGlvbi5wcm90
b3R5cGUsICJ2YWx1ZU9mIik7CisgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBkZWxldGUgTG9jYXRp
b24ucHJvdG90eXBlLnZhbHVlT2Y7IH0pOworCisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShMb2Nh
dGlvbi5wcm90b3R5cGUsICJ2YWx1ZU9mIiwgeworICAgIGdldDogKCkgPT4gNiwKKyAgICBlbnVt
ZXJhYmxlOiB0cnVlLAorICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKKyAgfSk7CisKKyAgYXNzZXJ0
X2VxdWFscyhMb2NhdGlvbi5wcm90b3R5cGUudmFsdWVPZiwgNik7Cit9LCAiJ3ZhbHVlT2YnIGFj
Y2Vzc29yIHByb3BlcnR5IGlzIGRlZmluZWQiKTsKKwordGVzdCh0ID0+IHsKKyAgYXNzZXJ0X25v
dF9vd25fcHJvcGVydHkoTG9jYXRpb24ucHJvdG90eXBlLCAidmFsdWVPZiIpOworICB0LmFkZF9j
bGVhbnVwKCgpID0+IHsgZGVsZXRlIExvY2F0aW9uLnByb3RvdHlwZS52YWx1ZU9mOyB9KTsKKwor
ICBMb2NhdGlvbi5wcm90b3R5cGUudmFsdWVPZiA9IDg7CisgIGFzc2VydF9lcXVhbHMoT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihMb2NhdGlvbi5wcm90b3R5cGUsICJ2YWx1ZU9mIiku
dmFsdWUsIDgpOworfSwgIid2YWx1ZU9mJyBkYXRhIHByb3BlcnR5IGlzIGNyZWF0ZWQgdmlhIFtb
U2V0XV0iKTsKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415465</attachid>
            <date>2020-12-04 15:29:11 -0800</date>
            <delta_ts>2020-12-11 15:25:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219276-20201205012909.patch</filename>
            <type>text/plain</type>
            <size>25388</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3MDE2NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU4IEBACisyMDIwLTEyLTA0ICBBbGV4ZXkg
U2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBbV2ViSURMXSBSZW1v
dmUgW0N1c3RvbVRvU3RyaW5nTmFtZV0gYW5kIExvY2F0aW9uLXNwZWNpZmljIGV4dGVuZGVkIGF0
dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxOTI3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoaXMgcGF0Y2g6CisKKyAgICAgICAgYSkgUmVtb3ZlcyBbQ3VzdG9tVG9TdHJpbmdOYW1lXSBh
bmQgMyByZWxhdGVkIG92ZXJyaWRlcywgd2hvc2UgcHVycG9zZSB3YXMgdG8gZW5zdXJlCisgICAg
ICAgICAgIHRoYXQgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpIHJldHVybnMgIltvYmplY3Qg
T2JqZWN0XSIgZm9yIGNyb3NzLXJlYWxtIExvY2F0aW9uIC8KKyAgICAgICAgICAgV2luZG93UHJv
eHkgb2JqZWN0cywgd2hpY2ggaXMgYWxyZWFkeSBhY2NvbXBsaXNoZWQgdmlhIG93biB1bmZvcmdl
YWJsZSBAQHRvU3RyaW5nVGFnCisgICAgICAgICAgIHByb3BlcnR5IFsxXSwgbWFraW5nIHRoaXMg
Y2hhbmdlIHVub2JzZXJ2YWJsZS4KKworICAgICAgICBiKSBJbmxpbmVzIHB1dENvbW1vbigpIHRv
IGF2b2lkIHdlaXJkIHRydWUgPT4gZmFsc2UgcmV0dXJucyBhbmQgc2F2ZSBhbiBleHRyYSBpZGVu
dGlmaWVyCisgICAgICAgICAgIGNyZWF0aW9uIC8gY2hlY2sgaW4gcHV0QnlJbmRleCgpLiBUaGlz
IGlzIGFsc28gdW5vYnNlcnZhYmxlLgorCisgICAgICAgIGMpIFJlbW92ZXMgInRvU3RyaW5nIiBh
bmQgInZhbHVlT2YiIHNwZWNpYWwtY2FzaW5nIGZyb20gSlNMb2NhdGlvbjo6ZGVmaW5lT3duUHJv
cGVydHkoKSwKKyAgICAgICAgICAgd2hpY2ggZmFpbGVkIHNpbGVudGx5IGluc3RlYWQgb2YgdGhy
b3dpbmcgYSBUeXBlRXJyb3IuIFNpbmNlIHRoZXNlIGFyZSBvd24gdW5mb3JnZWFibGUKKyAgICAg
ICAgICAgcHJvcGVydGllcyBvZiBMb2NhdGlvbiBbMl0sIG9yZGluYXJ5IFtbRGVmaW5lT3duUHJv
cGVydHldXSBwcmV2ZW50cyB0aGVpciByZWRlZmluaXRpb24uCisKKyAgICAgICAgZCkgUmVtb3Zl
cyBbQ3VzdG9tRGVmaW5lT3duUHJvcGVydHlPblByb3RvdHlwZV0sIFtDdXN0b21QdXRPblByb3Rv
dHlwZV0sIGFuZCBjb3JyZXNwb25kaW5nCisgICAgICAgICAgIG92ZXJyaWRlcywgd2hvc2UgcHVy
cG9zZSB3YXMgdG8gcHJldmVudCBkZWZpbml0aW9uIG9mICJ0b1N0cmluZyIgYW5kICJ2YWx1ZU9m
IiBwcm9wZXJ0aWVzCisgICAgICAgICAgIG9uIExvY2F0aW9uLnByb3RvdHlwZS4gU2luY2UgdGhl
c2UgYXJlIG93biB1bmZvcmdlYWJsZSBwcm9wZXJ0aWVzIG9mIExvY2F0aW9uIGluc3RhbmNlcyBb
Ml0sCisgICAgICAgICAgIHRoZSBsaW1pdGF0aW9uIGRvZXNuJ3QgbWFrZSBzZW5zZS4gTG9jYXRp
b24ucHJvdG90eXBlIGlzIGFuIG9yZGluYXJ5IG9iamVjdCBwZXIgc3BlYy4KKworICAgICAgICBC
b3RoIGMpIGFuZCBkKSBhbGlnbiBXZWJLaXQgd2l0aCB0aGUgc3BlYywgQmxpbmssIGFuZCBHZWNr
by4KKworICAgICAgICBbMV06IGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L2Jyb3dzZXJzLmh0bWwjY3Jvc3NvcmlnaW5wcm9wZXJ0eWZhbGxiYWNrLSgtcC0pCisgICAgICAg
IFsyXTogaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaGlzdG9yeS5odG1s
I3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UgKHN0ZXAgMykKKworICAgICAgICBUZXN0czogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWxvY2F0
aW9uLWludGVyZmFjZS9sb2NhdGlvbi1kZWZpbmUtb3duLXByb3BlcnR5Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0
b3J5L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tcHJvdG90eXBlLWRlZmluZS1vd24t
cHJvcGVydHkuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OnRvU3RyaW5nTmFtZSk6IERlbGV0
ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSlNMb2NhdGlvbkN1c3RvbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpKU0xvY2F0aW9uOjpwdXQpOgorICAgICAgICAoV2ViQ29yZTo6SlNMb2NhdGlv
bjo6cHV0QnlJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpKU0xvY2F0aW9uOjpkZWZpbmVPd25Q
cm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpwdXRDb21tb24pOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6SlNMb2NhdGlvbjo6dG9TdHJpbmdOYW1lKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkpTTG9jYXRpb25Qcm90b3R5cGU6OnB1dCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpKU0xvY2F0aW9uUHJvdG90eXBlOjpkZWZpbmVPd25Qcm9wZXJ0eSk6IERlbGV0ZWQu
CisgICAgICAgICogYmluZGluZ3MvanMvSlNSZW1vdGVET01XaW5kb3dDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNSZW1vdGVET01XaW5kb3c6OnRvU3RyaW5nTmFtZSk6IERlbGV0ZWQu
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAg
IChHZW5lcmF0ZUhlYWRlcik6CisgICAgICAgIChHZW5lcmF0ZVByb3RvdHlwZURlY2xhcmF0aW9u
KToKKyAgICAgICAgKEhlYWRlck5lZWRzUHJvdG90eXBlRGVjbGFyYXRpb24pOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy5qc29uOgorICAgICAgICAqIHBhZ2UvRE9N
V2luZG93LmlkbDoKKyAgICAgICAgKiBwYWdlL0xvY2F0aW9uLmlkbDoKKyAgICAgICAgKiBwYWdl
L1JlbW90ZURPTVdpbmRvdy5pZGw6CisKIDIwMjAtMTEtMjIgIEFudHRpIEtvaXZpc3RvICA8YW50
dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0ludGVncmF0aW9uXSBDb252ZXJ0IHNvbWUg
cmVtYWluaW5nIElubGluZUJveCBhY2Nlc3MgdG8gdXNlIGlubGluZSBpdGVyYXRvcgpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAko
cmV2aXNpb24gMjcwMTY1KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5k
b3dDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MDMsMTQgKzUwMyw2IEBAIGJvb2wgSlNE
T01XaW5kb3c6OnByZXZlbnRFeHRlbnNpb25zKEpTT2IKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
LVN0cmluZyBKU0RPTVdpbmRvdzo6dG9TdHJpbmdOYW1lKGNvbnN0IEpTT2JqZWN0KiBvYmplY3Qs
IEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0KQotewotICAgIGF1dG8qIHRoaXNP
YmplY3QgPSBqc0Nhc3Q8Y29uc3QgSlNET01XaW5kb3cqPihvYmplY3QpOwotICAgIGlmICghQmlu
ZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KGxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNPYmplY3QtPndyYXBwZWQoKSwgRG9Ob3RSZXBvcnRTZWN1cml0eUVycm9yKSkK
LSAgICAgICAgcmV0dXJuICJPYmplY3QiX3M7Ci0gICAgcmV0dXJuICJXaW5kb3ciX3M7Ci19Ci0K
IC8vIEN1c3RvbSBBdHRyaWJ1dGVzCiAKIEpTVmFsdWUgSlNET01XaW5kb3c6OmV2ZW50KEpTR2xv
YmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0KSBjb25zdApJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNMb2NhdGlvbkN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNMb2NhdGlvbkN1c3RvbS5jcHAJKHJldmlzaW9uIDI3MDE2
NSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTG9jYXRpb25DdXN0b20uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTMsMjMgKzExMyw2IEBAIGJvb2wgSlNMb2NhdGlvbjo6Z2V0T3du
UHJvcGVydHlTbG90QnlJbmQKICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTT2JqZWN0
OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KG9iamVjdCwgbGV4aWNhbEdsb2JhbE9iamVjdCwg
aW5kZXgsIHNsb3QpKTsKIH0KIAotc3RhdGljIGJvb2wgcHV0Q29tbW9uKEpTTG9jYXRpb24mIHRo
aXNPYmplY3QsIEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYW1lKQotewotICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3Qudm0o
KTsKLQotICAgIC8vIEFsd2F5cyBhbGxvdyBhc3NpZ25pbmcgdG8gdGhlIHdob2xlIGxvY2F0aW9u
LgotICAgIC8vIEhvd2V2ZXIsIGFsbGxvd2luZyBhc3NpZ25pbmcgb2YgcGllY2VzIG1pZ2h0IGlu
YWR2ZXJ0ZW50bHkgZGlzY2xvc2UgcGFydHMgb2YgdGhlIG9yaWdpbmFsIGxvY2F0aW9uLgotICAg
IC8vIFNvIGZhbGwgdGhyb3VnaCB0byB0aGUgYWNjZXNzIGNoZWNrIGZvciB0aG9zZS4KLSAgICBp
ZiAocHJvcGVydHlOYW1lID09IHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50
RGF0YSktPmJ1aWx0aW5OYW1lcygpLmhyZWZQdWJsaWNOYW1lKCkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLQotICAgIC8vIEJsb2NrIGFjY2VzcyBhbmQgdGhyb3cgaWYgdGhlcmUgaXMgYSBzZWN1
cml0eSBlcnJvci4KLSAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NU
b0RPTVdpbmRvdygmbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc09iamVjdC53cmFwcGVkKCkud2lu
ZG93KCksIFRocm93U2VjdXJpdHlFcnJvcikpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAg
cmV0dXJuIGZhbHNlOwotfQotCiB2b2lkIEpTTG9jYXRpb246OmRvUHV0UHJvcGVydHlTZWN1cml0
eUNoZWNrKEpTT2JqZWN0KiBvYmplY3QsIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQdXRQcm9wZXJ0eVNsb3QmKQogewogICAg
IGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNMb2NhdGlvbio+KG9iamVjdCk7CkBAIC0xNDks
MjIgKzEzMiwyNyBAQCB2b2lkIEpTTG9jYXRpb246OmRvUHV0UHJvcGVydHlTZWN1cml0eUNoCiAK
IGJvb2wgSlNMb2NhdGlvbjo6cHV0KEpTQ2VsbCogY2VsbCwgSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUs
IFB1dFByb3BlcnR5U2xvdCYgcHV0UHJvcGVydHlTbG90KQogeworICAgIFZNJiB2bSA9IGxleGlj
YWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0xv
Y2F0aW9uKj4oY2VsbCk7CiAgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0
LCBpbmZvKCkpOwogCi0gICAgaWYgKHB1dENvbW1vbigqdGhpc09iamVjdCwgKmxleGljYWxHbG9i
YWxPYmplY3QsIHByb3BlcnR5TmFtZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAvLyBB
bHdheXMgYWxsb3cgYXNzaWduaW5nIHRvIHRoZSB3aG9sZSBsb2NhdGlvbi4KKyAgICAvLyBIb3dl
dmVyLCBhbGxvd2luZyBhc3NpZ25pbmcgb2YgcGllY2VzIG1pZ2h0IGluYWR2ZXJ0ZW50bHkgZGlz
Y2xvc2UgcGFydHMgb2YgdGhlIG9yaWdpbmFsIGxvY2F0aW9uLgorICAgIC8vIFNvIGZhbGwgdGhy
b3VnaCB0byB0aGUgYWNjZXNzIGNoZWNrIGZvciB0aG9zZS4KKyAgICBpZiAocHJvcGVydHlOYW1l
ICE9IHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5O
YW1lcygpLmhyZWZQdWJsaWNOYW1lKCkpIHsKKyAgICAgICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6
OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3cobGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc09i
amVjdC0+d3JhcHBlZCgpLndpbmRvdygpLCBUaHJvd1NlY3VyaXR5RXJyb3IpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAogICAgIHJldHVybiBKU09iamVjdDo6cHV0KHRoaXNP
YmplY3QsIGxleGljYWxHbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHB1dFByb3Bl
cnR5U2xvdCk7CiB9CiAKIGJvb2wgSlNMb2NhdGlvbjo6cHV0QnlJbmRleChKU0NlbGwqIGNlbGws
IEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCB1bnNpZ25lZCBpbmRleCwgSlNW
YWx1ZSB2YWx1ZSwgYm9vbCBzaG91bGRUaHJvdykKIHsKLSAgICBWTSYgdm0gPSBsZXhpY2FsR2xv
YmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNMb2NhdGlv
bio+KGNlbGwpOwogICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5m
bygpKTsKIAotICAgIGlmIChwdXRDb21tb24oKnRoaXNPYmplY3QsICpsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBJZGVudGlmaWVyOjpmcm9tKHZtLCBpbmRleCkpKQorICAgIGlmICghQmluZGluZ1NlY3Vy
aXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KGxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNPYmplY3QtPndyYXBwZWQoKS53aW5kb3coKSwgVGhyb3dTZWN1cml0eUVycm9yKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIEpTT2JqZWN0OjpwdXRCeUluZGV4KGNlbGws
IGxleGljYWxHbG9iYWxPYmplY3QsIGluZGV4LCB2YWx1ZSwgc2hvdWxkVGhyb3cpOwpAQCAtMjA1
LDkgKzE5Myw2IEBAIGJvb2wgSlNMb2NhdGlvbjo6ZGVmaW5lT3duUHJvcGVydHkoSlNPYmoKICAg
ICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzT2JqZWN0LT53cmFwcGVkKCkud2luZG93KCksIFRocm93U2Vj
dXJpdHlFcnJvcikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIFZNJiB2bSA9IGxleGlj
YWxHbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgaWYgKGRlc2NyaXB0b3IuaXNBY2Nlc3NvckRlc2Ny
aXB0b3IoKSAmJiAocHJvcGVydHlOYW1lID09IHZtLnByb3BlcnR5TmFtZXMtPnRvU3RyaW5nIHx8
IHByb3BlcnR5TmFtZSA9PSB2bS5wcm9wZXJ0eU5hbWVzLT52YWx1ZU9mKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIHJldHVybiBCYXNlOjpkZWZpbmVPd25Qcm9wZXJ0eShvYmplY3QsIGxl
eGljYWxHbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvciwgdGhyb3dFeGNlcHRp
b24pOwogfQogCkBAIC0yMjgsMjkgKzIxMyw0IEBAIGJvb2wgSlNMb2NhdGlvbjo6cHJldmVudEV4
dGVuc2lvbnMoSlNPYmoKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLVN0cmluZyBKU0xvY2F0aW9u
Ojp0b1N0cmluZ05hbWUoY29uc3QgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QpCi17Ci0gICAgYXV0byogdGhpc09iamVjdCA9IGpzQ2FzdDxjb25z
dCBKU0xvY2F0aW9uKj4ob2JqZWN0KTsKLSAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxk
QWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzT2JqZWN0LT53
cmFwcGVkKCkud2luZG93KCksIERvTm90UmVwb3J0U2VjdXJpdHlFcnJvcikpCi0gICAgICAgIHJl
dHVybiAiT2JqZWN0Il9zOwotICAgIHJldHVybiAiTG9jYXRpb24iX3M7Ci19Ci0KLWJvb2wgSlNM
b2NhdGlvblByb3RvdHlwZTo6cHV0KEpTQ2VsbCogY2VsbCwgSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUs
IFB1dFByb3BlcnR5U2xvdCYgc2xvdCkKLXsKLSAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LT52bSgpOwotICAgIGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNMb2NhdGlvblByb3Rv
dHlwZSo+KGNlbGwpOwotICAgIGlmIChwcm9wZXJ0eU5hbWUgPT0gdm0ucHJvcGVydHlOYW1lcy0+
dG9TdHJpbmcgfHwgcHJvcGVydHlOYW1lID09IHZtLnByb3BlcnR5TmFtZXMtPnZhbHVlT2YpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gQmFzZTo6cHV0KHRoaXNPYmplY3QsIGxl
eGljYWxHbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOwotfQotCi1ib29s
IEpTTG9jYXRpb25Qcm90b3R5cGU6OmRlZmluZU93blByb3BlcnR5KEpTT2JqZWN0KiBvYmplY3Qs
IEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBQcm9wZXJ0eU5hbWUgcHJvcGVy
dHlOYW1lLCBjb25zdCBQcm9wZXJ0eURlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIGJvb2wgdGhyb3dF
eGNlcHRpb24pCi17Ci0gICAgVk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTsKLSAg
ICBpZiAoZGVzY3JpcHRvci5pc0FjY2Vzc29yRGVzY3JpcHRvcigpICYmIChwcm9wZXJ0eU5hbWUg
PT0gdm0ucHJvcGVydHlOYW1lcy0+dG9TdHJpbmcgfHwgcHJvcGVydHlOYW1lID09IHZtLnByb3Bl
cnR5TmFtZXMtPnZhbHVlT2YpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIEJh
c2U6OmRlZmluZU93blByb3BlcnR5KG9iamVjdCwgbGV4aWNhbEdsb2JhbE9iamVjdCwgcHJvcGVy
dHlOYW1lLCBkZXNjcmlwdG9yLCB0aHJvd0V4Y2VwdGlvbik7Ci19Ci0KIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVtb3RlRE9NV2lu
ZG93Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1JlbW90ZURPTVdpbmRvd0N1c3RvbS5jcHAJKHJldmlzaW9uIDI3MDE2NSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVtb3RlRE9NV2luZG93Q3VzdG9tLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTI5LDkgKzEyOSw0IEBAIGJvb2wgSlNSZW1vdGVET01XaW5kb3c6OnByZXZlbnRF
eHRlbnNpb24KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLVN0cmluZyBKU1JlbW90ZURPTVdpbmRv
dzo6dG9TdHJpbmdOYW1lKGNvbnN0IEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqKQotewotICAg
IHJldHVybiAiT2JqZWN0Il9zOwotfQotCiB9IC8vIG5hbWVwYWNlIFdlYkNvcmUKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
CShyZXZpc2lvbiAyNzAxNjUpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQkod29ya2luZyBjb3B5KQpAQCAtMzAwNCwxMCArMzAwNCw2IEBAIHN1
YiBHZW5lcmF0ZUhlYWRlcgogICAgICAgICAkc3RydWN0dXJlRmxhZ3N7IkpTQzo6T3ZlcnJpZGVz
R2V0UHJvdG90eXBlIn0gPSAxOwogICAgIH0KICAgICAKLSAgICBpZiAoJGludGVyZmFjZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57Q3VzdG9tVG9TdHJpbmdOYW1lfSkgewotICAgICAgICBwdXNoKEBo
ZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmdOYW1lKGNvbnN0IEpTQzo6
SlNPYmplY3QqLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7XG4iKTsKLSAgICB9Ci0gICAgCiAgICAg
aWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0N1c3RvbVByZXZlbnRFeHRlbnNp
b25zfSkgewogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyBib29sIHBy
ZXZlbnRFeHRlbnNpb25zKEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7XG4i
KTsKICAgICB9CkBAIC03NjYyLDE3ICs3NjU4LDYgQEAgc3ViIEdlbmVyYXRlUHJvdG90eXBlRGVj
bGFyYXRpb24KICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJcbiIpOwogICAgIHB1c2goQCRvdXRw
dXRBcnJheSwgIiAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTtcbiIpOwogCi0gICAg
IyBGSVhNRTogU2hvdWxkIHRoaXMgb3ZlcnJpZGUgcHV0QnlJbmRleCBhcyB3ZWxsPwotICAgIGlm
ICgkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntDdXN0b21QdXRPblByb3RvdHlwZX0p
IHsKLSAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiXG4iKTsKLSAgICAgICAgcHVzaChAJG91
dHB1dEFycmF5LCAiICAgIHN0YXRpYyBib29sIHB1dChKU0M6OkpTQ2VsbCosIEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBKU0M6OlByb3BlcnR5TmFtZSwgSlNDOjpKU1ZhbHVlLCBKU0M6OlB1dFByb3Bl
cnR5U2xvdCYpO1xuIik7Ci0gICAgfQotCi0gICAgaWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0
cmlidXRlcy0+e0N1c3RvbURlZmluZU93blByb3BlcnR5T25Qcm90b3R5cGV9KSB7Ci0gICAgICAg
IHB1c2goQCRvdXRwdXRBcnJheSwgIlxuIik7Ci0gICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiAgICBzdGF0aWMgYm9vbCBkZWZpbmVPd25Qcm9wZXJ0eShKU0M6OkpTT2JqZWN0KiwgSlNDOjpK
U0dsb2JhbE9iamVjdCosIEpTQzo6UHJvcGVydHlOYW1lLCBjb25zdCBKU0M6OlByb3BlcnR5RGVz
Y3JpcHRvciYsIGJvb2wgc2hvdWxkVGhyb3cpO1xuIik7Ci0gICAgfQotCiAgICAgJHN0cnVjdHVy
ZUZsYWdzeyJKU0M6Okhhc1N0YXRpY1Byb3BlcnR5VGFibGUifSA9IDEgaWYgUHJvdG90eXBlSGFz
U3RhdGljUHJvcGVydHlUYWJsZSgkaW50ZXJmYWNlKSAmJiBJc0dsb2JhbEludGVyZmFjZSgkaW50
ZXJmYWNlKTsKICAgICAkc3RydWN0dXJlRmxhZ3N7IkpTQzo6SXNJbW11dGFibGVQcm90b3R5cGVF
eG90aWNPYmplY3QifSA9IDEgaWYgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57SXNJ
bW11dGFibGVQcm90b3R5cGVFeG90aWNPYmplY3RPblByb3RvdHlwZX07CiAKQEAgLTgwMzYsOSAr
ODAyMSw3IEBAIHN1YiBJbnN0YW5jZU92ZXJyaWRlc0dldENhbGxEYXRhCiBzdWIgSGVhZGVyTmVl
ZHNQcm90b3R5cGVEZWNsYXJhdGlvbgogewogICAgIG15ICRpbnRlcmZhY2UgPSBzaGlmdDsKLSAg
ICByZXR1cm4gSXNET01HbG9iYWxPYmplY3QoJGludGVyZmFjZSkKLSAgICAgICAgfHwgJGludGVy
ZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q3VzdG9tUHV0T25Qcm90b3R5cGV9Ci0gICAgICAg
IHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0N1c3RvbURlZmluZU93blByb3Bl
cnR5T25Qcm90b3R5cGV9OworICAgIHJldHVybiBJc0RPTUdsb2JhbE9iamVjdCgkaW50ZXJmYWNl
KTsKIH0KIAogc3ViIElzTGVnYWN5VW5mb3JnZWFibGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy5qc29uCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy5qc29uCShyZXZpc2lvbiAyNzAx
NjUpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMuanNv
bgkod29ya2luZyBjb3B5KQpAQCAtOTEsOSArOTEsNiBAQAogICAgICAgICAiQ3VzdG9tRGVmaW5l
T3duUHJvcGVydHkiOiB7CiAgICAgICAgICAgICAiY29udGV4dHNBbGxvd2VkIjogWyJpbnRlcmZh
Y2UiXQogICAgICAgICB9LAotICAgICAgICAiQ3VzdG9tRGVmaW5lT3duUHJvcGVydHlPblByb3Rv
dHlwZSI6IHsKLSAgICAgICAgICAgICJjb250ZXh0c0FsbG93ZWQiOiBbImludGVyZmFjZSJdCi0g
ICAgICAgIH0sCiAgICAgICAgICJDdXN0b21EZWxldGVQcm9wZXJ0eSI6IHsKICAgICAgICAgICAg
ICJjb250ZXh0c0FsbG93ZWQiOiBbImludGVyZmFjZSJdCiAgICAgICAgIH0sCkBAIC0xMzMsMTgg
KzEzMCwxMiBAQAogICAgICAgICAiQ3VzdG9tUHV0IjogewogICAgICAgICAgICAgImNvbnRleHRz
QWxsb3dlZCI6IFsiaW50ZXJmYWNlIl0KICAgICAgICAgfSwKLSAgICAgICAgIkN1c3RvbVB1dE9u
UHJvdG90eXBlIjogewotICAgICAgICAgICAgImNvbnRleHRzQWxsb3dlZCI6IFsiaW50ZXJmYWNl
Il0KLSAgICAgICAgfSwKICAgICAgICAgIkN1c3RvbVNldHRlciI6IHsKICAgICAgICAgICAgICJj
b250ZXh0c0FsbG93ZWQiOiBbImF0dHJpYnV0ZSJdCiAgICAgICAgIH0sCiAgICAgICAgICJDdXN0
b21Ub0pTT2JqZWN0IjogewogICAgICAgICAgICAgImNvbnRleHRzQWxsb3dlZCI6IFsiaW50ZXJm
YWNlIl0KICAgICAgICAgfSwKLSAgICAgICAgIkN1c3RvbVRvU3RyaW5nTmFtZSI6IHsKLSAgICAg
ICAgICAgICJjb250ZXh0c0FsbG93ZWQiOiBbImludGVyZmFjZSJdCi0gICAgICAgIH0sCiAgICAg
ICAgICJDdXN0b21FbmFibGVkIjogewogICAgICAgICAgICAgImNvbnRleHRzQWxsb3dlZCI6IFsi
aW50ZXJmYWNlIiwgImRpY3Rpb25hcnkiLCAiZW51bSIsICJhdHRyaWJ1dGUiLCAib3BlcmF0aW9u
IiwgImNvbnN0YW50IiwgIml0ZXJhYmxlIl0KICAgICAgICAgfSwKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDI3MDE2NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNiBAQAogICAgIEN1c3Rv
bVByZXZlbnRFeHRlbnNpb25zLAogICAgIEN1c3RvbVByb3h5VG9KU09iamVjdCwKICAgICBDdXN0
b21QdXQsCi0gICAgQ3VzdG9tVG9TdHJpbmdOYW1lLAogICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVf
RVhQT1JULAogICAgIEltcGxpY2l0VGhpcywKICAgICBJbnRlcmZhY2VOYW1lPVdpbmRvdywKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsCShyZXZpc2lvbiAyNzAxNjUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL0xvY2F0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTUgKzMwLDEy
IEBACiBbCiAgICAgQ2hlY2tTZWN1cml0eSwKICAgICBDdXN0b21EZWZpbmVPd25Qcm9wZXJ0eSwK
LSAgICBDdXN0b21EZWZpbmVPd25Qcm9wZXJ0eU9uUHJvdG90eXBlLAogICAgIEN1c3RvbURlbGV0
ZVByb3BlcnR5LAogICAgIEN1c3RvbUdldE93blByb3BlcnR5TmFtZXMsCiAgICAgQ3VzdG9tR2V0
T3duUHJvcGVydHlTbG90LAogICAgIEN1c3RvbUdldFByb3RvdHlwZSwKICAgICBDdXN0b21QcmV2
ZW50RXh0ZW5zaW9ucywKICAgICBDdXN0b21QdXQsCi0gICAgQ3VzdG9tUHV0T25Qcm90b3R5cGUs
Ci0gICAgQ3VzdG9tVG9TdHJpbmdOYW1lLAogICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JU
LAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9UmVhY2hhYmxlRnJvbURPTVdpbmRvdywKICAgICBJ
c0ltbXV0YWJsZVByb3RvdHlwZUV4b3RpY09iamVjdCwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUmVtb3RlRE9NV2luZG93LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L1JlbW90ZURPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDI3MDE2NSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUmVtb3RlRE9NV2luZG93LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNiBA
QAogICAgIEN1c3RvbVByZXZlbnRFeHRlbnNpb25zLAogICAgIEN1c3RvbVByb3h5VG9KU09iamVj
dCwKICAgICBDdXN0b21QdXQsCi0gICAgQ3VzdG9tVG9TdHJpbmdOYW1lLAogICAgIEltcGxpY2l0
VGhpcywKICAgICBJbnRlcmZhY2VOYW1lPVdpbmRvdywKICAgICBJc0ltbXV0YWJsZVByb3RvdHlw
ZUV4b3RpY09iamVjdCwKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3MDE2NSkKKysrIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIwLTEyLTA0ICBB
bGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBbV2ViSURM
XSBSZW1vdmUgW0N1c3RvbVRvU3RyaW5nTmFtZV0gYW5kIExvY2F0aW9uLXNwZWNpZmljIGV4dGVu
ZGVkIGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxOTI3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZmFzdC9kb20vV2luZG93L0xvY2F0aW9uL2xvY2F0aW9uLW92ZXJyaWRlLXRvU3Ry
aW5nLXVzaW5nLWRlZmluZUdldHRlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20v
V2luZG93L0xvY2F0aW9uL2xvY2F0aW9uLW92ZXJyaWRlLXRvU3RyaW5nLXVzaW5nLWRlZmluZUdl
dHRlci5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy9Mb2NhdGlvbi9sb2NhdGlvbi1v
dmVycmlkZS12YWx1ZU9mLXVzaW5nLWRlZmluZUdldHRlci1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9kb20vV2luZG93L0xvY2F0aW9uL2xvY2F0aW9uLW92ZXJyaWRlLXZhbHVlT2YtdXNp
bmctZGVmaW5lR2V0dGVyLmh0bWw6CisKIDIwMjAtMTEtMjIgIERpZWdvIFBpbm8gR2FyY2lhICA8
ZHBpbm9AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl1bR1RLXSBVbnJldmlld2VkIHRlc3Qg
Z2FyZGVuaW5nLiBVcGRhdGVkIGV4cGVjdGF0aW9ucyBhbmQgYmFzZWxpbmVzIGFmdGVyIDI3MDE2
NC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9Mb2NhdGlvbi9sb2NhdGlvbi1v
dmVycmlkZS10b1N0cmluZy11c2luZy1kZWZpbmVHZXR0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9Mb2NhdGlvbi9sb2NhdGlvbi1vdmVy
cmlkZS10b1N0cmluZy11c2luZy1kZWZpbmVHZXR0ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAy
NzAxNjUpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvTG9jYXRpb24vbG9jYXRpb24t
b3ZlcnJpZGUtdG9TdHJpbmctdXNpbmctZGVmaW5lR2V0dGVyLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLVBBU1MgcmVzdWx0IGlzIGNvcnJlY3RWYWx1ZQorUEFT
UyBsb2NhdGlvbi5fX2RlZmluZUdldHRlcl9fKCd0b1N0cmluZycsIGdldHRlcikgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogQXR0ZW1wdGluZyB0byBjaGFuZ2UgY29uZmlndXJhYmxlIGF0dHJp
YnV0ZSBvZiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4uCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL1dp
bmRvdy9Mb2NhdGlvbi9sb2NhdGlvbi1vdmVycmlkZS10b1N0cmluZy11c2luZy1kZWZpbmVHZXR0
ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvTG9jYXRp
b24vbG9jYXRpb24tb3ZlcnJpZGUtdG9TdHJpbmctdXNpbmctZGVmaW5lR2V0dGVyLmh0bWwJKHJl
dmlzaW9uIDI3MDE2NSkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9Mb2NhdGlvbi9s
b2NhdGlvbi1vdmVycmlkZS10b1N0cmluZy11c2luZy1kZWZpbmVHZXR0ZXIuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxNyArMSwxMSBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLSAgICA8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL2xvY2F0aW9uLXRlc3RzLWZ1bmN0aW9ucy5qcyI+PC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+Ci0gICAgd2luZG93LmxvY2F0aW9uLl9fZGVm
aW5lR2V0dGVyX18oInRvU3RyaW5nIiwgZnVuY3Rpb24gKCkgewotICAgICAgICByZXR1cm4gZnVu
Y3Rpb24oKSB7IHJldHVybiAiaGF4b3JlZCI7IH0KLSAgICB9KTsKLQotICAgIHZhciByZXN1bHQg
PSBub3JtYWxpemVVUkwoU3RyaW5nKHdpbmRvdy5sb2NhdGlvbikpOwotICAgIHZhciBjb3JyZWN0
VmFsdWUgPSBub3JtYWxpemVVUkwoZG9jdW1lbnQuVVJMKTsKLSAgICBzaG91bGRCZSgicmVzdWx0
IiwgImNvcnJlY3RWYWx1ZSIpOworICAgIGZ1bmN0aW9uIGdldHRlcigpIHsgdGhyb3cgbmV3IEVy
cm9yKCJbW0dldF1dIHNob3VsZCBiZSB1bnJlYWNoZWQhIik7IH0KKyAgICBzaG91bGRUaHJvd0Vy
cm9yTmFtZSgibG9jYXRpb24uX19kZWZpbmVHZXR0ZXJfXygndG9TdHJpbmcnLCBnZXR0ZXIpIiwg
IlR5cGVFcnJvciIpOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9XaW5kb3cvTG9jYXRpb24vbG9jYXRpb24tb3ZlcnJpZGUtdmFsdWVPZi11c2lu
Zy1kZWZpbmVHZXR0ZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy9Mb2NhdGlvbi9sb2NhdGlvbi1vdmVycmlkZS12YWx1ZU9mLXVzaW5nLWRl
ZmluZUdldHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3MDE2NSkKKysrIExheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy9Mb2NhdGlvbi9sb2NhdGlvbi1vdmVycmlkZS12YWx1ZU9mLXVzaW5n
LWRlZmluZUdldHRlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBA
Ci1QQVNTIHJlc3VsdCBpcyBjb3JyZWN0VmFsdWUKK1BBU1MgbG9jYXRpb24uX19kZWZpbmVHZXR0
ZXJfXygndmFsdWVPZicsIGdldHRlcikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXR0ZW1w
dGluZyB0byBjaGFuZ2UgY29uZmlndXJhYmxlIGF0dHJpYnV0ZSBvZiB1bmNvbmZpZ3VyYWJsZSBw
cm9wZXJ0eS4uCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExF
VEUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9Mb2NhdGlvbi9sb2NhdGlvbi1v
dmVycmlkZS12YWx1ZU9mLXVzaW5nLWRlZmluZUdldHRlci5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9Mb2NhdGlvbi9sb2NhdGlvbi1vdmVycmlkZS12YWx1
ZU9mLXVzaW5nLWRlZmluZUdldHRlci5odG1sCShyZXZpc2lvbiAyNzAxNjUpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9XaW5kb3cvTG9jYXRpb24vbG9jYXRpb24tb3ZlcnJpZGUtdmFsdWVPZi11
c2luZy1kZWZpbmVHZXR0ZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxNyArMSwxMSBAQAog
PGh0bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2xvY2F0
aW9uLXRlc3RzLWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3Jp
cHQ+Ci0gICAgd2luZG93LmxvY2F0aW9uLl9fZGVmaW5lR2V0dGVyX18oInZhbHVlT2YiLCBmdW5j
dGlvbiAoKSB7Ci0gICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsgcmV0dXJuICJoYXhvcmVkIjsg
fQotICAgIH0pOwotCi0gICAgdmFyIHJlc3VsdCA9IG5vcm1hbGl6ZVVSTChTdHJpbmcod2luZG93
LmxvY2F0aW9uKSk7Ci0gICAgdmFyIGNvcnJlY3RWYWx1ZSA9IG5vcm1hbGl6ZVVSTChkb2N1bWVu
dC5VUkwpOwotICAgIHNob3VsZEJlKCJyZXN1bHQiLCAiY29ycmVjdFZhbHVlIik7CisgICAgZnVu
Y3Rpb24gZ2V0dGVyKCkgeyB0aHJvdyBuZXcgRXJyb3IoIltbR2V0XV0gc2hvdWxkIGJlIHVucmVh
Y2hlZCEiKTsgfQorICAgIHNob3VsZFRocm93RXJyb3JOYW1lKCJsb2NhdGlvbi5fX2RlZmluZUdl
dHRlcl9fKCd2YWx1ZU9mJywgZ2V0dGVyKSIsICJUeXBlRXJyb3IiKTsKIDwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgogPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
NzA0NjMpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMTItMDQgIEFsZXhleSBTaHZheWthICA8c2h2YWlr
YWxlc2hAZ21haWwuY29tPgorCisgICAgICAgIFtXZWJJRExdIFJlbW92ZSBbQ3VzdG9tVG9TdHJp
bmdOYW1lXSBhbmQgTG9jYXRpb24tc3BlY2lmaWMgZXh0ZW5kZWQgYXR0cmlidXRlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5Mjc2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRp
b24tZGVmaW5lLW93bi1wcm9wZXJ0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWxvY2F0aW9uLWludGVy
ZmFjZS9sb2NhdGlvbi1kZWZpbmUtb3duLXByb3BlcnR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWxvY2F0aW9uLWlu
dGVyZmFjZS9sb2NhdGlvbi1wcm90b3R5cGUtZGVmaW5lLW93bi1wcm9wZXJ0eS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hp
c3RvcnkvdGhlLWxvY2F0aW9uLWludGVyZmFjZS9sb2NhdGlvbi1wcm90b3R5cGUtZGVmaW5lLW93
bi1wcm9wZXJ0eS5odG1sOiBBZGRlZC4KKwogMjAyMC0xMi0wNCAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU10gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRpb2J1ZmZlci1pbnRlcmZhY2Uv
Y3Rvci1hdWRpb2J1ZmZlci5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3Rvcnkv
dGhlLWxvY2F0aW9uLWludGVyZmFjZS9sb2NhdGlvbi1kZWZpbmUtb3duLXByb3BlcnR5LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlzdG9yeS90aGUtbG9jYXRpb24taW50ZXJmYWNlL2xv
Y2F0aW9uLWRlZmluZS1vd24tcHJvcGVydHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vy
cy9oaXN0b3J5L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tZGVmaW5lLW93bi1wcm9w
ZXJ0eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACisKK1BBU1Mg
J3RvU3RyaW5nJyByZWRlZmluaXRpb24gd2l0aCBhY2Nlc3NvciBmYWlscworUEFTUyAndmFsdWVP
ZicgcmVkZWZpbml0aW9uIHdpdGggYWNjZXNzb3IgZmFpbHMKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhl
LWxvY2F0aW9uLWludGVyZmFjZS9sb2NhdGlvbi1kZWZpbmUtb3duLXByb3BlcnR5Lmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWxvY2F0aW9uLWludGVyZmFjZS9sb2NhdGlvbi1kZWZp
bmUtb3duLXByb3BlcnR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWxvY2F0
aW9uLWludGVyZmFjZS9sb2NhdGlvbi1kZWZpbmUtb3duLXByb3BlcnR5Lmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+W1tEZWZpbmVPd25Qcm9wZXJ0eV1dIG9uIGEgc2FtZS1vcmlnaW4gTG9j
YXRpb24gb2JqZWN0IGJlaGF2ZXMgbGlrZSBvcmRpbmFyeTwvdGl0bGU+Cis8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2hpc3Rvcnku
aHRtbCNsb2NhdGlvbi1kZWZpbmVvd25wcm9wZXJ0eSI+CisKKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsK
KwordGVzdCgoKSA9PiB7CisgIGFzc2VydF9vd25fcHJvcGVydHkobG9jYXRpb24sICJ0b1N0cmlu
ZyIpOworICBjb25zdCBvcmlnVG9TdHJpbmcgPSBsb2NhdGlvbi50b1N0cmluZzsKKworICBhc3Nl
cnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4geworICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0
eShsb2NhdGlvbiwgInRvU3RyaW5nIiwgeworICAgICAgZ2V0KCkge30sCisgICAgICBzZXQoX3Yp
IHt9LAorICAgICAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwK
KyAgICB9KTsKKyAgfSk7CisKKyAgYXNzZXJ0X2VxdWFscyhsb2NhdGlvbi50b1N0cmluZywgb3Jp
Z1RvU3RyaW5nKTsKK30sICIndG9TdHJpbmcnIHJlZGVmaW5pdGlvbiB3aXRoIGFjY2Vzc29yIGZh
aWxzIik7CisKK3Rlc3QoKCkgPT4geworICBhc3NlcnRfb3duX3Byb3BlcnR5KGxvY2F0aW9uLCAi
dmFsdWVPZiIpOworICBjb25zdCBvcmlnVmFsdWVPZiA9IGxvY2F0aW9uLnZhbHVlT2Y7CisKKyAg
YXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsKKyAgICBPYmplY3QuZGVmaW5lUHJv
cGVydHkobG9jYXRpb24sICJ2YWx1ZU9mIiwgeworICAgICAgZ2V0KCkge30sCisgICAgICBlbnVt
ZXJhYmxlOiBmYWxzZSwKKyAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKKyAgICB9KTsKKyAgfSk7
CisKKyAgYXNzZXJ0X2VxdWFscyhsb2NhdGlvbi52YWx1ZU9mLCBvcmlnVmFsdWVPZik7Cit9LCAi
J3ZhbHVlT2YnIHJlZGVmaW5pdGlvbiB3aXRoIGFjY2Vzc29yIGZhaWxzIik7Cis8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9i
cm93c2Vycy9oaXN0b3J5L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tcHJvdG90eXBl
LWRlZmluZS1vd24tcHJvcGVydHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5
L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRpb24tcHJvdG90eXBlLWRlZmluZS1vd24tcHJv
cGVydHktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1sb2NhdGlv
bi1pbnRlcmZhY2UvbG9jYXRpb24tcHJvdG90eXBlLWRlZmluZS1vd24tcHJvcGVydHktZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNiBAQAorCitQQVNTICd0b1N0cmluZycg
YWNjZXNzb3IgcHJvcGVydHkgaXMgZGVmaW5lZAorUEFTUyAndG9TdHJpbmcnIGRhdGEgcHJvcGVy
dHkgaXMgY3JlYXRlZCB2aWEgW1tTZXRdXQorUEFTUyAndmFsdWVPZicgYWNjZXNzb3IgcHJvcGVy
dHkgaXMgZGVmaW5lZAorUEFTUyAndmFsdWVPZicgZGF0YSBwcm9wZXJ0eSBpcyBjcmVhdGVkIHZp
YSBbW1NldF1dCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3RoZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jYXRp
b24tcHJvdG90eXBlLWRlZmluZS1vd24tcHJvcGVydHkuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlz
dG9yeS90aGUtbG9jYXRpb24taW50ZXJmYWNlL2xvY2F0aW9uLXByb3RvdHlwZS1kZWZpbmUtb3du
LXByb3BlcnR5Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWxvY2F0aW9uLWlu
dGVyZmFjZS9sb2NhdGlvbi1wcm90b3R5cGUtZGVmaW5lLW93bi1wcm9wZXJ0eS5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPkxvY2F0aW9uLnByb3RvdHlwZSBoYXMgb3JkaW5hcnkgW1tEZWZp
bmVPd25Qcm9wZXJ0eV1dIG1ldGhvZDwvdGl0bGU+CisKKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKKwor
dGVzdCh0ID0+IHsKKyAgYXNzZXJ0X25vdF9vd25fcHJvcGVydHkoTG9jYXRpb24ucHJvdG90eXBl
LCAidG9TdHJpbmciKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGRlbGV0ZSBMb2NhdGlvbi5w
cm90b3R5cGUudG9TdHJpbmc7IH0pOworCisgIGxldCB2YWw7CisgIE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eShMb2NhdGlvbi5wcm90b3R5cGUsICJ0b1N0cmluZyIsIHsKKyAgICBnZXQ6ICgpID0+IHZh
bCwKKyAgICBzZXQ6IG5ld1ZhbCA9PiB7IHZhbCA9IG5ld1ZhbDsgfSwKKyAgICBlbnVtZXJhYmxl
OiBmYWxzZSwKKyAgICBjb25maWd1cmFibGU6IHRydWUsCisgIH0pOworCisgIExvY2F0aW9uLnBy
b3RvdHlwZS50b1N0cmluZyA9IDI7CisgIGFzc2VydF9lcXVhbHMoTG9jYXRpb24ucHJvdG90eXBl
LnRvU3RyaW5nLCAyKTsKK30sICIndG9TdHJpbmcnIGFjY2Vzc29yIHByb3BlcnR5IGlzIGRlZmlu
ZWQiKTsKKwordGVzdCh0ID0+IHsKKyAgYXNzZXJ0X25vdF9vd25fcHJvcGVydHkoTG9jYXRpb24u
cHJvdG90eXBlLCAidG9TdHJpbmciKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGRlbGV0ZSBM
b2NhdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7IH0pOworCisgIExvY2F0aW9uLnByb3RvdHlwZS50
b1N0cmluZyA9IDQ7CisgIGFzc2VydF9lcXVhbHMoTG9jYXRpb24ucHJvdG90eXBlLnRvU3RyaW5n
LCA0KTsKK30sICIndG9TdHJpbmcnIGRhdGEgcHJvcGVydHkgaXMgY3JlYXRlZCB2aWEgW1tTZXRd
XSIpOworCit0ZXN0KHQgPT4geworICBhc3NlcnRfbm90X293bl9wcm9wZXJ0eShMb2NhdGlvbi5w
cm90b3R5cGUsICJ2YWx1ZU9mIik7CisgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBkZWxldGUgTG9j
YXRpb24ucHJvdG90eXBlLnZhbHVlT2Y7IH0pOworCisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShM
b2NhdGlvbi5wcm90b3R5cGUsICJ2YWx1ZU9mIiwgeworICAgIGdldDogKCkgPT4gNiwKKyAgICBl
bnVtZXJhYmxlOiB0cnVlLAorICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKKyAgfSk7CisKKyAgYXNz
ZXJ0X2VxdWFscyhMb2NhdGlvbi5wcm90b3R5cGUudmFsdWVPZiwgNik7Cit9LCAiJ3ZhbHVlT2Yn
IGFjY2Vzc29yIHByb3BlcnR5IGlzIGRlZmluZWQiKTsKKwordGVzdCh0ID0+IHsKKyAgYXNzZXJ0
X25vdF9vd25fcHJvcGVydHkoTG9jYXRpb24ucHJvdG90eXBlLCAidmFsdWVPZiIpOworICB0LmFk
ZF9jbGVhbnVwKCgpID0+IHsgZGVsZXRlIExvY2F0aW9uLnByb3RvdHlwZS52YWx1ZU9mOyB9KTsK
KworICBMb2NhdGlvbi5wcm90b3R5cGUudmFsdWVPZiA9IDg7CisgIGFzc2VydF9lcXVhbHMoT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihMb2NhdGlvbi5wcm90b3R5cGUsICJ2YWx1ZU9m
IikudmFsdWUsIDgpOworfSwgIid2YWx1ZU9mJyBkYXRhIHByb3BlcnR5IGlzIGNyZWF0ZWQgdmlh
IFtbU2V0XV0iKTsKKzwvc2NyaXB0Pgo=
</data>
<flag name="review"
          id="432697"
          type_id="1"
          status="+"
          setter="sam"
    />
    <flag name="commit-queue"
          id="433460"
          type_id="3"
          status="-"
          setter="ashvayka"
    />
          </attachment>
      

    </bug>

</bugzilla>