<?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>66239</bug_id>
          
          <creation_ts>2011-08-15 10:53:53 -0700</creation_ts>
          <short_desc>Switch Inline rendering classes to new layout types</short_desc>
          <delta_ts>2011-08-18 12:23:41 -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>Layout and Rendering</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>63567</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Levi Weintraub">leviw</assigned_to>
          <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>451142</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-08-15 10:53:53 -0700</bug_when>
    <thetext>Ongoing conversion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451204</commentid>
    <comment_count>1</comment_count>
      <attachid>103940</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-08-15 12:20:01 -0700</bug_when>
    <thetext>Created attachment 103940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452509</commentid>
    <comment_count>2</comment_count>
      <attachid>103940</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-17 13:26:14 -0700</bug_when>
    <thetext>Comment on attachment 103940
Patch

Rejecting attachment 103940 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=ec2-cq-03&apos;, &apos;--port...&quot; exit_code: 2

Last 500 characters of output:
LICT (content): Merge conflict in Tools/ChangeLog
Failed to merge in the changes.
Patch failed at 0001 Tell Trac logs always to display all specified revisions in a single page

When you have resolved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 146.

Full output: http://queues.webkit.org/results/9422089</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452658</commentid>
    <comment_count>3</comment_count>
      <attachid>103940</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-17 15:59:19 -0700</bug_when>
    <thetext>Comment on attachment 103940
Patch

Rejecting attachment 103940 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=ec2-cq-03&apos;, &apos;--port...&quot; exit_code: 2

Last 500 characters of output:
Log
CONFLICT (content): Merge conflict in Tools/ChangeLog
Failed to merge in the changes.
Patch failed at 0001 [chromium] Crash if compositing is disabled during updateLayers()

When you have resolved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 146.

Full output: http://queues.webkit.org/results/9424161</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453241</commentid>
    <comment_count>4</comment_count>
      <attachid>103940</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-18 12:23:37 -0700</bug_when>
    <thetext>Comment on attachment 103940
Patch

Clearing flags on attachment: 103940

Committed r93333: &lt;http://trac.webkit.org/changeset/93333&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453242</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-18 12:23:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103940</attachid>
            <date>2011-08-15 12:20:01 -0700</date>
            <delta_ts>2011-08-18 12:23:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66239-20110815122000.patch</filename>
            <type>text/plain</type>
            <size>24694</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzMDQ3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDQgQEAKKzIwMTEtMDgtMTUgIExldmkgV2Vp
bnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFN3aXRjaCBJbmxpbmUgcmVu
ZGVyaW5nIGNsYXNzZXMgdG8gbmV3IGxheW91dCB0eXBlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyMzkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb252ZXJ0aW5nIGlubGluZSByZW5kZXJpbmcgY2xh
c3NlcyB0byB1c2UgdGhlIExheW91dFVuaXQgYWJzdHJhY3Rpb24gZnJvbSBpbnRzLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cyBhcyBubyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAg
ICAqIHJlbmRlcmluZy9JbmxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6
bG9naWNhbEZyYW1lUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OmJhc2VsaW5l
UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQm94OjpsaW5lSGVpZ2h0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oOgorICAgICAgICAqIHJlbmRlcmluZy9J
bmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OmxvZ2lj
YWxPdmVyZmxvd1JlY3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6c2V0TG9n
aWNhbE92ZXJmbG93UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpiYXNl
bGluZVBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OmxpbmVIZWln
aHQpOgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94Lmg6CisgICAgICAgIChXZWJD
b3JlOjpJbmxpbmVUZXh0Qm94Ojpsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lVGV4dEJveDo6bG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93KToKKyAg
ICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OmxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cp
OgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6bG9naWNhbFJpZ2h0VmlzdWFsT3Zl
cmZsb3cpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW5saW5lOjpjdWxsZWRJbmxpbmVBYnNvbHV0ZVJlY3RzKToKKyAgICAg
ICAgKFdlYkNvcmU6OmNvbXB1dGVNYXJnaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5s
aW5lOjpjdWxsZWRJbmxpbmVCb3VuZGluZ0JveCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJ
bmxpbmU6OmN1bGxlZElubGluZVZpc3VhbE92ZXJmbG93Qm91bmRpbmdCb3gpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW5saW5lOjpsaW5lc1Zpc3VhbE92ZXJmbG93Qm91bmRpbmdCb3gpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVw
YWludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OnJlY3RXaXRoT3V0bGluZUZv
clJlcGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjpjb21wdXRlUmVjdEZv
clJlcGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjptYXBMb2NhbFRvQ29u
dGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6bGluZUhlaWdodCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OmJhc2VsaW5lUG9zaXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjphZGREYXNoYm9hcmRSZWdpb25zKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVySW5saW5lLmg6CisKIDIwMTEtMDgtMTIgIEplZmYgTWlsbGVyICA8
amVmZm1AYXBwbGUuY29tPgogCiAgICAgICAgIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bkNGOjpwbGF5ZXJJdGVtU3RhdHVzKCkgc2hvdWxkIHJldHVybiBNZWRpYVBsYXllckFWUGxheWVy
SXRlbVN0YXR1c0RvZXNOb3RFeGlzdCBpZiB0aGVyZSBpcyBubyBBVlBsYXllckl0ZW0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmgJKHJldmlzaW9uIDkzMDQ2KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzEs
MTAgKzI3MSwxMCBAQCBwdWJsaWM6CiAgICAgLy8gVGhlIGxvZ2ljYWwgaGVpZ2h0IGlzIG91ciBl
eHRlbnQgaW4gdGhlIGJsb2NrIGZsb3cgZGlyZWN0aW9uLCBpLmUuLCBoZWlnaHQgZm9yIGhvcml6
b250YWwgdGV4dCBhbmQgd2lkdGggZm9yIHZlcnRpY2FsIHRleHQuCiAgICAgTGF5b3V0VW5pdCBs
b2dpY2FsSGVpZ2h0KCkgY29uc3Q7CiAKLSAgICBGbG9hdFJlY3QgbG9naWNhbEZyYW1lUmVjdCgp
IGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gSW50UmVjdChtX3RvcExlZnQueCgpLCBt
X3RvcExlZnQueSgpLCBtX2xvZ2ljYWxXaWR0aCwgbG9naWNhbEhlaWdodCgpKSA6IEludFJlY3Qo
bV90b3BMZWZ0LnkoKSwgbV90b3BMZWZ0LngoKSwgbV9sb2dpY2FsV2lkdGgsIGxvZ2ljYWxIZWln
aHQoKSk7IH0KKyAgICBGbG9hdFJlY3QgbG9naWNhbEZyYW1lUmVjdCgpIGNvbnN0IHsgcmV0dXJu
IGlzSG9yaXpvbnRhbCgpID8gRmxvYXRSZWN0KG1fdG9wTGVmdC54KCksIG1fdG9wTGVmdC55KCks
IG1fbG9naWNhbFdpZHRoLCBsb2dpY2FsSGVpZ2h0KCkpIDogRmxvYXRSZWN0KG1fdG9wTGVmdC55
KCksIG1fdG9wTGVmdC54KCksIG1fbG9naWNhbFdpZHRoLCBsb2dpY2FsSGVpZ2h0KCkpOyB9CiAK
LSAgICB2aXJ0dWFsIGludCBiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSBiYXNlbGluZVR5
cGUpIGNvbnN0IHsgcmV0dXJuIGJveE1vZGVsT2JqZWN0KCktPmJhc2VsaW5lUG9zaXRpb24oYmFz
ZWxpbmVUeXBlLCBtX2ZpcnN0TGluZSwgaXNIb3Jpem9udGFsKCkgPyBIb3Jpem9udGFsTGluZSA6
IFZlcnRpY2FsTGluZSwgUG9zaXRpb25PbkNvbnRhaW5pbmdMaW5lKTsgfQotICAgIHZpcnR1YWwg
aW50IGxpbmVIZWlnaHQoKSBjb25zdCB7IHJldHVybiBib3hNb2RlbE9iamVjdCgpLT5saW5lSGVp
Z2h0KG1fZmlyc3RMaW5lLCBpc0hvcml6b250YWwoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGlj
YWxMaW5lLCBQb3NpdGlvbk9uQ29udGFpbmluZ0xpbmUpOyB9CisgICAgdmlydHVhbCBMYXlvdXRV
bml0IGJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSkgY29uc3QgeyBy
ZXR1cm4gYm94TW9kZWxPYmplY3QoKS0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIG1f
Zmlyc3RMaW5lLCBpc0hvcml6b250YWwoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGljYWxMaW5l
LCBQb3NpdGlvbk9uQ29udGFpbmluZ0xpbmUpOyB9CisgICAgdmlydHVhbCBMYXlvdXRVbml0IGxp
bmVIZWlnaHQoKSBjb25zdCB7IHJldHVybiBib3hNb2RlbE9iamVjdCgpLT5saW5lSGVpZ2h0KG1f
Zmlyc3RMaW5lLCBpc0hvcml6b250YWwoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGljYWxMaW5l
LCBQb3NpdGlvbk9uQ29udGFpbmluZ0xpbmUpOyB9CiAgICAgCiAgICAgdmlydHVhbCBpbnQgY2Fy
ZXRNaW5PZmZzZXQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGludCBjYXJldE1heE9mZnNldCgpIGNv
bnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCShyZXZp
c2lvbiA5MzA0NikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI0OCw3ICsyNDgsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biByZXN1bHQ7CiAgICAgfQogCi0gICAgdm9pZCBzZXRPdmVyZmxvd0Zyb21Mb2dpY2FsUmVjdHMo
Y29uc3QgTGF5b3V0UmVjdCYgbG9naWNhbExheW91dE92ZXJmbG93LCBjb25zdCBJbnRSZWN0JiBs
b2dpY2FsVmlzdWFsT3ZlcmZsb3csIExheW91dFVuaXQgbGluZVRvcCwgTGF5b3V0VW5pdCBsaW5l
Qm90dG9tKTsKKyAgICB2b2lkIHNldE92ZXJmbG93RnJvbUxvZ2ljYWxSZWN0cyhjb25zdCBMYXlv
dXRSZWN0JiBsb2dpY2FsTGF5b3V0T3ZlcmZsb3csIGNvbnN0IExheW91dFJlY3QmIGxvZ2ljYWxW
aXN1YWxPdmVyZmxvdywgTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVCb3R0b20p
OwogICAgIHZvaWQgc2V0TGF5b3V0T3ZlcmZsb3coY29uc3QgTGF5b3V0UmVjdCYsIExheW91dFVu
aXQgbGluZVRvcCwgTGF5b3V0VW5pdCBsaW5lQm90dG9tKTsKICAgICB2b2lkIHNldFZpc3VhbE92
ZXJmbG93KGNvbnN0IExheW91dFJlY3QmLCBMYXlvdXRVbml0IGxpbmVUb3AsIExheW91dFVuaXQg
bGluZUJvdHRvbSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0
Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4
dEJveC5jcHAJKHJldmlzaW9uIDkzMDQ2KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZVRleHRCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIHVzaW5nIG5h
bWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdHlwZWRlZiBXVEY6Okhhc2hN
YXA8Y29uc3QgSW5saW5lVGV4dEJveCosIEludFJlY3Q+IElubGluZVRleHRCb3hPdmVyZmxvd01h
cDsKK3R5cGVkZWYgV1RGOjpIYXNoTWFwPGNvbnN0IElubGluZVRleHRCb3gqLCBMYXlvdXRSZWN0
PiBJbmxpbmVUZXh0Qm94T3ZlcmZsb3dNYXA7CiBzdGF0aWMgSW5saW5lVGV4dEJveE92ZXJmbG93
TWFwKiBnVGV4dEJveGVzV2l0aE92ZXJmbG93OwogCiB2b2lkIElubGluZVRleHRCb3g6OmRlc3Ry
b3koUmVuZGVyQXJlbmEqIGFyZW5hKQpAQCAtNjMsMTQgKzYzLDE0IEBAIHZvaWQgSW5saW5lVGV4
dEJveDo6ZGVzdHJveShSZW5kZXJBcmVuYSoKICAgICBJbmxpbmVCb3g6OmRlc3Ryb3koYXJlbmEp
OwogfQogCi1JbnRSZWN0IElubGluZVRleHRCb3g6OmxvZ2ljYWxPdmVyZmxvd1JlY3QoKSBjb25z
dAorTGF5b3V0UmVjdCBJbmxpbmVUZXh0Qm94Ojpsb2dpY2FsT3ZlcmZsb3dSZWN0KCkgY29uc3QK
IHsKICAgICBpZiAobV9rbm93blRvSGF2ZU5vT3ZlcmZsb3cgfHwgIWdUZXh0Qm94ZXNXaXRoT3Zl
cmZsb3cpCiAgICAgICAgIHJldHVybiBlbmNsb3NpbmdJbnRSZWN0KGxvZ2ljYWxGcmFtZVJlY3Qo
KSk7CiAgICAgcmV0dXJuIGdUZXh0Qm94ZXNXaXRoT3ZlcmZsb3ctPmdldCh0aGlzKTsKIH0KIAot
dm9pZCBJbmxpbmVUZXh0Qm94OjpzZXRMb2dpY2FsT3ZlcmZsb3dSZWN0KGNvbnN0IEludFJlY3Qm
IHJlY3QpCit2b2lkIElubGluZVRleHRCb3g6OnNldExvZ2ljYWxPdmVyZmxvd1JlY3QoY29uc3Qg
TGF5b3V0UmVjdCYgcmVjdCkKIHsKICAgICBBU1NFUlQoIW1fa25vd25Ub0hhdmVOb092ZXJmbG93
KTsKICAgICBpZiAoIWdUZXh0Qm94ZXNXaXRoT3ZlcmZsb3cpCkBAIC03OCw3ICs3OCw3IEBAIHZv
aWQgSW5saW5lVGV4dEJveDo6c2V0TG9naWNhbE92ZXJmbG93UmUKICAgICBnVGV4dEJveGVzV2l0
aE92ZXJmbG93LT5hZGQodGhpcywgcmVjdCk7CiB9CiAKLWludCBJbmxpbmVUZXh0Qm94OjpiYXNl
bGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUpIGNvbnN0CitMYXlvdXRVbml0
IElubGluZVRleHRCb3g6OmJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlw
ZSkgY29uc3QKIHsKICAgICBpZiAoIWlzVGV4dCgpIHx8ICFwYXJlbnQoKSkKICAgICAgICAgcmV0
dXJuIDA7CkBAIC04Niw4ICs4Niw4IEBAIGludCBJbmxpbmVUZXh0Qm94OjpiYXNlbGluZVBvc2l0
aW9uKEZvbnQKICAgICAgICAgcmV0dXJuIHBhcmVudCgpLT5iYXNlbGluZVBvc2l0aW9uKGJhc2Vs
aW5lVHlwZSk7CiAgICAgcmV0dXJuIHRvUmVuZGVyQm94TW9kZWxPYmplY3QocmVuZGVyZXIoKS0+
cGFyZW50KCkpLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgbV9maXJzdExpbmUsIGlz
SG9yaXpvbnRhbCgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmUsIFBvc2l0aW9uT25D
b250YWluaW5nTGluZSk7CiB9Ci0gICAgCi1pbnQgSW5saW5lVGV4dEJveDo6bGluZUhlaWdodCgp
IGNvbnN0CisKK0xheW91dFVuaXQgSW5saW5lVGV4dEJveDo6bGluZUhlaWdodCgpIGNvbnN0CiB7
CiAgICAgaWYgKCFpc1RleHQoKSB8fCAhcmVuZGVyZXIoKS0+cGFyZW50KCkpCiAgICAgICAgIHJl
dHVybiAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCShy
ZXZpc2lvbiA5MzA0NikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94
LmgJKHdvcmtpbmcgY29weSkKQEAgLTc4LDE3ICs3OCwxNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0
aWMgaW5saW5lIGJvb2wgY29tcGFyZUJ5U3RhcnQoY29uc3QgSW5saW5lVGV4dEJveCogZmlyc3Qs
IGNvbnN0IElubGluZVRleHRCb3gqIHNlY29uZCkgeyByZXR1cm4gZmlyc3QtPnN0YXJ0KCkgPCBz
ZWNvbmQtPnN0YXJ0KCk7IH0KIAotICAgIHZpcnR1YWwgaW50IGJhc2VsaW5lUG9zaXRpb24oRm9u
dEJhc2VsaW5lKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBsaW5lSGVpZ2h0KCkgY29uc3Q7Cisg
ICAgdmlydHVhbCBMYXlvdXRVbml0IGJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2VsaW5lKSBjb25z
dDsKKyAgICB2aXJ0dWFsIExheW91dFVuaXQgbGluZUhlaWdodCgpIGNvbnN0OwogCiAgICAgYm9v
bCBnZXRFbXBoYXNpc01hcmtQb3NpdGlvbihSZW5kZXJTdHlsZSosIFRleHRFbXBoYXNpc1Bvc2l0
aW9uJikgY29uc3Q7CiAKLSAgICBJbnRSZWN0IGxvZ2ljYWxPdmVyZmxvd1JlY3QoKSBjb25zdDsK
LSAgICB2b2lkIHNldExvZ2ljYWxPdmVyZmxvd1JlY3QoY29uc3QgSW50UmVjdCYpOwotICAgIGlu
dCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBsb2dpY2FsT3ZlcmZs
b3dSZWN0KCkueSgpOyB9Ci0gICAgaW50IGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdygpIGNv
bnN0IHsgcmV0dXJuIGxvZ2ljYWxPdmVyZmxvd1JlY3QoKS5tYXhZKCk7IH0KLSAgICBpbnQgbG9n
aWNhbExlZnRWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxPdmVyZmxvd1Jl
Y3QoKS54KCk7IH0KLSAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7
IHJldHVybiBsb2dpY2FsT3ZlcmZsb3dSZWN0KCkubWF4WCgpOyB9CisgICAgTGF5b3V0UmVjdCBs
b2dpY2FsT3ZlcmZsb3dSZWN0KCkgY29uc3Q7CisgICAgdm9pZCBzZXRMb2dpY2FsT3ZlcmZsb3dS
ZWN0KGNvbnN0IExheW91dFJlY3QmKTsKKyAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3BWaXN1YWxP
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxPdmVyZmxvd1JlY3QoKS55KCk7IH0KKyAg
ICBMYXlvdXRVbml0IGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJu
IGxvZ2ljYWxPdmVyZmxvd1JlY3QoKS5tYXhZKCk7IH0KKyAgICBMYXlvdXRVbml0IGxvZ2ljYWxM
ZWZ0VmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBsb2dpY2FsT3ZlcmZsb3dSZWN0KCku
eCgpOyB9CisgICAgTGF5b3V0VW5pdCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdygpIGNvbnN0
IHsgcmV0dXJuIGxvZ2ljYWxPdmVyZmxvd1JlY3QoKS5tYXhYKCk7IH0KIAogI2lmbmRlZiBOREVC
VUcKICAgICB2aXJ0dWFsIHZvaWQgc2hvd0JveChpbnQgPSAwKSBjb25zdDsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCShyZXZpc2lvbiA5MzA0NikKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00ODUsNyArNDg1LDcgQEAgdm9pZCBSZW5kZXJJbmxpbmU6OmFic29sdXRlUmVjdHMoVmVj
dG9yPAogICAgIH0KIH0KIAotdm9pZCBSZW5kZXJJbmxpbmU6OmN1bGxlZElubGluZUFic29sdXRl
UmVjdHMoY29uc3QgUmVuZGVySW5saW5lKiBjb250YWluZXIsIFZlY3RvcjxJbnRSZWN0PiYgcmVj
dHMsIGNvbnN0IEludFNpemUmIG9mZnNldCkKK3ZvaWQgUmVuZGVySW5saW5lOjpjdWxsZWRJbmxp
bmVBYnNvbHV0ZVJlY3RzKGNvbnN0IFJlbmRlcklubGluZSogY29udGFpbmVyLCBWZWN0b3I8TGF5
b3V0UmVjdD4mIHJlY3RzLCBjb25zdCBMYXlvdXRTaXplJiBvZmZzZXQpCiB7CiAgICAgaWYgKCFj
dWxsZWRJbmxpbmVGaXJzdExpbmVCb3goKSkgewogICAgICAgICByZWN0cy5hcHBlbmQoSW50UmVj
dChvZmZzZXQud2lkdGgoKSwgb2Zmc2V0LmhlaWdodCgpLCAwLCAwKSk7CkBAIC02NjAsNyArNjYw
LDcgQEAgc3RhdGljIExheW91dFVuaXQgY29tcHV0ZU1hcmdpbihjb25zdCBSZQogICAgIGlmICht
YXJnaW4uaXNGaXhlZCgpKQogICAgICAgICByZXR1cm4gbWFyZ2luLnZhbHVlKCk7CiAgICAgaWYg
KG1hcmdpbi5pc1BlcmNlbnQoKSkKLSAgICAgICAgcmV0dXJuIG1hcmdpbi5jYWxjTWluVmFsdWUo
bWF4KDAsIHJlbmRlcmVyLT5jb250YWluaW5nQmxvY2soKS0+YXZhaWxhYmxlTG9naWNhbFdpZHRo
KCkpKTsKKyAgICAgICAgcmV0dXJuIG1hcmdpbi5jYWxjTWluVmFsdWUobWF4PExheW91dFVuaXQ+
KDAsIHJlbmRlcmVyLT5jb250YWluaW5nQmxvY2soKS0+YXZhaWxhYmxlTG9naWNhbFdpZHRoKCkp
KTsKICAgICByZXR1cm4gMDsKIH0KIApAQCAtODM3LDcgKzgzNyw3IEBAIEZsb2F0UmVjdCBSZW5k
ZXJJbmxpbmU6OmN1bGxlZElubGluZUJvdW4KICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAg
IH0KLSAgICByZXR1cm4gZW5jbG9zaW5nSW50UmVjdChyZXN1bHQpOworICAgIHJldHVybiBlbmNs
b3NpbmdMYXlvdXRSZWN0KHJlc3VsdCk7CiB9CiAKIElubGluZUJveCogUmVuZGVySW5saW5lOjpj
dWxsZWRJbmxpbmVGaXJzdExpbmVCb3goKSBjb25zdApAQCAtODg4LDkgKzg4OCw5IEBAIElubGlu
ZUJveCogUmVuZGVySW5saW5lOjpjdWxsZWRJbmxpbmVMYXMKICAgICByZXR1cm4gMDsKIH0KIAot
SW50UmVjdCBSZW5kZXJJbmxpbmU6OmN1bGxlZElubGluZVZpc3VhbE92ZXJmbG93Qm91bmRpbmdC
b3goKSBjb25zdAorTGF5b3V0UmVjdCBSZW5kZXJJbmxpbmU6OmN1bGxlZElubGluZVZpc3VhbE92
ZXJmbG93Qm91bmRpbmdCb3goKSBjb25zdAogewotICAgIEludFJlY3QgcmVzdWx0KGN1bGxlZElu
bGluZUJvdW5kaW5nQm94KHRoaXMpKTsKKyAgICBMYXlvdXRSZWN0IHJlc3VsdChjdWxsZWRJbmxp
bmVCb3VuZGluZ0JveCh0aGlzKSk7CiAgICAgYm9vbCBpc0hvcml6b250YWwgPSBzdHlsZSgpLT5p
c0hvcml6b250YWxXcml0aW5nTW9kZSgpOwogICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjdXJyID0g
Zmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFNpYmxpbmcoKSkgewogICAgICAg
ICBpZiAoY3Vyci0+aXNGbG9hdGluZ09yUG9zaXRpb25lZCgpKQpAQCAtOTAwLDcgKzkwMCw3IEBA
IEludFJlY3QgUmVuZGVySW5saW5lOjpjdWxsZWRJbmxpbmVWaXN1YWwKICAgICAgICAgaWYgKGN1
cnItPmlzQm94KCkpIHsKICAgICAgICAgICAgIFJlbmRlckJveCogY3VyckJveCA9IHRvUmVuZGVy
Qm94KGN1cnIpOwogICAgICAgICAgICAgaWYgKCFjdXJyQm94LT5oYXNTZWxmUGFpbnRpbmdMYXll
cigpICYmIGN1cnJCb3gtPmlubGluZUJveFdyYXBwZXIoKSkgewotICAgICAgICAgICAgICAgIElu
dFJlY3QgbG9naWNhbFJlY3QgPSBjdXJyQm94LT5sb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0Rm9y
UHJvcGFnYXRpb24oc3R5bGUoKSk7CisgICAgICAgICAgICAgICAgTGF5b3V0UmVjdCBsb2dpY2Fs
UmVjdCA9IGN1cnJCb3gtPmxvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihz
dHlsZSgpKTsKICAgICAgICAgICAgICAgICBpZiAoaXNIb3Jpem9udGFsKSB7CiAgICAgICAgICAg
ICAgICAgICAgIGxvZ2ljYWxSZWN0Lm1vdmVCeShjdXJyQm94LT5sb2NhdGlvbigpKTsKICAgICAg
ICAgICAgICAgICAgICAgcmVzdWx0LnVuaXRlSWZOb25aZXJvKGxvZ2ljYWxSZWN0KTsKQEAgLTky
NiwxNyArOTI2LDE3IEBAIEludFJlY3QgUmVuZGVySW5saW5lOjpjdWxsZWRJbmxpbmVWaXN1YWwK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1JbnRSZWN0IFJlbmRlcklubGluZTo6bGluZXNWaXN1
YWxPdmVyZmxvd0JvdW5kaW5nQm94KCkgY29uc3QKK0xheW91dFJlY3QgUmVuZGVySW5saW5lOjps
aW5lc1Zpc3VhbE92ZXJmbG93Qm91bmRpbmdCb3goKSBjb25zdAogewogICAgIGlmICghYWx3YXlz
Q3JlYXRlTGluZUJveGVzKCkpCiAgICAgICAgIHJldHVybiBjdWxsZWRJbmxpbmVWaXN1YWxPdmVy
Zmxvd0JvdW5kaW5nQm94KCk7CiAKICAgICBpZiAoIWZpcnN0TGluZUJveCgpIHx8ICFsYXN0TGlu
ZUJveCgpKQotICAgICAgICByZXR1cm4gSW50UmVjdCgpOworICAgICAgICByZXR1cm4gTGF5b3V0
UmVjdCgpOwogCiAgICAgLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiB0aGUgbWluaW1hbCBsZWZ0IHNp
ZGUgYW5kIHRoZSBtYXhpbWFsIHJpZ2h0IHNpZGUuCi0gICAgaW50IGxvZ2ljYWxMZWZ0U2lkZSA9
IG51bWVyaWNfbGltaXRzPGludD46Om1heCgpOwotICAgIGludCBsb2dpY2FsUmlnaHRTaWRlID0g
bnVtZXJpY19saW1pdHM8aW50Pjo6bWluKCk7CisgICAgTGF5b3V0VW5pdCBsb2dpY2FsTGVmdFNp
ZGUgPSBudW1lcmljX2xpbWl0czxMYXlvdXRVbml0Pjo6bWF4KCk7CisgICAgTGF5b3V0VW5pdCBs
b2dpY2FsUmlnaHRTaWRlID0gbnVtZXJpY19saW1pdHM8TGF5b3V0VW5pdD46Om1pbigpOwogICAg
IGZvciAoSW5saW5lRmxvd0JveCogY3VyciA9IGZpcnN0TGluZUJveCgpOyBjdXJyOyBjdXJyID0g
Y3Vyci0+bmV4dExpbmVCb3goKSkgewogICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBtaW4obG9n
aWNhbExlZnRTaWRlLCBjdXJyLT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCkpOwogICAgICAg
ICBsb2dpY2FsUmlnaHRTaWRlID0gbWF4KGxvZ2ljYWxSaWdodFNpZGUsIGN1cnItPmxvZ2ljYWxS
aWdodFZpc3VhbE92ZXJmbG93KCkpOwpAQCAtOTQ1LDMxICs5NDUsMzEgQEAgSW50UmVjdCBSZW5k
ZXJJbmxpbmU6OmxpbmVzVmlzdWFsT3ZlcmZsbwogICAgIFJvb3RJbmxpbmVCb3gqIGZpcnN0Um9v
dEJveCA9IGZpcnN0TGluZUJveCgpLT5yb290KCk7CiAgICAgUm9vdElubGluZUJveCogbGFzdFJv
b3RCb3ggPSBsYXN0TGluZUJveCgpLT5yb290KCk7CiAgICAgCi0gICAgaW50IGxvZ2ljYWxUb3Ag
PSBmaXJzdExpbmVCb3goKS0+bG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KGZpcnN0Um9vdEJveC0+
bGluZVRvcCgpKTsKLSAgICBpbnQgbG9naWNhbFdpZHRoID0gbG9naWNhbFJpZ2h0U2lkZSAtIGxv
Z2ljYWxMZWZ0U2lkZTsKLSAgICBpbnQgbG9naWNhbEhlaWdodCA9IGxhc3RMaW5lQm94KCktPmxv
Z2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyhsYXN0Um9vdEJveC0+bGluZUJvdHRvbSgpKSAtIGxv
Z2ljYWxUb3A7CisgICAgTGF5b3V0VW5pdCBsb2dpY2FsVG9wID0gZmlyc3RMaW5lQm94KCktPmxv
Z2ljYWxUb3BWaXN1YWxPdmVyZmxvdyhmaXJzdFJvb3RCb3gtPmxpbmVUb3AoKSk7CisgICAgTGF5
b3V0VW5pdCBsb2dpY2FsV2lkdGggPSBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRl
OworICAgIExheW91dFVuaXQgbG9naWNhbEhlaWdodCA9IGxhc3RMaW5lQm94KCktPmxvZ2ljYWxC
b3R0b21WaXN1YWxPdmVyZmxvdyhsYXN0Um9vdEJveC0+bGluZUJvdHRvbSgpKSAtIGxvZ2ljYWxU
b3A7CiAgICAgCi0gICAgSW50UmVjdCByZWN0KGxvZ2ljYWxMZWZ0U2lkZSwgbG9naWNhbFRvcCwg
bG9naWNhbFdpZHRoLCBsb2dpY2FsSGVpZ2h0KTsKKyAgICBMYXlvdXRSZWN0IHJlY3QobG9naWNh
bExlZnRTaWRlLCBsb2dpY2FsVG9wLCBsb2dpY2FsV2lkdGgsIGxvZ2ljYWxIZWlnaHQpOwogICAg
IGlmICghc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKICAgICAgICAgcmVjdCA9
IHJlY3QudHJhbnNwb3NlZFJlY3QoKTsKICAgICByZXR1cm4gcmVjdDsKIH0KIAotSW50UmVjdCBS
ZW5kZXJJbmxpbmU6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVs
T2JqZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25zdAorTGF5b3V0UmVjdCBSZW5kZXJJbmxpbmU6
OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBh
aW50Q29udGFpbmVyKSBjb25zdAogewogICAgIC8vIE9ubHkgcnVuLWlucyBhcmUgYWxsb3dlZCBp
biBoZXJlIGR1cmluZyBsYXlvdXQuCiAgICAgQVNTRVJUKCF2aWV3KCkgfHwgIXZpZXcoKS0+bGF5
b3V0U3RhdGVFbmFibGVkKCkgfHwgaXNSdW5JbigpKTsKIAogICAgIGlmICghZmlyc3RMaW5lQm94
SW5jbHVkaW5nQ3VsbGluZygpICYmICFjb250aW51YXRpb24oKSkKLSAgICAgICAgcmV0dXJuIElu
dFJlY3QoKTsKKyAgICAgICAgcmV0dXJuIExheW91dFJlY3QoKTsKIAogICAgIC8vIEZpbmQgb3Vy
IGxlZnRtb3N0IHBvc2l0aW9uLgotICAgIEludFJlY3QgYm91bmRpbmdCb3gobGluZXNWaXN1YWxP
dmVyZmxvd0JvdW5kaW5nQm94KCkpOwotICAgIGludCBsZWZ0ID0gYm91bmRpbmdCb3gueCgpOwot
ICAgIGludCB0b3AgPSBib3VuZGluZ0JveC55KCk7CisgICAgTGF5b3V0UmVjdCBib3VuZGluZ0Jv
eChsaW5lc1Zpc3VhbE92ZXJmbG93Qm91bmRpbmdCb3goKSk7CisgICAgTGF5b3V0VW5pdCBsZWZ0
ID0gYm91bmRpbmdCb3gueCgpOworICAgIExheW91dFVuaXQgdG9wID0gYm91bmRpbmdCb3gueSgp
OwogCiAgICAgLy8gTm93IGludmFsaWRhdGUgYSByZWN0YW5nbGUuCi0gICAgaW50IG93ID0gc3R5
bGUoKSA/IHN0eWxlKCktPm91dGxpbmVTaXplKCkgOiAwOworICAgIExheW91dFVuaXQgb3cgPSBz
dHlsZSgpID8gc3R5bGUoKS0+b3V0bGluZVNpemUoKSA6IDA7CiAgICAgCiAgICAgLy8gV2UgbmVl
ZCB0byBhZGQgaW4gdGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mZnNldHMgb2YgYW55IGlubGluZXMg
KGluY2x1ZGluZyB1cykgdXAgdG8gb3VyCiAgICAgLy8gY29udGFpbmluZyBibG9jay4KQEAgLTk4
MCw3ICs5ODAsNyBAQCBJbnRSZWN0IFJlbmRlcklubGluZTo6Y2xpcHBlZE92ZXJmbG93UmVjCiAg
ICAgICAgICAgICB0b1JlbmRlcklubGluZShpbmxpbmVGbG93KS0+bGF5ZXIoKS0+cmVsYXRpdmVQ
b3NpdGlvbk9mZnNldChsZWZ0LCB0b3ApOwogICAgIH0KIAotICAgIEludFJlY3Qgcigtb3cgKyBs
ZWZ0LCAtb3cgKyB0b3AsIGJvdW5kaW5nQm94LndpZHRoKCkgKyBvdyAqIDIsIGJvdW5kaW5nQm94
LmhlaWdodCgpICsgb3cgKiAyKTsKKyAgICBMYXlvdXRSZWN0IHIoLW93ICsgbGVmdCwgLW93ICsg
dG9wLCBib3VuZGluZ0JveC53aWR0aCgpICsgb3cgKiAyLCBib3VuZGluZ0JveC5oZWlnaHQoKSAr
IG93ICogMik7CiAKICAgICBpZiAoY2ItPmhhc0NvbHVtbnMoKSkKICAgICAgICAgY2ItPmFkanVz
dFJlY3RGb3JDb2x1bW5zKHIpOwpAQCAtOTg5LDEwICs5ODksMTAgQEAgSW50UmVjdCBSZW5kZXJJ
bmxpbmU6OmNsaXBwZWRPdmVyZmxvd1JlYwogICAgICAgICAvLyBjYi0+aGVpZ2h0KCkgaXMgaW5h
Y2N1cmF0ZSBpZiB3ZSdyZSBpbiB0aGUgbWlkZGxlIG9mIGEgbGF5b3V0IG9mIHxjYnwsIHNvIHVz
ZSB0aGUKICAgICAgICAgLy8gbGF5ZXIncyBzaXplIGluc3RlYWQuICBFdmVuIGlmIHRoZSBsYXll
cidzIHNpemUgaXMgd3JvbmcsIHRoZSBsYXllciBpdHNlbGYgd2lsbCByZXBhaW50CiAgICAgICAg
IC8vIGFueXdheSBpZiBpdHMgc2l6ZSBkb2VzIGNoYW5nZS4KLSAgICAgICAgSW50UmVjdCByZXBh
aW50UmVjdChyKTsKKyAgICAgICAgTGF5b3V0UmVjdCByZXBhaW50UmVjdChyKTsKICAgICAgICAg
cmVwYWludFJlY3QubW92ZSgtY2ItPmxheWVyKCktPnNjcm9sbGVkQ29udGVudE9mZnNldCgpKTsg
Ly8gRm9yIG92ZXJmbG93OmF1dG8vc2Nyb2xsL2hpZGRlbi4KIAotICAgICAgICBJbnRSZWN0IGJv
eFJlY3QoSW50UG9pbnQoKSwgY2ItPmxheWVyKCktPnNpemUoKSk7CisgICAgICAgIExheW91dFJl
Y3QgYm94UmVjdChMYXlvdXRQb2ludCgpLCBjYi0+bGF5ZXIoKS0+c2l6ZSgpKTsKICAgICAgICAg
ciA9IGludGVyc2VjdGlvbihyZXBhaW50UmVjdCwgYm94UmVjdCk7CiAgICAgfQogICAgIApAQCAt
MTAwNCwxMyArMTAwNCwxMyBAQCBJbnRSZWN0IFJlbmRlcklubGluZTo6Y2xpcHBlZE92ZXJmbG93
UmVjCiAgICAgaWYgKG93KSB7CiAgICAgICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjdXJyID0gZmly
c3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFNpYmxpbmcoKSkgewogICAgICAgICAg
ICAgaWYgKCFjdXJyLT5pc1RleHQoKSkgewotICAgICAgICAgICAgICAgIEludFJlY3QgY2hpbGRS
ZWN0ID0gY3Vyci0+cmVjdFdpdGhPdXRsaW5lRm9yUmVwYWludChyZXBhaW50Q29udGFpbmVyLCBv
dyk7CisgICAgICAgICAgICAgICAgTGF5b3V0UmVjdCBjaGlsZFJlY3QgPSBjdXJyLT5yZWN0V2l0
aE91dGxpbmVGb3JSZXBhaW50KHJlcGFpbnRDb250YWluZXIsIG93KTsKICAgICAgICAgICAgICAg
ICByLnVuaXRlKGNoaWxkUmVjdCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAogICAgICAg
ICBpZiAoY29udGludWF0aW9uKCkgJiYgIWNvbnRpbnVhdGlvbigpLT5pc0lubGluZSgpKSB7Ci0g
ICAgICAgICAgICBJbnRSZWN0IGNvbnRSZWN0ID0gY29udGludWF0aW9uKCktPnJlY3RXaXRoT3V0
bGluZUZvclJlcGFpbnQocmVwYWludENvbnRhaW5lciwgb3cpOworICAgICAgICAgICAgTGF5b3V0
UmVjdCBjb250UmVjdCA9IGNvbnRpbnVhdGlvbigpLT5yZWN0V2l0aE91dGxpbmVGb3JSZXBhaW50
KHJlcGFpbnRDb250YWluZXIsIG93KTsKICAgICAgICAgICAgIHIudW5pdGUoY29udFJlY3QpOwog
ICAgICAgICB9CiAgICAgfQpAQCAtMTAxOCw5ICsxMDE4LDkgQEAgSW50UmVjdCBSZW5kZXJJbmxp
bmU6OmNsaXBwZWRPdmVyZmxvd1JlYwogICAgIHJldHVybiByOwogfQogCi1JbnRSZWN0IFJlbmRl
cklubGluZTo6cmVjdFdpdGhPdXRsaW5lRm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCog
cmVwYWludENvbnRhaW5lciwgaW50IG91dGxpbmVXaWR0aCkgY29uc3QKK0xheW91dFJlY3QgUmVu
ZGVySW5saW5lOjpyZWN0V2l0aE91dGxpbmVGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0
KiByZXBhaW50Q29udGFpbmVyLCBMYXlvdXRVbml0IG91dGxpbmVXaWR0aCkgY29uc3QKIHsKLSAg
ICBJbnRSZWN0IHIoUmVuZGVyQm94TW9kZWxPYmplY3Q6OnJlY3RXaXRoT3V0bGluZUZvclJlcGFp
bnQocmVwYWludENvbnRhaW5lciwgb3V0bGluZVdpZHRoKSk7CisgICAgTGF5b3V0UmVjdCByKFJl
bmRlckJveE1vZGVsT2JqZWN0OjpyZWN0V2l0aE91dGxpbmVGb3JSZXBhaW50KHJlcGFpbnRDb250
YWluZXIsIG91dGxpbmVXaWR0aCkpOwogICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjdXJyID0gZmly
c3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFNpYmxpbmcoKSkgewogICAgICAgICBp
ZiAoIWN1cnItPmlzVGV4dCgpKQogICAgICAgICAgICAgci51bml0ZShjdXJyLT5yZWN0V2l0aE91
dGxpbmVGb3JSZXBhaW50KHJlcGFpbnRDb250YWluZXIsIG91dGxpbmVXaWR0aCkpOwpAQCAtMTAy
OCw3ICsxMDI4LDcgQEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6OnJlY3RXaXRoT3V0bGluZUZvcgog
ICAgIHJldHVybiByOwogfQogCi12b2lkIFJlbmRlcklubGluZTo6Y29tcHV0ZVJlY3RGb3JSZXBh
aW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBJbnRSZWN0JiByZWN0
LCBib29sIGZpeGVkKSBjb25zdAordm9pZCBSZW5kZXJJbmxpbmU6OmNvbXB1dGVSZWN0Rm9yUmVw
YWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgTGF5b3V0UmVjdCYg
cmVjdCwgYm9vbCBmaXhlZCkgY29uc3QKIHsKICAgICBpZiAoUmVuZGVyVmlldyogdiA9IHZpZXco
KSkgewogICAgICAgICAvLyBMYXlvdXRTdGF0ZSBpcyBvbmx5IHZhbGlkIGZvciByb290LXJlbGF0
aXZlIHJlcGFpbnRpbmcKQEAgLTEwNTEsMTIgKzEwNTEsMTIgQEAgdm9pZCBSZW5kZXJJbmxpbmU6
OmNvbXB1dGVSZWN0Rm9yUmVwYWludAogICAgIGlmICghbykKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgSW50UG9pbnQgdG9wTGVmdCA9IHJlY3QubG9jYXRpb24oKTsKKyAgICBMYXlvdXRQb2ludCB0
b3BMZWZ0ID0gcmVjdC5sb2NhdGlvbigpOwogCiAgICAgaWYgKG8tPmlzQmxvY2tGbG93KCkgJiYg
c3R5bGUoKS0+cG9zaXRpb24oKSAhPSBBYnNvbHV0ZVBvc2l0aW9uICYmIHN0eWxlKCktPnBvc2l0
aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikgewogICAgICAgICBSZW5kZXJCbG9jayogY2IgPSB0b1Jl
bmRlckJsb2NrKG8pOwogICAgICAgICBpZiAoY2ItPmhhc0NvbHVtbnMoKSkgewotICAgICAgICAg
ICAgSW50UmVjdCByZXBhaW50UmVjdCh0b3BMZWZ0LCByZWN0LnNpemUoKSk7CisgICAgICAgICAg
ICBMYXlvdXRSZWN0IHJlcGFpbnRSZWN0KHRvcExlZnQsIHJlY3Quc2l6ZSgpKTsKICAgICAgICAg
ICAgIGNiLT5hZGp1c3RSZWN0Rm9yQ29sdW1ucyhyZXBhaW50UmVjdCk7CiAgICAgICAgICAgICB0
b3BMZWZ0ID0gcmVwYWludFJlY3QubG9jYXRpb24oKTsKICAgICAgICAgICAgIHJlY3QgPSByZXBh
aW50UmVjdDsKQEAgLTEwODEsOCArMTA4MSw4IEBAIHZvaWQgUmVuZGVySW5saW5lOjpjb21wdXRl
UmVjdEZvclJlcGFpbnQKICAgICAgICAgLy8gYW55d2F5IGlmIGl0cyBzaXplIGRvZXMgY2hhbmdl
LgogICAgICAgICB0b3BMZWZ0IC09IGNvbnRhaW5lckJveC0+bGF5ZXIoKS0+c2Nyb2xsZWRDb250
ZW50T2Zmc2V0KCk7IC8vIEZvciBvdmVyZmxvdzphdXRvL3Njcm9sbC9oaWRkZW4uCiAKLSAgICAg
ICAgSW50UmVjdCByZXBhaW50UmVjdCh0b3BMZWZ0LCByZWN0LnNpemUoKSk7Ci0gICAgICAgIElu
dFJlY3QgYm94UmVjdChJbnRQb2ludCgpLCBjb250YWluZXJCb3gtPmxheWVyKCktPnNpemUoKSk7
CisgICAgICAgIExheW91dFJlY3QgcmVwYWludFJlY3QodG9wTGVmdCwgcmVjdC5zaXplKCkpOwor
ICAgICAgICBMYXlvdXRSZWN0IGJveFJlY3QoTGF5b3V0UG9pbnQoKSwgY29udGFpbmVyQm94LT5s
YXllcigpLT5zaXplKCkpOwogICAgICAgICByZWN0ID0gaW50ZXJzZWN0aW9uKHJlcGFpbnRSZWN0
LCBib3hSZWN0KTsKICAgICAgICAgaWYgKHJlY3QuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmV0
dXJuOwpAQCAtMTA5MSw3ICsxMDkxLDcgQEAgdm9pZCBSZW5kZXJJbmxpbmU6OmNvbXB1dGVSZWN0
Rm9yUmVwYWludAogCiAgICAgaWYgKGNvbnRhaW5lclNraXBwZWQpIHsKICAgICAgICAgLy8gSWYg
dGhlIHJlcGFpbnRDb250YWluZXIgaXMgYmVsb3cgbywgdGhlbiB3ZSBuZWVkIHRvIG1hcCB0aGUg
cmVjdCBpbnRvIHJlcGFpbnRDb250YWluZXIncyBjb29yZGluYXRlcy4KLSAgICAgICAgSW50U2l6
ZSBjb250YWluZXJPZmZzZXQgPSByZXBhaW50Q29udGFpbmVyLT5vZmZzZXRGcm9tQW5jZXN0b3JD
b250YWluZXIobyk7CisgICAgICAgIExheW91dFNpemUgY29udGFpbmVyT2Zmc2V0ID0gcmVwYWlu
dENvbnRhaW5lci0+b2Zmc2V0RnJvbUFuY2VzdG9yQ29udGFpbmVyKG8pOwogICAgICAgICByZWN0
Lm1vdmUoLWNvbnRhaW5lck9mZnNldCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMTUz
LDcgKzExNTMsNyBAQCB2b2lkIFJlbmRlcklubGluZTo6bWFwTG9jYWxUb0NvbnRhaW5lcihSCiAg
ICAgaWYgKGNvbnRhaW5lclNraXBwZWQpIHsKICAgICAgICAgLy8gVGhlcmUgY2FuJ3QgYmUgYSB0
cmFuc2Zvcm0gYmV0d2VlbiByZXBhaW50Q29udGFpbmVyIGFuZCBvLCBiZWNhdXNlIHRyYW5zZm9y
bXMgY3JlYXRlIGNvbnRhaW5lcnMsIHNvIGl0IHNob3VsZCBiZSBzYWZlCiAgICAgICAgIC8vIHRv
IGp1c3Qgc3VidHJhY3QgdGhlIGRlbHRhIGJldHdlZW4gdGhlIHJlcGFpbnRDb250YWluZXIgYW5k
IG8uCi0gICAgICAgIEludFNpemUgY29udGFpbmVyT2Zmc2V0ID0gcmVwYWludENvbnRhaW5lci0+
b2Zmc2V0RnJvbUFuY2VzdG9yQ29udGFpbmVyKG8pOworICAgICAgICBMYXlvdXRTaXplIGNvbnRh
aW5lck9mZnNldCA9IHJlcGFpbnRDb250YWluZXItPm9mZnNldEZyb21BbmNlc3RvckNvbnRhaW5l
cihvKTsKICAgICAgICAgdHJhbnNmb3JtU3RhdGUubW92ZSgtY29udGFpbmVyT2Zmc2V0LndpZHRo
KCksIC1jb250YWluZXJPZmZzZXQuaGVpZ2h0KCksIHByZXNlcnZlM0QgPyBUcmFuc2Zvcm1TdGF0
ZTo6QWNjdW11bGF0ZVRyYW5zZm9ybSA6IFRyYW5zZm9ybVN0YXRlOjpGbGF0dGVuVHJhbnNmb3Jt
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTEyNzEsNyArMTI3MSw3IEBAIElubGluZUZs
b3dCb3gqIFJlbmRlcklubGluZTo6Y3JlYXRlQW5kQXAKICAgICByZXR1cm4gZmxvd0JveDsKIH0K
IAotaW50IFJlbmRlcklubGluZTo6bGluZUhlaWdodChib29sIGZpcnN0TGluZSwgTGluZURpcmVj
dGlvbk1vZGUgLypkaXJlY3Rpb24qLywgTGluZVBvc2l0aW9uTW9kZSAvKmxpbmVQb3NpdGlvbk1v
ZGUqLykgY29uc3QKK0xheW91dFVuaXQgUmVuZGVySW5saW5lOjpsaW5lSGVpZ2h0KGJvb2wgZmly
c3RMaW5lLCBMaW5lRGlyZWN0aW9uTW9kZSAvKmRpcmVjdGlvbiovLCBMaW5lUG9zaXRpb25Nb2Rl
IC8qbGluZVBvc2l0aW9uTW9kZSovKSBjb25zdAogewogICAgIGlmIChmaXJzdExpbmUgJiYgZG9j
dW1lbnQoKS0+dXNlc0ZpcnN0TGluZVJ1bGVzKCkpIHsKICAgICAgICAgUmVuZGVyU3R5bGUqIHMg
PSBzdHlsZShmaXJzdExpbmUpOwpAQCAtMTI4NSw3ICsxMjg1LDcgQEAgaW50IFJlbmRlcklubGlu
ZTo6bGluZUhlaWdodChib29sIGZpcnN0TAogICAgIHJldHVybiBtX2xpbmVIZWlnaHQ7CiB9CiAK
LWludCBSZW5kZXJJbmxpbmU6OmJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2VsaW5lIGJhc2VsaW5l
VHlwZSwgYm9vbCBmaXJzdExpbmUsIExpbmVEaXJlY3Rpb25Nb2RlIGRpcmVjdGlvbiwgTGluZVBv
c2l0aW9uTW9kZSBsaW5lUG9zaXRpb25Nb2RlKSBjb25zdAorTGF5b3V0VW5pdCBSZW5kZXJJbmxp
bmU6OmJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSwgYm9vbCBmaXJz
dExpbmUsIExpbmVEaXJlY3Rpb25Nb2RlIGRpcmVjdGlvbiwgTGluZVBvc2l0aW9uTW9kZSBsaW5l
UG9zaXRpb25Nb2RlKSBjb25zdAogewogICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmlj
cyA9IHN0eWxlKGZpcnN0TGluZSktPmZvbnRNZXRyaWNzKCk7CiAgICAgcmV0dXJuIGZvbnRNZXRy
aWNzLmFzY2VudChiYXNlbGluZVR5cGUpICsgKGxpbmVIZWlnaHQoZmlyc3RMaW5lLCBkaXJlY3Rp
b24sIGxpbmVQb3NpdGlvbk1vZGUpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMjsKQEAgLTE1
MTEsMTMgKzE1MTEsMTMgQEAgdm9pZCBSZW5kZXJJbmxpbmU6OmFkZERhc2hib2FyZFJlZ2lvbnMo
VgogICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICAgICAgIFN0eWxlRGFzaGJv
YXJkUmVnaW9uIHN0eWxlUmVnaW9uID0gc3R5bGVSZWdpb25zW2ldOwogCi0gICAgICAgIEludFJl
Y3QgbGluZXNCb3VuZGluZ0JveCA9IHRoaXMtPmxpbmVzQm91bmRpbmdCb3goKTsKLSAgICAgICAg
aW50IHcgPSBsaW5lc0JvdW5kaW5nQm94LndpZHRoKCk7Ci0gICAgICAgIGludCBoID0gbGluZXNC
b3VuZGluZ0JveC5oZWlnaHQoKTsKKyAgICAgICAgTGF5b3V0UmVjdCBsaW5lc0JvdW5kaW5nQm94
ID0gdGhpcy0+bGluZXNCb3VuZGluZ0JveCgpOworICAgICAgICBMYXlvdXRVbml0IHcgPSBsaW5l
c0JvdW5kaW5nQm94LndpZHRoKCk7CisgICAgICAgIExheW91dFVuaXQgaCA9IGxpbmVzQm91bmRp
bmdCb3guaGVpZ2h0KCk7CiAKICAgICAgICAgRGFzaGJvYXJkUmVnaW9uVmFsdWUgcmVnaW9uOwog
ICAgICAgICByZWdpb24ubGFiZWwgPSBzdHlsZVJlZ2lvbi5sYWJlbDsKLSAgICAgICAgcmVnaW9u
LmJvdW5kcyA9IEludFJlY3QobGluZXNCb3VuZGluZ0JveC54KCkgKyBzdHlsZVJlZ2lvbi5vZmZz
ZXQubGVmdCgpLnZhbHVlKCksCisgICAgICAgIHJlZ2lvbi5ib3VuZHMgPSBMYXlvdXRSZWN0KGxp
bmVzQm91bmRpbmdCb3gueCgpICsgc3R5bGVSZWdpb24ub2Zmc2V0LmxlZnQoKS52YWx1ZSgpLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lc0JvdW5kaW5nQm94LnkoKSArIHN0
eWxlUmVnaW9uLm9mZnNldC50b3AoKS52YWx1ZSgpLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB3IC0gc3R5bGVSZWdpb24ub2Zmc2V0LmxlZnQoKS52YWx1ZSgpIC0gc3R5bGVSZWdp
b24ub2Zmc2V0LnJpZ2h0KCkudmFsdWUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaCAtIHN0eWxlUmVnaW9uLm9mZnNldC50b3AoKS52YWx1ZSgpIC0gc3R5bGVSZWdpb24ub2Zm
c2V0LmJvdHRvbSgpLnZhbHVlKCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlcklubGluZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuaAkocmV2aXNpb24gOTMwNDYpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW5saW5lLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgTGF5b3V0U2l6ZSBvZmZzZXRGcm9tQ29udGFpbmVyKFJlbmRlck9iamVjdCos
IGNvbnN0IExheW91dFBvaW50JikgY29uc3Q7CiAKICAgICBMYXlvdXRSZWN0IGxpbmVzQm91bmRp
bmdCb3goKSBjb25zdDsKLSAgICBJbnRSZWN0IGxpbmVzVmlzdWFsT3ZlcmZsb3dCb3VuZGluZ0Jv
eCgpIGNvbnN0OworICAgIExheW91dFJlY3QgbGluZXNWaXN1YWxPdmVyZmxvd0JvdW5kaW5nQm94
KCkgY29uc3Q7CiAKICAgICBJbmxpbmVGbG93Qm94KiBjcmVhdGVBbmRBcHBlbmRJbmxpbmVGbG93
Qm94KCk7CiAKQEAgLTk5LDEwICs5OSwxMCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBp
c1JlbmRlcklubGluZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAogICAgIEZsb2F0UmVjdCBj
dWxsZWRJbmxpbmVCb3VuZGluZ0JveChjb25zdCBSZW5kZXJJbmxpbmUqIGNvbnRhaW5lcikgY29u
c3Q7Ci0gICAgSW50UmVjdCBjdWxsZWRJbmxpbmVWaXN1YWxPdmVyZmxvd0JvdW5kaW5nQm94KCkg
Y29uc3Q7CisgICAgTGF5b3V0UmVjdCBjdWxsZWRJbmxpbmVWaXN1YWxPdmVyZmxvd0JvdW5kaW5n
Qm94KCkgY29uc3Q7CiAgICAgSW5saW5lQm94KiBjdWxsZWRJbmxpbmVGaXJzdExpbmVCb3goKSBj
b25zdDsKICAgICBJbmxpbmVCb3gqIGN1bGxlZElubGluZUxhc3RMaW5lQm94KCkgY29uc3Q7Ci0g
ICAgdm9pZCBjdWxsZWRJbmxpbmVBYnNvbHV0ZVJlY3RzKGNvbnN0IFJlbmRlcklubGluZSogY29u
dGFpbmVyLCBWZWN0b3I8SW50UmVjdD4mLCBjb25zdCBJbnRTaXplJik7CisgICAgdm9pZCBjdWxs
ZWRJbmxpbmVBYnNvbHV0ZVJlY3RzKGNvbnN0IFJlbmRlcklubGluZSogY29udGFpbmVyLCBWZWN0
b3I8TGF5b3V0UmVjdD4mLCBjb25zdCBMYXlvdXRTaXplJik7CiAgICAgdm9pZCBjdWxsZWRJbmxp
bmVBYnNvbHV0ZVF1YWRzKGNvbnN0IFJlbmRlcklubGluZSogY29udGFpbmVyLCBWZWN0b3I8Rmxv
YXRRdWFkPiYpOwogCiAgICAgdm9pZCBhZGRDaGlsZFRvQ29udGludWF0aW9uKFJlbmRlck9iamVj
dCogbmV3Q2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpOwpAQCAtMTI2LDkgKzEyNiw5
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBMYXlvdXRVbml0IG9mZnNldFdpZHRoKCkgY29uc3Qg
eyByZXR1cm4gbGluZXNCb3VuZGluZ0JveCgpLndpZHRoKCk7IH0KICAgICB2aXJ0dWFsIExheW91
dFVuaXQgb2Zmc2V0SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbGluZXNCb3VuZGluZ0JveCgpLmhl
aWdodCgpOyB9CiAKLSAgICB2aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJl
cGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpIGNvbnN0OwotICAg
IHZpcnR1YWwgSW50UmVjdCByZWN0V2l0aE91dGxpbmVGb3JSZXBhaW50KFJlbmRlckJveE1vZGVs
T2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBpbnQgb3V0bGluZVdpZHRoKSBjb25zdDsKLSAgICB2
aXJ0dWFsIHZvaWQgY29tcHV0ZVJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiBy
ZXBhaW50Q29udGFpbmVyLCBJbnRSZWN0JiwgYm9vbCBmaXhlZCkgY29uc3Q7CisgICAgdmlydHVh
bCBMYXlvdXRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVs
T2JqZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25zdDsKKyAgICB2aXJ0dWFsIExheW91dFJlY3Qg
cmVjdFdpdGhPdXRsaW5lRm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENv
bnRhaW5lciwgTGF5b3V0VW5pdCBvdXRsaW5lV2lkdGgpIGNvbnN0OworICAgIHZpcnR1YWwgdm9p
ZCBjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250
YWluZXIsIExheW91dFJlY3QmLCBib29sIGZpeGVkKSBjb25zdDsKIAogICAgIHZpcnR1YWwgdm9p
ZCBtYXBMb2NhbFRvQ29udGFpbmVyKFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFp
bmVyLCBib29sIGZpeGVkLCBib29sIHVzZVRyYW5zZm9ybXMsIFRyYW5zZm9ybVN0YXRlJiwgYm9v
bCogd2FzRml4ZWQgPSAwKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgbWFwQWJzb2x1dGVUb0xv
Y2FsUG9pbnQoYm9vbCBmaXhlZCwgYm9vbCB1c2VUcmFuc2Zvcm1zLCBUcmFuc2Zvcm1TdGF0ZSYp
IGNvbnN0OwpAQCAtMTQ1LDggKzE0NSw4IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQg
ZGlydHlMaW5lc0Zyb21DaGFuZ2VkQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCkgeyBtX2xpbmVC
b3hlcy5kaXJ0eUxpbmVzRnJvbUNoYW5nZWRDaGlsZCh0aGlzLCBjaGlsZCk7IH0KIAotICAgIHZp
cnR1YWwgaW50IGxpbmVIZWlnaHQoYm9vbCBmaXJzdExpbmUsIExpbmVEaXJlY3Rpb25Nb2RlLCBM
aW5lUG9zaXRpb25Nb2RlID0gUG9zaXRpb25PbkNvbnRhaW5pbmdMaW5lKSBjb25zdDsKLSAgICB2
aXJ0dWFsIGludCBiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSwgYm9vbCBmaXJzdExpbmUs
IExpbmVEaXJlY3Rpb25Nb2RlLCBMaW5lUG9zaXRpb25Nb2RlID0gUG9zaXRpb25PbkNvbnRhaW5p
bmdMaW5lKSBjb25zdDsKKyAgICB2aXJ0dWFsIExheW91dFVuaXQgbGluZUhlaWdodChib29sIGZp
cnN0TGluZSwgTGluZURpcmVjdGlvbk1vZGUsIExpbmVQb3NpdGlvbk1vZGUgPSBQb3NpdGlvbk9u
Q29udGFpbmluZ0xpbmUpIGNvbnN0OworICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBiYXNlbGluZVBv
c2l0aW9uKEZvbnRCYXNlbGluZSwgYm9vbCBmaXJzdExpbmUsIExpbmVEaXJlY3Rpb25Nb2RlLCBM
aW5lUG9zaXRpb25Nb2RlID0gUG9zaXRpb25PbkNvbnRhaW5pbmdMaW5lKSBjb25zdDsKICAgICAK
ICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRCZWNhbWVOb25JbmxpbmUoUmVuZGVyT2JqZWN0KiBjaGls
ZCk7CiAKQEAgLTE2OSw3ICsxNjksNyBAQCBwcml2YXRlOgogICAgIFJlbmRlck9iamVjdENoaWxk
TGlzdCBtX2NoaWxkcmVuOwogICAgIFJlbmRlckxpbmVCb3hMaXN0IG1fbGluZUJveGVzOyAgIC8v
IEFsbCBvZiB0aGUgbGluZSBib3hlcyBjcmVhdGVkIGZvciB0aGlzIGlubGluZSBmbG93LiAgRm9y
IGV4YW1wbGUsIDxpPkhlbGxvPGJyPndvcmxkLjwvaT4gd2lsbCBoYXZlIHR3byA8aT4gbGluZSBi
b3hlcy4KIAotICAgIG11dGFibGUgaW50IG1fbGluZUhlaWdodCA6IDMxOworICAgIG11dGFibGUg
TGF5b3V0VW5pdCBtX2xpbmVIZWlnaHQ7CiAgICAgYm9vbCBtX2Fsd2F5c0NyZWF0ZUxpbmVCb3hl
cyA6IDE7CiB9OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>