<?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>169078</bug_id>
          
          <creation_ts>2017-03-02 05:04:01 -0800</creation_ts>
          <short_desc>Implement stroke-miterlimit.</short_desc>
          <delta_ts>2017-04-03 06:59:46 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>hyatt</cc>
    
    <cc>jonlee</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1282691</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-03-02 05:04:01 -0800</bug_when>
    <thetext>Implement stroke-miterlimit, see https://drafts.fxtf.org/paint/.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282692</commentid>
    <comment_count>1</comment_count>
      <attachid>303192</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-03-02 05:11:58 -0800</bug_when>
    <thetext>Created attachment 303192
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282698</commentid>
    <comment_count>2</comment_count>
      <attachid>303194</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-03-02 05:56:24 -0800</bug_when>
    <thetext>Created attachment 303194
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282904</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-03-02 14:52:14 -0800</bug_when>
    <thetext>rdar://problem/30754816</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283124</commentid>
    <comment_count>4</comment_count>
      <attachid>303308</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-03-03 02:36:41 -0800</bug_when>
    <thetext>Created attachment 303308
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283127</commentid>
    <comment_count>5</comment_count>
      <attachid>303310</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-03-03 03:21:20 -0800</bug_when>
    <thetext>Created attachment 303310
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1293313</commentid>
    <comment_count>6</comment_count>
      <attachid>303310</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2017-03-31 14:58:02 -0700</bug_when>
    <thetext>Comment on attachment 303310
Patch

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

&gt; Source/WebCore/rendering/TextPaintStyle.h:55
&gt; +    float miterLimit { 4 };

Seems like the value &quot;4&quot; needs to be a constant, since...

&gt; Source/WebCore/rendering/style/RenderStyle.h:1259
&gt; +    static float initialStrokeMiterLimit() { return 4; }

.... you repeat 4 here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1293621</commentid>
    <comment_count>7</comment_count>
      <attachid>306072</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-04-03 05:16:08 -0700</bug_when>
    <thetext>Created attachment 306072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1293633</commentid>
    <comment_count>8</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-04-03 06:59:13 -0700</bug_when>
    <thetext>Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1293634</commentid>
    <comment_count>9</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-04-03 06:59:37 -0700</bug_when>
    <thetext>Committed &lt;https://trac.webkit.org/changeset/214787/webkit&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303192</attachid>
            <date>2017-03-02 05:11:58 -0800</date>
            <delta_ts>2017-03-02 05:56:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169078-20170302141156.patch</filename>
            <type>text/plain</type>
            <size>17750</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMzI3NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ5IEBACisyMDE3LTAzLTAyICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgc3Ryb2tl
LW1pdGVybGltaXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjkwNzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6cHJvcGVydHlWYWx1ZSk6CisgICAgICAgICog
Y3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvU1ZHQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0
b3I6OnN2Z1Byb3BlcnR5VmFsdWUpOgorICAgICAgICAqIHJlbmRlcmluZy9UZXh0UGFpbnRTdHls
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlVGV4dFBhaW50U3R5bGUpOgorICAgICAg
ICAoV2ViQ29yZTo6dXBkYXRlR3JhcGhpY3NDb250ZXh0KToKKyAgICAgICAgKiByZW5kZXJpbmcv
VGV4dFBhaW50U3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmRpZmYpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5
bGU6OnN0cm9rZU1pdGVyTGltaXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNl
dFN0cm9rZU1pdGVyTGltaXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRp
YWxTdHJva2VNaXRlckxpbWl0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpzZXRT
dHJva2VEYXNoT2Zmc2V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OmRpZmYpOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUmVuZGVyU3R5bGU6OmluaXRpYWxTdHJva2VEYXNoQXJyYXkpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHUmVuZGVyU3R5bGU6OnN0cm9rZURhc2hBcnJheSk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdSZW5kZXJTdHlsZTo6aW5pdGlhbFN0cm9rZU1pdGVyTGltaXQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OnN0cm9rZU1pdGVyTGltaXQpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OnNldFN0cm9rZU1pdGVyTGltaXQpOiBE
ZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVTdHJva2VEYXRhOjpTdHlsZVN0cm9rZURhdGEpOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVTdHJva2VEYXRhOjpvcGVyYXRvcj09KToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmg6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSk6CisgICAgICAg
IChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHJl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHU2hhcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHU2hhcGU6Omhhc1Ntb290aFN0cm9rZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdS
ZW5kZXJTdXBwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN1cHBvcnQ6OmFw
cGx5U3Ryb2tlU3R5bGVUb0NvbnRleHQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVu
ZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZVN0eWxlKToKKwogMjAx
Ny0wMy0wMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS10gQ3Jhc2ggaW4gV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpu
b3RpZnlGbHVzaFJlcXVpcmVkCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAkocmV2aXNpb24gMjEzMDI3KQorKysgU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM4NDAsNiArMzg0MCw4IEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4
dHJhY3RvcjoKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0
eWxlLT5qb2luU3R5bGUoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJva2VXaWR0aDoK
ICAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlRm9yTGVuZ3RoKHN0eWxl
LT5zdHJva2VXaWR0aCgpLCAqc3R5bGUpOworICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3Ryb2tl
TWl0ZXJsaW1pdDoKKyAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRl
KHN0eWxlLT5zdHJva2VNaXRlckxpbWl0KCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVS
KTsKIAogICAgICAgICAvKiBVbmltcGxlbWVudGVkIENTUyAzIHByb3BlcnRpZXMgKGluY2x1ZGlu
ZyBDU1MzIHNob3J0aGFuZCBwcm9wZXJ0aWVzKSAqLwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5
QWxsOgpAQCAtMzk1Nyw3ICszOTU5LDYgQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0eWxl
RXh0cmFjdG9yOgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5U2hhcGVSZW5kZXJpbmc6CiAgICAg
ICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJva2U6CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJv
a2VEYXNoYXJyYXk6Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJva2VNaXRlcmxpbWl0Ogog
ICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3Ryb2tlT3BhY2l0eToKICAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eUFsaWdubWVudEJhc2VsaW5lOgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5QmFzZWxp
bmVTaGlmdDoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgkocmV2aXNp
b24gMjEzMDI3KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgkod29y
a2luZyBjb3B5KQpAQCAtMTk2OCw4ICsxOTY4LDcgQEAKICAgICAgICAgICAgICJpbmhlcml0ZWQi
OiB0cnVlLAogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKICAgICAgICAgICAg
ICAgICAibmFtZS1mb3ItbWV0aG9kcyI6ICJTdHJva2VNaXRlckxpbWl0IiwKLSAgICAgICAgICAg
ICAgICAiY29udmVydGVyIjogIk51bWJlcjxmbG9hdD4iLAotICAgICAgICAgICAgICAgICJzdmci
OiB0cnVlCisgICAgICAgICAgICAgICAgImNvbnZlcnRlciI6ICJOdW1iZXI8ZmxvYXQ+IgogICAg
ICAgICAgICAgfQogICAgICAgICB9LAogICAgICAgICAic3Ryb2tlLW9wYWNpdHkiOiB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmNwcAkocmV2aXNpb24gMjEzMDI3KQorKysgU291cmNlL1dlYkNvcmUvY3NzL1NWR0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMyw4ICsx
MTMsNiBAQCBSZWZQdHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6CiAgICAgICAg
ICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShzdmdTdHlsZS5jb2xvclJlbmRl
cmluZygpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVNoYXBlUmVuZGVyaW5nOgogICAgICAg
ICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3ZnU3R5bGUuc2hhcGVSZW5k
ZXJpbmcoKSk7Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJva2VNaXRlcmxpbWl0OgotICAg
ICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3ZnU3R5bGUuc3Ryb2tl
TWl0ZXJMaW1pdCgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7CiAgICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlTdHJva2VPcGFjaXR5OgogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1p
dGl2ZVZhbHVlOjpjcmVhdGUoc3ZnU3R5bGUuc3Ryb2tlT3BhY2l0eSgpLCBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX05VTUJFUik7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlBbGlnbm1lbnRCYXNl
bGluZToKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWludFN0eWxlLmNw
cAkocmV2aXNpb24gMjEzMDI3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWlu
dFN0eWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsNiArNzEsNyBAQCBUZXh0UGFpbnRTdHls
ZSBjb21wdXRlVGV4dFBhaW50U3R5bGUoY29uCiAgICAgcGFpbnRTdHlsZS5wYWludE9yZGVyID0g
bGluZVN0eWxlLnBhaW50T3JkZXIoKTsKICAgICBwYWludFN0eWxlLmxpbmVKb2luID0gbGluZVN0
eWxlLmpvaW5TdHlsZSgpOwogICAgIHBhaW50U3R5bGUubGluZUNhcCA9IGxpbmVTdHlsZS5jYXBT
dHlsZSgpOworICAgIHBhaW50U3R5bGUubWl0ZXJMaW1pdCA9IGxpbmVTdHlsZS5zdHJva2VNaXRl
ckxpbWl0KCk7CiAgICAgCiAgICAgaWYgKHBhaW50SW5mby5mb3JjZVRleHRDb2xvcigpKSB7CiAg
ICAgICAgIHBhaW50U3R5bGUuZmlsbENvbG9yID0gcGFpbnRJbmZvLmZvcmNlZFRleHRDb2xvcigp
OwpAQCAtMTk3LDYgKzE5OCw4IEBAIHZvaWQgdXBkYXRlR3JhcGhpY3NDb250ZXh0KEdyYXBoaWNz
Q29udGUKICAgICAgICAgICAgIGNvbnRleHQuc2V0U3Ryb2tlVGhpY2tuZXNzKHBhaW50U3R5bGUu
c3Ryb2tlV2lkdGgpOwogICAgICAgICBjb250ZXh0LnNldExpbmVKb2luKHBhaW50U3R5bGUubGlu
ZUpvaW4pOwogICAgICAgICBjb250ZXh0LnNldExpbmVDYXAocGFpbnRTdHlsZS5saW5lQ2FwKTsK
KyAgICAgICAgaWYgKHBhaW50U3R5bGUubGluZUpvaW4gPT0gTWl0ZXJKb2luKQorICAgICAgICAg
ICAgY29udGV4dC5zZXRNaXRlckxpbWl0KHBhaW50U3R5bGUubWl0ZXJMaW1pdCk7CiAgICAgfQog
fQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50U3R5bGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50U3R5bGUuaAkocmV2
aXNpb24gMjEzMDI3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWludFN0eWxl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDcgQEAgc3RydWN0IFRleHRQYWludFN0eWxl
IHsKICAgICBQYWludE9yZGVyIHBhaW50T3JkZXIgeyBQYWludE9yZGVyOjpOb3JtYWwgfTsKICAg
ICBMaW5lSm9pbiBsaW5lSm9pbiB7IE1pdGVySm9pbiB9OwogICAgIExpbmVDYXAgbGluZUNhcCB7
IEJ1dHRDYXAgfTsKKyAgICBmbG9hdCBtaXRlckxpbWl0IHsgNCB9OwogfTsKIAogVGV4dFBhaW50
U3R5bGUgY29tcHV0ZVRleHRQYWludFN0eWxlKGNvbnN0IEZyYW1lJiwgY29uc3QgUmVuZGVyU3R5
bGUmLCBjb25zdCBQYWludEluZm8mKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAkocmV2aXNpb24gMjEzMDI3KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
OTExLDcgKzkxMSw4IEBAIFN0eWxlRGlmZmVyZW5jZSBSZW5kZXJTdHlsZTo6ZGlmZihjb25zdCAK
ICAgICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGFmZmVjdCB0aGUgY2FjaGVkIHN0cm9rZSBib3VuZGlu
ZyBib3ggcmVjdHMuCiAgICAgaWYgKG1fcmFyZUluaGVyaXRlZERhdGEtPmNhcFN0eWxlICE9IG90
aGVyLm1fcmFyZUluaGVyaXRlZERhdGEtPmNhcFN0eWxlCiAgICAgICAgIHx8IG1fcmFyZUluaGVy
aXRlZERhdGEtPmpvaW5TdHlsZSAhPSBvdGhlci5tX3JhcmVJbmhlcml0ZWREYXRhLT5qb2luU3R5
bGUKLSAgICAgICAgfHwgbV9yYXJlSW5oZXJpdGVkRGF0YS0+c3Ryb2tlV2lkdGggIT0gb3RoZXIu
bV9yYXJlSW5oZXJpdGVkRGF0YS0+c3Ryb2tlV2lkdGgpCisgICAgICAgIHx8IG1fcmFyZUluaGVy
aXRlZERhdGEtPnN0cm9rZVdpZHRoICE9IG90aGVyLm1fcmFyZUluaGVyaXRlZERhdGEtPnN0cm9r
ZVdpZHRoCisgICAgICAgIHx8IG1fcmFyZUluaGVyaXRlZERhdGEtPm1pdGVyTGltaXQgIT0gb3Ro
ZXIubV9yYXJlSW5oZXJpdGVkRGF0YS0+bWl0ZXJMaW1pdCkKICAgICAgICAgcmV0dXJuIFN0eWxl
RGlmZmVyZW5jZUxheW91dDsKIAogICAgIGlmIChjaGFuZ2VSZXF1aXJlc0xheW91dChvdGhlciwg
Y2hhbmdlZENvbnRleHRTZW5zaXRpdmVQcm9wZXJ0aWVzKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCShyZXZpc2lvbiAyMTMwMjcpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5
KQpAQCAtMTI1NCw2ICsxMjU0LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U3Ryb2tlV2lkdGgo
TGVuZ3RoJiYgdykgeyBTRVRfVkFSKG1fcmFyZUluaGVyaXRlZERhdGEsIHN0cm9rZVdpZHRoLCBX
VEZNb3ZlKHcpKTsgfQogICAgIGJvb2wgaGFzVmlzaWJsZVN0cm9rZSgpIGNvbnN0IHsgcmV0dXJu
IHN2Z1N0eWxlKCkuaGFzU3Ryb2tlKCkgJiYgIXN0cm9rZVdpZHRoKCkuaXNaZXJvKCk7IH0KIAor
ICAgIGZsb2F0IHN0cm9rZU1pdGVyTGltaXQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVJbmhlcml0
ZWREYXRhLT5taXRlckxpbWl0OyB9CisgICAgdm9pZCBzZXRTdHJva2VNaXRlckxpbWl0KGZsb2F0
IGYpIHsgU0VUX1ZBUihtX3JhcmVJbmhlcml0ZWREYXRhLCBtaXRlckxpbWl0LCBmKTsgfQorICAg
IHN0YXRpYyBmbG9hdCBpbml0aWFsU3Ryb2tlTWl0ZXJMaW1pdCgpIHsgcmV0dXJuIDQ7IH0KICAg
ICAKICAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSYgc3ZnU3R5bGUoKSBjb25zdCB7IHJldHVybiBt
X3N2Z1N0eWxlOyB9CiAgICAgU1ZHUmVuZGVyU3R5bGUmIGFjY2Vzc1NWR1N0eWxlKCkgeyByZXR1
cm4gbV9zdmdTdHlsZS5hY2Nlc3MoKTsgfQpAQCAtMTI3Myw4ICsxMjc2LDYgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0U3Ryb2tlRGFzaEFycmF5KFZlY3RvcjxTVkdMZW5ndGhWYWx1ZT4gYXJyYXkp
IHsgYWNjZXNzU1ZHU3R5bGUoKS5zZXRTdHJva2VEYXNoQXJyYXkoYXJyYXkpOyB9CiAgICAgY29u
c3QgTGVuZ3RoJiBzdHJva2VEYXNoT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gc3ZnU3R5bGUoKS5z
dHJva2VEYXNoT2Zmc2V0KCk7IH0KICAgICB2b2lkIHNldFN0cm9rZURhc2hPZmZzZXQoTGVuZ3Ro
JiYgZCkgeyBhY2Nlc3NTVkdTdHlsZSgpLnNldFN0cm9rZURhc2hPZmZzZXQoV1RGTW92ZShkKSk7
IH0KLSAgICBmbG9hdCBzdHJva2VNaXRlckxpbWl0KCkgY29uc3QgeyByZXR1cm4gc3ZnU3R5bGUo
KS5zdHJva2VNaXRlckxpbWl0KCk7IH0KLSAgICB2b2lkIHNldFN0cm9rZU1pdGVyTGltaXQoZmxv
YXQgZikgeyBhY2Nlc3NTVkdTdHlsZSgpLnNldFN0cm9rZU1pdGVyTGltaXQoZik7IH0KIAogICAg
IGNvbnN0IExlbmd0aCYgY3goKSBjb25zdCB7IHJldHVybiBzdmdTdHlsZSgpLmN4KCk7IH0KICAg
ICB2b2lkIHNldEN4KExlbmd0aCYmIGN4KSB7IGFjY2Vzc1NWR1N0eWxlKCkuc2V0Q3goV1RGTW92
ZShjeCkpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVy
U3R5bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
VkdSZW5kZXJTdHlsZS5jcHAJKHJldmlzaW9uIDIxMzAyNykKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4OCw3
ICsxODgsNiBAQCBTdHlsZURpZmZlcmVuY2UgU1ZHUmVuZGVyU3R5bGU6OmRpZmYoY29uCiAgICAg
ICAgIGlmIChtX3N0cm9rZURhdGEtPnBhaW50VHlwZSAhPSBvdGhlci5tX3N0cm9rZURhdGEtPnBh
aW50VHlwZQogICAgICAgICAgICAgfHwgbV9zdHJva2VEYXRhLT5wYWludENvbG9yICE9IG90aGVy
Lm1fc3Ryb2tlRGF0YS0+cGFpbnRDb2xvcgogICAgICAgICAgICAgfHwgbV9zdHJva2VEYXRhLT5w
YWludFVyaSAhPSBvdGhlci5tX3N0cm9rZURhdGEtPnBhaW50VXJpCi0gICAgICAgICAgICB8fCBt
X3N0cm9rZURhdGEtPm1pdGVyTGltaXQgIT0gb3RoZXIubV9zdHJva2VEYXRhLT5taXRlckxpbWl0
CiAgICAgICAgICAgICB8fCBtX3N0cm9rZURhdGEtPmRhc2hBcnJheSAhPSBvdGhlci5tX3N0cm9r
ZURhdGEtPmRhc2hBcnJheQogICAgICAgICAgICAgfHwgbV9zdHJva2VEYXRhLT5kYXNoT2Zmc2V0
ICE9IG90aGVyLm1fc3Ryb2tlRGF0YS0+ZGFzaE9mZnNldAogICAgICAgICAgICAgfHwgbV9zdHJv
a2VEYXRhLT52aXNpdGVkTGlua1BhaW50Q29sb3IgIT0gb3RoZXIubV9zdHJva2VEYXRhLT52aXNp
dGVkTGlua1BhaW50Q29sb3IKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
VkdSZW5kZXJTdHlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TVkdSZW5kZXJTdHlsZS5oCShyZXZpc2lvbiAyMTMwMjcpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtNzEs
NyArNzEsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIENvbG9yIGluaXRpYWxTdHJva2VQYWludENv
bG9yKCkgeyByZXR1cm4gQ29sb3IoKTsgfQogICAgIHN0YXRpYyBTdHJpbmcgaW5pdGlhbFN0cm9r
ZVBhaW50VXJpKCkgeyByZXR1cm4gU3RyaW5nKCk7IH0KICAgICBzdGF0aWMgVmVjdG9yPFNWR0xl
bmd0aFZhbHVlPiBpbml0aWFsU3Ryb2tlRGFzaEFycmF5KCkgeyByZXR1cm4geyB9OyB9Ci0gICAg
c3RhdGljIGZsb2F0IGluaXRpYWxTdHJva2VNaXRlckxpbWl0KCkgeyByZXR1cm4gNDsgfQogICAg
IHN0YXRpYyBmbG9hdCBpbml0aWFsU3RvcE9wYWNpdHkoKSB7IHJldHVybiAxOyB9CiAgICAgc3Rh
dGljIENvbG9yIGluaXRpYWxTdG9wQ29sb3IoKSB7IHJldHVybiBDb2xvcigwLCAwLCAwKTsgfQog
ICAgIHN0YXRpYyBmbG9hdCBpbml0aWFsRmxvb2RPcGFjaXR5KCkgeyByZXR1cm4gMTsgfQpAQCAt
MTE2LDcgKzExNSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFN0cm9rZVBhaW50KFNWR1BhaW50
VHlwZSwgY29uc3QgQ29sb3ImLCBjb25zdCBTdHJpbmcmIHVyaSwgYm9vbCBhcHBseVRvUmVndWxh
clN0eWxlID0gdHJ1ZSwgYm9vbCBhcHBseVRvVmlzaXRlZExpbmtTdHlsZSA9IGZhbHNlKTsKIAog
ICAgIHZvaWQgc2V0U3Ryb2tlRGFzaEFycmF5KGNvbnN0IFZlY3RvcjxTVkdMZW5ndGhWYWx1ZT4m
KTsKLSAgICB2b2lkIHNldFN0cm9rZU1pdGVyTGltaXQoZmxvYXQpOwogICAgIHZvaWQgc2V0U3Ry
b2tlRGFzaE9mZnNldChjb25zdCBMZW5ndGgmKTsKICAgICB2b2lkIHNldEtlcm5pbmcoY29uc3Qg
U1ZHTGVuZ3RoVmFsdWUmKTsKICAgICB2b2lkIHNldFN0b3BPcGFjaXR5KGZsb2F0KTsKQEAgLTE2
MSw3ICsxNTksNiBAQCBwdWJsaWM6CiAgICAgY29uc3QgQ29sb3ImIHN0cm9rZVBhaW50Q29sb3Io
KSBjb25zdCB7IHJldHVybiBtX3N0cm9rZURhdGEtPnBhaW50Q29sb3I7IH0KICAgICBjb25zdCBT
dHJpbmcmIHN0cm9rZVBhaW50VXJpKCkgY29uc3QgeyByZXR1cm4gbV9zdHJva2VEYXRhLT5wYWlu
dFVyaTsgfQogICAgIFZlY3RvcjxTVkdMZW5ndGhWYWx1ZT4gc3Ryb2tlRGFzaEFycmF5KCkgY29u
c3QgeyByZXR1cm4gbV9zdHJva2VEYXRhLT5kYXNoQXJyYXk7IH0KLSAgICBmbG9hdCBzdHJva2VN
aXRlckxpbWl0KCkgY29uc3QgeyByZXR1cm4gbV9zdHJva2VEYXRhLT5taXRlckxpbWl0OyB9CiAg
ICAgY29uc3QgTGVuZ3RoJiBzdHJva2VEYXNoT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9zdHJv
a2VEYXRhLT5kYXNoT2Zmc2V0OyB9CiAgICAgU1ZHTGVuZ3RoVmFsdWUga2VybmluZygpIGNvbnN0
IHsgcmV0dXJuIG1fdGV4dERhdGEtPmtlcm5pbmc7IH0KICAgICBmbG9hdCBzdG9wT3BhY2l0eSgp
IGNvbnN0IHsgcmV0dXJuIG1fc3RvcERhdGEtPm9wYWNpdHk7IH0KQEAgLTM3NCwxMiArMzcxLDYg
QEAgaW5saW5lIHZvaWQgU1ZHUmVuZGVyU3R5bGU6OnNldFN0cm9rZURhcwogICAgICAgICBtX3N0
cm9rZURhdGEuYWNjZXNzKCkuZGFzaEFycmF5ID0gYXJyYXk7CiB9CiAKLWlubGluZSB2b2lkIFNW
R1JlbmRlclN0eWxlOjpzZXRTdHJva2VNaXRlckxpbWl0KGZsb2F0IGxpbWl0KQotewotICAgIGlm
ICghKG1fc3Ryb2tlRGF0YS0+bWl0ZXJMaW1pdCA9PSBsaW1pdCkpCi0gICAgICAgIG1fc3Ryb2tl
RGF0YS5hY2Nlc3MoKS5taXRlckxpbWl0ID0gbGltaXQ7Ci19Ci0KIGlubGluZSB2b2lkIFNWR1Jl
bmRlclN0eWxlOjpzZXRTdHJva2VEYXNoT2Zmc2V0KGNvbnN0IExlbmd0aCYgb2Zmc2V0KQogewog
ICAgIGlmICghKG1fc3Ryb2tlRGF0YS0+ZGFzaE9mZnNldCA9PSBvZmZzZXQpKQpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVm
cy5jcHAJKHJldmlzaW9uIDIxMzAyNykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TVkdSZW5kZXJTdHlsZURlZnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Niw3ICs3Niw2IEBA
IGJvb2wgU3R5bGVGaWxsRGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHkKIAogU3R5bGVTdHJva2VE
YXRhOjpTdHlsZVN0cm9rZURhdGEoKQogICAgIDogb3BhY2l0eShTVkdSZW5kZXJTdHlsZTo6aW5p
dGlhbFN0cm9rZU9wYWNpdHkoKSkKLSAgICAsIG1pdGVyTGltaXQoU1ZHUmVuZGVyU3R5bGU6Omlu
aXRpYWxTdHJva2VNaXRlckxpbWl0KCkpCiAgICAgLCBkYXNoT2Zmc2V0KFJlbmRlclN0eWxlOjpp
bml0aWFsWmVyb0xlbmd0aCgpKQogICAgICwgZGFzaEFycmF5KFNWR1JlbmRlclN0eWxlOjppbml0
aWFsU3Ryb2tlRGFzaEFycmF5KCkpCiAgICAgLCBwYWludFR5cGUoU1ZHUmVuZGVyU3R5bGU6Omlu
aXRpYWxTdHJva2VQYWludFR5cGUoKSkKQEAgLTkxLDcgKzkwLDYgQEAgU3R5bGVTdHJva2VEYXRh
OjpTdHlsZVN0cm9rZURhdGEoKQogaW5saW5lIFN0eWxlU3Ryb2tlRGF0YTo6U3R5bGVTdHJva2VE
YXRhKGNvbnN0IFN0eWxlU3Ryb2tlRGF0YSYgb3RoZXIpCiAgICAgOiBSZWZDb3VudGVkPFN0eWxl
U3Ryb2tlRGF0YT4oKQogICAgICwgb3BhY2l0eShvdGhlci5vcGFjaXR5KQotICAgICwgbWl0ZXJM
aW1pdChvdGhlci5taXRlckxpbWl0KQogICAgICwgZGFzaE9mZnNldChvdGhlci5kYXNoT2Zmc2V0
KQogICAgICwgZGFzaEFycmF5KG90aGVyLmRhc2hBcnJheSkKICAgICAsIHBhaW50VHlwZShvdGhl
ci5wYWludFR5cGUpCkBAIC0xMTEsNyArMTA5LDYgQEAgUmVmPFN0eWxlU3Ryb2tlRGF0YT4gU3R5
bGVTdHJva2VEYXRhOjpjbwogYm9vbCBTdHlsZVN0cm9rZURhdGE6Om9wZXJhdG9yPT0oY29uc3Qg
U3R5bGVTdHJva2VEYXRhJiBvdGhlcikgY29uc3QKIHsKICAgICByZXR1cm4gb3BhY2l0eSA9PSBv
dGhlci5vcGFjaXR5Ci0gICAgICAgICYmIG1pdGVyTGltaXQgPT0gb3RoZXIubWl0ZXJMaW1pdAog
ICAgICAgICAmJiBkYXNoT2Zmc2V0ID09IG90aGVyLmRhc2hPZmZzZXQKICAgICAgICAgJiYgZGFz
aEFycmF5ID09IG90aGVyLmRhc2hBcnJheQogICAgICAgICAmJiBwYWludFR5cGUgPT0gb3RoZXIu
cGFpbnRUeXBlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVy
U3R5bGVEZWZzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1NWR1JlbmRlclN0eWxlRGVmcy5oCShyZXZpc2lvbiAyMTMwMjcpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTEzNyw3ICsxMzcsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIH0KIAogICAgICAg
ICBmbG9hdCBvcGFjaXR5OwotICAgICAgICBmbG9hdCBtaXRlckxpbWl0OwogCiAgICAgICAgIExl
bmd0aCBkYXNoT2Zmc2V0OwogICAgICAgICBWZWN0b3I8U1ZHTGVuZ3RoVmFsdWU+IGRhc2hBcnJh
eTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0
ZWREYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAJKHJldmlzaW9uIDIxMzAyNykKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTI5LDYgKzEyOSw3IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxl
UmFyZUluaGVyaXQKICAgICAsIGNhcFN0eWxlKFJlbmRlclN0eWxlOjppbml0aWFsQ2FwU3R5bGUo
KSkKICAgICAsIGpvaW5TdHlsZShSZW5kZXJTdHlsZTo6aW5pdGlhbEpvaW5TdHlsZSgpKQogICAg
ICwgc3Ryb2tlV2lkdGgoUmVuZGVyU3R5bGU6OmluaXRpYWxPbmVMZW5ndGgoKSkKKyAgICAsIG1p
dGVyTGltaXQoUmVuZGVyU3R5bGU6OmluaXRpYWxTdHJva2VNaXRlckxpbWl0KCkpCiAgICAgLCBo
eXBoZW5hdGlvbkxpbWl0QmVmb3JlKC0xKQogICAgICwgaHlwaGVuYXRpb25MaW1pdEFmdGVyKC0x
KQogICAgICwgaHlwaGVuYXRpb25MaW1pdExpbmVzKC0xKQpAQCAtMjE1LDYgKzIxNiw3IEBAIGlu
bGluZSBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmUKICAgICAsIGNhcFN0eWxlKG8u
Y2FwU3R5bGUpCiAgICAgLCBqb2luU3R5bGUoby5qb2luU3R5bGUpCiAgICAgLCBzdHJva2VXaWR0
aChvLnN0cm9rZVdpZHRoKQorICAgICwgbWl0ZXJMaW1pdChvLm1pdGVyTGltaXQpCiAgICAgLCBo
eXBoZW5hdGlvblN0cmluZyhvLmh5cGhlbmF0aW9uU3RyaW5nKQogICAgICwgaHlwaGVuYXRpb25M
aW1pdEJlZm9yZShvLmh5cGhlbmF0aW9uTGltaXRCZWZvcmUpCiAgICAgLCBoeXBoZW5hdGlvbkxp
bWl0QWZ0ZXIoby5oeXBoZW5hdGlvbkxpbWl0QWZ0ZXIpCkBAIC0zMjUsNiArMzI3LDcgQEAgYm9v
bCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KAogICAgICAgICAmJiBjYXBTdHls
ZSA9PSBvLmNhcFN0eWxlCiAgICAgICAgICYmIGpvaW5TdHlsZSA9PSBvLmpvaW5TdHlsZQogICAg
ICAgICAmJiBzdHJva2VXaWR0aCA9PSBvLnN0cm9rZVdpZHRoCisgICAgICAgICYmIG1pdGVyTGlt
aXQgPT0gby5taXRlckxpbWl0CiAgICAgICAgICYmIGN1c3RvbVByb3BlcnRpZXMgPT0gby5jdXN0
b21Qcm9wZXJ0aWVzCiAgICAgICAgICYmIGFyZVBvaW50aW5nVG9FcXVhbERhdGEobGlzdFN0eWxl
SW1hZ2UsIG8ubGlzdFN0eWxlSW1hZ2UpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCShyZXZpc2lv
biAyMTMwMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDAsNiArMTQwLDcgQEAgcHVibGljOgog
ICAgIHVuc2lnbmVkIGNhcFN0eWxlIDogMjsgLy8gTGluZUNhcAogICAgIHVuc2lnbmVkIGpvaW5T
dHlsZSA6IDI7IC8vIExpbmVKb2luCiAgICAgTGVuZ3RoIHN0cm9rZVdpZHRoOworICAgIGZsb2F0
IG1pdGVyTGltaXQ7CiAgICAgCiAgICAgQXRvbWljU3RyaW5nIGh5cGhlbmF0aW9uU3RyaW5nOwog
ICAgIHNob3J0IGh5cGhlbmF0aW9uTGltaXRCZWZvcmU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1NoYXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1NoYXBlLmNwcAkocmV2aXNpb24gMjEzMDI3KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ0NSw3ICs0NDUsNyBAQCBib29sIFJlbmRlclNWR1NoYXBlOjpoYXNTbW9v
dGhTdHJva2UoKSBjCiB7CiAgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUmIHN2Z1N0eWxlID0gc3R5
bGUoKS5zdmdTdHlsZSgpOwogICAgIHJldHVybiBzdmdTdHlsZS5zdHJva2VEYXNoQXJyYXkoKS5p
c0VtcHR5KCkKLSAgICAgICAgJiYgc3ZnU3R5bGUuc3Ryb2tlTWl0ZXJMaW1pdCgpID09IHN2Z1N0
eWxlLmluaXRpYWxTdHJva2VNaXRlckxpbWl0KCkKKyAgICAgICAgJiYgc3R5bGUoKS5zdHJva2VN
aXRlckxpbWl0KCkgPT0gc3R5bGUoKS5pbml0aWFsU3Ryb2tlTWl0ZXJMaW1pdCgpCiAgICAgICAg
ICYmIHN0eWxlKCkuam9pblN0eWxlKCkgPT0gc3R5bGUoKS5pbml0aWFsSm9pblN0eWxlKCkKICAg
ICAgICAgJiYgc3R5bGUoKS5jYXBTdHlsZSgpID09IHN0eWxlKCkuaW5pdGlhbENhcFN0eWxlKCk7
CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVy
U3VwcG9ydC5jcHAJKHJldmlzaW9uIDIxMzAyNykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzMSw3ICs0MzEs
NyBAQCB2b2lkIFNWR1JlbmRlclN1cHBvcnQ6OmFwcGx5U3Ryb2tlU3R5bGVUCiAgICAgY29udGV4
dC0+c2V0TGluZUNhcChzdHlsZS5jYXBTdHlsZSgpKTsKICAgICBjb250ZXh0LT5zZXRMaW5lSm9p
bihzdHlsZS5qb2luU3R5bGUoKSk7CiAgICAgaWYgKHN0eWxlLmpvaW5TdHlsZSgpID09IE1pdGVy
Sm9pbikKLSAgICAgICAgY29udGV4dC0+c2V0TWl0ZXJMaW1pdChzdmdTdHlsZS5zdHJva2VNaXRl
ckxpbWl0KCkpOworICAgICAgICBjb250ZXh0LT5zZXRNaXRlckxpbWl0KHN0eWxlLnN0cm9rZU1p
dGVyTGltaXQoKSk7CiAKICAgICBjb25zdCBWZWN0b3I8U1ZHTGVuZ3RoVmFsdWU+JiBkYXNoZXMg
PSBzdmdTdHlsZS5zdHJva2VEYXNoQXJyYXkoKTsKICAgICBpZiAoZGFzaGVzLmlzRW1wdHkoKSkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJU
cmVlQXNUZXh0LmNwcAkocmV2aXNpb24gMjEzMDI3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk2LDcg
KzE5Niw3IEBAIHN0YXRpYyB2b2lkIHdyaXRlU3R5bGUoVGV4dFN0cmVhbSYgdHMsIGMKIAogICAg
ICAgICAgICAgd3JpdGVJZk5vdERlZmF1bHQodHMsICJvcGFjaXR5Iiwgc3ZnU3R5bGUuc3Ryb2tl
T3BhY2l0eSgpLCAxLjBmKTsKICAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAic3Ry
b2tlIHdpZHRoIiwgc3Ryb2tlV2lkdGgsIDEuMCk7Ci0gICAgICAgICAgICB3cml0ZUlmTm90RGVm
YXVsdCh0cywgIm1pdGVyIGxpbWl0Iiwgc3ZnU3R5bGUuc3Ryb2tlTWl0ZXJMaW1pdCgpLCA0LjBm
KTsKKyAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAibWl0ZXIgbGltaXQiLCBzdHls
ZS5zdHJva2VNaXRlckxpbWl0KCksIDQuMGYpOwogICAgICAgICAgICAgd3JpdGVJZk5vdERlZmF1
bHQodHMsICJsaW5lIGNhcCIsIHN0eWxlLmNhcFN0eWxlKCksIEJ1dHRDYXApOwogICAgICAgICAg
ICAgd3JpdGVJZk5vdERlZmF1bHQodHMsICJsaW5lIGpvaW4iLCBzdHlsZS5qb2luU3R5bGUoKSwg
TWl0ZXJKb2luKTsKICAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAiZGFzaCBvZmZz
ZXQiLCBkYXNoT2Zmc2V0LCAwLjApOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303194</attachid>
            <date>2017-03-02 05:56:24 -0800</date>
            <delta_ts>2017-03-03 02:36:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169078-20170302145622.patch</filename>
            <type>text/plain</type>
            <size>17778</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMzI3NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ5IEBACisyMDE3LTAzLTAyICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgc3Ryb2tl
LW1pdGVybGltaXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjkwNzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6cHJvcGVydHlWYWx1ZSk6CisgICAgICAgICog
Y3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvU1ZHQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0
b3I6OnN2Z1Byb3BlcnR5VmFsdWUpOgorICAgICAgICAqIHJlbmRlcmluZy9UZXh0UGFpbnRTdHls
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlVGV4dFBhaW50U3R5bGUpOgorICAgICAg
ICAoV2ViQ29yZTo6dXBkYXRlR3JhcGhpY3NDb250ZXh0KToKKyAgICAgICAgKiByZW5kZXJpbmcv
VGV4dFBhaW50U3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmRpZmYpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5
bGU6OnN0cm9rZU1pdGVyTGltaXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNl
dFN0cm9rZU1pdGVyTGltaXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRp
YWxTdHJva2VNaXRlckxpbWl0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpzZXRT
dHJva2VEYXNoT2Zmc2V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OmRpZmYpOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUmVuZGVyU3R5bGU6OmluaXRpYWxTdHJva2VEYXNoQXJyYXkpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHUmVuZGVyU3R5bGU6OnN0cm9rZURhc2hBcnJheSk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdSZW5kZXJTdHlsZTo6aW5pdGlhbFN0cm9rZU1pdGVyTGltaXQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OnN0cm9rZU1pdGVyTGltaXQpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OnNldFN0cm9rZU1pdGVyTGltaXQpOiBE
ZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVTdHJva2VEYXRhOjpTdHlsZVN0cm9rZURhdGEpOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVTdHJva2VEYXRhOjpvcGVyYXRvcj09KToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmg6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSk6CisgICAgICAg
IChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHJl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHU2hhcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
U1ZHU2hhcGU6Omhhc1Ntb290aFN0cm9rZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdS
ZW5kZXJTdXBwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN1cHBvcnQ6OmFw
cGx5U3Ryb2tlU3R5bGVUb0NvbnRleHQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVu
ZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZVN0eWxlKToKKwogMjAx
Ny0wMy0wMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS10gQ3Jhc2ggaW4gV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpu
b3RpZnlGbHVzaFJlcXVpcmVkCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAkocmV2aXNpb24gMjEzMjc3KQorKysgU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM4NzEsNiArMzg3MSw4IEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4
dHJhY3RvcjoKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0
eWxlLT5qb2luU3R5bGUoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJva2VXaWR0aDoK
ICAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlRm9yTGVuZ3RoKHN0eWxl
LT5zdHJva2VXaWR0aCgpLCAqc3R5bGUpOworICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3Ryb2tl
TWl0ZXJsaW1pdDoKKyAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRl
KHN0eWxlLT5zdHJva2VNaXRlckxpbWl0KCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVS
KTsKIAogICAgICAgICAvKiBVbmltcGxlbWVudGVkIENTUyAzIHByb3BlcnRpZXMgKGluY2x1ZGlu
ZyBDU1MzIHNob3J0aGFuZCBwcm9wZXJ0aWVzKSAqLwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5
QWxsOgpAQCAtMzk4Nyw3ICszOTg5LDYgQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0eWxl
RXh0cmFjdG9yOgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5U2hhcGVSZW5kZXJpbmc6CiAgICAg
ICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJva2U6CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJv
a2VEYXNoYXJyYXk6Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJva2VNaXRlcmxpbWl0Ogog
ICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3Ryb2tlT3BhY2l0eToKICAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eUFsaWdubWVudEJhc2VsaW5lOgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5QmFzZWxp
bmVTaGlmdDoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgkocmV2aXNp
b24gMjEzMjc3KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgkod29y
a2luZyBjb3B5KQpAQCAtMzAwMyw4ICszMDAzLDcgQEAKICAgICAgICAgICAgICJpbmhlcml0ZWQi
OiB0cnVlLAogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKICAgICAgICAgICAg
ICAgICAibmFtZS1mb3ItbWV0aG9kcyI6ICJTdHJva2VNaXRlckxpbWl0IiwKLSAgICAgICAgICAg
ICAgICAiY29udmVydGVyIjogIk51bWJlcjxmbG9hdD4iLAotICAgICAgICAgICAgICAgICJzdmci
OiB0cnVlCisgICAgICAgICAgICAgICAgImNvbnZlcnRlciI6ICJOdW1iZXI8ZmxvYXQ+IgogICAg
ICAgICAgICAgfSwKICAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogewogICAgICAgICAgICAg
ICAgICJjYXRlZ29yeSI6ICJzdmciLApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU0Nv
bXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Y3NzL1NWR0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAJKHJldmlzaW9uIDIxMzI3NykK
KysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsOCArMTEzLDYgQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21w
dXRlZFN0eWxlRXh0cmFjdG9yOgogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVl
OjpjcmVhdGUoc3ZnU3R5bGUuY29sb3JSZW5kZXJpbmcoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlTaGFwZVJlbmRlcmluZzoKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1
ZTo6Y3JlYXRlKHN2Z1N0eWxlLnNoYXBlUmVuZGVyaW5nKCkpOwotICAgICAgICBjYXNlIENTU1By
b3BlcnR5U3Ryb2tlTWl0ZXJsaW1pdDoKLSAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVW
YWx1ZTo6Y3JlYXRlKHN2Z1N0eWxlLnN0cm9rZU1pdGVyTGltaXQoKSwgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19OVU1CRVIpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3Ryb2tlT3BhY2l0eToK
ICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN2Z1N0eWxlLnN0
cm9rZU9wYWNpdHkoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOwogICAgICAgICBj
YXNlIENTU1Byb3BlcnR5QWxpZ25tZW50QmFzZWxpbmU6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvVGV4dFBhaW50U3R5bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5jcHAJKHJldmlzaW9uIDIxMzI3NykKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTcxLDYgKzcxLDcgQEAgVGV4dFBhaW50U3R5bGUgY29tcHV0ZVRleHRQYWludFN0eWxlKGNvbgog
ICAgIHBhaW50U3R5bGUucGFpbnRPcmRlciA9IGxpbmVTdHlsZS5wYWludE9yZGVyKCk7CiAgICAg
cGFpbnRTdHlsZS5saW5lSm9pbiA9IGxpbmVTdHlsZS5qb2luU3R5bGUoKTsKICAgICBwYWludFN0
eWxlLmxpbmVDYXAgPSBsaW5lU3R5bGUuY2FwU3R5bGUoKTsKKyAgICBwYWludFN0eWxlLm1pdGVy
TGltaXQgPSBsaW5lU3R5bGUuc3Ryb2tlTWl0ZXJMaW1pdCgpOwogICAgIAogICAgIGlmIChwYWlu
dEluZm8uZm9yY2VUZXh0Q29sb3IoKSkgewogICAgICAgICBwYWludFN0eWxlLmZpbGxDb2xvciA9
IHBhaW50SW5mby5mb3JjZWRUZXh0Q29sb3IoKTsKQEAgLTE5Nyw2ICsxOTgsOCBAQCB2b2lkIHVw
ZGF0ZUdyYXBoaWNzQ29udGV4dChHcmFwaGljc0NvbnRlCiAgICAgICAgICAgICBjb250ZXh0LnNl
dFN0cm9rZVRoaWNrbmVzcyhwYWludFN0eWxlLnN0cm9rZVdpZHRoKTsKICAgICAgICAgY29udGV4
dC5zZXRMaW5lSm9pbihwYWludFN0eWxlLmxpbmVKb2luKTsKICAgICAgICAgY29udGV4dC5zZXRM
aW5lQ2FwKHBhaW50U3R5bGUubGluZUNhcCk7CisgICAgICAgIGlmIChwYWludFN0eWxlLmxpbmVK
b2luID09IE1pdGVySm9pbikKKyAgICAgICAgICAgIGNvbnRleHQuc2V0TWl0ZXJMaW1pdChwYWlu
dFN0eWxlLm1pdGVyTGltaXQpOwogICAgIH0KIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1RleHRQYWludFN0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1RleHRQYWludFN0eWxlLmgJKHJldmlzaW9uIDIxMzI3NykKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1
Miw3IEBAIHN0cnVjdCBUZXh0UGFpbnRTdHlsZSB7CiAgICAgUGFpbnRPcmRlciBwYWludE9yZGVy
IHsgUGFpbnRPcmRlcjo6Tm9ybWFsIH07CiAgICAgTGluZUpvaW4gbGluZUpvaW4geyBNaXRlckpv
aW4gfTsKICAgICBMaW5lQ2FwIGxpbmVDYXAgeyBCdXR0Q2FwIH07CisgICAgZmxvYXQgbWl0ZXJM
aW1pdCB7IDQgfTsKIH07CiAKIFRleHRQYWludFN0eWxlIGNvbXB1dGVUZXh0UGFpbnRTdHlsZShj
b25zdCBGcmFtZSYsIGNvbnN0IFJlbmRlclN0eWxlJiwgY29uc3QgUGFpbnRJbmZvJik7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAJKHJl
dmlzaW9uIDIxMzI3NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkxMCw3ICs5MTAsOCBAQCBTdHlsZURpZmZlcmVu
Y2UgUmVuZGVyU3R5bGU6OmRpZmYoY29uc3QgCiAgICAgLy8gVGhlc2UgcHJvcGVydGllcyBhZmZl
Y3QgdGhlIGNhY2hlZCBzdHJva2UgYm91bmRpbmcgYm94IHJlY3RzLgogICAgIGlmIChtX3JhcmVJ
bmhlcml0ZWREYXRhLT5jYXBTdHlsZSAhPSBvdGhlci5tX3JhcmVJbmhlcml0ZWREYXRhLT5jYXBT
dHlsZQogICAgICAgICB8fCBtX3JhcmVJbmhlcml0ZWREYXRhLT5qb2luU3R5bGUgIT0gb3RoZXIu
bV9yYXJlSW5oZXJpdGVkRGF0YS0+am9pblN0eWxlCi0gICAgICAgIHx8IG1fcmFyZUluaGVyaXRl
ZERhdGEtPnN0cm9rZVdpZHRoICE9IG90aGVyLm1fcmFyZUluaGVyaXRlZERhdGEtPnN0cm9rZVdp
ZHRoKQorICAgICAgICB8fCBtX3JhcmVJbmhlcml0ZWREYXRhLT5zdHJva2VXaWR0aCAhPSBvdGhl
ci5tX3JhcmVJbmhlcml0ZWREYXRhLT5zdHJva2VXaWR0aAorICAgICAgICB8fCBtX3JhcmVJbmhl
cml0ZWREYXRhLT5taXRlckxpbWl0ICE9IG90aGVyLm1fcmFyZUluaGVyaXRlZERhdGEtPm1pdGVy
TGltaXQpCiAgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlvdXQ7CiAKICAgICBpZiAo
Y2hhbmdlUmVxdWlyZXNMYXlvdXQob3RoZXIsIGNoYW5nZWRDb250ZXh0U2Vuc2l0aXZlUHJvcGVy
dGllcykpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaAkocmV2aXNpb24gMjEzMjc3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNTQsNiArMTI1NCw5IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldFN0cm9rZVdpZHRoKExlbmd0aCYmIHcpIHsgU0VUX1ZBUihtX3JhcmVJ
bmhlcml0ZWREYXRhLCBzdHJva2VXaWR0aCwgV1RGTW92ZSh3KSk7IH0KICAgICBib29sIGhhc1Zp
c2libGVTdHJva2UoKSBjb25zdCB7IHJldHVybiBzdmdTdHlsZSgpLmhhc1N0cm9rZSgpICYmICFz
dHJva2VXaWR0aCgpLmlzWmVybygpOyB9CiAKKyAgICBmbG9hdCBzdHJva2VNaXRlckxpbWl0KCkg
Y29uc3QgeyByZXR1cm4gbV9yYXJlSW5oZXJpdGVkRGF0YS0+bWl0ZXJMaW1pdDsgfQorICAgIHZv
aWQgc2V0U3Ryb2tlTWl0ZXJMaW1pdChmbG9hdCBmKSB7IFNFVF9WQVIobV9yYXJlSW5oZXJpdGVk
RGF0YSwgbWl0ZXJMaW1pdCwgZik7IH0KKyAgICBzdGF0aWMgZmxvYXQgaW5pdGlhbFN0cm9rZU1p
dGVyTGltaXQoKSB7IHJldHVybiA0OyB9CiAgICAgCiAgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUm
IHN2Z1N0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9zdmdTdHlsZTsgfQogICAgIFNWR1JlbmRlclN0
eWxlJiBhY2Nlc3NTVkdTdHlsZSgpIHsgcmV0dXJuIG1fc3ZnU3R5bGUuYWNjZXNzKCk7IH0KQEAg
LTEyNzMsOCArMTI3Niw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFN0cm9rZURhc2hBcnJheShW
ZWN0b3I8U1ZHTGVuZ3RoVmFsdWU+IGFycmF5KSB7IGFjY2Vzc1NWR1N0eWxlKCkuc2V0U3Ryb2tl
RGFzaEFycmF5KGFycmF5KTsgfQogICAgIGNvbnN0IExlbmd0aCYgc3Ryb2tlRGFzaE9mZnNldCgp
IGNvbnN0IHsgcmV0dXJuIHN2Z1N0eWxlKCkuc3Ryb2tlRGFzaE9mZnNldCgpOyB9CiAgICAgdm9p
ZCBzZXRTdHJva2VEYXNoT2Zmc2V0KExlbmd0aCYmIGQpIHsgYWNjZXNzU1ZHU3R5bGUoKS5zZXRT
dHJva2VEYXNoT2Zmc2V0KFdURk1vdmUoZCkpOyB9Ci0gICAgZmxvYXQgc3Ryb2tlTWl0ZXJMaW1p
dCgpIGNvbnN0IHsgcmV0dXJuIHN2Z1N0eWxlKCkuc3Ryb2tlTWl0ZXJMaW1pdCgpOyB9Ci0gICAg
dm9pZCBzZXRTdHJva2VNaXRlckxpbWl0KGZsb2F0IGYpIHsgYWNjZXNzU1ZHU3R5bGUoKS5zZXRT
dHJva2VNaXRlckxpbWl0KGYpOyB9CiAKICAgICBjb25zdCBMZW5ndGgmIGN4KCkgY29uc3QgeyBy
ZXR1cm4gc3ZnU3R5bGUoKS5jeCgpOyB9CiAgICAgdm9pZCBzZXRDeChMZW5ndGgmJiBjeCkgeyBh
Y2Nlc3NTVkdTdHlsZSgpLnNldEN4KFdURk1vdmUoY3gpKTsgfQpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiAy
MTMyNzcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODgsNyArMTg4LDYgQEAgU3R5bGVEaWZmZXJlbmNlIFNW
R1JlbmRlclN0eWxlOjpkaWZmKGNvbgogICAgICAgICBpZiAobV9zdHJva2VEYXRhLT5wYWludFR5
cGUgIT0gb3RoZXIubV9zdHJva2VEYXRhLT5wYWludFR5cGUKICAgICAgICAgICAgIHx8IG1fc3Ry
b2tlRGF0YS0+cGFpbnRDb2xvciAhPSBvdGhlci5tX3N0cm9rZURhdGEtPnBhaW50Q29sb3IKICAg
ICAgICAgICAgIHx8IG1fc3Ryb2tlRGF0YS0+cGFpbnRVcmkgIT0gb3RoZXIubV9zdHJva2VEYXRh
LT5wYWludFVyaQotICAgICAgICAgICAgfHwgbV9zdHJva2VEYXRhLT5taXRlckxpbWl0ICE9IG90
aGVyLm1fc3Ryb2tlRGF0YS0+bWl0ZXJMaW1pdAogICAgICAgICAgICAgfHwgbV9zdHJva2VEYXRh
LT5kYXNoQXJyYXkgIT0gb3RoZXIubV9zdHJva2VEYXRhLT5kYXNoQXJyYXkKICAgICAgICAgICAg
IHx8IG1fc3Ryb2tlRGF0YS0+ZGFzaE9mZnNldCAhPSBvdGhlci5tX3N0cm9rZURhdGEtPmRhc2hP
ZmZzZXQKICAgICAgICAgICAgIHx8IG1fc3Ryb2tlRGF0YS0+dmlzaXRlZExpbmtQYWludENvbG9y
ICE9IG90aGVyLm1fc3Ryb2tlRGF0YS0+dmlzaXRlZExpbmtQYWludENvbG9yCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaAkocmV2aXNp
b24gMjEzMjc3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0
eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTcxLDcgKzcxLDYgQEAgcHVibGljOgogICAgIHN0YXRp
YyBDb2xvciBpbml0aWFsU3Ryb2tlUGFpbnRDb2xvcigpIHsgcmV0dXJuIENvbG9yKCk7IH0KICAg
ICBzdGF0aWMgU3RyaW5nIGluaXRpYWxTdHJva2VQYWludFVyaSgpIHsgcmV0dXJuIFN0cmluZygp
OyB9CiAgICAgc3RhdGljIFZlY3RvcjxTVkdMZW5ndGhWYWx1ZT4gaW5pdGlhbFN0cm9rZURhc2hB
cnJheSgpIHsgcmV0dXJuIHsgfTsgfQotICAgIHN0YXRpYyBmbG9hdCBpbml0aWFsU3Ryb2tlTWl0
ZXJMaW1pdCgpIHsgcmV0dXJuIDQ7IH0KICAgICBzdGF0aWMgZmxvYXQgaW5pdGlhbFN0b3BPcGFj
aXR5KCkgeyByZXR1cm4gMTsgfQogICAgIHN0YXRpYyBDb2xvciBpbml0aWFsU3RvcENvbG9yKCkg
eyByZXR1cm4gQ29sb3IoMCwgMCwgMCk7IH0KICAgICBzdGF0aWMgZmxvYXQgaW5pdGlhbEZsb29k
T3BhY2l0eSgpIHsgcmV0dXJuIDE7IH0KQEAgLTExNiw3ICsxMTUsNiBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRTdHJva2VQYWludChTVkdQYWludFR5cGUsIGNvbnN0IENvbG9yJiwgY29uc3QgU3Ry
aW5nJiB1cmksIGJvb2wgYXBwbHlUb1JlZ3VsYXJTdHlsZSA9IHRydWUsIGJvb2wgYXBwbHlUb1Zp
c2l0ZWRMaW5rU3R5bGUgPSBmYWxzZSk7CiAKICAgICB2b2lkIHNldFN0cm9rZURhc2hBcnJheShj
b25zdCBWZWN0b3I8U1ZHTGVuZ3RoVmFsdWU+Jik7Ci0gICAgdm9pZCBzZXRTdHJva2VNaXRlckxp
bWl0KGZsb2F0KTsKICAgICB2b2lkIHNldFN0cm9rZURhc2hPZmZzZXQoY29uc3QgTGVuZ3RoJik7
CiAgICAgdm9pZCBzZXRLZXJuaW5nKGNvbnN0IFNWR0xlbmd0aFZhbHVlJik7CiAgICAgdm9pZCBz
ZXRTdG9wT3BhY2l0eShmbG9hdCk7CkBAIC0xNjEsNyArMTU5LDYgQEAgcHVibGljOgogICAgIGNv
bnN0IENvbG9yJiBzdHJva2VQYWludENvbG9yKCkgY29uc3QgeyByZXR1cm4gbV9zdHJva2VEYXRh
LT5wYWludENvbG9yOyB9CiAgICAgY29uc3QgU3RyaW5nJiBzdHJva2VQYWludFVyaSgpIGNvbnN0
IHsgcmV0dXJuIG1fc3Ryb2tlRGF0YS0+cGFpbnRVcmk7IH0KICAgICBWZWN0b3I8U1ZHTGVuZ3Ro
VmFsdWU+IHN0cm9rZURhc2hBcnJheSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Ryb2tlRGF0YS0+ZGFz
aEFycmF5OyB9Ci0gICAgZmxvYXQgc3Ryb2tlTWl0ZXJMaW1pdCgpIGNvbnN0IHsgcmV0dXJuIG1f
c3Ryb2tlRGF0YS0+bWl0ZXJMaW1pdDsgfQogICAgIGNvbnN0IExlbmd0aCYgc3Ryb2tlRGFzaE9m
ZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fc3Ryb2tlRGF0YS0+ZGFzaE9mZnNldDsgfQogICAgIFNW
R0xlbmd0aFZhbHVlIGtlcm5pbmcoKSBjb25zdCB7IHJldHVybiBtX3RleHREYXRhLT5rZXJuaW5n
OyB9CiAgICAgZmxvYXQgc3RvcE9wYWNpdHkoKSBjb25zdCB7IHJldHVybiBtX3N0b3BEYXRhLT5v
cGFjaXR5OyB9CkBAIC0zNzQsMTIgKzM3MSw2IEBAIGlubGluZSB2b2lkIFNWR1JlbmRlclN0eWxl
OjpzZXRTdHJva2VEYXMKICAgICAgICAgbV9zdHJva2VEYXRhLmFjY2VzcygpLmRhc2hBcnJheSA9
IGFycmF5OwogfQogCi1pbmxpbmUgdm9pZCBTVkdSZW5kZXJTdHlsZTo6c2V0U3Ryb2tlTWl0ZXJM
aW1pdChmbG9hdCBsaW1pdCkKLXsKLSAgICBpZiAoIShtX3N0cm9rZURhdGEtPm1pdGVyTGltaXQg
PT0gbGltaXQpKQotICAgICAgICBtX3N0cm9rZURhdGEuYWNjZXNzKCkubWl0ZXJMaW1pdCA9IGxp
bWl0OwotfQotCiBpbmxpbmUgdm9pZCBTVkdSZW5kZXJTdHlsZTo6c2V0U3Ryb2tlRGFzaE9mZnNl
dChjb25zdCBMZW5ndGgmIG9mZnNldCkKIHsKICAgICBpZiAoIShtX3N0cm9rZURhdGEtPmRhc2hP
ZmZzZXQgPT0gb2Zmc2V0KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
VkdSZW5kZXJTdHlsZURlZnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuY3BwCShyZXZpc2lvbiAyMTMyNzcpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNzYsNyArNzYsNiBAQCBib29sIFN0eWxlRmlsbERhdGE6Om9wZXJhdG9y
PT0oY29uc3QgU3R5CiAKIFN0eWxlU3Ryb2tlRGF0YTo6U3R5bGVTdHJva2VEYXRhKCkKICAgICA6
IG9wYWNpdHkoU1ZHUmVuZGVyU3R5bGU6OmluaXRpYWxTdHJva2VPcGFjaXR5KCkpCi0gICAgLCBt
aXRlckxpbWl0KFNWR1JlbmRlclN0eWxlOjppbml0aWFsU3Ryb2tlTWl0ZXJMaW1pdCgpKQogICAg
ICwgZGFzaE9mZnNldChSZW5kZXJTdHlsZTo6aW5pdGlhbFplcm9MZW5ndGgoKSkKICAgICAsIGRh
c2hBcnJheShTVkdSZW5kZXJTdHlsZTo6aW5pdGlhbFN0cm9rZURhc2hBcnJheSgpKQogICAgICwg
cGFpbnRUeXBlKFNWR1JlbmRlclN0eWxlOjppbml0aWFsU3Ryb2tlUGFpbnRUeXBlKCkpCkBAIC05
MSw3ICs5MCw2IEBAIFN0eWxlU3Ryb2tlRGF0YTo6U3R5bGVTdHJva2VEYXRhKCkKIGlubGluZSBT
dHlsZVN0cm9rZURhdGE6OlN0eWxlU3Ryb2tlRGF0YShjb25zdCBTdHlsZVN0cm9rZURhdGEmIG90
aGVyKQogICAgIDogUmVmQ291bnRlZDxTdHlsZVN0cm9rZURhdGE+KCkKICAgICAsIG9wYWNpdHko
b3RoZXIub3BhY2l0eSkKLSAgICAsIG1pdGVyTGltaXQob3RoZXIubWl0ZXJMaW1pdCkKICAgICAs
IGRhc2hPZmZzZXQob3RoZXIuZGFzaE9mZnNldCkKICAgICAsIGRhc2hBcnJheShvdGhlci5kYXNo
QXJyYXkpCiAgICAgLCBwYWludFR5cGUob3RoZXIucGFpbnRUeXBlKQpAQCAtMTExLDcgKzEwOSw2
IEBAIFJlZjxTdHlsZVN0cm9rZURhdGE+IFN0eWxlU3Ryb2tlRGF0YTo6Y28KIGJvb2wgU3R5bGVT
dHJva2VEYXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlU3Ryb2tlRGF0YSYgb3RoZXIpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIG9wYWNpdHkgPT0gb3RoZXIub3BhY2l0eQotICAgICAgICAmJiBtaXRl
ckxpbWl0ID09IG90aGVyLm1pdGVyTGltaXQKICAgICAgICAgJiYgZGFzaE9mZnNldCA9PSBvdGhl
ci5kYXNoT2Zmc2V0CiAgICAgICAgICYmIGRhc2hBcnJheSA9PSBvdGhlci5kYXNoQXJyYXkKICAg
ICAgICAgJiYgcGFpbnRUeXBlID09IG90aGVyLnBhaW50VHlwZQpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuaAkocmV2aXNp
b24gMjEzMjc3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0
eWxlRGVmcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsNyArMTM3LDYgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICB9CiAKICAgICAgICAgZmxvYXQgb3BhY2l0eTsKLSAgICAgICAgZmxv
YXQgbWl0ZXJMaW1pdDsKIAogICAgICAgICBMZW5ndGggZGFzaE9mZnNldDsKICAgICAgICAgVmVj
dG9yPFNWR0xlbmd0aFZhbHVlPiBkYXNoQXJyYXk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCShy
ZXZpc2lvbiAyMTMyNzcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyOSw2ICsxMjksNyBAQCBT
dHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0CiAgICAgLCBjYXBTdHlsZShS
ZW5kZXJTdHlsZTo6aW5pdGlhbENhcFN0eWxlKCkpCiAgICAgLCBqb2luU3R5bGUoUmVuZGVyU3R5
bGU6OmluaXRpYWxKb2luU3R5bGUoKSkKICAgICAsIHN0cm9rZVdpZHRoKFJlbmRlclN0eWxlOjpp
bml0aWFsT25lTGVuZ3RoKCkpCisgICAgLCBtaXRlckxpbWl0KFJlbmRlclN0eWxlOjppbml0aWFs
U3Ryb2tlTWl0ZXJMaW1pdCgpKQogICAgICwgaHlwaGVuYXRpb25MaW1pdEJlZm9yZSgtMSkKICAg
ICAsIGh5cGhlbmF0aW9uTGltaXRBZnRlcigtMSkKICAgICAsIGh5cGhlbmF0aW9uTGltaXRMaW5l
cygtMSkKQEAgLTIxNSw2ICsyMTYsNyBAQCBpbmxpbmUgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6
U3R5bGVSYXJlCiAgICAgLCBjYXBTdHlsZShvLmNhcFN0eWxlKQogICAgICwgam9pblN0eWxlKG8u
am9pblN0eWxlKQogICAgICwgc3Ryb2tlV2lkdGgoby5zdHJva2VXaWR0aCkKKyAgICAsIG1pdGVy
TGltaXQoby5taXRlckxpbWl0KQogICAgICwgaHlwaGVuYXRpb25TdHJpbmcoby5oeXBoZW5hdGlv
blN0cmluZykKICAgICAsIGh5cGhlbmF0aW9uTGltaXRCZWZvcmUoby5oeXBoZW5hdGlvbkxpbWl0
QmVmb3JlKQogICAgICwgaHlwaGVuYXRpb25MaW1pdEFmdGVyKG8uaHlwaGVuYXRpb25MaW1pdEFm
dGVyKQpAQCAtMzI1LDYgKzMyNyw3IEBAIGJvb2wgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6b3Bl
cmF0b3I9PSgKICAgICAgICAgJiYgY2FwU3R5bGUgPT0gby5jYXBTdHlsZQogICAgICAgICAmJiBq
b2luU3R5bGUgPT0gby5qb2luU3R5bGUKICAgICAgICAgJiYgc3Ryb2tlV2lkdGggPT0gby5zdHJv
a2VXaWR0aAorICAgICAgICAmJiBtaXRlckxpbWl0ID09IG8ubWl0ZXJMaW1pdAogICAgICAgICAm
JiBjdXN0b21Qcm9wZXJ0aWVzID09IG8uY3VzdG9tUHJvcGVydGllcwogICAgICAgICAmJiBhcmVQ
b2ludGluZ1RvRXF1YWxEYXRhKGxpc3RTdHlsZUltYWdlLCBvLmxpc3RTdHlsZUltYWdlKTsKIH0K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWRE
YXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZUluaGVyaXRlZERhdGEuaAkocmV2aXNpb24gMjEzMjc3KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAkod29ya2luZyBjb3B5KQpA
QCAtMTQwLDYgKzE0MCw3IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBjYXBTdHlsZSA6IDI7IC8v
IExpbmVDYXAKICAgICB1bnNpZ25lZCBqb2luU3R5bGUgOiAyOyAvLyBMaW5lSm9pbgogICAgIExl
bmd0aCBzdHJva2VXaWR0aDsKKyAgICBmbG9hdCBtaXRlckxpbWl0OwogICAgIAogICAgIEF0b21p
Y1N0cmluZyBoeXBoZW5hdGlvblN0cmluZzsKICAgICBzaG9ydCBoeXBoZW5hdGlvbkxpbWl0QmVm
b3JlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdT
aGFwZS5jcHAJKHJldmlzaW9uIDIxMzI3NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHU2hhcGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDUsNyArNDQ1LDcgQEAg
Ym9vbCBSZW5kZXJTVkdTaGFwZTo6aGFzU21vb3RoU3Ryb2tlKCkgYwogewogICAgIGNvbnN0IFNW
R1JlbmRlclN0eWxlJiBzdmdTdHlsZSA9IHN0eWxlKCkuc3ZnU3R5bGUoKTsKICAgICByZXR1cm4g
c3ZnU3R5bGUuc3Ryb2tlRGFzaEFycmF5KCkuaXNFbXB0eSgpCi0gICAgICAgICYmIHN2Z1N0eWxl
LnN0cm9rZU1pdGVyTGltaXQoKSA9PSBzdmdTdHlsZS5pbml0aWFsU3Ryb2tlTWl0ZXJMaW1pdCgp
CisgICAgICAgICYmIHN0eWxlKCkuc3Ryb2tlTWl0ZXJMaW1pdCgpID09IHN0eWxlKCkuaW5pdGlh
bFN0cm9rZU1pdGVyTGltaXQoKQogICAgICAgICAmJiBzdHlsZSgpLmpvaW5TdHlsZSgpID09IHN0
eWxlKCkuaW5pdGlhbEpvaW5TdHlsZSgpCiAgICAgICAgICYmIHN0eWxlKCkuY2FwU3R5bGUoKSA9
PSBzdHlsZSgpLmluaXRpYWxDYXBTdHlsZSgpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCShyZXZpc2lvbiAyMTMyNzcp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00MzEsNyArNDMxLDcgQEAgdm9pZCBTVkdSZW5kZXJTdXBwb3J0Ojph
cHBseVN0cm9rZVN0eWxlVAogICAgIGNvbnRleHQtPnNldExpbmVDYXAoc3R5bGUuY2FwU3R5bGUo
KSk7CiAgICAgY29udGV4dC0+c2V0TGluZUpvaW4oc3R5bGUuam9pblN0eWxlKCkpOwogICAgIGlm
IChzdHlsZS5qb2luU3R5bGUoKSA9PSBNaXRlckpvaW4pCi0gICAgICAgIGNvbnRleHQtPnNldE1p
dGVyTGltaXQoc3ZnU3R5bGUuc3Ryb2tlTWl0ZXJMaW1pdCgpKTsKKyAgICAgICAgY29udGV4dC0+
c2V0TWl0ZXJMaW1pdChzdHlsZS5zdHJva2VNaXRlckxpbWl0KCkpOwogCiAgICAgY29uc3QgVmVj
dG9yPFNWR0xlbmd0aFZhbHVlPiYgZGFzaGVzID0gc3ZnU3R5bGUuc3Ryb2tlRGFzaEFycmF5KCk7
CiAgICAgaWYgKGRhc2hlcy5pc0VtcHR5KCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAJKHJldmlzaW9uIDIxMzI3
NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE5Niw3ICsxOTYsNyBAQCBzdGF0aWMgdm9pZCB3cml0ZVN0
eWxlKFRleHRTdHJlYW0mIHRzLCBjCiAKICAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRz
LCAib3BhY2l0eSIsIHN2Z1N0eWxlLnN0cm9rZU9wYWNpdHkoKSwgMS4wZik7CiAgICAgICAgICAg
ICB3cml0ZUlmTm90RGVmYXVsdCh0cywgInN0cm9rZSB3aWR0aCIsIHN0cm9rZVdpZHRoLCAxLjAp
OwotICAgICAgICAgICAgd3JpdGVJZk5vdERlZmF1bHQodHMsICJtaXRlciBsaW1pdCIsIHN2Z1N0
eWxlLnN0cm9rZU1pdGVyTGltaXQoKSwgNC4wZik7CisgICAgICAgICAgICB3cml0ZUlmTm90RGVm
YXVsdCh0cywgIm1pdGVyIGxpbWl0Iiwgc3R5bGUuc3Ryb2tlTWl0ZXJMaW1pdCgpLCA0LjBmKTsK
ICAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAibGluZSBjYXAiLCBzdHlsZS5jYXBT
dHlsZSgpLCBCdXR0Q2FwKTsKICAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAibGlu
ZSBqb2luIiwgc3R5bGUuam9pblN0eWxlKCksIE1pdGVySm9pbik7CiAgICAgICAgICAgICB3cml0
ZUlmTm90RGVmYXVsdCh0cywgImRhc2ggb2Zmc2V0IiwgZGFzaE9mZnNldCwgMC4wKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303308</attachid>
            <date>2017-03-03 02:36:41 -0800</date>
            <delta_ts>2017-03-03 03:21:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169078-20170303113639.patch</filename>
            <type>text/plain</type>
            <size>23239</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMzM2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUzIEBACisyMDE3LTAzLTAzICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgc3Ryb2tl
LW1pdGVybGltaXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjkwNzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0czogZmFzdC9jc3Mvc3Ryb2tlLW1pdGVybGltaXQtZGVmYXVsdC5odG1sCisgICAg
ICAgICAgICAgICBmYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1pdC1sYXJnZS5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1pdC16ZXJvLmh0bWwKKworICAgICAgICAq
IGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6cHJvcGVydHlWYWx1ZSk6CisgICAgICAgICogY3NzL0NT
U1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvU1ZHQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnN2
Z1Byb3BlcnR5VmFsdWUpOgorICAgICAgICAqIHJlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlVGV4dFBhaW50U3R5bGUpOgorICAgICAgICAoV2Vi
Q29yZTo6dXBkYXRlR3JhcGhpY3NDb250ZXh0KToKKyAgICAgICAgKiByZW5kZXJpbmcvVGV4dFBh
aW50U3R5bGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmRpZmYpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnN0
cm9rZU1pdGVyTGltaXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldFN0cm9r
ZU1pdGVyTGltaXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxTdHJv
a2VNaXRlckxpbWl0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpzZXRTdHJva2VE
YXNoT2Zmc2V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OmRpZmYpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVu
ZGVyU3R5bGU6OmluaXRpYWxTdHJva2VEYXNoQXJyYXkpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UmVuZGVyU3R5bGU6OnN0cm9rZURhc2hBcnJheSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5k
ZXJTdHlsZTo6aW5pdGlhbFN0cm9rZU1pdGVyTGltaXQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHUmVuZGVyU3R5bGU6OnN0cm9rZU1pdGVyTGltaXQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OnNldFN0cm9rZU1pdGVyTGltaXQpOiBEZWxldGVk
LgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVTdHJva2VEYXRhOjpTdHlsZVN0cm9rZURhdGEpOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVTdHJva2VEYXRhOjpvcGVyYXRvcj09KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
YXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSk6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHU2hhcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHU2hh
cGU6Omhhc1Ntb290aFN0cm9rZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJT
dXBwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlbmRlclN1cHBvcnQ6OmFwcGx5U3Ry
b2tlU3R5bGVUb0NvbnRleHQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJl
ZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZVN0eWxlKToKKwogMjAxNy0wMy0w
MiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbmFtZSBodG1sZWRp
dGluZy5oL2NwcCB0byBFZGl0aW5nLmgvY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAkocmV2aXNpb24gMjEzMzU0KQor
KysgU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM4NzEsNiArMzg3MSw4IEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0
ZWRTdHlsZUV4dHJhY3RvcjoKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6
Y3JlYXRlKHN0eWxlLT5qb2luU3R5bGUoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJv
a2VXaWR0aDoKICAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlRm9yTGVu
Z3RoKHN0eWxlLT5zdHJva2VXaWR0aCgpLCAqc3R5bGUpOworICAgICAgICBjYXNlIENTU1Byb3Bl
cnR5U3Ryb2tlTWl0ZXJsaW1pdDoKKyAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1
ZTo6Y3JlYXRlKHN0eWxlLT5zdHJva2VNaXRlckxpbWl0KCksIENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfTlVNQkVSKTsKIAogICAgICAgICAvKiBVbmltcGxlbWVudGVkIENTUyAzIHByb3BlcnRpZXMg
KGluY2x1ZGluZyBDU1MzIHNob3J0aGFuZCBwcm9wZXJ0aWVzKSAqLwogICAgICAgICBjYXNlIENT
U1Byb3BlcnR5QWxsOgpAQCAtMzk4Nyw3ICszOTg5LDYgQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21w
dXRlZFN0eWxlRXh0cmFjdG9yOgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5U2hhcGVSZW5kZXJp
bmc6CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJva2U6CiAgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlTdHJva2VEYXNoYXJyYXk6Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJva2VNaXRl
cmxpbWl0OgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3Ryb2tlT3BhY2l0eToKICAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eUFsaWdubWVudEJhc2VsaW5lOgogICAgICAgICBjYXNlIENTU1Byb3Bl
cnR5QmFzZWxpbmVTaGlmdDoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVz
Lmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNv
bgkocmV2aXNpb24gMjEzMzU0KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMu
anNvbgkod29ya2luZyBjb3B5KQpAQCAtMzAwMyw4ICszMDAzLDcgQEAKICAgICAgICAgICAgICJp
bmhlcml0ZWQiOiB0cnVlLAogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKICAg
ICAgICAgICAgICAgICAibmFtZS1mb3ItbWV0aG9kcyI6ICJTdHJva2VNaXRlckxpbWl0IiwKLSAg
ICAgICAgICAgICAgICAiY29udmVydGVyIjogIk51bWJlcjxmbG9hdD4iLAotICAgICAgICAgICAg
ICAgICJzdmciOiB0cnVlCisgICAgICAgICAgICAgICAgImNvbnZlcnRlciI6ICJOdW1iZXI8Zmxv
YXQ+IgogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogewogICAg
ICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJzdmciLApJbmRleDogU291cmNlL1dlYkNvcmUvY3Nz
L1NWR0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvY3NzL1NWR0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAJKHJldmlzaW9u
IDIxMzM1NCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsOCArMTEzLDYgQEAgUmVmUHRyPENTU1Zh
bHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOgogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1p
dGl2ZVZhbHVlOjpjcmVhdGUoc3ZnU3R5bGUuY29sb3JSZW5kZXJpbmcoKSk7CiAgICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlTaGFwZVJlbmRlcmluZzoKICAgICAgICAgICAgIHJldHVybiBDU1NQcmlt
aXRpdmVWYWx1ZTo6Y3JlYXRlKHN2Z1N0eWxlLnNoYXBlUmVuZGVyaW5nKCkpOwotICAgICAgICBj
YXNlIENTU1Byb3BlcnR5U3Ryb2tlTWl0ZXJsaW1pdDoKLSAgICAgICAgICAgIHJldHVybiBDU1NQ
cmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN2Z1N0eWxlLnN0cm9rZU1pdGVyTGltaXQoKSwgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3Ryb2tl
T3BhY2l0eToKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN2
Z1N0eWxlLnN0cm9rZU9wYWNpdHkoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOwog
ICAgICAgICBjYXNlIENTU1Byb3BlcnR5QWxpZ25tZW50QmFzZWxpbmU6CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50U3R5bGUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5jcHAJKHJldmlzaW9uIDIxMzM1NCkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTcxLDYgKzcxLDcgQEAgVGV4dFBhaW50U3R5bGUgY29tcHV0ZVRleHRQYWludFN0
eWxlKGNvbgogICAgIHBhaW50U3R5bGUucGFpbnRPcmRlciA9IGxpbmVTdHlsZS5wYWludE9yZGVy
KCk7CiAgICAgcGFpbnRTdHlsZS5saW5lSm9pbiA9IGxpbmVTdHlsZS5qb2luU3R5bGUoKTsKICAg
ICBwYWludFN0eWxlLmxpbmVDYXAgPSBsaW5lU3R5bGUuY2FwU3R5bGUoKTsKKyAgICBwYWludFN0
eWxlLm1pdGVyTGltaXQgPSBsaW5lU3R5bGUuc3Ryb2tlTWl0ZXJMaW1pdCgpOwogICAgIAogICAg
IGlmIChwYWludEluZm8uZm9yY2VUZXh0Q29sb3IoKSkgewogICAgICAgICBwYWludFN0eWxlLmZp
bGxDb2xvciA9IHBhaW50SW5mby5mb3JjZWRUZXh0Q29sb3IoKTsKQEAgLTE5Nyw2ICsxOTgsOCBA
QCB2b2lkIHVwZGF0ZUdyYXBoaWNzQ29udGV4dChHcmFwaGljc0NvbnRlCiAgICAgICAgICAgICBj
b250ZXh0LnNldFN0cm9rZVRoaWNrbmVzcyhwYWludFN0eWxlLnN0cm9rZVdpZHRoKTsKICAgICAg
ICAgY29udGV4dC5zZXRMaW5lSm9pbihwYWludFN0eWxlLmxpbmVKb2luKTsKICAgICAgICAgY29u
dGV4dC5zZXRMaW5lQ2FwKHBhaW50U3R5bGUubGluZUNhcCk7CisgICAgICAgIGlmIChwYWludFN0
eWxlLmxpbmVKb2luID09IE1pdGVySm9pbikKKyAgICAgICAgICAgIGNvbnRleHQuc2V0TWl0ZXJM
aW1pdChwYWludFN0eWxlLm1pdGVyTGltaXQpOwogICAgIH0KIH0KIApJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1RleHRQYWludFN0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1RleHRQYWludFN0eWxlLmgJKHJldmlzaW9uIDIxMzM1NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC01Miw2ICs1Miw3IEBAIHN0cnVjdCBUZXh0UGFpbnRTdHlsZSB7CiAgICAgUGFpbnRPcmRlciBw
YWludE9yZGVyIHsgUGFpbnRPcmRlcjo6Tm9ybWFsIH07CiAgICAgTGluZUpvaW4gbGluZUpvaW4g
eyBNaXRlckpvaW4gfTsKICAgICBMaW5lQ2FwIGxpbmVDYXAgeyBCdXR0Q2FwIH07CisgICAgZmxv
YXQgbWl0ZXJMaW1pdCB7IDQgfTsKIH07CiAKIFRleHRQYWludFN0eWxlIGNvbXB1dGVUZXh0UGFp
bnRTdHlsZShjb25zdCBGcmFtZSYsIGNvbnN0IFJlbmRlclN0eWxlJiwgY29uc3QgUGFpbnRJbmZv
Jik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5jcHAJKHJldmlzaW9uIDIxMzM1NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkxMCw3ICs5MTAsOCBAQCBTdHls
ZURpZmZlcmVuY2UgUmVuZGVyU3R5bGU6OmRpZmYoY29uc3QgCiAgICAgLy8gVGhlc2UgcHJvcGVy
dGllcyBhZmZlY3QgdGhlIGNhY2hlZCBzdHJva2UgYm91bmRpbmcgYm94IHJlY3RzLgogICAgIGlm
IChtX3JhcmVJbmhlcml0ZWREYXRhLT5jYXBTdHlsZSAhPSBvdGhlci5tX3JhcmVJbmhlcml0ZWRE
YXRhLT5jYXBTdHlsZQogICAgICAgICB8fCBtX3JhcmVJbmhlcml0ZWREYXRhLT5qb2luU3R5bGUg
IT0gb3RoZXIubV9yYXJlSW5oZXJpdGVkRGF0YS0+am9pblN0eWxlCi0gICAgICAgIHx8IG1fcmFy
ZUluaGVyaXRlZERhdGEtPnN0cm9rZVdpZHRoICE9IG90aGVyLm1fcmFyZUluaGVyaXRlZERhdGEt
PnN0cm9rZVdpZHRoKQorICAgICAgICB8fCBtX3JhcmVJbmhlcml0ZWREYXRhLT5zdHJva2VXaWR0
aCAhPSBvdGhlci5tX3JhcmVJbmhlcml0ZWREYXRhLT5zdHJva2VXaWR0aAorICAgICAgICB8fCBt
X3JhcmVJbmhlcml0ZWREYXRhLT5taXRlckxpbWl0ICE9IG90aGVyLm1fcmFyZUluaGVyaXRlZERh
dGEtPm1pdGVyTGltaXQpCiAgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlvdXQ7CiAK
ICAgICBpZiAoY2hhbmdlUmVxdWlyZXNMYXlvdXQob3RoZXIsIGNoYW5nZWRDb250ZXh0U2Vuc2l0
aXZlUHJvcGVydGllcykpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaAkocmV2aXNpb24gMjEzMzU0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNTQsNiArMTI1NCw5
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFN0cm9rZVdpZHRoKExlbmd0aCYmIHcpIHsgU0VUX1ZB
UihtX3JhcmVJbmhlcml0ZWREYXRhLCBzdHJva2VXaWR0aCwgV1RGTW92ZSh3KSk7IH0KICAgICBi
b29sIGhhc1Zpc2libGVTdHJva2UoKSBjb25zdCB7IHJldHVybiBzdmdTdHlsZSgpLmhhc1N0cm9r
ZSgpICYmICFzdHJva2VXaWR0aCgpLmlzWmVybygpOyB9CiAKKyAgICBmbG9hdCBzdHJva2VNaXRl
ckxpbWl0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlSW5oZXJpdGVkRGF0YS0+bWl0ZXJMaW1pdDsg
fQorICAgIHZvaWQgc2V0U3Ryb2tlTWl0ZXJMaW1pdChmbG9hdCBmKSB7IFNFVF9WQVIobV9yYXJl
SW5oZXJpdGVkRGF0YSwgbWl0ZXJMaW1pdCwgZik7IH0KKyAgICBzdGF0aWMgZmxvYXQgaW5pdGlh
bFN0cm9rZU1pdGVyTGltaXQoKSB7IHJldHVybiA0OyB9CiAgICAgCiAgICAgY29uc3QgU1ZHUmVu
ZGVyU3R5bGUmIHN2Z1N0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9zdmdTdHlsZTsgfQogICAgIFNW
R1JlbmRlclN0eWxlJiBhY2Nlc3NTVkdTdHlsZSgpIHsgcmV0dXJuIG1fc3ZnU3R5bGUuYWNjZXNz
KCk7IH0KQEAgLTEyNzMsOCArMTI3Niw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFN0cm9rZURh
c2hBcnJheShWZWN0b3I8U1ZHTGVuZ3RoVmFsdWU+IGFycmF5KSB7IGFjY2Vzc1NWR1N0eWxlKCku
c2V0U3Ryb2tlRGFzaEFycmF5KGFycmF5KTsgfQogICAgIGNvbnN0IExlbmd0aCYgc3Ryb2tlRGFz
aE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIHN2Z1N0eWxlKCkuc3Ryb2tlRGFzaE9mZnNldCgpOyB9
CiAgICAgdm9pZCBzZXRTdHJva2VEYXNoT2Zmc2V0KExlbmd0aCYmIGQpIHsgYWNjZXNzU1ZHU3R5
bGUoKS5zZXRTdHJva2VEYXNoT2Zmc2V0KFdURk1vdmUoZCkpOyB9Ci0gICAgZmxvYXQgc3Ryb2tl
TWl0ZXJMaW1pdCgpIGNvbnN0IHsgcmV0dXJuIHN2Z1N0eWxlKCkuc3Ryb2tlTWl0ZXJMaW1pdCgp
OyB9Ci0gICAgdm9pZCBzZXRTdHJva2VNaXRlckxpbWl0KGZsb2F0IGYpIHsgYWNjZXNzU1ZHU3R5
bGUoKS5zZXRTdHJva2VNaXRlckxpbWl0KGYpOyB9CiAKICAgICBjb25zdCBMZW5ndGgmIGN4KCkg
Y29uc3QgeyByZXR1cm4gc3ZnU3R5bGUoKS5jeCgpOyB9CiAgICAgdm9pZCBzZXRDeChMZW5ndGgm
JiBjeCkgeyBhY2Nlc3NTVkdTdHlsZSgpLnNldEN4KFdURk1vdmUoY3gpKTsgfQpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwCShy
ZXZpc2lvbiAyMTMzNTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVu
ZGVyU3R5bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODgsNyArMTg4LDYgQEAgU3R5bGVEaWZm
ZXJlbmNlIFNWR1JlbmRlclN0eWxlOjpkaWZmKGNvbgogICAgICAgICBpZiAobV9zdHJva2VEYXRh
LT5wYWludFR5cGUgIT0gb3RoZXIubV9zdHJva2VEYXRhLT5wYWludFR5cGUKICAgICAgICAgICAg
IHx8IG1fc3Ryb2tlRGF0YS0+cGFpbnRDb2xvciAhPSBvdGhlci5tX3N0cm9rZURhdGEtPnBhaW50
Q29sb3IKICAgICAgICAgICAgIHx8IG1fc3Ryb2tlRGF0YS0+cGFpbnRVcmkgIT0gb3RoZXIubV9z
dHJva2VEYXRhLT5wYWludFVyaQotICAgICAgICAgICAgfHwgbV9zdHJva2VEYXRhLT5taXRlckxp
bWl0ICE9IG90aGVyLm1fc3Ryb2tlRGF0YS0+bWl0ZXJMaW1pdAogICAgICAgICAgICAgfHwgbV9z
dHJva2VEYXRhLT5kYXNoQXJyYXkgIT0gb3RoZXIubV9zdHJva2VEYXRhLT5kYXNoQXJyYXkKICAg
ICAgICAgICAgIHx8IG1fc3Ryb2tlRGF0YS0+ZGFzaE9mZnNldCAhPSBvdGhlci5tX3N0cm9rZURh
dGEtPmRhc2hPZmZzZXQKICAgICAgICAgICAgIHx8IG1fc3Ryb2tlRGF0YS0+dmlzaXRlZExpbmtQ
YWludENvbG9yICE9IG90aGVyLm1fc3Ryb2tlRGF0YS0+dmlzaXRlZExpbmtQYWludENvbG9yCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUu
aAkocmV2aXNpb24gMjEzMzU0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NW
R1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTcxLDcgKzcxLDYgQEAgcHVibGljOgog
ICAgIHN0YXRpYyBDb2xvciBpbml0aWFsU3Ryb2tlUGFpbnRDb2xvcigpIHsgcmV0dXJuIENvbG9y
KCk7IH0KICAgICBzdGF0aWMgU3RyaW5nIGluaXRpYWxTdHJva2VQYWludFVyaSgpIHsgcmV0dXJu
IFN0cmluZygpOyB9CiAgICAgc3RhdGljIFZlY3RvcjxTVkdMZW5ndGhWYWx1ZT4gaW5pdGlhbFN0
cm9rZURhc2hBcnJheSgpIHsgcmV0dXJuIHsgfTsgfQotICAgIHN0YXRpYyBmbG9hdCBpbml0aWFs
U3Ryb2tlTWl0ZXJMaW1pdCgpIHsgcmV0dXJuIDQ7IH0KICAgICBzdGF0aWMgZmxvYXQgaW5pdGlh
bFN0b3BPcGFjaXR5KCkgeyByZXR1cm4gMTsgfQogICAgIHN0YXRpYyBDb2xvciBpbml0aWFsU3Rv
cENvbG9yKCkgeyByZXR1cm4gQ29sb3IoMCwgMCwgMCk7IH0KICAgICBzdGF0aWMgZmxvYXQgaW5p
dGlhbEZsb29kT3BhY2l0eSgpIHsgcmV0dXJuIDE7IH0KQEAgLTExNiw3ICsxMTUsNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRTdHJva2VQYWludChTVkdQYWludFR5cGUsIGNvbnN0IENvbG9yJiwg
Y29uc3QgU3RyaW5nJiB1cmksIGJvb2wgYXBwbHlUb1JlZ3VsYXJTdHlsZSA9IHRydWUsIGJvb2wg
YXBwbHlUb1Zpc2l0ZWRMaW5rU3R5bGUgPSBmYWxzZSk7CiAKICAgICB2b2lkIHNldFN0cm9rZURh
c2hBcnJheShjb25zdCBWZWN0b3I8U1ZHTGVuZ3RoVmFsdWU+Jik7Ci0gICAgdm9pZCBzZXRTdHJv
a2VNaXRlckxpbWl0KGZsb2F0KTsKICAgICB2b2lkIHNldFN0cm9rZURhc2hPZmZzZXQoY29uc3Qg
TGVuZ3RoJik7CiAgICAgdm9pZCBzZXRLZXJuaW5nKGNvbnN0IFNWR0xlbmd0aFZhbHVlJik7CiAg
ICAgdm9pZCBzZXRTdG9wT3BhY2l0eShmbG9hdCk7CkBAIC0xNjEsNyArMTU5LDYgQEAgcHVibGlj
OgogICAgIGNvbnN0IENvbG9yJiBzdHJva2VQYWludENvbG9yKCkgY29uc3QgeyByZXR1cm4gbV9z
dHJva2VEYXRhLT5wYWludENvbG9yOyB9CiAgICAgY29uc3QgU3RyaW5nJiBzdHJva2VQYWludFVy
aSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Ryb2tlRGF0YS0+cGFpbnRVcmk7IH0KICAgICBWZWN0b3I8
U1ZHTGVuZ3RoVmFsdWU+IHN0cm9rZURhc2hBcnJheSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Ryb2tl
RGF0YS0+ZGFzaEFycmF5OyB9Ci0gICAgZmxvYXQgc3Ryb2tlTWl0ZXJMaW1pdCgpIGNvbnN0IHsg
cmV0dXJuIG1fc3Ryb2tlRGF0YS0+bWl0ZXJMaW1pdDsgfQogICAgIGNvbnN0IExlbmd0aCYgc3Ry
b2tlRGFzaE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fc3Ryb2tlRGF0YS0+ZGFzaE9mZnNldDsg
fQogICAgIFNWR0xlbmd0aFZhbHVlIGtlcm5pbmcoKSBjb25zdCB7IHJldHVybiBtX3RleHREYXRh
LT5rZXJuaW5nOyB9CiAgICAgZmxvYXQgc3RvcE9wYWNpdHkoKSBjb25zdCB7IHJldHVybiBtX3N0
b3BEYXRhLT5vcGFjaXR5OyB9CkBAIC0zNzQsMTIgKzM3MSw2IEBAIGlubGluZSB2b2lkIFNWR1Jl
bmRlclN0eWxlOjpzZXRTdHJva2VEYXMKICAgICAgICAgbV9zdHJva2VEYXRhLmFjY2VzcygpLmRh
c2hBcnJheSA9IGFycmF5OwogfQogCi1pbmxpbmUgdm9pZCBTVkdSZW5kZXJTdHlsZTo6c2V0U3Ry
b2tlTWl0ZXJMaW1pdChmbG9hdCBsaW1pdCkKLXsKLSAgICBpZiAoIShtX3N0cm9rZURhdGEtPm1p
dGVyTGltaXQgPT0gbGltaXQpKQotICAgICAgICBtX3N0cm9rZURhdGEuYWNjZXNzKCkubWl0ZXJM
aW1pdCA9IGxpbWl0OwotfQotCiBpbmxpbmUgdm9pZCBTVkdSZW5kZXJTdHlsZTo6c2V0U3Ryb2tl
RGFzaE9mZnNldChjb25zdCBMZW5ndGgmIG9mZnNldCkKIHsKICAgICBpZiAoIShtX3N0cm9rZURh
dGEtPmRhc2hPZmZzZXQgPT0gb2Zmc2V0KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuY3BwCShyZXZpc2lvbiAyMTMz
NTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzYsNyArNzYsNiBAQCBib29sIFN0eWxlRmlsbERhdGE6
Om9wZXJhdG9yPT0oY29uc3QgU3R5CiAKIFN0eWxlU3Ryb2tlRGF0YTo6U3R5bGVTdHJva2VEYXRh
KCkKICAgICA6IG9wYWNpdHkoU1ZHUmVuZGVyU3R5bGU6OmluaXRpYWxTdHJva2VPcGFjaXR5KCkp
Ci0gICAgLCBtaXRlckxpbWl0KFNWR1JlbmRlclN0eWxlOjppbml0aWFsU3Ryb2tlTWl0ZXJMaW1p
dCgpKQogICAgICwgZGFzaE9mZnNldChSZW5kZXJTdHlsZTo6aW5pdGlhbFplcm9MZW5ndGgoKSkK
ICAgICAsIGRhc2hBcnJheShTVkdSZW5kZXJTdHlsZTo6aW5pdGlhbFN0cm9rZURhc2hBcnJheSgp
KQogICAgICwgcGFpbnRUeXBlKFNWR1JlbmRlclN0eWxlOjppbml0aWFsU3Ryb2tlUGFpbnRUeXBl
KCkpCkBAIC05MSw3ICs5MCw2IEBAIFN0eWxlU3Ryb2tlRGF0YTo6U3R5bGVTdHJva2VEYXRhKCkK
IGlubGluZSBTdHlsZVN0cm9rZURhdGE6OlN0eWxlU3Ryb2tlRGF0YShjb25zdCBTdHlsZVN0cm9r
ZURhdGEmIG90aGVyKQogICAgIDogUmVmQ291bnRlZDxTdHlsZVN0cm9rZURhdGE+KCkKICAgICAs
IG9wYWNpdHkob3RoZXIub3BhY2l0eSkKLSAgICAsIG1pdGVyTGltaXQob3RoZXIubWl0ZXJMaW1p
dCkKICAgICAsIGRhc2hPZmZzZXQob3RoZXIuZGFzaE9mZnNldCkKICAgICAsIGRhc2hBcnJheShv
dGhlci5kYXNoQXJyYXkpCiAgICAgLCBwYWludFR5cGUob3RoZXIucGFpbnRUeXBlKQpAQCAtMTEx
LDcgKzEwOSw2IEBAIFJlZjxTdHlsZVN0cm9rZURhdGE+IFN0eWxlU3Ryb2tlRGF0YTo6Y28KIGJv
b2wgU3R5bGVTdHJva2VEYXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlU3Ryb2tlRGF0YSYgb3Ro
ZXIpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG9wYWNpdHkgPT0gb3RoZXIub3BhY2l0eQotICAgICAg
ICAmJiBtaXRlckxpbWl0ID09IG90aGVyLm1pdGVyTGltaXQKICAgICAgICAgJiYgZGFzaE9mZnNl
dCA9PSBvdGhlci5kYXNoT2Zmc2V0CiAgICAgICAgICYmIGRhc2hBcnJheSA9PSBvdGhlci5kYXNo
QXJyYXkKICAgICAgICAgJiYgcGFpbnRUeXBlID09IG90aGVyLnBhaW50VHlwZQpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMu
aAkocmV2aXNpb24gMjEzMzU0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NW
R1JlbmRlclN0eWxlRGVmcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsNyArMTM3LDYgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB9CiAKICAgICAgICAgZmxvYXQgb3BhY2l0eTsKLSAg
ICAgICAgZmxvYXQgbWl0ZXJMaW1pdDsKIAogICAgICAgICBMZW5ndGggZGFzaE9mZnNldDsKICAg
ICAgICAgVmVjdG9yPFNWR0xlbmd0aFZhbHVlPiBkYXNoQXJyYXk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERh
dGEuY3BwCShyZXZpc2lvbiAyMTMzNTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyOSw2ICsx
MjksNyBAQCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0CiAgICAgLCBj
YXBTdHlsZShSZW5kZXJTdHlsZTo6aW5pdGlhbENhcFN0eWxlKCkpCiAgICAgLCBqb2luU3R5bGUo
UmVuZGVyU3R5bGU6OmluaXRpYWxKb2luU3R5bGUoKSkKICAgICAsIHN0cm9rZVdpZHRoKFJlbmRl
clN0eWxlOjppbml0aWFsT25lTGVuZ3RoKCkpCisgICAgLCBtaXRlckxpbWl0KFJlbmRlclN0eWxl
Ojppbml0aWFsU3Ryb2tlTWl0ZXJMaW1pdCgpKQogICAgICwgaHlwaGVuYXRpb25MaW1pdEJlZm9y
ZSgtMSkKICAgICAsIGh5cGhlbmF0aW9uTGltaXRBZnRlcigtMSkKICAgICAsIGh5cGhlbmF0aW9u
TGltaXRMaW5lcygtMSkKQEAgLTIxNSw2ICsyMTYsNyBAQCBpbmxpbmUgU3R5bGVSYXJlSW5oZXJp
dGVkRGF0YTo6U3R5bGVSYXJlCiAgICAgLCBjYXBTdHlsZShvLmNhcFN0eWxlKQogICAgICwgam9p
blN0eWxlKG8uam9pblN0eWxlKQogICAgICwgc3Ryb2tlV2lkdGgoby5zdHJva2VXaWR0aCkKKyAg
ICAsIG1pdGVyTGltaXQoby5taXRlckxpbWl0KQogICAgICwgaHlwaGVuYXRpb25TdHJpbmcoby5o
eXBoZW5hdGlvblN0cmluZykKICAgICAsIGh5cGhlbmF0aW9uTGltaXRCZWZvcmUoby5oeXBoZW5h
dGlvbkxpbWl0QmVmb3JlKQogICAgICwgaHlwaGVuYXRpb25MaW1pdEFmdGVyKG8uaHlwaGVuYXRp
b25MaW1pdEFmdGVyKQpAQCAtMzI1LDYgKzMyNyw3IEBAIGJvb2wgU3R5bGVSYXJlSW5oZXJpdGVk
RGF0YTo6b3BlcmF0b3I9PSgKICAgICAgICAgJiYgY2FwU3R5bGUgPT0gby5jYXBTdHlsZQogICAg
ICAgICAmJiBqb2luU3R5bGUgPT0gby5qb2luU3R5bGUKICAgICAgICAgJiYgc3Ryb2tlV2lkdGgg
PT0gby5zdHJva2VXaWR0aAorICAgICAgICAmJiBtaXRlckxpbWl0ID09IG8ubWl0ZXJMaW1pdAog
ICAgICAgICAmJiBjdXN0b21Qcm9wZXJ0aWVzID09IG8uY3VzdG9tUHJvcGVydGllcwogICAgICAg
ICAmJiBhcmVQb2ludGluZ1RvRXF1YWxEYXRhKGxpc3RTdHlsZUltYWdlLCBvLmxpc3RTdHlsZUlt
YWdlKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJ
bmhlcml0ZWREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAkocmV2aXNpb24gMjEzMzU0KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTQwLDYgKzE0MCw3IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBjYXBTdHls
ZSA6IDI7IC8vIExpbmVDYXAKICAgICB1bnNpZ25lZCBqb2luU3R5bGUgOiAyOyAvLyBMaW5lSm9p
bgogICAgIExlbmd0aCBzdHJva2VXaWR0aDsKKyAgICBmbG9hdCBtaXRlckxpbWl0OwogICAgIAog
ICAgIEF0b21pY1N0cmluZyBoeXBoZW5hdGlvblN0cmluZzsKICAgICBzaG9ydCBoeXBoZW5hdGlv
bkxpbWl0QmVmb3JlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdTaGFwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdTaGFwZS5jcHAJKHJldmlzaW9uIDIxMzM1NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHU2hhcGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDUsNyAr
NDQ1LDcgQEAgYm9vbCBSZW5kZXJTVkdTaGFwZTo6aGFzU21vb3RoU3Ryb2tlKCkgYwogewogICAg
IGNvbnN0IFNWR1JlbmRlclN0eWxlJiBzdmdTdHlsZSA9IHN0eWxlKCkuc3ZnU3R5bGUoKTsKICAg
ICByZXR1cm4gc3ZnU3R5bGUuc3Ryb2tlRGFzaEFycmF5KCkuaXNFbXB0eSgpCi0gICAgICAgICYm
IHN2Z1N0eWxlLnN0cm9rZU1pdGVyTGltaXQoKSA9PSBzdmdTdHlsZS5pbml0aWFsU3Ryb2tlTWl0
ZXJMaW1pdCgpCisgICAgICAgICYmIHN0eWxlKCkuc3Ryb2tlTWl0ZXJMaW1pdCgpID09IHN0eWxl
KCkuaW5pdGlhbFN0cm9rZU1pdGVyTGltaXQoKQogICAgICAgICAmJiBzdHlsZSgpLmpvaW5TdHls
ZSgpID09IHN0eWxlKCkuaW5pdGlhbEpvaW5TdHlsZSgpCiAgICAgICAgICYmIHN0eWxlKCkuY2Fw
U3R5bGUoKSA9PSBzdHlsZSgpLmluaXRpYWxDYXBTdHlsZSgpOwogfQpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCShyZXZpc2lv
biAyMTMzNTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBv
cnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzEsNyArNDMxLDcgQEAgdm9pZCBTVkdSZW5kZXJT
dXBwb3J0OjphcHBseVN0cm9rZVN0eWxlVAogICAgIGNvbnRleHQtPnNldExpbmVDYXAoc3R5bGUu
Y2FwU3R5bGUoKSk7CiAgICAgY29udGV4dC0+c2V0TGluZUpvaW4oc3R5bGUuam9pblN0eWxlKCkp
OwogICAgIGlmIChzdHlsZS5qb2luU3R5bGUoKSA9PSBNaXRlckpvaW4pCi0gICAgICAgIGNvbnRl
eHQtPnNldE1pdGVyTGltaXQoc3ZnU3R5bGUuc3Ryb2tlTWl0ZXJMaW1pdCgpKTsKKyAgICAgICAg
Y29udGV4dC0+c2V0TWl0ZXJMaW1pdChzdHlsZS5zdHJva2VNaXRlckxpbWl0KCkpOwogCiAgICAg
Y29uc3QgVmVjdG9yPFNWR0xlbmd0aFZhbHVlPiYgZGFzaGVzID0gc3ZnU3R5bGUuc3Ryb2tlRGFz
aEFycmF5KCk7CiAgICAgaWYgKGRhc2hlcy5pc0VtcHR5KCkpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAJKHJldmlz
aW9uIDIxMzM1NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJl
ZUFzVGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5Niw3ICsxOTYsNyBAQCBzdGF0aWMgdm9p
ZCB3cml0ZVN0eWxlKFRleHRTdHJlYW0mIHRzLCBjCiAKICAgICAgICAgICAgIHdyaXRlSWZOb3RE
ZWZhdWx0KHRzLCAib3BhY2l0eSIsIHN2Z1N0eWxlLnN0cm9rZU9wYWNpdHkoKSwgMS4wZik7CiAg
ICAgICAgICAgICB3cml0ZUlmTm90RGVmYXVsdCh0cywgInN0cm9rZSB3aWR0aCIsIHN0cm9rZVdp
ZHRoLCAxLjApOwotICAgICAgICAgICAgd3JpdGVJZk5vdERlZmF1bHQodHMsICJtaXRlciBsaW1p
dCIsIHN2Z1N0eWxlLnN0cm9rZU1pdGVyTGltaXQoKSwgNC4wZik7CisgICAgICAgICAgICB3cml0
ZUlmTm90RGVmYXVsdCh0cywgIm1pdGVyIGxpbWl0Iiwgc3R5bGUuc3Ryb2tlTWl0ZXJMaW1pdCgp
LCA0LjBmKTsKICAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAibGluZSBjYXAiLCBz
dHlsZS5jYXBTdHlsZSgpLCBCdXR0Q2FwKTsKICAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0
KHRzLCAibGluZSBqb2luIiwgc3R5bGUuam9pblN0eWxlKCksIE1pdGVySm9pbik7CiAgICAgICAg
ICAgICB3cml0ZUlmTm90RGVmYXVsdCh0cywgImRhc2ggb2Zmc2V0IiwgZGFzaE9mZnNldCwgMC4w
KTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMzM1NCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE3LTAzLTAzICBQZXIgQXJuZSBWb2xs
YW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgc3Ryb2tlLW1pdGVy
bGltaXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjkwNzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGZhc3QvY3NzL3N0cm9rZS1taXRlcmxpbWl0LWRlZmF1bHQtZXhwZWN0ZWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9jc3Mvc3Ryb2tlLW1pdGVybGltaXQtZGVmYXVsdC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1pdC1sYXJnZS1leHBlY3RlZC1t
aXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1p
dC1sYXJnZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1p
dC16ZXJvLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3Nz
L3N0cm9rZS1taXRlcmxpbWl0LXplcm8uaHRtbDogQWRkZWQuCisKIDIwMTctMDMtMDIgIE1hdHQg
QmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNo
b3VsZCBiZSBhYmxlIHRvIHB1c2ggbm9kZXMgaW4gYW4gaWZyYW1lIHN1YnRyZWUgdG8gdGhlIGZy
b250ZW5kCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1pdC1kZWZh
dWx0LWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3Ry
b2tlLW1pdGVybGltaXQtZGVmYXVsdC1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvY3NzL3N0cm9rZS1taXRlcmxpbWl0LWRlZmF1bHQtZXhwZWN0ZWQuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIyIEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0
bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIGRpdiB7CisgICAgICAgICAgICBmb250
LXNpemU6IDIwMHB4OworICAgICAgICAgICAgY29sb3I6IGdyYXk7CisgICAgICAgIH0KKworICAg
ICAgICAudGVzdC1zdHJva2UgeworICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7CisgICAg
ICAgICAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAzMHB4IHJlZDsKKyAgICAgICAgfQorICAgIDwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBjbGFzcz0idGVzdC1zdHJva2UiPk1pdGVy
PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3N0
cm9rZS1taXRlcmxpbWl0LWRlZmF1bHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1pdC1kZWZhdWx0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3Ryb2tlLW1pdGVybGltaXQtZGVmYXVsdC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxo
ZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgZGl2IHsKKyAgICAgICAgICAgIGZvbnQtc2l6ZTog
MjAwcHg7CisgICAgICAgICAgICBjb2xvcjogZ3JheTsKKyAgICAgICAgfQorCisgICAgICAgIC50
ZXN0LXN0cm9rZSB7CisgICAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTsKKyAgICAgICAgICAg
IC13ZWJraXQtdGV4dC1zdHJva2U6IDMwcHggcmVkOworICAgICAgICB9CisgICAgPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IGNsYXNzPSJ0ZXN0LXN0cm9rZSIgc3R5bGU9InN0cm9r
ZS1taXRlcmxpbWl0OiA0OyI+TWl0ZXI8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3Ryb2tlLW1pdGVybGltaXQtbGFyZ2UtZXhwZWN0ZWQtbWlz
bWF0Y2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHJva2UtbWl0
ZXJsaW1pdC1sYXJnZS1leHBlY3RlZC1taXNtYXRjaC5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvY3NzL3N0cm9rZS1taXRlcmxpbWl0LWxhcmdlLWV4cGVjdGVkLW1pc21h
dGNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+
CisKKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICBkaXYgeworICAgICAgICAg
ICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICAgICAgZm9udC1zaXplOiAyMDBweDsKKyAg
ICAgICAgICAgIGNvbG9yOiBncmF5OworICAgICAgICB9CisKKyAgICAgICAgLnRlc3Qtc3Ryb2tl
IHsKKyAgICAgICAgICAgIHRleHQtc2hhZG93OiBub25lOworICAgICAgICAgICAgLXdlYmtpdC10
ZXh0LXN0cm9rZTogMzBweCByZWQ7CisgICAgICAgIH0KKyAgICAKKyAgICAgICAgLm9ic2N1cmVy
IHsKKyAgICAgICAgICAgIHdpZHRoOiA2MDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMjAwcHg7
CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgICB9CisgICAgPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IGNsYXNzPSJ0ZXN0LXN0cm9rZSIgc3R5bGU9
InN0cm9rZS1taXRlcmxpbWl0OiA0OyI+TWl0ZXI8L2Rpdj4KKzxkaXYgY2xhc3M9Im9ic2N1cmVy
IiBzdHlsZT0ibGVmdDogMHB4OyB0b3A6IDIwcHg7Ij48L2Rpdj4KKworPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3Ryb2tlLW1pdGVybGltaXQtbGFyZ2UuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1pdC1s
YXJnZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3N0cm9rZS1t
aXRlcmxpbWl0LWxhcmdlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFE
T0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICBkaXYg
eworICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICAgICAgZm9udC1zaXpl
OiAyMDBweDsKKyAgICAgICAgICAgIGNvbG9yOiBncmF5OworICAgICAgICB9CisKKyAgICAgICAg
LnRlc3Qtc3Ryb2tlIHsKKyAgICAgICAgICAgIHRleHQtc2hhZG93OiBub25lOworICAgICAgICAg
ICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMzBweCByZWQ7CisgICAgICAgIH0KKyAgICAKKyAgICAg
ICAgLm9ic2N1cmVyIHsKKyAgICAgICAgICAgIHdpZHRoOiA2MDBweDsKKyAgICAgICAgICAgIGhl
aWdodDogMjAwcHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAg
ICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IGNsYXNzPSJ0ZXN0LXN0
cm9rZSIgc3R5bGU9InN0cm9rZS1taXRlcmxpbWl0OiAxMDsiPk1pdGVyPC9kaXY+Cis8ZGl2IGNs
YXNzPSJvYnNjdXJlciIgc3R5bGU9ImxlZnQ6IDBweDsgdG9wOiAyMHB4OyI+PC9kaXY+CisKKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3N0cm9rZS1taXRlcmxp
bWl0LXplcm8tZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1pdC16ZXJvLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3Ryb2tlLW1pdGVybGltaXQt
emVyby1leHBlY3RlZC1taXNtYXRjaC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjIg
QEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAg
ICAgZGl2IHsKKyAgICAgICAgICAgIGZvbnQtc2l6ZTogMjAwcHg7CisgICAgICAgICAgICBjb2xv
cjogZ3JheTsKKyAgICAgICAgfQorCisgICAgICAgIC50ZXN0LXN0cm9rZSB7CisgICAgICAgICAg
ICB0ZXh0LXNoYWRvdzogbm9uZTsKKyAgICAgICAgICAgIC13ZWJraXQtdGV4dC1zdHJva2U6IDMw
cHggcmVkOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2
IGNsYXNzPSJ0ZXN0LXN0cm9rZSIgc3R5bGU9InN0cm9rZS1taXRlcmxpbWl0OiA0OyI+TWl0ZXI8
L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3Ry
b2tlLW1pdGVybGltaXQtemVyby5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
Y3NzL3N0cm9rZS1taXRlcmxpbWl0LXplcm8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1pdC16ZXJvLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgICAg
PHN0eWxlPgorICAgICAgICBkaXYgeworICAgICAgICAgICAgZm9udC1zaXplOiAyMDBweDsKKyAg
ICAgICAgICAgIGNvbG9yOiBncmF5OworICAgICAgICB9CisKKyAgICAgICAgLnRlc3Qtc3Ryb2tl
IHsKKyAgICAgICAgICAgIHRleHQtc2hhZG93OiBub25lOworICAgICAgICAgICAgLXdlYmtpdC10
ZXh0LXN0cm9rZTogMzBweCByZWQ7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+CisKKzxkaXYgY2xhc3M9InRlc3Qtc3Ryb2tlIiBzdHlsZT0ic3Ryb2tlLW1pdGVybGlt
aXQ6IDA7Ij5NaXRlcjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303310</attachid>
            <date>2017-03-03 03:21:20 -0800</date>
            <delta_ts>2017-03-31 14:58:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169078-20170303122118.patch</filename>
            <type>text/plain</type>
            <size>24643</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMzM2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU1IEBACisyMDE3LTAzLTAzICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgc3Ryb2tl
LW1pdGVybGltaXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjkwNzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBTdXBwb3J0IHN0cm9rZS1taXRlcmxpbWl0IGZvciB0ZXh0IHJlbmRlcmluZywgc2VlIGh0
dHBzOi8vZHJhZnRzLmZ4dGYub3JnL3BhaW50Ly4KKworICAgICAgICBUZXN0czogZmFzdC9jc3Mv
c3Ryb2tlLW1pdGVybGltaXQtZGVmYXVsdC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Nzcy9z
dHJva2UtbWl0ZXJsaW1pdC1sYXJnZS5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Nzcy9zdHJv
a2UtbWl0ZXJsaW1pdC16ZXJvLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6cHJvcGVydHlWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAg
ICAgICAgKiBjc3MvU1ZHQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnN2Z1Byb3BlcnR5VmFsdWUpOgorICAg
ICAgICAqIHJlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
b21wdXRlVGV4dFBhaW50U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRlR3JhcGhpY3ND
b250ZXh0KToKKyAgICAgICAgKiByZW5kZXJpbmcvVGV4dFBhaW50U3R5bGUuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6OmRpZmYpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnN0cm9rZU1pdGVyTGltaXQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldFN0cm9rZU1pdGVyTGltaXQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxTdHJva2VNaXRlckxpbWl0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpzZXRTdHJva2VEYXNoT2Zmc2V0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUmVuZGVyU3R5bGU6OmRpZmYpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TVkdSZW5k
ZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OmluaXRpYWxTdHJv
a2VEYXNoQXJyYXkpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OnN0cm9rZURh
c2hBcnJheSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdHlsZTo6aW5pdGlhbFN0cm9r
ZU1pdGVyTGltaXQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6
OnN0cm9rZU1pdGVyTGltaXQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVy
U3R5bGU6OnNldFN0cm9rZU1pdGVyTGltaXQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVT
dHJva2VEYXRhOjpTdHlsZVN0cm9rZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVTdHJv
a2VEYXRhOjpvcGVyYXRvcj09KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVy
U3R5bGVEZWZzLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRl
ZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5
bGVSYXJlSW5oZXJpdGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0
ZWREYXRhOjpvcGVyYXRvcj09KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
SW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHU2hhcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHU2hhcGU6Omhhc1Ntb290aFN0cm9rZSk6
CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1JlbmRlclN1cHBvcnQ6OmFwcGx5U3Ryb2tlU3R5bGVUb0NvbnRleHQpOgor
ICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp3cml0ZVN0eWxlKToKKwogMjAxNy0wMy0wMiAgU2FtIFdlaW5pZyAgPHNhbUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJlbmFtZSBodG1sZWRpdGluZy5oL2NwcCB0byBFZGl0aW5n
LmgvY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcAkocmV2aXNpb24gMjEzMzU0KQorKysgU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4NzEs
NiArMzg3MSw4IEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3RvcjoKICAg
ICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxlLT5qb2luU3R5
bGUoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJva2VXaWR0aDoKICAgICAgICAgICAg
IHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlRm9yTGVuZ3RoKHN0eWxlLT5zdHJva2VXaWR0
aCgpLCAqc3R5bGUpOworICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3Ryb2tlTWl0ZXJsaW1pdDoK
KyAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxlLT5zdHJv
a2VNaXRlckxpbWl0KCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAogICAgICAg
ICAvKiBVbmltcGxlbWVudGVkIENTUyAzIHByb3BlcnRpZXMgKGluY2x1ZGluZyBDU1MzIHNob3J0
aGFuZCBwcm9wZXJ0aWVzKSAqLwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5QWxsOgpAQCAtMzk4
Nyw3ICszOTg5LDYgQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOgog
ICAgICAgICBjYXNlIENTU1Byb3BlcnR5U2hhcGVSZW5kZXJpbmc6CiAgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlTdHJva2U6CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJva2VEYXNoYXJyYXk6
Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJva2VNaXRlcmxpbWl0OgogICAgICAgICBjYXNl
IENTU1Byb3BlcnR5U3Ryb2tlT3BhY2l0eToKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUFsaWdu
bWVudEJhc2VsaW5lOgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5QmFzZWxpbmVTaGlmdDoKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgkocmV2aXNpb24gMjEzMzU0KQor
KysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgkod29ya2luZyBjb3B5KQpA
QCAtMzAwMyw4ICszMDAzLDcgQEAKICAgICAgICAgICAgICJpbmhlcml0ZWQiOiB0cnVlLAogICAg
ICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAibmFtZS1m
b3ItbWV0aG9kcyI6ICJTdHJva2VNaXRlckxpbWl0IiwKLSAgICAgICAgICAgICAgICAiY29udmVy
dGVyIjogIk51bWJlcjxmbG9hdD4iLAotICAgICAgICAgICAgICAgICJzdmciOiB0cnVlCisgICAg
ICAgICAgICAgICAgImNvbnZlcnRlciI6ICJOdW1iZXI8ZmxvYXQ+IgogICAgICAgICAgICAgfSwK
ICAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogewogICAgICAgICAgICAgICAgICJjYXRlZ29y
eSI6ICJzdmciLApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU0Nv
bXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAJKHJldmlzaW9uIDIxMzM1NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9TVkdDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTMsOCArMTEzLDYgQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0eWxlRXh0
cmFjdG9yOgogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3Zn
U3R5bGUuY29sb3JSZW5kZXJpbmcoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTaGFwZVJl
bmRlcmluZzoKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN2
Z1N0eWxlLnNoYXBlUmVuZGVyaW5nKCkpOwotICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3Ryb2tl
TWl0ZXJsaW1pdDoKLSAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRl
KHN2Z1N0eWxlLnN0cm9rZU1pdGVyTGltaXQoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1C
RVIpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3Ryb2tlT3BhY2l0eToKICAgICAgICAgICAg
IHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN2Z1N0eWxlLnN0cm9rZU9wYWNpdHko
KSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOwogICAgICAgICBjYXNlIENTU1Byb3Bl
cnR5QWxpZ25tZW50QmFzZWxpbmU6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4
dFBhaW50U3R5bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9U
ZXh0UGFpbnRTdHlsZS5jcHAJKHJldmlzaW9uIDIxMzM1NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9UZXh0UGFpbnRTdHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxLDYgKzcxLDcg
QEAgVGV4dFBhaW50U3R5bGUgY29tcHV0ZVRleHRQYWludFN0eWxlKGNvbgogICAgIHBhaW50U3R5
bGUucGFpbnRPcmRlciA9IGxpbmVTdHlsZS5wYWludE9yZGVyKCk7CiAgICAgcGFpbnRTdHlsZS5s
aW5lSm9pbiA9IGxpbmVTdHlsZS5qb2luU3R5bGUoKTsKICAgICBwYWludFN0eWxlLmxpbmVDYXAg
PSBsaW5lU3R5bGUuY2FwU3R5bGUoKTsKKyAgICBwYWludFN0eWxlLm1pdGVyTGltaXQgPSBsaW5l
U3R5bGUuc3Ryb2tlTWl0ZXJMaW1pdCgpOwogICAgIAogICAgIGlmIChwYWludEluZm8uZm9yY2VU
ZXh0Q29sb3IoKSkgewogICAgICAgICBwYWludFN0eWxlLmZpbGxDb2xvciA9IHBhaW50SW5mby5m
b3JjZWRUZXh0Q29sb3IoKTsKQEAgLTE5Nyw2ICsxOTgsOCBAQCB2b2lkIHVwZGF0ZUdyYXBoaWNz
Q29udGV4dChHcmFwaGljc0NvbnRlCiAgICAgICAgICAgICBjb250ZXh0LnNldFN0cm9rZVRoaWNr
bmVzcyhwYWludFN0eWxlLnN0cm9rZVdpZHRoKTsKICAgICAgICAgY29udGV4dC5zZXRMaW5lSm9p
bihwYWludFN0eWxlLmxpbmVKb2luKTsKICAgICAgICAgY29udGV4dC5zZXRMaW5lQ2FwKHBhaW50
U3R5bGUubGluZUNhcCk7CisgICAgICAgIGlmIChwYWludFN0eWxlLmxpbmVKb2luID09IE1pdGVy
Sm9pbikKKyAgICAgICAgICAgIGNvbnRleHQuc2V0TWl0ZXJMaW1pdChwYWludFN0eWxlLm1pdGVy
TGltaXQpOwogICAgIH0KIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQ
YWludFN0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQ
YWludFN0eWxlLmgJKHJldmlzaW9uIDIxMzM1NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9UZXh0UGFpbnRTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1Miw3IEBAIHN0cnVj
dCBUZXh0UGFpbnRTdHlsZSB7CiAgICAgUGFpbnRPcmRlciBwYWludE9yZGVyIHsgUGFpbnRPcmRl
cjo6Tm9ybWFsIH07CiAgICAgTGluZUpvaW4gbGluZUpvaW4geyBNaXRlckpvaW4gfTsKICAgICBM
aW5lQ2FwIGxpbmVDYXAgeyBCdXR0Q2FwIH07CisgICAgZmxvYXQgbWl0ZXJMaW1pdCB7IDQgfTsK
IH07CiAKIFRleHRQYWludFN0eWxlIGNvbXB1dGVUZXh0UGFpbnRTdHlsZShjb25zdCBGcmFtZSYs
IGNvbnN0IFJlbmRlclN0eWxlJiwgY29uc3QgUGFpbnRJbmZvJik7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAJKHJldmlzaW9uIDIxMzM1
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTY0Miw2ICs2NDIsMTMgQEAgYm9vbCBSZW5kZXJTdHlsZTo6Y2hhbmdl
UmVxdWlyZXNMYXlvdXQoYwogCiAgICAgICAgIGlmICh0ZXh0U3Ryb2tlV2lkdGgoKSAhPSBvdGhl
ci50ZXh0U3Ryb2tlV2lkdGgoKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAK
KyAgICAgICAgLy8gVGhlc2UgcHJvcGVydGllcyBhZmZlY3QgdGhlIGNhY2hlZCBzdHJva2UgYm91
bmRpbmcgYm94IHJlY3RzLgorICAgICAgICBpZiAobV9yYXJlSW5oZXJpdGVkRGF0YS0+Y2FwU3R5
bGUgIT0gb3RoZXIubV9yYXJlSW5oZXJpdGVkRGF0YS0+Y2FwU3R5bGUKKyAgICAgICAgICAgIHx8
IG1fcmFyZUluaGVyaXRlZERhdGEtPmpvaW5TdHlsZSAhPSBvdGhlci5tX3JhcmVJbmhlcml0ZWRE
YXRhLT5qb2luU3R5bGUKKyAgICAgICAgICAgIHx8IG1fcmFyZUluaGVyaXRlZERhdGEtPnN0cm9r
ZVdpZHRoICE9IG90aGVyLm1fcmFyZUluaGVyaXRlZERhdGEtPnN0cm9rZVdpZHRoCisgICAgICAg
ICAgICB8fCBtX3JhcmVJbmhlcml0ZWREYXRhLT5taXRlckxpbWl0ICE9IG90aGVyLm1fcmFyZUlu
aGVyaXRlZERhdGEtPm1pdGVyTGltaXQpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9
CiAKICAgICBpZiAobV9pbmhlcml0ZWREYXRhLT5saW5lSGVpZ2h0ICE9IG90aGVyLm1faW5oZXJp
dGVkRGF0YS0+bGluZUhlaWdodApAQCAtOTA3LDEyICs5MTQsNiBAQCBTdHlsZURpZmZlcmVuY2Ug
UmVuZGVyU3R5bGU6OmRpZmYoY29uc3QgCiAgICAgICAgICAgICByZXR1cm4gc3ZnQ2hhbmdlOwog
ICAgIH0KIAotICAgIC8vIFRoZXNlIHByb3BlcnRpZXMgYWZmZWN0IHRoZSBjYWNoZWQgc3Ryb2tl
IGJvdW5kaW5nIGJveCByZWN0cy4KLSAgICBpZiAobV9yYXJlSW5oZXJpdGVkRGF0YS0+Y2FwU3R5
bGUgIT0gb3RoZXIubV9yYXJlSW5oZXJpdGVkRGF0YS0+Y2FwU3R5bGUKLSAgICAgICAgfHwgbV9y
YXJlSW5oZXJpdGVkRGF0YS0+am9pblN0eWxlICE9IG90aGVyLm1fcmFyZUluaGVyaXRlZERhdGEt
PmpvaW5TdHlsZQotICAgICAgICB8fCBtX3JhcmVJbmhlcml0ZWREYXRhLT5zdHJva2VXaWR0aCAh
PSBvdGhlci5tX3JhcmVJbmhlcml0ZWREYXRhLT5zdHJva2VXaWR0aCkKLSAgICAgICAgcmV0dXJu
IFN0eWxlRGlmZmVyZW5jZUxheW91dDsKLQogICAgIGlmIChjaGFuZ2VSZXF1aXJlc0xheW91dChv
dGhlciwgY2hhbmdlZENvbnRleHRTZW5zaXRpdmVQcm9wZXJ0aWVzKSkKICAgICAgICAgcmV0dXJu
IFN0eWxlRGlmZmVyZW5jZUxheW91dDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHJldmlzaW9uIDIxMzM1NCkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjM2
LDcgKzEyMzYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBcHBsZVBheUJ1dHRvblR5cGUoQXBw
bGVQYXlCdXR0b25UeXBlIHR5cGUpIHsgU0VUX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBh
cHBsZVBheUJ1dHRvblR5cGUsIHN0YXRpY19jYXN0PHVuc2lnbmVkPih0eXBlKSk7IH0KICNlbmRp
ZgogCi0gICAgLy8gU3VwcG9ydCBmb3IgcGFpbnQtb3JkZXIsIHN0cm9rZS1saW5lY2FwLCBhbmQg
c3Ryb2tlLWxpbmVqb2luIGZyb20gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvcGFpbnQvLgorICAg
IC8vIFN1cHBvcnQgZm9yIHBhaW50LW9yZGVyLCBzdHJva2UtbGluZWNhcCwgc3Ryb2tlLWxpbmVq
b2luLCBhbmQgc3Ryb2tlLW1pdGVybGltaXQgZnJvbSBodHRwczovL2RyYWZ0cy5meHRmLm9yZy9w
YWludC8uCiAgICAgdm9pZCBzZXRQYWludE9yZGVyKFBhaW50T3JkZXIgb3JkZXIpIHsgU0VUX1ZB
UihtX3JhcmVJbmhlcml0ZWREYXRhLCBwYWludE9yZGVyLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
b3JkZXIpKTsgfQogICAgIFBhaW50T3JkZXIgcGFpbnRPcmRlcigpIGNvbnN0IHsgcmV0dXJuIHN0
YXRpY19jYXN0PFBhaW50T3JkZXI+KG1fcmFyZUluaGVyaXRlZERhdGEtPnBhaW50T3JkZXIpOyB9
CiAgICAgc3RhdGljIFBhaW50T3JkZXIgaW5pdGlhbFBhaW50T3JkZXIoKSB7IHJldHVybiBQYWlu
dE9yZGVyOjpOb3JtYWw7IH0KQEAgLTEyNTQsNiArMTI1NCw5IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldFN0cm9rZVdpZHRoKExlbmd0aCYmIHcpIHsgU0VUX1ZBUihtX3JhcmVJbmhlcml0ZWREYXRh
LCBzdHJva2VXaWR0aCwgV1RGTW92ZSh3KSk7IH0KICAgICBib29sIGhhc1Zpc2libGVTdHJva2Uo
KSBjb25zdCB7IHJldHVybiBzdmdTdHlsZSgpLmhhc1N0cm9rZSgpICYmICFzdHJva2VXaWR0aCgp
LmlzWmVybygpOyB9CiAKKyAgICBmbG9hdCBzdHJva2VNaXRlckxpbWl0KCkgY29uc3QgeyByZXR1
cm4gbV9yYXJlSW5oZXJpdGVkRGF0YS0+bWl0ZXJMaW1pdDsgfQorICAgIHZvaWQgc2V0U3Ryb2tl
TWl0ZXJMaW1pdChmbG9hdCBmKSB7IFNFVF9WQVIobV9yYXJlSW5oZXJpdGVkRGF0YSwgbWl0ZXJM
aW1pdCwgZik7IH0KKyAgICBzdGF0aWMgZmxvYXQgaW5pdGlhbFN0cm9rZU1pdGVyTGltaXQoKSB7
IHJldHVybiA0OyB9CiAgICAgCiAgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUmIHN2Z1N0eWxlKCkg
Y29uc3QgeyByZXR1cm4gbV9zdmdTdHlsZTsgfQogICAgIFNWR1JlbmRlclN0eWxlJiBhY2Nlc3NT
VkdTdHlsZSgpIHsgcmV0dXJuIG1fc3ZnU3R5bGUuYWNjZXNzKCk7IH0KQEAgLTEyNzMsOCArMTI3
Niw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFN0cm9rZURhc2hBcnJheShWZWN0b3I8U1ZHTGVu
Z3RoVmFsdWU+IGFycmF5KSB7IGFjY2Vzc1NWR1N0eWxlKCkuc2V0U3Ryb2tlRGFzaEFycmF5KGFy
cmF5KTsgfQogICAgIGNvbnN0IExlbmd0aCYgc3Ryb2tlRGFzaE9mZnNldCgpIGNvbnN0IHsgcmV0
dXJuIHN2Z1N0eWxlKCkuc3Ryb2tlRGFzaE9mZnNldCgpOyB9CiAgICAgdm9pZCBzZXRTdHJva2VE
YXNoT2Zmc2V0KExlbmd0aCYmIGQpIHsgYWNjZXNzU1ZHU3R5bGUoKS5zZXRTdHJva2VEYXNoT2Zm
c2V0KFdURk1vdmUoZCkpOyB9Ci0gICAgZmxvYXQgc3Ryb2tlTWl0ZXJMaW1pdCgpIGNvbnN0IHsg
cmV0dXJuIHN2Z1N0eWxlKCkuc3Ryb2tlTWl0ZXJMaW1pdCgpOyB9Ci0gICAgdm9pZCBzZXRTdHJv
a2VNaXRlckxpbWl0KGZsb2F0IGYpIHsgYWNjZXNzU1ZHU3R5bGUoKS5zZXRTdHJva2VNaXRlckxp
bWl0KGYpOyB9CiAKICAgICBjb25zdCBMZW5ndGgmIGN4KCkgY29uc3QgeyByZXR1cm4gc3ZnU3R5
bGUoKS5jeCgpOyB9CiAgICAgdm9pZCBzZXRDeChMZW5ndGgmJiBjeCkgeyBhY2Nlc3NTVkdTdHls
ZSgpLnNldEN4KFdURk1vdmUoY3gpKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1NWR1JlbmRlclN0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiAyMTMzNTQpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xODgsNyArMTg4LDYgQEAgU3R5bGVEaWZmZXJlbmNlIFNWR1JlbmRlclN0eWxl
OjpkaWZmKGNvbgogICAgICAgICBpZiAobV9zdHJva2VEYXRhLT5wYWludFR5cGUgIT0gb3RoZXIu
bV9zdHJva2VEYXRhLT5wYWludFR5cGUKICAgICAgICAgICAgIHx8IG1fc3Ryb2tlRGF0YS0+cGFp
bnRDb2xvciAhPSBvdGhlci5tX3N0cm9rZURhdGEtPnBhaW50Q29sb3IKICAgICAgICAgICAgIHx8
IG1fc3Ryb2tlRGF0YS0+cGFpbnRVcmkgIT0gb3RoZXIubV9zdHJva2VEYXRhLT5wYWludFVyaQot
ICAgICAgICAgICAgfHwgbV9zdHJva2VEYXRhLT5taXRlckxpbWl0ICE9IG90aGVyLm1fc3Ryb2tl
RGF0YS0+bWl0ZXJMaW1pdAogICAgICAgICAgICAgfHwgbV9zdHJva2VEYXRhLT5kYXNoQXJyYXkg
IT0gb3RoZXIubV9zdHJva2VEYXRhLT5kYXNoQXJyYXkKICAgICAgICAgICAgIHx8IG1fc3Ryb2tl
RGF0YS0+ZGFzaE9mZnNldCAhPSBvdGhlci5tX3N0cm9rZURhdGEtPmRhc2hPZmZzZXQKICAgICAg
ICAgICAgIHx8IG1fc3Ryb2tlRGF0YS0+dmlzaXRlZExpbmtQYWludENvbG9yICE9IG90aGVyLm1f
c3Ryb2tlRGF0YS0+dmlzaXRlZExpbmtQYWludENvbG9yCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaAkocmV2aXNpb24gMjEzMzU0KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTcxLDcgKzcxLDYgQEAgcHVibGljOgogICAgIHN0YXRpYyBDb2xvciBpbml0
aWFsU3Ryb2tlUGFpbnRDb2xvcigpIHsgcmV0dXJuIENvbG9yKCk7IH0KICAgICBzdGF0aWMgU3Ry
aW5nIGluaXRpYWxTdHJva2VQYWludFVyaSgpIHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgc3Rh
dGljIFZlY3RvcjxTVkdMZW5ndGhWYWx1ZT4gaW5pdGlhbFN0cm9rZURhc2hBcnJheSgpIHsgcmV0
dXJuIHsgfTsgfQotICAgIHN0YXRpYyBmbG9hdCBpbml0aWFsU3Ryb2tlTWl0ZXJMaW1pdCgpIHsg
cmV0dXJuIDQ7IH0KICAgICBzdGF0aWMgZmxvYXQgaW5pdGlhbFN0b3BPcGFjaXR5KCkgeyByZXR1
cm4gMTsgfQogICAgIHN0YXRpYyBDb2xvciBpbml0aWFsU3RvcENvbG9yKCkgeyByZXR1cm4gQ29s
b3IoMCwgMCwgMCk7IH0KICAgICBzdGF0aWMgZmxvYXQgaW5pdGlhbEZsb29kT3BhY2l0eSgpIHsg
cmV0dXJuIDE7IH0KQEAgLTExNiw3ICsxMTUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTdHJv
a2VQYWludChTVkdQYWludFR5cGUsIGNvbnN0IENvbG9yJiwgY29uc3QgU3RyaW5nJiB1cmksIGJv
b2wgYXBwbHlUb1JlZ3VsYXJTdHlsZSA9IHRydWUsIGJvb2wgYXBwbHlUb1Zpc2l0ZWRMaW5rU3R5
bGUgPSBmYWxzZSk7CiAKICAgICB2b2lkIHNldFN0cm9rZURhc2hBcnJheShjb25zdCBWZWN0b3I8
U1ZHTGVuZ3RoVmFsdWU+Jik7Ci0gICAgdm9pZCBzZXRTdHJva2VNaXRlckxpbWl0KGZsb2F0KTsK
ICAgICB2b2lkIHNldFN0cm9rZURhc2hPZmZzZXQoY29uc3QgTGVuZ3RoJik7CiAgICAgdm9pZCBz
ZXRLZXJuaW5nKGNvbnN0IFNWR0xlbmd0aFZhbHVlJik7CiAgICAgdm9pZCBzZXRTdG9wT3BhY2l0
eShmbG9hdCk7CkBAIC0xNjEsNyArMTU5LDYgQEAgcHVibGljOgogICAgIGNvbnN0IENvbG9yJiBz
dHJva2VQYWludENvbG9yKCkgY29uc3QgeyByZXR1cm4gbV9zdHJva2VEYXRhLT5wYWludENvbG9y
OyB9CiAgICAgY29uc3QgU3RyaW5nJiBzdHJva2VQYWludFVyaSgpIGNvbnN0IHsgcmV0dXJuIG1f
c3Ryb2tlRGF0YS0+cGFpbnRVcmk7IH0KICAgICBWZWN0b3I8U1ZHTGVuZ3RoVmFsdWU+IHN0cm9r
ZURhc2hBcnJheSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Ryb2tlRGF0YS0+ZGFzaEFycmF5OyB9Ci0g
ICAgZmxvYXQgc3Ryb2tlTWl0ZXJMaW1pdCgpIGNvbnN0IHsgcmV0dXJuIG1fc3Ryb2tlRGF0YS0+
bWl0ZXJMaW1pdDsgfQogICAgIGNvbnN0IExlbmd0aCYgc3Ryb2tlRGFzaE9mZnNldCgpIGNvbnN0
IHsgcmV0dXJuIG1fc3Ryb2tlRGF0YS0+ZGFzaE9mZnNldDsgfQogICAgIFNWR0xlbmd0aFZhbHVl
IGtlcm5pbmcoKSBjb25zdCB7IHJldHVybiBtX3RleHREYXRhLT5rZXJuaW5nOyB9CiAgICAgZmxv
YXQgc3RvcE9wYWNpdHkoKSBjb25zdCB7IHJldHVybiBtX3N0b3BEYXRhLT5vcGFjaXR5OyB9CkBA
IC0zNzQsMTIgKzM3MSw2IEBAIGlubGluZSB2b2lkIFNWR1JlbmRlclN0eWxlOjpzZXRTdHJva2VE
YXMKICAgICAgICAgbV9zdHJva2VEYXRhLmFjY2VzcygpLmRhc2hBcnJheSA9IGFycmF5OwogfQog
Ci1pbmxpbmUgdm9pZCBTVkdSZW5kZXJTdHlsZTo6c2V0U3Ryb2tlTWl0ZXJMaW1pdChmbG9hdCBs
aW1pdCkKLXsKLSAgICBpZiAoIShtX3N0cm9rZURhdGEtPm1pdGVyTGltaXQgPT0gbGltaXQpKQot
ICAgICAgICBtX3N0cm9rZURhdGEuYWNjZXNzKCkubWl0ZXJMaW1pdCA9IGxpbWl0OwotfQotCiBp
bmxpbmUgdm9pZCBTVkdSZW5kZXJTdHlsZTo6c2V0U3Ryb2tlRGFzaE9mZnNldChjb25zdCBMZW5n
dGgmIG9mZnNldCkKIHsKICAgICBpZiAoIShtX3N0cm9rZURhdGEtPmRhc2hPZmZzZXQgPT0gb2Zm
c2V0KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHls
ZURlZnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
VkdSZW5kZXJTdHlsZURlZnMuY3BwCShyZXZpc2lvbiAyMTMzNTQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNzYsNyArNzYsNiBAQCBib29sIFN0eWxlRmlsbERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5
CiAKIFN0eWxlU3Ryb2tlRGF0YTo6U3R5bGVTdHJva2VEYXRhKCkKICAgICA6IG9wYWNpdHkoU1ZH
UmVuZGVyU3R5bGU6OmluaXRpYWxTdHJva2VPcGFjaXR5KCkpCi0gICAgLCBtaXRlckxpbWl0KFNW
R1JlbmRlclN0eWxlOjppbml0aWFsU3Ryb2tlTWl0ZXJMaW1pdCgpKQogICAgICwgZGFzaE9mZnNl
dChSZW5kZXJTdHlsZTo6aW5pdGlhbFplcm9MZW5ndGgoKSkKICAgICAsIGRhc2hBcnJheShTVkdS
ZW5kZXJTdHlsZTo6aW5pdGlhbFN0cm9rZURhc2hBcnJheSgpKQogICAgICwgcGFpbnRUeXBlKFNW
R1JlbmRlclN0eWxlOjppbml0aWFsU3Ryb2tlUGFpbnRUeXBlKCkpCkBAIC05MSw3ICs5MCw2IEBA
IFN0eWxlU3Ryb2tlRGF0YTo6U3R5bGVTdHJva2VEYXRhKCkKIGlubGluZSBTdHlsZVN0cm9rZURh
dGE6OlN0eWxlU3Ryb2tlRGF0YShjb25zdCBTdHlsZVN0cm9rZURhdGEmIG90aGVyKQogICAgIDog
UmVmQ291bnRlZDxTdHlsZVN0cm9rZURhdGE+KCkKICAgICAsIG9wYWNpdHkob3RoZXIub3BhY2l0
eSkKLSAgICAsIG1pdGVyTGltaXQob3RoZXIubWl0ZXJMaW1pdCkKICAgICAsIGRhc2hPZmZzZXQo
b3RoZXIuZGFzaE9mZnNldCkKICAgICAsIGRhc2hBcnJheShvdGhlci5kYXNoQXJyYXkpCiAgICAg
LCBwYWludFR5cGUob3RoZXIucGFpbnRUeXBlKQpAQCAtMTExLDcgKzEwOSw2IEBAIFJlZjxTdHls
ZVN0cm9rZURhdGE+IFN0eWxlU3Ryb2tlRGF0YTo6Y28KIGJvb2wgU3R5bGVTdHJva2VEYXRhOjpv
cGVyYXRvcj09KGNvbnN0IFN0eWxlU3Ryb2tlRGF0YSYgb3RoZXIpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIG9wYWNpdHkgPT0gb3RoZXIub3BhY2l0eQotICAgICAgICAmJiBtaXRlckxpbWl0ID09IG90
aGVyLm1pdGVyTGltaXQKICAgICAgICAgJiYgZGFzaE9mZnNldCA9PSBvdGhlci5kYXNoT2Zmc2V0
CiAgICAgICAgICYmIGRhc2hBcnJheSA9PSBvdGhlci5kYXNoQXJyYXkKICAgICAgICAgJiYgcGFp
bnRUeXBlID09IG90aGVyLnBhaW50VHlwZQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuaAkocmV2aXNpb24gMjEzMzU0KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMzcsNyArMTM3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICB9CiAKICAgICAgICAgZmxvYXQgb3BhY2l0eTsKLSAgICAgICAgZmxvYXQgbWl0ZXJMaW1p
dDsKIAogICAgICAgICBMZW5ndGggZGFzaE9mZnNldDsKICAgICAgICAgVmVjdG9yPFNWR0xlbmd0
aFZhbHVlPiBkYXNoQXJyYXk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCShyZXZpc2lvbiAyMTMz
NTQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVk
RGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyOSw2ICsxMjksNyBAQCBTdHlsZVJhcmVJbmhl
cml0ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0CiAgICAgLCBjYXBTdHlsZShSZW5kZXJTdHlsZTo6
aW5pdGlhbENhcFN0eWxlKCkpCiAgICAgLCBqb2luU3R5bGUoUmVuZGVyU3R5bGU6OmluaXRpYWxK
b2luU3R5bGUoKSkKICAgICAsIHN0cm9rZVdpZHRoKFJlbmRlclN0eWxlOjppbml0aWFsT25lTGVu
Z3RoKCkpCisgICAgLCBtaXRlckxpbWl0KFJlbmRlclN0eWxlOjppbml0aWFsU3Ryb2tlTWl0ZXJM
aW1pdCgpKQogICAgICwgaHlwaGVuYXRpb25MaW1pdEJlZm9yZSgtMSkKICAgICAsIGh5cGhlbmF0
aW9uTGltaXRBZnRlcigtMSkKICAgICAsIGh5cGhlbmF0aW9uTGltaXRMaW5lcygtMSkKQEAgLTIx
NSw2ICsyMTYsNyBAQCBpbmxpbmUgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlCiAg
ICAgLCBjYXBTdHlsZShvLmNhcFN0eWxlKQogICAgICwgam9pblN0eWxlKG8uam9pblN0eWxlKQog
ICAgICwgc3Ryb2tlV2lkdGgoby5zdHJva2VXaWR0aCkKKyAgICAsIG1pdGVyTGltaXQoby5taXRl
ckxpbWl0KQogICAgICwgaHlwaGVuYXRpb25TdHJpbmcoby5oeXBoZW5hdGlvblN0cmluZykKICAg
ICAsIGh5cGhlbmF0aW9uTGltaXRCZWZvcmUoby5oeXBoZW5hdGlvbkxpbWl0QmVmb3JlKQogICAg
ICwgaHlwaGVuYXRpb25MaW1pdEFmdGVyKG8uaHlwaGVuYXRpb25MaW1pdEFmdGVyKQpAQCAtMzI1
LDYgKzMyNyw3IEBAIGJvb2wgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PSgKICAg
ICAgICAgJiYgY2FwU3R5bGUgPT0gby5jYXBTdHlsZQogICAgICAgICAmJiBqb2luU3R5bGUgPT0g
by5qb2luU3R5bGUKICAgICAgICAgJiYgc3Ryb2tlV2lkdGggPT0gby5zdHJva2VXaWR0aAorICAg
ICAgICAmJiBtaXRlckxpbWl0ID09IG8ubWl0ZXJMaW1pdAogICAgICAgICAmJiBjdXN0b21Qcm9w
ZXJ0aWVzID09IG8uY3VzdG9tUHJvcGVydGllcwogICAgICAgICAmJiBhcmVQb2ludGluZ1RvRXF1
YWxEYXRhKGxpc3RTdHlsZUltYWdlLCBvLmxpc3RTdHlsZUltYWdlKTsKIH0KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRl
ZERhdGEuaAkocmV2aXNpb24gMjEzMzU0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMTQwLDYgKzE0
MCw3IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBjYXBTdHlsZSA6IDI7IC8vIExpbmVDYXAKICAg
ICB1bnNpZ25lZCBqb2luU3R5bGUgOiAyOyAvLyBMaW5lSm9pbgogICAgIExlbmd0aCBzdHJva2VX
aWR0aDsKKyAgICBmbG9hdCBtaXRlckxpbWl0OwogICAgIAogICAgIEF0b21pY1N0cmluZyBoeXBo
ZW5hdGlvblN0cmluZzsKICAgICBzaG9ydCBoeXBoZW5hdGlvbkxpbWl0QmVmb3JlOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5jcHAJKHJl
dmlzaW9uIDIxMzM1NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
U2hhcGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDUsNyArNDQ1LDcgQEAgYm9vbCBSZW5kZXJT
VkdTaGFwZTo6aGFzU21vb3RoU3Ryb2tlKCkgYwogewogICAgIGNvbnN0IFNWR1JlbmRlclN0eWxl
JiBzdmdTdHlsZSA9IHN0eWxlKCkuc3ZnU3R5bGUoKTsKICAgICByZXR1cm4gc3ZnU3R5bGUuc3Ry
b2tlRGFzaEFycmF5KCkuaXNFbXB0eSgpCi0gICAgICAgICYmIHN2Z1N0eWxlLnN0cm9rZU1pdGVy
TGltaXQoKSA9PSBzdmdTdHlsZS5pbml0aWFsU3Ryb2tlTWl0ZXJMaW1pdCgpCisgICAgICAgICYm
IHN0eWxlKCkuc3Ryb2tlTWl0ZXJMaW1pdCgpID09IHN0eWxlKCkuaW5pdGlhbFN0cm9rZU1pdGVy
TGltaXQoKQogICAgICAgICAmJiBzdHlsZSgpLmpvaW5TdHlsZSgpID09IHN0eWxlKCkuaW5pdGlh
bEpvaW5TdHlsZSgpCiAgICAgICAgICYmIHN0eWxlKCkuY2FwU3R5bGUoKSA9PSBzdHlsZSgpLmlu
aXRpYWxDYXBTdHlsZSgpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdSZW5kZXJTdXBwb3J0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCShyZXZpc2lvbiAyMTMzNTQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1cHBvcnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00MzEsNyArNDMxLDcgQEAgdm9pZCBTVkdSZW5kZXJTdXBwb3J0OjphcHBseVN0cm9rZVN0
eWxlVAogICAgIGNvbnRleHQtPnNldExpbmVDYXAoc3R5bGUuY2FwU3R5bGUoKSk7CiAgICAgY29u
dGV4dC0+c2V0TGluZUpvaW4oc3R5bGUuam9pblN0eWxlKCkpOwogICAgIGlmIChzdHlsZS5qb2lu
U3R5bGUoKSA9PSBNaXRlckpvaW4pCi0gICAgICAgIGNvbnRleHQtPnNldE1pdGVyTGltaXQoc3Zn
U3R5bGUuc3Ryb2tlTWl0ZXJMaW1pdCgpKTsKKyAgICAgICAgY29udGV4dC0+c2V0TWl0ZXJMaW1p
dChzdHlsZS5zdHJva2VNaXRlckxpbWl0KCkpOwogCiAgICAgY29uc3QgVmVjdG9yPFNWR0xlbmd0
aFZhbHVlPiYgZGFzaGVzID0gc3ZnU3R5bGUuc3Ryb2tlRGFzaEFycmF5KCk7CiAgICAgaWYgKGRh
c2hlcy5pc0VtcHR5KCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jl
bmRlclRyZWVBc1RleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAJKHJldmlzaW9uIDIxMzM1NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE5Niw3ICsxOTYsNyBAQCBzdGF0aWMgdm9pZCB3cml0ZVN0eWxlKFRleHRTdHJl
YW0mIHRzLCBjCiAKICAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAib3BhY2l0eSIs
IHN2Z1N0eWxlLnN0cm9rZU9wYWNpdHkoKSwgMS4wZik7CiAgICAgICAgICAgICB3cml0ZUlmTm90
RGVmYXVsdCh0cywgInN0cm9rZSB3aWR0aCIsIHN0cm9rZVdpZHRoLCAxLjApOwotICAgICAgICAg
ICAgd3JpdGVJZk5vdERlZmF1bHQodHMsICJtaXRlciBsaW1pdCIsIHN2Z1N0eWxlLnN0cm9rZU1p
dGVyTGltaXQoKSwgNC4wZik7CisgICAgICAgICAgICB3cml0ZUlmTm90RGVmYXVsdCh0cywgIm1p
dGVyIGxpbWl0Iiwgc3R5bGUuc3Ryb2tlTWl0ZXJMaW1pdCgpLCA0LjBmKTsKICAgICAgICAgICAg
IHdyaXRlSWZOb3REZWZhdWx0KHRzLCAibGluZSBjYXAiLCBzdHlsZS5jYXBTdHlsZSgpLCBCdXR0
Q2FwKTsKICAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAibGluZSBqb2luIiwgc3R5
bGUuam9pblN0eWxlKCksIE1pdGVySm9pbik7CiAgICAgICAgICAgICB3cml0ZUlmTm90RGVmYXVs
dCh0cywgImRhc2ggb2Zmc2V0IiwgZGFzaE9mZnNldCwgMC4wKTsKSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDIxMzM1NCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDE3LTAzLTAzICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBJbXBsZW1lbnQgc3Ryb2tlLW1pdGVybGltaXQuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjkwNzgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL3N0cm9rZS1taXRl
cmxpbWl0LWRlZmF1bHQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3Mv
c3Ryb2tlLW1pdGVybGltaXQtZGVmYXVsdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nz
cy9zdHJva2UtbWl0ZXJsaW1pdC1sYXJnZS1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1pdC1sYXJnZS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1pdC16ZXJvLWV4cGVjdGVkLW1pc21h
dGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3N0cm9rZS1taXRlcmxpbWl0LXpl
cm8uaHRtbDogQWRkZWQuCisKIDIwMTctMDMtMDIgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNob3VsZCBiZSBhYmxlIHRvIHB1c2gg
bm9kZXMgaW4gYW4gaWZyYW1lIHN1YnRyZWUgdG8gdGhlIGZyb250ZW5kCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1pdC1kZWZhdWx0LWV4cGVjdGVkLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3Ryb2tlLW1pdGVybGltaXQtZGVmYXVs
dC1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3N0
cm9rZS1taXRlcmxpbWl0LWRlZmF1bHQtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDIyIEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5
bGU+CisgICAgICAgIGRpdiB7CisgICAgICAgICAgICBmb250LXNpemU6IDIwMHB4OworICAgICAg
ICAgICAgY29sb3I6IGdyYXk7CisgICAgICAgIH0KKworICAgICAgICAudGVzdC1zdHJva2Ugewor
ICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7CisgICAgICAgICAgICAtd2Via2l0LXRleHQt
c3Ryb2tlOiAzMHB4IHJlZDsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKworPGRpdiBjbGFzcz0idGVzdC1zdHJva2UiPk1pdGVyPC9kaXY+CisKKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3N0cm9rZS1taXRlcmxpbWl0LWRlZmF1
bHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHJva2UtbWl0ZXJs
aW1pdC1kZWZhdWx0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
c3Ryb2tlLW1pdGVybGltaXQtZGVmYXVsdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MjIgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAg
ICAgICAgZGl2IHsKKyAgICAgICAgICAgIGZvbnQtc2l6ZTogMjAwcHg7CisgICAgICAgICAgICBj
b2xvcjogZ3JheTsKKyAgICAgICAgfQorCisgICAgICAgIC50ZXN0LXN0cm9rZSB7CisgICAgICAg
ICAgICB0ZXh0LXNoYWRvdzogbm9uZTsKKyAgICAgICAgICAgIC13ZWJraXQtdGV4dC1zdHJva2U6
IDMwcHggcmVkOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8
ZGl2IGNsYXNzPSJ0ZXN0LXN0cm9rZSIgc3R5bGU9InN0cm9rZS1taXRlcmxpbWl0OiA0OyI+TWl0
ZXI8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
c3Ryb2tlLW1pdGVybGltaXQtbGFyZ2UtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1pdC1sYXJnZS1leHBlY3Rl
ZC1taXNtYXRjaC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3N0
cm9rZS1taXRlcmxpbWl0LWxhcmdlLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+Cisg
ICAgPHN0eWxlPgorICAgICAgICBkaXYgeworICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRl
OworICAgICAgICAgICAgZm9udC1zaXplOiAyMDBweDsKKyAgICAgICAgICAgIGNvbG9yOiBncmF5
OworICAgICAgICB9CisKKyAgICAgICAgLnRlc3Qtc3Ryb2tlIHsKKyAgICAgICAgICAgIHRleHQt
c2hhZG93OiBub25lOworICAgICAgICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMzBweCByZWQ7
CisgICAgICAgIH0KKyAgICAKKyAgICAgICAgLm9ic2N1cmVyIHsKKyAgICAgICAgICAgIHdpZHRo
OiA2MDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICAgICAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiBibHVlOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorCis8ZGl2IGNsYXNzPSJ0ZXN0LXN0cm9rZSIgc3R5bGU9InN0cm9rZS1taXRlcmxpbWl0OiA0
OyI+TWl0ZXI8L2Rpdj4KKzxkaXYgY2xhc3M9Im9ic2N1cmVyIiBzdHlsZT0ibGVmdDogMHB4OyB0
b3A6IDIwcHg7Ij48L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9jc3Mvc3Ryb2tlLW1pdGVybGltaXQtbGFyZ2UuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1pdC1sYXJnZS5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3N0cm9rZS1taXRlcmxpbWl0LWxhcmdlLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1s
PgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICBkaXYgeworICAgICAgICAgICAgcG9zaXRp
b246IGFic29sdXRlOworICAgICAgICAgICAgZm9udC1zaXplOiAyMDBweDsKKyAgICAgICAgICAg
IGNvbG9yOiBncmF5OworICAgICAgICB9CisKKyAgICAgICAgLnRlc3Qtc3Ryb2tlIHsKKyAgICAg
ICAgICAgIHRleHQtc2hhZG93OiBub25lOworICAgICAgICAgICAgLXdlYmtpdC10ZXh0LXN0cm9r
ZTogMzBweCByZWQ7CisgICAgICAgIH0KKyAgICAKKyAgICAgICAgLm9ic2N1cmVyIHsKKyAgICAg
ICAgICAgIHdpZHRoOiA2MDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICAg
ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorCis8ZGl2IGNsYXNzPSJ0ZXN0LXN0cm9rZSIgc3R5bGU9InN0cm9rZS1t
aXRlcmxpbWl0OiAxMDsiPk1pdGVyPC9kaXY+Cis8ZGl2IGNsYXNzPSJvYnNjdXJlciIgc3R5bGU9
ImxlZnQ6IDBweDsgdG9wOiAyMHB4OyI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvY3NzL3N0cm9rZS1taXRlcmxpbWl0LXplcm8tZXhwZWN0ZWQtbWlz
bWF0Y2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHJva2UtbWl0
ZXJsaW1pdC16ZXJvLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvZmFzdC9jc3Mvc3Ryb2tlLW1pdGVybGltaXQtemVyby1leHBlY3RlZC1taXNtYXRj
aC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgor
Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgZGl2IHsKKyAgICAgICAgICAg
IGZvbnQtc2l6ZTogMjAwcHg7CisgICAgICAgICAgICBjb2xvcjogZ3JheTsKKyAgICAgICAgfQor
CisgICAgICAgIC50ZXN0LXN0cm9rZSB7CisgICAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTsK
KyAgICAgICAgICAgIC13ZWJraXQtdGV4dC1zdHJva2U6IDMwcHggcmVkOworICAgICAgICB9Cisg
ICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IGNsYXNzPSJ0ZXN0LXN0cm9rZSIg
c3R5bGU9InN0cm9rZS1taXRlcmxpbWl0OiA0OyI+TWl0ZXI8L2Rpdj4KKworPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3Ryb2tlLW1pdGVybGltaXQtemVyby5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3N0cm9rZS1taXRlcmxpbWl0
LXplcm8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHJva2Ut
bWl0ZXJsaW1pdC16ZXJvLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMiBAQAorPCFE
T0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICBkaXYg
eworICAgICAgICAgICAgZm9udC1zaXplOiAyMDBweDsKKyAgICAgICAgICAgIGNvbG9yOiBncmF5
OworICAgICAgICB9CisKKyAgICAgICAgLnRlc3Qtc3Ryb2tlIHsKKyAgICAgICAgICAgIHRleHQt
c2hhZG93OiBub25lOworICAgICAgICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMzBweCByZWQ7
CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgY2xhc3M9
InRlc3Qtc3Ryb2tlIiBzdHlsZT0ic3Ryb2tlLW1pdGVybGltaXQ6IDA7Ij5NaXRlcjwvZGl2Pgor
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="324978"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306072</attachid>
            <date>2017-04-03 05:16:08 -0700</date>
            <delta_ts>2017-04-03 05:16:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169078-20170403141606.patch</filename>
            <type>text/plain</type>
            <size>25522</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNDc0NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU1IEBACisyMDE3LTA0LTAzICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgc3Ryb2tl
LW1pdGVybGltaXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjkwNzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBTdXBwb3J0IHN0cm9rZS1taXRlcmxpbWl0IGZvciB0ZXh0IHJlbmRlcmluZywgc2VlIGh0
dHBzOi8vZHJhZnRzLmZ4dGYub3JnL3BhaW50Ly4KKworICAgICAgICBUZXN0czogZmFzdC9jc3Mv
c3Ryb2tlLW1pdGVybGltaXQtZGVmYXVsdC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Nzcy9z
dHJva2UtbWl0ZXJsaW1pdC1sYXJnZS5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Nzcy9zdHJv
a2UtbWl0ZXJsaW1pdC16ZXJvLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6cHJvcGVydHlWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAg
ICAgICAgKiBjc3MvU1ZHQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnN2Z1Byb3BlcnR5VmFsdWUpOgorICAg
ICAgICAqIHJlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
b21wdXRlVGV4dFBhaW50U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRlR3JhcGhpY3ND
b250ZXh0KToKKyAgICAgICAgKiByZW5kZXJpbmcvVGV4dFBhaW50U3R5bGUuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6OmRpZmYpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnN0cm9rZU1pdGVyTGltaXQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldFN0cm9rZU1pdGVyTGltaXQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmluaXRpYWxTdHJva2VNaXRlckxpbWl0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpzZXRTdHJva2VEYXNoT2Zmc2V0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUmVuZGVyU3R5bGU6OmRpZmYpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TVkdSZW5k
ZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OmluaXRpYWxTdHJv
a2VEYXNoQXJyYXkpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6OnN0cm9rZURh
c2hBcnJheSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdHlsZTo6aW5pdGlhbFN0cm9r
ZU1pdGVyTGltaXQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyU3R5bGU6
OnN0cm9rZU1pdGVyTGltaXQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVy
U3R5bGU6OnNldFN0cm9rZU1pdGVyTGltaXQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVT
dHJva2VEYXRhOjpTdHlsZVN0cm9rZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVTdHJv
a2VEYXRhOjpvcGVyYXRvcj09KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVy
U3R5bGVEZWZzLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRl
ZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5
bGVSYXJlSW5oZXJpdGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0
ZWREYXRhOjpvcGVyYXRvcj09KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
SW5oZXJpdGVkRGF0YS5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHU2hhcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHU2hhcGU6Omhhc1Ntb290aFN0cm9rZSk6
CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJTdXBwb3J0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1JlbmRlclN1cHBvcnQ6OmFwcGx5U3Ryb2tlU3R5bGVUb0NvbnRleHQpOgor
ICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp3cml0ZVN0eWxlKToKKwogMjAxNy0wNC0wMiAgQWxleGV5IFByb3NrdXJ5YWtv
diAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXggZm9yCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAkocmV2
aXNpb24gMjE0NzQ3KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5MTcsNiArMzkxNyw4IEBAIFJlZlB0cjxD
U1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3RvcjoKICAgICAgICAgICAgIHJldHVybiBDU1NQ
cmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxlLT5qb2luU3R5bGUoKSk7CiAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlTdHJva2VXaWR0aDoKICAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQ
aXhlbFZhbHVlRm9yTGVuZ3RoKHN0eWxlLT5zdHJva2VXaWR0aCgpLCAqc3R5bGUpOworICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5U3Ryb2tlTWl0ZXJsaW1pdDoKKyAgICAgICAgICAgIHJldHVybiBD
U1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxlLT5zdHJva2VNaXRlckxpbWl0KCksIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAogICAgICAgICAvKiBVbmltcGxlbWVudGVkIENT
UyAzIHByb3BlcnRpZXMgKGluY2x1ZGluZyBDU1MzIHNob3J0aGFuZCBwcm9wZXJ0aWVzKSAqLwog
ICAgICAgICBjYXNlIENTU1Byb3BlcnR5QWxsOgpAQCAtNDAxOCw3ICs0MDIwLDYgQEAgUmVmUHRy
PENTU1ZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOgogICAgICAgICBjYXNlIENTU1Byb3Bl
cnR5U2hhcGVSZW5kZXJpbmc6CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJva2U6CiAgICAg
ICAgIGNhc2UgQ1NTUHJvcGVydHlTdHJva2VEYXNoYXJyYXk6Ci0gICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlTdHJva2VNaXRlcmxpbWl0OgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3Ryb2tlT3Bh
Y2l0eToKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUFsaWdubWVudEJhc2VsaW5lOgogICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5QmFzZWxpbmVTaGlmdDoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0aWVzLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnRpZXMuanNvbgkocmV2aXNpb24gMjE0NzQ3KQorKysgU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnRpZXMuanNvbgkod29ya2luZyBjb3B5KQpAQCAtMzAyMyw4ICszMDIzLDcgQEAK
ICAgICAgICAgICAgICJpbmhlcml0ZWQiOiB0cnVlLAogICAgICAgICAgICAgImNvZGVnZW4tcHJv
cGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAibmFtZS1mb3ItbWV0aG9kcyI6ICJTdHJva2VN
aXRlckxpbWl0IiwKLSAgICAgICAgICAgICAgICAiY29udmVydGVyIjogIk51bWJlcjxmbG9hdD4i
LAotICAgICAgICAgICAgICAgICJzdmciOiB0cnVlCisgICAgICAgICAgICAgICAgImNvbnZlcnRl
ciI6ICJOdW1iZXI8ZmxvYXQ+IgogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzcGVjaWZp
Y2F0aW9uIjogewogICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJzdmciLApJbmRleDogU291
cmNlL1dlYkNvcmUvY3NzL1NWR0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAJKHJldmlzaW9uIDIxNDc0NykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsOCArMTEzLDYg
QEAgUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOgogICAgICAgICAgICAg
cmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3ZnU3R5bGUuY29sb3JSZW5kZXJpbmco
KSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTaGFwZVJlbmRlcmluZzoKICAgICAgICAgICAg
IHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN2Z1N0eWxlLnNoYXBlUmVuZGVyaW5n
KCkpOwotICAgICAgICBjYXNlIENTU1Byb3BlcnR5U3Ryb2tlTWl0ZXJsaW1pdDoKLSAgICAgICAg
ICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN2Z1N0eWxlLnN0cm9rZU1pdGVy
TGltaXQoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOwogICAgICAgICBjYXNlIENT
U1Byb3BlcnR5U3Ryb2tlT3BhY2l0eToKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVW
YWx1ZTo6Y3JlYXRlKHN2Z1N0eWxlLnN0cm9rZU9wYWNpdHkoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19OVU1CRVIpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5QWxpZ25tZW50QmFzZWxpbmU6
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50U3R5bGUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5jcHAJKHJl
dmlzaW9uIDIxNDc0NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRTdHls
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcyLDYgKzcyLDcgQEAgVGV4dFBhaW50U3R5bGUgY29t
cHV0ZVRleHRQYWludFN0eWxlKGNvbgogICAgIHBhaW50U3R5bGUucGFpbnRPcmRlciA9IGxpbmVT
dHlsZS5wYWludE9yZGVyKCk7CiAgICAgcGFpbnRTdHlsZS5saW5lSm9pbiA9IGxpbmVTdHlsZS5q
b2luU3R5bGUoKTsKICAgICBwYWludFN0eWxlLmxpbmVDYXAgPSBsaW5lU3R5bGUuY2FwU3R5bGUo
KTsKKyAgICBwYWludFN0eWxlLm1pdGVyTGltaXQgPSBsaW5lU3R5bGUuc3Ryb2tlTWl0ZXJMaW1p
dCgpOwogICAgIAogICAgIGlmIChwYWludEluZm8uZm9yY2VUZXh0Q29sb3IoKSkgewogICAgICAg
ICBwYWludFN0eWxlLmZpbGxDb2xvciA9IHBhaW50SW5mby5mb3JjZWRUZXh0Q29sb3IoKTsKQEAg
LTIwMCw2ICsyMDEsOCBAQCB2b2lkIHVwZGF0ZUdyYXBoaWNzQ29udGV4dChHcmFwaGljc0NvbnRl
CiAgICAgICAgICAgICBjb250ZXh0LnNldFN0cm9rZVRoaWNrbmVzcyhwYWludFN0eWxlLnN0cm9r
ZVdpZHRoKTsKICAgICAgICAgY29udGV4dC5zZXRMaW5lSm9pbihwYWludFN0eWxlLmxpbmVKb2lu
KTsKICAgICAgICAgY29udGV4dC5zZXRMaW5lQ2FwKHBhaW50U3R5bGUubGluZUNhcCk7CisgICAg
ICAgIGlmIChwYWludFN0eWxlLmxpbmVKb2luID09IE1pdGVySm9pbikKKyAgICAgICAgICAgIGNv
bnRleHQuc2V0TWl0ZXJMaW1pdChwYWludFN0eWxlLm1pdGVyTGltaXQpOwogICAgIH0KIH0KIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWludFN0eWxlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWludFN0eWxlLmgJKHJldmlzaW9u
IDIxNDc0NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1Miw3IEBAIHN0cnVjdCBUZXh0UGFpbnRTdHlsZSB7CiAg
ICAgUGFpbnRPcmRlciBwYWludE9yZGVyIHsgUGFpbnRPcmRlcjo6Tm9ybWFsIH07CiAgICAgTGlu
ZUpvaW4gbGluZUpvaW4geyBNaXRlckpvaW4gfTsKICAgICBMaW5lQ2FwIGxpbmVDYXAgeyBCdXR0
Q2FwIH07CisgICAgZmxvYXQgbWl0ZXJMaW1pdCB7IGRlZmF1bHRNaXRlckxpbWl0IH07CiB9Owog
CiBUZXh0UGFpbnRTdHlsZSBjb21wdXRlVGV4dFBhaW50U3R5bGUoY29uc3QgRnJhbWUmLCBjb25z
dCBSZW5kZXJTdHlsZSYsIGNvbnN0IFBhaW50SW5mbyYpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiAyMTQ3NDcpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02NDIsNiArNjQyLDEzIEBAIGJvb2wgUmVuZGVyU3R5bGU6OmNoYW5nZVJlcXVp
cmVzTGF5b3V0KGMKIAogICAgICAgICBpZiAodGV4dFN0cm9rZVdpZHRoKCkgIT0gb3RoZXIudGV4
dFN0cm9rZVdpZHRoKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgCisgICAg
ICAgIC8vIFRoZXNlIHByb3BlcnRpZXMgYWZmZWN0IHRoZSBjYWNoZWQgc3Ryb2tlIGJvdW5kaW5n
IGJveCByZWN0cy4KKyAgICAgICAgaWYgKG1fcmFyZUluaGVyaXRlZERhdGEtPmNhcFN0eWxlICE9
IG90aGVyLm1fcmFyZUluaGVyaXRlZERhdGEtPmNhcFN0eWxlCisgICAgICAgICAgICB8fCBtX3Jh
cmVJbmhlcml0ZWREYXRhLT5qb2luU3R5bGUgIT0gb3RoZXIubV9yYXJlSW5oZXJpdGVkRGF0YS0+
am9pblN0eWxlCisgICAgICAgICAgICB8fCBtX3JhcmVJbmhlcml0ZWREYXRhLT5zdHJva2VXaWR0
aCAhPSBvdGhlci5tX3JhcmVJbmhlcml0ZWREYXRhLT5zdHJva2VXaWR0aAorICAgICAgICAgICAg
fHwgbV9yYXJlSW5oZXJpdGVkRGF0YS0+bWl0ZXJMaW1pdCAhPSBvdGhlci5tX3JhcmVJbmhlcml0
ZWREYXRhLT5taXRlckxpbWl0KQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCiAg
ICAgaWYgKG1faW5oZXJpdGVkRGF0YS0+bGluZUhlaWdodCAhPSBvdGhlci5tX2luaGVyaXRlZERh
dGEtPmxpbmVIZWlnaHQKQEAgLTkxMCwxMiArOTE3LDYgQEAgU3R5bGVEaWZmZXJlbmNlIFJlbmRl
clN0eWxlOjpkaWZmKGNvbnN0IAogICAgICAgICAgICAgcmV0dXJuIHN2Z0NoYW5nZTsKICAgICB9
CiAKLSAgICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGFmZmVjdCB0aGUgY2FjaGVkIHN0cm9rZSBib3Vu
ZGluZyBib3ggcmVjdHMuCi0gICAgaWYgKG1fcmFyZUluaGVyaXRlZERhdGEtPmNhcFN0eWxlICE9
IG90aGVyLm1fcmFyZUluaGVyaXRlZERhdGEtPmNhcFN0eWxlCi0gICAgICAgIHx8IG1fcmFyZUlu
aGVyaXRlZERhdGEtPmpvaW5TdHlsZSAhPSBvdGhlci5tX3JhcmVJbmhlcml0ZWREYXRhLT5qb2lu
U3R5bGUKLSAgICAgICAgfHwgbV9yYXJlSW5oZXJpdGVkRGF0YS0+c3Ryb2tlV2lkdGggIT0gb3Ro
ZXIubV9yYXJlSW5oZXJpdGVkRGF0YS0+c3Ryb2tlV2lkdGgpCi0gICAgICAgIHJldHVybiBTdHls
ZURpZmZlcmVuY2VMYXlvdXQ7Ci0KICAgICBpZiAoY2hhbmdlUmVxdWlyZXNMYXlvdXQob3RoZXIs
IGNoYW5nZWRDb250ZXh0U2Vuc2l0aXZlUHJvcGVydGllcykpCiAgICAgICAgIHJldHVybiBTdHls
ZURpZmZlcmVuY2VMYXlvdXQ7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oCShyZXZpc2lvbiAyMTQ3NDcpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTI0NSw3ICsx
MjQ1LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QXBwbGVQYXlCdXR0b25UeXBlKEFwcGxlUGF5
QnV0dG9uVHlwZSB0eXBlKSB7IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgYXBwbGVQ
YXlCdXR0b25UeXBlLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4odHlwZSkpOyB9CiAjZW5kaWYKIAot
ICAgIC8vIFN1cHBvcnQgZm9yIHBhaW50LW9yZGVyLCBzdHJva2UtbGluZWNhcCwgYW5kIHN0cm9r
ZS1saW5lam9pbiBmcm9tIGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL3BhaW50Ly4KKyAgICAvLyBT
dXBwb3J0IGZvciBwYWludC1vcmRlciwgc3Ryb2tlLWxpbmVjYXAsIHN0cm9rZS1saW5lam9pbiwg
YW5kIHN0cm9rZS1taXRlcmxpbWl0IGZyb20gaHR0cHM6Ly9kcmFmdHMuZnh0Zi5vcmcvcGFpbnQv
LgogICAgIHZvaWQgc2V0UGFpbnRPcmRlcihQYWludE9yZGVyIG9yZGVyKSB7IFNFVF9WQVIobV9y
YXJlSW5oZXJpdGVkRGF0YSwgcGFpbnRPcmRlciwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG9yZGVy
KSk7IH0KICAgICBQYWludE9yZGVyIHBhaW50T3JkZXIoKSBjb25zdCB7IHJldHVybiBzdGF0aWNf
Y2FzdDxQYWludE9yZGVyPihtX3JhcmVJbmhlcml0ZWREYXRhLT5wYWludE9yZGVyKTsgfQogICAg
IHN0YXRpYyBQYWludE9yZGVyIGluaXRpYWxQYWludE9yZGVyKCkgeyByZXR1cm4gUGFpbnRPcmRl
cjo6Tm9ybWFsOyB9CkBAIC0xMjY4LDcgKzEyNjgsMTEgQEAgcHVibGljOgogICAgIGJvb2wgaGFz
RXhwbGljaXRseVNldFN0cm9rZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlSW5oZXJpdGVk
RGF0YS0+aGFzU2V0U3Ryb2tlV2lkdGg7IH07CiAgICAgYm9vbCBoYXNQb3NpdGl2ZVN0cm9rZVdp
ZHRoKCkgY29uc3Q7CiAgICAgCi0gICAgCisgICAgZmxvYXQgc3Ryb2tlTWl0ZXJMaW1pdCgpIGNv
bnN0IHsgcmV0dXJuIG1fcmFyZUluaGVyaXRlZERhdGEtPm1pdGVyTGltaXQ7IH0KKyAgICB2b2lk
IHNldFN0cm9rZU1pdGVyTGltaXQoZmxvYXQgZikgeyBTRVRfVkFSKG1fcmFyZUluaGVyaXRlZERh
dGEsIG1pdGVyTGltaXQsIGYpOyB9CisgICAgc3RhdGljIGZsb2F0IGluaXRpYWxTdHJva2VNaXRl
ckxpbWl0KCkgeyByZXR1cm4gZGVmYXVsdE1pdGVyTGltaXQ7IH0KKworCiAgICAgY29uc3QgU1ZH
UmVuZGVyU3R5bGUmIHN2Z1N0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9zdmdTdHlsZTsgfQogICAg
IFNWR1JlbmRlclN0eWxlJiBhY2Nlc3NTVkdTdHlsZSgpIHsgcmV0dXJuIG1fc3ZnU3R5bGUuYWNj
ZXNzKCk7IH0KIApAQCAtMTI4Nyw4ICsxMjkxLDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U3Ry
b2tlRGFzaEFycmF5KFZlY3RvcjxTVkdMZW5ndGhWYWx1ZT4gYXJyYXkpIHsgYWNjZXNzU1ZHU3R5
bGUoKS5zZXRTdHJva2VEYXNoQXJyYXkoYXJyYXkpOyB9CiAgICAgY29uc3QgTGVuZ3RoJiBzdHJv
a2VEYXNoT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gc3ZnU3R5bGUoKS5zdHJva2VEYXNoT2Zmc2V0
KCk7IH0KICAgICB2b2lkIHNldFN0cm9rZURhc2hPZmZzZXQoTGVuZ3RoJiYgZCkgeyBhY2Nlc3NT
VkdTdHlsZSgpLnNldFN0cm9rZURhc2hPZmZzZXQoV1RGTW92ZShkKSk7IH0KLSAgICBmbG9hdCBz
dHJva2VNaXRlckxpbWl0KCkgY29uc3QgeyByZXR1cm4gc3ZnU3R5bGUoKS5zdHJva2VNaXRlckxp
bWl0KCk7IH0KLSAgICB2b2lkIHNldFN0cm9rZU1pdGVyTGltaXQoZmxvYXQgZikgeyBhY2Nlc3NT
VkdTdHlsZSgpLnNldFN0cm9rZU1pdGVyTGltaXQoZik7IH0KIAogICAgIGNvbnN0IExlbmd0aCYg
Y3goKSBjb25zdCB7IHJldHVybiBzdmdTdHlsZSgpLmN4KCk7IH0KICAgICB2b2lkIHNldEN4KExl
bmd0aCYmIGN4KSB7IGFjY2Vzc1NWR1N0eWxlKCkuc2V0Q3goV1RGTW92ZShjeCkpOyB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZUNvbnN0YW50cy5jcHAJKHJldmlzaW9uIDIxNDc0NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEw
MSw0ICsxMDEsNiBAQCBib29sIGFsd2F5c1BhZ2VCcmVhayhCcmVha0JldHdlZW4gYmV0d2VlCiAg
ICAgcmV0dXJuIGJldHdlZW4gPj0gUGFnZUJyZWFrQmV0d2VlbjsKIH0KIAorY29uc3QgZmxvYXQg
ZGVmYXVsdE1pdGVyTGltaXQgPSA0OworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25z
dGFudHMuaAkocmV2aXNpb24gMjE0NzQ3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTc0Myw0ICs3NDMs
NiBAQCBlbnVtIGNsYXNzIFBhaW50VHlwZSB7CiAgICAgTWFya2VycwogfTsKIAorZXh0ZXJuIGNv
bnN0IGZsb2F0IGRlZmF1bHRNaXRlckxpbWl0OworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHls
ZS5jcHAJKHJldmlzaW9uIDIxNDc0NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TVkdSZW5kZXJTdHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4OCw3ICsxODgsNiBAQCBT
dHlsZURpZmZlcmVuY2UgU1ZHUmVuZGVyU3R5bGU6OmRpZmYoY29uCiAgICAgICAgIGlmIChtX3N0
cm9rZURhdGEtPnBhaW50VHlwZSAhPSBvdGhlci5tX3N0cm9rZURhdGEtPnBhaW50VHlwZQogICAg
ICAgICAgICAgfHwgbV9zdHJva2VEYXRhLT5wYWludENvbG9yICE9IG90aGVyLm1fc3Ryb2tlRGF0
YS0+cGFpbnRDb2xvcgogICAgICAgICAgICAgfHwgbV9zdHJva2VEYXRhLT5wYWludFVyaSAhPSBv
dGhlci5tX3N0cm9rZURhdGEtPnBhaW50VXJpCi0gICAgICAgICAgICB8fCBtX3N0cm9rZURhdGEt
Pm1pdGVyTGltaXQgIT0gb3RoZXIubV9zdHJva2VEYXRhLT5taXRlckxpbWl0CiAgICAgICAgICAg
ICB8fCBtX3N0cm9rZURhdGEtPmRhc2hBcnJheSAhPSBvdGhlci5tX3N0cm9rZURhdGEtPmRhc2hB
cnJheQogICAgICAgICAgICAgfHwgbV9zdHJva2VEYXRhLT5kYXNoT2Zmc2V0ICE9IG90aGVyLm1f
c3Ryb2tlRGF0YS0+ZGFzaE9mZnNldAogICAgICAgICAgICAgfHwgbV9zdHJva2VEYXRhLT52aXNp
dGVkTGlua1BhaW50Q29sb3IgIT0gb3RoZXIubV9zdHJva2VEYXRhLT52aXNpdGVkTGlua1BhaW50
Q29sb3IKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHls
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5k
ZXJTdHlsZS5oCShyZXZpc2lvbiAyMTQ3NDcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU1ZHUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtNzEsNyArNzEsNiBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIENvbG9yIGluaXRpYWxTdHJva2VQYWludENvbG9yKCkgeyByZXR1
cm4gQ29sb3IoKTsgfQogICAgIHN0YXRpYyBTdHJpbmcgaW5pdGlhbFN0cm9rZVBhaW50VXJpKCkg
eyByZXR1cm4gU3RyaW5nKCk7IH0KICAgICBzdGF0aWMgVmVjdG9yPFNWR0xlbmd0aFZhbHVlPiBp
bml0aWFsU3Ryb2tlRGFzaEFycmF5KCkgeyByZXR1cm4geyB9OyB9Ci0gICAgc3RhdGljIGZsb2F0
IGluaXRpYWxTdHJva2VNaXRlckxpbWl0KCkgeyByZXR1cm4gNDsgfQogICAgIHN0YXRpYyBmbG9h
dCBpbml0aWFsU3RvcE9wYWNpdHkoKSB7IHJldHVybiAxOyB9CiAgICAgc3RhdGljIENvbG9yIGlu
aXRpYWxTdG9wQ29sb3IoKSB7IHJldHVybiBDb2xvcigwLCAwLCAwKTsgfQogICAgIHN0YXRpYyBm
bG9hdCBpbml0aWFsRmxvb2RPcGFjaXR5KCkgeyByZXR1cm4gMTsgfQpAQCAtMTE2LDcgKzExNSw2
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFN0cm9rZVBhaW50KFNWR1BhaW50VHlwZSwgY29uc3Qg
Q29sb3ImLCBjb25zdCBTdHJpbmcmIHVyaSwgYm9vbCBhcHBseVRvUmVndWxhclN0eWxlID0gdHJ1
ZSwgYm9vbCBhcHBseVRvVmlzaXRlZExpbmtTdHlsZSA9IGZhbHNlKTsKIAogICAgIHZvaWQgc2V0
U3Ryb2tlRGFzaEFycmF5KGNvbnN0IFZlY3RvcjxTVkdMZW5ndGhWYWx1ZT4mKTsKLSAgICB2b2lk
IHNldFN0cm9rZU1pdGVyTGltaXQoZmxvYXQpOwogICAgIHZvaWQgc2V0U3Ryb2tlRGFzaE9mZnNl
dChjb25zdCBMZW5ndGgmKTsKICAgICB2b2lkIHNldEtlcm5pbmcoY29uc3QgU1ZHTGVuZ3RoVmFs
dWUmKTsKICAgICB2b2lkIHNldFN0b3BPcGFjaXR5KGZsb2F0KTsKQEAgLTE2MSw3ICsxNTksNiBA
QCBwdWJsaWM6CiAgICAgY29uc3QgQ29sb3ImIHN0cm9rZVBhaW50Q29sb3IoKSBjb25zdCB7IHJl
dHVybiBtX3N0cm9rZURhdGEtPnBhaW50Q29sb3I7IH0KICAgICBjb25zdCBTdHJpbmcmIHN0cm9r
ZVBhaW50VXJpKCkgY29uc3QgeyByZXR1cm4gbV9zdHJva2VEYXRhLT5wYWludFVyaTsgfQogICAg
IFZlY3RvcjxTVkdMZW5ndGhWYWx1ZT4gc3Ryb2tlRGFzaEFycmF5KCkgY29uc3QgeyByZXR1cm4g
bV9zdHJva2VEYXRhLT5kYXNoQXJyYXk7IH0KLSAgICBmbG9hdCBzdHJva2VNaXRlckxpbWl0KCkg
Y29uc3QgeyByZXR1cm4gbV9zdHJva2VEYXRhLT5taXRlckxpbWl0OyB9CiAgICAgY29uc3QgTGVu
Z3RoJiBzdHJva2VEYXNoT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9zdHJva2VEYXRhLT5kYXNo
T2Zmc2V0OyB9CiAgICAgU1ZHTGVuZ3RoVmFsdWUga2VybmluZygpIGNvbnN0IHsgcmV0dXJuIG1f
dGV4dERhdGEtPmtlcm5pbmc7IH0KICAgICBmbG9hdCBzdG9wT3BhY2l0eSgpIGNvbnN0IHsgcmV0
dXJuIG1fc3RvcERhdGEtPm9wYWNpdHk7IH0KQEAgLTM3NCwxMiArMzcxLDYgQEAgaW5saW5lIHZv
aWQgU1ZHUmVuZGVyU3R5bGU6OnNldFN0cm9rZURhcwogICAgICAgICBtX3N0cm9rZURhdGEuYWNj
ZXNzKCkuZGFzaEFycmF5ID0gYXJyYXk7CiB9CiAKLWlubGluZSB2b2lkIFNWR1JlbmRlclN0eWxl
OjpzZXRTdHJva2VNaXRlckxpbWl0KGZsb2F0IGxpbWl0KQotewotICAgIGlmICghKG1fc3Ryb2tl
RGF0YS0+bWl0ZXJMaW1pdCA9PSBsaW1pdCkpCi0gICAgICAgIG1fc3Ryb2tlRGF0YS5hY2Nlc3Mo
KS5taXRlckxpbWl0ID0gbGltaXQ7Ci19Ci0KIGlubGluZSB2b2lkIFNWR1JlbmRlclN0eWxlOjpz
ZXRTdHJva2VEYXNoT2Zmc2V0KGNvbnN0IExlbmd0aCYgb2Zmc2V0KQogewogICAgIGlmICghKG1f
c3Ryb2tlRGF0YS0+ZGFzaE9mZnNldCA9PSBvZmZzZXQpKQpJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5jcHAJKHJldmlz
aW9uIDIxNDc0NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJT
dHlsZURlZnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Niw3ICs3Niw2IEBAIGJvb2wgU3R5bGVG
aWxsRGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHkKIAogU3R5bGVTdHJva2VEYXRhOjpTdHlsZVN0
cm9rZURhdGEoKQogICAgIDogb3BhY2l0eShTVkdSZW5kZXJTdHlsZTo6aW5pdGlhbFN0cm9rZU9w
YWNpdHkoKSkKLSAgICAsIG1pdGVyTGltaXQoU1ZHUmVuZGVyU3R5bGU6OmluaXRpYWxTdHJva2VN
aXRlckxpbWl0KCkpCiAgICAgLCBkYXNoT2Zmc2V0KFJlbmRlclN0eWxlOjppbml0aWFsWmVyb0xl
bmd0aCgpKQogICAgICwgZGFzaEFycmF5KFNWR1JlbmRlclN0eWxlOjppbml0aWFsU3Ryb2tlRGFz
aEFycmF5KCkpCiAgICAgLCBwYWludFR5cGUoU1ZHUmVuZGVyU3R5bGU6OmluaXRpYWxTdHJva2VQ
YWludFR5cGUoKSkKQEAgLTkxLDcgKzkwLDYgQEAgU3R5bGVTdHJva2VEYXRhOjpTdHlsZVN0cm9r
ZURhdGEoKQogaW5saW5lIFN0eWxlU3Ryb2tlRGF0YTo6U3R5bGVTdHJva2VEYXRhKGNvbnN0IFN0
eWxlU3Ryb2tlRGF0YSYgb3RoZXIpCiAgICAgOiBSZWZDb3VudGVkPFN0eWxlU3Ryb2tlRGF0YT4o
KQogICAgICwgb3BhY2l0eShvdGhlci5vcGFjaXR5KQotICAgICwgbWl0ZXJMaW1pdChvdGhlci5t
aXRlckxpbWl0KQogICAgICwgZGFzaE9mZnNldChvdGhlci5kYXNoT2Zmc2V0KQogICAgICwgZGFz
aEFycmF5KG90aGVyLmRhc2hBcnJheSkKICAgICAsIHBhaW50VHlwZShvdGhlci5wYWludFR5cGUp
CkBAIC0xMTEsNyArMTA5LDYgQEAgUmVmPFN0eWxlU3Ryb2tlRGF0YT4gU3R5bGVTdHJva2VEYXRh
OjpjbwogYm9vbCBTdHlsZVN0cm9rZURhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVTdHJva2VE
YXRhJiBvdGhlcikgY29uc3QKIHsKICAgICByZXR1cm4gb3BhY2l0eSA9PSBvdGhlci5vcGFjaXR5
Ci0gICAgICAgICYmIG1pdGVyTGltaXQgPT0gb3RoZXIubWl0ZXJMaW1pdAogICAgICAgICAmJiBk
YXNoT2Zmc2V0ID09IG90aGVyLmRhc2hPZmZzZXQKICAgICAgICAgJiYgZGFzaEFycmF5ID09IG90
aGVyLmRhc2hBcnJheQogICAgICAgICAmJiBwYWludFR5cGUgPT0gb3RoZXIucGFpbnRUeXBlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0
eWxlRGVmcy5oCShyZXZpc2lvbiAyMTQ3NDcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNyw3ICsxMzcs
NiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIH0KIAogICAgICAgICBmbG9hdCBvcGFj
aXR5OwotICAgICAgICBmbG9hdCBtaXRlckxpbWl0OwogCiAgICAgICAgIExlbmd0aCBkYXNoT2Zm
c2V0OwogICAgICAgICBWZWN0b3I8U1ZHTGVuZ3RoVmFsdWU+IGRhc2hBcnJheTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YS5jcHAJKHJldmlzaW9uIDIxNDc0NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTMwLDYgKzEzMCw3IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXQK
ICAgICAsIGpvaW5TdHlsZShSZW5kZXJTdHlsZTo6aW5pdGlhbEpvaW5TdHlsZSgpKQogICAgICwg
aGFzU2V0U3Ryb2tlV2lkdGgoZmFsc2UpCiAgICAgLCBzdHJva2VXaWR0aChSZW5kZXJTdHlsZTo6
aW5pdGlhbE9uZUxlbmd0aCgpKQorICAgICwgbWl0ZXJMaW1pdChSZW5kZXJTdHlsZTo6aW5pdGlh
bFN0cm9rZU1pdGVyTGltaXQoKSkKICAgICAsIGh5cGhlbmF0aW9uTGltaXRCZWZvcmUoLTEpCiAg
ICAgLCBoeXBoZW5hdGlvbkxpbWl0QWZ0ZXIoLTEpCiAgICAgLCBoeXBoZW5hdGlvbkxpbWl0TGlu
ZXMoLTEpCkBAIC0yMTcsNiArMjE4LDcgQEAgaW5saW5lIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6
OlN0eWxlUmFyZQogICAgICwgam9pblN0eWxlKG8uam9pblN0eWxlKQogICAgICwgaGFzU2V0U3Ry
b2tlV2lkdGgoby5oYXNTZXRTdHJva2VXaWR0aCkKICAgICAsIHN0cm9rZVdpZHRoKG8uc3Ryb2tl
V2lkdGgpCisgICAgLCBtaXRlckxpbWl0KG8ubWl0ZXJMaW1pdCkKICAgICAsIGh5cGhlbmF0aW9u
U3RyaW5nKG8uaHlwaGVuYXRpb25TdHJpbmcpCiAgICAgLCBoeXBoZW5hdGlvbkxpbWl0QmVmb3Jl
KG8uaHlwaGVuYXRpb25MaW1pdEJlZm9yZSkKICAgICAsIGh5cGhlbmF0aW9uTGltaXRBZnRlcihv
Lmh5cGhlbmF0aW9uTGltaXRBZnRlcikKQEAgLTMyOCw2ICszMzAsNyBAQCBib29sIFN0eWxlUmFy
ZUluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0oCiAgICAgICAgICYmIGpvaW5TdHlsZSA9PSBvLmpv
aW5TdHlsZQogICAgICAgICAmJiBoYXNTZXRTdHJva2VXaWR0aCA9PSBvLmhhc1NldFN0cm9rZVdp
ZHRoCiAgICAgICAgICYmIHN0cm9rZVdpZHRoID09IG8uc3Ryb2tlV2lkdGgKKyAgICAgICAgJiYg
bWl0ZXJMaW1pdCA9PSBvLm1pdGVyTGltaXQKICAgICAgICAgJiYgY3VzdG9tUHJvcGVydGllcyA9
PSBvLmN1c3RvbVByb3BlcnRpZXMKICAgICAgICAgJiYgYXJlUG9pbnRpbmdUb0VxdWFsRGF0YShs
aXN0U3R5bGVJbWFnZSwgby5saXN0U3R5bGVJbWFnZSk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgJ
KHJldmlzaW9uIDIxNDc0NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVJbmhlcml0ZWREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0MSw2ICsxNDEsNyBAQCBw
dWJsaWM6CiAgICAgdW5zaWduZWQgam9pblN0eWxlIDogMjsgLy8gTGluZUpvaW4KICAgICB1bnNp
Z25lZCBoYXNTZXRTdHJva2VXaWR0aCA6IDE7CiAgICAgTGVuZ3RoIHN0cm9rZVdpZHRoOyAgICAK
KyAgICBmbG9hdCBtaXRlckxpbWl0OwogCiAgICAgQXRvbWljU3RyaW5nIGh5cGhlbmF0aW9uU3Ry
aW5nOwogICAgIHNob3J0IGh5cGhlbmF0aW9uTGltaXRCZWZvcmU7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1NoYXBlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1NoYXBlLmNwcAkocmV2aXNpb24gMjE0
NzQ3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdTaGFwZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ0NSw3ICs0NDUsNyBAQCBib29sIFJlbmRlclNWR1NoYXBlOjpo
YXNTbW9vdGhTdHJva2UoKSBjCiB7CiAgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUmIHN2Z1N0eWxl
ID0gc3R5bGUoKS5zdmdTdHlsZSgpOwogICAgIHJldHVybiBzdmdTdHlsZS5zdHJva2VEYXNoQXJy
YXkoKS5pc0VtcHR5KCkKLSAgICAgICAgJiYgc3ZnU3R5bGUuc3Ryb2tlTWl0ZXJMaW1pdCgpID09
IHN2Z1N0eWxlLmluaXRpYWxTdHJva2VNaXRlckxpbWl0KCkKKyAgICAgICAgJiYgc3R5bGUoKS5z
dHJva2VNaXRlckxpbWl0KCkgPT0gc3R5bGUoKS5pbml0aWFsU3Ryb2tlTWl0ZXJMaW1pdCgpCiAg
ICAgICAgICYmIHN0eWxlKCkuam9pblN0eWxlKCkgPT0gc3R5bGUoKS5pbml0aWFsSm9pblN0eWxl
KCkKICAgICAgICAgJiYgc3R5bGUoKS5jYXBTdHlsZSgpID09IHN0eWxlKCkuaW5pdGlhbENhcFN0
eWxlKCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclN1
cHBvcnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
UmVuZGVyU3VwcG9ydC5jcHAJKHJldmlzaW9uIDIxNDc0NykKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzMSw3
ICs0MzEsNyBAQCB2b2lkIFNWR1JlbmRlclN1cHBvcnQ6OmFwcGx5U3Ryb2tlU3R5bGVUCiAgICAg
Y29udGV4dC0+c2V0TGluZUNhcChzdHlsZS5jYXBTdHlsZSgpKTsKICAgICBjb250ZXh0LT5zZXRM
aW5lSm9pbihzdHlsZS5qb2luU3R5bGUoKSk7CiAgICAgaWYgKHN0eWxlLmpvaW5TdHlsZSgpID09
IE1pdGVySm9pbikKLSAgICAgICAgY29udGV4dC0+c2V0TWl0ZXJMaW1pdChzdmdTdHlsZS5zdHJv
a2VNaXRlckxpbWl0KCkpOworICAgICAgICBjb250ZXh0LT5zZXRNaXRlckxpbWl0KHN0eWxlLnN0
cm9rZU1pdGVyTGltaXQoKSk7CiAKICAgICBjb25zdCBWZWN0b3I8U1ZHTGVuZ3RoVmFsdWU+JiBk
YXNoZXMgPSBzdmdTdHlsZS5zdHJva2VEYXNoQXJyYXkoKTsKICAgICBpZiAoZGFzaGVzLmlzRW1w
dHkoKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFz
VGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdS
ZW5kZXJUcmVlQXNUZXh0LmNwcAkocmV2aXNpb24gMjE0NzQ3KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTk2LDcgKzE5Niw3IEBAIHN0YXRpYyB2b2lkIHdyaXRlU3R5bGUoVGV4dFN0cmVhbSYgdHMsIGMK
IAogICAgICAgICAgICAgd3JpdGVJZk5vdERlZmF1bHQodHMsICJvcGFjaXR5Iiwgc3ZnU3R5bGUu
c3Ryb2tlT3BhY2l0eSgpLCAxLjBmKTsKICAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRz
LCAic3Ryb2tlIHdpZHRoIiwgc3Ryb2tlV2lkdGgsIDEuMCk7Ci0gICAgICAgICAgICB3cml0ZUlm
Tm90RGVmYXVsdCh0cywgIm1pdGVyIGxpbWl0Iiwgc3ZnU3R5bGUuc3Ryb2tlTWl0ZXJMaW1pdCgp
LCA0LjBmKTsKKyAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAibWl0ZXIgbGltaXQi
LCBzdHlsZS5zdHJva2VNaXRlckxpbWl0KCksIDQuMGYpOwogICAgICAgICAgICAgd3JpdGVJZk5v
dERlZmF1bHQodHMsICJsaW5lIGNhcCIsIHN0eWxlLmNhcFN0eWxlKCksIEJ1dHRDYXApOwogICAg
ICAgICAgICAgd3JpdGVJZk5vdERlZmF1bHQodHMsICJsaW5lIGpvaW4iLCBzdHlsZS5qb2luU3R5
bGUoKSwgTWl0ZXJKb2luKTsKICAgICAgICAgICAgIHdyaXRlSWZOb3REZWZhdWx0KHRzLCAiZGFz
aCBvZmZzZXQiLCBkYXNoT2Zmc2V0LCAwLjApOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjE0NzQ3KQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTctMDQtMDMgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAg
ICAgIEltcGxlbWVudCBzdHJva2UtbWl0ZXJsaW1pdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTA3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3Mvc3Ryb2tlLW1pdGVybGltaXQtZGVm
YXVsdC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9zdHJva2UtbWl0
ZXJsaW1pdC1kZWZhdWx0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3N0cm9rZS1t
aXRlcmxpbWl0LWxhcmdlLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvY3NzL3N0cm9rZS1taXRlcmxpbWl0LWxhcmdlLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvY3NzL3N0cm9rZS1taXRlcmxpbWl0LXplcm8tZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9jc3Mvc3Ryb2tlLW1pdGVybGltaXQtemVyby5odG1sOiBB
ZGRlZC4KKwogMjAxNy0wNC0wMiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdmUgYWNjaWRlbnRhbGx5IGFkZGVkIER1bXBKU0NvbnNvbGVMb2dJblN0
ZEVyciBmcm9tIGh0dHAvdGVzdHMvZmV0Y2gvZmV0Y2gtaW4td29ya2VyLWNyYXNoLmh0bWwgZXhw
ZWN0YXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1pdC1k
ZWZhdWx0LWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
c3Ryb2tlLW1pdGVybGltaXQtZGVmYXVsdC1leHBlY3RlZC5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2Zhc3QvY3NzL3N0cm9rZS1taXRlcmxpbWl0LWRlZmF1bHQtZXhwZWN0ZWQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIyIEBACis8IURPQ1RZUEUgaHRtbD4KKwor
PGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIGRpdiB7CisgICAgICAgICAgICBm
b250LXNpemU6IDIwMHB4OworICAgICAgICAgICAgY29sb3I6IGdyYXk7CisgICAgICAgIH0KKwor
ICAgICAgICAudGVzdC1zdHJva2UgeworICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7Cisg
ICAgICAgICAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAzMHB4IHJlZDsKKyAgICAgICAgfQorICAg
IDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBjbGFzcz0idGVzdC1zdHJva2UiPk1p
dGVyPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3Nz
L3N0cm9rZS1taXRlcmxpbWl0LWRlZmF1bHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1pdC1kZWZhdWx0Lmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3Ryb2tlLW1pdGVybGltaXQtZGVmYXVsdC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4K
KzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgZGl2IHsKKyAgICAgICAgICAgIGZvbnQtc2l6
ZTogMjAwcHg7CisgICAgICAgICAgICBjb2xvcjogZ3JheTsKKyAgICAgICAgfQorCisgICAgICAg
IC50ZXN0LXN0cm9rZSB7CisgICAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTsKKyAgICAgICAg
ICAgIC13ZWJraXQtdGV4dC1zdHJva2U6IDMwcHggcmVkOworICAgICAgICB9CisgICAgPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IGNsYXNzPSJ0ZXN0LXN0cm9rZSIgc3R5bGU9InN0
cm9rZS1taXRlcmxpbWl0OiA0OyI+TWl0ZXI8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3Ryb2tlLW1pdGVybGltaXQtbGFyZ2UtZXhwZWN0ZWQt
bWlzbWF0Y2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHJva2Ut
bWl0ZXJsaW1pdC1sYXJnZS1leHBlY3RlZC1taXNtYXRjaC5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2Zhc3QvY3NzL3N0cm9rZS1taXRlcmxpbWl0LWxhcmdlLWV4cGVjdGVkLW1p
c21hdGNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0
bWw+CisKKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICBkaXYgeworICAgICAg
ICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICAgICAgZm9udC1zaXplOiAyMDBweDsK
KyAgICAgICAgICAgIGNvbG9yOiBncmF5OworICAgICAgICB9CisKKyAgICAgICAgLnRlc3Qtc3Ry
b2tlIHsKKyAgICAgICAgICAgIHRleHQtc2hhZG93OiBub25lOworICAgICAgICAgICAgLXdlYmtp
dC10ZXh0LXN0cm9rZTogMzBweCByZWQ7CisgICAgICAgIH0KKyAgICAKKyAgICAgICAgLm9ic2N1
cmVyIHsKKyAgICAgICAgICAgIHdpZHRoOiA2MDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMjAw
cHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgICB9CisgICAg
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IGNsYXNzPSJ0ZXN0LXN0cm9rZSIgc3R5
bGU9InN0cm9rZS1taXRlcmxpbWl0OiA0OyI+TWl0ZXI8L2Rpdj4KKzxkaXYgY2xhc3M9Im9ic2N1
cmVyIiBzdHlsZT0ibGVmdDogMHB4OyB0b3A6IDIwcHg7Ij48L2Rpdj4KKworPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3Ryb2tlLW1pdGVybGltaXQtbGFyZ2Uu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1p
dC1sYXJnZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3N0cm9r
ZS1taXRlcmxpbWl0LWxhcmdlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMCBAQAor
PCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICBk
aXYgeworICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICAgICAgZm9udC1z
aXplOiAyMDBweDsKKyAgICAgICAgICAgIGNvbG9yOiBncmF5OworICAgICAgICB9CisKKyAgICAg
ICAgLnRlc3Qtc3Ryb2tlIHsKKyAgICAgICAgICAgIHRleHQtc2hhZG93OiBub25lOworICAgICAg
ICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMzBweCByZWQ7CisgICAgICAgIH0KKyAgICAKKyAg
ICAgICAgLm9ic2N1cmVyIHsKKyAgICAgICAgICAgIHdpZHRoOiA2MDBweDsKKyAgICAgICAgICAg
IGhlaWdodDogMjAwcHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAg
ICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IGNsYXNzPSJ0ZXN0
LXN0cm9rZSIgc3R5bGU9InN0cm9rZS1taXRlcmxpbWl0OiAxMDsiPk1pdGVyPC9kaXY+Cis8ZGl2
IGNsYXNzPSJvYnNjdXJlciIgc3R5bGU9ImxlZnQ6IDBweDsgdG9wOiAyMHB4OyI+PC9kaXY+CisK
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3N0cm9rZS1taXRl
cmxpbWl0LXplcm8tZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1pdC16ZXJvLWV4cGVjdGVkLW1pc21hdGNoLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3Ryb2tlLW1pdGVybGlt
aXQtemVyby1leHBlY3RlZC1taXNtYXRjaC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MjIgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAg
ICAgICAgZGl2IHsKKyAgICAgICAgICAgIGZvbnQtc2l6ZTogMjAwcHg7CisgICAgICAgICAgICBj
b2xvcjogZ3JheTsKKyAgICAgICAgfQorCisgICAgICAgIC50ZXN0LXN0cm9rZSB7CisgICAgICAg
ICAgICB0ZXh0LXNoYWRvdzogbm9uZTsKKyAgICAgICAgICAgIC13ZWJraXQtdGV4dC1zdHJva2U6
IDMwcHggcmVkOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8
ZGl2IGNsYXNzPSJ0ZXN0LXN0cm9rZSIgc3R5bGU9InN0cm9rZS1taXRlcmxpbWl0OiA0OyI+TWl0
ZXI8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
c3Ryb2tlLW1pdGVybGltaXQtemVyby5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvY3NzL3N0cm9rZS1taXRlcmxpbWl0LXplcm8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2Nzcy9zdHJva2UtbWl0ZXJsaW1pdC16ZXJvLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+Cisg
ICAgPHN0eWxlPgorICAgICAgICBkaXYgeworICAgICAgICAgICAgZm9udC1zaXplOiAyMDBweDsK
KyAgICAgICAgICAgIGNvbG9yOiBncmF5OworICAgICAgICB9CisKKyAgICAgICAgLnRlc3Qtc3Ry
b2tlIHsKKyAgICAgICAgICAgIHRleHQtc2hhZG93OiBub25lOworICAgICAgICAgICAgLXdlYmtp
dC10ZXh0LXN0cm9rZTogMzBweCByZWQ7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+CisKKzxkaXYgY2xhc3M9InRlc3Qtc3Ryb2tlIiBzdHlsZT0ic3Ryb2tlLW1pdGVy
bGltaXQ6IDA7Ij5NaXRlcjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>