<?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>150352</bug_id>
          
          <creation_ts>2015-10-19 19:40:28 -0700</creation_ts>
          <short_desc>REGRESSION(r191324): Shadowing CTM&apos;s state is not necessary (Requested by litherum on #webkit).</short_desc>
          <delta_ts>2015-10-19 19:44:43 -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>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>
          
          <blocked>150146</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>mmaxfield</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1134786</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-19 19:40:28 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/191324 broke the build:
Shadowing CTM&apos;s state is not necessary (Requested by litherum 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>1134788</commentid>
    <comment_count>1</comment_count>
      <attachid>263544</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-19 19:41:07 -0700</bug_when>
    <thetext>Created attachment 263544
ROLLOUT of r191324

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>1134791</commentid>
    <comment_count>2</comment_count>
      <attachid>263544</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-19 19:44:39 -0700</bug_when>
    <thetext>Comment on attachment 263544
ROLLOUT of r191324

Clearing flags on attachment: 263544

Committed r191326: &lt;http://trac.webkit.org/changeset/191326&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134792</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-19 19:44:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263544</attachid>
            <date>2015-10-19 19:41:07 -0700</date>
            <delta_ts>2015-10-19 19:44:39 -0700</delta_ts>
            <desc>ROLLOUT of r191324</desc>
            <filename>bug-150352-20151019194025.patch</filename>
            <type>text/plain</type>
            <size>25215</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMzI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGFiMjJhNjc4Yjc4ODVm
NTAyYmFkY2ZiNjU1MTUyOTY0ODIxNjFlNi4uMjE1ZjA0NDAzNTllOWNlZDgyYmJkN2M4YmVkZjU5
ZTUyMWE3OGRhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE1LTEwLTE5ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTkxMzI0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTUwMzUyCisKKyAgICAgICAgU2hhZG93aW5nIENUTSdzIHN0YXRlIGlz
IG5vdCBuZWNlc3NhcnkgKFJlcXVlc3RlZCBieSBsaXRoZXJ1bQorICAgICAgICBvbiAjd2Via2l0
KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIkhvc3QgR3JhcGhp
Y3NDb250ZXh0J3MgQ1RNIGluc2lkZSBHcmFwaGljc0NvbnRleHRTdGF0ZSIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDE0NgorICAgICAgICBodHRw
Oi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xOTEzMjQKKwogMjAxNS0xMC0xOSAgTXlsZXMg
Qy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIEhvc3QgR3JhcGhp
Y3NDb250ZXh0J3MgQ1RNIGluc2lkZSBHcmFwaGljc0NvbnRleHRTdGF0ZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKaW5kZXgg
YThlNDliYWEyODBiZGI2ZWRhOTNkMzRhNmRiNGVhNzViYjFkNGEwYi4uMmI0YTJmNzk5ZjlmNTA1
MjVkOWU5OGI1NjEwYzFjNDVkNTRhYWEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCkBAIC0xNDIsODcgKzE0Miw2IEBA
IHZvaWQgR3JhcGhpY3NDb250ZXh0OjpyZXN0b3JlKCkKICAgICByZXN0b3JlUGxhdGZvcm1TdGF0
ZSgpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6Y29uY2F0Q1RNKGNvbnN0IEFmZmluZVRy
YW5zZm9ybSYgb3RoZXIpCi17Ci0gICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgY2hlY2tDVE1JbnZhcmlhbnRzKCk7Ci0KLSAgICBtX3N0YXRlLmN0bSAq
PSBvdGhlcjsKLSAgICBjb25jYXRQbGF0Zm9ybUNUTShvdGhlcik7Ci0KLSAgICBjaGVja0NUTUlu
dmFyaWFudHMoKTsKLX0KLQotdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNjYWxlKGZsb2F0IHgsIGZs
b2F0IHkpCi17Ci0gICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgY2hlY2tDVE1JbnZhcmlhbnRzKCk7Ci0KLSAgICBtX3N0YXRlLmN0bS5zY2FsZSh4LCB5
KTsKLSAgICBzY2FsZVBsYXRmb3JtQ1RNKHgsIHkpOwotCi0gICAgY2hlY2tDVE1JbnZhcmlhbnRz
KCk7Ci19Ci0KLXZvaWQgR3JhcGhpY3NDb250ZXh0Ojpyb3RhdGUoZmxvYXQgYW5nbGUpCi17Ci0g
ICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgY2hlY2tD
VE1JbnZhcmlhbnRzKCk7Ci0KLSAgICBtX3N0YXRlLmN0bS5yb3RhdGUocmFkMmRlZyhhbmdsZSkp
OwotICAgIHJvdGF0ZVBsYXRmb3JtQ1RNKGFuZ2xlKTsKLQotICAgIGNoZWNrQ1RNSW52YXJpYW50
cygpOwotfQotCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6dHJhbnNsYXRlKGZsb2F0IHgsIGZsb2F0
IHkpCi17Ci0gICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgY2hlY2tDVE1JbnZhcmlhbnRzKCk7Ci0KLSAgICBtX3N0YXRlLmN0bS50cmFuc2xhdGUoeCwg
eSk7Ci0gICAgdHJhbnNsYXRlUGxhdGZvcm1DVE0oeCwgeSk7Ci0KLSAgICBjaGVja0NUTUludmFy
aWFudHMoKTsKLX0KLQotdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldENUTShjb25zdCBBZmZpbmVU
cmFuc2Zvcm0mIG90aGVyKQotewotICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCi0gICAgICAg
IHJldHVybjsKLQotICAgIGNoZWNrQ1RNSW52YXJpYW50cygpOwotCi0gICAgbV9zdGF0ZS5jdG0g
PSBvdGhlcjsKLSAgICBzZXRQbGF0Zm9ybUNUTShvdGhlcik7Ci0KLSAgICBjaGVja0NUTUludmFy
aWFudHMoKTsKLX0KLQotQWZmaW5lVHJhbnNmb3JtIEdyYXBoaWNzQ29udGV4dDo6Z2V0Q1RNKElu
Y2x1ZGVEZXZpY2VTY2FsZSBpbmNsdWRlU2NhbGUpIGNvbnN0Ci17Ci0gICAgaWYgKHBhaW50aW5n
RGlzYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuIEFmZmluZVRyYW5zZm9ybSgpOwotCi0gICAgQWZm
aW5lVHJhbnNmb3JtIHJlc3VsdDsKLSAgICBpZiAoaW5jbHVkZVNjYWxlID09IERlZmluaXRlbHlJ
bmNsdWRlRGV2aWNlU2NhbGUpCi0gICAgICAgIHJlc3VsdCA9IG1fc3RhdGUudXNlclRvRGV2aWNl
U3BhY2VDVE0gKiBtX3N0YXRlLmN0bTsKLSAgICBlbHNlCi0gICAgICAgIHJlc3VsdCA9IG1fc3Rh
dGUuY3RtOwotCi0gICAgQVNTRVJUKHJlc3VsdC5pc0Vzc2VudGlhbGx5RXF1YWxUbyhnZXRQbGF0
Zm9ybUNUTShpbmNsdWRlU2NhbGUpKSk7Ci0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCiB2b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZHJhd1JhaXNlZEVsbGlwc2UoY29uc3QgRmxvYXRSZWN0JiByZWN0
LCBjb25zdCBDb2xvciYgZWxsaXBzZUNvbG9yLCBDb2xvclNwYWNlIGVsbGlwc2VDb2xvclNwYWNl
LCBjb25zdCBDb2xvciYgc2hhZG93Q29sb3IsIENvbG9yU3BhY2Ugc2hhZG93Q29sb3JTcGFjZSkK
IHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQpAQCAtMzc2LDggKzI5NSw2IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0OjpiZWdpblRyYW5zcGFyZW5jeUxheWVyKGZsb2F0IG9wYWNpdHkpCiB7
CiAgICAgYmVnaW5QbGF0Zm9ybVRyYW5zcGFyZW5jeUxheWVyKG9wYWNpdHkpOwogICAgICsrbV90
cmFuc3BhcmVuY3lDb3VudDsKLQotICAgIHJlc2V0UGxhdGZvcm1DVE0oKTsKIH0KIAogdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmVuZFRyYW5zcGFyZW5jeUxheWVyKCkKQEAgLTczNyw4ICs2NTQsNyBA
QCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6cGxhdGZvcm1BcHBseURldmljZVNjYWxlRmFjdG9yKGZs
b2F0KQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dDo6YXBwbHlEZXZpY2VTY2FsZUZhY3RvcihmbG9h
dCBkZXZpY2VTY2FsZUZhY3RvcikKIHsKLSAgICBzY2FsZShkZXZpY2VTY2FsZUZhY3RvciwgZGV2
aWNlU2NhbGVGYWN0b3IpOwotCisgICAgc2NhbGUoRmxvYXRTaXplKGRldmljZVNjYWxlRmFjdG9y
LCBkZXZpY2VTY2FsZUZhY3RvcikpOwogICAgIHBsYXRmb3JtQXBwbHlEZXZpY2VTY2FsZUZhY3Rv
cihkZXZpY2VTY2FsZUZhY3Rvcik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKaW5kZXggNzhhZmIwNzI3YWIzMDBiOWJjZjFj
ODk3ZTQ3YWE2MTgzNWU5Y2U2Mi4uMWE5Zjk5NTgzNWEyOTJhYTk2Y2I3Zjk3YjY3ZTZmZDZhNmFj
NDQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0LmgKQEAgLTE1Niw5ICsxNTYsNiBAQCBzdHJ1Y3QgR3JhcGhpY3NDb250ZXh0U3Rh
dGUgewogICAgIENvbXBvc2l0ZU9wZXJhdG9yIGNvbXBvc2l0ZU9wZXJhdG9yIHsgQ29tcG9zaXRl
U291cmNlT3ZlciB9OwogICAgIEJsZW5kTW9kZSBibGVuZE1vZGUgeyBCbGVuZE1vZGVOb3JtYWwg
fTsKIAotICAgIEFmZmluZVRyYW5zZm9ybSB1c2VyVG9EZXZpY2VTcGFjZUNUTTsKLSAgICBBZmZp
bmVUcmFuc2Zvcm0gY3RtOwotCiAgICAgYm9vbCBzaG91bGRBbnRpYWxpYXMgOiAxOwogICAgIGJv
b2wgc2hvdWxkU21vb3RoRm9udHMgOiAxOwogICAgIGJvb2wgYW50aWFsaWFzZWRGb250RGlsYXRp
b25FbmFibGVkIDogMTsKQEAgLTQyMywyNSArNDIwLDE4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNh
bnZhc0NsaXAoY29uc3QgUGF0aCYsIFdpbmRSdWxlID0gUlVMRV9FVkVOT0REKTsKICAgICB2b2lk
IGNsaXBPdXQoY29uc3QgUGF0aCYpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzY2FsZShj
b25zdCBGbG9hdFNpemUmIHNpemUpIHsgc2NhbGUoc2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgp
KTsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2NhbGUoY29uc3QgRmxvYXRTaXplJik7CiAg
ICAgdm9pZCByb3RhdGUoZmxvYXQgYW5nbGVJblJhZGlhbnMpOwogICAgIHZvaWQgdHJhbnNsYXRl
KGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSkgeyB0cmFuc2xhdGUoc2l6ZS53aWR0aCgpLCBzaXplLmhl
aWdodCgpKTsgfQotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2NhbGUoZmxvYXQgeCwgZmxvYXQg
eSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB0cmFuc2xhdGUoZmxvYXQgeCwgZmxvYXQgeSk7
CiAKICAgICB2b2lkIHNldFVSTEZvclJlY3QoY29uc3QgVVJMJiwgY29uc3QgSW50UmVjdCYpOwog
Ci0gICAgdm9pZCBjaGVja0NUTUludmFyaWFudHMoKSBjb25zdAotICAgIHsKLSAgICAgICAgQVNT
RVJUKGdldENUTShEZWZpbml0ZWx5SW5jbHVkZURldmljZVNjYWxlKS5pc0Vzc2VudGlhbGx5RXF1
YWxUbyhnZXRQbGF0Zm9ybUNUTShEZWZpbml0ZWx5SW5jbHVkZURldmljZVNjYWxlKSkpOwotICAg
ICAgICBBU1NFUlQoZ2V0Q1RNKFBvc3NpYmx5SW5jbHVkZURldmljZVNjYWxlKS5pc0Vzc2VudGlh
bGx5RXF1YWxUbyhnZXRQbGF0Zm9ybUNUTShQb3NzaWJseUluY2x1ZGVEZXZpY2VTY2FsZSkpKTsK
LSAgICB9CiAgICAgdm9pZCBjb25jYXRDVE0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CiAgICAg
dm9pZCBzZXRDVE0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7Ci0gICAgdm9pZCByZXNldFBsYXRm
b3JtQ1RNKCk7CiAKICAgICBlbnVtIEluY2x1ZGVEZXZpY2VTY2FsZSB7IERlZmluaXRlbHlJbmNs
dWRlRGV2aWNlU2NhbGUsIFBvc3NpYmx5SW5jbHVkZURldmljZVNjYWxlIH07Ci0gICAgQWZmaW5l
VHJhbnNmb3JtIGdldENUTShJbmNsdWRlRGV2aWNlU2NhbGUgPSBQb3NzaWJseUluY2x1ZGVEZXZp
Y2VTY2FsZSkgY29uc3Q7CisgICAgQWZmaW5lVHJhbnNmb3JtIGdldENUTShJbmNsdWRlRGV2aWNl
U2NhbGUgaW5jbHVkZVNjYWxlID0gUG9zc2libHlJbmNsdWRlRGV2aWNlU2NhbGUpIGNvbnN0Owog
CiAjaWYgRU5BQkxFKDNEX1RSQU5TRk9STVMpICYmIFVTRShURVhUVVJFX01BUFBFUikKICAgICAv
LyBUaGlzIGlzIG5lZWRlZCB3aGVuIHVzaW5nIGFjY2VsZXJhdGVkLWNvbXBvc2l0aW5nIGluIHNv
ZnR3YXJlIG1vZGUsIGxpa2UgaW4gVGV4dHVyZU1hcHBlci4KQEAgLTU1NSwxMyArNTQ1LDYgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHNldFBsYXRmb3JtQWxwaGEoZmxvYXQpOwogICAgIHZvaWQgc2V0
UGxhdGZvcm1Db21wb3NpdGVPcGVyYXRpb24oQ29tcG9zaXRlT3BlcmF0b3IsIEJsZW5kTW9kZSA9
IEJsZW5kTW9kZU5vcm1hbCk7CiAKLSAgICB2b2lkIGNvbmNhdFBsYXRmb3JtQ1RNKGNvbnN0IEFm
ZmluZVRyYW5zZm9ybSYpOwotICAgIHZvaWQgc2NhbGVQbGF0Zm9ybUNUTShmbG9hdCB4LCBmbG9h
dCB5KTsKLSAgICB2b2lkIHJvdGF0ZVBsYXRmb3JtQ1RNKGZsb2F0KTsKLSAgICB2b2lkIHRyYW5z
bGF0ZVBsYXRmb3JtQ1RNKGZsb2F0LCBmbG9hdCk7Ci0gICAgdm9pZCBzZXRQbGF0Zm9ybUNUTShj
b25zdCBBZmZpbmVUcmFuc2Zvcm0mKTsKLSAgICBBZmZpbmVUcmFuc2Zvcm0gZ2V0UGxhdGZvcm1D
VE0oSW5jbHVkZURldmljZVNjYWxlID0gUG9zc2libHlJbmNsdWRlRGV2aWNlU2NhbGUpIGNvbnN0
OyAvLyBUaGlzIGlzIG9ubHkgY29tcHV0ZWQgdG8gQVNTRVJUKCkgdGhhdCB0aGUgR3JhcGhpY3ND
b250ZXh0U3RhdGUgYWdyZWVzIHdpdGggdGhlIHVuZGVybHlpbmcgcGxhdGZvcm0uCi0KICAgICB2
b2lkIGJlZ2luUGxhdGZvcm1UcmFuc3BhcmVuY3lMYXllcihmbG9hdCBvcGFjaXR5KTsKICAgICB2
b2lkIGVuZFBsYXRmb3JtVHJhbnNwYXJlbmN5TGF5ZXIoKTsKICAgICBzdGF0aWMgYm9vbCBzdXBw
b3J0c1RyYW5zcGFyZW5jeUxheWVycygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlLmgKaW5kZXggMDAyYTA5ZjdkNGJhY2EzZTBjMGRjMzUwZmMwZjRiMzYwNDE0YTQ5ZS4u
MWRiNzc1YzNhNzJiOWMxZWNmMTAxODE4M2E0OGNiZGZiOWQ5MWE0NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oCkBAIC0xMzMsNyArMTMzLDcgQEAgcHVibGljOgog
CiAgICAgZW51bSBUaWxlUnVsZSB7IFN0cmV0Y2hUaWxlLCBSb3VuZFRpbGUsIFNwYWNlVGlsZSwg
UmVwZWF0VGlsZSB9OwogCi0gICAgdmlydHVhbCBQYXNzTmF0aXZlSW1hZ2VQdHIgbmF0aXZlSW1h
Z2VGb3JDdXJyZW50RnJhbWUoKSB7IHJldHVybiBudWxscHRyOyB9CisgICAgdmlydHVhbCBQYXNz
TmF0aXZlSW1hZ2VQdHIgbmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKSB7IHJldHVybiAwOyB9
CiAgICAgdmlydHVhbCBJbWFnZU9yaWVudGF0aW9uIG9yaWVudGF0aW9uRm9yQ3VycmVudEZyYW1l
KCkgeyByZXR1cm4gSW1hZ2VPcmllbnRhdGlvbigpOyB9CiAKICAgICAvLyBBY2Nlc3NvcnMgZm9y
IG5hdGl2ZSBpbWFnZSBmb3JtYXRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCmluZGV4
IGJjODQyZjkyNjVmMDE1MmY1M2U3ZjdiZjI1ZGZiMTU0ZGM1YTU0NDEuLjkzZmIzMGM3ZTFhNzYw
MjJmZjNjNTU4MGQ0Y2U3OTQ5MzU0YzhjYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5j
cHAKQEAgLTE5NCwxNSArMTk0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OnBsYXRmb3JtRGVz
dHJveSgpCiAgICAgZGVsZXRlIG1fZGF0YTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OnJl
c2V0UGxhdGZvcm1DVE0oKQotewotICAgIGlmIChwbGF0Zm9ybUNvbnRleHQoKSkKLSAgICAgICAg
bV9zdGF0ZS5jdG0gPSBnZXRQbGF0Zm9ybUNUTSgpOwotICAgIGVsc2UKLSAgICAgICAgbV9zdGF0
ZS5jdG0ubWFrZUlkZW50aXR5KCk7Ci19Ci0KLUFmZmluZVRyYW5zZm9ybSBHcmFwaGljc0NvbnRl
eHQ6OmdldFBsYXRmb3JtQ1RNKEluY2x1ZGVEZXZpY2VTY2FsZSkgY29uc3QKK0FmZmluZVRyYW5z
Zm9ybSBHcmFwaGljc0NvbnRleHQ6OmdldENUTShJbmNsdWRlRGV2aWNlU2NhbGUpIGNvbnN0CiB7
CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIEFmZmluZVRyYW5z
Zm9ybSgpOwpAQCAtNzE5LDE0ICs3MTEsMTQgQEAgRmxvYXRSZWN0IEdyYXBoaWNzQ29udGV4dDo6
cm91bmRUb0RldmljZVBpeGVscyhjb25zdCBGbG9hdFJlY3QmIGZyZWN0LCBSb3VuZGluZ00KICAg
ICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6dHJhbnNsYXRlUGxh
dGZvcm1DVE0oZmxvYXQgeCwgZmxvYXQgeSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0Ojp0cmFuc2xh
dGUoZmxvYXQgeCwgZmxvYXQgeSkKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAg
ICAgICByZXR1cm47CiAKICAgICBjYWlyb190KiBjciA9IHBsYXRmb3JtQ29udGV4dCgpLT5jcigp
OwogICAgIGNhaXJvX3RyYW5zbGF0ZShjciwgeCwgeSk7Ci0gICAgbV9kYXRhLT50cmFuc2xhdGVQ
bGF0Zm9ybUNUTSh4LCB5KTsKKyAgICBtX2RhdGEtPnRyYW5zbGF0ZSh4LCB5KTsKIH0KIAogdm9p
ZCBHcmFwaGljc0NvbnRleHQ6OnNldFBsYXRmb3JtRmlsbENvbG9yKGNvbnN0IENvbG9yJiwgQ29s
b3JTcGFjZSkKQEAgLTc4MSw3ICs3NzMsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0VVJM
Rm9yUmVjdChjb25zdCBVUkwmLCBjb25zdCBJbnRSZWN0JikKICAgICBub3RJbXBsZW1lbnRlZCgp
OwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6Y29uY2F0UGxhdGZvcm1DVE0oY29uc3QgQWZm
aW5lVHJhbnNmb3JtJiB0cmFuc2Zvcm0pCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6Y29uY2F0Q1RN
KGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3JtKQogewogICAgIGlmIChwYWludGluZ0Rp
c2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTc4OSwxMCArNzgxLDEwIEBAIHZvaWQgR3Jh
cGhpY3NDb250ZXh0Ojpjb25jYXRQbGF0Zm9ybUNUTShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHRy
YW5zZm9ybSkKICAgICBjYWlyb190KiBjciA9IHBsYXRmb3JtQ29udGV4dCgpLT5jcigpOwogICAg
IGNvbnN0IGNhaXJvX21hdHJpeF90IG1hdHJpeCA9IGNhaXJvX21hdHJpeF90KHRyYW5zZm9ybSk7
CiAgICAgY2Fpcm9fdHJhbnNmb3JtKGNyLCAmbWF0cml4KTsKLSAgICBtX2RhdGEtPmNvbmNhdFBs
YXRmb3JtQ1RNKHRyYW5zZm9ybSk7CisgICAgbV9kYXRhLT5jb25jYXRDVE0odHJhbnNmb3JtKTsK
IH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldFBsYXRmb3JtQ1RNKGNvbnN0IEFmZmluZVRy
YW5zZm9ybSYgdHJhbnNmb3JtKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldENUTShjb25zdCBB
ZmZpbmVUcmFuc2Zvcm0mIHRyYW5zZm9ybSkKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgp
KQogICAgICAgICByZXR1cm47CkBAIC04MDAsNyArNzkyLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OnNldFBsYXRmb3JtQ1RNKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3JtKQogICAg
IGNhaXJvX3QqIGNyID0gcGxhdGZvcm1Db250ZXh0KCktPmNyKCk7CiAgICAgY29uc3QgY2Fpcm9f
bWF0cml4X3QgbWF0cml4ID0gY2Fpcm9fbWF0cml4X3QodHJhbnNmb3JtKTsKICAgICBjYWlyb19z
ZXRfbWF0cml4KGNyLCAmbWF0cml4KTsKLSAgICBtX2RhdGEtPnNldFBsYXRmb3JtQ1RNKHRyYW5z
Zm9ybSk7CisgICAgbV9kYXRhLT5zZXRDVE0odHJhbnNmb3JtKTsKIH0KIAogdm9pZCBHcmFwaGlj
c0NvbnRleHQ6OnNldFBsYXRmb3JtU2hhZG93KEZsb2F0U2l6ZSBjb25zdCYgc2l6ZSwgZmxvYXQs
IENvbG9yIGNvbnN0JiwgQ29sb3JTcGFjZSkKQEAgLTEwMTEsMjIgKzEwMDMsMjIgQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmNsaXBPdXQoY29uc3QgUGF0aCYgcGF0aCkKICAgICBjYWlyb19zZXRf
ZmlsbF9ydWxlKGNyLCBzYXZlZEZpbGxSdWxlKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6
OnJvdGF0ZVBsYXRmb3JtQ1RNKGZsb2F0IHJhZGlhbnMpCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6
cm90YXRlKGZsb2F0IHJhZGlhbnMpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgY2Fpcm9fcm90YXRlKHBsYXRmb3JtQ29udGV4dCgpLT5jcigp
LCByYWRpYW5zKTsKLSAgICBtX2RhdGEtPnJvdGF0ZVBsYXRmb3JtQ1RNKHJhZGlhbnMpOworICAg
IG1fZGF0YS0+cm90YXRlKHJhZGlhbnMpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6c2Nh
bGVQbGF0Zm9ybUNUTShmbG9hdCB4LCBmbG9hdCB5KQordm9pZCBHcmFwaGljc0NvbnRleHQ6OnNj
YWxlKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSkKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgp
KQogICAgICAgICByZXR1cm47CiAKLSAgICBjYWlyb19zY2FsZShwbGF0Zm9ybUNvbnRleHQoKS0+
Y3IoKSwgeCwgeSk7Ci0gICAgbV9kYXRhLT5zY2FsZVBsYXRmb3JtQ1RNKHgsIHkpOworICAgIGNh
aXJvX3NjYWxlKHBsYXRmb3JtQ29udGV4dCgpLT5jcigpLCBzaXplLndpZHRoKCksIHNpemUuaGVp
Z2h0KCkpOworICAgIG1fZGF0YS0+c2NhbGUoc2l6ZSk7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250
ZXh0OjpjbGlwT3V0KGNvbnN0IEZsb2F0UmVjdCYgcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0
ZUNhaXJvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGVDYWlyby5oCmluZGV4IDM4Y2RlYjNlZDMwZmRhZmY1OWMw
ZTQ0MWYyZGUxMzBlMzY0MDYyNjUuLmIyZDI1ZDZhN2VjNWYwNWE4MTBiNTZiZDgxNGMyN2RiMDZm
OTVhMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJv
L0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZUNhaXJvLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRl
Q2Fpcm8uaApAQCAtNjcsMjQgKzY3LDI0IEBAIHB1YmxpYzoKICAgICB2b2lkIGZsdXNoKCk7CiAg
ICAgdm9pZCBjbGlwKGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZvaWQgY2xpcChjb25zdCBQYXRo
Jik7Ci0gICAgdm9pZCBzY2FsZVBsYXRmb3JtQ1RNKGZsb2F0LCBmbG9hdCk7Ci0gICAgdm9pZCBy
b3RhdGVQbGF0Zm9ybUNUTShmbG9hdCk7Ci0gICAgdm9pZCB0cmFuc2xhdGVQbGF0Zm9ybUNUTShm
bG9hdCwgZmxvYXQpOwotICAgIHZvaWQgY29uY2F0UGxhdGZvcm1DVE0oY29uc3QgQWZmaW5lVHJh
bnNmb3JtJik7Ci0gICAgdm9pZCBzZXRQbGF0Zm9ybUNUTShjb25zdCBBZmZpbmVUcmFuc2Zvcm0m
KTsKKyAgICB2b2lkIHNjYWxlKGNvbnN0IEZsb2F0U2l6ZSYpOworICAgIHZvaWQgcm90YXRlKGZs
b2F0KTsKKyAgICB2b2lkIHRyYW5zbGF0ZShmbG9hdCwgZmxvYXQpOworICAgIHZvaWQgY29uY2F0
Q1RNKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpOworICAgIHZvaWQgc2V0Q1RNKGNvbnN0IEFmZmlu
ZVRyYW5zZm9ybSYpOwogICAgIHZvaWQgc3luY0NvbnRleHQoY2Fpcm9fdCogY3IpOwogI2Vsc2UK
ICAgICAvLyBPbiBldmVyeXRoaW5nIGVsc2UsIHdlIGRvIG5vdGhpbmcuCi0gICAgdm9pZCBzYXZl
KCkgeyB9Ci0gICAgdm9pZCByZXN0b3JlKCkgeyB9Ci0gICAgdm9pZCBmbHVzaCgpIHsgfQotICAg
IHZvaWQgY2xpcChjb25zdCBGbG9hdFJlY3QmKSB7IH0KLSAgICB2b2lkIGNsaXAoY29uc3QgUGF0
aCYpIHsgfQotICAgIHZvaWQgc2NhbGVQbGF0Zm9ybUNUTShmbG9hdCwgZmxvYXQpIHsgfQotICAg
IHZvaWQgcm90YXRlUGxhdGZvcm1DVE0oZmxvYXQpIHsgfQotICAgIHZvaWQgdHJhbnNsYXRlUGxh
dGZvcm1DVE0oZmxvYXQsIGZsb2F0KSB7IH0KLSAgICB2b2lkIGNvbmNhdFBsYXRmb3JtQ1RNKGNv
bnN0IEFmZmluZVRyYW5zZm9ybSYpIHsgfQotICAgIHZvaWQgc2V0UGxhdGZvcm1DVE0oY29uc3Qg
QWZmaW5lVHJhbnNmb3JtJikgeyB9CisgICAgdm9pZCBzYXZlKCkge30KKyAgICB2b2lkIHJlc3Rv
cmUoKSB7fQorICAgIHZvaWQgZmx1c2goKSB7fQorICAgIHZvaWQgY2xpcChjb25zdCBGbG9hdFJl
Y3QmKSB7fQorICAgIHZvaWQgY2xpcChjb25zdCBQYXRoJikge30KKyAgICB2b2lkIHNjYWxlKGNv
bnN0IEZsb2F0U2l6ZSYpIHt9CisgICAgdm9pZCByb3RhdGUoZmxvYXQpIHt9CisgICAgdm9pZCB0
cmFuc2xhdGUoZmxvYXQsIGZsb2F0KSB7fQorICAgIHZvaWQgY29uY2F0Q1RNKGNvbnN0IEFmZmlu
ZVRyYW5zZm9ybSYpIHt9CisgICAgdm9pZCBzZXRDVE0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJikg
e30KICAgICB2b2lkIHN5bmNDb250ZXh0KGNhaXJvX3QqKSB7IH0KICNlbmRpZgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRD
Ry5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRl
eHRDRy5jcHAKaW5kZXggNTQ3N2NjZDEzZTg4NzI5ZjFkMzE2ZTQwNDA1ODM2ZDdjYzU2NGZiYy4u
ODM2ZTk2ZTRjYmIyNjdmOGVmZWJiNzA1NDQ1ZGY2NjFlNzc1M2QyNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENH
LmNwcApAQCAtMTA0LDE2ICsxMDQsNiBAQCBDR0NvbG9yU3BhY2VSZWYgbGluZWFyUkdCQ29sb3JT
cGFjZVJlZigpCiB9CiAjZW5kaWYKIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OnJlc2V0UGxhdGZv
cm1DVE0oKQotewotICAgIG1fc3RhdGUuY3RtID0gQ0dDb250ZXh0R2V0Q1RNKHBsYXRmb3JtQ29u
dGV4dCgpKTsKLSNpZiBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKElPUykKLSAgICBtX3N0YXRl
LnVzZXJUb0RldmljZVNwYWNlQ1RNID0gc3RhdGljX2Nhc3Q8QWZmaW5lVHJhbnNmb3JtPihDR0Nv
bnRleHRHZXRVc2VyU3BhY2VUb0RldmljZVNwYWNlVHJhbnNmb3JtKHBsYXRmb3JtQ29udGV4dCgp
KSkgKiBtX3N0YXRlLmN0bS5pbnZlcnNlKCk7Ci0jZWxzZQotICAgIG1fc3RhdGUudXNlclRvRGV2
aWNlU3BhY2VDVE0gPSBDR0NvbnRleHRHZXREZWZhdWx0VXNlclNwYWNlVG9EZXZpY2VTcGFjZVRy
YW5zZm9ybShwbGF0Zm9ybUNvbnRleHQoKSk7Ci0jZW5kaWYKLX0KLQogdm9pZCBHcmFwaGljc0Nv
bnRleHQ6OnBsYXRmb3JtSW5pdChDR0NvbnRleHRSZWYgY2dDb250ZXh0KQogewogICAgIG1fZGF0
YSA9IG5ldyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoY2dDb250ZXh0KTsKQEAgLTEy
Myw3ICsxMTMsNiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6cGxhdGZvcm1Jbml0KENHQ29udGV4
dFJlZiBjZ0NvbnRleHQpCiAgICAgICAgIHNldFBsYXRmb3JtRmlsbENvbG9yKGZpbGxDb2xvcigp
LCBmaWxsQ29sb3JTcGFjZSgpKTsKICAgICAgICAgc2V0UGxhdGZvcm1TdHJva2VDb2xvcihzdHJv
a2VDb2xvcigpLCBzdHJva2VDb2xvclNwYWNlKCkpOwogICAgICAgICBzZXRQbGF0Zm9ybVN0cm9r
ZVRoaWNrbmVzcyhzdHJva2VUaGlja25lc3MoKSk7Ci0gICAgICAgIHJlc2V0UGxhdGZvcm1DVE0o
KTsKICAgICB9CiB9CiAKQEAgLTE2NSw3ICsxNTQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6
ZHJhd05hdGl2ZUltYWdlKFBhc3NOYXRpdmVJbWFnZVB0ciBpbWFnZVB0ciwgY29uc3QgRmxvYXRT
aQogICAgICAgICByZXR1cm47CiAKICAgICBDR0NvbnRleHRSZWYgY29udGV4dCA9IHBsYXRmb3Jt
Q29udGV4dCgpOwotICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcigqdGhp
cyk7CisgICAgQ0dDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGNvbnRleHQpOwogCiAjaWYg
UExBVEZPUk0oSU9TKQogICAgIC8vIEFudGktYWxpYXNpbmcgaXMgb24gYnkgZGVmYXVsdCBvbiB0
aGUgaVBob25lLiBOZWVkIHRvIHR1cm4gaXQgb2ZmIHdoZW4gZHJhd2luZyBpbWFnZXMuCkBAIC0y
NzksNyArMjY4LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdQYXR0ZXJuKEltYWdlJiBp
bWFnZSwgY29uc3QgRmxvYXRSZWN0JiB0aWxlUmVjdCwgY29uc3QKICAgICAgICAgcmV0dXJuOwog
CiAgICAgQ0dDb250ZXh0UmVmIGNvbnRleHQgPSBwbGF0Zm9ybUNvbnRleHQoKTsKLSAgICBHcmFw
aGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoKnRoaXMpOworICAgIENHQ29udGV4dFN0
YXRlU2F2ZXIgc3RhdGVTYXZlcihjb250ZXh0KTsKICAgICBDR0NvbnRleHRDbGlwVG9SZWN0KGNv
bnRleHQsIGRlc3RSZWN0KTsKIAogICAgIHNldFBsYXRmb3JtQ29tcG9zaXRlT3BlcmF0aW9uKG9w
LCBibGVuZE1vZGUpOwpAQCAtNjgxLDcgKzY3MCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0Ojpm
aWxsUGF0aChjb25zdCBQYXRoJiBwYXRoKQogICAgICAgICAgICAgRmxvYXRSZWN0IHJlY3QgPSBw
YXRoLmZhc3RCb3VuZGluZ1JlY3QoKTsKICAgICAgICAgICAgIEZsb2F0U2l6ZSBsYXllclNpemUg
PSBnZXRDVE0oKS5tYXBTaXplKHJlY3Quc2l6ZSgpKTsKIAotICAgICAgICAgICAgQ0dMYXllclJl
ZiBsYXllciA9IENHTGF5ZXJDcmVhdGVXaXRoQ29udGV4dChjb250ZXh0LCBsYXllclNpemUsIG51
bGxwdHIpOworICAgICAgICAgICAgQ0dMYXllclJlZiBsYXllciA9IENHTGF5ZXJDcmVhdGVXaXRo
Q29udGV4dChjb250ZXh0LCBsYXllclNpemUsIDApOwogICAgICAgICAgICAgQ0dDb250ZXh0UmVm
IGxheWVyQ29udGV4dCA9IENHTGF5ZXJHZXRDb250ZXh0KGxheWVyKTsKIAogICAgICAgICAgICAg
Q0dDb250ZXh0U2NhbGVDVE0obGF5ZXJDb250ZXh0LCBsYXllclNpemUud2lkdGgoKSAvIHJlY3Qu
d2lkdGgoKSwgbGF5ZXJTaXplLmhlaWdodCgpIC8gcmVjdC5oZWlnaHQoKSk7CkBAIC0xMjY0LDUy
ICsxMjUzLDUyIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpjbGlwT3V0KGNvbnN0IFBhdGgmIHBh
dGgpCiAgICAgQ0dDb250ZXh0RU9DbGlwKHBsYXRmb3JtQ29udGV4dCgpKTsKIH0KIAotdm9pZCBH
cmFwaGljc0NvbnRleHQ6OnNjYWxlUGxhdGZvcm1DVE0oZmxvYXQgeCwgZmxvYXQgeSkKK3ZvaWQg
R3JhcGhpY3NDb250ZXh0OjpzY2FsZShjb25zdCBGbG9hdFNpemUmIHNpemUpCiB7CiAgICAgaWYg
KHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwotICAgIENHQ29udGV4dFNjYWxl
Q1RNKHBsYXRmb3JtQ29udGV4dCgpLCB4LCB5KTsKLSAgICBtX2RhdGEtPnNjYWxlUGxhdGZvcm1D
VE0oeCwgeSk7CisgICAgQ0dDb250ZXh0U2NhbGVDVE0ocGxhdGZvcm1Db250ZXh0KCksIHNpemUu
d2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSk7CisgICAgbV9kYXRhLT5zY2FsZShzaXplKTsKICAgICBt
X2RhdGEtPm1fdXNlclRvRGV2aWNlVHJhbnNmb3JtS25vd25Ub0JlSWRlbnRpdHkgPSBmYWxzZTsK
IH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OnJvdGF0ZVBsYXRmb3JtQ1RNKGZsb2F0IGFuZ2xl
KQordm9pZCBHcmFwaGljc0NvbnRleHQ6OnJvdGF0ZShmbG9hdCBhbmdsZSkKIHsKICAgICBpZiAo
cGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CiAgICAgQ0dDb250ZXh0Um90YXRl
Q1RNKHBsYXRmb3JtQ29udGV4dCgpLCBhbmdsZSk7Ci0gICAgbV9kYXRhLT5yb3RhdGVQbGF0Zm9y
bUNUTShhbmdsZSk7CisgICAgbV9kYXRhLT5yb3RhdGUoYW5nbGUpOwogICAgIG1fZGF0YS0+bV91
c2VyVG9EZXZpY2VUcmFuc2Zvcm1Lbm93blRvQmVJZGVudGl0eSA9IGZhbHNlOwogfQogCi12b2lk
IEdyYXBoaWNzQ29udGV4dDo6dHJhbnNsYXRlUGxhdGZvcm1DVE0oZmxvYXQgeCwgZmxvYXQgeSkK
K3ZvaWQgR3JhcGhpY3NDb250ZXh0Ojp0cmFuc2xhdGUoZmxvYXQgeCwgZmxvYXQgeSkKIHsKICAg
ICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CiAgICAgQ0dDb250ZXh0
VHJhbnNsYXRlQ1RNKHBsYXRmb3JtQ29udGV4dCgpLCB4LCB5KTsKLSAgICBtX2RhdGEtPnRyYW5z
bGF0ZVBsYXRmb3JtQ1RNKHgsIHkpOworICAgIG1fZGF0YS0+dHJhbnNsYXRlKHgsIHkpOwogICAg
IG1fZGF0YS0+bV91c2VyVG9EZXZpY2VUcmFuc2Zvcm1Lbm93blRvQmVJZGVudGl0eSA9IGZhbHNl
OwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6Y29uY2F0UGxhdGZvcm1DVE0oY29uc3QgQWZm
aW5lVHJhbnNmb3JtJiB0cmFuc2Zvcm0pCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6Y29uY2F0Q1RN
KGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3JtKQogewogICAgIGlmIChwYWludGluZ0Rp
c2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKICAgICBDR0NvbnRleHRDb25jYXRDVE0ocGxhdGZv
cm1Db250ZXh0KCksIHRyYW5zZm9ybSk7Ci0gICAgbV9kYXRhLT5jb25jYXRQbGF0Zm9ybUNUTSh0
cmFuc2Zvcm0pOworICAgIG1fZGF0YS0+Y29uY2F0Q1RNKHRyYW5zZm9ybSk7CiAgICAgbV9kYXRh
LT5tX3VzZXJUb0RldmljZVRyYW5zZm9ybUtub3duVG9CZUlkZW50aXR5ID0gZmFsc2U7CiB9CiAK
LXZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRQbGF0Zm9ybUNUTShjb25zdCBBZmZpbmVUcmFuc2Zv
cm0mIHRyYW5zZm9ybSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRDVE0oY29uc3QgQWZmaW5l
VHJhbnNmb3JtJiB0cmFuc2Zvcm0pCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuOwogICAgIENHQ29udGV4dFNldENUTShwbGF0Zm9ybUNvbnRleHQoKSwgdHJh
bnNmb3JtKTsKLSAgICBtX2RhdGEtPnNldFBsYXRmb3JtQ1RNKHRyYW5zZm9ybSk7CisgICAgbV9k
YXRhLT5zZXRDVE0odHJhbnNmb3JtKTsKICAgICBtX2RhdGEtPm1fdXNlclRvRGV2aWNlVHJhbnNm
b3JtS25vd25Ub0JlSWRlbnRpdHkgPSBmYWxzZTsKIH0KIAotQWZmaW5lVHJhbnNmb3JtIEdyYXBo
aWNzQ29udGV4dDo6Z2V0UGxhdGZvcm1DVE0oSW5jbHVkZURldmljZVNjYWxlIGluY2x1ZGVTY2Fs
ZSkgY29uc3QKK0FmZmluZVRyYW5zZm9ybSBHcmFwaGljc0NvbnRleHQ6OmdldENUTShJbmNsdWRl
RGV2aWNlU2NhbGUgaW5jbHVkZVNjYWxlKSBjb25zdAogewogICAgIGlmIChwYWludGluZ0Rpc2Fi
bGVkKCkpCiAgICAgICAgIHJldHVybiBBZmZpbmVUcmFuc2Zvcm0oKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dFBsYXRmb3Jt
UHJpdmF0ZUNHLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGVDRy5oCmluZGV4IDlkYWI0OTU2OGQ4ZWE4ZmMxNzgwZWEz
NTBhYTFiM2Y4NzdlMjg1MDUuLjhhNWUyODdiNGZjZDgzZmE4YTU5MzJjYzM3N2U5ODg1YWMzMDhk
MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBo
aWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZUNHLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlQ0cuaApAQCAtNTMs
MTYgKzUzLDE2IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIC8vIFRoZXNl
IG1ldGhvZHMgZG8gbm90aGluZyBvbiBNYWMuCi0gICAgdm9pZCBzYXZlKCkgeyB9Ci0gICAgdm9p
ZCByZXN0b3JlKCkgeyB9Ci0gICAgdm9pZCBmbHVzaCgpIHsgfQotICAgIHZvaWQgY2xpcChjb25z
dCBGbG9hdFJlY3QmKSB7IH0KLSAgICB2b2lkIGNsaXAoY29uc3QgUGF0aCYpIHsgfQotICAgIHZv
aWQgc2NhbGVQbGF0Zm9ybUNUTShmbG9hdCwgZmxvYXQpIHsgfQotICAgIHZvaWQgcm90YXRlUGxh
dGZvcm1DVE0oZmxvYXQpIHsgfQotICAgIHZvaWQgdHJhbnNsYXRlUGxhdGZvcm1DVE0oZmxvYXQs
IGZsb2F0KSB7IH0KLSAgICB2b2lkIGNvbmNhdFBsYXRmb3JtQ1RNKGNvbnN0IEFmZmluZVRyYW5z
Zm9ybSYpIHsgfQotICAgIHZvaWQgc2V0UGxhdGZvcm1DVE0oY29uc3QgQWZmaW5lVHJhbnNmb3Jt
JikgeyB9CisgICAgdm9pZCBzYXZlKCkge30KKyAgICB2b2lkIHJlc3RvcmUoKSB7fQorICAgIHZv
aWQgZmx1c2goKSB7fQorICAgIHZvaWQgY2xpcChjb25zdCBGbG9hdFJlY3QmKSB7fQorICAgIHZv
aWQgY2xpcChjb25zdCBQYXRoJikge30KKyAgICB2b2lkIHNjYWxlKGNvbnN0IEZsb2F0U2l6ZSYp
IHt9CisgICAgdm9pZCByb3RhdGUoZmxvYXQpIHt9CisgICAgdm9pZCB0cmFuc2xhdGUoZmxvYXQs
IGZsb2F0KSB7fQorICAgIHZvaWQgY29uY2F0Q1RNKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpIHt9
CisgICAgdm9pZCBzZXRDVE0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJikge30KICNlbmRpZgogCiAj
aWYgUExBVEZPUk0oV0lOKQpAQCAtNzIsMTEgKzcyLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIGZs
dXNoKCk7CiAgICAgdm9pZCBjbGlwKGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZvaWQgY2xpcChj
b25zdCBQYXRoJik7Ci0gICAgdm9pZCBzY2FsZVBsYXRmb3JtQ1RNKGZsb2F0IHgsIGZsb2F0IHkp
OwotICAgIHZvaWQgcm90YXRlUGxhdGZvcm1DVE0oZmxvYXQpOwotICAgIHZvaWQgdHJhbnNsYXRl
UGxhdGZvcm1DVE0oZmxvYXQsIGZsb2F0KTsKLSAgICB2b2lkIGNvbmNhdFBsYXRmb3JtQ1RNKGNv
bnN0IEFmZmluZVRyYW5zZm9ybSYpOwotICAgIHZvaWQgc2V0UGxhdGZvcm1DVE0oY29uc3QgQWZm
aW5lVHJhbnNmb3JtJik7CisgICAgdm9pZCBzY2FsZShjb25zdCBGbG9hdFNpemUmKTsKKyAgICB2
b2lkIHJvdGF0ZShmbG9hdCk7CisgICAgdm9pZCB0cmFuc2xhdGUoZmxvYXQsIGZsb2F0KTsKKyAg
ICB2b2lkIGNvbmNhdENUTShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKTsKKyAgICB2b2lkIHNldENU
TShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKTsKIAogICAgIEhEQyBtX2hkYzsKICAgICBib29sIG1f
c2hvdWxkSW5jbHVkZUNoaWxkV2luZG93czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oCmluZGV4
IGYxMDEwOTQyZWFkM2Y3MDBlZDY4MTVjOTA5ZTI0OGZkYjJlMDdjM2IuLmZhYjU2MmQ5MmZiMzAx
NGRkYWE0MDQwNTk5YmU4NmQyN2NkNTg3ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaApA
QCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlBsYXRmb3JtRXhwb3J0TWFjcm9zLmgiCiAjaW5j
bHVkZSA8YXJyYXk+CiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KLSNpbmNsdWRlIDx3dGYv
TWF0aEV4dHJhcy5oPgogCiAjaWYgVVNFKENHKQogdHlwZWRlZiBzdHJ1Y3QgQ0dBZmZpbmVUcmFu
c2Zvcm0gQ0dBZmZpbmVUcmFuc2Zvcm07CkBAIC0xNDEsNyArMTQwLDYgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gKG1fdHJhbnNmb3JtWzFdID09IDAgJiYgbV90cmFuc2Zvcm1bMl0gPT0gMCkg
fHwgKG1fdHJhbnNmb3JtWzBdID09IDAgJiYgbV90cmFuc2Zvcm1bM10gPT0gMCk7CiAgICAgfQog
Ci0gICAgLy8gRklYTUU6IElmIHlvdSBjb21wYXJlIGZsb2F0cyBmb3IgZXF1YWxpdHksIHlvdSdy
ZSBnb25uYSBoYXZlIGEgYmFkIHRpbWUuIFdlIHNob3VsZCBkZWxldGUgdGhpcy4KICAgICBib29s
IG9wZXJhdG9yPT0gKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgbTIpIGNvbnN0CiAgICAgewogICAg
ICAgICByZXR1cm4gKG1fdHJhbnNmb3JtWzBdID09IG0yLm1fdHJhbnNmb3JtWzBdCkBAIC0xNTQs
MjEgKzE1Miw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBBZmZpbmVU
cmFuc2Zvcm0mIG90aGVyKSBjb25zdCB7IHJldHVybiAhKCp0aGlzID09IG90aGVyKTsgfQogCi0g
ICAgYm9vbCBpc0Vzc2VudGlhbGx5RXF1YWxUbyhjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIG0yLCBk
b3VibGUgZXBzaWxvbiA9IDAuMDAxKSBjb25zdAotICAgIHsKLSAgICAgICAgLy8gV1RGOjphcmVF
c3NlbnRpYWxseUVxdWFsKCkgZG9lc24ndCB3b3JrIHdlbGwgaW4gdGhpcyBjYXNlLiBUaGF0IGZ1
bmN0aW9uIGlzIGRlc2lnbmVkIHRvIGFsbG93IGZvciBlcnJvcgotICAgICAgICAvLyB3aGljaCBz
Y2FsZXMgcHJvcG9ydGlvbmF0ZWx5IHRvIHRoZSB2YWx1ZXMuIEhvd2V2ZXIsIEFmZmluZVRyYW5z
Zm9ybXMgYXJlIG9mdGVuIHJvdGF0ZWQgYnkgcGkvMiwgd2hpY2gKLSAgICAgICAgLy8gYXJlIG5v
dCBleGFjdGx5IHJlcHJlc2VudGFibGUuIFRoaXMgcmVzdWx0cyBpbiBBZmZpbmVUcmFuc2Zvcm0g
Y29tcG9uZW50cyB3aGljaCBhcmUgY2xvc2UgdG8sIGJ1dCBub3QKLSAgICAgICAgLy8gZXhhY3Rs
eSBlcXVhbCB0bywgemVyby4gSW4gdGhpcyBjYXNlLCB0aGUgZXJyb3IgYW5kIHRoZSB2YWx1ZSBh
cmUgYXBwcm94aW1hdGVseSBlcXVhbCwgd2hpY2ggbGVhZHMgdG8KLSAgICAgICAgLy8gYSBmYWxz
ZSBuZWdhdGl2ZSByZXR1cm4uCi0gICAgICAgIHJldHVybiBzdGQ6OmFicyhtX3RyYW5zZm9ybVsw
XSAtIG0yLm1fdHJhbnNmb3JtWzBdKSA8IGVwc2lsb24KLSAgICAgICAgICAgICYmIHN0ZDo6YWJz
KG1fdHJhbnNmb3JtWzFdIC0gbTIubV90cmFuc2Zvcm1bMV0pIDwgZXBzaWxvbgotICAgICAgICAg
ICAgJiYgc3RkOjphYnMobV90cmFuc2Zvcm1bMl0gLSBtMi5tX3RyYW5zZm9ybVsyXSkgPCBlcHNp
bG9uCi0gICAgICAgICAgICAmJiBzdGQ6OmFicyhtX3RyYW5zZm9ybVszXSAtIG0yLm1fdHJhbnNm
b3JtWzNdKSA8IGVwc2lsb24KLSAgICAgICAgICAgICYmIHN0ZDo6YWJzKG1fdHJhbnNmb3JtWzRd
IC0gbTIubV90cmFuc2Zvcm1bNF0pIDwgZXBzaWxvbgotICAgICAgICAgICAgJiYgc3RkOjphYnMo
bV90cmFuc2Zvcm1bNV0gLSBtMi5tX3RyYW5zZm9ybVs1XSkgPCBlcHNpbG9uOwotICAgIH0KLQog
ICAgIC8vICp0aGlzID0gKnRoaXMgKiB0IChpLmUuLCBhIG11bHRSaWdodCkKICAgICBBZmZpbmVU
cmFuc2Zvcm0mIG9wZXJhdG9yKj0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0KQogICAgIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0Nv
bnRleHRXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBo
aWNzQ29udGV4dFdpbi5jcHAKaW5kZXggMzVhNzkyYTIxYzY2ZDYxNDk3OGUyYjZjMWNiN2NlMjMx
YjM3YTNiNC4uNTRjYmEzNGM2ZDNkZmFiNTQ1OWUyODQ1NjEwZDhhNTZmNjc3ODI1NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4
dFdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBo
aWNzQ29udGV4dFdpbi5jcHAKQEAgLTE3MSwyNCArMTcxLDI0IEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0UGxhdGZvcm1Qcml2YXRlOjpjbGlwKGNvbnN0IFBhdGgmKQogICAgIG5vdEltcGxlbWVudGVk
KCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlOjpzY2FsZVBsYXRm
b3JtQ1RNKGZsb2F0IHgsIGZsb2F0IHkpCit2b2lkIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJp
dmF0ZTo6c2NhbGUoY29uc3QgRmxvYXRTaXplJiBzaXplKQogewogICAgIGlmICghbV9oZGMpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIFhGT1JNIHhmb3JtID0gVHJhbnNmb3JtYXRpb25NYXRyaXgo
KS5zY2FsZU5vblVuaWZvcm0oeCwgeSk7CisgICAgWEZPUk0geGZvcm0gPSBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCgpLnNjYWxlTm9uVW5pZm9ybShzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCkpOwog
ICAgIE1vZGlmeVdvcmxkVHJhbnNmb3JtKG1faGRjLCAmeGZvcm0sIE1XVF9MRUZUTVVMVElQTFkp
OwogfQogCiBzdGF0aWMgY29uc3QgZG91YmxlIGRlZzJyYWQgPSAwLjAxNzQ1MzI5MjUxOTk0MzI5
NTc2OTsgLy8gcGkvMTgwCiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlOjpy
b3RhdGVQbGF0Zm9ybUNUTShmbG9hdCBkZWdyZWVzQW5nbGUpCit2b2lkIEdyYXBoaWNzQ29udGV4
dFBsYXRmb3JtUHJpdmF0ZTo6cm90YXRlKGZsb2F0IGRlZ3JlZXNBbmdsZSkKIHsKICAgICBYRk9S
TSB4Zm9ybSA9IFRyYW5zZm9ybWF0aW9uTWF0cml4KCkucm90YXRlKGRlZ3JlZXNBbmdsZSk7CiAg
ICAgTW9kaWZ5V29ybGRUcmFuc2Zvcm0obV9oZGMsICZ4Zm9ybSwgTVdUX0xFRlRNVUxUSVBMWSk7
CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlOjp0cmFuc2xhdGVQbGF0
Zm9ybUNUTShmbG9hdCB4ICwgZmxvYXQgeSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Q
cml2YXRlOjp0cmFuc2xhdGUoZmxvYXQgeCAsIGZsb2F0IHkpCiB7CiAgICAgaWYgKCFtX2hkYykK
ICAgICAgICAgcmV0dXJuOwpAQCAtMTk3LDcgKzE5Nyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
UGxhdGZvcm1Qcml2YXRlOjp0cmFuc2xhdGVQbGF0Zm9ybUNUTShmbG9hdCB4ICwgZmxvYXQgeSkK
ICAgICBNb2RpZnlXb3JsZFRyYW5zZm9ybShtX2hkYywgJnhmb3JtLCBNV1RfTEVGVE1VTFRJUExZ
KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGU6OmNvbmNhdFBsYXRm
b3JtQ1RNKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3JtKQordm9pZCBHcmFwaGljc0Nv
bnRleHRQbGF0Zm9ybVByaXZhdGU6OmNvbmNhdENUTShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHRy
YW5zZm9ybSkKIHsKICAgICBpZiAoIW1faGRjKQogICAgICAgICByZXR1cm47CkBAIC0yMDYsNyAr
MjA2LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGU6OmNvbmNhdFBsYXRm
b3JtQ1RNKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdHIKICAgICBNb2RpZnlXb3JsZFRyYW5zZm9y
bShtX2hkYywgJnhmb3JtLCBNV1RfTEVGVE1VTFRJUExZKTsKIH0KIAotdm9pZCBHcmFwaGljc0Nv
bnRleHRQbGF0Zm9ybVByaXZhdGU6OnNldFBsYXRmb3JtQ1RNKGNvbnN0IEFmZmluZVRyYW5zZm9y
bSYgdHJhbnNmb3JtKQordm9pZCBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGU6OnNldENU
TShjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHRyYW5zZm9ybSkKIHsKICAgICBpZiAoIW1faGRjKQog
ICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
RHJhZ0ltYWdlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1h
Yy5tbQppbmRleCAzZWI5ZTc3NzA2Zjk4NjJiMmJjNzk5NDM2ZmFhMmU1MDZiYzViNjRjLi41ZmIw
NTJkNDU2N2RhMDBiZDgyZGUyMWM5YWQ2OTAxMDU1ZDVkOTE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW0KQEAgLTIxNiwxMyArMjE2LDEyIEBAIHN0YXRp
YyB2b2lkIGRyYXdBdFBvaW50KE5TU3RyaW5nICpzdHJpbmcsIE5TUG9pbnQgcG9pbnQsIE5TRm9u
dCAqZm9udCwgTlNDb2xvciAqCiAgICAgICAgIAogICAgICAgICBOU0dyYXBoaWNzQ29udGV4dCAq
bnNDb250ZXh0ID0gW05TR3JhcGhpY3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XTsKICAgICAgICAg
Q0dDb250ZXh0UmVmIGNnQ29udGV4dCA9IHN0YXRpY19jYXN0PENHQ29udGV4dFJlZj4oW25zQ29u
dGV4dCBncmFwaGljc1BvcnRdKTsKKyAgICAgICAgR3JhcGhpY3NDb250ZXh0IGdyYXBoaWNzQ29u
dGV4dChjZ0NvbnRleHQpOyAgICAKICAgICAgICAgCiAgICAgICAgIC8vIFNhZmFyaSBkb2Vzbid0
IGZsaXAgdGhlIE5TR3JhcGhpY3NDb250ZXh0IGJlZm9yZSBjYWxsaW5nIFdlYktpdCwgeWV0IFdl
YkNvcmUgcmVxdWlyZXMgYSBmbGlwcGVkIGdyYXBoaWNzIGNvbnRleHQuCiAgICAgICAgIEJPT0wg
ZmxpcHBlZCA9IFtuc0NvbnRleHQgaXNGbGlwcGVkXTsKICAgICAgICAgaWYgKCFmbGlwcGVkKQog
ICAgICAgICAgICAgQ0dDb250ZXh0U2NhbGVDVE0oY2dDb250ZXh0LCAxLCAtMSk7Ci0KLSAgICAg
ICAgR3JhcGhpY3NDb250ZXh0IGdyYXBoaWNzQ29udGV4dChjZ0NvbnRleHQpOwogICAgICAgICAg
ICAgCiAgICAgICAgIEZvbnRDYXNjYWRlIHdlYkNvcmVGb250KEZvbnRQbGF0Zm9ybURhdGEodG9D
VEZvbnQoZm9udCksIFtmb250IHBvaW50U2l6ZV0pLCBBbnRpYWxpYXNlZCk7CiAgICAgICAgIFRl
eHRSdW4gcnVuKFN0cmluZ1ZpZXcoYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ29yZUdyYXBoaWNzU1BJLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY2cvQ29yZUdyYXBoaWNzU1BJLmgKaW5kZXggZjE0ZGUw
ZGMwMjljYmYxZTIyNTZjMjYxNWU3ODFkY2U1YmUyY2RlMy4uOWUwMzk3YzQ5MWE5ODNjMzhhYzRk
MzlhYmE0MDAwYmE0MjVkYzc0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9jZy9Db3JlR3JhcGhpY3NTUEkuaApAQCAtMTQzLDggKzE0Myw2IEBAIHZvaWQgQ0dDb250ZXh0
U2V0Q1RNKENHQ29udGV4dFJlZiwgQ0dBZmZpbmVUcmFuc2Zvcm0pOwogdm9pZCBDR0NvbnRleHRT
ZXRDb21wb3NpdGVPcGVyYXRpb24oQ0dDb250ZXh0UmVmLCBDR0NvbXBvc2l0ZU9wZXJhdGlvbik7
CiB2b2lkIENHQ29udGV4dFNldFNob3VsZEFudGlhbGlhc0ZvbnRzKENHQ29udGV4dFJlZiwgYm9v
bCBzaG91bGRBbnRpYWxpYXNGb250cyk7CiB2b2lkIENHQ29udGV4dFJlc2V0Q2xpcChDR0NvbnRl
eHRSZWYpOwotQ0dBZmZpbmVUcmFuc2Zvcm0gQ0dDb250ZXh0R2V0VXNlclNwYWNlVG9EZXZpY2VT
cGFjZVRyYW5zZm9ybShDR0NvbnRleHRSZWYpOwotQ0dBZmZpbmVUcmFuc2Zvcm0gQ0dDb250ZXh0
R2V0RGVmYXVsdFVzZXJTcGFjZVRvRGV2aWNlU3BhY2VUcmFuc2Zvcm0oQ0dDb250ZXh0UmVmKTsK
ICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMTAwCiB2b2lkIENHQ29udGV4dFNldEZvbnREaWxhdGlvbihDR0NvbnRleHRSZWYsIENHU2l6
ZSk7CiB2b2lkIENHQ29udGV4dFNldEZvbnRSZW5kZXJpbmdTdHlsZShDR0NvbnRleHRSZWYsIENH
Rm9udFJlbmRlcmluZ1N0eWxlKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>