<?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>127671</bug_id>
          
          <creation_ts>2014-01-26 22:18:43 -0800</creation_ts>
          <short_desc>WebCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed</short_desc>
          <delta_ts>2014-01-27 20:01:31 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>alecflett</cc>
    
    <cc>allan.jensen</cc>
    
    <cc>andersca</cc>
    
    <cc>apinheiro</cc>
    
    <cc>benjamin</cc>
    
    <cc>cfleizach</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>d-r</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</cc>
    
    <cc>jsbell</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>mario</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pdr</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>samuel_white</cc>
    
    <cc>sam</cc>
    
    <cc>schenney</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>972336</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-26 22:18:43 -0800</bug_when>
    <thetext>Catches a few subtle bugs, identified some possible bugs, but overall mostly straightforward.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972338</commentid>
    <comment_count>1</comment_count>
      <attachid>222303</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-26 22:41:36 -0800</bug_when>
    <thetext>Created attachment 222303
[PATCH] Proposed Fix

Probably relies on the JavaScriptCore patch landing as well so I won&apos;t put cq? on it. Tested debug and release compiles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972742</commentid>
    <comment_count>2</comment_count>
      <attachid>222303</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-01-27 19:09:20 -0800</bug_when>
    <thetext>Comment on attachment 222303
[PATCH] Proposed Fix

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

&gt; Source/WebCore/css/SVGCSSParser.cpp:274
&gt; +        break;

Nice catch!

&gt; Source/WebCore/css/StyleResolver.cpp:2230
&gt; +            return;
&gt;          }
&gt; +        

Ditto!

&gt; Source/WebCore/rendering/AutoTableLayout.cpp:-523
&gt; -            // fall through

Huh, out-dated comment. That&apos;s classic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972754</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-27 20:01:31 -0800</bug_when>
    <thetext>Landed &lt;http://trac.webkit.org/changeset/162907&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222303</attachid>
            <date>2014-01-26 22:41:36 -0800</date>
            <delta_ts>2014-01-27 19:09:20 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>webcore.patch</filename>
            <type>text/plain</type>
            <size>53740</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggMGVjZmQxNi4uMjNkYWIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNC0wMS0yNiAg
Sm9zZXBoIFBlY29yYXJvICA8am9lcGVjazAyQGdtYWlsLmNvbT4KKworICAgICAgICBXZWJDb3Jl
OiBFbmFibGUgLVdpbXBsaWNpdC1mYWxsdGhyb3VnaCBhbmQgYWRkIEZBTExUSFJPVUdIIGFubm90
YXRpb24gd2hlcmUgbmVlZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjc2NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHd0Zi90ZXh0L1dURlN0cmluZy5oOgorICAgICAgICAoV1RGOjphcHBlbmRO
dW1iZXIpOgorCiAyMDE0LTAxLTI1ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmVtb3ZlIHVudXNlZCBzdXBwb3J0IGZvciBEUkFHR0FCTEVfUkVHSU9OCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oIGIvU291cmNlL1dURi93dGYvdGV4
dC9XVEZTdHJpbmcuaAppbmRleCBjZjVhM2I1Li41YzhhMGFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3Ry
aW5nLmgKQEAgLTYwMiwxMCArNjAyLDEyIEBAIGlubGluZSB2b2lkIGFwcGVuZE51bWJlcihWZWN0
b3I8Q2hhcmFjdGVyVHlwZT4mIHZlY3RvciwgdW5zaWduZWQgY2hhciBudW1iZXIpCiAgICAgY2Fz
ZSAzOgogICAgICAgICB2ZWN0b3JbdmVjdG9yU2l6ZSArIDJdID0gbnVtYmVyICUgMTAgKyAnMCc7
CiAgICAgICAgIG51bWJlciAvPSAxMDsKKyAgICAgICAgRkFMTFRIUk9VR0g7CiAKICAgICBjYXNl
IDI6CiAgICAgICAgIHZlY3Rvclt2ZWN0b3JTaXplICsgMV0gPSBudW1iZXIgJSAxMCArICcwJzsK
ICAgICAgICAgbnVtYmVyIC89IDEwOworICAgICAgICBGQUxMVEhST1VHSDsKIAogICAgIGNhc2Ug
MToKICAgICAgICAgdmVjdG9yW3ZlY3RvclNpemVdID0gbnVtYmVyICUgMTAgKyAnMCc7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggMDdlMDU4My4uZmI2ZDk2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyNSBAQAor
MjAxNC0wMS0yNiAgSm9zZXBoIFBlY29yYXJvICA8am9lcGVjazAyQGdtYWlsLmNvbT4KKworICAg
ICAgICBXZWJDb3JlOiBFbmFibGUgLVdpbXBsaWNpdC1mYWxsdGhyb3VnaCBhbmQgYWRkIEZBTExU
SFJPVUdIIGFubm90YXRpb24gd2hlcmUgbmVlZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc2NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWc6Cisg
ICAgICAgIEVuYWJsZSB0aGUgd2FybmluZy4KKworICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkpOgor
ICAgICAgICBDYXVnaHQgYSBidWcuIENTU1Byb3BlcnR5V2Via2l0QWx0IGNvdWxkIGZhbGwgdGhy
b3VnaCB0byBDU1NQcm9wZXJ0eVF1b3Rlcy4KKworICAgICAgICAqIGNzcy9TVkdDU1NQYXJzZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVNWR1ZhbHVlKToKKyAgICAg
ICAgQ2F1Z2h0IGEgYnVnLiBDU1NQcm9wZXJ0eVdlYmtpdFN2Z1NoYWRvdyBjb3VsZCBmYWxsIHRo
cm91Z2ggdG8gQ1NTUHJvcGVydHlNYXNrVHlwZS4KKworICAgICAgICAqIHBsYXRmb3JtL0RlY2lt
YWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGVjaW1hbDo6ZnJvbVN0cmluZyk6CisgICAgICAg
IFBvc3NpYmxlIGJ1Zy4gSW1wbGVtZW50YXRpb24gZG9lc24ndCBzZWVtIHRvIG1hdGNoIGl0cyBk
b2N1bWVudGF0aW9uLgorICAgICAgICBGaWxlZCBhbiBpc3N1ZSB0byBmb2xsb3ctdXAgb24gdGhp
cyB1bmNsZWFyIGZ1bmN0aW9uLgorCisgICAgICAgICogY3NzL21ha2Vwcm9wLnBsOgorICAgICAg
ICAqIGNzcy9tYWtldmFsdWVzLnBsOgorICAgICAgICAqIHBsYXRmb3JtL0NvbG9yRGF0YS5ncGVy
ZjoKKyAgICAgICAgSWdub3JlIGltcGxpY2l0IGZhbGx0aHJvdWdoIHdhcm5pbmdzIGluIGdlbmVy
YXRlZCBjb2RlLiBncGVyZiBvdXRwdXRzCisgICAgICAgIGEgIi8qRkFMTFRIUk9VR0gqLyIgY29t
bWVudCwgYnV0IGlzIG5vdCBlYXNpbHkgY3VzdG9taXphYmxlIHRvIGNoYW5nZQorICAgICAgICB0
aGlzIG91dHB1dC4gRWFzaWVzdCB0byBqdXN0IGlnbm9yZSB0aGUgd2FybmluZyBmb3Igbm93Lgor
CisgICAgICAgICogcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpBdXRvVGFibGVMYXlvdXQ6OnJlY2FsY0NvbHVtbik6CisgICAgICAgIChXZWJDb3JlOjpB
dXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVMb2dpY2FsV2lkdGgpOgorICAgICAgICAoV2Vi
Q29yZTo6QXV0b1RhYmxlTGF5b3V0OjpsYXlvdXQpOgorICAgICAgICBUaGVyZSBoYXMgYmVlbiBh
ICJmYWxsIHRocm91Z2giIGNvbW1lbnQgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgYSBicmVhawor
ICAgICAgICBzaW5jZSBpdHMgaW50cm9kdWN0aW9uIGluIDIwMDMuIFJlbW92aW5nIHRoZSBpbmFj
Y3VyYXRlIGNvbW1lbnQuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlO
b2RlT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0
OjpjYW5IYXZlQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVP
YmplY3Q6OnZpc2libGVUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2Rl
T2JqZWN0Ojp0aXRsZSk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlckJhc2UgYWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uXSk6CisgICAgICAgICgtW1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZSBhY2Nlc3NpYmlsaXR5SGVscFRleHRdKToK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q2xvbmVTZXJpYWxpemVyOjpzZXJpYWxpemUpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2xvbmVEZXNlcmlhbGl6ZXI6OmRlc2VyaWFsaXplKToKKyAgICAgICAgKiBjc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXB1dGVkU3R5
bGVFeHRyYWN0b3I6OnByb3BlcnR5VmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Bh
cnNlcjo6cmVhbExleCk6CisgICAgICAgICogY3NzL0NTU1NlbGVjdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1NlbGVjdG9yOjpleHRyYWN0UHNldWRvVHlwZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0KToKKyAgICAgICAgKiBjc3MvU3R5bGVQcm9w
ZXJ0aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJvcGVydGllczo6YXNUZXh0KToK
KyAgICAgICAgKiBjc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmNoaWxkUnVsZXNIYXZlRmFpbGVkT3JDYW5jZWxlZFN1YnJlc291cmNlcyk6CisgICAgICAgICog
ZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YXBwZW5kVGV4dENvbnRlbnQpOgorICAg
ICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRhZyk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NFbmRUYWcpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRy
ZWVCdWlsZGVyOjpwcm9jZXNzQ2hhcmFjdGVyQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZE9mRmlsZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnBhcnNlRXZlbnRTdHJlYW0pOgor
ICAgICAgICAqIHBsYXRmb3JtL0RhdGVDb21wb25lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRhdGVDb21wb25lbnRzOjp0b1N0cmluZ0ZvclRpbWUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjp1cGRhdGVT
dGF0ZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENH
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6cGxhdGZvcm1Jbml0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcjo6dG90YWxCeXRlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0Z1bGxT
Y3JlZW5Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKEZ1bGxTY3JlZW5Db250cm9sbGVyOjpQcml2
YXRlOjpmdWxsc2NyZWVuQ2xpZW50V25kUHJvYyk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9C
aWRpUmVzb2x2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bj46OnVwZGF0ZVN0YXR1c0xhc3RG
cm9tQ3VycmVudERpcmVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSdW4+OjpjcmVhdGVCaWRp
UnVuc0ZvckxpbmUpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMb2NhbGVXaW46OmluaXRpYWxpemVMb2NhbGVEYXRhKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUG9pbnRlckV2ZW50c0hpdFJ1bGVzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBvaW50ZXJFdmVudHNIaXRSdWxlczo6UG9pbnRlckV2ZW50c0hpdFJ1bGVzKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrRmxvdzo6bmV3TGluZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJs
b2NrTGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OnVw
ZGF0ZUxvZ2ljYWxXaWR0aEZvckFsaWdubWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVSZXBsYWNlZExv
Z2ljYWxXaWR0aFVzaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OmNhbGN1bGF0
ZUZpbGxUaWxlU2l6ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmRyYXdMaW5lRm9yQm94U2lkZSk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclF1b3RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clF1b3RlOjpvcmlnaW5hbFRleHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNl
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6cmVwbGFjZWRDb250ZW50
UmVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRhYmxlOjphZGRDaGlsZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clRoZW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjphZGp1c3RTdHlsZSk6
CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclN0eWxlOjpzZXRXb3JkU3BhY2luZyk6CisgICAgICAgICogcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXF1ZXN0UGFp
bnRpbmdSZXNvdXJjZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdNYXJrZXJEYXRhLmg6
CisgICAgICAgIChXZWJDb3JlOjpTVkdNYXJrZXJEYXRhOjp1cGRhdGVNYXJrZXJEYXRhRm9yUGF0
aEVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdQYXRoUGFyc2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1BhdGhQYXJzZXI6OnBhcnNlUGF0aERhdGFGcm9tU291cmNlKToKKyAgICAgICAg
KiBzdmcvU1ZHVHJhbnNmb3JtRGlzdGFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVHJh
bnNmb3JtRGlzdGFuY2U6OlNWR1RyYW5zZm9ybURpc3RhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1RyYW5zZm9ybURpc3RhbmNlOjpzY2FsZWREaXN0YW5jZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdUcmFuc2Zvcm1EaXN0YW5jZTo6YWRkU1ZHVHJhbnNmb3Jtcyk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdUcmFuc2Zvcm1EaXN0YW5jZTo6YWRkVG9TVkdUcmFuc2Zvcm0pOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHVHJhbnNmb3JtRGlzdGFuY2U6OmRpc3RhbmNlKToKKyAgICAgICAgQWRkIGFu
bm90YXRpb24gb3IgYnJlYWsgYmVmb3JlIGZhbGxpbmcgaW50byBhIGRlZmF1bHQ6YnJlYWs7CisK
IDIwMTQtMDEtMjYgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBNb3ZlIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgaW50byBKYXZh
U2NyaXB0Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvQmFz
ZS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcK
aW5kZXggOWMwYzVkNC4uYWM4ZTBkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmln
dXJhdGlvbnMvQmFzZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9u
cy9CYXNlLnhjY29uZmlnCkBAIC03NCw3ICs3NCw3IEBAIEdDQ19XQVJOX1VOVVNFRF9GVU5DVElP
TiA9IFlFUzsKIEdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKIExJTktFUl9ESVNQTEFZ
U19NQU5HTEVEX05BTUVTID0gWUVTOwogUFJFQklORElORyA9IE5POwotV0FSTklOR19DRkxBR1Mg
PSAtV2FsbCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1XY2hhci1zdWJzY3JpcHRzIC1XZXh0cmEtdG9r
ZW5zIC1XZm9ybWF0PTIgLVdpbml0LXNlbGYgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdt
aXNzaW5nLW5vcmV0dXJuIC1XcGFja2VkIC1XcG9pbnRlci1hcml0aCAtV3JlZHVuZGFudC1kZWNs
cyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV2V4aXQtdGltZS1kZXN0cnVjdG9ycyAtV2dsb2Jh
bC1jb25zdHJ1Y3RvcnMgLVd0YXV0b2xvZ2ljYWwtY29tcGFyZTsKK1dBUk5JTkdfQ0ZMQUdTID0g
LVdhbGwgLVdleHRyYSAtV2Nhc3QtcXVhbCAtV2NoYXItc3Vic2NyaXB0cyAtV2V4dHJhLXRva2Vu
cyAtV2Zvcm1hdD0yIC1XaW5pdC1zZWxmIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XbWlz
c2luZy1ub3JldHVybiAtV3BhY2tlZCAtV3BvaW50ZXItYXJpdGggLVdyZWR1bmRhbnQtZGVjbHMg
LVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVdleGl0LXRpbWUtZGVzdHJ1Y3RvcnMgLVdnbG9iYWwt
Y29uc3RydWN0b3JzIC1XdGF1dG9sb2dpY2FsLWNvbXBhcmUgLVdpbXBsaWNpdC1mYWxsdGhyb3Vn
aDsKIAogVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IgPSAkKE1BQ19PU19YX1ZFUlNJT05f
TUFKT1IpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCmluZGV4IDNkNjhkMjMuLjlhNmFhOTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVP
YmplY3QuY3BwCkBAIC0zOTgsNiArMzk4LDcgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dDo6Y2FuSGF2ZUNoaWxkcmVuKCkgY29uc3QKICAgICBjYXNlIExlZ2VuZFJvbGU6CiAgICAgICAg
IGlmIChFbGVtZW50KiBlbGVtZW50ID0gdGhpcy0+ZWxlbWVudCgpKQogICAgICAgICAgICAgcmV0
dXJuICFhbmNlc3RvcnNPZlR5cGU8SFRNTEZpZWxkU2V0RWxlbWVudD4oKmVsZW1lbnQpLmZpcnN0
KCk7CisgICAgICAgIEZBTExUSFJPVUdIOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiB0
cnVlOwogICAgIH0KQEAgLTEzMzQsNiArMTMzNSw3IEBAIHZvaWQgQWNjZXNzaWJpbGl0eU5vZGVP
YmplY3Q6OnZpc2libGVUZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4mIHRleHRPcmRlcikK
ICAgICAgICAgLy8gTmF0aXZlIHBvcHVwIGJ1dHRvbnMgc2hvdWxkIG5vdCB1c2UgdGhlaXIgYnV0
dG9uIGNoaWxkcmVuJ3MgdGV4dCBhcyBhIHRpdGxlLiBUaGF0IHZhbHVlIGlzIHJldHJpZXZlZCB0
aHJvdWdoIHN0cmluZ1ZhbHVlKCkuCiAgICAgICAgIGlmIChub2RlLT5oYXNUYWdOYW1lKHNlbGVj
dFRhZykpCiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgY2Fz
ZSBCdXR0b25Sb2xlOgogICAgIGNhc2UgVG9nZ2xlQnV0dG9uUm9sZToKICAgICBjYXNlIENoZWNr
Qm94Um9sZToKQEAgLTE3MDksNiArMTcxMSw3IEBAIFN0cmluZyBBY2Nlc3NpYmlsaXR5Tm9kZU9i
amVjdDo6dGl0bGUoKSBjb25zdAogICAgICAgICAvLyBOYXRpdmUgcG9wdXAgYnV0dG9ucyBzaG91
bGQgbm90IHVzZSB0aGVpciBidXR0b24gY2hpbGRyZW4ncyB0ZXh0IGFzIGEgdGl0bGUuIFRoYXQg
dmFsdWUgaXMgcmV0cmlldmVkIHRocm91Z2ggc3RyaW5nVmFsdWUoKS4KICAgICAgICAgaWYgKG5v
ZGUtPmhhc1RhZ05hbWUoc2VsZWN0VGFnKSkKICAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsK
KyAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgY2FzZSBCdXR0b25Sb2xlOgogICAgIGNhc2UgVG9n
Z2xlQnV0dG9uUm9sZToKICAgICBjYXNlIENoZWNrQm94Um9sZToKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QmFzZS5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyQmFzZS5tbQppbmRleCA2ZGIyNGM3Li44MTdlOTUzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlckJhc2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCkBAIC0yMDEsNiArMjAxLDcgQEAgc3Rh
dGljIE5TQXJyYXkgKmNvbnZlcnRNYXRoUGFpcnNUb05TQXJyYXkoY29uc3QgQWNjZXNzaWJpbGl0
eU9iamVjdDo6QWNjZXNzaWJpbGkKICAgICAgICAgY2FzZSBDaGlsZHJlblRleHQ6CiAgICAgICAg
IGNhc2UgTGFiZWxCeUVsZW1lbnRUZXh0OgogICAgICAgICAgICAgdmlzaWJsZVRleHRBdmFpbGFi
bGUgPSB0cnVlOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMjMwLDYgKzIzMSw3IEBAIHN0YXRpYyBOU0FycmF5
ICpjb252ZXJ0TWF0aFBhaXJzVG9OU0FycmF5KGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3Q6OkFj
Y2Vzc2liaWxpCiAgICAgICAgIGNhc2UgQ2hpbGRyZW5UZXh0OgogICAgICAgICBjYXNlIExhYmVs
QnlFbGVtZW50VGV4dDoKICAgICAgICAgICAgIGRlc2NyaXB0aXZlVGV4dEF2YWlsYWJsZSA9IHRy
dWU7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCA2OTY4YTI5Li5lZTQ4YTRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAK
QEAgLTExODIsOSArMTE4Miw5IEBAIFNlcmlhbGl6YXRpb25SZXR1cm5Db2RlIENsb25lU2VyaWFs
aXplcjo6c2VyaWFsaXplKEpTVmFsdWUgaW4pCiAgICAgICAgICAgICAgICAgaW5wdXRPYmplY3RT
dGFjay5hcHBlbmQoaW5BcnJheSk7CiAgICAgICAgICAgICAgICAgaW5kZXhTdGFjay5hcHBlbmQo
MCk7CiAgICAgICAgICAgICAgICAgbGVuZ3RoU3RhY2suYXBwZW5kKGxlbmd0aCk7Ci0gICAgICAg
ICAgICAgICAgLy8gZmFsbHRocm91Z2gKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGFycmF5
U3RhcnRWaXNpdE1lbWJlcjoKKyAgICAgICAgICAgIEZBTExUSFJPVUdIOwogICAgICAgICAgICAg
Y2FzZSBBcnJheVN0YXJ0VmlzaXRNZW1iZXI6IHsKICAgICAgICAgICAgICAgICBKU09iamVjdCog
YXJyYXkgPSBpbnB1dE9iamVjdFN0YWNrLmxhc3QoKTsKICAgICAgICAgICAgICAgICB1aW50MzJf
dCBpbmRleCA9IGluZGV4U3RhY2subGFzdCgpOwpAQCAtMTI0NCw5ICsxMjQ0LDkgQEAgU2VyaWFs
aXphdGlvblJldHVybkNvZGUgQ2xvbmVTZXJpYWxpemVyOjpzZXJpYWxpemUoSlNWYWx1ZSBpbikK
ICAgICAgICAgICAgICAgICBpbmRleFN0YWNrLmFwcGVuZCgwKTsKICAgICAgICAgICAgICAgICBw
cm9wZXJ0eVN0YWNrLmFwcGVuZChQcm9wZXJ0eU5hbWVBcnJheShtX2V4ZWMpKTsKICAgICAgICAg
ICAgICAgICBpbk9iamVjdC0+bWV0aG9kVGFibGUoKS0+Z2V0T3duUHJvcGVydHlOYW1lcyhpbk9i
amVjdCwgbV9leGVjLCBwcm9wZXJ0eVN0YWNrLmxhc3QoKSwgRXhjbHVkZURvbnRFbnVtUHJvcGVy
dGllcyk7Ci0gICAgICAgICAgICAgICAgLy8gZmFsbHRocm91Z2gKICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIG9iamVjdFN0YXJ0VmlzaXRNZW1iZXI6CisgICAgICAgICAgICBGQUxMVEhST1VH
SDsKICAgICAgICAgICAgIGNhc2UgT2JqZWN0U3RhcnRWaXNpdE1lbWJlcjogewogICAgICAgICAg
ICAgICAgIEpTT2JqZWN0KiBvYmplY3QgPSBpbnB1dE9iamVjdFN0YWNrLmxhc3QoKTsKICAgICAg
ICAgICAgICAgICB1aW50MzJfdCBpbmRleCA9IGluZGV4U3RhY2subGFzdCgpOwpAQCAtMTI3OSw3
ICsxMjc5LDcgQEAgU2VyaWFsaXphdGlvblJldHVybkNvZGUgQ2xvbmVTZXJpYWxpemVyOjpzZXJp
YWxpemUoSlNWYWx1ZSBpbikKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgaWYg
KHRlcm1pbmFsQ29kZSAhPSBTdWNjZXNzZnVsbHlDb21wbGV0ZWQpCiAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiB0ZXJtaW5hbENvZGU7Ci0gICAgICAgICAgICAgICAgLy8gZmFsbHRocm91Z2gK
KyAgICAgICAgICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGNhc2UgT2JqZWN0RW5kVmlzaXRNZW1iZXI6IHsKICAgICAgICAgICAgICAgICBpZiAoc2hvdWxk
VGVybWluYXRlKCkpCkBAIC0yMzE3LDkgKzIzMTcsOSBAQCBEZXNlcmlhbGl6YXRpb25SZXN1bHQg
Q2xvbmVEZXNlcmlhbGl6ZXI6OmRlc2VyaWFsaXplKCkKICAgICAgICAgICAgIEpTQXJyYXkqIG91
dEFycmF5ID0gY29uc3RydWN0RW1wdHlBcnJheShtX2V4ZWMsIDAsIG1fZ2xvYmFsT2JqZWN0LCBs
ZW5ndGgpOwogICAgICAgICAgICAgbV9nY0J1ZmZlci5hcHBlbmQob3V0QXJyYXkpOwogICAgICAg
ICAgICAgb3V0cHV0T2JqZWN0U3RhY2suYXBwZW5kKG91dEFycmF5KTsKLSAgICAgICAgICAgIC8v
IGZhbGx0aHJvdWdoCiAgICAgICAgIH0KICAgICAgICAgYXJyYXlTdGFydFZpc2l0TWVtYmVyOgor
ICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAgY2FzZSBBcnJheVN0YXJ0VmlzaXRNZW1iZXI6
IHsKICAgICAgICAgICAgIHVpbnQzMl90IGluZGV4OwogICAgICAgICAgICAgaWYgKCFyZWFkKGlu
ZGV4KSkgewpAQCAtMjM1OCw5ICsyMzU4LDkgQEAgRGVzZXJpYWxpemF0aW9uUmVzdWx0IENsb25l
RGVzZXJpYWxpemVyOjpkZXNlcmlhbGl6ZSgpCiAgICAgICAgICAgICBKU09iamVjdCogb3V0T2Jq
ZWN0ID0gY29uc3RydWN0RW1wdHlPYmplY3QobV9leGVjLCBtX2dsb2JhbE9iamVjdC0+b2JqZWN0
UHJvdG90eXBlKCkpOwogICAgICAgICAgICAgbV9nY0J1ZmZlci5hcHBlbmQob3V0T2JqZWN0KTsK
ICAgICAgICAgICAgIG91dHB1dE9iamVjdFN0YWNrLmFwcGVuZChvdXRPYmplY3QpOwotICAgICAg
ICAgICAgLy8gZmFsbHRocm91Z2gKICAgICAgICAgfQogICAgICAgICBvYmplY3RTdGFydFZpc2l0
TWVtYmVyOgorICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAgY2FzZSBPYmplY3RTdGFydFZp
c2l0TWVtYmVyOiB7CiAgICAgICAgICAgICBDYWNoZWRTdHJpbmdSZWYgY2FjaGVkU3RyaW5nOwog
ICAgICAgICAgICAgYm9vbCB3YXNUZXJtaW5hdG9yID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDFjY2U0ZjIu
LmQyZTA1NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCkBAIC0yMjk3LDcgKzIyOTcsOSBAQCBQYXNzUmVmUHRyPENTU1ZhbHVl
PiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjpwcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5SUQgcHJv
cGVydAogICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShz
dHlsZS0+dGV4dEVtcGhhc2lzQ3VzdG9tTWFyaygpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NU
UklORyk7CiAgICAgICAgICAgICBjYXNlIFRleHRFbXBoYXNpc01hcmtBdXRvOgogICAgICAgICAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgICAgIC8vIEZhbGwgdGhy
b3VnaAorI2lmIEFTU0VSVF9ESVNBQkxFRAorICAgICAgICAgICAgICAgIEZBTExUSFJPVUdIOwor
I2VuZGlmCiAgICAgICAgICAgICBjYXNlIFRleHRFbXBoYXNpc01hcmtEb3Q6CiAgICAgICAgICAg
ICBjYXNlIFRleHRFbXBoYXNpc01hcmtDaXJjbGU6CiAgICAgICAgICAgICBjYXNlIFRleHRFbXBo
YXNpc01hcmtEb3VibGVDaXJjbGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGI2ZTU2
OTMuLmIwNmZlNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0xOTA5LDcgKzE5MDks
NyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9v
bCBpbXBvcnRhbnQpCiAgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IHRydWU7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICAvKiBub2JyZWFrICovCisgICAgICAgIEZB
TExUSFJPVUdIOwogICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3I6IC8vIDxjb2xv
cj4gfCBpbmhlcml0CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlclRvcENvbG9yOiAvLyA8Y29s
b3I+IHwgaW5oZXJpdAogICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJSaWdodENvbG9yOgpAQCAt
MzY5MCw2ICszNjkwLDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29udGVudChDU1NQcm9wZXJ0
eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgICAgICBjYXNlIENTU1ZhbHVlTm9u
ZToKICAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVOb3JtYWw6CiAgICAgICAgICAgICAgICAgcGFy
c2VkVmFsdWUgPSBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsLT5pZCk7
CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQpAQCAtMTA5MzAsMTMgKzEwOTMxLDE0IEBAIHJl
c3RhcnRBZnRlckNvbW1lbnQ6CiAKICAgICBzd2l0Y2ggKChtX3Rva2VuIDw9IDEyNykgPyB0eXBl
c09mQVNDSUlDaGFyYWN0ZXJzW21fdG9rZW5dIDogQ2hhcmFjdGVySWRlbnRpZmllclN0YXJ0KSB7
CiAgICAgY2FzZSBDaGFyYWN0ZXJDYXNlbGVzc1U6Ci0gICAgICAgIGlmIChVTkxJS0VMWSgqY3Vy
cmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID09ICcrJykpCisgICAgICAgIGlmIChV
TkxJS0VMWSgqY3VycmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpID09ICcrJykpIHsK
ICAgICAgICAgICAgIGlmIChwYXJzZVVuaWNvZGVSYW5nZTxTcmNDaGFyYWN0ZXJUeXBlPigpKSB7
CiAgICAgICAgICAgICAgICAgbV90b2tlbiA9IFVOSUNPREVSQU5HRTsKICAgICAgICAgICAgICAg
ICB5eWx2YWwtPnN0cmluZy5pbml0KHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSwgY3Vy
cmVudENoYXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpIC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0
ZXJUeXBlPigpKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KLSAgICAg
ICAgLy8gRmFsbCB0aHJvdWdoIHRvIENoYXJhY3RlcklkZW50aWZpZXJTdGFydC4KKyAgICAgICAg
fQorICAgICAgICBGQUxMVEhST1VHSDsgLy8gVG8gQ2hhcmFjdGVySWRlbnRpZmllclN0YXJ0Lgog
CiAgICAgY2FzZSBDaGFyYWN0ZXJJZGVudGlmaWVyU3RhcnQ6CiAgICAgICAgIC0tY3VycmVudENo
YXJhY3RlcjxTcmNDaGFyYWN0ZXJUeXBlPigpOwpAQCAtMTEwMTEsNyArMTEwMTMsNyBAQCByZXN0
YXJ0QWZ0ZXJDb21tZW50OgogICAgIGNhc2UgQ2hhcmFjdGVyRG90OgogICAgICAgICBpZiAoIWlz
QVNDSUlEaWdpdChjdXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KClbMF0pKQogICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIC8vIEZhbGwgdGhyb3VnaCB0byBDaGFyYWN0ZXJOdW1i
ZXIuCisgICAgICAgIEZBTExUSFJPVUdIOyAvLyBUbyBDaGFyYWN0ZXJOdW1iZXIuCiAKICAgICBj
YXNlIENoYXJhY3Rlck51bWJlcjogewogICAgICAgICBib29sIGRvdFNlZW4gPSAobV90b2tlbiA9
PSAnLicpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKaW5kZXggMTBhODg2ZC4uM2U2NDVj
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCkBAIC00MDAsNiArNDAwLDcgQEAgdm9p
ZCBDU1NTZWxlY3Rvcjo6ZXh0cmFjdFBzZXVkb1R5cGUoKSBjb25zdAogICAgIGNhc2UgUHNldWRv
Rmlyc3RMZXR0ZXI6CiAgICAgY2FzZSBQc2V1ZG9GaXJzdExpbmU6CiAgICAgICAgIGNvbXBhdCA9
IHRydWU7CisgICAgICAgIEZBTExUSFJPVUdIOwogI2lmIEVOQUJMRShTSEFET1dfRE9NKQogICAg
IGNhc2UgUHNldWRvRGlzdHJpYnV0ZWQ6CiAjZW5kaWYKQEAgLTY0Miw2ICs2NDMsOSBAQCBTdHJp
bmcgQ1NTU2VsZWN0b3I6OnNlbGVjdG9yVGV4dChjb25zdCBTdHJpbmcmIHJpZ2h0U2lkZSkgY29u
c3QKICAgICAgICAgICAgIHJldHVybiB0YWdIaXN0b3J5LT5zZWxlY3RvclRleHQoIiB+ICIgKyBz
dHIudG9TdHJpbmcoKSArIHJpZ2h0U2lkZSk7CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlN1
YlNlbGVjdG9yOgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisjaWYgQVNTRVJU
X0RJU0FCTEVECisgICAgICAgICAgICBGQUxMVEhST1VHSDsKKyNlbmRpZgogICAgICAgICBjYXNl
IENTU1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50OgogICAgICAgICAgICAgcmV0dXJuIHRhZ0hp
c3RvcnktPnNlbGVjdG9yVGV4dChzdHIudG9TdHJpbmcoKSArIHJpZ2h0U2lkZSk7CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NQYXJzZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1BhcnNlci5jcHAKaW5kZXggOWU1MmU5Yy4uNzRmOWZiNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1BhcnNlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1BhcnNlci5jcHAKQEAgLTE2NSw3ICsxNjUsOCBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VTVkdWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBv
cnRhbnQpCiAgICAgICAgICAgICB2YWxpZF9wcmltaXRpdmUgPSB0cnVlOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KLSAgICAvKiBmYWxsdGhyb3VnaCBpbnRlbnRpb25hbCAqLworICAg
ICAgICBGQUxMVEhST1VHSDsKKwogICAgIGNhc2UgQ1NTUHJvcGVydHlHbHlwaE9yaWVudGF0aW9u
SG9yaXpvbnRhbDogLy8gPGFuZ2xlPiAocmVzdHJpY3RlZCB0byBfZGVnXyBwZXIgU1ZHIDEuMSBz
cGVjKSB8IGluaGVyaXQKICAgICAgICAgaWYgKHZhbHVlLT51bml0ID09IENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfREVHIHx8IHZhbHVlLT51bml0ID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVN
QkVSKSB7CiAgICAgICAgICAgICBwYXJzZWRWYWx1ZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVh
dGUodmFsdWUtPmZWYWx1ZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19ERUcpOwpAQCAtMjcwLDYg
KzI3MSw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVNWR1ZhbHVlKENTU1Byb3BlcnR5SUQgcHJv
cElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAgICAgfQorICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ1NTUHJvcGVydHlN
YXNrVHlwZTogLy8gbHVtaW5hbmNlIHwgYWxwaGEgfCBpbmhlcml0CiAgICAgICAgIGlmIChpZCA9
PSBDU1NWYWx1ZUx1bWluYW5jZSB8fCBpZCA9PSBDU1NWYWx1ZUFscGhhKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVQcm9wZXJ0aWVzLmNwcAppbmRleCA5YzE0ZTBkLi43MjQ1ZmFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcApAQCAtODEwLDEyICs4MTAsMTQgQEAgU3RyaW5n
IFN0eWxlUHJvcGVydGllczo6YXNUZXh0KCkgY29uc3QKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eUJvcmRlckxlZnRXaWR0aDoKICAgICAgICAgICAgIGlmICghYm9yZGVyRmFsbGJhY2tTaG9ydGhh
bmRQcm9wZXJ0eSkKICAgICAgICAgICAgICAgICBib3JkZXJGYWxsYmFja1Nob3J0aGFuZFByb3Bl
cnR5ID0gQ1NTUHJvcGVydHlCb3JkZXJXaWR0aDsKKyAgICAgICAgICAgIEZBTExUSFJPVUdIOwog
ICAgICAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyVG9wU3R5bGU6CiAgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlCb3JkZXJSaWdodFN0eWxlOgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVy
Qm90dG9tU3R5bGU6CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJMZWZ0U3R5bGU6CiAg
ICAgICAgICAgICBpZiAoIWJvcmRlckZhbGxiYWNrU2hvcnRoYW5kUHJvcGVydHkpCiAgICAgICAg
ICAgICAgICAgYm9yZGVyRmFsbGJhY2tTaG9ydGhhbmRQcm9wZXJ0eSA9IENTU1Byb3BlcnR5Qm9y
ZGVyU3R5bGU7CisgICAgICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUJvcmRlclRvcENvbG9yOgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyUmlnaHRD
b2xvcjoKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckJvdHRvbUNvbG9yOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDEzNTYzZWUuLmNjZjdjNjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTIyMjUsNyArMjIyNSw5IEBAIHZvaWQgU3R5
bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFs
dWUpCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoIWRpZFNldCkKICAgICAgICAgICAg
ICAgICBzdGF0ZS5zdHlsZSgpLT5zZXRDb250ZW50QWx0VGV4dChlbXB0eUF0b20pOworICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9CisgICAgICAgIAogICAgIGNhc2UgQ1NTUHJvcGVydHlR
dW90ZXM6CiAgICAgICAgIGlmIChpc0luaGVyaXQpIHsKICAgICAgICAgICAgIHN0YXRlLnN0eWxl
KCktPnNldFF1b3RlcyhzdGF0ZS5wYXJlbnRTdHlsZSgpLT5xdW90ZXMoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCmluZGV4IDlhMzg0OWMuLjVmNWEwZDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCkBAIC00NTYsNiArNDU2
LDkgQEAgc3RhdGljIGJvb2wgY2hpbGRSdWxlc0hhdmVGYWlsZWRPckNhbmNlbGVkU3VicmVzb3Vy
Y2VzKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGUKICNlbmRpZgogICAgICAgICBjYXNlIFN0eWxl
UnVsZUJhc2U6OkltcG9ydDoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworI2lm
IEFTU0VSVF9ESVNBQkxFRAorICAgICAgICAgICAgRkFMTFRIUk9VR0g7CisjZW5kaWYKICAgICAg
ICAgY2FzZSBTdHlsZVJ1bGVCYXNlOjpQYWdlOgogICAgICAgICBjYXNlIFN0eWxlUnVsZUJhc2U6
OktleWZyYW1lczoKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVCYXNlOjpVbmtub3duOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsIGIvU291cmNlL1dlYkNvcmUvY3Nz
L21ha2Vwcm9wLnBsCm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggMDU5Y2Nm
Yy4uNzI2YTE5NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCkBAIC0xMDIsNiArMTAyLDcgQEAgcHJpbnQgR1BF
UkYgPDwgIkVPRiI7CiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAogI3ByYWdtYSBjbGFu
ZyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV3Vua25vd24tcHJhZ21hc1wiCiAjcHJhZ21hIGNsYW5n
IGRpYWdub3N0aWMgaWdub3JlZCBcIi1XZGVwcmVjYXRlZC1yZWdpc3RlclwiCisjcHJhZ21hIGNs
YW5nIGRpYWdub3N0aWMgaWdub3JlZCBcIi1XaW1wbGljaXQtZmFsbHRocm91Z2hcIgogI2VuZGlm
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9t
YWtldmFsdWVzLnBsIGIvU291cmNlL1dlYkNvcmUvY3NzL21ha2V2YWx1ZXMucGwKb2xkIG1vZGUg
MTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCA2ODA3MThiLi45OGNhNjAxCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9tYWtldmFsdWVzLnBsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtl
dmFsdWVzLnBsCkBAIC03MCw2ICs3MCw3IEBAIHByaW50IEdQRVJGIDw8ICJFT0YiOwogI3ByYWdt
YSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVk
IFwiLVd1bmtub3duLXByYWdtYXNcIgogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQg
XCItV2RlcHJlY2F0ZWQtcmVnaXN0ZXJcIgorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9y
ZWQgXCItV2ltcGxpY2l0LWZhbGx0aHJvdWdoXCIKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5jcHAKaW5kZXggZDljNTFmYS4uMGRiNTQwYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cApAQCAtMTMwMyw3ICsxMzAzLDcgQEAgc3RhdGljIHZvaWQgYXBwZW5kVGV4dENvbnRlbnQoY29u
c3QgTm9kZSogbm9kZSwgYm9vbCBjb252ZXJ0QlJzVG9OZXdsaW5lcywgYm9vbCYKICAgICAgICAg
ICAgIGNvbnRlbnQuYXBwZW5kKCdcbicpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
LSAgICAvLyBGYWxsIHRocm91Z2guCisgICAgICAgIEZBTExUSFJPVUdIOwogICAgIGNhc2UgTm9k
ZTo6QVRUUklCVVRFX05PREU6CiAgICAgY2FzZSBOb2RlOjpFTlRJVFlfTk9ERToKICAgICBjYXNl
IE5vZGU6OkVOVElUWV9SRUZFUkVOQ0VfTk9ERToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCmluZGV4IDc1MjczZjMuLmNlODUwYjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApAQCAtMTA5OSw3
ICsxMDk5LDcgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRhZyhBdG9taWNI
VE1MVG9rZW4qIHRva2VuKQogICAgIGNhc2UgSW5zZXJ0aW9uTW9kZTo6SW5pdGlhbDoKICAgICAg
ICAgQVNTRVJUKGluc2VydGlvbk1vZGUoKSA9PSBJbnNlcnRpb25Nb2RlOjpJbml0aWFsKTsKICAg
ICAgICAgZGVmYXVsdEZvckluaXRpYWwoKTsKLSAgICAgICAgLy8gRmFsbCB0aHJvdWdoLgorICAg
ICAgICBGQUxMVEhST1VHSDsKICAgICBjYXNlIEluc2VydGlvbk1vZGU6OkJlZm9yZUhUTUw6CiAg
ICAgICAgIEFTU0VSVChpbnNlcnRpb25Nb2RlKCkgPT0gSW5zZXJ0aW9uTW9kZTo6QmVmb3JlSFRN
TCk7CiAgICAgICAgIGlmICh0b2tlbi0+bmFtZSgpID09IGh0bWxUYWcpIHsKQEAgLTExMDgsNyAr
MTEwOCw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzU3RhcnRUYWcoQXRvbWljSFRN
TFRva2VuKiB0b2tlbikKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBk
ZWZhdWx0Rm9yQmVmb3JlSFRNTCgpOwotICAgICAgICAvLyBGYWxsIHRocm91Z2guCisgICAgICAg
IEZBTExUSFJPVUdIOwogICAgIGNhc2UgSW5zZXJ0aW9uTW9kZTo6QmVmb3JlSGVhZDoKICAgICAg
ICAgQVNTRVJUKGluc2VydGlvbk1vZGUoKSA9PSBJbnNlcnRpb25Nb2RlOjpCZWZvcmVIZWFkKTsK
ICAgICAgICAgaWYgKHRva2VuLT5uYW1lKCkgPT0gaHRtbFRhZykgewpAQCAtMTEyMSwxMyArMTEy
MSwxMyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1N0YXJ0VGFnKEF0b21pY0hUTUxU
b2tlbiogdG9rZW4pCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgZGVm
YXVsdEZvckJlZm9yZUhlYWQoKTsKLSAgICAgICAgLy8gRmFsbCB0aHJvdWdoLgorICAgICAgICBG
QUxMVEhST1VHSDsKICAgICBjYXNlIEluc2VydGlvbk1vZGU6OkluSGVhZDoKICAgICAgICAgQVNT
RVJUKGluc2VydGlvbk1vZGUoKSA9PSBJbnNlcnRpb25Nb2RlOjpJbkhlYWQpOwogICAgICAgICBp
ZiAocHJvY2Vzc1N0YXJ0VGFnRm9ySW5IZWFkKHRva2VuKSkKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgZGVmYXVsdEZvckluSGVhZCgpOwotICAgICAgICAvLyBGYWxsIHRocm91Z2guCisg
ICAgICAgIEZBTExUSFJPVUdIOwogICAgIGNhc2UgSW5zZXJ0aW9uTW9kZTo6QWZ0ZXJIZWFkOgog
ICAgICAgICBBU1NFUlQoaW5zZXJ0aW9uTW9kZSgpID09IEluc2VydGlvbk1vZGU6OkFmdGVySGVh
ZCk7CiAgICAgICAgIGlmICh0b2tlbi0+bmFtZSgpID09IGh0bWxUYWcpIHsKQEAgLTExNjksNyAr
MTE2OSw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzU3RhcnRUYWcoQXRvbWljSFRN
TFRva2VuKiB0b2tlbikKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBk
ZWZhdWx0Rm9yQWZ0ZXJIZWFkKCk7Ci0gICAgICAgIC8vIEZhbGwgdGhyb3VnaAorICAgICAgICBG
QUxMVEhST1VHSDsKICAgICBjYXNlIEluc2VydGlvbk1vZGU6OkluQm9keToKICAgICAgICAgQVNT
RVJUKGluc2VydGlvbk1vZGUoKSA9PSBJbnNlcnRpb25Nb2RlOjpJbkJvZHkpOwogICAgICAgICBw
cm9jZXNzU3RhcnRUYWdGb3JJbkJvZHkodG9rZW4pOwpAQCAtMTM3MSw3ICsxMzcxLDcgQEAgdm9p
ZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRhZyhBdG9taWNIVE1MVG9rZW4qIHRva2Vu
KQogICAgICAgICAgICAgcHJvY2Vzc1N0YXJ0VGFnKHRva2VuKTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQotICAgICAgICAvLyBGYWxsIHRocm91Z2gKKyAgICAgICAgRkFMTFRIUk9V
R0g7CiAgICAgY2FzZSBJbnNlcnRpb25Nb2RlOjpJblNlbGVjdDoKICAgICAgICAgQVNTRVJUKGlu
c2VydGlvbk1vZGUoKSA9PSBJbnNlcnRpb25Nb2RlOjpJblNlbGVjdCB8fCBpbnNlcnRpb25Nb2Rl
KCkgPT0gSW5zZXJ0aW9uTW9kZTo6SW5TZWxlY3RJblRhYmxlKTsKICAgICAgICAgaWYgKHRva2Vu
LT5uYW1lKCkgPT0gaHRtbFRhZykgewpAQCAtMjA0OSw3ICsyMDQ5LDcgQEAgdm9pZCBIVE1MVHJl
ZUJ1aWxkZXI6OnByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRva2VuKiB0b2tlbikKICAgICBjYXNl
IEluc2VydGlvbk1vZGU6OkluaXRpYWw6CiAgICAgICAgIEFTU0VSVChpbnNlcnRpb25Nb2RlKCkg
PT0gSW5zZXJ0aW9uTW9kZTo6SW5pdGlhbCk7CiAgICAgICAgIGRlZmF1bHRGb3JJbml0aWFsKCk7
Ci0gICAgICAgIC8vIEZhbGwgdGhyb3VnaC4KKyAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgY2Fz
ZSBJbnNlcnRpb25Nb2RlOjpCZWZvcmVIVE1MOgogICAgICAgICBBU1NFUlQoaW5zZXJ0aW9uTW9k
ZSgpID09IEluc2VydGlvbk1vZGU6OkJlZm9yZUhUTUwpOwogICAgICAgICBpZiAodG9rZW4tPm5h
bWUoKSAhPSBoZWFkVGFnICYmIHRva2VuLT5uYW1lKCkgIT0gYm9keVRhZyAmJiB0b2tlbi0+bmFt
ZSgpICE9IGh0bWxUYWcgJiYgdG9rZW4tPm5hbWUoKSAhPSBiclRhZykgewpAQCAtMjA1Nyw3ICsy
MDU3LDcgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRv
a2VuKiB0b2tlbikKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBkZWZh
dWx0Rm9yQmVmb3JlSFRNTCgpOwotICAgICAgICAvLyBGYWxsIHRocm91Z2guCisgICAgICAgIEZB
TExUSFJPVUdIOwogICAgIGNhc2UgSW5zZXJ0aW9uTW9kZTo6QmVmb3JlSGVhZDoKICAgICAgICAg
QVNTRVJUKGluc2VydGlvbk1vZGUoKSA9PSBJbnNlcnRpb25Nb2RlOjpCZWZvcmVIZWFkKTsKICAg
ICAgICAgaWYgKHRva2VuLT5uYW1lKCkgIT0gaGVhZFRhZyAmJiB0b2tlbi0+bmFtZSgpICE9IGJv
ZHlUYWcgJiYgdG9rZW4tPm5hbWUoKSAhPSBodG1sVGFnICYmIHRva2VuLT5uYW1lKCkgIT0gYnJU
YWcpIHsKQEAgLTIwNjUsNyArMjA2NSw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNz
RW5kVGFnKEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KICAgICAgICAgZGVmYXVsdEZvckJlZm9yZUhlYWQoKTsKLSAgICAgICAgLy8gRmFsbCB0
aHJvdWdoLgorICAgICAgICBGQUxMVEhST1VHSDsKICAgICBjYXNlIEluc2VydGlvbk1vZGU6Oklu
SGVhZDoKICAgICAgICAgQVNTRVJUKGluc2VydGlvbk1vZGUoKSA9PSBJbnNlcnRpb25Nb2RlOjpJ
bkhlYWQpOwogICAgICAgICAvLyBGSVhNRTogVGhpcyBjYXNlIHNob3VsZCBiZSBicm9rZW4gb3V0
IGludG8gcHJvY2Vzc0VuZFRhZ0ZvckluSGVhZCwKQEAgLTIwODcsNyArMjA4Nyw3IEBAIHZvaWQg
SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgZGVmYXVsdEZvckluSGVhZCgp
OwotICAgICAgICAvLyBGYWxsIHRocm91Z2guCisgICAgICAgIEZBTExUSFJPVUdIOwogICAgIGNh
c2UgSW5zZXJ0aW9uTW9kZTo6QWZ0ZXJIZWFkOgogICAgICAgICBBU1NFUlQoaW5zZXJ0aW9uTW9k
ZSgpID09IEluc2VydGlvbk1vZGU6OkFmdGVySGVhZCk7CiAgICAgICAgIGlmICh0b2tlbi0+bmFt
ZSgpICE9IGJvZHlUYWcgJiYgdG9rZW4tPm5hbWUoKSAhPSBodG1sVGFnICYmIHRva2VuLT5uYW1l
KCkgIT0gYnJUYWcpIHsKQEAgLTIwOTUsNyArMjA5NSw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVy
Ojpwcm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KICAgICAgICAgZGVmYXVsdEZvckFmdGVySGVhZCgpOwotICAgICAgICAv
LyBGYWxsIHRocm91Z2gKKyAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgY2FzZSBJbnNlcnRpb25N
b2RlOjpJbkJvZHk6CiAgICAgICAgIEFTU0VSVChpbnNlcnRpb25Nb2RlKCkgPT0gSW5zZXJ0aW9u
TW9kZTo6SW5Cb2R5KTsKICAgICAgICAgcHJvY2Vzc0VuZFRhZ0ZvckluQm9keSh0b2tlbik7CkBA
IC0yMTc1LDcgKzIxNzUsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZFRhZyhB
dG9taWNIVE1MVG9rZW4qIHRva2VuKQogICAgICAgICAgICAgc2V0SW5zZXJ0aW9uTW9kZShJbnNl
cnRpb25Nb2RlOjpBZnRlckFmdGVyQm9keSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KLSAgICAgICAgLy8gRmFsbCB0aHJvdWdoLgorICAgICAgICBGQUxMVEhST1VHSDsKICAgICBj
YXNlIEluc2VydGlvbk1vZGU6OkFmdGVyQWZ0ZXJCb2R5OgogICAgICAgICBBU1NFUlQoaW5zZXJ0
aW9uTW9kZSgpID09IEluc2VydGlvbk1vZGU6OkFmdGVyQm9keSB8fCBpbnNlcnRpb25Nb2RlKCkg
PT0gSW5zZXJ0aW9uTW9kZTo6QWZ0ZXJBZnRlckJvZHkpOwogICAgICAgICBwYXJzZUVycm9yKHRv
a2VuKTsKQEAgLTIyNTAsNyArMjI1MCw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNz
RW5kVGFnKEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiAgICAgICAgICAgICBzZXRJbnNlcnRpb25N
b2RlKEluc2VydGlvbk1vZGU6OkFmdGVyQWZ0ZXJGcmFtZXNldCk7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KLSAgICAgICAgLy8gRmFsbCB0aHJvdWdoLgorICAgICAgICBGQUxMVEhS
T1VHSDsKICAgICBjYXNlIEluc2VydGlvbk1vZGU6OkFmdGVyQWZ0ZXJGcmFtZXNldDoKICAgICAg
ICAgQVNTRVJUKGluc2VydGlvbk1vZGUoKSA9PSBJbnNlcnRpb25Nb2RlOjpBZnRlckZyYW1lc2V0
IHx8IGluc2VydGlvbk1vZGUoKSA9PSBJbnNlcnRpb25Nb2RlOjpBZnRlckFmdGVyRnJhbWVzZXQp
OwogICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKQEAgLTIyNzAsNyArMjI3MCw3IEBAIHZvaWQg
SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgLy8g
RmFsbCB0aHJvdWdoLgorICAgICAgICBGQUxMVEhST1VHSDsKICAgICBjYXNlIEluc2VydGlvbk1v
ZGU6OkluU2VsZWN0OgogICAgICAgICBBU1NFUlQoaW5zZXJ0aW9uTW9kZSgpID09IEluc2VydGlv
bk1vZGU6OkluU2VsZWN0IHx8IGluc2VydGlvbk1vZGUoKSA9PSBJbnNlcnRpb25Nb2RlOjpJblNl
bGVjdEluVGFibGUpOwogICAgICAgICBpZiAodG9rZW4tPm5hbWUoKSA9PSBvcHRncm91cFRhZykg
ewpAQCAtMjQ3NSw3ICsyNDc1LDcgQEAgUmVwcm9jZXNzQnVmZmVyOgogICAgICAgICBpZiAoYnVm
ZmVyLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgZGVmYXVsdEZvcklu
aXRpYWwoKTsKLSAgICAgICAgLy8gRmFsbCB0aHJvdWdoLgorICAgICAgICBGQUxMVEhST1VHSDsK
ICAgICB9CiAgICAgY2FzZSBJbnNlcnRpb25Nb2RlOjpCZWZvcmVIVE1MOiB7CiAgICAgICAgIEFT
U0VSVChpbnNlcnRpb25Nb2RlKCkgPT0gSW5zZXJ0aW9uTW9kZTo6QmVmb3JlSFRNTCk7CkBAIC0y
NDgzLDcgKzI0ODMsNyBAQCBSZXByb2Nlc3NCdWZmZXI6CiAgICAgICAgIGlmIChidWZmZXIuaXNF
bXB0eSgpKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBkZWZhdWx0Rm9yQmVmb3JlSFRN
TCgpOwotICAgICAgICAvLyBGYWxsIHRocm91Z2guCisgICAgICAgIEZBTExUSFJPVUdIOwogICAg
IH0KICAgICBjYXNlIEluc2VydGlvbk1vZGU6OkJlZm9yZUhlYWQ6IHsKICAgICAgICAgQVNTRVJU
KGluc2VydGlvbk1vZGUoKSA9PSBJbnNlcnRpb25Nb2RlOjpCZWZvcmVIZWFkKTsKQEAgLTI0OTEs
NyArMjQ5MSw3IEBAIFJlcHJvY2Vzc0J1ZmZlcjoKICAgICAgICAgaWYgKGJ1ZmZlci5pc0VtcHR5
KCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGRlZmF1bHRGb3JCZWZvcmVIZWFkKCk7
Ci0gICAgICAgIC8vIEZhbGwgdGhyb3VnaC4KKyAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgfQog
ICAgIGNhc2UgSW5zZXJ0aW9uTW9kZTo6SW5IZWFkOiB7CiAgICAgICAgIEFTU0VSVChpbnNlcnRp
b25Nb2RlKCkgPT0gSW5zZXJ0aW9uTW9kZTo6SW5IZWFkKTsKQEAgLTI1MDEsNyArMjUwMSw3IEBA
IFJlcHJvY2Vzc0J1ZmZlcjoKICAgICAgICAgaWYgKGJ1ZmZlci5pc0VtcHR5KCkpCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIGRlZmF1bHRGb3JJbkhlYWQoKTsKLSAgICAgICAgLy8gRmFs
bCB0aHJvdWdoLgorICAgICAgICBGQUxMVEhST1VHSDsKICAgICB9CiAgICAgY2FzZSBJbnNlcnRp
b25Nb2RlOjpBZnRlckhlYWQ6IHsKICAgICAgICAgQVNTRVJUKGluc2VydGlvbk1vZGUoKSA9PSBJ
bnNlcnRpb25Nb2RlOjpBZnRlckhlYWQpOwpAQCAtMjUxMSw3ICsyNTExLDcgQEAgUmVwcm9jZXNz
QnVmZmVyOgogICAgICAgICBpZiAoYnVmZmVyLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgZGVmYXVsdEZvckFmdGVySGVhZCgpOwotICAgICAgICAvLyBGYWxsIHRocm91
Z2guCisgICAgICAgIEZBTExUSFJPVUdIOwogICAgIH0KICAgICBjYXNlIEluc2VydGlvbk1vZGU6
OkluQm9keToKICAgICBjYXNlIEluc2VydGlvbk1vZGU6OkluQ2FwdGlvbjoKQEAgLTI1NDUsNyAr
MjU0NSw3IEBAIFJlcHJvY2Vzc0J1ZmZlcjoKICAgICAgICAgICAgIHByb2Nlc3NDaGFyYWN0ZXJC
dWZmZXJGb3JJbkJvZHkoYnVmZmVyKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0g
ICAgICAgIC8vIEZhbGwgdGhyb3VnaC4KKyAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgfQogICAg
IGNhc2UgSW5zZXJ0aW9uTW9kZTo6SW5UYWJsZVRleHQ6IHsKICAgICAgICAgYnVmZmVyLmdpdmVS
ZW1haW5pbmdUbyhtX3BlbmRpbmdUYWJsZUNoYXJhY3RlcnMpOwpAQCAtMjY0NCwyMyArMjY0NCwy
MyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZE9mRmlsZShBdG9taWNIVE1MVG9r
ZW4qIHRva2VuKQogICAgIGNhc2UgSW5zZXJ0aW9uTW9kZTo6SW5pdGlhbDoKICAgICAgICAgQVNT
RVJUKGluc2VydGlvbk1vZGUoKSA9PSBJbnNlcnRpb25Nb2RlOjpJbml0aWFsKTsKICAgICAgICAg
ZGVmYXVsdEZvckluaXRpYWwoKTsKLSAgICAgICAgLy8gRmFsbCB0aHJvdWdoLgorICAgICAgICBG
QUxMVEhST1VHSDsKICAgICBjYXNlIEluc2VydGlvbk1vZGU6OkJlZm9yZUhUTUw6CiAgICAgICAg
IEFTU0VSVChpbnNlcnRpb25Nb2RlKCkgPT0gSW5zZXJ0aW9uTW9kZTo6QmVmb3JlSFRNTCk7CiAg
ICAgICAgIGRlZmF1bHRGb3JCZWZvcmVIVE1MKCk7Ci0gICAgICAgIC8vIEZhbGwgdGhyb3VnaC4K
KyAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgY2FzZSBJbnNlcnRpb25Nb2RlOjpCZWZvcmVIZWFk
OgogICAgICAgICBBU1NFUlQoaW5zZXJ0aW9uTW9kZSgpID09IEluc2VydGlvbk1vZGU6OkJlZm9y
ZUhlYWQpOwogICAgICAgICBkZWZhdWx0Rm9yQmVmb3JlSGVhZCgpOwotICAgICAgICAvLyBGYWxs
IHRocm91Z2guCisgICAgICAgIEZBTExUSFJPVUdIOwogICAgIGNhc2UgSW5zZXJ0aW9uTW9kZTo6
SW5IZWFkOgogICAgICAgICBBU1NFUlQoaW5zZXJ0aW9uTW9kZSgpID09IEluc2VydGlvbk1vZGU6
OkluSGVhZCk7CiAgICAgICAgIGRlZmF1bHRGb3JJbkhlYWQoKTsKLSAgICAgICAgLy8gRmFsbCB0
aHJvdWdoLgorICAgICAgICBGQUxMVEhST1VHSDsKICAgICBjYXNlIEluc2VydGlvbk1vZGU6OkFm
dGVySGVhZDoKICAgICAgICAgQVNTRVJUKGluc2VydGlvbk1vZGUoKSA9PSBJbnNlcnRpb25Nb2Rl
OjpBZnRlckhlYWQpOwogICAgICAgICBkZWZhdWx0Rm9yQWZ0ZXJIZWFkKCk7Ci0gICAgICAgIC8v
IEZhbGwgdGhyb3VnaAorICAgICAgICBGQUxMVEhST1VHSDsKICAgICBjYXNlIEluc2VydGlvbk1v
ZGU6OkluQm9keToKICAgICBjYXNlIEluc2VydGlvbk1vZGU6OkluQ2VsbDoKICAgICBjYXNlIElu
c2VydGlvbk1vZGU6OkluQ2FwdGlvbjoKQEAgLTI3MDIsNyArMjcwMiw3IEBAIHZvaWQgSFRNTFRy
ZWVCdWlsZGVyOjpwcm9jZXNzRW5kT2ZGaWxlKEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiAgICAg
ICAgIEFTU0VSVChtX3RyZWUuY3VycmVudE5vZGUoKS0+aGFzVGFnTmFtZShjb2xncm91cFRhZykp
OwogI2VuZGlmCiAgICAgICAgIHByb2Nlc3NDb2xncm91cEVuZFRhZ0ZvckluQ29sdW1uR3JvdXAo
KTsKLSAgICAgICAgLy8gRmFsbCB0aHJvdWdoCisgICAgICAgIEZBTExUSFJPVUdIOwogICAgIGNh
c2UgSW5zZXJ0aW9uTW9kZTo6SW5GcmFtZXNldDoKICAgICBjYXNlIEluc2VydGlvbk1vZGU6Oklu
VGFibGU6CiAgICAgY2FzZSBJbnNlcnRpb25Nb2RlOjpJblRhYmxlQm9keToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4
IDFjNjU5MzcuLjQ4NmVjYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtNDQ1LDcgKzQ0NSw3IEBAIENhY2hlZFJl
c291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVz
dFJlc291cmNlKENhY2hlCiAgICAgc3dpdGNoIChwb2xpY3kpIHsKICAgICBjYXNlIFJlbG9hZDoK
ICAgICAgICAgbWVtb3J5Q2FjaGUoKS0+cmVtb3ZlKHJlc291cmNlLmdldCgpKTsKLSAgICAgICAg
Ly8gRmFsbCB0aHJvdWdoCisgICAgICAgIEZBTExUSFJPVUdIOwogICAgIGNhc2UgTG9hZDoKICAg
ICAgICAgcmVzb3VyY2UgPSBsb2FkUmVzb3VyY2UodHlwZSwgcmVxdWVzdCwgcmVxdWVzdC5jaGFy
c2V0KCkpOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5k
ZXggNjhjMGU2ZS4uNGNjZmJlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKQEAg
LTMzNiw2ICszMzYsNyBAQCB2b2lkIEV2ZW50U291cmNlOjpwYXJzZUV2ZW50U3RyZWFtKCkKICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgJ1xyJzoKICAgICAgICAgICAg
ICAgICBtX2Rpc2NhcmRUcmFpbGluZ05ld2xpbmUgPSB0cnVlOworICAgICAgICAgICAgICAgIEZB
TExUSFJPVUdIOwogICAgICAgICAgICAgY2FzZSAnXG4nOgogICAgICAgICAgICAgICAgIGxpbmVM
ZW5ndGggPSBpIC0gYnVmUG9zOwogICAgICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29sb3JEYXRhLmdwZXJmIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ29sb3JEYXRhLmdwZXJmCmluZGV4IGUzODU0N2QuLjE0MWIyOGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbG9yRGF0YS5ncGVyZgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Db2xvckRhdGEuZ3BlcmYKQEAgLTYsNiArNiw3IEBACiAjcHJhZ21h
IGNsYW5nIGRpYWdub3N0aWMgcHVzaAogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQg
Ii1XdW5rbm93bi1wcmFnbWFzIgogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1X
ZGVwcmVjYXRlZC1yZWdpc3RlciIKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICIt
V2ltcGxpY2l0LWZhbGx0aHJvdWdoIgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVDb21wb25lbnRzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVDb21wb25lbnRzLmNwcAppbmRleCBiMDkyZjg4Li5k
YjcwNzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlQ29tcG9uZW50
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGF0ZUNvbXBvbmVudHMuY3BwCkBA
IC02ODksNyArNjg5LDkgQEAgU3RyaW5nIERhdGVDb21wb25lbnRzOjp0b1N0cmluZ0ZvclRpbWUo
U2Vjb25kRm9ybWF0IGZvcm1hdCkgY29uc3QKICAgICBzd2l0Y2ggKGVmZmVjdGl2ZUZvcm1hdCkg
ewogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAv
LyBGYWxsYmFjayB0byBOb25lLgorI2lmIEFTU0VSVF9ESVNBQkxFRAorICAgICAgICBGQUxMVEhS
T1VHSDsgLy8gVG8gTm9uZS4KKyNlbmRpZgogICAgIGNhc2UgTm9uZToKICAgICAgICAgcmV0dXJu
IFN0cmluZzo6Zm9ybWF0KCIlMDJkOiUwMmQiLCBtX2hvdXIsIG1fbWludXRlKTsKICAgICBjYXNl
IFNlY29uZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RlY2ltYWwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVjaW1hbC5jcHAKaW5kZXggNjI0YzNjNS4uZWUy
MGRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVjaW1hbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVjaW1hbC5jcHAKQEAgLTc1Myw2ICs3NTMsOCBA
QCBEZWNpbWFsIERlY2ltYWw6OmZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHIpCiAgICAgICAg
ICAgICAgICAgc3RhdGUgPSBTdGF0ZURvdERpZ2l0OwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgfQorICAgICAgICAgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9i
LzEyNzY2Nz4gRGVjaW1hbDo6ZnJvbVN0cmluZydzIEVCTkYgZG9jdW1lbnRhdGlvbiBkb2VzIG5v
dCBtYXRjaCBpbXBsZW1lbnRhdGlvbgorICAgICAgICAgICAgRkFMTFRIUk9VR0g7CiAKICAgICAg
ICAgY2FzZSBTdGF0ZURvdERpZ2l0OgogICAgICAgICAgICAgaWYgKGNoID49ICcwJyAmJiBjaCA8
PSAnOScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbi5jcHAKaW5kZXggYzQwN2QwZS4uZDA3MjBjNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKQEAgLTUzOCw2
ICs1MzgsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6dXBkYXRlU3Rh
dGVzKCkKICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgcmVhZHlTdGF0ZSBpcyBhbHJlYWR5IEhh
dmVFbm91Z2hEYXRhLCBkb24ndCBnbyBsb3dlciBiZWNhdXNlIG9mIHRoaXMgc3RhdGUgY2hhbmdl
LgogICAgICAgICAgICAgICAgIGlmIChtX3JlYWR5U3RhdGUgPT0gTWVkaWFQbGF5ZXI6OkhhdmVF
bm91Z2hEYXRhKQogICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBG
QUxMVEhST1VHSDsKIAogICAgICAgICAgICAgY2FzZSBNZWRpYVBsYXllckFWUGxheWVySXRlbVN0
YXR1c1BsYXliYWNrQnVmZmVyRW1wdHk6CiAgICAgICAgICAgICAgICAgaWYgKG1heFRpbWVMb2Fk
ZWQoKSA+IGN1cnJlbnRUaW1lKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKaW5kZXggNjQyYzJmMC4uYmQx
M2VjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3Jh
cGhpY3NDb250ZXh0Q0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcApAQCAtMTc1NCw2ICsxNzU0LDcgQEAgdm9pZCBHcmFw
aGljc0NvbnRleHQ6OnNldFBsYXRmb3JtQ29tcG9zaXRlT3BlcmF0aW9uKENvbXBvc2l0ZU9wZXJh
dG9yIG1vZGUsIEJsZW4KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEJsZW5kTW9k
ZUx1bWlub3NpdHk6CiAgICAgICAgICAgICB0YXJnZXQgPSBrQ0dCbGVuZE1vZGVMdW1pbm9zaXR5
OworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyLmNwcAppbmRleCBjNGEwZmQ4Li4xNGM1NThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMTI1Nyw3ICsxMjU3LDcgQEAgdW5zaWdu
ZWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp0b3RhbEJ5dGVzKCkgY29uc3QKICAgICAg
ICAgICAgIGdzdF9pdGVyYXRvcl9yZXN5bmMoaXRlcik7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgY2FzZSBHU1RfSVRFUkFUT1JfRVJST1I6Ci0gICAgICAgICAgICAvLyBGYWxsIHRocm91
Z2guCisgICAgICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAgY2FzZSBHU1RfSVRFUkFUT1Jf
RE9ORToKICAgICAgICAgICAgIGRvbmUgPSB0cnVlOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRnVsbFNjcmVlbkNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0Z1bGxT
Y3JlZW5Db250cm9sbGVyLmNwcAppbmRleCBhM2FkZWFlLi5lODQ5MDA3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRnVsbFNjcmVlbkNvbnRyb2xsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9GdWxsU2NyZWVu
Q29udHJvbGxlci5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgTFJFU1VMVCBGdWxsU2NyZWVuQ29udHJv
bGxlcjo6UHJpdmF0ZTo6ZnVsbHNjcmVlbkNsaWVudFduZFByb2MoSFdORCBod25kLCBVSU5UIG0K
ICAgICAgICAgICAgIG1fY29udHJvbGxlci0+ZXhpdEZ1bGxTY3JlZW4oKTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIC8vIEZhbGwgdGhyb3VnaC4KKyAgICAgICAgRkFM
TFRIUk9VR0g7CiAgICAgZGVmYXVsdDoKICAgICAgICAgbFJlc3VsdCA9IDo6RGVmV2luZG93UHJv
Yyhod25kLCBtc2csIHdQYXJhbSwgbFBhcmFtKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaAppbmRleCBkYjhmZDBhLi5jODg0MWE2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKQEAgLTUxNCw3ICs1MTQs
NyBAQCBpbmxpbmUgdm9pZCBCaWRpUmVzb2x2ZXI8SXRlcmF0b3IsIFJ1bj46OnVwZGF0ZVN0YXR1
c0xhc3RGcm9tQ3VycmVudERpcmVjdGlvbihVQwogICAgICAgICAvLyBpZ25vcmUgdGhlc2UKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBVX0VVUk9QRUFOX05VTUJFUjoKLSAgICAgICAgLy8gZmFs
bCB0aHJvdWdoCisgICAgICAgIEZBTExUSFJPVUdIOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIG1f
c3RhdHVzLmxhc3QgPSBkaXJDdXJyZW50OwogICAgIH0KQEAgLTY4Nyw2ICs2ODcsNyBAQCB2b2lk
IEJpZGlSZXNvbHZlcjxJdGVyYXRvciwgUnVuPjo6Y3JlYXRlQmlkaVJ1bnNGb3JMaW5lKGNvbnN0
IEl0ZXJhdG9yJiBlbmQsIFZpcwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgICAgICAgICAgYXBwZW5kUnVuKCk7CiAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CkBAIC03MDIsNiArNzAzLDcgQEAgdm9p
ZCBCaWRpUmVzb2x2ZXI8SXRlcmF0b3IsIFJ1bj46OmNyZWF0ZUJpZGlSdW5zRm9yTGluZShjb25z
dCBJdGVyYXRvciYgZW5kLCBWaXMKICAgICAgICAgICAgICAgICBjYXNlIFVfRVVST1BFQU5fTlVN
QkVSOgogICAgICAgICAgICAgICAgIGNhc2UgVV9BUkFCSUNfTlVNQkVSOgogICAgICAgICAgICAg
ICAgICAgICBhcHBlbmRSdW4oKTsKKyAgICAgICAgICAgICAgICAgICAgRkFMTFRIUk9VR0g7CiAg
ICAgICAgICAgICAgICAgY2FzZSBVX1JJR0hUX1RPX0xFRlQ6CiAgICAgICAgICAgICAgICAgY2Fz
ZSBVX1JJR0hUX1RPX0xFRlRfQVJBQklDOgogICAgICAgICAgICAgICAgICAgICBicmVhazsKQEAg
LTcyNCw2ICs3MjYsNyBAQCB2b2lkIEJpZGlSZXNvbHZlcjxJdGVyYXRvciwgUnVuPjo6Y3JlYXRl
QmlkaVJ1bnNGb3JMaW5lKGNvbnN0IEl0ZXJhdG9yJiBlbmQsIFZpcwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1fZW9yID0gbV9sYXN0OwogICAgICAgICAgICAgICAgICAgICAgICAgYXBw
ZW5kUnVuKCk7CiAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICB9CkBAIC03NTMsNiArNzU2LDcgQEAgdm9pZCBCaWRpUmVzb2x2ZXI8SXRl
cmF0b3IsIFJ1bj46OmNyZWF0ZUJpZGlSdW5zRm9yTGluZShjb25zdCBJdGVyYXRvciYgZW5kLCBW
aXMKICAgICAgICAgICAgICAgICAgICAgY2FzZSBVX0NPTU1PTl9OVU1CRVJfU0VQQVJBVE9SOgog
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fc3RhdHVzLmVvciA9PSBVX0VVUk9QRUFOX05V
TUJFUikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIEZBTExUSFJPVUdIOwogICAgICAgICAgICAgICAgICAgICBjYXNlIFVfRVVST1BF
QU5fTlVNQkVSX1RFUk1JTkFUT1I6CiAgICAgICAgICAgICAgICAgICAgIGNhc2UgVV9CT1VOREFS
WV9ORVVUUkFMOgogICAgICAgICAgICAgICAgICAgICBjYXNlIFVfQkxPQ0tfU0VQQVJBVE9SOgpA
QCAtNzkwLDYgKzc5NCw3IEBAIHZvaWQgQmlkaVJlc29sdmVyPEl0ZXJhdG9yLCBSdW4+OjpjcmVh
dGVCaWRpUnVuc0ZvckxpbmUoY29uc3QgSXRlcmF0b3ImIGVuZCwgVmlzCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gQmVnaW4gYSBuZXcgRU4gcnVuLgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1fZGlyZWN0aW9uID0gVV9FVVJPUEVBTl9OVU1CRVI7CiAgICAgICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
ICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgICAgIH0KQEAgLTc5OSw2ICs4MDQsNyBAQCB2b2lkIEJpZGlSZXNvbHZlcjxJdGVyYXRv
ciwgUnVuPjo6Y3JlYXRlQmlkaVJ1bnNGb3JMaW5lKGNvbnN0IEl0ZXJhdG9yJiBlbmQsIFZpcwog
ICAgICAgICAgICAgICAgICAgICBtX2RpcmVjdGlvbiA9IFVfTEVGVF9UT19SSUdIVDsKICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIEZBTExUSFJPVUdI
OwogICAgICAgICBjYXNlIFVfQVJBQklDX05VTUJFUjoKICAgICAgICAgICAgIGRpckN1cnJlbnQg
PSBVX0FSQUJJQ19OVU1CRVI7CiAgICAgICAgICAgICBzd2l0Y2ggKG1fc3RhdHVzLmxhc3QpIHsK
QEAgLTgxNyw2ICs4MjMsNyBAQCB2b2lkIEJpZGlSZXNvbHZlcjxJdGVyYXRvciwgUnVuPjo6Y3Jl
YXRlQmlkaVJ1bnNGb3JMaW5lKGNvbnN0IEl0ZXJhdG9yJiBlbmQsIFZpcwogICAgICAgICAgICAg
ICAgIGNhc2UgVV9DT01NT05fTlVNQkVSX1NFUEFSQVRPUjoKICAgICAgICAgICAgICAgICAgICAg
aWYgKG1fc3RhdHVzLmVvciA9PSBVX0FSQUJJQ19OVU1CRVIpCiAgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgICAgICAg
ICAgICAgY2FzZSBVX0VVUk9QRUFOX05VTUJFUl9TRVBBUkFUT1I6CiAgICAgICAgICAgICAgICAg
Y2FzZSBVX0VVUk9QRUFOX05VTUJFUl9URVJNSU5BVE9SOgogICAgICAgICAgICAgICAgIGNhc2Ug
VV9CT1VOREFSWV9ORVVUUkFMOgpAQCAtODM1LDYgKzg0Miw3IEBAIHZvaWQgQmlkaVJlc29sdmVy
PEl0ZXJhdG9yLCBSdW4+OjpjcmVhdGVCaWRpUnVuc0ZvckxpbmUoY29uc3QgSXRlcmF0b3ImIGVu
ZCwgVmlzCiAgICAgICAgICAgICAgICAgICAgICAgICBtX2RpcmVjdGlvbiA9IG1fc3RhdHVzLmxh
c3RTdHJvbmcgPT0gVV9MRUZUX1RPX1JJR0hUID8gVV9MRUZUX1RPX1JJR0hUIDogVV9SSUdIVF9U
T19MRUZUOwogICAgICAgICAgICAgICAgICAgICBtX2VvciA9IG1fbGFzdDsKICAgICAgICAgICAg
ICAgICAgICAgYXBwZW5kUnVuKCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxl
V2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5jcHAK
aW5kZXggNTRmYzVmZi4uNzA3YTU1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC93aW4vTG9jYWxlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L3dpbi9Mb2NhbGVXaW4uY3BwCkBAIC01MjMsNyArNTIzLDggQEAgdm9pZCBMb2NhbGVXaW46
OmluaXRpYWxpemVMb2NhbGVEYXRhKCkKICAgICBjYXNlIE5lZ2F0aXZlRm9ybWF0U3BhY2VTaWdu
U3VmZml4OgogICAgICAgICBuZWdhdGl2ZVN1ZmZpeCA9ICIgIiArIG5lZ2F0aXZlU2lnbjsKICAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBOZWdhdGl2ZUZvcm1hdFNpZ25QcmVmaXg6IC8vIEZhbGwg
dGhyb3VnaC4KKyAgICBjYXNlIE5lZ2F0aXZlRm9ybWF0U2lnblByZWZpeDoKKyAgICAgICAgRkFM
TFRIUk9VR0g7CiAgICAgZGVmYXVsdDoKICAgICAgICAgbmVnYXRpdmVQcmVmaXggPSBuZWdhdGl2
ZVNpZ247CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0F1dG9UYWJsZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQXV0b1Rh
YmxlTGF5b3V0LmNwcAppbmRleCBiMjAwNzhhLi40Y2Q4Zjg3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcApAQCAtMTE2LDYgKzExNiw3IEBAIHZvaWQg
QXV0b1RhYmxlTGF5b3V0OjpyZWNhbGNDb2x1bW4odW5zaWduZWQgZWZmQ29sKQogICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gd2hpY2ggYXJlIG5vdCBuZWNlc3NhcmlseSBvZiB0aGUgc2FtZSB0
eXBlLgogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGxMb2dpY2FsV2lkdGgudmFsdWUo
KSA+IGNvbHVtbkxheW91dC5sb2dpY2FsV2lkdGgudmFsdWUoKSkKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb2x1bW5MYXlvdXQubG9naWNhbFdpZHRoID0gY2VsbExvZ2ljYWxXaWR0aDsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICBkZWZh
dWx0OgogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAg
IH0KQEAgLTMwOSwxMCArMzEwLDEwIEBAIGludCBBdXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3Rp
dmVMb2dpY2FsV2lkdGgoKQogICAgICAgICAgICAgICAgICAgICAvLyBsZWdhY3kgYmVoYXZpb3Vy
IGFueXdheS4gbW96aWxsYSBkb2Vzbid0IGRvIHRoaXMgc28gSSBkZWNpZGVkIHdlIGRvbid0IG5l
aXRoZXIuCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICAvLyBmYWxsIHRocm91Z2gKKyAgICAgICAgICAgICAgICBGQUxMVEhST1VH
SDsKICAgICAgICAgICAgIGNhc2UgQXV0bzoKICAgICAgICAgICAgICAgICBoYXZlQXV0byA9IHRy
dWU7Ci0gICAgICAgICAgICAgICAgLy8gZmFsbCB0aHJvdWdoCisgICAgICAgICAgICAgICAgRkFM
TFRIUk9VR0g7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIC8vIElmIHRo
ZSBjb2x1bW4gaXMgYSBwZXJjZW50YWdlIHdpZHRoLCBkbyBub3QgbGV0IHRoZSBzcGFubmluZyBj
ZWxsIG92ZXJ3cml0ZSB0aGUKICAgICAgICAgICAgICAgICAvLyB3aWR0aCB2YWx1ZS4gIFRoaXMg
Y2F1c2VkIGEgbWlzLXJlbmRlcmluZyBvbiBhbWF6b24uY29tLgpAQCAtNTIwLDcgKzUyMSw2IEBA
IHZvaWQgQXV0b1RhYmxlTGF5b3V0OjpsYXlvdXQoKQogICAgICAgICBjYXNlIEZpeGVkOgogICAg
ICAgICAgICAgbnVtRml4ZWQrKzsKICAgICAgICAgICAgIHRvdGFsRml4ZWQgKz0gbV9sYXlvdXRT
dHJ1Y3RbaV0uZWZmZWN0aXZlTWF4TG9naWNhbFdpZHRoOwotICAgICAgICAgICAgLy8gZmFsbCB0
aHJvdWdoCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBBdXRvOgogICAgICAgICAg
ICAgaWYgKG1fbGF5b3V0U3RydWN0W2ldLmVtcHR5Q2VsbHNPbmx5KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1BvaW50ZXJFdmVudHNIaXRSdWxlcy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUG9pbnRlckV2ZW50c0hpdFJ1bGVzLmNwcAppbmRleCBjYzVhYWU0
Li40NWZhOGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUG9pbnRlckV2
ZW50c0hpdFJ1bGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUG9pbnRlckV2
ZW50c0hpdFJ1bGVzLmNwcApAQCAtMzksNiArMzksNyBAQCBQb2ludGVyRXZlbnRzSGl0UnVsZXM6
OlBvaW50ZXJFdmVudHNIaXRSdWxlcyhFSGl0VGVzdGluZyBoaXRUZXN0aW5nLCBjb25zdCBIaXRU
ZQogICAgICAgICAgICAgY2FzZSBQRV9BVVRPOiAvLyAiYXV0byIgaXMgbGlrZSAidmlzaWJsZVBh
aW50ZWQiIHdoZW4gaW4gU1ZHIGNvbnRlbnQKICAgICAgICAgICAgICAgICByZXF1aXJlRmlsbCA9
IHRydWU7CiAgICAgICAgICAgICAgICAgcmVxdWlyZVN0cm9rZSA9IHRydWU7CisgICAgICAgICAg
ICAgICAgRkFMTFRIUk9VR0g7CiAgICAgICAgICAgICBjYXNlIFBFX1ZJU0lCTEU6CiAgICAgICAg
ICAgICAgICAgcmVxdWlyZVZpc2libGUgPSB0cnVlOwogICAgICAgICAgICAgICAgIGNhbkhpdEZp
bGwgPSB0cnVlOwpAQCAtNTUsNiArNTYsNyBAQCBQb2ludGVyRXZlbnRzSGl0UnVsZXM6OlBvaW50
ZXJFdmVudHNIaXRSdWxlcyhFSGl0VGVzdGluZyBoaXRUZXN0aW5nLCBjb25zdCBIaXRUZQogICAg
ICAgICAgICAgY2FzZSBQRV9QQUlOVEVEOgogICAgICAgICAgICAgICAgIHJlcXVpcmVGaWxsID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICByZXF1aXJlU3Ryb2tlID0gdHJ1ZTsKKyAgICAgICAgICAg
ICAgICBGQUxMVEhST1VHSDsKICAgICAgICAgICAgIGNhc2UgUEVfQUxMOgogICAgICAgICAgICAg
ICAgIGNhbkhpdEZpbGwgPSB0cnVlOwogICAgICAgICAgICAgICAgIGNhbkhpdFN0cm9rZSA9IHRy
dWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4
IGNjODJlMjEuLmRmOWVjYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuY3BwCkBAIC0yMzUyLDYgKzIzNTIsNyBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6
bmV3TGluZShFQ2xlYXIgY2xlYXIpCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ0JPVEg6CiAg
ICAgICAgIG5ld1kgPSBsb3dlc3RGbG9hdExvZ2ljYWxCb3R0b20oKTsKKyAgICAgICAgYnJlYWs7
CiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAppbmRleCA2MjI2MjRjLi5l
NDY5NDA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tM
aW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tM
aW5lTGF5b3V0LmNwcApAQCAtNjAyLDcgKzYwMiw3IEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojp1
cGRhdGVMb2dpY2FsV2lkdGhGb3JBbGlnbm1lbnQoY29uc3QgRVRleHRBbGlnbiYgdGV4dEFsaWdu
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICAv
LyBGYWxsIHRocm91Z2gKKyAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgY2FzZSBUQVNUQVJUOgog
ICAgICAgICBpZiAoc3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCiAgICAgICAgICAg
ICB1cGRhdGVMb2dpY2FsV2lkdGhGb3JMZWZ0QWxpZ25lZEJsb2NrKHN0eWxlKCkuaXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpLCB0cmFpbGluZ1NwYWNlUnVuLCBsb2dpY2FsTGVmdCwgdG90YWxMb2dp
Y2FsV2lkdGgsIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guY3BwCmluZGV4IDhiOWEwMTguLjk4YWJiZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwCkBAIC0yODYwLDcgKzI4NjAsNyBAQCBMYXlvdXRVbml0IFJlbmRl
ckJveDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoVXNpbmcoTGVuZ3RoIGxvZ2ljYWxXaWR0
aCkgY29ucwogICAgICAgICAgICAgaWYgKGN3ID4gMCB8fCAoIWN3ICYmIChjb250YWluZXJMb2dp
Y2FsV2lkdGguaXNGaXhlZCgpIHx8IGNvbnRhaW5lckxvZ2ljYWxXaWR0aC5pc1BlcmNlbnQoKSkp
KQogICAgICAgICAgICAgICAgIHJldHVybiBhZGp1c3RDb250ZW50Qm94TG9naWNhbFdpZHRoRm9y
Qm94U2l6aW5nKG1pbmltdW1WYWx1ZUZvckxlbmd0aChsb2dpY2FsV2lkdGgsIGN3KSk7CiAgICAg
ICAgIH0KLSAgICAgICAgLy8gZmFsbCB0aHJvdWdoCisgICAgICAgIEZBTExUSFJPVUdIOwogICAg
ICAgICBjYXNlIEludHJpbnNpYzoKICAgICAgICAgY2FzZSBNaW5JbnRyaW5zaWM6CiAgICAgICAg
IGNhc2UgQXV0bzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9k
ZWxPYmplY3QuY3BwCmluZGV4IDA4NzgwM2YuLjc2N2ZhOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtOTc5LDYgKzk3OSw3
IEBAIEludFNpemUgUmVuZGVyQm94TW9kZWxPYmplY3Q6OmNhbGN1bGF0ZUZpbGxUaWxlU2l6ZShj
b25zdCBGaWxsTGF5ZXIqIGZpbGxMYXllciwKICAgICAgICAgICAgIC8vIElmIHRoZSBpbWFnZSBo
YXMgbmVpdGhlciBhbiBpbnRyaW5zaWMgd2lkdGggbm9yIGFuIGludHJpbnNpYyBoZWlnaHQsIGl0
cyBzaXplIGlzIGRldGVybWluZWQgYXMgZm9yIOKAmGNvbnRhaW7igJkuCiAgICAgICAgICAgICB0
eXBlID0gQ29udGFpbjsKICAgICAgICAgfQorICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAg
Y2FzZSBDb250YWluOgogICAgICAgICBjYXNlIENvdmVyOiB7CiAgICAgICAgICAgICBmbG9hdCBo
b3Jpem9udGFsU2NhbGVGYWN0b3IgPSBpbWFnZUludHJpbnNpY1NpemUud2lkdGgoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCAzNDlhMjIxLi44MjAyMmYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtOTA4LDEx
ICs5MDgsMTEgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OmRyYXdMaW5lRm9yQm94U2lkZShHcmFwaGlj
c0NvbnRleHQqIGdyYXBoaWNzQ29udGV4dCwgaW50IHgxLAogICAgICAgICAgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4NjA4CiAgICAgICAgICAgICBpZiAo
c2lkZSA9PSBCU1RvcCB8fCBzaWRlID09IEJTTGVmdCkKICAgICAgICAgICAgICAgICBjb2xvciA9
IGNvbG9yLmRhcmsoKTsKLSAgICAgICAgICAgIC8vIGZhbGwgdGhyb3VnaAorICAgICAgICAgICAg
RkFMTFRIUk9VR0g7CiAgICAgICAgIGNhc2UgT1VUU0VUOgogICAgICAgICAgICAgaWYgKGJvcmRl
clN0eWxlID09IE9VVFNFVCAmJiAoc2lkZSA9PSBCU0JvdHRvbSB8fCBzaWRlID09IEJTUmlnaHQp
KQogICAgICAgICAgICAgICAgIGNvbG9yID0gY29sb3IuZGFyaygpOwotICAgICAgICAgICAgLy8g
ZmFsbCB0aHJvdWdoCisgICAgICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAgY2FzZSBTT0xJ
RDogewogICAgICAgICAgICAgU3Ryb2tlU3R5bGUgb2xkU3Ryb2tlU3R5bGUgPSBncmFwaGljc0Nv
bnRleHQtPnN0cm9rZVN0eWxlKCk7CiAgICAgICAgICAgICBncmFwaGljc0NvbnRleHQtPnNldFN0
cm9rZVN0eWxlKE5vU3Ryb2tlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJRdW90ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUu
Y3BwCmluZGV4IDhjMWZkYWQuLjUyZmE2M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJRdW90ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclF1b3RlLmNwcApAQCAtMzQ3LDcgKzM0Nyw3IEBAIFN0cmluZyBSZW5kZXJRdW90ZTo6b3Jp
Z2luYWxUZXh0KCkgY29uc3QKICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAgICAgY2Fz
ZSBPUEVOX1FVT1RFOgogICAgICAgICBpc09wZW5RdW90ZSA9IHRydWU7Ci0gICAgICAgIC8vIGZh
bGwgdGhyb3VnaAorICAgICAgICBGQUxMVEhST1VHSDsKICAgICBjYXNlIENMT1NFX1FVT1RFOgog
ICAgICAgICBpZiAoY29uc3QgUXVvdGVzRGF0YSogcXVvdGVzID0gc3R5bGUoKS5xdW90ZXMoKSkK
ICAgICAgICAgICAgIHJldHVybiBpc09wZW5RdW90ZSA/IHF1b3Rlcy0+b3BlblF1b3RlKG1fZGVw
dGgpLmltcGwoKSA6IHF1b3Rlcy0+Y2xvc2VRdW90ZShtX2RlcHRoKS5pbXBsKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCBkODFiNmNiLi44NDgx
YmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAg
LTMyOSw3ICszMjksNyBAQCBMYXlvdXRSZWN0IFJlbmRlclJlcGxhY2VkOjpyZXBsYWNlZENvbnRl
bnRSZWN0KGNvbnN0IExheW91dFNpemUmIGludHJpbnNpY1NpemUpCiAgICAgICAgIGZpbmFsUmVj
dC5zZXRTaXplKGZpbmFsUmVjdC5zaXplKCkuZml0VG9Bc3BlY3RSYXRpbyhpbnRyaW5zaWNTaXpl
LCBvYmplY3RGaXQgPT0gT2JqZWN0Rml0Q292ZXIgPyBBc3BlY3RSYXRpb0ZpdEdyb3cgOiBBc3Bl
Y3RSYXRpb0ZpdFNocmluaykpOwogICAgICAgICBpZiAob2JqZWN0Rml0ICE9IE9iamVjdEZpdFNj
YWxlRG93biB8fCBmaW5hbFJlY3Qud2lkdGgoKSA8PSBpbnRyaW5zaWNTaXplLndpZHRoKCkpCiAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgLy8gZmFsbCB0aHJvdWdoCisgICAgICAgIEZBTExU
SFJPVUdIOwogICAgIGNhc2UgT2JqZWN0Rml0Tm9uZToKICAgICAgICAgZmluYWxSZWN0LnNldFNp
emUoaW50cmluc2ljU2l6ZSk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZS5jcHAKaW5kZXggOTgxZWI0MC4uNTliODQzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCkBAIC0xNTksNyArMTU5LDcgQEAgdm9pZCBSZW5k
ZXJUYWJsZTo6YWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZv
cmVDaGlsZCkKICAgICAgICAgICAgICAgICAgICAgd3JhcEluQW5vbnltb3VzU2VjdGlvbiA9IGZh
bHNlOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgLy8gRmFsbCB0aHJvdWdoLgorICAgICAgICAgICAgICAgIEZBTExUSFJPVUdI
OwogICAgICAgICAgICAgY2FzZSBUQUJMRV9ST1dfR1JPVVA6CiAgICAgICAgICAgICAgICAgcmVz
ZXRTZWN0aW9uUG9pbnRlcklmTm90QmVmb3JlKG1fZmlyc3RCb2R5LCBiZWZvcmVDaGlsZCk7CiAg
ICAgICAgICAgICAgICAgaWYgKCFtX2ZpcnN0Qm9keSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWUuY3BwCmluZGV4IDU5OGM1ZmUuLjg1OTVjMzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcApAQCAtMTgxLDYgKzE4MSw3IEBAIHZvaWQgUmVuZGVy
VGhlbWU6OmFkanVzdFN0eWxlKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIFJlbmRlclN0
eWxlJiBzdHlsZSwKICAgICAgICAgICAgICAgICBzdHlsZS5mb250KCkudXBkYXRlKDApOwogICAg
ICAgICB9CiAgICAgfQorICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFrOwog
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3Bw
CmluZGV4IDdmNmZhNWUuLmYxNzE4MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmNwcApAQCAtMTQ1Niw2ICsxNDU2LDcgQEAgdm9pZCBSZW5kZXJT
dHlsZTo6c2V0V29yZFNwYWNpbmcoTGVuZ3RoIHYpCiAgICAgc3dpdGNoICh2LnR5cGUoKSkgewog
ICAgIGNhc2UgQXV0bzoKICAgICAgICAgZm9udFdvcmRTcGFjaW5nID0gMDsKKyAgICAgICAgRkFM
TFRIUk9VR0g7CiAgICAgY2FzZSBQZXJjZW50OgogICAgICAgICBmb250V29yZFNwYWNpbmcgPSB2
LmdldEZsb2F0VmFsdWUoKSAqIGZvbnQoKS5zcGFjZVdpZHRoKCkgLyAxMDA7CiAgICAgICAgIGJy
ZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdS
ZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291
cmNlLmNwcAppbmRleCAwYjRlNTlkLi5kOWUxZDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlLmNwcApAQCAtODUsNiArODUsNyBAQCBz
dGF0aWMgaW5saW5lIFJlbmRlclNWR1Jlc291cmNlKiByZXF1ZXN0UGFpbnRpbmdSZXNvdXJjZShS
ZW5kZXJTVkdSZXNvdXJjZU1vZGUgbQogICAgIGNhc2UgU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVf
VVJJX1JHQkNPTE9SOgogICAgIGNhc2UgU1ZHUGFpbnQ6OlNWR19QQUlOVFRZUEVfVVJJX1JHQkNP
TE9SX0lDQ0NPTE9SOgogICAgICAgICBjb2xvciA9IGFwcGx5VG9GaWxsID8gc3ZnU3R5bGUuZmls
bFBhaW50Q29sb3IoKSA6IHN2Z1N0eWxlLnN0cm9rZVBhaW50Q29sb3IoKTsKKyAgICAgICAgYnJl
YWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdNYXJrZXJEYXRhLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR01hcmtlckRhdGEuaAppbmRleCA2YzcwZjQyLi41ZDVhODZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR01hcmtlckRhdGEuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR01hcmtlckRhdGEuaApAQCAtMTI3
LDYgKzEyNyw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBQ
YXRoRWxlbWVudE1vdmVUb1BvaW50OgogICAgICAgICAgICAgbV9zdWJwYXRoU3RhcnQgPSBwb2lu
dHNbMF07CisgICAgICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAgY2FzZSBQYXRoRWxlbWVu
dEFkZExpbmVUb1BvaW50OgogICAgICAgICAgICAgdXBkYXRlSW5zbG9wZShwb2ludHNbMF0pOwog
ICAgICAgICAgICAgbV9vcmlnaW4gPSBwb2ludHNbMF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHUGF0aFBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFBh
cnNlci5jcHAKaW5kZXggMGZjYjlmOS4uOWY0NjVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BhdGhQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
UGFyc2VyLmNwcApAQCAtMzE0LDI0ICszMTQsMjggQEAgYm9vbCBTVkdQYXRoUGFyc2VyOjpwYXJz
ZVBhdGhEYXRhRnJvbVNvdXJjZShQYXRoUGFyc2luZ01vZGUgcGF0aFBhcnNpbmdNb2RlLCBib28K
ICAgICAgICAgc3dpdGNoIChjb21tYW5kKSB7CiAgICAgICAgIGNhc2UgUGF0aFNlZ01vdmVUb1Jl
bDoKICAgICAgICAgICAgIG1fbW9kZSA9IFJlbGF0aXZlQ29vcmRpbmF0ZXM7CisgICAgICAgICAg
ICBGQUxMVEhST1VHSDsKICAgICAgICAgY2FzZSBQYXRoU2VnTW92ZVRvQWJzOgogICAgICAgICAg
ICAgaWYgKCFwYXJzZU1vdmVUb1NlZ21lbnQoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBQYXRoU2VnTGluZVRvUmVsOgog
ICAgICAgICAgICAgbV9tb2RlID0gUmVsYXRpdmVDb29yZGluYXRlczsKKyAgICAgICAgICAgIEZB
TExUSFJPVUdIOwogICAgICAgICBjYXNlIFBhdGhTZWdMaW5lVG9BYnM6CiAgICAgICAgICAgICBp
ZiAoIXBhcnNlTGluZVRvU2VnbWVudCgpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFBhdGhTZWdMaW5lVG9Ib3Jpem9udGFs
UmVsOgogICAgICAgICAgICAgbV9tb2RlID0gUmVsYXRpdmVDb29yZGluYXRlczsKKyAgICAgICAg
ICAgIEZBTExUSFJPVUdIOwogICAgICAgICBjYXNlIFBhdGhTZWdMaW5lVG9Ib3Jpem9udGFsQWJz
OgogICAgICAgICAgICAgaWYgKCFwYXJzZUxpbmVUb0hvcml6b250YWxTZWdtZW50KCkpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgUGF0aFNlZ0xpbmVUb1ZlcnRpY2FsUmVsOgogICAgICAgICAgICAgbV9tb2RlID0gUmVsYXRp
dmVDb29yZGluYXRlczsKKyAgICAgICAgICAgIEZBTExUSFJPVUdIOwogICAgICAgICBjYXNlIFBh
dGhTZWdMaW5lVG9WZXJ0aWNhbEFiczoKICAgICAgICAgICAgIGlmICghcGFyc2VMaW5lVG9WZXJ0
aWNhbFNlZ21lbnQoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0zNDEsMzAg
KzM0NSwzNSBAQCBib29sIFNWR1BhdGhQYXJzZXI6OnBhcnNlUGF0aERhdGFGcm9tU291cmNlKFBh
dGhQYXJzaW5nTW9kZSBwYXRoUGFyc2luZ01vZGUsIGJvbwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGNhc2UgUGF0aFNlZ0N1cnZlVG9DdWJpY1JlbDoKICAgICAgICAgICAgIG1fbW9kZSA9
IFJlbGF0aXZlQ29vcmRpbmF0ZXM7CisgICAgICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAg
Y2FzZSBQYXRoU2VnQ3VydmVUb0N1YmljQWJzOgogICAgICAgICAgICAgaWYgKCFwYXJzZUN1cnZl
VG9DdWJpY1NlZ21lbnQoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBQYXRoU2VnQ3VydmVUb0N1YmljU21vb3RoUmVsOgog
ICAgICAgICAgICAgbV9tb2RlID0gUmVsYXRpdmVDb29yZGluYXRlczsKKyAgICAgICAgICAgIEZB
TExUSFJPVUdIOwogICAgICAgICBjYXNlIFBhdGhTZWdDdXJ2ZVRvQ3ViaWNTbW9vdGhBYnM6CiAg
ICAgICAgICAgICBpZiAoIXBhcnNlQ3VydmVUb0N1YmljU21vb3RoU2VnbWVudCgpKQogICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IFBhdGhTZWdDdXJ2ZVRvUXVhZHJhdGljUmVsOgogICAgICAgICAgICAgbV9tb2RlID0gUmVsYXRp
dmVDb29yZGluYXRlczsKKyAgICAgICAgICAgIEZBTExUSFJPVUdIOwogICAgICAgICBjYXNlIFBh
dGhTZWdDdXJ2ZVRvUXVhZHJhdGljQWJzOgogICAgICAgICAgICAgaWYgKCFwYXJzZUN1cnZlVG9R
dWFkcmF0aWNTZWdtZW50KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgUGF0aFNlZ0N1cnZlVG9RdWFkcmF0aWNTbW9vdGhS
ZWw6CiAgICAgICAgICAgICBtX21vZGUgPSBSZWxhdGl2ZUNvb3JkaW5hdGVzOworICAgICAgICAg
ICAgRkFMTFRIUk9VR0g7CiAgICAgICAgIGNhc2UgUGF0aFNlZ0N1cnZlVG9RdWFkcmF0aWNTbW9v
dGhBYnM6CiAgICAgICAgICAgICBpZiAoIXBhcnNlQ3VydmVUb1F1YWRyYXRpY1Ntb290aFNlZ21l
bnQoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgY2FzZSBQYXRoU2VnQXJjUmVsOgogICAgICAgICAgICAgbV9tb2RlID0gUmVsYXRp
dmVDb29yZGluYXRlczsKKyAgICAgICAgICAgIEZBTExUSFJPVUdIOwogICAgICAgICBjYXNlIFBh
dGhTZWdBcmNBYnM6CiAgICAgICAgICAgICBpZiAoIXBhcnNlQXJjVG9TZWdtZW50KCkpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1RyYW5zZm9ybURpc3RhbmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zv
cm1EaXN0YW5jZS5jcHAKaW5kZXggODBhYmVlMy4uODViM2EyNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybURpc3RhbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHVHJhbnNmb3JtRGlzdGFuY2UuY3BwCkBAIC01OCw2ICs1OCw5IEBAIFNWR1RyYW5z
Zm9ybURpc3RhbmNlOjpTVkdUcmFuc2Zvcm1EaXN0YW5jZShjb25zdCBTVkdUcmFuc2Zvcm0mIGZy
b21TVkdUcmFuc2Zvcm0sCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIFNWR1RyYW5z
Zm9ybTo6U1ZHX1RSQU5TRk9STV9NQVRSSVg6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworI2lmIEFTU0VSVF9ESVNBQkxFRAorICAgICAgICBGQUxMVEhST1VHSDsKKyNlbmRpZgogICAg
IGNhc2UgU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1VOS05PV046CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1JPVEFURTogewpAQCAtOTAs
NiArOTMsOSBAQCBTVkdUcmFuc2Zvcm1EaXN0YW5jZSBTVkdUcmFuc2Zvcm1EaXN0YW5jZTo6c2Nh
bGVkRGlzdGFuY2UoZmxvYXQgc2NhbGVGYWN0b3IpIGNvbgogICAgIHN3aXRjaCAobV90eXBlKSB7
CiAgICAgY2FzZSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fTUFUUklYOgogICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNpZiBBU1NFUlRfRElTQUJMRUQKKyAgICAgICAgRkFMTFRI
Uk9VR0g7CisjZW5kaWYKICAgICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9VTktO
T1dOOgogICAgICAgICByZXR1cm4gU1ZHVHJhbnNmb3JtRGlzdGFuY2UoKTsKICAgICBjYXNlIFNW
R1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9ST1RBVEU6CkBAIC0xMjAsNiArMTI2LDkgQEAgU1ZH
VHJhbnNmb3JtIFNWR1RyYW5zZm9ybURpc3RhbmNlOjphZGRTVkdUcmFuc2Zvcm1zKGNvbnN0IFNW
R1RyYW5zZm9ybSYgZmlyc3QsIGMKICAgICBzd2l0Y2ggKGZpcnN0LnR5cGUoKSkgewogICAgIGNh
c2UgU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX01BVFJJWDoKICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisjaWYgQVNTRVJUX0RJU0FCTEVECisgICAgICAgIEZBTExUSFJPVUdIOwor
I2VuZGlmCiAgICAgY2FzZSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fVU5LTk9XTjoKICAg
ICAgICAgcmV0dXJuIFNWR1RyYW5zZm9ybSgpOwogICAgIGNhc2UgU1ZHVHJhbnNmb3JtOjpTVkdf
VFJBTlNGT1JNX1JPVEFURTogewpAQCAtMTU5LDYgKzE2OCw5IEBAIFNWR1RyYW5zZm9ybSBTVkdU
cmFuc2Zvcm1EaXN0YW5jZTo6YWRkVG9TVkdUcmFuc2Zvcm0oY29uc3QgU1ZHVHJhbnNmb3JtJiB0
cmFuc2ZvCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZH
X1RSQU5TRk9STV9NQVRSSVg6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworI2lmIEFT
U0VSVF9ESVNBQkxFRAorICAgICAgICBGQUxMVEhST1VHSDsKKyNlbmRpZgogICAgIGNhc2UgU1ZH
VHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1VOS05PV046CiAgICAgICAgIHJldHVybiBTVkdUcmFu
c2Zvcm0oKTsKICAgICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9UUkFOU0xBVEU6
IHsKQEAgLTIwMCw2ICsyMTIsOSBAQCBmbG9hdCBTVkdUcmFuc2Zvcm1EaXN0YW5jZTo6ZGlzdGFu
Y2UoKSBjb25zdAogICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBTVkdUcmFuc2Zvcm06
OlNWR19UUkFOU0ZPUk1fTUFUUklYOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNp
ZiBBU1NFUlRfRElTQUJMRUQKKyAgICAgICAgRkFMTFRIUk9VR0g7CisjZW5kaWYKICAgICBjYXNl
IFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9VTktOT1dOOgogICAgICAgICByZXR1cm4gMDsK
ICAgICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9ST1RBVEU6Cg==
</data>
<flag name="review"
          id="246288"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>