<?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>164015</bug_id>
          
          <creation_ts>2016-10-26 08:10:04 -0700</creation_ts>
          <short_desc>MediaPayload does not need to be refcounted</short_desc>
          <delta_ts>2016-10-27 00:34:09 -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>WebCore Misc.</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>adam.bergkvist</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1244791</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-26 08:10:04 -0700</bug_when>
    <thetext>MediaPayload does not need to be refcounted</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244792</commentid>
    <comment_count>1</comment_count>
      <attachid>292928</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-26 08:12:20 -0700</bug_when>
    <thetext>Created attachment 292928
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244796</commentid>
    <comment_count>2</comment_count>
      <attachid>292929</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-26 08:33:22 -0700</bug_when>
    <thetext>Created attachment 292929
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245047</commentid>
    <comment_count>3</comment_count>
      <attachid>292929</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-27 00:34:05 -0700</bug_when>
    <thetext>Comment on attachment 292929
Patch

Clearing flags on attachment: 292929

Committed r207952: &lt;http://trac.webkit.org/changeset/207952&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245048</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-27 00:34:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292928</attachid>
            <date>2016-10-26 08:12:20 -0700</date>
            <delta_ts>2016-10-26 08:33:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164015-20161026170831.patch</filename>
            <type>text/plain</type>
            <size>24545</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3ODk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjQyM2Y5YTNhN2NhZTM4
YzJlNjg4MzExNjViNWI1MDA3OGUyNWVmYS4uMzhlNTFkNDZhNjEyOGY5NzI4NTJhMjcxZmU1NjQy
N2NiZTA0YTcwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE2LTEwLTI2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBheWxvYWQgZG9l
cyBub3QgbmVlZCB0byBiZSByZWZjb3VudGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQwMTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBObyBjaGFuZ2Ugb2YgYmVoYXZpb3IuCisgICAgICAgIE1ha2lu
ZyBNZWRpYVBheWxvYWQgYSBzdHJ1Y3QgYW5kIG5vLWxvbmdlciByZWYtY291bnRlZC4KKworICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmg6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9TRFBQcm9jZXNzb3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y29uZmlndXJhdGlvbkZyb21KU09OKToKKyAgICAgICAgKFdlYkNvcmU6OmNv
bmZpZ3VyYXRpb25Ub0pTT04pOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlh
RW5kcG9pbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVBheWxvYWQu
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGF5bG9hZDo6YWRkUGFyYW1ldGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGF5bG9hZDo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGF5bG9hZDo6fk1lZGlhUGF5bG9hZCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBheWxvYWQ6OnR5cGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFQYXlsb2FkOjpzZXRUeXBlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGF5bG9hZDo6ZW5jb2RpbmdOYW1lKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGF5bG9hZDo6c2V0RW5jb2RpbmdOYW1lKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGF5bG9hZDo6Y2xvY2tSYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGF5bG9hZDo6c2V0Q2xvY2tSYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGF5bG9hZDo6Y2hhbm5lbHMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQYXls
b2FkOjpzZXRDaGFubmVscyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBheWxv
YWQ6OmNjbWZpcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBheWxvYWQ6OnNl
dENjbWZpcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBheWxvYWQ6Om5hY2tw
bGkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQYXlsb2FkOjpzZXROYWNrcGxp
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGF5bG9hZDo6bmFjayk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBheWxvYWQ6OnNldE5hY2spOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQYXlsb2FkOjpwYXJhbWV0ZXJzKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGF5bG9hZDo6Y2xvbmUpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQYXlsb2FkOjpNZWRpYVBheWxvYWQpOiBEZWxldGVkLgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL1BlZXJNZWRpYURlc2NyaXB0aW9uLmg6CisgICAgICAgIChX
ZWJDb3JlOjpQZWVyTWVkaWFEZXNjcmlwdGlvbjo6cGF5bG9hZHMpOgorICAgICAgICAoV2ViQ29y
ZTo6UGVlck1lZGlhRGVzY3JpcHRpb246OmFkZFBheWxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6
UGVlck1lZGlhRGVzY3JpcHRpb246OnNldFBheWxvYWRzKToKKyAgICAgICAgKFdlYkNvcmU6OlBl
ZXJNZWRpYURlc2NyaXB0aW9uOjpjbG9uZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJl
YW0vb3BlbndlYnJ0Yy9NZWRpYUVuZHBvaW50T3dyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhRW5kcG9pbnRPd3I6OmdldERlZmF1bHRBdWRpb1BheWxvYWRzKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhRW5kcG9pbnRPd3I6OmdldERlZmF1bHRWaWRlb1BheWxvYWRzKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhRW5kcG9pbnRPd3I6OmZpbHRlclBheWxvYWRzKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tNZWRpYUVuZHBvaW50OjpnZXREZWZhdWx0QXVkaW9QYXlsb2Fkcyk6CisgICAgICAgIChXZWJD
b3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6Z2V0RGVmYXVsdFZpZGVvUGF5bG9hZHMpOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmZpbHRlclBheWxvYWRzKToKKwogMjAxNi0x
MC0yNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubmZAZ21haWwuY29tPgogCiAgICAgICAgIEljZUNh
bmRpZGF0ZSBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlZmNvdW50ZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVy
Q29ubmVjdGlvbi5oCmluZGV4IGQyYWQzZWRlYjYxNTkxM2QwYjNkN2NhNmUwMDY1ODE2NmMyYzgx
OWYuLjAxM2QzNWUyZWY2MWMyOGM1YWM5YzZlODhmOWEzZGU1Y2I2MDczN2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFBlZXJDb25u
ZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVu
ZHBvaW50UGVlckNvbm5lY3Rpb24uaApAQCAtMTE5LDggKzExOSw4IEBAIHByaXZhdGU6CiAKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8U0RQUHJvY2Vzc29yPiBtX3NkcFByb2Nlc3NvcjsKIAotICAgIFZl
Y3RvcjxSZWZQdHI8TWVkaWFQYXlsb2FkPj4gbV9kZWZhdWx0QXVkaW9QYXlsb2FkczsKLSAgICBW
ZWN0b3I8UmVmUHRyPE1lZGlhUGF5bG9hZD4+IG1fZGVmYXVsdFZpZGVvUGF5bG9hZHM7CisgICAg
VmVjdG9yPE1lZGlhUGF5bG9hZD4gbV9kZWZhdWx0QXVkaW9QYXlsb2FkczsKKyAgICBWZWN0b3I8
TWVkaWFQYXlsb2FkPiBtX2RlZmF1bHRWaWRlb1BheWxvYWRzOwogCiAgICAgU3RyaW5nIG1fY25h
bWU7CiAgICAgU3RyaW5nIG1faWNlVWZyYWc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1NEUFByb2Nlc3Nvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1NEUFByb2Nlc3Nvci5jcHAKaW5kZXggZTI1YmQzMDBkZDRkZDQ3MDYw
ZjgxN2ViY2Y0ZThmNzIxOGZmOTk3ZS4uZGIyYmQ1Mzc0YmYxN2JkZjA3ZGQxMGIzMzY0MzYyMzNm
NDRlZDFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9T
RFBQcm9jZXNzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
U0RQUHJvY2Vzc29yLmNwcApAQCAtMjIzLDM5ICsyMjMsMzkgQEAgc3RhdGljIFJlZlB0cjxNZWRp
YUVuZHBvaW50U2Vzc2lvbkNvbmZpZ3VyYXRpb24+IGNvbmZpZ3VyYXRpb25Gcm9tSlNPTihjb25z
dCBTdHIKICAgICAgICAgICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHBheWxvYWRzT2JqZWN0
ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKICAgICAgICAgICAgIHBheWxvYWRzQXJyYXkt
PmdldChqKS0+YXNPYmplY3QocGF5bG9hZHNPYmplY3QpOwogCi0gICAgICAgICAgICBSZWZQdHI8
TWVkaWFQYXlsb2FkPiBwYXlsb2FkID0gTWVkaWFQYXlsb2FkOjpjcmVhdGUoKTsKKyAgICAgICAg
ICAgIE1lZGlhUGF5bG9hZCBwYXlsb2FkOwogCiAgICAgICAgICAgICBpZiAocGF5bG9hZHNPYmpl
Y3QtPmdldEludGVnZXIodHlwZVN0cmluZygpLCBpbnRWYWx1ZSkpCi0gICAgICAgICAgICAgICAg
cGF5bG9hZC0+c2V0VHlwZShpbnRWYWx1ZSk7CisgICAgICAgICAgICAgICAgcGF5bG9hZC50eXBl
ID0gaW50VmFsdWU7CiAKICAgICAgICAgICAgIGlmIChwYXlsb2Fkc09iamVjdC0+Z2V0U3RyaW5n
KGVuY29kaW5nTmFtZVN0cmluZygpLCBzdHJpbmdWYWx1ZSkpCi0gICAgICAgICAgICAgICAgcGF5
bG9hZC0+c2V0RW5jb2RpbmdOYW1lKHN0cmluZ1ZhbHVlKTsKKyAgICAgICAgICAgICAgICBwYXls
b2FkLmVuY29kaW5nTmFtZSA9IHN0cmluZ1ZhbHVlOwogCiAgICAgICAgICAgICBpZiAocGF5bG9h
ZHNPYmplY3QtPmdldEludGVnZXIoY2xvY2tSYXRlU3RyaW5nKCksIGludFZhbHVlKSkKLSAgICAg
ICAgICAgICAgICBwYXlsb2FkLT5zZXRDbG9ja1JhdGUoaW50VmFsdWUpOworICAgICAgICAgICAg
ICAgIHBheWxvYWQuY2xvY2tSYXRlID0gaW50VmFsdWU7CiAKICAgICAgICAgICAgIGlmIChwYXls
b2Fkc09iamVjdC0+Z2V0SW50ZWdlcihjaGFubmVsc1N0cmluZygpLCBpbnRWYWx1ZSkpCi0gICAg
ICAgICAgICAgICAgcGF5bG9hZC0+c2V0Q2hhbm5lbHMoaW50VmFsdWUpOworICAgICAgICAgICAg
ICAgIHBheWxvYWQuY2hhbm5lbHMgPSBpbnRWYWx1ZTsKIAogICAgICAgICAgICAgaWYgKHBheWxv
YWRzT2JqZWN0LT5nZXRCb29sZWFuKGNjbWZpclN0cmluZygpLCBib29sVmFsdWUpKQotICAgICAg
ICAgICAgICAgIHBheWxvYWQtPnNldENjbWZpcihib29sVmFsdWUpOworICAgICAgICAgICAgICAg
IHBheWxvYWQuY2NtZmlyID0gYm9vbFZhbHVlOwogCiAgICAgICAgICAgICBpZiAocGF5bG9hZHNP
YmplY3QtPmdldEJvb2xlYW4obmFja3BsaVN0cmluZygpLCBib29sVmFsdWUpKQotICAgICAgICAg
ICAgICAgIHBheWxvYWQtPnNldE5hY2twbGkoYm9vbFZhbHVlKTsKKyAgICAgICAgICAgICAgICBw
YXlsb2FkLm5hY2twbGkgPSBib29sVmFsdWU7CiAKICAgICAgICAgICAgIGlmIChwYXlsb2Fkc09i
amVjdC0+Z2V0Qm9vbGVhbihuYWNrU3RyaW5nKCksIGJvb2xWYWx1ZSkpCi0gICAgICAgICAgICAg
ICAgcGF5bG9hZC0+c2V0TmFjayhib29sVmFsdWUpOworICAgICAgICAgICAgICAgIHBheWxvYWQu
bmFjayA9IGJvb2xWYWx1ZTsKIAogICAgICAgICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4g
cGFyYW1ldGVyc09iamVjdCA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CiAgICAgICAgICAg
ICBpZiAocGF5bG9hZHNPYmplY3QtPmdldE9iamVjdChwYXJhbWV0ZXJzU3RyaW5nKCksIHBhcmFt
ZXRlcnNPYmplY3QpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHBhcmFtZXRlcnNPYmplY3QtPmdl
dEludGVnZXIocGFja2V0aXphdGlvbk1vZGVTdHJpbmcoKSwgaW50VmFsdWUpKQotICAgICAgICAg
ICAgICAgICAgICBwYXlsb2FkLT5hZGRQYXJhbWV0ZXIoInBhY2tldGl6YXRpb25Nb2RlIiwgaW50
VmFsdWUpOworICAgICAgICAgICAgICAgICAgICBwYXlsb2FkLmFkZFBhcmFtZXRlcigicGFja2V0
aXphdGlvbk1vZGUiLCBpbnRWYWx1ZSk7CiAKICAgICAgICAgICAgICAgICBpZiAocGFyYW1ldGVy
c09iamVjdC0+Z2V0SW50ZWdlcihhcHRTdHJpbmcoKSwgaW50VmFsdWUpKQotICAgICAgICAgICAg
ICAgICAgICBwYXlsb2FkLT5hZGRQYXJhbWV0ZXIoImFwdCIsIGludFZhbHVlKTsKKyAgICAgICAg
ICAgICAgICAgICAgcGF5bG9hZC5hZGRQYXJhbWV0ZXIoImFwdCIsIGludFZhbHVlKTsKIAogICAg
ICAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJzT2JqZWN0LT5nZXRJbnRlZ2VyKHJ0eFRpbWVTdHJp
bmcoKSwgaW50VmFsdWUpKQotICAgICAgICAgICAgICAgICAgICBwYXlsb2FkLT5hZGRQYXJhbWV0
ZXIoInJ0eFRpbWUiLCBpbnRWYWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIHBheWxvYWQuYWRk
UGFyYW1ldGVyKCJydHhUaW1lIiwgaW50VmFsdWUpOwogICAgICAgICAgICAgfQogCiAgICAgICAg
ICAgICBtZWRpYURlc2NyaXB0aW9uLT5hZGRQYXlsb2FkKFdURk1vdmUocGF5bG9hZCkpOwpAQCAt
MzYyLDIyICszNjIsMjIgQEAgc3RhdGljIFN0cmluZyBjb25maWd1cmF0aW9uVG9KU09OKGNvbnN0
IE1lZGlhRW5kcG9pbnRTZXNzaW9uQ29uZmlndXJhdGlvbiYgY29uZmkKIAogICAgICAgICBSZWZQ
dHI8SW5zcGVjdG9yQXJyYXk+IHBheWxvYWRzQXJyYXkgPSBJbnNwZWN0b3JBcnJheTo6Y3JlYXRl
KCk7CiAKLSAgICAgICAgZm9yIChSZWZQdHI8TWVkaWFQYXlsb2FkPiBwYXlsb2FkIDogbWVkaWFE
ZXNjcmlwdGlvbi0+cGF5bG9hZHMoKSkgeworICAgICAgICBmb3IgKGF1dG8mIHBheWxvYWQgOiBt
ZWRpYURlc2NyaXB0aW9uLT5wYXlsb2FkcygpKSB7CiAgICAgICAgICAgICBSZWZQdHI8SW5zcGVj
dG9yT2JqZWN0PiBwYXlsb2FkT2JqZWN0ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKIAot
ICAgICAgICAgICAgcGF5bG9hZE9iamVjdC0+c2V0SW50ZWdlcih0eXBlU3RyaW5nKCksIHBheWxv
YWQtPnR5cGUoKSk7Ci0gICAgICAgICAgICBwYXlsb2FkT2JqZWN0LT5zZXRTdHJpbmcoZW5jb2Rp
bmdOYW1lU3RyaW5nKCksIHBheWxvYWQtPmVuY29kaW5nTmFtZSgpKTsKLSAgICAgICAgICAgIHBh
eWxvYWRPYmplY3QtPnNldEludGVnZXIoY2xvY2tSYXRlU3RyaW5nKCksIHBheWxvYWQtPmNsb2Nr
UmF0ZSgpKTsKLSAgICAgICAgICAgIHBheWxvYWRPYmplY3QtPnNldEludGVnZXIoY2hhbm5lbHNT
dHJpbmcoKSwgcGF5bG9hZC0+Y2hhbm5lbHMoKSk7Ci0gICAgICAgICAgICBwYXlsb2FkT2JqZWN0
LT5zZXRCb29sZWFuKGNjbWZpclN0cmluZygpLCBwYXlsb2FkLT5jY21maXIoKSk7Ci0gICAgICAg
ICAgICBwYXlsb2FkT2JqZWN0LT5zZXRCb29sZWFuKG5hY2twbGlTdHJpbmcoKSwgcGF5bG9hZC0+
bmFja3BsaSgpKTsKLSAgICAgICAgICAgIHBheWxvYWRPYmplY3QtPnNldEJvb2xlYW4obmFja1N0
cmluZygpLCBwYXlsb2FkLT5uYWNrKCkpOworICAgICAgICAgICAgcGF5bG9hZE9iamVjdC0+c2V0
SW50ZWdlcih0eXBlU3RyaW5nKCksIHBheWxvYWQudHlwZSk7CisgICAgICAgICAgICBwYXlsb2Fk
T2JqZWN0LT5zZXRTdHJpbmcoZW5jb2RpbmdOYW1lU3RyaW5nKCksIHBheWxvYWQuZW5jb2RpbmdO
YW1lKTsKKyAgICAgICAgICAgIHBheWxvYWRPYmplY3QtPnNldEludGVnZXIoY2xvY2tSYXRlU3Ry
aW5nKCksIHBheWxvYWQuY2xvY2tSYXRlKTsKKyAgICAgICAgICAgIHBheWxvYWRPYmplY3QtPnNl
dEludGVnZXIoY2hhbm5lbHNTdHJpbmcoKSwgcGF5bG9hZC5jaGFubmVscyk7CisgICAgICAgICAg
ICBwYXlsb2FkT2JqZWN0LT5zZXRCb29sZWFuKGNjbWZpclN0cmluZygpLCBwYXlsb2FkLmNjbWZp
cik7CisgICAgICAgICAgICBwYXlsb2FkT2JqZWN0LT5zZXRCb29sZWFuKG5hY2twbGlTdHJpbmco
KSwgcGF5bG9hZC5uYWNrcGxpKTsKKyAgICAgICAgICAgIHBheWxvYWRPYmplY3QtPnNldEJvb2xl
YW4obmFja1N0cmluZygpLCBwYXlsb2FkLm5hY2spOwogCi0gICAgICAgICAgICBpZiAoIXBheWxv
YWQtPnBhcmFtZXRlcnMoKS5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIGlmICghcGF5bG9hZC5w
YXJhbWV0ZXJzLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgIFJlZlB0cjxJbnNwZWN0b3JP
YmplY3Q+IHBhcmFtZXRlcnNPYmplY3QgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwogCi0g
ICAgICAgICAgICAgICAgZm9yIChhdXRvJiBuYW1lIDogcGF5bG9hZC0+cGFyYW1ldGVycygpLmtl
eXMoKSkKLSAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyc09iamVjdC0+c2V0SW50ZWdlcihu
YW1lLCBwYXlsb2FkLT5wYXJhbWV0ZXJzKCkuZ2V0KG5hbWUpKTsKKyAgICAgICAgICAgICAgICBm
b3IgKGF1dG8mIG5hbWUgOiBwYXlsb2FkLnBhcmFtZXRlcnMua2V5cygpKQorICAgICAgICAgICAg
ICAgICAgICBwYXJhbWV0ZXJzT2JqZWN0LT5zZXRJbnRlZ2VyKG5hbWUsIHBheWxvYWQucGFyYW1l
dGVycy5nZXQobmFtZSkpOwogCiAgICAgICAgICAgICAgICAgcGF5bG9hZE9iamVjdC0+c2V0T2Jq
ZWN0KHBhcmFtZXRlcnNTdHJpbmcoKSwgcGFyYW1ldGVyc09iamVjdCk7CiAgICAgICAgICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYUVu
ZHBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYUVuZHBv
aW50LmgKaW5kZXggYzEzM2U1YTc1MDQ5Y2QwNTY5NjkwYTI1MmI4ZmFjYzJkNjI3M2FlMC4uZjI3
NzM3ZjgyZDQ2ZWI1NTk5ZTQ0YzU4YzdmZjUzMTQwZmU3ODBjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnQuaApAQCAtNDMsMTEg
KzQzLDExIEBAIHN0cnVjdCBJY2VDYW5kaWRhdGU7CiBjbGFzcyBNZWRpYUVuZHBvaW50OwogY2xh
c3MgTWVkaWFFbmRwb2ludENsaWVudDsKIGNsYXNzIE1lZGlhRW5kcG9pbnRTZXNzaW9uQ29uZmln
dXJhdGlvbjsKLWNsYXNzIE1lZGlhUGF5bG9hZDsKK3N0cnVjdCBNZWRpYVBheWxvYWQ7CiBjbGFz
cyBSZWFsdGltZU1lZGlhU291cmNlOwogCiB0eXBlZGVmIHN0ZDo6dW5pcXVlX3B0cjxNZWRpYUVu
ZHBvaW50PiAoKkNyZWF0ZU1lZGlhRW5kcG9pbnQpKE1lZGlhRW5kcG9pbnRDbGllbnQmKTsKLXR5
cGVkZWYgVmVjdG9yPFJlZlB0cjxNZWRpYVBheWxvYWQ+PiBNZWRpYVBheWxvYWRWZWN0b3I7Cit0
eXBlZGVmIFZlY3RvcjxNZWRpYVBheWxvYWQ+IE1lZGlhUGF5bG9hZFZlY3RvcjsKIHR5cGVkZWYg
SGFzaE1hcDxTdHJpbmcsIFJlYWx0aW1lTWVkaWFTb3VyY2UqPiBSZWFsdGltZU1lZGlhU291cmNl
TWFwOwogCiBjbGFzcyBNZWRpYUVuZHBvaW50IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhUGF5bG9hZC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFQYXlsb2FkLmgKaW5kZXggNmRmNDdmODdjMjQzNjY2NTYy
NDZjMTBlYmRlMWNkNWI2NTY4Y2ZkNi4uMTIyOWUxMDhlMTIzYjhmNTk5YjY5Nzk1NDYxYjQyMDY0
NmY3ZTU2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
TWVkaWFQYXlsb2FkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
TWVkaWFQYXlsb2FkLmgKQEAgLTI4LDkwICsyOCwzNCBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwog
Ci0jaWZuZGVmIE1lZGlhUGF5bG9hZF9oCi0jZGVmaW5lIE1lZGlhUGF5bG9hZF9oCisjcHJhZ21h
IG9uY2UKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
LSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgTWVkaWFQYXlsb2FkIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFQYXlsb2FkPiB7Citz
dHJ1Y3QgTWVkaWFQYXlsb2FkIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPE1lZGlhUGF5
bG9hZD4gY3JlYXRlKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWFQ
YXlsb2FkKCkpOwotICAgIH0KLSAgICB2aXJ0dWFsIH5NZWRpYVBheWxvYWQoKSB7IH0KKyAgICB2
b2lkIGFkZFBhcmFtZXRlcihjb25zdCBTdHJpbmcmIG5hbWUsIHVuc2lnbmVkIHZhbHVlKSB7IHBh
cmFtZXRlcnMuc2V0KG5hbWUsIHZhbHVlKTsgfQogCi0gICAgdW5zaWduZWQgdHlwZSgpIGNvbnN0
IHsgcmV0dXJuIG1fdHlwZTsgfQotICAgIHZvaWQgc2V0VHlwZSh1bnNpZ25lZCB0eXBlKSB7IG1f
dHlwZSA9IHR5cGU7IH0KLQotICAgIGNvbnN0IFN0cmluZyYgZW5jb2RpbmdOYW1lKCkgY29uc3Qg
eyByZXR1cm4gbV9lbmNvZGluZ05hbWU7IH0KLSAgICB2b2lkIHNldEVuY29kaW5nTmFtZShjb25z
dCBTdHJpbmcgJiBlbmNvZGluZ05hbWUpIHsgbV9lbmNvZGluZ05hbWUgPSBlbmNvZGluZ05hbWU7
IH0KLQotICAgIHVuc2lnbmVkIGNsb2NrUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xvY2tSYXRl
OyB9Ci0gICAgdm9pZCBzZXRDbG9ja1JhdGUodW5zaWduZWQgY2xvY2tSYXRlKSB7IG1fY2xvY2tS
YXRlID0gY2xvY2tSYXRlOyB9Ci0KLSAgICB1bnNpZ25lZCBjaGFubmVscygpIGNvbnN0IHsgcmV0
dXJuIG1fY2hhbm5lbHM7IH0KLSAgICB2b2lkIHNldENoYW5uZWxzKHVuc2lnbmVkIGNoYW5uZWxz
KSB7IG1fY2hhbm5lbHMgPSBjaGFubmVsczsgfQotCi0gICAgYm9vbCBjY21maXIoKSBjb25zdCB7
IHJldHVybiBtX2NjbWZpcjsgfQotICAgIHZvaWQgc2V0Q2NtZmlyKGJvb2wgY2NtZmlyKSB7IG1f
Y2NtZmlyID0gY2NtZmlyOyB9Ci0KLSAgICBib29sIG5hY2twbGkoKSBjb25zdCB7IHJldHVybiBt
X25hY2twbGk7IH0KLSAgICB2b2lkIHNldE5hY2twbGkoYm9vbCBuYWNrcGxpKSB7IG1fbmFja3Bs
aSA9IG5hY2twbGk7IH0KLQotICAgIGJvb2wgbmFjaygpIGNvbnN0IHsgcmV0dXJuIG1fbmFjazsg
fQotICAgIHZvaWQgc2V0TmFjayhib29sIG5hY2spIHsgbV9uYWNrID0gbmFjazsgfQotCi0gICAg
Y29uc3QgSGFzaE1hcDxTdHJpbmcsIHVuc2lnbmVkPiYgcGFyYW1ldGVycygpIGNvbnN0IHsgcmV0
dXJuIG1fcGFyYW1ldGVyczsgfQotICAgIHZvaWQgYWRkUGFyYW1ldGVyKGNvbnN0IFN0cmluZyYg
bmFtZSwgdW5zaWduZWQgdmFsdWUpIHsgbV9wYXJhbWV0ZXJzLnNldChuYW1lLCB2YWx1ZSk7IH0K
LQotICAgIFJlZlB0cjxNZWRpYVBheWxvYWQ+IGNsb25lKCkgY29uc3QKLSAgICB7Ci0gICAgICAg
IFJlZlB0cjxNZWRpYVBheWxvYWQ+IGNvcHkgPSBjcmVhdGUoKTsKLQotICAgICAgICBjb3B5LT5t
X3R5cGUgPSBtX3R5cGU7Ci0gICAgICAgIGNvcHktPm1fZW5jb2RpbmdOYW1lID0gU3RyaW5nKG1f
ZW5jb2RpbmdOYW1lKTsKLSAgICAgICAgY29weS0+bV9jbG9ja1JhdGUgPSBtX2Nsb2NrUmF0ZTsK
LQotICAgICAgICBjb3B5LT5tX2NoYW5uZWxzID0gbV9jaGFubmVsczsKLQotICAgICAgICBjb3B5
LT5tX2NjbWZpciA9IG1fY2NtZmlyOwotICAgICAgICBjb3B5LT5tX25hY2twbGkgPSBtX25hY2tw
bGk7Ci0gICAgICAgIGNvcHktPm1fbmFjayA9IG1fbmFjazsKLQotICAgICAgICBmb3IgKGF1dG8m
IGtleSA6IG1fcGFyYW1ldGVycy5rZXlzKCkpCi0gICAgICAgICAgICBjb3B5LT5tX3BhcmFtZXRl
cnMuYWRkKGtleSwgbV9wYXJhbWV0ZXJzLmdldChrZXkpKTsKLQotICAgICAgICByZXR1cm4gY29w
eTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgTWVkaWFQYXlsb2FkKCkgeyB9Ci0KLSAgICB1bnNp
Z25lZCBtX3R5cGUgeyAwIH07Ci0gICAgU3RyaW5nIG1fZW5jb2RpbmdOYW1lOwotICAgIHVuc2ln
bmVkIG1fY2xvY2tSYXRlIHsgMCB9OworICAgIHVuc2lnbmVkIHR5cGUgeyAwIH07CisgICAgU3Ry
aW5nIGVuY29kaW5nTmFtZTsKKyAgICB1bnNpZ25lZCBjbG9ja1JhdGUgeyAwIH07CiAKICAgICAv
LyBhdWRpbwotICAgIHVuc2lnbmVkIG1fY2hhbm5lbHMgeyAwIH07CisgICAgdW5zaWduZWQgY2hh
bm5lbHMgeyAwIH07CiAKICAgICAvLyB2aWRlbwotICAgIGJvb2wgbV9jY21maXIgeyBmYWxzZSB9
OwotICAgIGJvb2wgbV9uYWNrcGxpIHsgZmFsc2UgfTsKLSAgICBib29sIG1fbmFjayB7IGZhbHNl
IH07CisgICAgYm9vbCBjY21maXIgeyBmYWxzZSB9OworICAgIGJvb2wgbmFja3BsaSB7IGZhbHNl
IH07CisgICAgYm9vbCBuYWNrIHsgZmFsc2UgfTsKIAotICAgIEhhc2hNYXA8U3RyaW5nLCB1bnNp
Z25lZD4gbV9wYXJhbWV0ZXJzOworICAgIEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4gcGFyYW1l
dGVyczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShX
RUJfUlRDKQotCi0jZW5kaWYgLy8gTWVkaWFQYXlsb2FkX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1BlZXJNZWRpYURlc2NyaXB0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyTWVkaWFEZXNjcmlwdGlvbi5oCmlu
ZGV4IDQ4OGU4NmE3MDA0YmE3YTFkNTI5MGU1MTFjNzczNzQxYWY1ZTdjNTUuLmY0MTBhMWNkMDA5
YWMzNDkwMWRhZmI0NjdjNTEzZTM3ZWVjZmE0MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL1BlZXJNZWRpYURlc2NyaXB0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlck1lZGlhRGVzY3JpcHRpb24uaApAQCAt
NjQsMTAgKzY0LDEwIEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIG1pZCgpIGNvbnN0IHsg
cmV0dXJuIG1fbWlkOyB9CiAgICAgdm9pZCBzZXRNaWQoY29uc3QgU3RyaW5nJiBtaWQpIHsgbV9t
aWQgPSBtaWQ7IH0KIAotICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8TWVkaWFQYXlsb2FkPj4mIHBh
eWxvYWRzKCkgY29uc3QgeyByZXR1cm4gbV9wYXlsb2FkczsgfQotICAgIHZvaWQgYWRkUGF5bG9h
ZChSZWZQdHI8TWVkaWFQYXlsb2FkPiYmIHBheWxvYWQpIHsgbV9wYXlsb2Fkcy5hcHBlbmQoV1RG
TW92ZShwYXlsb2FkKSk7IH0KLSAgICB2b2lkIHNldFBheWxvYWRzKFZlY3RvcjxSZWZQdHI8TWVk
aWFQYXlsb2FkPj4mJiBwYXlsb2FkcykgeyBtX3BheWxvYWRzID0gcGF5bG9hZHM7IH0KLSAgICB2
b2lkIHNldFBheWxvYWRzKGNvbnN0IFZlY3RvcjxSZWZQdHI8TWVkaWFQYXlsb2FkPj4mIHBheWxv
YWRzKSB7IG1fcGF5bG9hZHMgPSBwYXlsb2FkczsgfQorICAgIGNvbnN0IFZlY3RvcjxNZWRpYVBh
eWxvYWQ+JiBwYXlsb2FkcygpIGNvbnN0IHsgcmV0dXJuIG1fcGF5bG9hZHM7IH0KKyAgICB2b2lk
IGFkZFBheWxvYWQoTWVkaWFQYXlsb2FkJiYgcGF5bG9hZCkgeyBtX3BheWxvYWRzLmFwcGVuZChX
VEZNb3ZlKHBheWxvYWQpKTsgfQorICAgIHZvaWQgc2V0UGF5bG9hZHMoVmVjdG9yPE1lZGlhUGF5
bG9hZD4mJiBwYXlsb2FkcykgeyBtX3BheWxvYWRzID0gcGF5bG9hZHM7IH0KKyAgICB2b2lkIHNl
dFBheWxvYWRzKGNvbnN0IFZlY3RvcjxNZWRpYVBheWxvYWQ+JiBwYXlsb2FkcykgeyBtX3BheWxv
YWRzID0gcGF5bG9hZHM7IH0KIAogICAgIGJvb2wgcnRjcE11eCgpIGNvbnN0IHsgcmV0dXJuIG1f
cnRjcE11eDsgfQogICAgIHZvaWQgc2V0UnRjcE11eChib29sIHJ0Y3BNdXgpIHsgbV9ydGNwTXV4
ID0gcnRjcE11eDsgfQpAQCAtMTE5LDggKzExOSw3IEBAIHB1YmxpYzoKICAgICAgICAgY29weS0+
bV9tb2RlID0gU3RyaW5nKG1fbW9kZSk7CiAgICAgICAgIGNvcHktPm1fbWlkID0gU3RyaW5nKG1f
bWlkKTsKIAotICAgICAgICBmb3IgKGF1dG8mIHBheWxvYWQgOiBtX3BheWxvYWRzKQotICAgICAg
ICAgICAgY29weS0+bV9wYXlsb2Fkcy5hcHBlbmQocGF5bG9hZC0+Y2xvbmUoKSk7CisgICAgICAg
IGNvcHktPm1fcGF5bG9hZHMgPSBtX3BheWxvYWRzOwogCiAgICAgICAgIGNvcHktPm1fcnRjcE11
eCA9IG1fcnRjcE11eDsKICAgICAgICAgY29weS0+bV9ydGNwQWRkcmVzcyA9IFN0cmluZyhtX3J0
Y3BBZGRyZXNzKTsKQEAgLTE1NSw3ICsxNTQsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX21v
ZGUgeyAic2VuZHJlY3YiIH07CiAgICAgU3RyaW5nIG1fbWlkOwogCi0gICAgVmVjdG9yPFJlZlB0
cjxNZWRpYVBheWxvYWQ+PiBtX3BheWxvYWRzOworICAgIFZlY3RvcjxNZWRpYVBheWxvYWQ+IG1f
cGF5bG9hZHM7CiAKICAgICBib29sIG1fcnRjcE11eCB7IHRydWUgfTsKICAgICBTdHJpbmcgbV9y
dGNwQWRkcmVzczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL29wZW53ZWJydGMvTWVkaWFFbmRwb2ludE93ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL01lZGlhRW5kcG9pbnRPd3IuY3BwCmluZGV4IDY5
MGZmNjEwMzE5ZDNhMTllNDBiNWQ1YTdiODNiYTA3YmRjNTFlZjAuLjY5OWZkMGEwNGQ5YjQ4NmVm
OTg0YjBlYjY5MjgwMjVlODYwYTExZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvTWVkaWFFbmRwb2ludE93ci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9NZWRpYUVuZHBvaW50
T3dyLmNwcApAQCAtMTEwLDI2ICsxMTAsMjYgQEAgTWVkaWFQYXlsb2FkVmVjdG9yIE1lZGlhRW5k
cG9pbnRPd3I6OmdldERlZmF1bHRBdWRpb1BheWxvYWRzKCkKICAgICBNZWRpYVBheWxvYWRWZWN0
b3IgcGF5bG9hZHM7CiAKICAgICAvLyBGSVhNRTogVGhpcyBsaXN0IHNob3VsZCBiZSBiYXNlZCBv
biB3aGF0IGlzIGF2YWlsYWJsZSBpbiB0aGUgcGxhdGZvcm0gKGJ1ZzogaHR0cDovL3dlYmtpdC5v
cmcvYi8xNjM3MjMpCi0gICAgUmVmUHRyPE1lZGlhUGF5bG9hZD4gcGF5bG9hZCA9IE1lZGlhUGF5
bG9hZDo6Y3JlYXRlKCk7Ci0gICAgcGF5bG9hZC0+c2V0VHlwZSgxMTEpOwotICAgIHBheWxvYWQt
PnNldEVuY29kaW5nTmFtZSgiT1BVUyIpOwotICAgIHBheWxvYWQtPnNldENsb2NrUmF0ZSg0ODAw
MCk7Ci0gICAgcGF5bG9hZC0+c2V0Q2hhbm5lbHMoMik7Ci0gICAgcGF5bG9hZHMuYXBwZW5kKHBh
eWxvYWQpOwotCi0gICAgcGF5bG9hZCA9IE1lZGlhUGF5bG9hZDo6Y3JlYXRlKCk7Ci0gICAgcGF5
bG9hZC0+c2V0VHlwZSg4KTsKLSAgICBwYXlsb2FkLT5zZXRFbmNvZGluZ05hbWUoIlBDTUEiKTsK
LSAgICBwYXlsb2FkLT5zZXRDbG9ja1JhdGUoODAwMCk7Ci0gICAgcGF5bG9hZC0+c2V0Q2hhbm5l
bHMoMSk7Ci0gICAgcGF5bG9hZHMuYXBwZW5kKHBheWxvYWQpOwotCi0gICAgcGF5bG9hZCA9IE1l
ZGlhUGF5bG9hZDo6Y3JlYXRlKCk7Ci0gICAgcGF5bG9hZC0+c2V0VHlwZSgwKTsKLSAgICBwYXls
b2FkLT5zZXRFbmNvZGluZ05hbWUoIlBDTVUiKTsKLSAgICBwYXlsb2FkLT5zZXRDbG9ja1JhdGUo
ODAwMCk7Ci0gICAgcGF5bG9hZC0+c2V0Q2hhbm5lbHMoMSk7Ci0gICAgcGF5bG9hZHMuYXBwZW5k
KHBheWxvYWQpOworICAgIE1lZGlhUGF5bG9hZCBwYXlsb2FkMTsKKyAgICBwYXlsb2FkMS50eXBl
ID0gMTExOworICAgIHBheWxvYWQxLmVuY29kaW5nTmFtZSA9ICJPUFVTIjsKKyAgICBwYXlsb2Fk
MS5jbG9ja1JhdGUgPSA0ODAwMDsKKyAgICBwYXlsb2FkMS5jaGFubmVscyA9IDI7CisgICAgcGF5
bG9hZHMuYXBwZW5kKFdURk1vdmUocGF5bG9hZDEpKTsKKworICAgIE1lZGlhUGF5bG9hZCBwYXls
b2FkMjsKKyAgICBwYXlsb2FkMi50eXBlID0gODsKKyAgICBwYXlsb2FkMi5lbmNvZGluZ05hbWUg
IlBDTUEiOworICAgIHBheWxvYWQyLmNsb2NrUmF0ZSA9IDgwMDA7CisgICAgcGF5bG9hZDIuY2hh
bm5lbHMgPSAxOworICAgIHBheWxvYWRzLmFwcGVuZChXVEZNb3ZlKHBheWxvYWQyKSk7CisKKyAg
ICBNZWRpYVBheWxvYWQgcGF5bG9hZDM7CisgICAgcGF5bG9hZDMudHlwZSgwKTsKKyAgICBwYXls
b2FkMy5lbmNvZGluZ05hbWUgPSAiUENNVSI7CisgICAgcGF5bG9hZDMuY2xvY2tSYXRlID0gODAw
MDsKKyAgICBwYXlsb2FkMy5jaGFubmVscyA9IDE7CisgICAgcGF5bG9hZHMuYXBwZW5kKFdURk1v
dmUocGF5bG9hZDMpKTsKIAogICAgIHJldHVybiBwYXlsb2FkczsKIH0KQEAgLTEzOSwzMSArMTM5
LDMxIEBAIE1lZGlhUGF5bG9hZFZlY3RvciBNZWRpYUVuZHBvaW50T3dyOjpnZXREZWZhdWx0Vmlk
ZW9QYXlsb2FkcygpCiAgICAgTWVkaWFQYXlsb2FkVmVjdG9yIHBheWxvYWRzOwogCiAgICAgLy8g
RklYTUU6IFRoaXMgbGlzdCBzaG91bGQgYmUgYmFzZWQgb24gd2hhdCBpcyBhdmFpbGFibGUgaW4g
dGhlIHBsYXRmb3JtIChidWc6IGh0dHA6Ly93ZWJraXQub3JnL2IvMTYzNzIzKQotICAgIFJlZlB0
cjxNZWRpYVBheWxvYWQ+IHBheWxvYWQgPSBNZWRpYVBheWxvYWQ6OmNyZWF0ZSgpOwotICAgIHBh
eWxvYWQtPnNldFR5cGUoMTAzKTsKLSAgICBwYXlsb2FkLT5zZXRFbmNvZGluZ05hbWUoIkgyNjQi
KTsKLSAgICBwYXlsb2FkLT5zZXRDbG9ja1JhdGUoOTAwMDApOwotICAgIHBheWxvYWQtPnNldENj
bWZpcih0cnVlKTsKLSAgICBwYXlsb2FkLT5zZXROYWNrcGxpKHRydWUpOworICAgIE1lZGlhUGF5
bG9hZCBwYXlsb2FkMTsKKyAgICBwYXlsb2FkMS50eXBlID0gMTAzOworICAgIHBheWxvYWQxLmVu
Y29kaW5nTmFtZSA9ICJIMjY0IjsKKyAgICBwYXlsb2FkMS5jbG9ja1JhdGUgPSA5MDAwMDsKKyAg
ICBwYXlsb2FkMS5jY21maXIgPSB0cnVlOworICAgIHBheWxvYWQxLm5hY2twbGkgPSB0cnVlOwog
ICAgIHBheWxvYWQtPmFkZFBhcmFtZXRlcigicGFja2V0aXphdGlvbk1vZGUiLCAxKTsKLSAgICBw
YXlsb2Fkcy5hcHBlbmQocGF5bG9hZCk7Ci0KLSAgICBwYXlsb2FkID0gTWVkaWFQYXlsb2FkOjpj
cmVhdGUoKTsKLSAgICBwYXlsb2FkLT5zZXRUeXBlKDEwMCk7Ci0gICAgcGF5bG9hZC0+c2V0RW5j
b2RpbmdOYW1lKCJWUDgiKTsKLSAgICBwYXlsb2FkLT5zZXRDbG9ja1JhdGUoOTAwMDApOwotICAg
IHBheWxvYWQtPnNldENjbWZpcih0cnVlKTsKLSAgICBwYXlsb2FkLT5zZXROYWNrcGxpKHRydWUp
OwotICAgIHBheWxvYWQtPnNldE5hY2sodHJ1ZSk7Ci0gICAgcGF5bG9hZHMuYXBwZW5kKHBheWxv
YWQpOwotCi0gICAgcGF5bG9hZCA9IE1lZGlhUGF5bG9hZDo6Y3JlYXRlKCk7Ci0gICAgcGF5bG9h
ZC0+c2V0VHlwZSgxMjApOwotICAgIHBheWxvYWQtPnNldEVuY29kaW5nTmFtZSgiUlRYIik7Ci0g
ICAgcGF5bG9hZC0+c2V0Q2xvY2tSYXRlKDkwMDAwKTsKKyAgICBwYXlsb2Fkcy5hcHBlbmQoV1RG
TW92ZShwYXlsb2FkMSkpOworCisgICAgTWVkaWFQYXlsb2FkIHBheWxvYWQyOworICAgIHBheWxv
YWQyLnR5cGUgPSAxMDA7CisgICAgcGF5bG9hZDIuZW5jb2RpbmdOYW1lID0gIlZQOCI7CisgICAg
cGF5bG9hZDIuY2xvY2tSYXRlID0gOTAwMDA7CisgICAgcGF5bG9hZDIuY2NtZmlyID0gdHJ1ZTsK
KyAgICBwYXlsb2FkMi5uYWNrcGxpID0gdHJ1ZTsKKyAgICBwYXlsb2FkMi5uYWNrID0gdHJ1ZTsK
KyAgICBwYXlsb2Fkcy5hcHBlbmQoV1RGTW92ZShwYXlsb2FkMikpOworCisgICAgTWVkaWFQYXls
b2FkIHBheWxvYWQzOworICAgIHBheWxvYWQzLnR5cGUgPSAxMjA7CisgICAgcGF5bG9hZDMuZW5j
b2RpbmdOYW1lID0gIlJUWCI7CisgICAgcGF5bG9hZDMuY2xvY2tSYXRlID0gOTAwMDA7CiAgICAg
cGF5bG9hZC0+YWRkUGFyYW1ldGVyKCJhcHQiLCAxMDApOwogICAgIHBheWxvYWQtPmFkZFBhcmFt
ZXRlcigicnR4VGltZSIsIDIwMCk7Ci0gICAgcGF5bG9hZHMuYXBwZW5kKHBheWxvYWQpOworICAg
IHBheWxvYWRzLmFwcGVuZChXVEZNb3ZlKHBheWxvYWQzKSk7CiAKICAgICByZXR1cm4gcGF5bG9h
ZHM7CiB9CkBAIC0xNzksMzIgKzE3OSwzMiBAQCBzdGF0aWMgYm9vbCBwYXlsb2Fkc0NvbnRhaW5U
eXBlKE1lZGlhUGF5bG9hZFZlY3RvciBwYXlsb2FkcywgdW5zaWduZWQgcGF5bG9hZFR5cAogCiBN
ZWRpYVBheWxvYWRWZWN0b3IgTWVkaWFFbmRwb2ludE93cjo6ZmlsdGVyUGF5bG9hZHMoY29uc3Qg
TWVkaWFQYXlsb2FkVmVjdG9yJiByZW1vdGVQYXlsb2FkcywgY29uc3QgTWVkaWFQYXlsb2FkVmVj
dG9yJiBkZWZhdWx0UGF5bG9hZHMpCiB7Ci0gICAgTWVkaWFQYXlsb2FkVmVjdG9yIGZpbHRlcmVk
UGF5bG9hZHM7CisgICAgVmVjdG9yPGNvbnN0IE1lZGlhUGF5bG9hZCo+IGZpbHRlcmVkUGF5bG9h
ZHM7CiAKICAgICBmb3IgKGF1dG8mIHJlbW90ZVBheWxvYWQgOiByZW1vdGVQYXlsb2Fkcykgewog
ICAgICAgICBNZWRpYVBheWxvYWQqIGRlZmF1bHRQYXlsb2FkID0gbnVsbHB0cjsKICAgICAgICAg
Zm9yIChhdXRvJiBwIDogZGVmYXVsdFBheWxvYWRzKSB7CiAgICAgICAgICAgICBpZiAocC0+ZW5j
b2RpbmdOYW1lKCkgPT0gcmVtb3RlUGF5bG9hZC0+ZW5jb2RpbmdOYW1lKCkuY29udmVydFRvQVND
SUlVcHBlcmNhc2UoKSkgewotICAgICAgICAgICAgICAgIGRlZmF1bHRQYXlsb2FkID0gcC5nZXQo
KTsKKyAgICAgICAgICAgICAgICBkZWZhdWx0UGF5bG9hZCA9ICZwOwogICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmICghZGVmYXVsdFBh
eWxvYWQpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBpZiAoZGVmYXVsdFBheWxv
YWQtPnBhcmFtZXRlcnMoKS5jb250YWlucygicGFja2V0aXphdGlvbk1vZGUiKSAmJiByZW1vdGVQ
YXlsb2FkLT5wYXJhbWV0ZXJzKCkuY29udGFpbnMoInBhY2tldGl6YXRpb25Nb2RlIikKLSAgICAg
ICAgICAgICYmIChkZWZhdWx0UGF5bG9hZC0+cGFyYW1ldGVycygpLmdldCgicGFja2V0aXphdGlv
bk1vZGUiKSAhPSBkZWZhdWx0UGF5bG9hZC0+cGFyYW1ldGVycygpLmdldCgicGFja2V0aXphdGlv
bk1vZGUiKSkpCisgICAgICAgIGlmIChkZWZhdWx0UGF5bG9hZC0+cGFyYW1ldGVycy5jb250YWlu
cygicGFja2V0aXphdGlvbk1vZGUiKSAmJiByZW1vdGVQYXlsb2FkLT5wYXJhbWV0ZXJzLmNvbnRh
aW5zKCJwYWNrZXRpemF0aW9uTW9kZSIpCisgICAgICAgICAgICAmJiAoZGVmYXVsdFBheWxvYWQt
PnBhcmFtZXRlcnMuZ2V0KCJwYWNrZXRpemF0aW9uTW9kZSIpICE9IGRlZmF1bHRQYXlsb2FkLT5w
YXJhbWV0ZXJzLmdldCgicGFja2V0aXphdGlvbk1vZGUiKSkpCiAgICAgICAgICAgICBjb250aW51
ZTsKIAotICAgICAgICBmaWx0ZXJlZFBheWxvYWRzLmFwcGVuZChyZW1vdGVQYXlsb2FkKTsKKyAg
ICAgICAgZmlsdGVyZWRQYXlsb2Fkcy5hcHBlbmQoJnJlbW90ZVBheWxvYWQpOwogICAgIH0KIAog
ICAgIE1lZGlhUGF5bG9hZFZlY3RvciBmaWx0ZXJlZEFwdFBheWxvYWRzOwogCi0gICAgZm9yIChh
dXRvJiBmaWx0ZXJlZFBheWxvYWQgOiBmaWx0ZXJlZFBheWxvYWRzKSB7Ci0gICAgICAgIGlmIChm
aWx0ZXJlZFBheWxvYWQtPnBhcmFtZXRlcnMoKS5jb250YWlucygiYXB0IikgJiYgKCFwYXlsb2Fk
c0NvbnRhaW5UeXBlKGZpbHRlcmVkUGF5bG9hZHMsIGZpbHRlcmVkUGF5bG9hZC0+cGFyYW1ldGVy
cygpLmdldCgiYXB0IikpKSkKKyAgICBmb3IgKGF1dG8gZmlsdGVyZWRQYXlsb2FkIDogZmlsdGVy
ZWRQYXlsb2FkcykgeworICAgICAgICBpZiAoZmlsdGVyZWRQYXlsb2FkLT5wYXJhbWV0ZXJzLmNv
bnRhaW5zKCJhcHQiKSAmJiAoIXBheWxvYWRzQ29udGFpblR5cGUoZmlsdGVyZWRQYXlsb2Fkcywg
ZmlsdGVyZWRQYXlsb2FkLT5wYXJhbWV0ZXJzLmdldCgiYXB0IikpKSkKICAgICAgICAgICAgIGNv
bnRpbnVlOwotICAgICAgICBmaWx0ZXJlZEFwdFBheWxvYWRzLmFwcGVuZChmaWx0ZXJlZFBheWxv
YWQpOworICAgICAgICBmaWx0ZXJlZEFwdFBheWxvYWRzLmFwcGVuZCgqZmlsdGVyZWRQYXlsb2Fk
KTsKICAgICB9CiAKICAgICByZXR1cm4gZmlsdGVyZWRBcHRQYXlsb2FkczsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAKaW5kZXggYmY3
YmZjYWJkOTI3NTA1M2MyMzFkMTdkZmY1ZTJiYWIyZDM3MGQ4Ny4uZjkxOWE0NjkxYTAyYjRlZWYy
YzE2NWViOWNlYTQyOTYxZjMyNmZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAKQEAgLTc0LDI2ICs3NCwyNiBAQCBNZWRpYVBh
eWxvYWRWZWN0b3IgTW9ja01lZGlhRW5kcG9pbnQ6OmdldERlZmF1bHRBdWRpb1BheWxvYWRzKCkK
IHsKICAgICBNZWRpYVBheWxvYWRWZWN0b3IgcGF5bG9hZHM7CiAKLSAgICBSZWZQdHI8TWVkaWFQ
YXlsb2FkPiBwYXlsb2FkID0gTWVkaWFQYXlsb2FkOjpjcmVhdGUoKTsKLSAgICBwYXlsb2FkLT5z
ZXRUeXBlKDExMSk7Ci0gICAgcGF5bG9hZC0+c2V0RW5jb2RpbmdOYW1lKCJPUFVTIik7Ci0gICAg
cGF5bG9hZC0+c2V0Q2xvY2tSYXRlKDQ4MDAwKTsKLSAgICBwYXlsb2FkLT5zZXRDaGFubmVscygy
KTsKLSAgICBwYXlsb2Fkcy5hcHBlbmQocGF5bG9hZCk7Ci0KLSAgICBwYXlsb2FkID0gTWVkaWFQ
YXlsb2FkOjpjcmVhdGUoKTsKLSAgICBwYXlsb2FkLT5zZXRUeXBlKDgpOwotICAgIHBheWxvYWQt
PnNldEVuY29kaW5nTmFtZSgiUENNQSIpOwotICAgIHBheWxvYWQtPnNldENsb2NrUmF0ZSg4MDAw
KTsKLSAgICBwYXlsb2FkLT5zZXRDaGFubmVscygxKTsKLSAgICBwYXlsb2Fkcy5hcHBlbmQocGF5
bG9hZCk7Ci0KLSAgICBwYXlsb2FkID0gTWVkaWFQYXlsb2FkOjpjcmVhdGUoKTsKLSAgICBwYXls
b2FkLT5zZXRUeXBlKDApOwotICAgIHBheWxvYWQtPnNldEVuY29kaW5nTmFtZSgiUENNVSIpOwot
ICAgIHBheWxvYWQtPnNldENsb2NrUmF0ZSg4MDAwKTsKLSAgICBwYXlsb2FkLT5zZXRDaGFubmVs
cygxKTsKLSAgICBwYXlsb2Fkcy5hcHBlbmQocGF5bG9hZCk7CisgICAgTWVkaWFQYXlsb2FkIHBh
eWxvYWQxOworICAgIHBheWxvYWQxLnR5cGUgPSAxMTE7CisgICAgcGF5bG9hZDEuZW5jb2RpbmdO
YW1lID0gIk9QVVMiOworICAgIHBheWxvYWQxLmNsb2NrUmF0ZSA9IDQ4MDAwOworICAgIHBheWxv
YWQxLmNoYW5uZWxzID0gMjsKKyAgICBwYXlsb2Fkcy5hcHBlbmQoV1RGTW92ZShwYXlsb2FkMSkp
OworCisgICAgTWVkaWFQYXlsb2FkIHBheWxvYWQyOworICAgIHBheWxvYWQyLnR5cGUgPSA4Owor
ICAgIHBheWxvYWQyLmVuY29kaW5nTmFtZSA9ICJQQ01BIjsKKyAgICBwYXlsb2FkMi5jbG9ja1Jh
dGUgPSA4MDAwOworICAgIHBheWxvYWQyLmNoYW5uZWxzID0gMTsKKyAgICBwYXlsb2Fkcy5hcHBl
bmQoV1RGTW92ZShwYXlsb2FkMikpOworCisgICAgTWVkaWFQYXlsb2FkIHBheWxvYWQzOworICAg
IHBheWxvYWQzLnR5cGUgPSAwOworICAgIHBheWxvYWQzLmVuY29kaW5nTmFtZSA9ICJQQ01VIjsK
KyAgICBwYXlsb2FkMy5jbG9ja1JhdGUgPSA4MDAwOworICAgIHBheWxvYWQzLmNoYW5uZWxzID0g
MTsKKyAgICBwYXlsb2Fkcy5hcHBlbmQoV1RGTW92ZShwYXlsb2FkMykpOwogCiAgICAgcmV0dXJu
IHBheWxvYWRzOwogfQpAQCAtMTAyLDMxICsxMDIsMzEgQEAgTWVkaWFQYXlsb2FkVmVjdG9yIE1v
Y2tNZWRpYUVuZHBvaW50OjpnZXREZWZhdWx0VmlkZW9QYXlsb2FkcygpCiB7CiAgICAgTWVkaWFQ
YXlsb2FkVmVjdG9yIHBheWxvYWRzOwogCi0gICAgUmVmUHRyPE1lZGlhUGF5bG9hZD4gcGF5bG9h
ZCA9IE1lZGlhUGF5bG9hZDo6Y3JlYXRlKCk7Ci0gICAgcGF5bG9hZC0+c2V0VHlwZSgxMDMpOwot
ICAgIHBheWxvYWQtPnNldEVuY29kaW5nTmFtZSgiSDI2NCIpOwotICAgIHBheWxvYWQtPnNldENs
b2NrUmF0ZSg5MDAwMCk7Ci0gICAgcGF5bG9hZC0+c2V0Q2NtZmlyKHRydWUpOwotICAgIHBheWxv
YWQtPnNldE5hY2twbGkodHJ1ZSk7Ci0gICAgcGF5bG9hZC0+YWRkUGFyYW1ldGVyKCJwYWNrZXRp
emF0aW9uTW9kZSIsIDEpOwotICAgIHBheWxvYWRzLmFwcGVuZChwYXlsb2FkKTsKLQotICAgIHBh
eWxvYWQgPSBNZWRpYVBheWxvYWQ6OmNyZWF0ZSgpOwotICAgIHBheWxvYWQtPnNldFR5cGUoMTAw
KTsKLSAgICBwYXlsb2FkLT5zZXRFbmNvZGluZ05hbWUoIlZQOCIpOwotICAgIHBheWxvYWQtPnNl
dENsb2NrUmF0ZSg5MDAwMCk7Ci0gICAgcGF5bG9hZC0+c2V0Q2NtZmlyKHRydWUpOwotICAgIHBh
eWxvYWQtPnNldE5hY2twbGkodHJ1ZSk7Ci0gICAgcGF5bG9hZC0+c2V0TmFjayh0cnVlKTsKLSAg
ICBwYXlsb2Fkcy5hcHBlbmQocGF5bG9hZCk7Ci0KLSAgICBwYXlsb2FkID0gTWVkaWFQYXlsb2Fk
OjpjcmVhdGUoKTsKLSAgICBwYXlsb2FkLT5zZXRUeXBlKDEyMCk7Ci0gICAgcGF5bG9hZC0+c2V0
RW5jb2RpbmdOYW1lKCJSVFgiKTsKLSAgICBwYXlsb2FkLT5zZXRDbG9ja1JhdGUoOTAwMDApOwot
ICAgIHBheWxvYWQtPmFkZFBhcmFtZXRlcigiYXB0IiwgMTAwKTsKLSAgICBwYXlsb2FkLT5hZGRQ
YXJhbWV0ZXIoInJ0eFRpbWUiLCAyMDApOwotICAgIHBheWxvYWRzLmFwcGVuZChwYXlsb2FkKTsK
KyAgICBNZWRpYVBheWxvYWQgcGF5bG9hZDE7CisgICAgcGF5bG9hZDEudHlwZSA9IDEwMzsKKyAg
ICBwYXlsb2FkMS5lbmNvZGluZ05hbWUgPSAiSDI2NCI7CisgICAgcGF5bG9hZDEuY2xvY2tSYXRl
ID0gOTAwMDA7CisgICAgcGF5bG9hZDEuY2NtZmlyID0gdHJ1ZTsKKyAgICBwYXlsb2FkMS5uYWNr
cGxpID0gdHJ1ZTsKKyAgICBwYXlsb2FkMS5hZGRQYXJhbWV0ZXIoInBhY2tldGl6YXRpb25Nb2Rl
IiwgMSk7CisgICAgcGF5bG9hZHMuYXBwZW5kKFdURk1vdmUocGF5bG9hZDEpKTsKKworICAgIE1l
ZGlhUGF5bG9hZCBwYXlsb2FkMjsKKyAgICBwYXlsb2FkMi50eXBlID0gMTAwOworICAgIHBheWxv
YWQyLmVuY29kaW5nTmFtZSA9ICJWUDgiOworICAgIHBheWxvYWQyLmNsb2NrUmF0ZSA9IDkwMDAw
OworICAgIHBheWxvYWQyLmNjbWZpciA9IHRydWU7CisgICAgcGF5bG9hZDIubmFja3BsaSA9IHRy
dWU7CisgICAgcGF5bG9hZDIubmFjayA9IHRydWU7CisgICAgcGF5bG9hZHMuYXBwZW5kKFdURk1v
dmUocGF5bG9hZDIpKTsKKworICAgIE1lZGlhUGF5bG9hZCBwYXlsb2FkMzsKKyAgICBwYXlsb2Fk
My50eXBlID0gMTIwOworICAgIHBheWxvYWQzLmVuY29kaW5nTmFtZSA9ICJSVFgiOworICAgIHBh
eWxvYWQzLmNsb2NrUmF0ZSA9IDkwMDAwOworICAgIHBheWxvYWQzLmFkZFBhcmFtZXRlcigiYXB0
IiwgMTAwKTsKKyAgICBwYXlsb2FkMy5hZGRQYXJhbWV0ZXIoInJ0eFRpbWUiLCAyMDApOworICAg
IHBheWxvYWRzLmFwcGVuZChXVEZNb3ZlKHBheWxvYWQzKSk7CiAKICAgICByZXR1cm4gcGF5bG9h
ZHM7CiB9CkBAIC0xMzYsMTggKzEzNiwxOCBAQCBNZWRpYVBheWxvYWRWZWN0b3IgTW9ja01lZGlh
RW5kcG9pbnQ6OmZpbHRlclBheWxvYWRzKGNvbnN0IE1lZGlhUGF5bG9hZFZlY3RvciYgcgogICAg
IE1lZGlhUGF5bG9hZFZlY3RvciBmaWx0ZXJlZFBheWxvYWRzOwogCiAgICAgZm9yIChhdXRvJiBy
ZW1vdGVQYXlsb2FkIDogcmVtb3RlUGF5bG9hZHMpIHsKLSAgICAgICAgTWVkaWFQYXlsb2FkKiBk
ZWZhdWx0UGF5bG9hZCA9IG51bGxwdHI7CisgICAgICAgIGNvbnN0IE1lZGlhUGF5bG9hZCogZGVm
YXVsdFBheWxvYWQgPSBudWxscHRyOwogICAgICAgICBmb3IgKGF1dG8mIHBheWxvYWQgOiBkZWZh
dWx0UGF5bG9hZHMpIHsKLSAgICAgICAgICAgIGlmIChwYXlsb2FkLT5lbmNvZGluZ05hbWUoKSA9
PSByZW1vdGVQYXlsb2FkLT5lbmNvZGluZ05hbWUoKS5jb252ZXJ0VG9BU0NJSVVwcGVyY2FzZSgp
KSB7Ci0gICAgICAgICAgICAgICAgZGVmYXVsdFBheWxvYWQgPSBwYXlsb2FkLmdldCgpOworICAg
ICAgICAgICAgaWYgKHBheWxvYWQuZW5jb2RpbmdOYW1lID09IHJlbW90ZVBheWxvYWQuZW5jb2Rp
bmdOYW1lLmNvbnZlcnRUb0FTQ0lJVXBwZXJjYXNlKCkpIHsKKyAgICAgICAgICAgICAgICBkZWZh
dWx0UGF5bG9hZCA9ICZwYXlsb2FkOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAgICAgICAgIGlmICghZGVmYXVsdFBheWxvYWQpCiAgICAgICAgICAg
ICBjb250aW51ZTsKIAotICAgICAgICBpZiAoZGVmYXVsdFBheWxvYWQtPnBhcmFtZXRlcnMoKS5j
b250YWlucygicGFja2V0aXphdGlvbk1vZGUiKSAmJiByZW1vdGVQYXlsb2FkLT5wYXJhbWV0ZXJz
KCkuY29udGFpbnMoInBhY2tldGl6YXRpb25Nb2RlIikKLSAgICAgICAgICAgICYmIChkZWZhdWx0
UGF5bG9hZC0+cGFyYW1ldGVycygpLmdldCgicGFja2V0aXphdGlvbk1vZGUiKSAhPSBkZWZhdWx0
UGF5bG9hZC0+cGFyYW1ldGVycygpLmdldCgicGFja2V0aXphdGlvbk1vZGUiKSkpCisgICAgICAg
IGlmIChkZWZhdWx0UGF5bG9hZC0+cGFyYW1ldGVycy5jb250YWlucygicGFja2V0aXphdGlvbk1v
ZGUiKSAmJiByZW1vdGVQYXlsb2FkLnBhcmFtZXRlcnMuY29udGFpbnMoInBhY2tldGl6YXRpb25N
b2RlIikKKyAgICAgICAgICAgICYmIChkZWZhdWx0UGF5bG9hZC0+cGFyYW1ldGVycy5nZXQoInBh
Y2tldGl6YXRpb25Nb2RlIikgIT0gZGVmYXVsdFBheWxvYWQtPnBhcmFtZXRlcnMuZ2V0KCJwYWNr
ZXRpemF0aW9uTW9kZSIpKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGZpbHRl
cmVkUGF5bG9hZHMuYXBwZW5kKHJlbW90ZVBheWxvYWQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292929</attachid>
            <date>2016-10-26 08:33:22 -0700</date>
            <delta_ts>2016-10-27 00:34:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164015-20161026172856.patch</filename>
            <type>text/plain</type>
            <size>31052</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3ODcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZThjN2UxYjYyY2E1MDkx
YWU3ZTc2MmYyYjQ1YzIxNGY1N2NmM2ZhMS4uMmI1NDIzZTQ1OWY3YWRiZjI3ZTYxNzNmODA4NGQ1
MWExMTEwNDgwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDE2LTEwLTI2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBheWxvYWQgZG9l
cyBub3QgbmVlZCB0byBiZSByZWZjb3VudGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQwMTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBObyBjaGFuZ2Ugb2YgYmVoYXZpb3IuCisgICAgICAgIE1ha2lu
ZyBNZWRpYVBheWxvYWQgYSBzdHJ1Y3QgYW5kIG5vLWxvbmdlciByZWYtY291bnRlZC4KKyAgICAg
ICAgU21hbGwgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzIGluIE1lZGlhRW5kcG9pbnRPd3IuCisK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlv
bi5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vU0RQUHJvY2Vzc29yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbmZpZ3VyYXRpb25Gcm9tSlNPTik6CisgICAgICAgIChXZWJDb3Jl
Ojpjb25maWd1cmF0aW9uVG9KU09OKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9N
ZWRpYUVuZHBvaW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFQYXls
b2FkLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBheWxvYWQ6OmFkZFBhcmFtZXRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBheWxvYWQ6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBheWxvYWQ6On5NZWRpYVBheWxvYWQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQYXlsb2FkOjp0eXBlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGF5bG9hZDo6c2V0VHlwZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBheWxvYWQ6OmVuY29kaW5nTmFtZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBheWxvYWQ6OnNldEVuY29kaW5nTmFtZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBheWxvYWQ6OmNsb2NrUmF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBheWxvYWQ6OnNldENsb2NrUmF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBheWxvYWQ6OmNoYW5uZWxzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGF5bG9hZDo6c2V0Q2hhbm5lbHMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
YXlsb2FkOjpjY21maXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQYXlsb2Fk
OjpzZXRDY21maXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQYXlsb2FkOjpu
YWNrcGxpKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGF5bG9hZDo6c2V0TmFj
a3BsaSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBheWxvYWQ6Om5hY2spOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQYXlsb2FkOjpzZXROYWNrKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGF5bG9hZDo6cGFyYW1ldGVycyk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBheWxvYWQ6OmNsb25lKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGF5bG9hZDo6TWVkaWFQYXlsb2FkKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyTWVkaWFEZXNjcmlwdGlvbi5oOgorICAgICAg
ICAoV2ViQ29yZTo6UGVlck1lZGlhRGVzY3JpcHRpb246OnBheWxvYWRzKToKKyAgICAgICAgKFdl
YkNvcmU6OlBlZXJNZWRpYURlc2NyaXB0aW9uOjphZGRQYXlsb2FkKToKKyAgICAgICAgKFdlYkNv
cmU6OlBlZXJNZWRpYURlc2NyaXB0aW9uOjpzZXRQYXlsb2Fkcyk6CisgICAgICAgIChXZWJDb3Jl
OjpQZWVyTWVkaWFEZXNjcmlwdGlvbjo6Y2xvbmUpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlh
c3RyZWFtL29wZW53ZWJydGMvTWVkaWFFbmRwb2ludE93ci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUVuZHBvaW50T3dyOjpnZXREZWZhdWx0QXVkaW9QYXlsb2Fkcyk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUVuZHBvaW50T3dyOjpnZXREZWZhdWx0VmlkZW9QYXlsb2Fkcyk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYUVuZHBvaW50T3dyOjpmaWx0ZXJQYXlsb2Fkcyk6CisgICAgICAg
ICogcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNb2NrTWVkaWFFbmRwb2ludDo6Z2V0RGVmYXVsdEF1ZGlvUGF5bG9hZHMpOgorICAgICAgICAo
V2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmdldERlZmF1bHRWaWRlb1BheWxvYWRzKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBvaW50OjpmaWx0ZXJQYXlsb2Fkcyk6CisKIDIw
MTYtMTAtMjYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5mQGdtYWlsLmNvbT4KIAogICAgICAgICBJ
Y2VDYW5kaWRhdGUgZG9lcyBub3QgbmVlZCB0byBiZSByZWZjb3VudGVkCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVj
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50
UGVlckNvbm5lY3Rpb24uaAppbmRleCBkMmFkM2VkZWI2MTU5MTNkMGIzZDdjYTZlMDA2NTgxNjZj
MmM4MTlmLi4wMTNkMzVlMmVmNjFjMjhjNWFjOWM2ZTg4ZjlhM2RlNWNiNjA3MzdiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVy
Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmgKQEAgLTExOSw4ICsxMTksOCBAQCBwcml2YXRlOgog
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFNEUFByb2Nlc3Nvcj4gbV9zZHBQcm9jZXNzb3I7CiAKLSAg
ICBWZWN0b3I8UmVmUHRyPE1lZGlhUGF5bG9hZD4+IG1fZGVmYXVsdEF1ZGlvUGF5bG9hZHM7Ci0g
ICAgVmVjdG9yPFJlZlB0cjxNZWRpYVBheWxvYWQ+PiBtX2RlZmF1bHRWaWRlb1BheWxvYWRzOwor
ICAgIFZlY3RvcjxNZWRpYVBheWxvYWQ+IG1fZGVmYXVsdEF1ZGlvUGF5bG9hZHM7CisgICAgVmVj
dG9yPE1lZGlhUGF5bG9hZD4gbV9kZWZhdWx0VmlkZW9QYXlsb2FkczsKIAogICAgIFN0cmluZyBt
X2NuYW1lOwogICAgIFN0cmluZyBtX2ljZVVmcmFnOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9TRFBQcm9jZXNzb3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9TRFBQcm9jZXNzb3IuY3BwCmluZGV4IGUyNWJkMzAwZGQ0ZGQ0
NzA2MGY4MTdlYmNmNGU4ZjcyMThmZjk5N2UuLmRiMmJkNTM3NGJmMTdiZGYwN2RkMTBiMzM2NDM2
MjMzZjQ0ZWQxZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vU0RQUHJvY2Vzc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1NEUFByb2Nlc3Nvci5jcHAKQEAgLTIyMywzOSArMjIzLDM5IEBAIHN0YXRpYyBSZWZQdHI8
TWVkaWFFbmRwb2ludFNlc3Npb25Db25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9uRnJvbUpTT04o
Y29uc3QgU3RyCiAgICAgICAgICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBwYXlsb2Fkc09i
amVjdCA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CiAgICAgICAgICAgICBwYXlsb2Fkc0Fy
cmF5LT5nZXQoaiktPmFzT2JqZWN0KHBheWxvYWRzT2JqZWN0KTsKIAotICAgICAgICAgICAgUmVm
UHRyPE1lZGlhUGF5bG9hZD4gcGF5bG9hZCA9IE1lZGlhUGF5bG9hZDo6Y3JlYXRlKCk7CisgICAg
ICAgICAgICBNZWRpYVBheWxvYWQgcGF5bG9hZDsKIAogICAgICAgICAgICAgaWYgKHBheWxvYWRz
T2JqZWN0LT5nZXRJbnRlZ2VyKHR5cGVTdHJpbmcoKSwgaW50VmFsdWUpKQotICAgICAgICAgICAg
ICAgIHBheWxvYWQtPnNldFR5cGUoaW50VmFsdWUpOworICAgICAgICAgICAgICAgIHBheWxvYWQu
dHlwZSA9IGludFZhbHVlOwogCiAgICAgICAgICAgICBpZiAocGF5bG9hZHNPYmplY3QtPmdldFN0
cmluZyhlbmNvZGluZ05hbWVTdHJpbmcoKSwgc3RyaW5nVmFsdWUpKQotICAgICAgICAgICAgICAg
IHBheWxvYWQtPnNldEVuY29kaW5nTmFtZShzdHJpbmdWYWx1ZSk7CisgICAgICAgICAgICAgICAg
cGF5bG9hZC5lbmNvZGluZ05hbWUgPSBzdHJpbmdWYWx1ZTsKIAogICAgICAgICAgICAgaWYgKHBh
eWxvYWRzT2JqZWN0LT5nZXRJbnRlZ2VyKGNsb2NrUmF0ZVN0cmluZygpLCBpbnRWYWx1ZSkpCi0g
ICAgICAgICAgICAgICAgcGF5bG9hZC0+c2V0Q2xvY2tSYXRlKGludFZhbHVlKTsKKyAgICAgICAg
ICAgICAgICBwYXlsb2FkLmNsb2NrUmF0ZSA9IGludFZhbHVlOwogCiAgICAgICAgICAgICBpZiAo
cGF5bG9hZHNPYmplY3QtPmdldEludGVnZXIoY2hhbm5lbHNTdHJpbmcoKSwgaW50VmFsdWUpKQot
ICAgICAgICAgICAgICAgIHBheWxvYWQtPnNldENoYW5uZWxzKGludFZhbHVlKTsKKyAgICAgICAg
ICAgICAgICBwYXlsb2FkLmNoYW5uZWxzID0gaW50VmFsdWU7CiAKICAgICAgICAgICAgIGlmIChw
YXlsb2Fkc09iamVjdC0+Z2V0Qm9vbGVhbihjY21maXJTdHJpbmcoKSwgYm9vbFZhbHVlKSkKLSAg
ICAgICAgICAgICAgICBwYXlsb2FkLT5zZXRDY21maXIoYm9vbFZhbHVlKTsKKyAgICAgICAgICAg
ICAgICBwYXlsb2FkLmNjbWZpciA9IGJvb2xWYWx1ZTsKIAogICAgICAgICAgICAgaWYgKHBheWxv
YWRzT2JqZWN0LT5nZXRCb29sZWFuKG5hY2twbGlTdHJpbmcoKSwgYm9vbFZhbHVlKSkKLSAgICAg
ICAgICAgICAgICBwYXlsb2FkLT5zZXROYWNrcGxpKGJvb2xWYWx1ZSk7CisgICAgICAgICAgICAg
ICAgcGF5bG9hZC5uYWNrcGxpID0gYm9vbFZhbHVlOwogCiAgICAgICAgICAgICBpZiAocGF5bG9h
ZHNPYmplY3QtPmdldEJvb2xlYW4obmFja1N0cmluZygpLCBib29sVmFsdWUpKQotICAgICAgICAg
ICAgICAgIHBheWxvYWQtPnNldE5hY2soYm9vbFZhbHVlKTsKKyAgICAgICAgICAgICAgICBwYXls
b2FkLm5hY2sgPSBib29sVmFsdWU7CiAKICAgICAgICAgICAgIFJlZlB0cjxJbnNwZWN0b3JPYmpl
Y3Q+IHBhcmFtZXRlcnNPYmplY3QgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwogICAgICAg
ICAgICAgaWYgKHBheWxvYWRzT2JqZWN0LT5nZXRPYmplY3QocGFyYW1ldGVyc1N0cmluZygpLCBw
YXJhbWV0ZXJzT2JqZWN0KSkgewogICAgICAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJzT2JqZWN0
LT5nZXRJbnRlZ2VyKHBhY2tldGl6YXRpb25Nb2RlU3RyaW5nKCksIGludFZhbHVlKSkKLSAgICAg
ICAgICAgICAgICAgICAgcGF5bG9hZC0+YWRkUGFyYW1ldGVyKCJwYWNrZXRpemF0aW9uTW9kZSIs
IGludFZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgcGF5bG9hZC5hZGRQYXJhbWV0ZXIoInBh
Y2tldGl6YXRpb25Nb2RlIiwgaW50VmFsdWUpOwogCiAgICAgICAgICAgICAgICAgaWYgKHBhcmFt
ZXRlcnNPYmplY3QtPmdldEludGVnZXIoYXB0U3RyaW5nKCksIGludFZhbHVlKSkKLSAgICAgICAg
ICAgICAgICAgICAgcGF5bG9hZC0+YWRkUGFyYW1ldGVyKCJhcHQiLCBpbnRWYWx1ZSk7CisgICAg
ICAgICAgICAgICAgICAgIHBheWxvYWQuYWRkUGFyYW1ldGVyKCJhcHQiLCBpbnRWYWx1ZSk7CiAK
ICAgICAgICAgICAgICAgICBpZiAocGFyYW1ldGVyc09iamVjdC0+Z2V0SW50ZWdlcihydHhUaW1l
U3RyaW5nKCksIGludFZhbHVlKSkKLSAgICAgICAgICAgICAgICAgICAgcGF5bG9hZC0+YWRkUGFy
YW1ldGVyKCJydHhUaW1lIiwgaW50VmFsdWUpOworICAgICAgICAgICAgICAgICAgICBwYXlsb2Fk
LmFkZFBhcmFtZXRlcigicnR4VGltZSIsIGludFZhbHVlKTsKICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgbWVkaWFEZXNjcmlwdGlvbi0+YWRkUGF5bG9hZChXVEZNb3ZlKHBheWxvYWQpKTsK
QEAgLTM2MiwyMiArMzYyLDIyIEBAIHN0YXRpYyBTdHJpbmcgY29uZmlndXJhdGlvblRvSlNPTihj
b25zdCBNZWRpYUVuZHBvaW50U2Vzc2lvbkNvbmZpZ3VyYXRpb24mIGNvbmZpCiAKICAgICAgICAg
UmVmUHRyPEluc3BlY3RvckFycmF5PiBwYXlsb2Fkc0FycmF5ID0gSW5zcGVjdG9yQXJyYXk6OmNy
ZWF0ZSgpOwogCi0gICAgICAgIGZvciAoUmVmUHRyPE1lZGlhUGF5bG9hZD4gcGF5bG9hZCA6IG1l
ZGlhRGVzY3JpcHRpb24tPnBheWxvYWRzKCkpIHsKKyAgICAgICAgZm9yIChhdXRvJiBwYXlsb2Fk
IDogbWVkaWFEZXNjcmlwdGlvbi0+cGF5bG9hZHMoKSkgewogICAgICAgICAgICAgUmVmUHRyPElu
c3BlY3Rvck9iamVjdD4gcGF5bG9hZE9iamVjdCA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7
CiAKLSAgICAgICAgICAgIHBheWxvYWRPYmplY3QtPnNldEludGVnZXIodHlwZVN0cmluZygpLCBw
YXlsb2FkLT50eXBlKCkpOwotICAgICAgICAgICAgcGF5bG9hZE9iamVjdC0+c2V0U3RyaW5nKGVu
Y29kaW5nTmFtZVN0cmluZygpLCBwYXlsb2FkLT5lbmNvZGluZ05hbWUoKSk7Ci0gICAgICAgICAg
ICBwYXlsb2FkT2JqZWN0LT5zZXRJbnRlZ2VyKGNsb2NrUmF0ZVN0cmluZygpLCBwYXlsb2FkLT5j
bG9ja1JhdGUoKSk7Ci0gICAgICAgICAgICBwYXlsb2FkT2JqZWN0LT5zZXRJbnRlZ2VyKGNoYW5u
ZWxzU3RyaW5nKCksIHBheWxvYWQtPmNoYW5uZWxzKCkpOwotICAgICAgICAgICAgcGF5bG9hZE9i
amVjdC0+c2V0Qm9vbGVhbihjY21maXJTdHJpbmcoKSwgcGF5bG9hZC0+Y2NtZmlyKCkpOwotICAg
ICAgICAgICAgcGF5bG9hZE9iamVjdC0+c2V0Qm9vbGVhbihuYWNrcGxpU3RyaW5nKCksIHBheWxv
YWQtPm5hY2twbGkoKSk7Ci0gICAgICAgICAgICBwYXlsb2FkT2JqZWN0LT5zZXRCb29sZWFuKG5h
Y2tTdHJpbmcoKSwgcGF5bG9hZC0+bmFjaygpKTsKKyAgICAgICAgICAgIHBheWxvYWRPYmplY3Qt
PnNldEludGVnZXIodHlwZVN0cmluZygpLCBwYXlsb2FkLnR5cGUpOworICAgICAgICAgICAgcGF5
bG9hZE9iamVjdC0+c2V0U3RyaW5nKGVuY29kaW5nTmFtZVN0cmluZygpLCBwYXlsb2FkLmVuY29k
aW5nTmFtZSk7CisgICAgICAgICAgICBwYXlsb2FkT2JqZWN0LT5zZXRJbnRlZ2VyKGNsb2NrUmF0
ZVN0cmluZygpLCBwYXlsb2FkLmNsb2NrUmF0ZSk7CisgICAgICAgICAgICBwYXlsb2FkT2JqZWN0
LT5zZXRJbnRlZ2VyKGNoYW5uZWxzU3RyaW5nKCksIHBheWxvYWQuY2hhbm5lbHMpOworICAgICAg
ICAgICAgcGF5bG9hZE9iamVjdC0+c2V0Qm9vbGVhbihjY21maXJTdHJpbmcoKSwgcGF5bG9hZC5j
Y21maXIpOworICAgICAgICAgICAgcGF5bG9hZE9iamVjdC0+c2V0Qm9vbGVhbihuYWNrcGxpU3Ry
aW5nKCksIHBheWxvYWQubmFja3BsaSk7CisgICAgICAgICAgICBwYXlsb2FkT2JqZWN0LT5zZXRC
b29sZWFuKG5hY2tTdHJpbmcoKSwgcGF5bG9hZC5uYWNrKTsKIAotICAgICAgICAgICAgaWYgKCFw
YXlsb2FkLT5wYXJhbWV0ZXJzKCkuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICBpZiAoIXBheWxv
YWQucGFyYW1ldGVycy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICBSZWZQdHI8SW5zcGVj
dG9yT2JqZWN0PiBwYXJhbWV0ZXJzT2JqZWN0ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsK
IAotICAgICAgICAgICAgICAgIGZvciAoYXV0byYgbmFtZSA6IHBheWxvYWQtPnBhcmFtZXRlcnMo
KS5rZXlzKCkpCi0gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnNPYmplY3QtPnNldEludGVn
ZXIobmFtZSwgcGF5bG9hZC0+cGFyYW1ldGVycygpLmdldChuYW1lKSk7CisgICAgICAgICAgICAg
ICAgZm9yIChhdXRvJiBuYW1lIDogcGF5bG9hZC5wYXJhbWV0ZXJzLmtleXMoKSkKKyAgICAgICAg
ICAgICAgICAgICAgcGFyYW1ldGVyc09iamVjdC0+c2V0SW50ZWdlcihuYW1lLCBwYXlsb2FkLnBh
cmFtZXRlcnMuZ2V0KG5hbWUpKTsKIAogICAgICAgICAgICAgICAgIHBheWxvYWRPYmplY3QtPnNl
dE9iamVjdChwYXJhbWV0ZXJzU3RyaW5nKCksIHBhcmFtZXRlcnNPYmplY3QpOwogICAgICAgICAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVk
aWFFbmRwb2ludC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFF
bmRwb2ludC5oCmluZGV4IGMxMzNlNWE3NTA0OWNkMDU2OTY5MGEyNTJiOGZhY2MyZDYyNzNhZTAu
LmYyNzczN2Y4MmQ0NmViNTU5OWU0NGM1OGM3ZmY1MzE0MGZlNzgwY2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50LmgKQEAgLTQz
LDExICs0MywxMSBAQCBzdHJ1Y3QgSWNlQ2FuZGlkYXRlOwogY2xhc3MgTWVkaWFFbmRwb2ludDsK
IGNsYXNzIE1lZGlhRW5kcG9pbnRDbGllbnQ7CiBjbGFzcyBNZWRpYUVuZHBvaW50U2Vzc2lvbkNv
bmZpZ3VyYXRpb247Ci1jbGFzcyBNZWRpYVBheWxvYWQ7CitzdHJ1Y3QgTWVkaWFQYXlsb2FkOwog
Y2xhc3MgUmVhbHRpbWVNZWRpYVNvdXJjZTsKIAogdHlwZWRlZiBzdGQ6OnVuaXF1ZV9wdHI8TWVk
aWFFbmRwb2ludD4gKCpDcmVhdGVNZWRpYUVuZHBvaW50KShNZWRpYUVuZHBvaW50Q2xpZW50Jik7
Ci10eXBlZGVmIFZlY3RvcjxSZWZQdHI8TWVkaWFQYXlsb2FkPj4gTWVkaWFQYXlsb2FkVmVjdG9y
OwordHlwZWRlZiBWZWN0b3I8TWVkaWFQYXlsb2FkPiBNZWRpYVBheWxvYWRWZWN0b3I7CiB0eXBl
ZGVmIEhhc2hNYXA8U3RyaW5nLCBSZWFsdGltZU1lZGlhU291cmNlKj4gUmVhbHRpbWVNZWRpYVNv
dXJjZU1hcDsKIAogY2xhc3MgTWVkaWFFbmRwb2ludCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVBheWxvYWQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhUGF5bG9hZC5oCmluZGV4IDZkZjQ3Zjg3YzI0MzY2
NjU2MjQ2YzEwZWJkZTFjZDViNjU2OGNmZDYuLjEyMjllMTA4ZTEyM2I4ZjU5OWI2OTc5NTQ2MWI0
MjA2NDZmN2U1NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL01lZGlhUGF5bG9hZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL01lZGlhUGF5bG9hZC5oCkBAIC0yOCw5MCArMjgsMzQgQEAKICAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
Ki8KIAotI2lmbmRlZiBNZWRpYVBheWxvYWRfaAotI2RlZmluZSBNZWRpYVBheWxvYWRfaAorI3By
YWdtYSBvbmNlCiAKICNpZiBFTkFCTEUoV0VCX1JUQykKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIE1lZGlhUGF5bG9hZCA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhUGF5bG9hZD4g
eworc3RydWN0IE1lZGlhUGF5bG9hZCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxNZWRp
YVBheWxvYWQ+IGNyZWF0ZSgpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1l
ZGlhUGF5bG9hZCgpKTsKLSAgICB9Ci0gICAgdmlydHVhbCB+TWVkaWFQYXlsb2FkKCkgeyB9Cisg
ICAgdm9pZCBhZGRQYXJhbWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1lLCB1bnNpZ25lZCB2YWx1ZSkg
eyBwYXJhbWV0ZXJzLnNldChuYW1lLCB2YWx1ZSk7IH0KIAotICAgIHVuc2lnbmVkIHR5cGUoKSBj
b25zdCB7IHJldHVybiBtX3R5cGU7IH0KLSAgICB2b2lkIHNldFR5cGUodW5zaWduZWQgdHlwZSkg
eyBtX3R5cGUgPSB0eXBlOyB9Ci0KLSAgICBjb25zdCBTdHJpbmcmIGVuY29kaW5nTmFtZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZW5jb2RpbmdOYW1lOyB9Ci0gICAgdm9pZCBzZXRFbmNvZGluZ05hbWUo
Y29uc3QgU3RyaW5nICYgZW5jb2RpbmdOYW1lKSB7IG1fZW5jb2RpbmdOYW1lID0gZW5jb2RpbmdO
YW1lOyB9Ci0KLSAgICB1bnNpZ25lZCBjbG9ja1JhdGUoKSBjb25zdCB7IHJldHVybiBtX2Nsb2Nr
UmF0ZTsgfQotICAgIHZvaWQgc2V0Q2xvY2tSYXRlKHVuc2lnbmVkIGNsb2NrUmF0ZSkgeyBtX2Ns
b2NrUmF0ZSA9IGNsb2NrUmF0ZTsgfQotCi0gICAgdW5zaWduZWQgY2hhbm5lbHMoKSBjb25zdCB7
IHJldHVybiBtX2NoYW5uZWxzOyB9Ci0gICAgdm9pZCBzZXRDaGFubmVscyh1bnNpZ25lZCBjaGFu
bmVscykgeyBtX2NoYW5uZWxzID0gY2hhbm5lbHM7IH0KLQotICAgIGJvb2wgY2NtZmlyKCkgY29u
c3QgeyByZXR1cm4gbV9jY21maXI7IH0KLSAgICB2b2lkIHNldENjbWZpcihib29sIGNjbWZpcikg
eyBtX2NjbWZpciA9IGNjbWZpcjsgfQotCi0gICAgYm9vbCBuYWNrcGxpKCkgY29uc3QgeyByZXR1
cm4gbV9uYWNrcGxpOyB9Ci0gICAgdm9pZCBzZXROYWNrcGxpKGJvb2wgbmFja3BsaSkgeyBtX25h
Y2twbGkgPSBuYWNrcGxpOyB9Ci0KLSAgICBib29sIG5hY2soKSBjb25zdCB7IHJldHVybiBtX25h
Y2s7IH0KLSAgICB2b2lkIHNldE5hY2soYm9vbCBuYWNrKSB7IG1fbmFjayA9IG5hY2s7IH0KLQot
ICAgIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4mIHBhcmFtZXRlcnMoKSBjb25zdCB7
IHJldHVybiBtX3BhcmFtZXRlcnM7IH0KLSAgICB2b2lkIGFkZFBhcmFtZXRlcihjb25zdCBTdHJp
bmcmIG5hbWUsIHVuc2lnbmVkIHZhbHVlKSB7IG1fcGFyYW1ldGVycy5zZXQobmFtZSwgdmFsdWUp
OyB9Ci0KLSAgICBSZWZQdHI8TWVkaWFQYXlsb2FkPiBjbG9uZSgpIGNvbnN0Ci0gICAgewotICAg
ICAgICBSZWZQdHI8TWVkaWFQYXlsb2FkPiBjb3B5ID0gY3JlYXRlKCk7Ci0KLSAgICAgICAgY29w
eS0+bV90eXBlID0gbV90eXBlOwotICAgICAgICBjb3B5LT5tX2VuY29kaW5nTmFtZSA9IFN0cmlu
ZyhtX2VuY29kaW5nTmFtZSk7Ci0gICAgICAgIGNvcHktPm1fY2xvY2tSYXRlID0gbV9jbG9ja1Jh
dGU7Ci0KLSAgICAgICAgY29weS0+bV9jaGFubmVscyA9IG1fY2hhbm5lbHM7Ci0KLSAgICAgICAg
Y29weS0+bV9jY21maXIgPSBtX2NjbWZpcjsKLSAgICAgICAgY29weS0+bV9uYWNrcGxpID0gbV9u
YWNrcGxpOwotICAgICAgICBjb3B5LT5tX25hY2sgPSBtX25hY2s7Ci0KLSAgICAgICAgZm9yIChh
dXRvJiBrZXkgOiBtX3BhcmFtZXRlcnMua2V5cygpKQotICAgICAgICAgICAgY29weS0+bV9wYXJh
bWV0ZXJzLmFkZChrZXksIG1fcGFyYW1ldGVycy5nZXQoa2V5KSk7Ci0KLSAgICAgICAgcmV0dXJu
IGNvcHk7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIE1lZGlhUGF5bG9hZCgpIHsgfQotCi0gICAg
dW5zaWduZWQgbV90eXBlIHsgMCB9OwotICAgIFN0cmluZyBtX2VuY29kaW5nTmFtZTsKLSAgICB1
bnNpZ25lZCBtX2Nsb2NrUmF0ZSB7IDAgfTsKKyAgICB1bnNpZ25lZCB0eXBlIHsgMCB9OworICAg
IFN0cmluZyBlbmNvZGluZ05hbWU7CisgICAgdW5zaWduZWQgY2xvY2tSYXRlIHsgMCB9OwogCiAg
ICAgLy8gYXVkaW8KLSAgICB1bnNpZ25lZCBtX2NoYW5uZWxzIHsgMCB9OworICAgIHVuc2lnbmVk
IGNoYW5uZWxzIHsgMCB9OwogCiAgICAgLy8gdmlkZW8KLSAgICBib29sIG1fY2NtZmlyIHsgZmFs
c2UgfTsKLSAgICBib29sIG1fbmFja3BsaSB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX25hY2sgeyBm
YWxzZSB9OworICAgIGJvb2wgY2NtZmlyIHsgZmFsc2UgfTsKKyAgICBib29sIG5hY2twbGkgeyBm
YWxzZSB9OworICAgIGJvb2wgbmFjayB7IGZhbHNlIH07CiAKLSAgICBIYXNoTWFwPFN0cmluZywg
dW5zaWduZWQ+IG1fcGFyYW1ldGVyczsKKyAgICBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+IHBh
cmFtZXRlcnM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFC
TEUoV0VCX1JUQykKLQotI2VuZGlmIC8vIE1lZGlhUGF5bG9hZF9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyTWVkaWFEZXNjcmlwdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlck1lZGlhRGVzY3JpcHRpb24u
aAppbmRleCA0ODhlODZhNzAwNGJhN2ExZDUyOTBlNTExYzc3Mzc0MWFmNWU3YzU1Li5mNDEwYTFj
ZDAwOWFjMzQ5MDFkYWZiNDY3YzUxM2UzN2VlY2ZhNDA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyTWVkaWFEZXNjcmlwdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1BlZXJNZWRpYURlc2NyaXB0aW9uLmgK
QEAgLTY0LDEwICs2NCwxMCBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBtaWQoKSBjb25z
dCB7IHJldHVybiBtX21pZDsgfQogICAgIHZvaWQgc2V0TWlkKGNvbnN0IFN0cmluZyYgbWlkKSB7
IG1fbWlkID0gbWlkOyB9CiAKLSAgICBjb25zdCBWZWN0b3I8UmVmUHRyPE1lZGlhUGF5bG9hZD4+
JiBwYXlsb2FkcygpIGNvbnN0IHsgcmV0dXJuIG1fcGF5bG9hZHM7IH0KLSAgICB2b2lkIGFkZFBh
eWxvYWQoUmVmUHRyPE1lZGlhUGF5bG9hZD4mJiBwYXlsb2FkKSB7IG1fcGF5bG9hZHMuYXBwZW5k
KFdURk1vdmUocGF5bG9hZCkpOyB9Ci0gICAgdm9pZCBzZXRQYXlsb2FkcyhWZWN0b3I8UmVmUHRy
PE1lZGlhUGF5bG9hZD4+JiYgcGF5bG9hZHMpIHsgbV9wYXlsb2FkcyA9IHBheWxvYWRzOyB9Ci0g
ICAgdm9pZCBzZXRQYXlsb2Fkcyhjb25zdCBWZWN0b3I8UmVmUHRyPE1lZGlhUGF5bG9hZD4+JiBw
YXlsb2FkcykgeyBtX3BheWxvYWRzID0gcGF5bG9hZHM7IH0KKyAgICBjb25zdCBWZWN0b3I8TWVk
aWFQYXlsb2FkPiYgcGF5bG9hZHMoKSBjb25zdCB7IHJldHVybiBtX3BheWxvYWRzOyB9CisgICAg
dm9pZCBhZGRQYXlsb2FkKE1lZGlhUGF5bG9hZCYmIHBheWxvYWQpIHsgbV9wYXlsb2Fkcy5hcHBl
bmQoV1RGTW92ZShwYXlsb2FkKSk7IH0KKyAgICB2b2lkIHNldFBheWxvYWRzKFZlY3RvcjxNZWRp
YVBheWxvYWQ+JiYgcGF5bG9hZHMpIHsgbV9wYXlsb2FkcyA9IHBheWxvYWRzOyB9CisgICAgdm9p
ZCBzZXRQYXlsb2Fkcyhjb25zdCBWZWN0b3I8TWVkaWFQYXlsb2FkPiYgcGF5bG9hZHMpIHsgbV9w
YXlsb2FkcyA9IHBheWxvYWRzOyB9CiAKICAgICBib29sIHJ0Y3BNdXgoKSBjb25zdCB7IHJldHVy
biBtX3J0Y3BNdXg7IH0KICAgICB2b2lkIHNldFJ0Y3BNdXgoYm9vbCBydGNwTXV4KSB7IG1fcnRj
cE11eCA9IHJ0Y3BNdXg7IH0KQEAgLTExOSw4ICsxMTksNyBAQCBwdWJsaWM6CiAgICAgICAgIGNv
cHktPm1fbW9kZSA9IFN0cmluZyhtX21vZGUpOwogICAgICAgICBjb3B5LT5tX21pZCA9IFN0cmlu
ZyhtX21pZCk7CiAKLSAgICAgICAgZm9yIChhdXRvJiBwYXlsb2FkIDogbV9wYXlsb2FkcykKLSAg
ICAgICAgICAgIGNvcHktPm1fcGF5bG9hZHMuYXBwZW5kKHBheWxvYWQtPmNsb25lKCkpOworICAg
ICAgICBjb3B5LT5tX3BheWxvYWRzID0gbV9wYXlsb2FkczsKIAogICAgICAgICBjb3B5LT5tX3J0
Y3BNdXggPSBtX3J0Y3BNdXg7CiAgICAgICAgIGNvcHktPm1fcnRjcEFkZHJlc3MgPSBTdHJpbmco
bV9ydGNwQWRkcmVzcyk7CkBAIC0xNTUsNyArMTU0LDcgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcg
bV9tb2RlIHsgInNlbmRyZWN2IiB9OwogICAgIFN0cmluZyBtX21pZDsKIAotICAgIFZlY3RvcjxS
ZWZQdHI8TWVkaWFQYXlsb2FkPj4gbV9wYXlsb2FkczsKKyAgICBWZWN0b3I8TWVkaWFQYXlsb2Fk
PiBtX3BheWxvYWRzOwogCiAgICAgYm9vbCBtX3J0Y3BNdXggeyB0cnVlIH07CiAgICAgU3RyaW5n
IG1fcnRjcEFkZHJlc3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9vcGVud2VicnRjL01lZGlhRW5kcG9pbnRPd3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9NZWRpYUVuZHBvaW50T3dyLmNwcAppbmRl
eCA2OTBmZjYxMDMxOWQzYTE5ZTQwYjVkNWE3YjgzYmEwN2JkYzUxZWYwLi42MTIwMWUxMGFkMTY3
ZjEyYjAwNWJmMDJlMjg5ODYwYjMxYjExYTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL01lZGlhRW5kcG9pbnRPd3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvTWVkaWFFbmRw
b2ludE93ci5jcHAKQEAgLTExMCwyNiArMTEwLDI2IEBAIE1lZGlhUGF5bG9hZFZlY3RvciBNZWRp
YUVuZHBvaW50T3dyOjpnZXREZWZhdWx0QXVkaW9QYXlsb2FkcygpCiAgICAgTWVkaWFQYXlsb2Fk
VmVjdG9yIHBheWxvYWRzOwogCiAgICAgLy8gRklYTUU6IFRoaXMgbGlzdCBzaG91bGQgYmUgYmFz
ZWQgb24gd2hhdCBpcyBhdmFpbGFibGUgaW4gdGhlIHBsYXRmb3JtIChidWc6IGh0dHA6Ly93ZWJr
aXQub3JnL2IvMTYzNzIzKQotICAgIFJlZlB0cjxNZWRpYVBheWxvYWQ+IHBheWxvYWQgPSBNZWRp
YVBheWxvYWQ6OmNyZWF0ZSgpOwotICAgIHBheWxvYWQtPnNldFR5cGUoMTExKTsKLSAgICBwYXls
b2FkLT5zZXRFbmNvZGluZ05hbWUoIk9QVVMiKTsKLSAgICBwYXlsb2FkLT5zZXRDbG9ja1JhdGUo
NDgwMDApOwotICAgIHBheWxvYWQtPnNldENoYW5uZWxzKDIpOwotICAgIHBheWxvYWRzLmFwcGVu
ZChwYXlsb2FkKTsKLQotICAgIHBheWxvYWQgPSBNZWRpYVBheWxvYWQ6OmNyZWF0ZSgpOwotICAg
IHBheWxvYWQtPnNldFR5cGUoOCk7Ci0gICAgcGF5bG9hZC0+c2V0RW5jb2RpbmdOYW1lKCJQQ01B
Iik7Ci0gICAgcGF5bG9hZC0+c2V0Q2xvY2tSYXRlKDgwMDApOwotICAgIHBheWxvYWQtPnNldENo
YW5uZWxzKDEpOwotICAgIHBheWxvYWRzLmFwcGVuZChwYXlsb2FkKTsKLQotICAgIHBheWxvYWQg
PSBNZWRpYVBheWxvYWQ6OmNyZWF0ZSgpOwotICAgIHBheWxvYWQtPnNldFR5cGUoMCk7Ci0gICAg
cGF5bG9hZC0+c2V0RW5jb2RpbmdOYW1lKCJQQ01VIik7Ci0gICAgcGF5bG9hZC0+c2V0Q2xvY2tS
YXRlKDgwMDApOwotICAgIHBheWxvYWQtPnNldENoYW5uZWxzKDEpOwotICAgIHBheWxvYWRzLmFw
cGVuZChwYXlsb2FkKTsKKyAgICBNZWRpYVBheWxvYWQgcGF5bG9hZDE7CisgICAgcGF5bG9hZDEu
dHlwZSA9IDExMTsKKyAgICBwYXlsb2FkMS5lbmNvZGluZ05hbWUgPSAiT1BVUyI7CisgICAgcGF5
bG9hZDEuY2xvY2tSYXRlID0gNDgwMDA7CisgICAgcGF5bG9hZDEuY2hhbm5lbHMgPSAyOworICAg
IHBheWxvYWRzLmFwcGVuZChXVEZNb3ZlKHBheWxvYWQxKSk7CisKKyAgICBNZWRpYVBheWxvYWQg
cGF5bG9hZDI7CisgICAgcGF5bG9hZDIudHlwZSA9IDg7CisgICAgcGF5bG9hZDIuZW5jb2RpbmdO
YW1lID0gIlBDTUEiOworICAgIHBheWxvYWQyLmNsb2NrUmF0ZSA9IDgwMDA7CisgICAgcGF5bG9h
ZDIuY2hhbm5lbHMgPSAxOworICAgIHBheWxvYWRzLmFwcGVuZChXVEZNb3ZlKHBheWxvYWQyKSk7
CisKKyAgICBNZWRpYVBheWxvYWQgcGF5bG9hZDM7CisgICAgcGF5bG9hZDMudHlwZSA9IDA7Cisg
ICAgcGF5bG9hZDMuZW5jb2RpbmdOYW1lID0gIlBDTVUiOworICAgIHBheWxvYWQzLmNsb2NrUmF0
ZSA9IDgwMDA7CisgICAgcGF5bG9hZDMuY2hhbm5lbHMgPSAxOworICAgIHBheWxvYWRzLmFwcGVu
ZChXVEZNb3ZlKHBheWxvYWQzKSk7CiAKICAgICByZXR1cm4gcGF5bG9hZHM7CiB9CkBAIC0xMzks
MzkgKzEzOSw0MCBAQCBNZWRpYVBheWxvYWRWZWN0b3IgTWVkaWFFbmRwb2ludE93cjo6Z2V0RGVm
YXVsdFZpZGVvUGF5bG9hZHMoKQogICAgIE1lZGlhUGF5bG9hZFZlY3RvciBwYXlsb2FkczsKIAog
ICAgIC8vIEZJWE1FOiBUaGlzIGxpc3Qgc2hvdWxkIGJlIGJhc2VkIG9uIHdoYXQgaXMgYXZhaWxh
YmxlIGluIHRoZSBwbGF0Zm9ybSAoYnVnOiBodHRwOi8vd2Via2l0Lm9yZy9iLzE2MzcyMykKLSAg
ICBSZWZQdHI8TWVkaWFQYXlsb2FkPiBwYXlsb2FkID0gTWVkaWFQYXlsb2FkOjpjcmVhdGUoKTsK
LSAgICBwYXlsb2FkLT5zZXRUeXBlKDEwMyk7Ci0gICAgcGF5bG9hZC0+c2V0RW5jb2RpbmdOYW1l
KCJIMjY0Iik7Ci0gICAgcGF5bG9hZC0+c2V0Q2xvY2tSYXRlKDkwMDAwKTsKLSAgICBwYXlsb2Fk
LT5zZXRDY21maXIodHJ1ZSk7Ci0gICAgcGF5bG9hZC0+c2V0TmFja3BsaSh0cnVlKTsKLSAgICBw
YXlsb2FkLT5hZGRQYXJhbWV0ZXIoInBhY2tldGl6YXRpb25Nb2RlIiwgMSk7Ci0gICAgcGF5bG9h
ZHMuYXBwZW5kKHBheWxvYWQpOwotCi0gICAgcGF5bG9hZCA9IE1lZGlhUGF5bG9hZDo6Y3JlYXRl
KCk7Ci0gICAgcGF5bG9hZC0+c2V0VHlwZSgxMDApOwotICAgIHBheWxvYWQtPnNldEVuY29kaW5n
TmFtZSgiVlA4Iik7Ci0gICAgcGF5bG9hZC0+c2V0Q2xvY2tSYXRlKDkwMDAwKTsKLSAgICBwYXls
b2FkLT5zZXRDY21maXIodHJ1ZSk7Ci0gICAgcGF5bG9hZC0+c2V0TmFja3BsaSh0cnVlKTsKLSAg
ICBwYXlsb2FkLT5zZXROYWNrKHRydWUpOwotICAgIHBheWxvYWRzLmFwcGVuZChwYXlsb2FkKTsK
LQotICAgIHBheWxvYWQgPSBNZWRpYVBheWxvYWQ6OmNyZWF0ZSgpOwotICAgIHBheWxvYWQtPnNl
dFR5cGUoMTIwKTsKLSAgICBwYXlsb2FkLT5zZXRFbmNvZGluZ05hbWUoIlJUWCIpOwotICAgIHBh
eWxvYWQtPnNldENsb2NrUmF0ZSg5MDAwMCk7Ci0gICAgcGF5bG9hZC0+YWRkUGFyYW1ldGVyKCJh
cHQiLCAxMDApOwotICAgIHBheWxvYWQtPmFkZFBhcmFtZXRlcigicnR4VGltZSIsIDIwMCk7Ci0g
ICAgcGF5bG9hZHMuYXBwZW5kKHBheWxvYWQpOworICAgIE1lZGlhUGF5bG9hZCBwYXlsb2FkMTsK
KyAgICBwYXlsb2FkMS50eXBlID0gMTAzOworICAgIHBheWxvYWQxLmVuY29kaW5nTmFtZSA9ICJI
MjY0IjsKKyAgICBwYXlsb2FkMS5jbG9ja1JhdGUgPSA5MDAwMDsKKyAgICBwYXlsb2FkMS5jY21m
aXIgPSB0cnVlOworICAgIHBheWxvYWQxLm5hY2twbGkgPSB0cnVlOworICAgIHBheWxvYWQxLmFk
ZFBhcmFtZXRlcigicGFja2V0aXphdGlvbk1vZGUiLCAxKTsKKyAgICBwYXlsb2Fkcy5hcHBlbmQo
V1RGTW92ZShwYXlsb2FkMSkpOworCisgICAgTWVkaWFQYXlsb2FkIHBheWxvYWQyOworICAgIHBh
eWxvYWQyLnR5cGUgPSAxMDA7CisgICAgcGF5bG9hZDIuZW5jb2RpbmdOYW1lID0gIlZQOCI7Cisg
ICAgcGF5bG9hZDIuY2xvY2tSYXRlID0gOTAwMDA7CisgICAgcGF5bG9hZDIuY2NtZmlyID0gdHJ1
ZTsKKyAgICBwYXlsb2FkMi5uYWNrcGxpID0gdHJ1ZTsKKyAgICBwYXlsb2FkMi5uYWNrID0gdHJ1
ZTsKKyAgICBwYXlsb2Fkcy5hcHBlbmQoV1RGTW92ZShwYXlsb2FkMikpOworCisgICAgTWVkaWFQ
YXlsb2FkIHBheWxvYWQzOworICAgIHBheWxvYWQzLnR5cGUgPSAxMjA7CisgICAgcGF5bG9hZDMu
ZW5jb2RpbmdOYW1lID0gIlJUWCI7CisgICAgcGF5bG9hZDMuY2xvY2tSYXRlID0gOTAwMDA7Cisg
ICAgcGF5bG9hZDEuYWRkUGFyYW1ldGVyKCJhcHQiLCAxMDApOworICAgIHBheWxvYWQxLmFkZFBh
cmFtZXRlcigicnR4VGltZSIsIDIwMCk7CisgICAgcGF5bG9hZHMuYXBwZW5kKFdURk1vdmUocGF5
bG9hZDMpKTsKIAogICAgIHJldHVybiBwYXlsb2FkczsKIH0KIAotc3RhdGljIGJvb2wgcGF5bG9h
ZHNDb250YWluVHlwZShNZWRpYVBheWxvYWRWZWN0b3IgcGF5bG9hZHMsIHVuc2lnbmVkIHBheWxv
YWRUeXBlKQorc3RhdGljIGJvb2wgcGF5bG9hZHNDb250YWluVHlwZShjb25zdCBWZWN0b3I8Y29u
c3QgTWVkaWFQYXlsb2FkKj4mIHBheWxvYWRzLCB1bnNpZ25lZCBwYXlsb2FkVHlwZSkKIHsKLSAg
ICBmb3IgKGF1dG8mIHBheWxvYWQgOiBwYXlsb2FkcykgewotICAgICAgICBpZiAocGF5bG9hZC0+
dHlwZSgpID09IHBheWxvYWRUeXBlKQorICAgIGZvciAoYXV0byBwYXlsb2FkIDogcGF5bG9hZHMp
IHsKKyAgICAgICAgQVNTRVJUKHBheWxvYWQpOworICAgICAgICBpZiAocGF5bG9hZC0+dHlwZSA9
PSBwYXlsb2FkVHlwZSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICByZXR1
cm4gZmFsc2U7CkBAIC0xNzksMzIgKzE4MCwzMiBAQCBzdGF0aWMgYm9vbCBwYXlsb2Fkc0NvbnRh
aW5UeXBlKE1lZGlhUGF5bG9hZFZlY3RvciBwYXlsb2FkcywgdW5zaWduZWQgcGF5bG9hZFR5cAog
CiBNZWRpYVBheWxvYWRWZWN0b3IgTWVkaWFFbmRwb2ludE93cjo6ZmlsdGVyUGF5bG9hZHMoY29u
c3QgTWVkaWFQYXlsb2FkVmVjdG9yJiByZW1vdGVQYXlsb2FkcywgY29uc3QgTWVkaWFQYXlsb2Fk
VmVjdG9yJiBkZWZhdWx0UGF5bG9hZHMpCiB7Ci0gICAgTWVkaWFQYXlsb2FkVmVjdG9yIGZpbHRl
cmVkUGF5bG9hZHM7CisgICAgVmVjdG9yPGNvbnN0IE1lZGlhUGF5bG9hZCo+IGZpbHRlcmVkUGF5
bG9hZHM7CiAKICAgICBmb3IgKGF1dG8mIHJlbW90ZVBheWxvYWQgOiByZW1vdGVQYXlsb2Fkcykg
ewotICAgICAgICBNZWRpYVBheWxvYWQqIGRlZmF1bHRQYXlsb2FkID0gbnVsbHB0cjsKKyAgICAg
ICAgY29uc3QgTWVkaWFQYXlsb2FkKiBkZWZhdWx0UGF5bG9hZCA9IG51bGxwdHI7CiAgICAgICAg
IGZvciAoYXV0byYgcCA6IGRlZmF1bHRQYXlsb2FkcykgewotICAgICAgICAgICAgaWYgKHAtPmVu
Y29kaW5nTmFtZSgpID09IHJlbW90ZVBheWxvYWQtPmVuY29kaW5nTmFtZSgpLmNvbnZlcnRUb0FT
Q0lJVXBwZXJjYXNlKCkpIHsKLSAgICAgICAgICAgICAgICBkZWZhdWx0UGF5bG9hZCA9IHAuZ2V0
KCk7CisgICAgICAgICAgICBpZiAocC5lbmNvZGluZ05hbWUgPT0gcmVtb3RlUGF5bG9hZC5lbmNv
ZGluZ05hbWUuY29udmVydFRvQVNDSUlVcHBlcmNhc2UoKSkgeworICAgICAgICAgICAgICAgIGRl
ZmF1bHRQYXlsb2FkID0gJnA7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICAgICAgaWYgKCFkZWZhdWx0UGF5bG9hZCkKICAgICAgICAgICAgIGNv
bnRpbnVlOwogCi0gICAgICAgIGlmIChkZWZhdWx0UGF5bG9hZC0+cGFyYW1ldGVycygpLmNvbnRh
aW5zKCJwYWNrZXRpemF0aW9uTW9kZSIpICYmIHJlbW90ZVBheWxvYWQtPnBhcmFtZXRlcnMoKS5j
b250YWlucygicGFja2V0aXphdGlvbk1vZGUiKQotICAgICAgICAgICAgJiYgKGRlZmF1bHRQYXls
b2FkLT5wYXJhbWV0ZXJzKCkuZ2V0KCJwYWNrZXRpemF0aW9uTW9kZSIpICE9IGRlZmF1bHRQYXls
b2FkLT5wYXJhbWV0ZXJzKCkuZ2V0KCJwYWNrZXRpemF0aW9uTW9kZSIpKSkKKyAgICAgICAgaWYg
KGRlZmF1bHRQYXlsb2FkLT5wYXJhbWV0ZXJzLmNvbnRhaW5zKCJwYWNrZXRpemF0aW9uTW9kZSIp
ICYmIHJlbW90ZVBheWxvYWQucGFyYW1ldGVycy5jb250YWlucygicGFja2V0aXphdGlvbk1vZGUi
KQorICAgICAgICAgICAgJiYgKGRlZmF1bHRQYXlsb2FkLT5wYXJhbWV0ZXJzLmdldCgicGFja2V0
aXphdGlvbk1vZGUiKSAhPSBkZWZhdWx0UGF5bG9hZC0+cGFyYW1ldGVycy5nZXQoInBhY2tldGl6
YXRpb25Nb2RlIikpKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgZmlsdGVyZWRQ
YXlsb2Fkcy5hcHBlbmQocmVtb3RlUGF5bG9hZCk7CisgICAgICAgIGZpbHRlcmVkUGF5bG9hZHMu
YXBwZW5kKCZyZW1vdGVQYXlsb2FkKTsKICAgICB9CiAKICAgICBNZWRpYVBheWxvYWRWZWN0b3Ig
ZmlsdGVyZWRBcHRQYXlsb2FkczsKIAotICAgIGZvciAoYXV0byYgZmlsdGVyZWRQYXlsb2FkIDog
ZmlsdGVyZWRQYXlsb2FkcykgewotICAgICAgICBpZiAoZmlsdGVyZWRQYXlsb2FkLT5wYXJhbWV0
ZXJzKCkuY29udGFpbnMoImFwdCIpICYmICghcGF5bG9hZHNDb250YWluVHlwZShmaWx0ZXJlZFBh
eWxvYWRzLCBmaWx0ZXJlZFBheWxvYWQtPnBhcmFtZXRlcnMoKS5nZXQoImFwdCIpKSkpCisgICAg
Zm9yIChhdXRvIGZpbHRlcmVkUGF5bG9hZCA6IGZpbHRlcmVkUGF5bG9hZHMpIHsKKyAgICAgICAg
aWYgKGZpbHRlcmVkUGF5bG9hZC0+cGFyYW1ldGVycy5jb250YWlucygiYXB0IikgJiYgKCFwYXls
b2Fkc0NvbnRhaW5UeXBlKGZpbHRlcmVkUGF5bG9hZHMsIGZpbHRlcmVkUGF5bG9hZC0+cGFyYW1l
dGVycy5nZXQoImFwdCIpKSkpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgZmlsdGVy
ZWRBcHRQYXlsb2Fkcy5hcHBlbmQoZmlsdGVyZWRQYXlsb2FkKTsKKyAgICAgICAgZmlsdGVyZWRB
cHRQYXlsb2Fkcy5hcHBlbmQoKmZpbHRlcmVkUGF5bG9hZCk7CiAgICAgfQogCiAgICAgcmV0dXJu
IGZpbHRlcmVkQXB0UGF5bG9hZHM7CkBAIC0yMzUsMTIgKzIzNiwxMiBAQCBNZWRpYUVuZHBvaW50
OjpVcGRhdGVSZXN1bHQgTWVkaWFFbmRwb2ludE93cjo6dXBkYXRlUmVjZWl2ZUNvbmZpZ3VyYXRp
b24oTWVkaWFFbgogICAgIHJldHVybiBVcGRhdGVSZXN1bHQ6OlN1Y2Nlc3M7CiB9CiAKLXN0YXRp
YyBSZWZQdHI8TWVkaWFQYXlsb2FkPiBmaW5kUnR4UGF5bG9hZChNZWRpYVBheWxvYWRWZWN0b3Ig
cGF5bG9hZHMsIHVuc2lnbmVkIGFwdCkKK3N0YXRpYyBjb25zdCBNZWRpYVBheWxvYWQqIGZpbmRS
dHhQYXlsb2FkKGNvbnN0IE1lZGlhUGF5bG9hZFZlY3RvciYgcGF5bG9hZHMsIHVuc2lnbmVkIGFw
dCkKIHsKICAgICBmb3IgKGF1dG8mIHBheWxvYWQgOiBwYXlsb2FkcykgewotICAgICAgICBpZiAo
cGF5bG9hZC0+ZW5jb2RpbmdOYW1lKCkuY29udmVydFRvQVNDSUlVcHBlcmNhc2UoKSA9PSAiUlRY
IiAmJiBwYXlsb2FkLT5wYXJhbWV0ZXJzKCkuY29udGFpbnMoImFwdCIpCi0gICAgICAgICAgICAm
JiAocGF5bG9hZC0+cGFyYW1ldGVycygpLmdldCgiYXB0IikgPT0gYXB0KSkKLSAgICAgICAgICAg
IHJldHVybiBwYXlsb2FkOworICAgICAgICBpZiAocGF5bG9hZC5lbmNvZGluZ05hbWUuY29udmVy
dFRvQVNDSUlVcHBlcmNhc2UoKSA9PSAiUlRYIiAmJiBwYXlsb2FkLnBhcmFtZXRlcnMuY29udGFp
bnMoImFwdCIpCisgICAgICAgICAgICAmJiAocGF5bG9hZC5wYXJhbWV0ZXJzLmdldCgiYXB0Iikg
PT0gYXB0KSkKKyAgICAgICAgICAgIHJldHVybiAmcGF5bG9hZDsKICAgICB9CiAgICAgcmV0dXJu
IG51bGxwdHI7CiB9CkBAIC0yNzYsMTAgKzI3NywxMCBAQCBNZWRpYUVuZHBvaW50OjpVcGRhdGVS
ZXN1bHQgTWVkaWFFbmRwb2ludE93cjo6dXBkYXRlU2VuZENvbmZpZ3VyYXRpb24oTWVkaWFFbmRw
bwogICAgICAgICBpZiAoIXNlbmRTb3VyY2VNYXAuY29udGFpbnMobWRlc2MubWlkKCkpKQogICAg
ICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgTWVkaWFQYXlsb2FkKiBwYXlsb2FkID0gbnVs
bHB0cjsKKyAgICAgICAgY29uc3QgTWVkaWFQYXlsb2FkKiBwYXlsb2FkID0gbnVsbHB0cjsKICAg
ICAgICAgZm9yIChhdXRvJiBwIDogbWRlc2MucGF5bG9hZHMoKSkgewotICAgICAgICAgICAgaWYg
KHAtPmVuY29kaW5nTmFtZSgpLmNvbnZlcnRUb0FTQ0lJVXBwZXJjYXNlKCkgIT0gIlJUWCIpIHsK
LSAgICAgICAgICAgICAgICBwYXlsb2FkID0gcC5nZXQoKTsKKyAgICAgICAgICAgIGlmIChwLmVu
Y29kaW5nTmFtZS5jb252ZXJ0VG9BU0NJSVVwcGVyY2FzZSgpICE9ICJSVFgiKSB7CisgICAgICAg
ICAgICAgICAgcGF5bG9hZCA9ICZwOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgfQogICAgICAgICB9CkBAIC0yODcsMTkgKzI4OCwxOSBAQCBNZWRpYUVuZHBvaW50OjpVcGRh
dGVSZXN1bHQgTWVkaWFFbmRwb2ludE93cjo6dXBkYXRlU2VuZENvbmZpZ3VyYXRpb24oTWVkaWFF
bmRwbwogICAgICAgICBpZiAoIXBheWxvYWQpCiAgICAgICAgICAgICByZXR1cm4gVXBkYXRlUmVz
dWx0OjpGYWlsZWQ7CiAKLSAgICAgICAgUmVmUHRyPE1lZGlhUGF5bG9hZD4gcnR4UGF5bG9hZCA9
IGZpbmRSdHhQYXlsb2FkKG1kZXNjLnBheWxvYWRzKCksIHBheWxvYWQtPnR5cGUoKSk7Ci0gICAg
ICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VPd3IqIHNvdXJjZSA9IHN0YXRpY19jYXN0PFJlYWx0aW1l
TWVkaWFTb3VyY2VPd3IqPihzZW5kU291cmNlTWFwLmdldChtZGVzYy5taWQoKSkpOworICAgICAg
ICBhdXRvKiBydHhQYXlsb2FkID0gZmluZFJ0eFBheWxvYWQobWRlc2MucGF5bG9hZHMoKSwgcGF5
bG9hZC0+dHlwZSk7CisgICAgICAgIGF1dG8qIHNvdXJjZSA9IHN0YXRpY19jYXN0PFJlYWx0aW1l
TWVkaWFTb3VyY2VPd3IqPihzZW5kU291cmNlTWFwLmdldChtZGVzYy5taWQoKSkpOwogCi0gICAg
ICAgIEFTU0VSVChjb2RlY1R5cGVzLmZpbmQocGF5bG9hZC0+ZW5jb2RpbmdOYW1lKCkuY29udmVy
dFRvQVNDSUlVcHBlcmNhc2UoKSkgIT0gbm90Rm91bmQpOwotICAgICAgICBPd3JDb2RlY1R5cGUg
Y29kZWNUeXBlID0gc3RhdGljX2Nhc3Q8T3dyQ29kZWNUeXBlPihjb2RlY1R5cGVzLmZpbmQocGF5
bG9hZC0+ZW5jb2RpbmdOYW1lKCkuY29udmVydFRvQVNDSUlVcHBlcmNhc2UoKSkpOworICAgICAg
ICBBU1NFUlQoY29kZWNUeXBlcy5maW5kKHBheWxvYWQtPmVuY29kaW5nTmFtZS5jb252ZXJ0VG9B
U0NJSVVwcGVyY2FzZSgpKSAhPSBub3RGb3VuZCk7CisgICAgICAgIGF1dG8gY29kZWNUeXBlID0g
c3RhdGljX2Nhc3Q8T3dyQ29kZWNUeXBlPihjb2RlY1R5cGVzLmZpbmQocGF5bG9hZC0+ZW5jb2Rp
bmdOYW1lLmNvbnZlcnRUb0FTQ0lJVXBwZXJjYXNlKCkpKTsKIAogICAgICAgICBPd3JQYXlsb2Fk
KiBzZW5kUGF5bG9hZDsKICAgICAgICAgaWYgKG1kZXNjLnR5cGUoKSA9PSAiYXVkaW8iKQotICAg
ICAgICAgICAgc2VuZFBheWxvYWQgPSBvd3JfYXVkaW9fcGF5bG9hZF9uZXcoY29kZWNUeXBlLCBw
YXlsb2FkLT50eXBlKCksIHBheWxvYWQtPmNsb2NrUmF0ZSgpLCBwYXlsb2FkLT5jaGFubmVscygp
KTsKKyAgICAgICAgICAgIHNlbmRQYXlsb2FkID0gb3dyX2F1ZGlvX3BheWxvYWRfbmV3KGNvZGVj
VHlwZSwgcGF5bG9hZC0+dHlwZSwgcGF5bG9hZC0+Y2xvY2tSYXRlLCBwYXlsb2FkLT5jaGFubmVs
cyk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgc2VuZFBheWxvYWQgPSBvd3JfdmlkZW9f
cGF5bG9hZF9uZXcoY29kZWNUeXBlLCBwYXlsb2FkLT50eXBlKCksIHBheWxvYWQtPmNsb2NrUmF0
ZSgpLCBwYXlsb2FkLT5jY21maXIoKSwgcGF5bG9hZC0+bmFja3BsaSgpKTsKLSAgICAgICAgICAg
IGdfb2JqZWN0X3NldChzZW5kUGF5bG9hZCwgInJ0eC1wYXlsb2FkLXR5cGUiLCBydHhQYXlsb2Fk
ID8gcnR4UGF5bG9hZC0+dHlwZSgpIDogLTEsCi0gICAgICAgICAgICAgICAgInJ0eC10aW1lIiwg
cnR4UGF5bG9hZCAmJiBydHhQYXlsb2FkLT5wYXJhbWV0ZXJzKCkuY29udGFpbnMoInJ0eFRpbWUi
KSA/IHJ0eFBheWxvYWQtPnBhcmFtZXRlcnMoKS5nZXQoInJ0eFRpbWUiKSA6IDAsIG51bGxwdHIp
OworICAgICAgICAgICAgc2VuZFBheWxvYWQgPSBvd3JfdmlkZW9fcGF5bG9hZF9uZXcoY29kZWNU
eXBlLCBwYXlsb2FkLT50eXBlLCBwYXlsb2FkLT5jbG9ja1JhdGUsIHBheWxvYWQtPmNjbWZpciwg
cGF5bG9hZC0+bmFja3BsaSk7CisgICAgICAgICAgICBnX29iamVjdF9zZXQoc2VuZFBheWxvYWQs
ICJydHgtcGF5bG9hZC10eXBlIiwgcnR4UGF5bG9hZCA/IHJ0eFBheWxvYWQtPnR5cGUgOiAtMSwK
KyAgICAgICAgICAgICAgICAicnR4LXRpbWUiLCBydHhQYXlsb2FkICYmIHJ0eFBheWxvYWQtPnBh
cmFtZXRlcnMuY29udGFpbnMoInJ0eFRpbWUiKSA/IHJ0eFBheWxvYWQtPnBhcmFtZXRlcnMuZ2V0
KCJydHhUaW1lIikgOiAwLCBudWxscHRyKTsKICAgICAgICAgfQogCiAgICAgICAgIG93cl9tZWRp
YV9zZXNzaW9uX3NldF9zZW5kX3BheWxvYWQoT1dSX01FRElBX1NFU1NJT04oc2Vzc2lvbiksIHNl
bmRQYXlsb2FkKTsKQEAgLTQ4OSwyMSArNDkwLDIxIEBAIHZvaWQgTWVkaWFFbmRwb2ludE93cjo6
cHJlcGFyZU1lZGlhU2Vzc2lvbihPd3JNZWRpYVNlc3Npb24qIG1lZGlhU2Vzc2lvbiwgUGVlck1l
CiAgICAgZ19zaWduYWxfY29ubmVjdChtZWRpYVNlc3Npb24sICJvbi1pbmNvbWluZy1zb3VyY2Ui
LCBHX0NBTExCQUNLKGdvdEluY29taW5nU291cmNlKSwgdGhpcyk7CiAKICAgICBmb3IgKGF1dG8m
IHBheWxvYWQgOiBtZWRpYURlc2NyaXB0aW9uLT5wYXlsb2FkcygpKSB7Ci0gICAgICAgIGlmIChw
YXlsb2FkLT5lbmNvZGluZ05hbWUoKS5jb252ZXJ0VG9BU0NJSVVwcGVyY2FzZSgpID09ICJSVFgi
KQorICAgICAgICBpZiAocGF5bG9hZC5lbmNvZGluZ05hbWUuY29udmVydFRvQVNDSUlVcHBlcmNh
c2UoKSA9PSAiUlRYIikKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIFJlZlB0cjxN
ZWRpYVBheWxvYWQ+IHJ0eFBheWxvYWQgPSBmaW5kUnR4UGF5bG9hZChtZWRpYURlc2NyaXB0aW9u
LT5wYXlsb2FkcygpLCBwYXlsb2FkLT50eXBlKCkpOworICAgICAgICBhdXRvKiBydHhQYXlsb2Fk
ID0gZmluZFJ0eFBheWxvYWQobWVkaWFEZXNjcmlwdGlvbi0+cGF5bG9hZHMoKSwgcGF5bG9hZC50
eXBlKTsKIAotICAgICAgICBBU1NFUlQoY29kZWNUeXBlcy5maW5kKHBheWxvYWQtPmVuY29kaW5n
TmFtZSgpKSAhPSBub3RGb3VuZCk7Ci0gICAgICAgIE93ckNvZGVjVHlwZSBjb2RlY1R5cGUgPSBz
dGF0aWNfY2FzdDxPd3JDb2RlY1R5cGU+KGNvZGVjVHlwZXMuZmluZChwYXlsb2FkLT5lbmNvZGlu
Z05hbWUoKS5jb252ZXJ0VG9BU0NJSVVwcGVyY2FzZSgpKSk7CisgICAgICAgIEFTU0VSVChjb2Rl
Y1R5cGVzLmZpbmQocGF5bG9hZC5lbmNvZGluZ05hbWUpICE9IG5vdEZvdW5kKTsKKyAgICAgICAg
T3dyQ29kZWNUeXBlIGNvZGVjVHlwZSA9IHN0YXRpY19jYXN0PE93ckNvZGVjVHlwZT4oY29kZWNU
eXBlcy5maW5kKHBheWxvYWQuZW5jb2RpbmdOYW1lLmNvbnZlcnRUb0FTQ0lJVXBwZXJjYXNlKCkp
KTsKIAogICAgICAgICBPd3JQYXlsb2FkKiByZWNlaXZlUGF5bG9hZDsKICAgICAgICAgaWYgKG1l
ZGlhRGVzY3JpcHRpb24tPnR5cGUoKSA9PSAiYXVkaW8iKQotICAgICAgICAgICAgcmVjZWl2ZVBh
eWxvYWQgPSBvd3JfYXVkaW9fcGF5bG9hZF9uZXcoY29kZWNUeXBlLCBwYXlsb2FkLT50eXBlKCks
IHBheWxvYWQtPmNsb2NrUmF0ZSgpLCBwYXlsb2FkLT5jaGFubmVscygpKTsKKyAgICAgICAgICAg
IHJlY2VpdmVQYXlsb2FkID0gb3dyX2F1ZGlvX3BheWxvYWRfbmV3KGNvZGVjVHlwZSwgcGF5bG9h
ZC50eXBlLCBwYXlsb2FkLmNsb2NrUmF0ZSwgcGF5bG9hZC5jaGFubmVscyk7CiAgICAgICAgIGVs
c2UgewotICAgICAgICAgICAgcmVjZWl2ZVBheWxvYWQgPSBvd3JfdmlkZW9fcGF5bG9hZF9uZXco
Y29kZWNUeXBlLCBwYXlsb2FkLT50eXBlKCksIHBheWxvYWQtPmNsb2NrUmF0ZSgpLCBwYXlsb2Fk
LT5jY21maXIoKSwgcGF5bG9hZC0+bmFja3BsaSgpKTsKLSAgICAgICAgICAgIGdfb2JqZWN0X3Nl
dChyZWNlaXZlUGF5bG9hZCwgInJ0eC1wYXlsb2FkLXR5cGUiLCBydHhQYXlsb2FkID8gcnR4UGF5
bG9hZC0+dHlwZSgpIDogLTEsCi0gICAgICAgICAgICAgICAgInJ0eC10aW1lIiwgcnR4UGF5bG9h
ZCAmJiBydHhQYXlsb2FkLT5wYXJhbWV0ZXJzKCkuY29udGFpbnMoInJ0eFRpbWUiKSA/IHJ0eFBh
eWxvYWQtPnBhcmFtZXRlcnMoKS5nZXQoInJ0eFRpbWUiKSA6IDAsIG51bGxwdHIpOworICAgICAg
ICAgICAgcmVjZWl2ZVBheWxvYWQgPSBvd3JfdmlkZW9fcGF5bG9hZF9uZXcoY29kZWNUeXBlLCBw
YXlsb2FkLnR5cGUsIHBheWxvYWQuY2xvY2tSYXRlLCBwYXlsb2FkLmNjbWZpciwgcGF5bG9hZC5u
YWNrcGxpKTsKKyAgICAgICAgICAgIGdfb2JqZWN0X3NldChyZWNlaXZlUGF5bG9hZCwgInJ0eC1w
YXlsb2FkLXR5cGUiLCBydHhQYXlsb2FkID8gcnR4UGF5bG9hZC0+dHlwZSA6IC0xLAorICAgICAg
ICAgICAgICAgICJydHgtdGltZSIsIHJ0eFBheWxvYWQgJiYgcnR4UGF5bG9hZC0+cGFyYW1ldGVy
cy5jb250YWlucygicnR4VGltZSIpID8gcnR4UGF5bG9hZC0+cGFyYW1ldGVycy5nZXQoInJ0eFRp
bWUiKSA6IDAsIG51bGxwdHIpOwogICAgICAgICB9CiAKICAgICAgICAgb3dyX21lZGlhX3Nlc3Np
b25fYWRkX3JlY2VpdmVfcGF5bG9hZChtZWRpYVNlc3Npb24sIHJlY2VpdmVQYXlsb2FkKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAK
aW5kZXggYmY3YmZjYWJkOTI3NTA1M2MyMzFkMTdkZmY1ZTJiYWIyZDM3MGQ4Ny4uZjkxOWE0Njkx
YTAyYjRlZWYyYzE2NWViOWNlYTQyOTYxZjMyNmZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAKQEAgLTc0LDI2ICs3NCwyNiBA
QCBNZWRpYVBheWxvYWRWZWN0b3IgTW9ja01lZGlhRW5kcG9pbnQ6OmdldERlZmF1bHRBdWRpb1Bh
eWxvYWRzKCkKIHsKICAgICBNZWRpYVBheWxvYWRWZWN0b3IgcGF5bG9hZHM7CiAKLSAgICBSZWZQ
dHI8TWVkaWFQYXlsb2FkPiBwYXlsb2FkID0gTWVkaWFQYXlsb2FkOjpjcmVhdGUoKTsKLSAgICBw
YXlsb2FkLT5zZXRUeXBlKDExMSk7Ci0gICAgcGF5bG9hZC0+c2V0RW5jb2RpbmdOYW1lKCJPUFVT
Iik7Ci0gICAgcGF5bG9hZC0+c2V0Q2xvY2tSYXRlKDQ4MDAwKTsKLSAgICBwYXlsb2FkLT5zZXRD
aGFubmVscygyKTsKLSAgICBwYXlsb2Fkcy5hcHBlbmQocGF5bG9hZCk7Ci0KLSAgICBwYXlsb2Fk
ID0gTWVkaWFQYXlsb2FkOjpjcmVhdGUoKTsKLSAgICBwYXlsb2FkLT5zZXRUeXBlKDgpOwotICAg
IHBheWxvYWQtPnNldEVuY29kaW5nTmFtZSgiUENNQSIpOwotICAgIHBheWxvYWQtPnNldENsb2Nr
UmF0ZSg4MDAwKTsKLSAgICBwYXlsb2FkLT5zZXRDaGFubmVscygxKTsKLSAgICBwYXlsb2Fkcy5h
cHBlbmQocGF5bG9hZCk7Ci0KLSAgICBwYXlsb2FkID0gTWVkaWFQYXlsb2FkOjpjcmVhdGUoKTsK
LSAgICBwYXlsb2FkLT5zZXRUeXBlKDApOwotICAgIHBheWxvYWQtPnNldEVuY29kaW5nTmFtZSgi
UENNVSIpOwotICAgIHBheWxvYWQtPnNldENsb2NrUmF0ZSg4MDAwKTsKLSAgICBwYXlsb2FkLT5z
ZXRDaGFubmVscygxKTsKLSAgICBwYXlsb2Fkcy5hcHBlbmQocGF5bG9hZCk7CisgICAgTWVkaWFQ
YXlsb2FkIHBheWxvYWQxOworICAgIHBheWxvYWQxLnR5cGUgPSAxMTE7CisgICAgcGF5bG9hZDEu
ZW5jb2RpbmdOYW1lID0gIk9QVVMiOworICAgIHBheWxvYWQxLmNsb2NrUmF0ZSA9IDQ4MDAwOwor
ICAgIHBheWxvYWQxLmNoYW5uZWxzID0gMjsKKyAgICBwYXlsb2Fkcy5hcHBlbmQoV1RGTW92ZShw
YXlsb2FkMSkpOworCisgICAgTWVkaWFQYXlsb2FkIHBheWxvYWQyOworICAgIHBheWxvYWQyLnR5
cGUgPSA4OworICAgIHBheWxvYWQyLmVuY29kaW5nTmFtZSA9ICJQQ01BIjsKKyAgICBwYXlsb2Fk
Mi5jbG9ja1JhdGUgPSA4MDAwOworICAgIHBheWxvYWQyLmNoYW5uZWxzID0gMTsKKyAgICBwYXls
b2Fkcy5hcHBlbmQoV1RGTW92ZShwYXlsb2FkMikpOworCisgICAgTWVkaWFQYXlsb2FkIHBheWxv
YWQzOworICAgIHBheWxvYWQzLnR5cGUgPSAwOworICAgIHBheWxvYWQzLmVuY29kaW5nTmFtZSA9
ICJQQ01VIjsKKyAgICBwYXlsb2FkMy5jbG9ja1JhdGUgPSA4MDAwOworICAgIHBheWxvYWQzLmNo
YW5uZWxzID0gMTsKKyAgICBwYXlsb2Fkcy5hcHBlbmQoV1RGTW92ZShwYXlsb2FkMykpOwogCiAg
ICAgcmV0dXJuIHBheWxvYWRzOwogfQpAQCAtMTAyLDMxICsxMDIsMzEgQEAgTWVkaWFQYXlsb2Fk
VmVjdG9yIE1vY2tNZWRpYUVuZHBvaW50OjpnZXREZWZhdWx0VmlkZW9QYXlsb2FkcygpCiB7CiAg
ICAgTWVkaWFQYXlsb2FkVmVjdG9yIHBheWxvYWRzOwogCi0gICAgUmVmUHRyPE1lZGlhUGF5bG9h
ZD4gcGF5bG9hZCA9IE1lZGlhUGF5bG9hZDo6Y3JlYXRlKCk7Ci0gICAgcGF5bG9hZC0+c2V0VHlw
ZSgxMDMpOwotICAgIHBheWxvYWQtPnNldEVuY29kaW5nTmFtZSgiSDI2NCIpOwotICAgIHBheWxv
YWQtPnNldENsb2NrUmF0ZSg5MDAwMCk7Ci0gICAgcGF5bG9hZC0+c2V0Q2NtZmlyKHRydWUpOwot
ICAgIHBheWxvYWQtPnNldE5hY2twbGkodHJ1ZSk7Ci0gICAgcGF5bG9hZC0+YWRkUGFyYW1ldGVy
KCJwYWNrZXRpemF0aW9uTW9kZSIsIDEpOwotICAgIHBheWxvYWRzLmFwcGVuZChwYXlsb2FkKTsK
LQotICAgIHBheWxvYWQgPSBNZWRpYVBheWxvYWQ6OmNyZWF0ZSgpOwotICAgIHBheWxvYWQtPnNl
dFR5cGUoMTAwKTsKLSAgICBwYXlsb2FkLT5zZXRFbmNvZGluZ05hbWUoIlZQOCIpOwotICAgIHBh
eWxvYWQtPnNldENsb2NrUmF0ZSg5MDAwMCk7Ci0gICAgcGF5bG9hZC0+c2V0Q2NtZmlyKHRydWUp
OwotICAgIHBheWxvYWQtPnNldE5hY2twbGkodHJ1ZSk7Ci0gICAgcGF5bG9hZC0+c2V0TmFjayh0
cnVlKTsKLSAgICBwYXlsb2Fkcy5hcHBlbmQocGF5bG9hZCk7Ci0KLSAgICBwYXlsb2FkID0gTWVk
aWFQYXlsb2FkOjpjcmVhdGUoKTsKLSAgICBwYXlsb2FkLT5zZXRUeXBlKDEyMCk7Ci0gICAgcGF5
bG9hZC0+c2V0RW5jb2RpbmdOYW1lKCJSVFgiKTsKLSAgICBwYXlsb2FkLT5zZXRDbG9ja1JhdGUo
OTAwMDApOwotICAgIHBheWxvYWQtPmFkZFBhcmFtZXRlcigiYXB0IiwgMTAwKTsKLSAgICBwYXls
b2FkLT5hZGRQYXJhbWV0ZXIoInJ0eFRpbWUiLCAyMDApOwotICAgIHBheWxvYWRzLmFwcGVuZChw
YXlsb2FkKTsKKyAgICBNZWRpYVBheWxvYWQgcGF5bG9hZDE7CisgICAgcGF5bG9hZDEudHlwZSA9
IDEwMzsKKyAgICBwYXlsb2FkMS5lbmNvZGluZ05hbWUgPSAiSDI2NCI7CisgICAgcGF5bG9hZDEu
Y2xvY2tSYXRlID0gOTAwMDA7CisgICAgcGF5bG9hZDEuY2NtZmlyID0gdHJ1ZTsKKyAgICBwYXls
b2FkMS5uYWNrcGxpID0gdHJ1ZTsKKyAgICBwYXlsb2FkMS5hZGRQYXJhbWV0ZXIoInBhY2tldGl6
YXRpb25Nb2RlIiwgMSk7CisgICAgcGF5bG9hZHMuYXBwZW5kKFdURk1vdmUocGF5bG9hZDEpKTsK
KworICAgIE1lZGlhUGF5bG9hZCBwYXlsb2FkMjsKKyAgICBwYXlsb2FkMi50eXBlID0gMTAwOwor
ICAgIHBheWxvYWQyLmVuY29kaW5nTmFtZSA9ICJWUDgiOworICAgIHBheWxvYWQyLmNsb2NrUmF0
ZSA9IDkwMDAwOworICAgIHBheWxvYWQyLmNjbWZpciA9IHRydWU7CisgICAgcGF5bG9hZDIubmFj
a3BsaSA9IHRydWU7CisgICAgcGF5bG9hZDIubmFjayA9IHRydWU7CisgICAgcGF5bG9hZHMuYXBw
ZW5kKFdURk1vdmUocGF5bG9hZDIpKTsKKworICAgIE1lZGlhUGF5bG9hZCBwYXlsb2FkMzsKKyAg
ICBwYXlsb2FkMy50eXBlID0gMTIwOworICAgIHBheWxvYWQzLmVuY29kaW5nTmFtZSA9ICJSVFgi
OworICAgIHBheWxvYWQzLmNsb2NrUmF0ZSA9IDkwMDAwOworICAgIHBheWxvYWQzLmFkZFBhcmFt
ZXRlcigiYXB0IiwgMTAwKTsKKyAgICBwYXlsb2FkMy5hZGRQYXJhbWV0ZXIoInJ0eFRpbWUiLCAy
MDApOworICAgIHBheWxvYWRzLmFwcGVuZChXVEZNb3ZlKHBheWxvYWQzKSk7CiAKICAgICByZXR1
cm4gcGF5bG9hZHM7CiB9CkBAIC0xMzYsMTggKzEzNiwxOCBAQCBNZWRpYVBheWxvYWRWZWN0b3Ig
TW9ja01lZGlhRW5kcG9pbnQ6OmZpbHRlclBheWxvYWRzKGNvbnN0IE1lZGlhUGF5bG9hZFZlY3Rv
ciYgcgogICAgIE1lZGlhUGF5bG9hZFZlY3RvciBmaWx0ZXJlZFBheWxvYWRzOwogCiAgICAgZm9y
IChhdXRvJiByZW1vdGVQYXlsb2FkIDogcmVtb3RlUGF5bG9hZHMpIHsKLSAgICAgICAgTWVkaWFQ
YXlsb2FkKiBkZWZhdWx0UGF5bG9hZCA9IG51bGxwdHI7CisgICAgICAgIGNvbnN0IE1lZGlhUGF5
bG9hZCogZGVmYXVsdFBheWxvYWQgPSBudWxscHRyOwogICAgICAgICBmb3IgKGF1dG8mIHBheWxv
YWQgOiBkZWZhdWx0UGF5bG9hZHMpIHsKLSAgICAgICAgICAgIGlmIChwYXlsb2FkLT5lbmNvZGlu
Z05hbWUoKSA9PSByZW1vdGVQYXlsb2FkLT5lbmNvZGluZ05hbWUoKS5jb252ZXJ0VG9BU0NJSVVw
cGVyY2FzZSgpKSB7Ci0gICAgICAgICAgICAgICAgZGVmYXVsdFBheWxvYWQgPSBwYXlsb2FkLmdl
dCgpOworICAgICAgICAgICAgaWYgKHBheWxvYWQuZW5jb2RpbmdOYW1lID09IHJlbW90ZVBheWxv
YWQuZW5jb2RpbmdOYW1lLmNvbnZlcnRUb0FTQ0lJVXBwZXJjYXNlKCkpIHsKKyAgICAgICAgICAg
ICAgICBkZWZhdWx0UGF5bG9hZCA9ICZwYXlsb2FkOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmICghZGVmYXVsdFBheWxvYWQpCiAg
ICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBpZiAoZGVmYXVsdFBheWxvYWQtPnBhcmFt
ZXRlcnMoKS5jb250YWlucygicGFja2V0aXphdGlvbk1vZGUiKSAmJiByZW1vdGVQYXlsb2FkLT5w
YXJhbWV0ZXJzKCkuY29udGFpbnMoInBhY2tldGl6YXRpb25Nb2RlIikKLSAgICAgICAgICAgICYm
IChkZWZhdWx0UGF5bG9hZC0+cGFyYW1ldGVycygpLmdldCgicGFja2V0aXphdGlvbk1vZGUiKSAh
PSBkZWZhdWx0UGF5bG9hZC0+cGFyYW1ldGVycygpLmdldCgicGFja2V0aXphdGlvbk1vZGUiKSkp
CisgICAgICAgIGlmIChkZWZhdWx0UGF5bG9hZC0+cGFyYW1ldGVycy5jb250YWlucygicGFja2V0
aXphdGlvbk1vZGUiKSAmJiByZW1vdGVQYXlsb2FkLnBhcmFtZXRlcnMuY29udGFpbnMoInBhY2tl
dGl6YXRpb25Nb2RlIikKKyAgICAgICAgICAgICYmIChkZWZhdWx0UGF5bG9hZC0+cGFyYW1ldGVy
cy5nZXQoInBhY2tldGl6YXRpb25Nb2RlIikgIT0gZGVmYXVsdFBheWxvYWQtPnBhcmFtZXRlcnMu
Z2V0KCJwYWNrZXRpemF0aW9uTW9kZSIpKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAg
ICAgIGZpbHRlcmVkUGF5bG9hZHMuYXBwZW5kKHJlbW90ZVBheWxvYWQpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>