<?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>130640</bug_id>
          
          <creation_ts>2014-03-22 11:29:07 -0700</creation_ts>
          <short_desc>REGRESSION(r166118): Crashing things (Requested by weinig on #webkit).</short_desc>
          <delta_ts>2014-03-22 11:31:35 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>130639</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>993517</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-22 11:29:07 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/166118 broke the build:
Crashing things (Requested by weinig on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993519</commentid>
    <comment_count>1</comment_count>
      <attachid>227555</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-22 11:29:28 -0700</bug_when>
    <thetext>Created attachment 227555
ROLLOUT of r166118

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993520</commentid>
    <comment_count>2</comment_count>
      <attachid>227555</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-22 11:31:32 -0700</bug_when>
    <thetext>Comment on attachment 227555
ROLLOUT of r166118

Clearing flags on attachment: 227555

Committed r166119: &lt;http://trac.webkit.org/changeset/166119&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993521</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-22 11:31:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227555</attachid>
            <date>2014-03-22 11:29:28 -0700</date>
            <delta_ts>2014-03-22 11:31:32 -0700</delta_ts>
            <desc>ROLLOUT of r166118</desc>
            <filename>bug-130640-20140322112907.patch</filename>
            <type>text/plain</type>
            <size>38942</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2FjZDAxNDE4Mjc1OTAz
ZWQ3YWMzOWRmOTBlNGZhMDk5MGE2ZDE2OC4uNGJiMTQ3NWI0M2I5MWNiY2IzMjgxYmZlMDlkMGJm
ZDFmYjIyZTFjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE0LTAzLTIyICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTY2MTE4LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTMwNjQwCisKKyAgICAgICAgQ3Jhc2hpbmcgdGhpbmdzIChSZXF1ZXN0
ZWQgYnkgd2VpbmlnIG9uICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoK
KworICAgICAgICAiU3dpdGNoIEhUTUxDb252ZXJ0ZXIgdG8gdXNlIENTU1Byb3BlcnR5SURzIHRv
IHJlZmVyIHRvIENTUworICAgICAgICBwcm9wZXJ0aWVzIgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNjM5CisgICAgICAgIGh0dHA6Ly90cmFjLndl
YmtpdC5vcmcvY2hhbmdlc2V0LzE2NjExOAorCiAyMDE0LTAzLTIyICBTYW0gV2VpbmlnICA8c2Ft
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgU3dpdGNoIEhUTUxDb252ZXJ0ZXIgdG8gdXNlIENTU1By
b3BlcnR5SURzIHRvIHJlZmVyIHRvIENTUyBwcm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvSFRNTENvbnZlcnRlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9IVE1MQ29udmVydGVyLm1tCmluZGV4IGFlMDAxMmJlNzQ1MzRkMzhjYWE5NTZj
Zjg0YWNlMjE1Yzk1Y2FlYjAuLjlkMzg5OGQ1OTUzMjM5ZmJmMDkzODEyYzBmYjM0NDk4YmY0MzJl
YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9IVE1MQ29udmVydGVy
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9IVE1MQ29udmVydGVyLm1tCkBA
IC00MDEsMTUgKzQwMSwxNSBAQCBjb25zdCB1bmljaGFyIFdlYk5leHRMaW5lQ2hhcmFjdGVyID0g
MHgwMDg1OwogCiBjbGFzcyBIVE1MQ29udmVydGVyQ2FjaGVzIHsKIHB1YmxpYzoKLSAgICBTdHJp
bmcgcHJvcGVydHlWYWx1ZUZvck5vZGUoTm9kZSYsIENTU1Byb3BlcnR5SUQgKTsKLSAgICBib29s
IGZsb2F0UHJvcGVydHlWYWx1ZUZvck5vZGUoTm9kZSYsIENTU1Byb3BlcnR5SUQsIGZsb2F0Jik7
Ci0gICAgQ29sb3IgY29sb3JQcm9wZXJ0eVZhbHVlRm9yTm9kZShOb2RlJiwgQ1NTUHJvcGVydHlJ
RCk7CisgICAgU3RyaW5nIHByb3BlcnR5VmFsdWVGb3JOb2RlKE5vZGUmLCBjb25zdCBTdHJpbmcm
IHByb3BlcnR5TmFtZSk7CisgICAgYm9vbCBmbG9hdFByb3BlcnR5VmFsdWVGb3JOb2RlKE5vZGUm
LCBjb25zdCBTdHJpbmcmIHByb3BlcnR5TmFtZSwgZmxvYXQmKTsKKyAgICBDb2xvciBjb2xvclBy
b3BlcnR5VmFsdWVGb3JOb2RlKE5vZGUmLCBjb25zdCBTdHJpbmcmIHByb3BlcnR5TmFtZSk7CiAK
ICAgICBib29sIGlzQmxvY2tFbGVtZW50KEVsZW1lbnQmKTsKICAgICBib29sIGVsZW1lbnRIYXNP
d25CYWNrZ3JvdW5kQ29sb3IoRWxlbWVudCYpOwogCi0gICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4g
Y29tcHV0ZWRTdHlsZVByb3BlcnR5Rm9yRWxlbWVudChFbGVtZW50JiwgQ1NTUHJvcGVydHlJRCk7
Ci0gICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gaW5saW5lU3R5bGVQcm9wZXJ0eUZvckVsZW1lbnQo
RWxlbWVudCYsIENTU1Byb3BlcnR5SUQpOworICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGNvbXB1
dGVkU3R5bGVQcm9wZXJ0eUZvckVsZW1lbnQoRWxlbWVudCYsIGNvbnN0IFN0cmluZyYpOworICAg
IFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGlubGluZVN0eWxlUHJvcGVydHlGb3JFbGVtZW50KEVsZW1l
bnQmLCBjb25zdCBTdHJpbmcmKTsKIAogcHJpdmF0ZToKICAgICBIYXNoTWFwPEVsZW1lbnQqLCBz
dGQ6OnVuaXF1ZV9wdHI8Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcj4+IG1fY29tcHV0ZWRTdHlsZXM7
CkBAIC00MzAsMTAgKzQzMCw5IEBAIHByaXZhdGU6CiAKIEBpbnRlcmZhY2UgV2ViSFRNTENvbnZl
cnRlcihXZWJIVE1MQ29udmVydGVySW50ZXJuYWwpCiAKLS0gKE5TU3RyaW5nICopX3N0cmluZ0Zv
ck5vZGU6KERPTU5vZGUgKilub2RlIHByb3BlcnR5OihDU1NQcm9wZXJ0eUlEKXByb3BlcnR5SWQ7
Ci0tIChQbGF0Zm9ybUNvbG9yICopX2NvbG9yRm9yTm9kZTooRE9NTm9kZSAqKW5vZGUgcHJvcGVy
dHk6KENTU1Byb3BlcnR5SUQpcHJvcGVydHlJZDsKLS0gKEJPT0wpX2dldEZsb2F0OihDR0Zsb2F0
ICopdmFsIGZvck5vZGU6KERPTU5vZGUgKilub2RlIHByb3BlcnR5OihDU1NQcm9wZXJ0eUlEKXBy
b3BlcnR5SWQ7Ci0KKy0gKE5TU3RyaW5nICopX3N0cmluZ0Zvck5vZGU6KERPTU5vZGUgKilub2Rl
IHByb3BlcnR5OihOU1N0cmluZyAqKWtleTsKKy0gKFBsYXRmb3JtQ29sb3IgKilfY29sb3JGb3JO
b2RlOihET01Ob2RlICopbm9kZSBwcm9wZXJ0eTooTlNTdHJpbmcgKilrZXk7CistIChCT09MKV9n
ZXRGbG9hdDooQ0dGbG9hdCAqKXZhbCBmb3JOb2RlOihET01Ob2RlICopbm9kZSBwcm9wZXJ0eToo
TlNTdHJpbmcgKilrZXk7CiAtICh2b2lkKV90cmF2ZXJzZU5vZGU6KERPTU5vZGUgKilub2RlIGRl
cHRoOihOU0ludGVnZXIpZGVwdGggZW1iZWRkZWQ6KEJPT0wpZW1iZWRkZWQ7CiAtICh2b2lkKV90
cmF2ZXJzZUZvb3Rlck5vZGU6KERPTU5vZGUgKilub2RlIGRlcHRoOihOU0ludGVnZXIpZGVwdGg7
CiAKQEAgLTU3MCwyNiArNTY5LDI4IEBAIHN0YXRpYyBQbGF0Zm9ybUZvbnQgKl9mb250Rm9yTmFt
ZUFuZFNpemUoTlNTdHJpbmcgKmZvbnROYW1lLCBDR0Zsb2F0IHNpemUsIE5TTXV0CiAgICAgcmV0
dXJuIGFycmF5OwogfQogCi1QYXNzUmVmUHRyPENTU1ZhbHVlPiBIVE1MQ29udmVydGVyQ2FjaGVz
Ojpjb21wdXRlZFN0eWxlUHJvcGVydHlGb3JFbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQsIENTU1By
b3BlcnR5SUQgcHJvcGVydHlJZCkKK1Bhc3NSZWZQdHI8Q1NTVmFsdWU+IEhUTUxDb252ZXJ0ZXJD
YWNoZXM6OmNvbXB1dGVkU3R5bGVQcm9wZXJ0eUZvckVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCwg
Y29uc3QgU3RyaW5nJiBwcm9wZXJ0eU5hbWUpCiB7Ci0gICAgaWYgKHByb3BlcnR5SWQgPT0gQ1NT
UHJvcGVydHlJbnZhbGlkKQorICAgIENTU1Byb3BlcnR5SUQgcHJvcGV0eUlkID0gY3NzUHJvcGVy
dHlJRChwcm9wZXJ0eU5hbWUpOworICAgIGlmIChwcm9wZXR5SWQgPT0gQ1NTUHJvcGVydHlJbnZh
bGlkKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGF1dG8gcmVzdWx0ID0gbV9jb21w
dXRlZFN0eWxlcy5hZGQoJmVsZW1lbnQsIG51bGxwdHIpOwogICAgIGlmIChyZXN1bHQuaXNOZXdF
bnRyeSkKICAgICAgICAgcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSA9IHN0ZDo6bWFrZV91bmlxdWU8
Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcj4oJmVsZW1lbnQsIHRydWUpOwogICAgIENvbXB1dGVkU3R5
bGVFeHRyYWN0b3ImIGNvbXB1dGVkU3R5bGUgPSAqcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZTsKLSAg
ICByZXR1cm4gY29tcHV0ZWRTdHlsZS5wcm9wZXJ0eVZhbHVlKHByb3BlcnR5SWQpOworICAgIHJl
dHVybiBjb21wdXRlZFN0eWxlLnByb3BlcnR5VmFsdWUocHJvcGV0eUlkKTsKIH0KIAotUGFzc1Jl
ZlB0cjxDU1NWYWx1ZT4gSFRNTENvbnZlcnRlckNhY2hlczo6aW5saW5lU3R5bGVQcm9wZXJ0eUZv
ckVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkKQorUGFz
c1JlZlB0cjxDU1NWYWx1ZT4gSFRNTENvbnZlcnRlckNhY2hlczo6aW5saW5lU3R5bGVQcm9wZXJ0
eUZvckVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgU3RyaW5nJiBwcm9wZXJ0eU5hbWUp
CiB7Ci0gICAgaWYgKHByb3BlcnR5SWQgPT0gQ1NTUHJvcGVydHlJbnZhbGlkIHx8ICFlbGVtZW50
LmlzU3R5bGVkRWxlbWVudCgpKQorICAgIENTU1Byb3BlcnR5SUQgcHJvcGV0eUlkID0gY3NzUHJv
cGVydHlJRChwcm9wZXJ0eU5hbWUpOworICAgIGlmIChwcm9wZXR5SWQgPT0gQ1NTUHJvcGVydHlJ
bnZhbGlkIHx8ICFlbGVtZW50LmlzU3R5bGVkRWxlbWVudCgpKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKICAgICBjb25zdCBTdHlsZVByb3BlcnRpZXMqIHByb3BlcnRpZXMgPSB0b1N0eWxlZEVs
ZW1lbnQoZWxlbWVudCkuaW5saW5lU3R5bGUoKTsKICAgICBpZiAoIXByb3BlcnRpZXMpCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwotICAgIHJldHVybiBwcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKHByb3BlcnR5SWQpOworICAgIHJldHVybiBwcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKHByb3BldHlJZCk7CiB9CiAKIHN0YXRpYyBib29sIHN0cmluZ0Zyb21DU1NWYWx1ZShD
U1NWYWx1ZSYgdmFsdWUsIFN0cmluZyYgcmVzdWx0KQpAQCAtNjExLDIzICs2MTIsMjMgQEAgc3Rh
dGljIGJvb2wgc3RyaW5nRnJvbUNTU1ZhbHVlKENTU1ZhbHVlJiB2YWx1ZSwgU3RyaW5nJiByZXN1
bHQpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1TdHJpbmcgSFRNTENvbnZlcnRlckNhY2hlczo6
cHJvcGVydHlWYWx1ZUZvck5vZGUoTm9kZSYgbm9kZSwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlk
KQorU3RyaW5nIEhUTUxDb252ZXJ0ZXJDYWNoZXM6OnByb3BlcnR5VmFsdWVGb3JOb2RlKE5vZGUm
IG5vZGUsIGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1lKQogewogICAgIGlmICghbm9kZS5pc0Vs
ZW1lbnROb2RlKCkpIHsKICAgICAgICAgaWYgKE5vZGUqIHBhcmVudCA9IG5vZGUucGFyZW50Tm9k
ZSgpKQotICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5VmFsdWVGb3JOb2RlKCpwYXJlbnQsIHBy
b3BlcnR5SWQpOworICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5VmFsdWVGb3JOb2RlKCpwYXJl
bnQsIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICB9CiAKICAg
ICBib29sIGluaGVyaXQgPSBmYWxzZTsKICAgICBFbGVtZW50JiBlbGVtZW50ID0gdG9FbGVtZW50
KG5vZGUpOwotICAgIGlmIChSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlID0gY29tcHV0ZWRTdHlsZVBy
b3BlcnR5Rm9yRWxlbWVudChlbGVtZW50LCBwcm9wZXJ0eUlkKSkgeworICAgIGlmIChSZWZQdHI8
Q1NTVmFsdWU+IHZhbHVlID0gY29tcHV0ZWRTdHlsZVByb3BlcnR5Rm9yRWxlbWVudChlbGVtZW50
LCBwcm9wZXJ0eU5hbWUpKSB7CiAgICAgICAgIFN0cmluZyByZXN1bHQ7CiAgICAgICAgIGlmIChz
dHJpbmdGcm9tQ1NTVmFsdWUoKnZhbHVlLCByZXN1bHQpKQogICAgICAgICAgICAgcmV0dXJuIHJl
c3VsdDsKICAgICB9CiAKLSAgICBpZiAoUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSA9IGlubGluZVN0
eWxlUHJvcGVydHlGb3JFbGVtZW50KGVsZW1lbnQsIHByb3BlcnR5SWQpKSB7CisgICAgaWYgKFJl
ZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBpbmxpbmVTdHlsZVByb3BlcnR5Rm9yRWxlbWVudChlbGVt
ZW50LCBwcm9wZXJ0eU5hbWUpKSB7CiAgICAgICAgIFN0cmluZyByZXN1bHQ7CiAgICAgICAgIGlm
ICh2YWx1ZS0+aXNJbmhlcml0ZWRWYWx1ZSgpKQogICAgICAgICAgICAgaW5oZXJpdCA9IHRydWU7
CkBAIC02MzUsNyArNjM2LDcgQEAgU3RyaW5nIEhUTUxDb252ZXJ0ZXJDYWNoZXM6OnByb3BlcnR5
VmFsdWVGb3JOb2RlKE5vZGUmIG5vZGUsIENTU1Byb3BlcnR5SUQgcHJvcGUKICAgICAgICAgICAg
IHJldHVybiByZXN1bHQ7CiAgICAgfQogCi0gICAgc3dpdGNoIChwcm9wZXJ0eUlkKSB7CisgICAg
c3dpdGNoIChjc3NQcm9wZXJ0eUlEKHByb3BlcnR5TmFtZSkpIHsKICAgICBjYXNlIENTU1Byb3Bl
cnR5RGlzcGxheToKICAgICAgICAgaWYgKGVsZW1lbnQuaGFzVGFnTmFtZShoZWFkVGFnKSB8fCBl
bGVtZW50Lmhhc1RhZ05hbWUoc2NyaXB0VGFnKSB8fCBlbGVtZW50Lmhhc1RhZ05hbWUoYXBwbGV0
VGFnKSB8fCBlbGVtZW50Lmhhc1RhZ05hbWUobm9mcmFtZXNUYWcpKQogICAgICAgICAgICAgcmV0
dXJuICJub25lIjsKQEAgLTcyMywxOCArNzI0LDE4IEBAIFN0cmluZyBIVE1MQ29udmVydGVyQ2Fj
aGVzOjpwcm9wZXJ0eVZhbHVlRm9yTm9kZShOb2RlJiBub2RlLCBDU1NQcm9wZXJ0eUlEIHByb3Bl
CiAKICAgICBpZiAoaW5oZXJpdCkgewogICAgICAgICBpZiAoTm9kZSogcGFyZW50ID0gbm9kZS5w
YXJlbnROb2RlKCkpCi0gICAgICAgICAgICByZXR1cm4gcHJvcGVydHlWYWx1ZUZvck5vZGUoKnBh
cmVudCwgcHJvcGVydHlJZCk7CisgICAgICAgICAgICByZXR1cm4gcHJvcGVydHlWYWx1ZUZvck5v
ZGUoKnBhcmVudCwgcHJvcGVydHlOYW1lKTsKICAgICB9CiAgICAgCiAgICAgcmV0dXJuIFN0cmlu
ZygpOwogfQogCi0tIChOU1N0cmluZyAqKV9zdHJpbmdGb3JOb2RlOihET01Ob2RlICopbm9kZSBw
cm9wZXJ0eTooQ1NTUHJvcGVydHlJRClwcm9wZXJ0eUlkCistIChOU1N0cmluZyAqKV9zdHJpbmdG
b3JOb2RlOihET01Ob2RlICopbm9kZSBwcm9wZXJ0eTooTlNTdHJpbmcgKilrZXkKIHsKICAgICBO
b2RlKiBjb3JlTm9kZSA9IGNvcmUobm9kZSk7CiAgICAgaWYgKCFjb3JlTm9kZSkKICAgICAgICAg
cmV0dXJuIG5pbDsKLSAgICBTdHJpbmcgcmVzdWx0ID0gX2NhY2hlcy0+cHJvcGVydHlWYWx1ZUZv
ck5vZGUoKmNvcmVOb2RlLCBwcm9wZXJ0eUlkKTsKKyAgICBTdHJpbmcgcmVzdWx0ID0gX2NhY2hl
cy0+cHJvcGVydHlWYWx1ZUZvck5vZGUoKmNvcmVOb2RlLCBTdHJpbmcoa2V5KSk7CiAgICAgaWYg
KCFyZXN1bHQubGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKQEAgLTc2NywyOSArNzY4LDI5IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBmbG9hdFZhbHVlRnJv
bVByaW1pdGl2ZVZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlJiBwcmltaXRpdmVWYWx1CiAgICAgfQog
fQogCi1ib29sIEhUTUxDb252ZXJ0ZXJDYWNoZXM6OmZsb2F0UHJvcGVydHlWYWx1ZUZvck5vZGUo
Tm9kZSYgbm9kZSwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkLCBmbG9hdCYgcmVzdWx0KQorYm9v
bCBIVE1MQ29udmVydGVyQ2FjaGVzOjpmbG9hdFByb3BlcnR5VmFsdWVGb3JOb2RlKE5vZGUmIG5v
ZGUsIGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1lLCBmbG9hdCYgcmVzdWx0KQogewogICAgIGlm
ICghbm9kZS5pc0VsZW1lbnROb2RlKCkpIHsKICAgICAgICAgaWYgKENvbnRhaW5lck5vZGUqIHBh
cmVudCA9IG5vZGUucGFyZW50Tm9kZSgpKQotICAgICAgICAgICAgcmV0dXJuIGZsb2F0UHJvcGVy
dHlWYWx1ZUZvck5vZGUoKnBhcmVudCwgcHJvcGVydHlJZCwgcmVzdWx0KTsKKyAgICAgICAgICAg
IHJldHVybiBmbG9hdFByb3BlcnR5VmFsdWVGb3JOb2RlKCpwYXJlbnQsIHByb3BlcnR5TmFtZSwg
cmVzdWx0KTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAogICAgIEVsZW1lbnQmIGVs
ZW1lbnQgPSB0b0VsZW1lbnQobm9kZSk7Ci0gICAgaWYgKFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUg
PSBjb21wdXRlZFN0eWxlUHJvcGVydHlGb3JFbGVtZW50KGVsZW1lbnQsIHByb3BlcnR5SWQpKSB7
CisgICAgaWYgKFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBjb21wdXRlZFN0eWxlUHJvcGVydHlG
b3JFbGVtZW50KGVsZW1lbnQsIHByb3BlcnR5TmFtZSkpIHsKICAgICAgICAgaWYgKHZhbHVlLT5p
c1ByaW1pdGl2ZVZhbHVlKCkgJiYgZmxvYXRWYWx1ZUZyb21QcmltaXRpdmVWYWx1ZSh0b0NTU1By
aW1pdGl2ZVZhbHVlKCp2YWx1ZSksIHJlc3VsdCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9CiAKICAgICBib29sIGluaGVyaXQgPSBmYWxzZTsKLSAgICBpZiAoUmVmUHRyPENTU1Zh
bHVlPiB2YWx1ZSA9IGlubGluZVN0eWxlUHJvcGVydHlGb3JFbGVtZW50KGVsZW1lbnQsIHByb3Bl
cnR5SWQpKSB7CisgICAgaWYgKFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBpbmxpbmVTdHlsZVBy
b3BlcnR5Rm9yRWxlbWVudChlbGVtZW50LCBwcm9wZXJ0eU5hbWUpKSB7CiAgICAgICAgIGlmICh2
YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgpICYmIGZsb2F0VmFsdWVGcm9tUHJpbWl0aXZlVmFsdWUo
dG9DU1NQcmltaXRpdmVWYWx1ZSgqdmFsdWUpLCByZXN1bHQpKQogICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgICAgIGlmICh2YWx1ZS0+aXNJbmhlcml0ZWRWYWx1ZSgpKQogICAgICAgICAg
ICAgaW5oZXJpdCA9IHRydWU7CiAgICAgfQogCi0gICAgc3dpdGNoIChwcm9wZXJ0eUlkKSB7Cisg
ICAgc3dpdGNoIChjc3NQcm9wZXJ0eUlEKHByb3BlcnR5TmFtZSkpIHsKICAgICBjYXNlIENTU1By
b3BlcnR5VGV4dEluZGVudDoKICAgICBjYXNlIENTU1Byb3BlcnR5TGV0dGVyU3BhY2luZzoKICAg
ICBjYXNlIENTU1Byb3BlcnR5V29yZFNwYWNpbmc6CkBAIC04MDQsMTkgKzgwNSwxOSBAQCBib29s
IEhUTUxDb252ZXJ0ZXJDYWNoZXM6OmZsb2F0UHJvcGVydHlWYWx1ZUZvck5vZGUoTm9kZSYgbm9k
ZSwgQ1NTUHJvcGVydHlJRCBwcgogCiAgICAgaWYgKGluaGVyaXQpIHsKICAgICAgICAgaWYgKENv
bnRhaW5lck5vZGUqIHBhcmVudCA9IG5vZGUucGFyZW50Tm9kZSgpKQotICAgICAgICAgICAgcmV0
dXJuIGZsb2F0UHJvcGVydHlWYWx1ZUZvck5vZGUoKnBhcmVudCwgcHJvcGVydHlJZCwgcmVzdWx0
KTsKKyAgICAgICAgICAgIHJldHVybiBmbG9hdFByb3BlcnR5VmFsdWVGb3JOb2RlKCpwYXJlbnQs
IHByb3BlcnR5TmFtZSwgcmVzdWx0KTsKICAgICB9CiAKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
LS0gKEJPT0wpX2dldEZsb2F0OihDR0Zsb2F0ICopdmFsIGZvck5vZGU6KERPTU5vZGUgKilub2Rl
IHByb3BlcnR5OihDU1NQcm9wZXJ0eUlEKXByb3BlcnR5SWQKKy0gKEJPT0wpX2dldEZsb2F0OihD
R0Zsb2F0ICopdmFsIGZvck5vZGU6KERPTU5vZGUgKilub2RlIHByb3BlcnR5OihOU1N0cmluZyAq
KWtleQogewogICAgIE5vZGUqIGNvcmVOb2RlID0gY29yZShub2RlKTsKICAgICBpZiAoIWNvcmVO
b2RlKQogICAgICAgICByZXR1cm4gTk87CiAgICAgZmxvYXQgcmVzdWx0OwotICAgIGlmICghX2Nh
Y2hlcy0+ZmxvYXRQcm9wZXJ0eVZhbHVlRm9yTm9kZSgqY29yZU5vZGUsIHByb3BlcnR5SWQsIHJl
c3VsdCkpCisgICAgaWYgKCFfY2FjaGVzLT5mbG9hdFByb3BlcnR5VmFsdWVGb3JOb2RlKCpjb3Jl
Tm9kZSwgU3RyaW5nKGtleSksIHJlc3VsdCkpCiAgICAgICAgIHJldHVybiBOTzsKICAgICBpZiAo
dmFsKQogICAgICAgICAqdmFsID0gcmVzdWx0OwpAQCAtOTEwLDEwICs5MTEsMTAgQEAgc3RhdGlj
IGlubGluZSBOU1NoYWRvdyAqX3NoYWRvd0ZvclNoYWRvd1N0eWxlKE5TU3RyaW5nICpzaGFkb3dT
dHlsZSkKIAogYm9vbCBIVE1MQ29udmVydGVyQ2FjaGVzOjppc0Jsb2NrRWxlbWVudChFbGVtZW50
JiBlbGVtZW50KQogewotICAgIFN0cmluZyBkaXNwbGF5VmFsdWUgPSBwcm9wZXJ0eVZhbHVlRm9y
Tm9kZShlbGVtZW50LCBDU1NQcm9wZXJ0eURpc3BsYXkpOworICAgIFN0cmluZyBkaXNwbGF5VmFs
dWUgPSBwcm9wZXJ0eVZhbHVlRm9yTm9kZShlbGVtZW50LCAiZGlzcGxheSIpOwogICAgIGlmIChk
aXNwbGF5VmFsdWUgPT0gImJsb2NrIiB8fCBkaXNwbGF5VmFsdWUgPT0gImxpc3QtaXRlbSIgfHwg
ZGlzcGxheVZhbHVlLnN0YXJ0c1dpdGgoInRhYmxlIikpCiAgICAgICAgIHJldHVybiB0cnVlOwot
ICAgIFN0cmluZyBmbG9hdFZhbHVlID0gcHJvcGVydHlWYWx1ZUZvck5vZGUoZWxlbWVudCwgQ1NT
UHJvcGVydHlGbG9hdCk7CisgICAgU3RyaW5nIGZsb2F0VmFsdWUgPSBwcm9wZXJ0eVZhbHVlRm9y
Tm9kZShlbGVtZW50LCAiZmxvYXQiKTsKICAgICBpZiAoZmxvYXRWYWx1ZSA9PSAibGVmdCIgfHwg
ZmxvYXRWYWx1ZSA9PSAicmlnaHQiKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICByZXR1cm4g
ZmFsc2U7CkBAIC05MjUsNyArOTI2LDcgQEAgYm9vbCBIVE1MQ29udmVydGVyQ2FjaGVzOjplbGVt
ZW50SGFzT3duQmFja2dyb3VuZENvbG9yKEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAvLyBJbiB0aGUgdGV4dCBzeXN0ZW0sIHRleHQgYmxvY2tzICh0YWJsZSBl
bGVtZW50cykgYW5kIGRvY3VtZW50cyAoYm9keSBlbGVtZW50cykKICAgICAvLyBoYXZlIHRoZWly
IG93biBiYWNrZ3JvdW5kIGNvbG9ycywgd2hpY2ggc2hvdWxkIG5vdCBiZSBpbmhlcml0ZWQuCi0g
ICAgcmV0dXJuIGVsZW1lbnQuaGFzVGFnTmFtZShodG1sVGFnKSB8fCBlbGVtZW50Lmhhc1RhZ05h
bWUoYm9keVRhZykgfHwgcHJvcGVydHlWYWx1ZUZvck5vZGUoZWxlbWVudCwgQ1NTUHJvcGVydHlE
aXNwbGF5KS5zdGFydHNXaXRoKCJ0YWJsZSIpOworICAgIHJldHVybiBlbGVtZW50Lmhhc1RhZ05h
bWUoaHRtbFRhZykgfHwgZWxlbWVudC5oYXNUYWdOYW1lKGJvZHlUYWcpIHx8IHByb3BlcnR5VmFs
dWVGb3JOb2RlKGVsZW1lbnQsICJkaXNwbGF5Iikuc3RhcnRzV2l0aCgidGFibGUiKTsKIH0KIAog
LSAoQk9PTClfZWxlbWVudElzQmxvY2tMZXZlbDooRE9NRWxlbWVudCAqKWVsZW1lbnQKQEAgLTk2
MCwyOSArOTYxLDI5IEBAIHN0YXRpYyBDb2xvciBub3JtYWxpemVkQ29sb3IoQ29sb3IgY29sb3Is
IGJvb2wgaWdub3JlQmxhY2spCiAgICAgcmV0dXJuIGNvbG9yOwogfQogCi1Db2xvciBIVE1MQ29u
dmVydGVyQ2FjaGVzOjpjb2xvclByb3BlcnR5VmFsdWVGb3JOb2RlKE5vZGUmIG5vZGUsIENTU1By
b3BlcnR5SUQgcHJvcGVydHlJZCkKK0NvbG9yIEhUTUxDb252ZXJ0ZXJDYWNoZXM6OmNvbG9yUHJv
cGVydHlWYWx1ZUZvck5vZGUoTm9kZSYgbm9kZSwgY29uc3QgU3RyaW5nJiBwcm9wZXJ0eU5hbWUp
CiB7CiAgICAgaWYgKCFub2RlLmlzRWxlbWVudE5vZGUoKSkgewogICAgICAgICBpZiAoTm9kZSog
cGFyZW50ID0gbm9kZS5wYXJlbnROb2RlKCkpCi0gICAgICAgICAgICByZXR1cm4gY29sb3JQcm9w
ZXJ0eVZhbHVlRm9yTm9kZSgqcGFyZW50LCBwcm9wZXJ0eUlkKTsKKyAgICAgICAgICAgIHJldHVy
biBjb2xvclByb3BlcnR5VmFsdWVGb3JOb2RlKCpwYXJlbnQsIHByb3BlcnR5TmFtZSk7CiAgICAg
ICAgIHJldHVybiBDb2xvcigpOwogICAgIH0KIAogICAgIEVsZW1lbnQmIGVsZW1lbnQgPSB0b0Vs
ZW1lbnQobm9kZSk7Ci0gICAgaWYgKFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBjb21wdXRlZFN0
eWxlUHJvcGVydHlGb3JFbGVtZW50KGVsZW1lbnQsIHByb3BlcnR5SWQpKSB7CisgICAgaWYgKFJl
ZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBjb21wdXRlZFN0eWxlUHJvcGVydHlGb3JFbGVtZW50KGVs
ZW1lbnQsIHByb3BlcnR5TmFtZSkpIHsKICAgICAgICAgaWYgKHZhbHVlLT5pc1ByaW1pdGl2ZVZh
bHVlKCkgJiYgdG9DU1NQcmltaXRpdmVWYWx1ZSgqdmFsdWUpLmlzUkdCQ29sb3IoKSkKLSAgICAg
ICAgICAgIHJldHVybiBub3JtYWxpemVkQ29sb3IoQ29sb3IodG9DU1NQcmltaXRpdmVWYWx1ZSgq
dmFsdWUpLmdldFJHQkEzMlZhbHVlKCkpLCBwcm9wZXJ0eUlkID09IENTU1Byb3BlcnR5Q29sb3Ip
OworICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWRDb2xvcihDb2xvcih0b0NTU1ByaW1pdGl2
ZVZhbHVlKCp2YWx1ZSkuZ2V0UkdCQTMyVmFsdWUoKSksIHByb3BlcnR5TmFtZSA9PSAiY29sb3Ii
KTsKICAgICB9CiAKICAgICBib29sIGluaGVyaXQgPSBmYWxzZTsKLSAgICBpZiAoUmVmUHRyPENT
U1ZhbHVlPiB2YWx1ZSA9IGlubGluZVN0eWxlUHJvcGVydHlGb3JFbGVtZW50KGVsZW1lbnQsIHBy
b3BlcnR5SWQpKSB7CisgICAgaWYgKFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBpbmxpbmVTdHls
ZVByb3BlcnR5Rm9yRWxlbWVudChlbGVtZW50LCBwcm9wZXJ0eU5hbWUpKSB7CiAgICAgICAgIGlm
ICh2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgpICYmIHRvQ1NTUHJpbWl0aXZlVmFsdWUoKnZhbHVl
KS5pc1JHQkNvbG9yKCkpCi0gICAgICAgICAgICByZXR1cm4gbm9ybWFsaXplZENvbG9yKENvbG9y
KHRvQ1NTUHJpbWl0aXZlVmFsdWUoKnZhbHVlKS5nZXRSR0JBMzJWYWx1ZSgpKSwgcHJvcGVydHlJ
ZCA9PSBDU1NQcm9wZXJ0eUNvbG9yKTsKKyAgICAgICAgICAgIHJldHVybiBub3JtYWxpemVkQ29s
b3IoQ29sb3IodG9DU1NQcmltaXRpdmVWYWx1ZSgqdmFsdWUpLmdldFJHQkEzMlZhbHVlKCkpLCBw
cm9wZXJ0eU5hbWUgPT0gImNvbG9yIik7CiAgICAgICAgIGlmICh2YWx1ZS0+aXNJbmhlcml0ZWRW
YWx1ZSgpKQogICAgICAgICAgICAgaW5oZXJpdCA9IHRydWU7CiAgICAgfQogCi0gICAgc3dpdGNo
IChwcm9wZXJ0eUlkKSB7CisgICAgc3dpdGNoIChjc3NQcm9wZXJ0eUlEKHByb3BlcnR5TmFtZSkp
IHsKICAgICBjYXNlIENTU1Byb3BlcnR5Q29sb3I6CiAgICAgICAgIGluaGVyaXQgPSB0cnVlOwog
ICAgICAgICBicmVhazsKQEAgLTEwMDAsMTggKzEwMDEsMTggQEAgQ29sb3IgSFRNTENvbnZlcnRl
ckNhY2hlczo6Y29sb3JQcm9wZXJ0eVZhbHVlRm9yTm9kZShOb2RlJiBub2RlLCBDU1NQcm9wZXJ0
eUlEIHAKIAogICAgIGlmIChpbmhlcml0KSB7CiAgICAgICAgIGlmIChOb2RlKiBwYXJlbnQgPSBu
b2RlLnBhcmVudE5vZGUoKSkKLSAgICAgICAgICAgIHJldHVybiBjb2xvclByb3BlcnR5VmFsdWVG
b3JOb2RlKCpwYXJlbnQsIHByb3BlcnR5SWQpOworICAgICAgICAgICAgcmV0dXJuIGNvbG9yUHJv
cGVydHlWYWx1ZUZvck5vZGUoKnBhcmVudCwgcHJvcGVydHlOYW1lKTsKICAgICB9CiAKICAgICBy
ZXR1cm4gQ29sb3IoKTsKIH0KIAotLSAoUGxhdGZvcm1Db2xvciAqKV9jb2xvckZvck5vZGU6KERP
TU5vZGUgKilub2RlIHByb3BlcnR5OihDU1NQcm9wZXJ0eUlEKXByb3BlcnR5SWQKKy0gKFBsYXRm
b3JtQ29sb3IgKilfY29sb3JGb3JOb2RlOihET01Ob2RlICopbm9kZSBwcm9wZXJ0eTooTlNTdHJp
bmcgKilrZXkKIHsKICAgICBOb2RlKiBjb3JlTm9kZSA9IGNvcmUobm9kZSk7CiAgICAgaWYgKCFj
b3JlTm9kZSkKICAgICAgICAgcmV0dXJuIG5pbDsKLSAgICBDb2xvciByZXN1bHQgPSBfY2FjaGVz
LT5jb2xvclByb3BlcnR5VmFsdWVGb3JOb2RlKCpjb3JlTm9kZSwgcHJvcGVydHlJZCk7CisgICAg
Q29sb3IgcmVzdWx0ID0gX2NhY2hlcy0+Y29sb3JQcm9wZXJ0eVZhbHVlRm9yTm9kZSgqY29yZU5v
ZGUsIFN0cmluZyhrZXkpKTsKICAgICBpZiAoIXJlc3VsdC5pc1ZhbGlkKCkpCiAgICAgICAgIHJl
dHVybiBuaWw7CiAgICAgUGxhdGZvcm1Db2xvciAqcGxhdGZvcm1SZXN1bHQgPSBfcGxhdGZvcm1D
b2xvcihyZXN1bHQpOwpAQCAtMTAyOSwyMiArMTAzMCwyMyBAQCBDb2xvciBIVE1MQ29udmVydGVy
Q2FjaGVzOjpjb2xvclByb3BlcnR5VmFsdWVGb3JOb2RlKE5vZGUmIG5vZGUsIENTU1Byb3BlcnR5
SUQgcAogI2lmICFQTEFURk9STShJT1MpCiAgICAgTlNGb250TWFuYWdlciAqZm9udE1hbmFnZXIg
PSBbTlNGb250TWFuYWdlciBzaGFyZWRGb250TWFuYWdlcl07CiAjZW5kaWYKLSAgICBOU1N0cmlu
ZyAqdGV4dERlY29yYXRpb24gPSBbc2VsZiBfc3RyaW5nRm9yTm9kZTplbGVtZW50IHByb3BlcnR5
OkNTU1Byb3BlcnR5VGV4dERlY29yYXRpb25dOwotICAgIE5TU3RyaW5nICp2ZXJ0aWNhbEFsaWdu
ID0gW3NlbGYgX3N0cmluZ0Zvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpDU1NQcm9wZXJ0eVZlcnRp
Y2FsQWxpZ25dOwotICAgIE5TU3RyaW5nICp0ZXh0U2hhZG93ID0gW3NlbGYgX3N0cmluZ0Zvck5v
ZGU6ZWxlbWVudCBwcm9wZXJ0eTpDU1NQcm9wZXJ0eVRleHRTaGFkb3ddOwotICAgIE5TU3RyaW5n
ICpmb250TGlnYXR1cmVzID0gW3NlbGYgX3N0cmluZ0Zvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpD
U1NQcm9wZXJ0eVdlYmtpdEZvbnRWYXJpYW50TGlnYXR1cmVzXTsKLSAgICBOU1N0cmluZyAqZm9u
dEtlcm5pbmcgPSBbc2VsZiBfc3RyaW5nRm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkNTU1Byb3Bl
cnR5V2Via2l0Rm9udEtlcm5pbmddOwotICAgIE5TU3RyaW5nICpsZXR0ZXJTcGFjaW5nID0gW3Nl
bGYgX3N0cmluZ0Zvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpDU1NQcm9wZXJ0eUxldHRlclNwYWNp
bmddOworICAgIE5TU3RyaW5nICpmb250RWZmZWN0ID0gW3NlbGYgX3N0cmluZ0Zvck5vZGU6ZWxl
bWVudCBwcm9wZXJ0eTpAImZvbnQtZWZmZWN0Il07CisgICAgTlNTdHJpbmcgKnRleHREZWNvcmF0
aW9uID0gW3NlbGYgX3N0cmluZ0Zvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpAInRleHQtZGVjb3Jh
dGlvbiJdOworICAgIE5TU3RyaW5nICp2ZXJ0aWNhbEFsaWduID0gW3NlbGYgX3N0cmluZ0Zvck5v
ZGU6ZWxlbWVudCBwcm9wZXJ0eTpAInZlcnRpY2FsLWFsaWduIl07CisgICAgTlNTdHJpbmcgKnRl
eHRTaGFkb3cgPSBbc2VsZiBfc3RyaW5nRm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkAidGV4dC1z
aGFkb3ciXTsKKyAgICBOU1N0cmluZyAqZm9udExpZ2F0dXJlcyA9IFtzZWxmIF9zdHJpbmdGb3JO
b2RlOmVsZW1lbnQgcHJvcGVydHk6QCJmb250LXZhcmlhbnQtbGlnYXR1cmVzIl07CisgICAgTlNT
dHJpbmcgKmZvbnRLZXJuaW5nID0gW3NlbGYgX3N0cmluZ0Zvck5vZGU6ZWxlbWVudCBwcm9wZXJ0
eTpAImZvbnQta2VybmluZyJdOworICAgIE5TU3RyaW5nICpsZXR0ZXJTcGFjaW5nID0gW3NlbGYg
X3N0cmluZ0Zvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpAImxldHRlci1zcGFjaW5nIl07CiAgICAg
Q0dGbG9hdCBmb250U2l6ZSA9IDA7CiAgICAgQ0dGbG9hdCBiYXNlbGluZU9mZnNldCA9IDA7CiAg
ICAgQ0dGbG9hdCBzdHJva2VXaWR0aCA9IDAuMDsKICAgICBQbGF0Zm9ybUZvbnQgKmZvbnQgPSBu
aWw7CiAgICAgUGxhdGZvcm1Gb250ICphY3R1YWxGb250ID0gKFBsYXRmb3JtRm9udCAqKVtlbGVt
ZW50IF9mb250XTsKLSAgICBQbGF0Zm9ybUNvbG9yICpmb3JlZ3JvdW5kQ29sb3IgPSBbc2VsZiBf
Y29sb3JGb3JOb2RlOmVsZW1lbnQgcHJvcGVydHk6Q1NTUHJvcGVydHlDb2xvcl07Ci0gICAgUGxh
dGZvcm1Db2xvciAqYmFja2dyb3VuZENvbG9yID0gW3NlbGYgX2NvbG9yRm9yTm9kZTplbGVtZW50
IHByb3BlcnR5OkNTU1Byb3BlcnR5QmFja2dyb3VuZENvbG9yXTsKLSAgICBQbGF0Zm9ybUNvbG9y
ICpzdHJva2VDb2xvciA9IFtzZWxmIF9jb2xvckZvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpDU1NQ
cm9wZXJ0eVdlYmtpdFRleHRTdHJva2VDb2xvcl07CisgICAgUGxhdGZvcm1Db2xvciAqZm9yZWdy
b3VuZENvbG9yID0gW3NlbGYgX2NvbG9yRm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkAiY29sb3Ii
XTsKKyAgICBQbGF0Zm9ybUNvbG9yICpiYWNrZ3JvdW5kQ29sb3IgPSBbc2VsZiBfY29sb3JGb3JO
b2RlOmVsZW1lbnQgcHJvcGVydHk6QCJiYWNrZ3JvdW5kLWNvbG9yIl07CisgICAgUGxhdGZvcm1D
b2xvciAqc3Ryb2tlQ29sb3IgPSBbc2VsZiBfY29sb3JGb3JOb2RlOmVsZW1lbnQgcHJvcGVydHk6
QCItd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yIl07CiAKLSAgICBpZiAoIVtzZWxmIF9nZXRGbG9h
dDomZm9udFNpemUgZm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkNTU1Byb3BlcnR5Rm9udFNpemVd
IHx8IGZvbnRTaXplIDw9IDAuMCkKKyAgICBpZiAoIVtzZWxmIF9nZXRGbG9hdDomZm9udFNpemUg
Zm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkAiZm9udC1zaXplIl0gfHwgZm9udFNpemUgPD0gMC4w
KQogICAgICAgICBmb250U2l6ZSA9IF9kZWZhdWx0Rm9udFNpemU7CiAgICAgZm9udFNpemUgKj0g
X3RleHRTaXplTXVsdGlwbGllcjsKICAgICBpZiAoZm9udFNpemUgPCBfbWluaW11bUZvbnRTaXpl
KSBmb250U2l6ZSA9IF9taW5pbXVtRm9udFNpemU7CkBAIC0xMDY0LDExICsxMDY2LDExIEBAIENv
bG9yIEhUTUxDb252ZXJ0ZXJDYWNoZXM6OmNvbG9yUHJvcGVydHlWYWx1ZUZvck5vZGUoTm9kZSYg
bm9kZSwgQ1NTUHJvcGVydHlJRCBwCiAgICAgICAgIGZvbnQgPSBbZm9udE1hbmFnZXIgY29udmVy
dEZvbnQ6YWN0dWFsRm9udCB0b1NpemU6Zm9udFNpemVdOwogI2VuZGlmCiAgICAgaWYgKCFmb250
KSB7Ci0gICAgICAgIE5TU3RyaW5nICpmb250TmFtZSA9IFtbc2VsZiBfc3RyaW5nRm9yTm9kZTpl
bGVtZW50IHByb3BlcnR5OkNTU1Byb3BlcnR5Rm9udEZhbWlseV0gY2FwaXRhbGl6ZWRTdHJpbmdd
OwotICAgICAgICBOU1N0cmluZyAqZm9udFN0eWxlID0gW3NlbGYgX3N0cmluZ0Zvck5vZGU6ZWxl
bWVudCBwcm9wZXJ0eTpDU1NQcm9wZXJ0eUZvbnRTdHlsZV07Ci0gICAgICAgIE5TU3RyaW5nICpm
b250V2VpZ2h0ID0gW3NlbGYgX3N0cmluZ0Zvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpDU1NQcm9w
ZXJ0eUZvbnRXZWlnaHRdOworICAgICAgICBOU1N0cmluZyAqZm9udE5hbWUgPSBbW3NlbGYgX3N0
cmluZ0Zvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpAImZvbnQtZmFtaWx5Il0gY2FwaXRhbGl6ZWRT
dHJpbmddOworICAgICAgICBOU1N0cmluZyAqZm9udFN0eWxlID0gW3NlbGYgX3N0cmluZ0Zvck5v
ZGU6ZWxlbWVudCBwcm9wZXJ0eTpAImZvbnQtc3R5bGUiXTsKKyAgICAgICAgTlNTdHJpbmcgKmZv
bnRXZWlnaHQgPSBbc2VsZiBfc3RyaW5nRm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkAiZm9udC13
ZWlnaHQiXTsKICNpZiAhUExBVEZPUk0oSU9TKQotICAgICAgICBOU1N0cmluZyAqZm9udFZhcmlh
bnQgPSBbc2VsZiBfc3RyaW5nRm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkNTU1Byb3BlcnR5Rm9u
dFZhcmlhbnRdOworICAgICAgICBOU1N0cmluZyAqZm9udFZhcmlhbnQgPSBbc2VsZiBfc3RyaW5n
Rm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkAiZm9udC12YXJpYW50Il07CiAjZW5kaWYKICAgICAg
ICAgaWYgKCFmb250TmFtZSkKICAgICAgICAgICAgIGZvbnROYW1lID0gX3N0YW5kYXJkRm9udEZh
bWlseTsKQEAgLTExMTQsMTQgKzExMTYsMjAgQEAgQ29sb3IgSFRNTENvbnZlcnRlckNhY2hlczo6
Y29sb3JQcm9wZXJ0eVZhbHVlRm9yTm9kZShOb2RlJiBub2RlLCBDU1NQcm9wZXJ0eUlEIHAKICAg
ICBpZiAoYmFja2dyb3VuZENvbG9yICYmICFbc2VsZiBfZWxlbWVudEhhc093bkJhY2tncm91bmRD
b2xvcjplbGVtZW50XSkKICAgICAgICAgW2F0dHJzIHNldE9iamVjdDpiYWNrZ3JvdW5kQ29sb3Ig
Zm9yS2V5Ok5TQmFja2dyb3VuZENvbG9yQXR0cmlidXRlTmFtZV07CiAKLSAgICBpZiAoW3NlbGYg
X2dldEZsb2F0OiZzdHJva2VXaWR0aCBmb3JOb2RlOmVsZW1lbnQgcHJvcGVydHk6Q1NTUHJvcGVy
dHlXZWJraXRUZXh0U3Ryb2tlV2lkdGhdKSB7CisgICAgaWYgKFtzZWxmIF9nZXRGbG9hdDomc3Ry
b2tlV2lkdGggZm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkAiLXdlYmtpdC10ZXh0LXN0cm9rZS13
aWR0aCJdKSB7CiAgICAgICAgIGZsb2F0IHRleHRTdHJva2VXaWR0aCA9IHN0cm9rZVdpZHRoIC8g
KFtmb250IHBvaW50U2l6ZV0gKiAwLjAxKTsKICAgICAgICAgW2F0dHJzIHNldE9iamVjdDpbTlNO
dW1iZXIgbnVtYmVyV2l0aERvdWJsZTp0ZXh0U3Ryb2tlV2lkdGhdIGZvcktleTpOU1N0cm9rZVdp
ZHRoQXR0cmlidXRlTmFtZV07CiAgICAgfQogICAgIGlmKHN0cm9rZUNvbG9yKQogICAgICAgICBb
YXR0cnMgc2V0T2JqZWN0OnN0cm9rZUNvbG9yIGZvcktleTpOU1N0cm9rZUNvbG9yQXR0cmlidXRl
TmFtZV07CisgICAgaWYgKGZvbnRFZmZlY3QpIHsKKyAgICAgICAgaWYgKFtmb250RWZmZWN0IHJh
bmdlT2ZTdHJpbmc6QCJvdXRsaW5lIl0ubG9jYXRpb24gIT0gTlNOb3RGb3VuZCkKKyAgICAgICAg
ICAgIFthdHRycyBzZXRPYmplY3Q6W05TTnVtYmVyIG51bWJlcldpdGhEb3VibGU6My4wXSBmb3JL
ZXk6TlNTdHJva2VXaWR0aEF0dHJpYnV0ZU5hbWVdOworICAgICAgICBpZiAoW2ZvbnRFZmZlY3Qg
cmFuZ2VPZlN0cmluZzpAImVtYm9zcyJdLmxvY2F0aW9uICE9IE5TTm90Rm91bmQpCisgICAgICAg
ICAgICBbYXR0cnMgc2V0T2JqZWN0OltbW1BsYXRmb3JtTlNTaGFkb3cgYWxsb2NdIGluaXRdIGF1
dG9yZWxlYXNlXSBmb3JLZXk6TlNTaGFkb3dBdHRyaWJ1dGVOYW1lXTsKKyAgICB9CiAgICAgaWYg
KGZvbnRLZXJuaW5nIHx8IGxldHRlclNwYWNpbmcpIHsKLSAgICAgICAgaWYgKFtmb250S2Vybmlu
ZyByYW5nZU9mU3RyaW5nOkAibm9uZSJdLmxvY2F0aW9uICE9IE5TTm90Rm91bmQpCisgICAgICAg
IGlmIChbZm9udEVmZmVjdCByYW5nZU9mU3RyaW5nOkAibm9uZSJdLmxvY2F0aW9uICE9IE5TTm90
Rm91bmQpCiAgICAgICAgICAgICBbYXR0cnMgc2V0T2JqZWN0OkAwLjAgZm9yS2V5Ok5TS2VybkF0
dHJpYnV0ZU5hbWVdOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGRvdWJsZSBrZXJuVmFs
ID0gbGV0dGVyU3BhY2luZyA/IFtsZXR0ZXJTcGFjaW5nIGRvdWJsZVZhbHVlXSA6IDAuMDsKQEAg
LTExMzIsMTEgKzExNDAsMTEgQEAgQ29sb3IgSFRNTENvbnZlcnRlckNhY2hlczo6Y29sb3JQcm9w
ZXJ0eVZhbHVlRm9yTm9kZShOb2RlJiBub2RlLCBDU1NQcm9wZXJ0eUlEIHAKICAgICAgICAgfQog
ICAgIH0KICAgICBpZiAoZm9udExpZ2F0dXJlcykgewotICAgICAgICBpZiAoW2ZvbnRMaWdhdHVy
ZXMgcmFuZ2VPZlN0cmluZzpAIm5vcm1hbCJdLmxvY2F0aW9uICE9IE5TTm90Rm91bmQpCisgICAg
ICAgIGlmIChbZm9udEVmZmVjdCByYW5nZU9mU3RyaW5nOkAibm9ybWFsIl0ubG9jYXRpb24gIT0g
TlNOb3RGb3VuZCkKICAgICAgICAgICAgIDsgICAvLyBkZWZhdWx0OiB3aGF0ZXZlciB0aGUgc3lz
dGVtIGRlY2lkZXMgdG8gZG8KLSAgICAgICAgZWxzZSBpZiAoW2ZvbnRMaWdhdHVyZXMgcmFuZ2VP
ZlN0cmluZzpAImNvbW1vbi1saWdhdHVyZXMiXS5sb2NhdGlvbiAhPSBOU05vdEZvdW5kKQorICAg
ICAgICBlbHNlIGlmIChbZm9udEVmZmVjdCByYW5nZU9mU3RyaW5nOkAiY29tbW9uLWxpZ2F0dXJl
cyJdLmxvY2F0aW9uICE9IE5TTm90Rm91bmQpCiAgICAgICAgICAgICBbYXR0cnMgc2V0T2JqZWN0
OkAxIGZvcktleTpOU0xpZ2F0dXJlQXR0cmlidXRlTmFtZV07ICAgLy8gZXhwbGljaXRseSBlbmFi
bGVkCi0gICAgICAgIGVsc2UgaWYgKFtmb250TGlnYXR1cmVzIHJhbmdlT2ZTdHJpbmc6QCJuby1j
b21tb24tbGlnYXR1cmVzIl0ubG9jYXRpb24gIT0gTlNOb3RGb3VuZCkKKyAgICAgICAgZWxzZSBp
ZiAoW2ZvbnRFZmZlY3QgcmFuZ2VPZlN0cmluZzpAIm5vLWNvbW1vbi1saWdhdHVyZXMiXS5sb2Nh
dGlvbiAhPSBOU05vdEZvdW5kKQogICAgICAgICAgICAgW2F0dHJzIHNldE9iamVjdDpAMCBmb3JL
ZXk6TlNMaWdhdHVyZUF0dHJpYnV0ZU5hbWVdOyAgLy8gZXhwbGljaXRseSBkaXNhYmxlZAogICAg
IH0KIApAQCAtMTE1Miw3ICsxMTYwLDcgQEAgQ29sb3IgSFRNTENvbnZlcnRlckNhY2hlczo6Y29s
b3JQcm9wZXJ0eVZhbHVlRm9yTm9kZShOb2RlJiBub2RlLCBDU1NQcm9wZXJ0eUlEIHAKICAgICAg
ICAgaWYgKFt2ZXJ0aWNhbEFsaWduIHJhbmdlT2ZTdHJpbmc6QCJzdWIiXS5sb2NhdGlvbiAhPSBO
U05vdEZvdW5kKQogICAgICAgICAgICAgW2F0dHJzIHNldE9iamVjdDpbTlNOdW1iZXIgbnVtYmVy
V2l0aEludGVnZXI6LTFdIGZvcktleTpOU1N1cGVyc2NyaXB0QXR0cmlidXRlTmFtZV07CiAgICAg
fQotICAgIGlmIChbc2VsZiBfZ2V0RmxvYXQ6JmJhc2VsaW5lT2Zmc2V0IGZvck5vZGU6ZWxlbWVu
dCBwcm9wZXJ0eTpDU1NQcm9wZXJ0eVZlcnRpY2FsQWxpZ25dKQorICAgIGlmIChbc2VsZiBfZ2V0
RmxvYXQ6JmJhc2VsaW5lT2Zmc2V0IGZvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpAInZlcnRpY2Fs
LWFsaWduIl0pCiAgICAgICAgIFthdHRycyBzZXRPYmplY3Q6W05TTnVtYmVyIG51bWJlcldpdGhE
b3VibGU6YmFzZWxpbmVPZmZzZXRdIGZvcktleTpOU0Jhc2VsaW5lT2Zmc2V0QXR0cmlidXRlTmFt
ZV07CiAgICAgaWYgKHRleHRTaGFkb3cgJiYgW3RleHRTaGFkb3cgbGVuZ3RoXSA+IDQpIHsKICAg
ICAgICAgTlNTaGFkb3cgKnNoYWRvdyA9IF9zaGFkb3dGb3JTaGFkb3dTdHlsZSh0ZXh0U2hhZG93
KTsKQEAgLTExNjYsOSArMTE3NCw5IEBAIENvbG9yIEhUTUxDb252ZXJ0ZXJDYWNoZXM6OmNvbG9y
UHJvcGVydHlWYWx1ZUZvck5vZGUoTm9kZSYgbm9kZSwgQ1NTUHJvcGVydHlJRCBwCiAgICAgICAg
IE5TTXV0YWJsZVBhcmFncmFwaFN0eWxlICpwYXJhZ3JhcGhTdHlsZSA9IFtbW3NlbGYgY2xhc3Nd
IGRlZmF1bHRQYXJhZ3JhcGhTdHlsZV0gbXV0YWJsZUNvcHldOwogICAgICAgICBOU1N0cmluZyAq
YmxvY2tUYWcgPSBbYmxvY2tFbGVtZW50IHRhZ05hbWVdOwogICAgICAgICBCT09MIGlzUGFyYWdy
YXBoID0gKFtAIlAiIGlzRXF1YWxUb1N0cmluZzpibG9ja1RhZ10gfHwgW0AiTEkiIGlzRXF1YWxU
b1N0cmluZzpibG9ja1RhZ10gfHwgKFtibG9ja1RhZyBoYXNQcmVmaXg6QCJIIl0gJiYgMiA9PSBb
YmxvY2tUYWcgbGVuZ3RoXSkpOwotICAgICAgICBOU1N0cmluZyAqdGV4dEFsaWduID0gW3NlbGYg
X3N0cmluZ0Zvck5vZGU6YmxvY2tFbGVtZW50IHByb3BlcnR5OkNTU1Byb3BlcnR5VGV4dEFsaWdu
XTsKLSAgICAgICAgTlNTdHJpbmcgKmRpcmVjdGlvbiA9IFtzZWxmIF9zdHJpbmdGb3JOb2RlOmJs
b2NrRWxlbWVudCBwcm9wZXJ0eTpDU1NQcm9wZXJ0eURpcmVjdGlvbl07Ci0gICAgICAgIE5TU3Ry
aW5nICpoeXBoZW5hdGlvbiA9IFtzZWxmIF9zdHJpbmdGb3JOb2RlOmJsb2NrRWxlbWVudCBwcm9w
ZXJ0eTpDU1NQcm9wZXJ0eVdlYmtpdEh5cGhlbnNdOworICAgICAgICBOU1N0cmluZyAqdGV4dEFs
aWduID0gW3NlbGYgX3N0cmluZ0Zvck5vZGU6YmxvY2tFbGVtZW50IHByb3BlcnR5OkAidGV4dC1h
bGlnbiJdOworICAgICAgICBOU1N0cmluZyAqZGlyZWN0aW9uID0gW3NlbGYgX3N0cmluZ0Zvck5v
ZGU6YmxvY2tFbGVtZW50IHByb3BlcnR5OkAiZGlyZWN0aW9uIl07CisgICAgICAgIE5TU3RyaW5n
ICpoeXBoZW5hdGlvbiA9IFtzZWxmIF9zdHJpbmdGb3JOb2RlOmJsb2NrRWxlbWVudCBwcm9wZXJ0
eTpAIi13ZWJraXQtaHlwaGVucyJdOwogICAgICAgICBDR0Zsb2F0IGxlZnRNYXJnaW4gPSAwOwog
ICAgICAgICBDR0Zsb2F0IHJpZ2h0TWFyZ2luID0gMDsKICAgICAgICAgQ0dGbG9hdCBib3R0b21N
YXJnaW4gPSAwOwpAQCAtMTIwMywxNiArMTIxMSwxNiBAQCBDb2xvciBIVE1MQ29udmVydGVyQ2Fj
aGVzOjpjb2xvclByb3BlcnR5VmFsdWVGb3JOb2RlKE5vZGUmIG5vZGUsIENTU1Byb3BlcnR5SUQg
cAogICAgICAgICAgICAgICAgIFtwYXJhZ3JhcGhTdHlsZSBzZXRIZWFkZXJMZXZlbDpoZWFkZXJM
ZXZlbF07CiAgICAgICAgIH0KICAgICAgICAgaWYgKGlzUGFyYWdyYXBoKSB7Ci0gICAgICAgICAg
ICBpZiAoW3NlbGYgX2dldEZsb2F0OiZsZWZ0TWFyZ2luIGZvck5vZGU6YmxvY2tFbGVtZW50IHBy
b3BlcnR5OkNTU1Byb3BlcnR5TWFyZ2luTGVmdF0gJiYgbGVmdE1hcmdpbiA+IDAuMCkKKyAgICAg
ICAgICAgIGlmIChbc2VsZiBfZ2V0RmxvYXQ6JmxlZnRNYXJnaW4gZm9yTm9kZTpibG9ja0VsZW1l
bnQgcHJvcGVydHk6QCJtYXJnaW4tbGVmdCJdICYmIGxlZnRNYXJnaW4gPiAwLjApCiAgICAgICAg
ICAgICAgICAgW3BhcmFncmFwaFN0eWxlIHNldEhlYWRJbmRlbnQ6bGVmdE1hcmdpbl07Ci0gICAg
ICAgICAgICBpZiAoW3NlbGYgX2dldEZsb2F0OiZ0ZXh0SW5kZW50IGZvck5vZGU6YmxvY2tFbGVt
ZW50IHByb3BlcnR5OkNTU1Byb3BlcnR5VGV4dEluZGVudF0pCisgICAgICAgICAgICBpZiAoW3Nl
bGYgX2dldEZsb2F0OiZ0ZXh0SW5kZW50IGZvck5vZGU6YmxvY2tFbGVtZW50IHByb3BlcnR5OkAi
dGV4dC1pbmRlbnQiXSkKICAgICAgICAgICAgICAgICBbcGFyYWdyYXBoU3R5bGUgc2V0Rmlyc3RM
aW5lSGVhZEluZGVudDpbcGFyYWdyYXBoU3R5bGUgaGVhZEluZGVudF0gKyB0ZXh0SW5kZW50XTsK
LSAgICAgICAgICAgIGlmIChbc2VsZiBfZ2V0RmxvYXQ6JnJpZ2h0TWFyZ2luIGZvck5vZGU6Ymxv
Y2tFbGVtZW50IHByb3BlcnR5OkNTU1Byb3BlcnR5TWFyZ2luUmlnaHRdICYmIHJpZ2h0TWFyZ2lu
ID4gMC4wKQorICAgICAgICAgICAgaWYgKFtzZWxmIF9nZXRGbG9hdDomcmlnaHRNYXJnaW4gZm9y
Tm9kZTpibG9ja0VsZW1lbnQgcHJvcGVydHk6QCJtYXJnaW4tcmlnaHQiXSAmJiByaWdodE1hcmdp
biA+IDAuMCkKICAgICAgICAgICAgICAgICBbcGFyYWdyYXBoU3R5bGUgc2V0VGFpbEluZGVudDot
cmlnaHRNYXJnaW5dOwotICAgICAgICAgICAgaWYgKFtzZWxmIF9nZXRGbG9hdDomYm90dG9tTWFy
Z2luIGZvck5vZGU6YmxvY2tFbGVtZW50IHByb3BlcnR5OkNTU1Byb3BlcnR5TWFyZ2luQm90dG9t
XSAmJiBib3R0b21NYXJnaW4gPiAwLjApCisgICAgICAgICAgICBpZiAoW3NlbGYgX2dldEZsb2F0
OiZib3R0b21NYXJnaW4gZm9yTm9kZTpibG9ja0VsZW1lbnQgcHJvcGVydHk6QCJtYXJnaW4tYm90
dG9tIl0gJiYgYm90dG9tTWFyZ2luID4gMC4wKQogICAgICAgICAgICAgICAgIFtwYXJhZ3JhcGhT
dHlsZSBzZXRQYXJhZ3JhcGhTcGFjaW5nOmJvdHRvbU1hcmdpbl07CiAgICAgICAgIH0KLSAgICAg
ICAgaWYgKF93ZWJWaWV3VGV4dFNpemVNdWx0aXBsaWVyID4gMC4wICYmIFtzZWxmIF9nZXRGbG9h
dDombGluZUhlaWdodCBmb3JOb2RlOmVsZW1lbnQgcHJvcGVydHk6Q1NTUHJvcGVydHlMaW5lSGVp
Z2h0XSAmJiBsaW5lSGVpZ2h0ID4gMC4wKQorICAgICAgICBpZiAoX3dlYlZpZXdUZXh0U2l6ZU11
bHRpcGxpZXIgPiAwLjAgJiYgW3NlbGYgX2dldEZsb2F0OiZsaW5lSGVpZ2h0IGZvck5vZGU6ZWxl
bWVudCBwcm9wZXJ0eTpAImxpbmUtaGVpZ2h0Il0gJiYgbGluZUhlaWdodCA+IDAuMCkKICAgICAg
ICAgICAgIFtwYXJhZ3JhcGhTdHlsZSBzZXRNaW5pbXVtTGluZUhlaWdodDpsaW5lSGVpZ2h0IC8g
X3dlYlZpZXdUZXh0U2l6ZU11bHRpcGxpZXJdOwogICAgICAgICBpZiAoW190ZXh0TGlzdHMgY291
bnRdID4gMCkKICAgICAgICAgICAgIFtwYXJhZ3JhcGhTdHlsZSBzZXRUZXh0TGlzdHM6X3RleHRM
aXN0c107CkBAIC0xMzY2LDggKzEzNzQsOSBAQCBDb2xvciBIVE1MQ29udmVydGVyQ2FjaGVzOjpj
b2xvclByb3BlcnR5VmFsdWVGb3JOb2RlKE5vZGUmIG5vZGUsIENTU1Byb3BlcnR5SUQgcAogICAg
ICAgICBOU1VJbnRlZ2VyIHRleHRMZW5ndGggPSBbX2F0dHJTdHIgbGVuZ3RoXTsKICAgICAgICAg
UmV0YWluUHRyPE5TVGV4dEF0dGFjaG1lbnQ+IGF0dGFjaG1lbnQgPSBhZG9wdE5TKFtbUGxhdGZv
cm1OU1RleHRBdHRhY2htZW50IGFsbG9jXSBpbml0V2l0aEZpbGVXcmFwcGVyOmZpbGVXcmFwcGVy
XSk7CiAjaWYgUExBVEZPUk0oSU9TKQotICAgICAgICBOU1N0cmluZyAqdkFsaWduID0gW3NlbGYg
X3N0cmluZ0Zvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpDU1NQcm9wZXJ0eVZlcnRpY2FsQWxpZ25d
OwotICAgICAgICBhdHRhY2htZW50LmdldCgpLmJvdW5kcyA9IENHUmVjdE1ha2UoMCwgKFt2QWxp
Z24gZmxvYXRWYWx1ZV0gLyAxMDAuKSAqIGVsZW1lbnQuY2xpZW50SGVpZ2h0LCBlbGVtZW50LmNs
aWVudFdpZHRoLCBlbGVtZW50LmNsaWVudEhlaWdodCk7CisgICAgICAgIE5TU3RyaW5nICp2QWxp
Z24gPSBbc2VsZiBfc3RyaW5nRm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkAidmVydGljYWwtYWxp
Z24iXTsKKyAgICAgICAgTlNTdHJpbmcgKmhBbGlnbiA9IFtzZWxmIF9zdHJpbmdGb3JOb2RlOmVs
ZW1lbnQgcHJvcGVydHk6QCJob3Jpem9udGFsLWFsaWduIl07CisgICAgICAgIGF0dGFjaG1lbnQu
Z2V0KCkuYm91bmRzID0gQ0dSZWN0TWFrZSgoW2hBbGlnbiBmbG9hdFZhbHVlXSAvIDEwMC4pICog
ZWxlbWVudC5jbGllbnRXaWR0aCwgKFt2QWxpZ24gZmxvYXRWYWx1ZV0gLyAxMDAuKSAqIGVsZW1l
bnQuY2xpZW50SGVpZ2h0LCBlbGVtZW50LmNsaWVudFdpZHRoLCBlbGVtZW50LmNsaWVudEhlaWdo
dCk7CiAjZW5kaWYKICAgICAgICAgUmV0YWluUHRyPE5TU3RyaW5nPiBzdHJpbmcgPSBhZG9wdE5T
KFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRoRm9ybWF0OihuZWVkc1BhcmFncmFwaCA/IEAiJUNc
biIgOiBAIiVDIiksIHN0YXRpY19jYXN0PHVuaWNoYXI+KE5TQXR0YWNobWVudENoYXJhY3Rlcild
KTsKICAgICAgICAgTlNSYW5nZSByYW5nZVRvUmVwbGFjZSA9IE5TTWFrZVJhbmdlKHRleHRMZW5n
dGgsIDApOwpAQCAtMTQ1Myw1NyArMTQ2Miw1NyBAQCBDb2xvciBIVE1MQ29udmVydGVyQ2FjaGVz
Ojpjb2xvclByb3BlcnR5VmFsdWVGb3JOb2RlKE5vZGUmIG5vZGUsIENTU1Byb3BlcnR5SUQgcAog
ICAgIE5TU3RyaW5nICp3aWR0aCA9IGlzVGFibGVDZWxsRWxlbWVudCA/IFsoRE9NSFRNTFRhYmxl
Q2VsbEVsZW1lbnQgKillbGVtZW50IHdpZHRoXSA6IFtlbGVtZW50IGdldEF0dHJpYnV0ZTpAIndp
ZHRoIl07CiAKICAgICBpZiAoKHdpZHRoICYmIFt3aWR0aCBsZW5ndGhdKSB8fCAhaXNUYWJsZSkg
ewotICAgICAgICBpZiAoW3NlbGYgX2dldEZsb2F0OiZ2YWwgZm9yTm9kZTplbGVtZW50IHByb3Bl
cnR5OkNTU1Byb3BlcnR5V2lkdGhdKQorICAgICAgICBpZiAoW3NlbGYgX2dldEZsb2F0OiZ2YWwg
Zm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkAid2lkdGgiXSkKICAgICAgICAgICAgIFtibG9jayBz
ZXRWYWx1ZTp2YWwgdHlwZTpOU1RleHRCbG9ja0Fic29sdXRlVmFsdWVUeXBlIGZvckRpbWVuc2lv
bjpOU1RleHRCbG9ja1dpZHRoXTsKICAgICB9CiAgICAgCi0gICAgaWYgKFtzZWxmIF9nZXRGbG9h
dDomdmFsIGZvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpDU1NQcm9wZXJ0eU1pbldpZHRoXSkKKyAg
ICBpZiAoW3NlbGYgX2dldEZsb2F0OiZ2YWwgZm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkAibWlu
LXdpZHRoIl0pCiAgICAgICAgIFtibG9jayBzZXRWYWx1ZTp2YWwgdHlwZTpOU1RleHRCbG9ja0Fi
c29sdXRlVmFsdWVUeXBlIGZvckRpbWVuc2lvbjpOU1RleHRCbG9ja01pbmltdW1XaWR0aF07Ci0g
ICAgaWYgKFtzZWxmIF9nZXRGbG9hdDomdmFsIGZvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpDU1NQ
cm9wZXJ0eU1heFdpZHRoXSkKKyAgICBpZiAoW3NlbGYgX2dldEZsb2F0OiZ2YWwgZm9yTm9kZTpl
bGVtZW50IHByb3BlcnR5OkAibWF4LXdpZHRoIl0pCiAgICAgICAgIFtibG9jayBzZXRWYWx1ZTp2
YWwgdHlwZTpOU1RleHRCbG9ja0Fic29sdXRlVmFsdWVUeXBlIGZvckRpbWVuc2lvbjpOU1RleHRC
bG9ja01heGltdW1XaWR0aF07Ci0gICAgaWYgKFtzZWxmIF9nZXRGbG9hdDomdmFsIGZvck5vZGU6
ZWxlbWVudCBwcm9wZXJ0eTpDU1NQcm9wZXJ0eU1pbkhlaWdodF0pCisgICAgaWYgKFtzZWxmIF9n
ZXRGbG9hdDomdmFsIGZvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpAIm1pbi1oZWlnaHQiXSkKICAg
ICAgICAgW2Jsb2NrIHNldFZhbHVlOnZhbCB0eXBlOk5TVGV4dEJsb2NrQWJzb2x1dGVWYWx1ZVR5
cGUgZm9yRGltZW5zaW9uOk5TVGV4dEJsb2NrTWluaW11bUhlaWdodF07Ci0gICAgaWYgKFtzZWxm
IF9nZXRGbG9hdDomdmFsIGZvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpDU1NQcm9wZXJ0eU1heEhl
aWdodF0pCisgICAgaWYgKFtzZWxmIF9nZXRGbG9hdDomdmFsIGZvck5vZGU6ZWxlbWVudCBwcm9w
ZXJ0eTpAIm1heC1oZWlnaHQiXSkKICAgICAgICAgW2Jsb2NrIHNldFZhbHVlOnZhbCB0eXBlOk5T
VGV4dEJsb2NrQWJzb2x1dGVWYWx1ZVR5cGUgZm9yRGltZW5zaW9uOk5TVGV4dEJsb2NrTWF4aW11
bUhlaWdodF07CiAKLSAgICBpZiAoW3NlbGYgX2dldEZsb2F0OiZ2YWwgZm9yTm9kZTplbGVtZW50
IHByb3BlcnR5OkNTU1Byb3BlcnR5UGFkZGluZ0xlZnRdKQorICAgIGlmIChbc2VsZiBfZ2V0Rmxv
YXQ6JnZhbCBmb3JOb2RlOmVsZW1lbnQgcHJvcGVydHk6QCJwYWRkaW5nLWxlZnQiXSkKICAgICAg
ICAgW2Jsb2NrIHNldFdpZHRoOnZhbCArIGV4dHJhUGFkZGluZyB0eXBlOk5TVGV4dEJsb2NrQWJz
b2x1dGVWYWx1ZVR5cGUgZm9yTGF5ZXI6TlNUZXh0QmxvY2tQYWRkaW5nIGVkZ2U6TlNNaW5YRWRn
ZV07CiAgICAgZWxzZSBbYmxvY2sgc2V0V2lkdGg6ZXh0cmFQYWRkaW5nIHR5cGU6TlNUZXh0Qmxv
Y2tBYnNvbHV0ZVZhbHVlVHlwZSBmb3JMYXllcjpOU1RleHRCbG9ja1BhZGRpbmcgZWRnZTpOU01p
blhFZGdlXTsKLSAgICBpZiAoW3NlbGYgX2dldEZsb2F0OiZ2YWwgZm9yTm9kZTplbGVtZW50IHBy
b3BlcnR5OkNTU1Byb3BlcnR5UGFkZGluZ1RvcF0pCisgICAgaWYgKFtzZWxmIF9nZXRGbG9hdDom
dmFsIGZvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpAInBhZGRpbmctdG9wIl0pCiAgICAgICAgIFti
bG9jayBzZXRXaWR0aDp2YWwgKyBleHRyYVBhZGRpbmcgdHlwZTpOU1RleHRCbG9ja0Fic29sdXRl
VmFsdWVUeXBlIGZvckxheWVyOk5TVGV4dEJsb2NrUGFkZGluZyBlZGdlOk5TTWluWUVkZ2VdOyBl
bHNlIFtibG9jayBzZXRXaWR0aDpleHRyYVBhZGRpbmcgdHlwZTpOU1RleHRCbG9ja0Fic29sdXRl
VmFsdWVUeXBlIGZvckxheWVyOk5TVGV4dEJsb2NrUGFkZGluZyBlZGdlOk5TTWluWUVkZ2VdOwot
ICAgIGlmIChbc2VsZiBfZ2V0RmxvYXQ6JnZhbCBmb3JOb2RlOmVsZW1lbnQgcHJvcGVydHk6Q1NT
UHJvcGVydHlQYWRkaW5nUmlnaHRdKQorICAgIGlmIChbc2VsZiBfZ2V0RmxvYXQ6JnZhbCBmb3JO
b2RlOmVsZW1lbnQgcHJvcGVydHk6QCJwYWRkaW5nLXJpZ2h0Il0pCiAgICAgICAgIFtibG9jayBz
ZXRXaWR0aDp2YWwgKyBleHRyYVBhZGRpbmcgdHlwZTpOU1RleHRCbG9ja0Fic29sdXRlVmFsdWVU
eXBlIGZvckxheWVyOk5TVGV4dEJsb2NrUGFkZGluZyBlZGdlOk5TTWF4WEVkZ2VdOyBlbHNlIFti
bG9jayBzZXRXaWR0aDpleHRyYVBhZGRpbmcgdHlwZTpOU1RleHRCbG9ja0Fic29sdXRlVmFsdWVU
eXBlIGZvckxheWVyOk5TVGV4dEJsb2NrUGFkZGluZyBlZGdlOk5TTWF4WEVkZ2VdOwotICAgIGlm
IChbc2VsZiBfZ2V0RmxvYXQ6JnZhbCBmb3JOb2RlOmVsZW1lbnQgcHJvcGVydHk6Q1NTUHJvcGVy
dHlQYWRkaW5nQm90dG9tXSkKKyAgICBpZiAoW3NlbGYgX2dldEZsb2F0OiZ2YWwgZm9yTm9kZTpl
bGVtZW50IHByb3BlcnR5OkAicGFkZGluZy1ib3R0b20iXSkKICAgICAgICAgW2Jsb2NrIHNldFdp
ZHRoOnZhbCArIGV4dHJhUGFkZGluZyB0eXBlOk5TVGV4dEJsb2NrQWJzb2x1dGVWYWx1ZVR5cGUg
Zm9yTGF5ZXI6TlNUZXh0QmxvY2tQYWRkaW5nIGVkZ2U6TlNNYXhZRWRnZV07IGVsc2UgW2Jsb2Nr
IHNldFdpZHRoOmV4dHJhUGFkZGluZyB0eXBlOk5TVGV4dEJsb2NrQWJzb2x1dGVWYWx1ZVR5cGUg
Zm9yTGF5ZXI6TlNUZXh0QmxvY2tQYWRkaW5nIGVkZ2U6TlNNYXhZRWRnZV07CiAgICAgCi0gICAg
aWYgKFtzZWxmIF9nZXRGbG9hdDomdmFsIGZvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpDU1NQcm9w
ZXJ0eUJvcmRlckxlZnRXaWR0aF0pCisgICAgaWYgKFtzZWxmIF9nZXRGbG9hdDomdmFsIGZvck5v
ZGU6ZWxlbWVudCBwcm9wZXJ0eTpAImJvcmRlci1sZWZ0LXdpZHRoIl0pCiAgICAgICAgIFtibG9j
ayBzZXRXaWR0aDp2YWwgdHlwZTpOU1RleHRCbG9ja0Fic29sdXRlVmFsdWVUeXBlIGZvckxheWVy
Ok5TVGV4dEJsb2NrQm9yZGVyIGVkZ2U6TlNNaW5YRWRnZV07Ci0gICAgaWYgKFtzZWxmIF9nZXRG
bG9hdDomdmFsIGZvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpDU1NQcm9wZXJ0eUJvcmRlclRvcFdp
ZHRoXSkKKyAgICBpZiAoW3NlbGYgX2dldEZsb2F0OiZ2YWwgZm9yTm9kZTplbGVtZW50IHByb3Bl
cnR5OkAiYm9yZGVyLXRvcC13aWR0aCJdKQogICAgICAgICBbYmxvY2sgc2V0V2lkdGg6dmFsIHR5
cGU6TlNUZXh0QmxvY2tBYnNvbHV0ZVZhbHVlVHlwZSBmb3JMYXllcjpOU1RleHRCbG9ja0JvcmRl
ciBlZGdlOk5TTWluWUVkZ2VdOwotICAgIGlmIChbc2VsZiBfZ2V0RmxvYXQ6JnZhbCBmb3JOb2Rl
OmVsZW1lbnQgcHJvcGVydHk6Q1NTUHJvcGVydHlCb3JkZXJSaWdodFdpZHRoXSkKKyAgICBpZiAo
W3NlbGYgX2dldEZsb2F0OiZ2YWwgZm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkAiYm9yZGVyLXJp
Z2h0LXdpZHRoIl0pCiAgICAgICAgIFtibG9jayBzZXRXaWR0aDp2YWwgdHlwZTpOU1RleHRCbG9j
a0Fic29sdXRlVmFsdWVUeXBlIGZvckxheWVyOk5TVGV4dEJsb2NrQm9yZGVyIGVkZ2U6TlNNYXhY
RWRnZV07Ci0gICAgaWYgKFtzZWxmIF9nZXRGbG9hdDomdmFsIGZvck5vZGU6ZWxlbWVudCBwcm9w
ZXJ0eTpDU1NQcm9wZXJ0eUJvcmRlckJvdHRvbVdpZHRoXSkKKyAgICBpZiAoW3NlbGYgX2dldEZs
b2F0OiZ2YWwgZm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkAiYm9yZGVyLWJvdHRvbS13aWR0aCJd
KQogICAgICAgICBbYmxvY2sgc2V0V2lkdGg6dmFsIHR5cGU6TlNUZXh0QmxvY2tBYnNvbHV0ZVZh
bHVlVHlwZSBmb3JMYXllcjpOU1RleHRCbG9ja0JvcmRlciBlZGdlOk5TTWF4WUVkZ2VdOwogCi0g
ICAgaWYgKFtzZWxmIF9nZXRGbG9hdDomdmFsIGZvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpDU1NQ
cm9wZXJ0eU1hcmdpbkxlZnRdKQorICAgIGlmIChbc2VsZiBfZ2V0RmxvYXQ6JnZhbCBmb3JOb2Rl
OmVsZW1lbnQgcHJvcGVydHk6QCJtYXJnaW4tbGVmdCJdKQogICAgICAgICBbYmxvY2sgc2V0V2lk
dGg6dmFsICsgZXh0cmFNYXJnaW4gdHlwZTpOU1RleHRCbG9ja0Fic29sdXRlVmFsdWVUeXBlIGZv
ckxheWVyOk5TVGV4dEJsb2NrTWFyZ2luIGVkZ2U6TlNNaW5YRWRnZV07IGVsc2UgW2Jsb2NrIHNl
dFdpZHRoOmV4dHJhTWFyZ2luIHR5cGU6TlNUZXh0QmxvY2tBYnNvbHV0ZVZhbHVlVHlwZSBmb3JM
YXllcjpOU1RleHRCbG9ja01hcmdpbiBlZGdlOk5TTWluWEVkZ2VdOwotICAgIGlmIChbc2VsZiBf
Z2V0RmxvYXQ6JnZhbCBmb3JOb2RlOmVsZW1lbnQgcHJvcGVydHk6Q1NTUHJvcGVydHlNYXJnaW5U
b3BdKQorICAgIGlmIChbc2VsZiBfZ2V0RmxvYXQ6JnZhbCBmb3JOb2RlOmVsZW1lbnQgcHJvcGVy
dHk6QCJtYXJnaW4tdG9wIl0pCiAgICAgICAgIFtibG9jayBzZXRXaWR0aDp2YWwgKyBleHRyYU1h
cmdpbiB0eXBlOk5TVGV4dEJsb2NrQWJzb2x1dGVWYWx1ZVR5cGUgZm9yTGF5ZXI6TlNUZXh0Qmxv
Y2tNYXJnaW4gZWRnZTpOU01pbllFZGdlXTsgZWxzZSBbYmxvY2sgc2V0V2lkdGg6ZXh0cmFNYXJn
aW4gdHlwZTpOU1RleHRCbG9ja0Fic29sdXRlVmFsdWVUeXBlIGZvckxheWVyOk5TVGV4dEJsb2Nr
TWFyZ2luIGVkZ2U6TlNNaW5ZRWRnZV07Ci0gICAgaWYgKFtzZWxmIF9nZXRGbG9hdDomdmFsIGZv
ck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpDU1NQcm9wZXJ0eU1hcmdpblJpZ2h0XSkKKyAgICBpZiAo
W3NlbGYgX2dldEZsb2F0OiZ2YWwgZm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkAibWFyZ2luLXJp
Z2h0Il0pCiAgICAgICAgIFtibG9jayBzZXRXaWR0aDp2YWwgKyBleHRyYU1hcmdpbiB0eXBlOk5T
VGV4dEJsb2NrQWJzb2x1dGVWYWx1ZVR5cGUgZm9yTGF5ZXI6TlNUZXh0QmxvY2tNYXJnaW4gZWRn
ZTpOU01heFhFZGdlXTsgZWxzZSBbYmxvY2sgc2V0V2lkdGg6ZXh0cmFNYXJnaW4gdHlwZTpOU1Rl
eHRCbG9ja0Fic29sdXRlVmFsdWVUeXBlIGZvckxheWVyOk5TVGV4dEJsb2NrTWFyZ2luIGVkZ2U6
TlNNYXhYRWRnZV07Ci0gICAgaWYgKFtzZWxmIF9nZXRGbG9hdDomdmFsIGZvck5vZGU6ZWxlbWVu
dCBwcm9wZXJ0eTpDU1NQcm9wZXJ0eU1hcmdpbkJvdHRvbV0pCisgICAgaWYgKFtzZWxmIF9nZXRG
bG9hdDomdmFsIGZvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpAIm1hcmdpbi1ib3R0b20iXSkKICAg
ICAgICAgW2Jsb2NrIHNldFdpZHRoOnZhbCArIGV4dHJhTWFyZ2luIHR5cGU6TlNUZXh0QmxvY2tB
YnNvbHV0ZVZhbHVlVHlwZSBmb3JMYXllcjpOU1RleHRCbG9ja01hcmdpbiBlZGdlOk5TTWF4WUVk
Z2VdOyBlbHNlIFtibG9jayBzZXRXaWR0aDpleHRyYU1hcmdpbiB0eXBlOk5TVGV4dEJsb2NrQWJz
b2x1dGVWYWx1ZVR5cGUgZm9yTGF5ZXI6TlNUZXh0QmxvY2tNYXJnaW4gZWRnZTpOU01heFlFZGdl
XTsKIAotICAgIGlmICgoY29sb3IgPSBbc2VsZiBfY29sb3JGb3JOb2RlOmVsZW1lbnQgcHJvcGVy
dHk6Q1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3JdKSkKKyAgICBpZiAoKGNvbG9yID0gW3NlbGYg
X2NvbG9yRm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkAiYmFja2dyb3VuZC1jb2xvciJdKSkKICAg
ICAgICAgW2Jsb2NrIHNldEJhY2tncm91bmRDb2xvcjpjb2xvcl07CiAgICAgaWYgKCFjb2xvciAm
JiBiYWNrZ3JvdW5kQ29sb3IpIFtibG9jayBzZXRCYWNrZ3JvdW5kQ29sb3I6YmFja2dyb3VuZENv
bG9yXTsKLSAgICBpZiAoKGNvbG9yID0gW3NlbGYgX2NvbG9yRm9yTm9kZTplbGVtZW50IHByb3Bl
cnR5OkNTU1Byb3BlcnR5Qm9yZGVyTGVmdENvbG9yXSkpCisgICAgaWYgKChjb2xvciA9IFtzZWxm
IF9jb2xvckZvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpAImJvcmRlci1sZWZ0LWNvbG9yIl0pKQog
ICAgICAgICBbYmxvY2sgc2V0Qm9yZGVyQ29sb3I6Y29sb3IgZm9yRWRnZTpOU01pblhFZGdlXTsK
LSAgICBpZiAoKGNvbG9yID0gW3NlbGYgX2NvbG9yRm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkNT
U1Byb3BlcnR5Qm9yZGVyVG9wQ29sb3JdKSkKKyAgICBpZiAoKGNvbG9yID0gW3NlbGYgX2NvbG9y
Rm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkAiYm9yZGVyLXRvcC1jb2xvciJdKSkKICAgICAgICAg
W2Jsb2NrIHNldEJvcmRlckNvbG9yOmNvbG9yIGZvckVkZ2U6TlNNaW5ZRWRnZV07Ci0gICAgaWYg
KChjb2xvciA9IFtzZWxmIF9jb2xvckZvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpDU1NQcm9wZXJ0
eUJvcmRlclJpZ2h0Q29sb3JdKSkKKyAgICBpZiAoKGNvbG9yID0gW3NlbGYgX2NvbG9yRm9yTm9k
ZTplbGVtZW50IHByb3BlcnR5OkAiYm9yZGVyLXJpZ2h0LWNvbG9yIl0pKQogICAgICAgICBbYmxv
Y2sgc2V0Qm9yZGVyQ29sb3I6Y29sb3IgZm9yRWRnZTpOU01heFhFZGdlXTsKLSAgICBpZiAoKGNv
bG9yID0gW3NlbGYgX2NvbG9yRm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkNTU1Byb3BlcnR5Qm9y
ZGVyQm90dG9tQ29sb3JdKSkKKyAgICBpZiAoKGNvbG9yID0gW3NlbGYgX2NvbG9yRm9yTm9kZTpl
bGVtZW50IHByb3BlcnR5OkAiYm9yZGVyLWJvdHRvbS1jb2xvciJdKSkKICAgICAgICAgW2Jsb2Nr
IHNldEJvcmRlckNvbG9yOmNvbG9yIGZvckVkZ2U6TlNNYXhZRWRnZV07CiB9CiAKQEAgLTE2Nzgs
OSArMTY4Nyw5IEBAIHN0YXRpYyBOU0ludGVnZXIgX2NvbENvbXBhcmUoaWQgYmxvY2sxLCBpZCBi
bG9jazIsIHZvaWQgKikKICAgICBbdGFibGUgc2V0Q29sbGFwc2VzQm9yZGVyczpOT107CiAgICAg
W3RhYmxlIHNldEhpZGVzRW1wdHlDZWxsczpOT107CiAgICAgaWYgKHRhYmxlRWxlbWVudCkgewot
ICAgICAgICBOU1N0cmluZyAqYm9yZGVyQ29sbGFwc2UgPSBbc2VsZiBfc3RyaW5nRm9yTm9kZTp0
YWJsZUVsZW1lbnQgcHJvcGVydHk6Q1NTUHJvcGVydHlCb3JkZXJDb2xsYXBzZV07Ci0gICAgICAg
IE5TU3RyaW5nICplbXB0eUNlbGxzID0gW3NlbGYgX3N0cmluZ0Zvck5vZGU6dGFibGVFbGVtZW50
IHByb3BlcnR5OkNTU1Byb3BlcnR5RW1wdHlDZWxsc107Ci0gICAgICAgIE5TU3RyaW5nICp0YWJs
ZUxheW91dCA9IFtzZWxmIF9zdHJpbmdGb3JOb2RlOnRhYmxlRWxlbWVudCBwcm9wZXJ0eTpDU1NQ
cm9wZXJ0eVRhYmxlTGF5b3V0XTsKKyAgICAgICAgTlNTdHJpbmcgKmJvcmRlckNvbGxhcHNlID0g
W3NlbGYgX3N0cmluZ0Zvck5vZGU6dGFibGVFbGVtZW50IHByb3BlcnR5OkAiYm9yZGVyLWNvbGxh
cHNlIl07CisgICAgICAgIE5TU3RyaW5nICplbXB0eUNlbGxzID0gW3NlbGYgX3N0cmluZ0Zvck5v
ZGU6dGFibGVFbGVtZW50IHByb3BlcnR5OkAiZW1wdHktY2VsbHMiXTsKKyAgICAgICAgTlNTdHJp
bmcgKnRhYmxlTGF5b3V0ID0gW3NlbGYgX3N0cmluZ0Zvck5vZGU6dGFibGVFbGVtZW50IHByb3Bl
cnR5OkAidGFibGUtbGF5b3V0Il07CiAgICAgICAgIGlmIChbdGFibGVFbGVtZW50IHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoY2VsbFNwYWNpbmcpXSkgewogICAgICAgICAgICAgTlNTdHJp
bmcgKmNlbGxTcGFjaW5nID0gWyhET01IVE1MVGFibGVFbGVtZW50ICopdGFibGVFbGVtZW50IGNl
bGxTcGFjaW5nXTsKICAgICAgICAgICAgIGlmIChjZWxsU3BhY2luZyAmJiBbY2VsbFNwYWNpbmcg
bGVuZ3RoXSA+IDAgJiYgIVtjZWxsU3BhY2luZyBoYXNTdWZmaXg6QCIlIl0pIGNlbGxTcGFjaW5n
VmFsID0gW2NlbGxTcGFjaW5nIGZsb2F0VmFsdWVdOwpAQCAtMTczNiw3ICsxNzQ1LDcgQEAgc3Rh
dGljIE5TSW50ZWdlciBfY29sQ29tcGFyZShpZCBibG9jazEsIGlkIGJsb2NrMiwgdm9pZCAqKQog
ICAgIH0KICAgICBSZXRhaW5QdHI8TlNUZXh0VGFibGVCbG9jaz4gYmxvY2sgPSBhZG9wdE5TKFtb
UGxhdGZvcm1OU1RleHRUYWJsZUJsb2NrIGFsbG9jXSBpbml0V2l0aFRhYmxlOnRhYmxlIHN0YXJ0
aW5nUm93OnJvd051bWJlciByb3dTcGFuOnJvd1NwYW4gc3RhcnRpbmdDb2x1bW46Y29sdW1uTnVt
YmVyIGNvbHVtblNwYW46Y29sU3Bhbl0pOwogICAgIGlmICh0YWJsZUNlbGxFbGVtZW50KSB7Ci0g
ICAgICAgIE5TU3RyaW5nICp2ZXJ0aWNhbEFsaWduID0gW3NlbGYgX3N0cmluZ0Zvck5vZGU6dGFi
bGVDZWxsRWxlbWVudCBwcm9wZXJ0eTpDU1NQcm9wZXJ0eVZlcnRpY2FsQWxpZ25dOworICAgICAg
ICBOU1N0cmluZyAqdmVydGljYWxBbGlnbiA9IFtzZWxmIF9zdHJpbmdGb3JOb2RlOnRhYmxlQ2Vs
bEVsZW1lbnQgcHJvcGVydHk6QCJ2ZXJ0aWNhbC1hbGlnbiJdOwogICAgICAgICBbc2VsZiBfZmls
bEluQmxvY2s6YmxvY2suZ2V0KCkgZm9yRWxlbWVudDp0YWJsZUNlbGxFbGVtZW50IGJhY2tncm91
bmRDb2xvcjpjb2xvciBleHRyYU1hcmdpbjpjZWxsU3BhY2luZ1ZhbCAvIDIgZXh0cmFQYWRkaW5n
OjAgaXNUYWJsZTpOT107CiAgICAgICAgIGlmIChbQCJtaWRkbGUiIGlzRXF1YWxUb1N0cmluZzp2
ZXJ0aWNhbEFsaWduXSkKICAgICAgICAgICAgIFtibG9jayBzZXRWZXJ0aWNhbEFsaWdubWVudDpO
U1RleHRCbG9ja01pZGRsZUFsaWdubWVudF07CkBAIC0xNzU5LDE2ICsxNzY4LDE2IEBAIHN0YXRp
YyBOU0ludGVnZXIgX2NvbENvbXBhcmUoaWQgYmxvY2sxLCBpZCBibG9jazIsIHZvaWQgKikKICAg
ICBpZiAoaXNCbG9ja0xldmVsKQogICAgICAgICBbX3dyaXRpbmdEaXJlY3Rpb25BcnJheSByZW1v
dmVBbGxPYmplY3RzXTsKICAgICBlbHNlIHsKLSAgICAgICAgTlNTdHJpbmcgKmJpZGkgPSBbc2Vs
ZiBfc3RyaW5nRm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkNTU1Byb3BlcnR5VW5pY29kZUJpZGld
OworICAgICAgICBOU1N0cmluZyAqYmlkaSA9IFtzZWxmIF9zdHJpbmdGb3JOb2RlOmVsZW1lbnQg
cHJvcGVydHk6QCJ1bmljb2RlLWJpZGkiXTsKICAgICAgICAgaWYgKGJpZGkgJiYgW2JpZGkgaXNF
cXVhbFRvU3RyaW5nOkAiZW1iZWQiXSkgewogICAgICAgICAgICAgTlNVSW50ZWdlciB2YWwgPSBO
U1RleHRXcml0aW5nRGlyZWN0aW9uRW1iZWRkaW5nOwotICAgICAgICAgICAgTlNTdHJpbmcgKmRp
cmVjdGlvbiA9IFtzZWxmIF9zdHJpbmdGb3JOb2RlOmVsZW1lbnQgcHJvcGVydHk6Q1NTUHJvcGVy
dHlEaXJlY3Rpb25dOworICAgICAgICAgICAgTlNTdHJpbmcgKmRpcmVjdGlvbiA9IFtzZWxmIF9z
dHJpbmdGb3JOb2RlOmVsZW1lbnQgcHJvcGVydHk6QCJkaXJlY3Rpb24iXTsKICAgICAgICAgICAg
IGlmIChbZGlyZWN0aW9uIGlzRXF1YWxUb1N0cmluZzpAInJ0bCJdKQogICAgICAgICAgICAgICAg
IHZhbCB8PSBOU1dyaXRpbmdEaXJlY3Rpb25SaWdodFRvTGVmdDsKICAgICAgICAgICAgIFtfd3Jp
dGluZ0RpcmVjdGlvbkFycmF5IGFkZE9iamVjdDpbTlNOdW1iZXIgbnVtYmVyV2l0aFVuc2lnbmVk
SW50ZWdlcjp2YWxdXTsKICAgICAgICAgfSBlbHNlIGlmIChiaWRpICYmIFtiaWRpIGlzRXF1YWxU
b1N0cmluZzpAImJpZGktb3ZlcnJpZGUiXSkgewogICAgICAgICAgICAgTlNVSW50ZWdlciB2YWwg
PSBOU1RleHRXcml0aW5nRGlyZWN0aW9uT3ZlcnJpZGU7Ci0gICAgICAgICAgICBOU1N0cmluZyAq
ZGlyZWN0aW9uID0gW3NlbGYgX3N0cmluZ0Zvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpDU1NQcm9w
ZXJ0eURpcmVjdGlvbl07CisgICAgICAgICAgICBOU1N0cmluZyAqZGlyZWN0aW9uID0gW3NlbGYg
X3N0cmluZ0Zvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpAImRpcmVjdGlvbiJdOwogICAgICAgICAg
ICAgaWYgKFtkaXJlY3Rpb24gaXNFcXVhbFRvU3RyaW5nOkAicnRsIl0pCiAgICAgICAgICAgICAg
ICAgdmFsIHw9IE5TV3JpdGluZ0RpcmVjdGlvblJpZ2h0VG9MZWZ0OwogICAgICAgICAgICAgW193
cml0aW5nRGlyZWN0aW9uQXJyYXkgYWRkT2JqZWN0OltOU051bWJlciBudW1iZXJXaXRoVW5zaWdu
ZWRJbnRlZ2VyOnZhbF1dOwpAQCAtMTc3OSw3ICsxNzg4LDcgQEAgc3RhdGljIE5TSW50ZWdlciBf
Y29sQ29tcGFyZShpZCBibG9jazEsIGlkIGJsb2NrMiwgdm9pZCAqKQogICAgICAgICBpZiAoW0Ai
dGFibGUtcm93LWdyb3VwIiBpc0VxdWFsVG9TdHJpbmc6ZGlzcGxheVZhbF0pIHsKICAgICAgICAg
ICAgIC8vIElmIHdlIGFyZSBzdGFydGluZyBpbiBtZWRpYXMgcmVzLCB0aGUgZmlyc3QgdGhpbmcg
d2Ugc2VlIG1heSBiZSB0aGUgdGJvZHksIHNvIGdvIHVwIHRvIHRoZSB0YWJsZQogICAgICAgICAg
ICAgdGFibGVFbGVtZW50ID0gW3NlbGYgX2Jsb2NrTGV2ZWxFbGVtZW50Rm9yTm9kZTpbZWxlbWVu
dCBwYXJlbnROb2RlXV07Ci0gICAgICAgICAgICBpZiAoIVtAInRhYmxlIiBpc0VxdWFsVG9TdHJp
bmc6W3NlbGYgX3N0cmluZ0Zvck5vZGU6dGFibGVFbGVtZW50IHByb3BlcnR5OkNTU1Byb3BlcnR5
RGlzcGxheV1dKQorICAgICAgICAgICAgaWYgKCFbQCJ0YWJsZSIgaXNFcXVhbFRvU3RyaW5nOltz
ZWxmIF9zdHJpbmdGb3JOb2RlOnRhYmxlRWxlbWVudCBwcm9wZXJ0eTpAImRpc3BsYXkiXV0pCiAg
ICAgICAgICAgICAgICAgdGFibGVFbGVtZW50ID0gZWxlbWVudDsKICAgICAgICAgfQogICAgICAg
ICB3aGlsZSAoW190ZXh0VGFibGVzIGNvdW50XSA+IFtfdGV4dEJsb2NrcyBjb3VudF0pCkBAIC0x
Nzg5LDcgKzE3OTgsNyBAQCBzdGF0aWMgTlNJbnRlZ2VyIF9jb2xDb21wYXJlKGlkIGJsb2NrMSwg
aWQgYmxvY2syLCB2b2lkICopCiAgICAgICAgIFtfdGV4dFRhYmxlRm9vdGVycyBzZXRPYmplY3Q6
ZWxlbWVudCBmb3JLZXk6W05TVmFsdWUgdmFsdWVXaXRoTm9ucmV0YWluZWRPYmplY3Q6W190ZXh0
VGFibGVzIGxhc3RPYmplY3RdXV07CiAgICAgICAgIHJldHZhbCA9IE5POwogICAgIH0gZWxzZSBp
ZiAoW0AidGFibGUtcm93IiBpc0VxdWFsVG9TdHJpbmc6ZGlzcGxheVZhbF0gJiYgW190ZXh0VGFi
bGVzIGNvdW50XSA+IDApIHsKLSAgICAgICAgUGxhdGZvcm1Db2xvciAqY29sb3IgPSBbc2VsZiBf
Y29sb3JGb3JOb2RlOmVsZW1lbnQgcHJvcGVydHk6Q1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3Jd
OworICAgICAgICBQbGF0Zm9ybUNvbG9yICpjb2xvciA9IFtzZWxmIF9jb2xvckZvck5vZGU6ZWxl
bWVudCBwcm9wZXJ0eTpAImJhY2tncm91bmQtY29sb3IiXTsKICAgICAgICAgaWYgKCFjb2xvcikg
Y29sb3IgPSBbUGxhdGZvcm1Db2xvckNsYXNzIGNsZWFyQ29sb3JdOwogICAgICAgICBbX3RleHRU
YWJsZVJvd0JhY2tncm91bmRDb2xvcnMgYWRkT2JqZWN0OmNvbG9yXTsKICAgICB9IGVsc2UgaWYg
KFtAInRhYmxlLWNlbGwiIGlzRXF1YWxUb1N0cmluZzpkaXNwbGF5VmFsXSkgewpAQCAtMTg2MSwx
NCArMTg3MCwxNCBAQCBzdGF0aWMgTlNJbnRlZ2VyIF9jb2xDb21wYXJlKGlkIGJsb2NrMSwgaWQg
YmxvY2syLCB2b2lkICopCiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKFtAIlVMIiBpc0VxdWFs
VG9TdHJpbmc6dGFnXSkgewogICAgICAgICBSZXRhaW5QdHI8TlNUZXh0TGlzdD4gbGlzdDsKLSAg
ICAgICAgTlNTdHJpbmcgKmxpc3RTdHlsZVR5cGUgPSBbc2VsZiBfc3RyaW5nRm9yTm9kZTplbGVt
ZW50IHByb3BlcnR5OkNTU1Byb3BlcnR5TGlzdFN0eWxlVHlwZV07CisgICAgICAgIE5TU3RyaW5n
ICpsaXN0U3R5bGVUeXBlID0gW3NlbGYgX3N0cmluZ0Zvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpA
Imxpc3Qtc3R5bGUtdHlwZSJdOwogICAgICAgICBpZiAoIWxpc3RTdHlsZVR5cGUgfHwgW2xpc3RT
dHlsZVR5cGUgbGVuZ3RoXSA9PSAwKQogICAgICAgICAgICAgbGlzdFN0eWxlVHlwZSA9IEAiZGlz
YyI7CiAgICAgICAgIGxpc3QgPSBhZG9wdE5TKFtbUGxhdGZvcm1OU1RleHRMaXN0IGFsbG9jXSBp
bml0V2l0aE1hcmtlckZvcm1hdDpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAInslQH0iLCBs
aXN0U3R5bGVUeXBlXSBvcHRpb25zOjBdKTsKICAgICAgICAgW190ZXh0TGlzdHMgYWRkT2JqZWN0
Omxpc3QuZ2V0KCldOwogICAgIH0gZWxzZSBpZiAoW0AiT0wiIGlzRXF1YWxUb1N0cmluZzp0YWdd
KSB7CiAgICAgICAgIFJldGFpblB0cjxOU1RleHRMaXN0PiBsaXN0OwotICAgICAgICBOU1N0cmlu
ZyAqbGlzdFN0eWxlVHlwZSA9IFtzZWxmIF9zdHJpbmdGb3JOb2RlOmVsZW1lbnQgcHJvcGVydHk6
Q1NTUHJvcGVydHlMaXN0U3R5bGVUeXBlXTsKKyAgICAgICAgTlNTdHJpbmcgKmxpc3RTdHlsZVR5
cGUgPSBbc2VsZiBfc3RyaW5nRm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkAibGlzdC1zdHlsZS10
eXBlIl07CiAgICAgICAgIGlmICghbGlzdFN0eWxlVHlwZSB8fCBbbGlzdFN0eWxlVHlwZSBsZW5n
dGhdID09IDApIGxpc3RTdHlsZVR5cGUgPSBAImRlY2ltYWwiOwogICAgICAgICBsaXN0ID0gYWRv
cHROUyhbW1BsYXRmb3JtTlNUZXh0TGlzdCBhbGxvY10gaW5pdFdpdGhNYXJrZXJGb3JtYXQ6W05T
U3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJ7JUB9LiIsIGxpc3RTdHlsZVR5cGVdIG9wdGlvbnM6
MF0pOwogICAgICAgICBpZiAoW2VsZW1lbnQgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihz
dGFydCldKSB7CkBAIC0yMDAzLDcgKzIwMTIsNyBAQCBzdGF0aWMgTlNJbnRlZ2VyIF9jb2xDb21w
YXJlKGlkIGJsb2NrMSwgaWQgYmxvY2syLCB2b2lkICopCiAgICAgICAgICAgICBbc2VsZiBfbmV3
UGFyYWdyYXBoRm9yRWxlbWVudDplbGVtZW50IHRhZzp0YWcgYWxsb3dFbXB0eToocmFuZ2UubGVu
Z3RoID09IDApIHN1cHByZXNzVHJhaWxpbmdTcGFjZTpZRVNdOwogICAgICAgICB9CiAgICAgfSBl
bHNlIGlmIChbX3dyaXRpbmdEaXJlY3Rpb25BcnJheSBjb3VudF0gPiAwKSB7Ci0gICAgICAgIE5T
U3RyaW5nICpiaWRpID0gW3NlbGYgX3N0cmluZ0Zvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpDU1NQ
cm9wZXJ0eVVuaWNvZGVCaWRpXTsKKyAgICAgICAgTlNTdHJpbmcgKmJpZGkgPSBbc2VsZiBfc3Ry
aW5nRm9yTm9kZTplbGVtZW50IHByb3BlcnR5OkAidW5pY29kZS1iaWRpIl07CiAgICAgICAgIGlm
IChiaWRpICYmIChbYmlkaSBpc0VxdWFsVG9TdHJpbmc6QCJlbWJlZCJdIHx8IFtiaWRpIGlzRXF1
YWxUb1N0cmluZzpAImJpZGktb3ZlcnJpZGUiXSkpIHsKICAgICAgICAgICAgIFtfd3JpdGluZ0Rp
cmVjdGlvbkFycmF5IHJlbW92ZUxhc3RPYmplY3RdOwogICAgICAgICB9CkBAIC0yMTI3LDggKzIx
MzYsOCBAQCBzdGF0aWMgTlNJbnRlZ2VyIF9jb2xDb21wYXJlKGlkIGJsb2NrMSwgaWQgYmxvY2sy
LCB2b2lkICopCiAgICAgQk9PTCBzdXBwcmVzc0xlYWRpbmdTcGFjZSA9ICgoX2ZsYWdzLmlzU29m
dCAmJiBsYXN0Q2hhciA9PSAnICcpIHx8IGxhc3RDaGFyID09ICdcbicgfHwgbGFzdENoYXIgPT0g
J1xyJyB8fCBsYXN0Q2hhciA9PSAnXHQnIHx8IGxhc3RDaGFyID09IE5TUGFyYWdyYXBoU2VwYXJh
dG9yQ2hhcmFjdGVyIHx8IGxhc3RDaGFyID09IE5TTGluZVNlcGFyYXRvckNoYXJhY3RlciB8fCBs
YXN0Q2hhciA9PSBOU0Zvcm1GZWVkQ2hhcmFjdGVyIHx8IGxhc3RDaGFyID09IFdlYk5leHRMaW5l
Q2hhcmFjdGVyKTsKICAgICBOU1JhbmdlIHJhbmdlVG9SZXBsYWNlID0gTlNNYWtlUmFuZ2UodGV4
dExlbmd0aCwgMCk7CiAgICAgQ0ZNdXRhYmxlU3RyaW5nUmVmIG11dHN0ciA9IE5VTEw7Ci0gICAg
d2hpdGVzcGFjZVZhbCA9IFtzZWxmIF9zdHJpbmdGb3JOb2RlOnRleHQgcHJvcGVydHk6Q1NTUHJv
cGVydHlXaGl0ZVNwYWNlXTsKLSAgICB0cmFuc2Zvcm1WYWwgPSBbc2VsZiBfc3RyaW5nRm9yTm9k
ZTp0ZXh0IHByb3BlcnR5OkNTU1Byb3BlcnR5VGV4dFRyYW5zZm9ybV07CisgICAgd2hpdGVzcGFj
ZVZhbCA9IFtzZWxmIF9zdHJpbmdGb3JOb2RlOnRleHQgcHJvcGVydHk6QCJ3aGl0ZS1zcGFjZSJd
OworICAgIHRyYW5zZm9ybVZhbCA9IFtzZWxmIF9zdHJpbmdGb3JOb2RlOnRleHQgcHJvcGVydHk6
QCJ0ZXh0LXRyYW5zZm9ybSJdOwogICAgIAogICAgIGlmIChfZG9tUmFuZ2UpIHsKICAgICAgICAg
aWYgKHRleHQgPT0gW19kb21SYW5nZSBzdGFydENvbnRhaW5lcl0pIHsKQEAgLTIyNjEsNyArMjI3
MCw3IEBAIHN0YXRpYyBOU0ludGVnZXIgX2NvbENvbXBhcmUoaWQgYmxvY2sxLCBpZCBibG9jazIs
IHZvaWQgKikKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAobm9kZVR5cGUgPT0gRE9NX0VMRU1F
TlRfTk9ERSkgewogICAgICAgICBET01FbGVtZW50ICplbGVtZW50ID0gKERPTUVsZW1lbnQgKilu
b2RlOwotICAgICAgICBOU1N0cmluZyAqdGFnID0gW2VsZW1lbnQgdGFnTmFtZV0sICpkaXNwbGF5
VmFsID0gW3NlbGYgX3N0cmluZ0Zvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpDU1NQcm9wZXJ0eURp
c3BsYXldOworICAgICAgICBOU1N0cmluZyAqdGFnID0gW2VsZW1lbnQgdGFnTmFtZV0sICpkaXNw
bGF5VmFsID0gW3NlbGYgX3N0cmluZ0Zvck5vZGU6ZWxlbWVudCBwcm9wZXJ0eTpAImRpc3BsYXki
XTsKICAgICAgICAgaWYgKFtzZWxmIF9lbnRlckVsZW1lbnQ6ZWxlbWVudCB0YWc6dGFnIGRpc3Bs
YXk6ZGlzcGxheVZhbCBlbWJlZGRlZDplbWJlZGRlZF0pIHsKICAgICAgICAgICAgIE5TVUludGVn
ZXIgc3RhcnRJbmRleCA9IFtfYXR0clN0ciBsZW5ndGhdOwogICAgICAgICAgICAgaWYgKFtzZWxm
IF9wcm9jZXNzRWxlbWVudDplbGVtZW50IHRhZzp0YWcgZGlzcGxheTpkaXNwbGF5VmFsIGRlcHRo
OmRlcHRoXSkgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>