<?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>46750</bug_id>
          
          <creation_ts>2010-09-28 13:22:19 -0700</creation_ts>
          <short_desc>Rename the MarginInfo members and functions.</short_desc>
          <delta_ts>2010-09-28 13:46:26 -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>PC</rep_platform>
          <op_sys>OS X 10.5</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>46123</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>286492</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-09-28 13:22:19 -0700</bug_when>
    <thetext>Rename the MarginInfo members and functions to be block-flow independent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286493</commentid>
    <comment_count>1</comment_count>
      <attachid>69094</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-09-28 13:23:02 -0700</bug_when>
    <thetext>Created attachment 69094
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286494</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-28 13:23:55 -0700</bug_when>
    <thetext>Attachment 69094 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/rendering/RenderBlock.cpp:95:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
WebCore/rendering/RenderBlock.cpp:101:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
WebCore/rendering/RenderBlock.cpp:101:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
WebCore/rendering/RenderBlock.cpp:102:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
WebCore/rendering/RenderBlock.cpp:1500:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
WebCore/rendering/RenderBlock.cpp:1539:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
WebCore/rendering/RenderBlock.cpp:1539:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
WebCore/rendering/RenderBlock.cpp:1708:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 8 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286496</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-09-28 13:28:31 -0700</bug_when>
    <thetext>Landed in r68556.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69094</attachid>
            <date>2010-09-28 13:23:02 -0700</date>
            <delta_ts>2010-09-28 13:26:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>21283</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2ODU1NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzcgQEAKKzIwMTAtMDktMjggIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Njc1MAorICAgICAgICAKKyAgICAg
ICAgUmVuYW1lIHRoZSBNYXJnaW5JbmZvIG1lbWJlcnMgYW5kIGZ1bmN0aW9ucyB0byBiZSBibG9j
ay1mbG93IGluZGVwZW5kZW50LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpNYXJnaW5JbmZvOjpNYXJnaW5JbmZv
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjphZGp1c3RQb3NpdGlvbmVkQmxvY2sp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkanVzdEZsb2F0aW5nQmxvY2spOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbGxhcHNlTWFyZ2lucyk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9jazo6Y2xlYXJGbG9hdHNJZk5lZWRlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6ZXN0aW1hdGVWZXJ0aWNhbFBvc2l0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJsb2NrOjpzZXRDb2xsYXBzZWRCb3R0b21NYXJnaW4pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmhhbmRsZUJvdHRvbU9mQmxvY2spOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxheW91dEJsb2NrQ2hpbGQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OmFwcGx5QWZ0ZXJCcmVhayk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6TWFyZ2luSW5mbzo6
c2V0QXRCZWZvcmVTaWRlT2ZCbG9jayk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6
TWFyZ2luSW5mbzo6c2V0QXRBZnRlclNpZGVPZkJsb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrOjpNYXJnaW5JbmZvOjpzZXRNYXJnaW5CZWZvcmVRdWlyayk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6TWFyZ2luSW5mbzo6c2V0TWFyZ2luQWZ0ZXJRdWlyayk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6TWFyZ2luSW5mbzo6c2V0RGV0ZXJtaW5lZE1h
cmdpbkJlZm9yZVF1aXJrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpNYXJnaW5J
bmZvOjphdEJlZm9yZVNpZGVPZkJsb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpNYXJnaW5JbmZvOjpjYW5Db2xsYXBzZVdpdGhNYXJnaW5CZWZvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2s6Ok1hcmdpbkluZm86OmNhbkNvbGxhcHNlV2l0aE1hcmdpbkFmdGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpNYXJnaW5JbmZvOjpjYW5Db2xsYXBz
ZU1hcmdpbkJlZm9yZVdpdGhDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6TWFyZ2luSW5mbzo6Y2FuQ29sbGFwc2VNYXJnaW5BZnRlcldpdGhDaGlsZHJlbik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6TWFyZ2luSW5mbzo6ZGV0ZXJtaW5lZE1hcmdpbkJl
Zm9yZVF1aXJrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpNYXJnaW5JbmZvOjpt
YXJnaW5CZWZvcmVRdWlyayk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6TWFyZ2lu
SW5mbzo6bWFyZ2luQWZ0ZXJRdWlyayk6CisKIDIwMTAtMDktMjggIERhbiBCZXJuc3RlaW4gIDxt
aXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDY4NDMwKQorKysgV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OCw3ICs3OCwxMiBA
QCBzdGF0aWMgaW50IGdEZWxheVVwZGF0ZVNjcm9sbEluZm8gPSAwOwogc3RhdGljIERlbGF5ZWRV
cGRhdGVTY3JvbGxJbmZvU2V0KiBnRGVsYXllZFVwZGF0ZVNjcm9sbEluZm9TZXQgPSAwOwogCiAv
LyBPdXIgTWFyZ2luSW5mbyBzdGF0ZSB1c2VkIHdoZW4gbGF5aW5nIG91dCBibG9jayBjaGlsZHJl
bi4KLVJlbmRlckJsb2NrOjpNYXJnaW5JbmZvOjpNYXJnaW5JbmZvKFJlbmRlckJsb2NrKiBibG9j
aywgaW50IHRvcCwgaW50IGJvdHRvbSkKK1JlbmRlckJsb2NrOjpNYXJnaW5JbmZvOjpNYXJnaW5J
bmZvKFJlbmRlckJsb2NrKiBibG9jaywgaW50IGJlZm9yZUJvcmRlclBhZGRpbmcsIGludCBhZnRl
ckJvcmRlclBhZGRpbmcpCisgICAgOiBtX2F0QmVmb3JlU2lkZU9mQmxvY2sodHJ1ZSkKKyAgICAs
IG1fYXRBZnRlclNpZGVPZkJsb2NrKGZhbHNlKQorICAgICwgbV9tYXJnaW5CZWZvcmVRdWlyayhm
YWxzZSkKKyAgICAsIG1fbWFyZ2luQWZ0ZXJRdWlyayhmYWxzZSkKKyAgICAsIG1fZGV0ZXJtaW5l
ZE1hcmdpbkJlZm9yZVF1aXJrKGZhbHNlKQogewogICAgIC8vIFdoZXRoZXIgb3Igbm90IHdlIGNh
biBjb2xsYXBzZSBvdXIgb3duIG1hcmdpbnMgd2l0aCBvdXIgY2hpbGRyZW4uICBXZSBkb24ndCBk
byB0aGlzCiAgICAgLy8gaWYgd2UgaGFkIGFueSBib3JkZXIvcGFkZGluZyAob2J2aW91c2x5KSwg
aWYgd2UncmUgdGhlIHJvb3Qgb3IgSFRNTCBlbGVtZW50cywgb3IgaWYKQEAgLTg3LDI1ICs5Miwy
MCBAQCBSZW5kZXJCbG9jazo6TWFyZ2luSW5mbzo6TWFyZ2luSW5mbyhSZW5kCiAgICAgICAgICYm
ICFibG9jay0+aXNGbG9hdGluZygpICYmICFibG9jay0+aXNUYWJsZUNlbGwoKSAmJiAhYmxvY2st
Pmhhc092ZXJmbG93Q2xpcCgpICYmICFibG9jay0+aXNJbmxpbmVCbG9ja09ySW5saW5lVGFibGUo
KQogICAgICAgICAmJiAhYmxvY2stPmlzQmxvY2tGbG93Um9vdCgpOwogCi0gICAgbV9jYW5Db2xs
YXBzZVRvcFdpdGhDaGlsZHJlbiA9IG1fY2FuQ29sbGFwc2VXaXRoQ2hpbGRyZW4gJiYgKHRvcCA9
PSAwKSAmJiBibG9jay0+c3R5bGUoKS0+bWFyZ2luVG9wQ29sbGFwc2UoKSAhPSBNU0VQQVJBVEU7
CisgICAgbV9jYW5Db2xsYXBzZU1hcmdpbkJlZm9yZVdpdGhDaGlsZHJlbiA9IG1fY2FuQ29sbGFw
c2VXaXRoQ2hpbGRyZW4gJiYgKGJlZm9yZUJvcmRlclBhZGRpbmcgPT0gMCkgJiYgYmxvY2stPnN0
eWxlKCktPm1hcmdpblRvcENvbGxhcHNlKCkgIT0gTVNFUEFSQVRFOwogCiAgICAgLy8gSWYgYW55
IGhlaWdodCBvdGhlciB0aGFuIGF1dG8gaXMgc3BlY2lmaWVkIGluIENTUywgdGhlbiB3ZSBkb24n
dCBjb2xsYXBzZSBvdXIgYm90dG9tCiAgICAgLy8gbWFyZ2lucyB3aXRoIG91ciBjaGlsZHJlbidz
IG1hcmdpbnMuICBUbyBkbyBvdGhlcndpc2Ugd291bGQgYmUgdG8gcmlzayBvZGQgdmlzdWFsCiAg
ICAgLy8gZWZmZWN0cyB3aGVuIHRoZSBjaGlsZHJlbiBvdmVyZmxvdyBvdXQgb2YgdGhlIHBhcmVu
dCBibG9jayBhbmQgeWV0IHN0aWxsIGNvbGxhcHNlCiAgICAgLy8gd2l0aCBpdC4gIFdlIGFsc28g
ZG9uJ3QgY29sbGFwc2UgaWYgd2UgaGF2ZSBhbnkgYm90dG9tIGJvcmRlci9wYWRkaW5nLgotICAg
IG1fY2FuQ29sbGFwc2VCb3R0b21XaXRoQ2hpbGRyZW4gPSBtX2NhbkNvbGxhcHNlV2l0aENoaWxk
cmVuICYmIChib3R0b20gPT0gMCkgJiYKLSAgICAgICAgKGJsb2NrLT5zdHlsZSgpLT5oZWlnaHQo
KS5pc0F1dG8oKSAmJiBibG9jay0+c3R5bGUoKS0+aGVpZ2h0KCkudmFsdWUoKSA9PSAwKSAmJiBi
bG9jay0+c3R5bGUoKS0+bWFyZ2luQm90dG9tQ29sbGFwc2UoKSAhPSBNU0VQQVJBVEU7CisgICAg
bV9jYW5Db2xsYXBzZU1hcmdpbkFmdGVyV2l0aENoaWxkcmVuID0gbV9jYW5Db2xsYXBzZVdpdGhD
aGlsZHJlbiAmJiAoYWZ0ZXJCb3JkZXJQYWRkaW5nID09IDApICYmCisgICAgICAgIChibG9jay0+
c3R5bGUoKS0+bG9naWNhbEhlaWdodCgpLmlzQXV0bygpICYmIGJsb2NrLT5zdHlsZSgpLT5sb2dp
Y2FsSGVpZ2h0KCkudmFsdWUoKSA9PSAwKSAmJiBibG9jay0+c3R5bGUoKS0+bWFyZ2luQm90dG9t
Q29sbGFwc2UoKSAhPSBNU0VQQVJBVEU7CiAgICAgCiAgICAgbV9xdWlya0NvbnRhaW5lciA9IGJs
b2NrLT5pc1RhYmxlQ2VsbCgpIHx8IGJsb2NrLT5pc0JvZHkoKSB8fCBibG9jay0+c3R5bGUoKS0+
bWFyZ2luVG9wQ29sbGFwc2UoKSA9PSBNRElTQ0FSRCB8fCAKICAgICAgICAgYmxvY2stPnN0eWxl
KCktPm1hcmdpbkJvdHRvbUNvbGxhcHNlKCkgPT0gTURJU0NBUkQ7CiAKLSAgICBtX2F0VG9wT2ZC
bG9jayA9IHRydWU7Ci0gICAgbV9hdEJvdHRvbU9mQmxvY2sgPSBmYWxzZTsKLQotICAgIG1fcG9z
TWFyZ2luID0gbV9jYW5Db2xsYXBzZVRvcFdpdGhDaGlsZHJlbiA/IGJsb2NrLT5tYXhUb3BNYXJn
aW4odHJ1ZSkgOiAwOwotICAgIG1fbmVnTWFyZ2luID0gbV9jYW5Db2xsYXBzZVRvcFdpdGhDaGls
ZHJlbiA/IGJsb2NrLT5tYXhUb3BNYXJnaW4oZmFsc2UpIDogMDsKLSAgICAKLSAgICBtX3RvcFF1
aXJrID0gbV9ib3R0b21RdWlyayA9IG1fZGV0ZXJtaW5lZFRvcFF1aXJrID0gZmFsc2U7CisgICAg
bV9wb3NNYXJnaW4gPSBtX2NhbkNvbGxhcHNlTWFyZ2luQmVmb3JlV2l0aENoaWxkcmVuID8gYmxv
Y2stPm1heFRvcE1hcmdpbih0cnVlKSA6IDA7CisgICAgbV9uZWdNYXJnaW4gPSBtX2NhbkNvbGxh
cHNlTWFyZ2luQWZ0ZXJXaXRoQ2hpbGRyZW4gPyBibG9jay0+bWF4VG9wTWFyZ2luKGZhbHNlKSA6
IDA7CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KQEAgLTEzMzIsNyArMTMzMiw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmFkanVzdFBvc2l0aW9u
ZWRCbG9jaygKIAogICAgIGlmIChjaGlsZC0+c3R5bGUoKS0+aGFzU3RhdGljWSgpKSB7CiAgICAg
ICAgIGludCB5ID0gaGVpZ2h0KCk7Ci0gICAgICAgIGlmICghbWFyZ2luSW5mby5jYW5Db2xsYXBz
ZVdpdGhUb3AoKSkgeworICAgICAgICBpZiAoIW1hcmdpbkluZm8uY2FuQ29sbGFwc2VXaXRoTWFy
Z2luQmVmb3JlKCkpIHsKICAgICAgICAgICAgIGNoaWxkLT5jb21wdXRlQmxvY2tEaXJlY3Rpb25N
YXJnaW5zKHRoaXMpOwogICAgICAgICAgICAgaW50IG1hcmdpblRvcCA9IGNoaWxkLT5tYXJnaW5U
b3AoKTsKICAgICAgICAgICAgIGludCBjb2xsYXBzZWRUb3BQb3MgPSBtYXJnaW5JbmZvLnBvc01h
cmdpbigpOwpAQCAtMTM2NiwxMCArMTM2NiwxMCBAQCB2b2lkIFJlbmRlckJsb2NrOjphZGp1c3RG
bG9hdGluZ0Jsb2NrKGNvCiAgICAgLy8gTm90ZSBhbHNvIHRoYXQgdGhlIHByZXZpb3VzIGZsb3cg
bWF5IGNvbGxhcHNlIGl0cyBtYXJnaW4gaW50byB0aGUgdG9wIG9mCiAgICAgLy8gb3VyIGJsb2Nr
LiAgSWYgdGhpcyBpcyB0aGUgY2FzZSwgdGhlbiB3ZSBkbyBub3QgYWRkIHRoZSBtYXJnaW4gaW4g
dG8gb3VyCiAgICAgLy8gaGVpZ2h0IHdoZW4gY29tcHV0aW5nIHRoZSBwb3NpdGlvbiBvZiB0aGUg
ZmxvYXQuICAgVGhpcyBjb25kaXRpb24gY2FuIGJlIHRlc3RlZAotICAgIC8vIGZvciBieSBzaW1w
bHkgY2FsbGluZyBjYW5Db2xsYXBzZVdpdGhUb3AuICBTZWUKKyAgICAvLyBmb3IgYnkgc2ltcGx5
IGNhbGxpbmcgY2FuQ29sbGFwc2VXaXRoTWFyZ2luQmVmb3JlLiAgU2VlCiAgICAgLy8gaHR0cDov
L3d3dy5oaXhpZS5jaC90ZXN0cy9hZGhvYy9jc3MvYm94L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS8w
NDYuaHRtbCBmb3IKICAgICAvLyBhbiBleGFtcGxlIG9mIHRoaXMgc2NlbmFyaW8uCi0gICAgaW50
IG1hcmdpbk9mZnNldCA9IG1hcmdpbkluZm8uY2FuQ29sbGFwc2VXaXRoVG9wKCkgPyAwIDogbWFy
Z2luSW5mby5tYXJnaW4oKTsKKyAgICBpbnQgbWFyZ2luT2Zmc2V0ID0gbWFyZ2luSW5mby5jYW5D
b2xsYXBzZVdpdGhNYXJnaW5CZWZvcmUoKSA/IDAgOiBtYXJnaW5JbmZvLm1hcmdpbigpOwogICAg
IHNldExvZ2ljYWxIZWlnaHQoaGVpZ2h0KCkgKyBtYXJnaW5PZmZzZXQpOwogICAgIHBvc2l0aW9u
TmV3RmxvYXRzKCk7CiAgICAgc2V0TG9naWNhbEhlaWdodChoZWlnaHQoKSAtIG1hcmdpbk9mZnNl
dCk7CkBAIC0xNDgwLDcgKzE0ODAsNyBAQCBpbnQgUmVuZGVyQmxvY2s6OmNvbGxhcHNlTWFyZ2lu
cyhSZW5kZXJCCiAgICAgLy8gbWFyZ2lucyB0aGF0IHdpbGwgY29sbGFwc2Ugd2l0aCB1cy4KICAg
ICBib29sIHRvcFF1aXJrID0gY2hpbGQtPmlzVG9wTWFyZ2luUXVpcmsoKSB8fCBzdHlsZSgpLT5t
YXJnaW5Ub3BDb2xsYXBzZSgpID09IE1ESVNDQVJEOwogCi0gICAgaWYgKG1hcmdpbkluZm8uY2Fu
Q29sbGFwc2VXaXRoVG9wKCkpIHsKKyAgICBpZiAobWFyZ2luSW5mby5jYW5Db2xsYXBzZVdpdGhN
YXJnaW5CZWZvcmUoKSkgewogICAgICAgICAvLyBUaGlzIGNoaWxkIGlzIGNvbGxhcHNpbmcgd2l0
aCB0aGUgdG9wIG9mIHRoZQogICAgICAgICAvLyBibG9jay4gIElmIGl0IGhhcyBsYXJnZXIgbWFy
Z2luIHZhbHVlcywgdGhlbiB3ZSBuZWVkIHRvIHVwZGF0ZQogICAgICAgICAvLyBvdXIgb3duIG1h
eGltYWwgdmFsdWVzLgpAQCAtMTQ5MSwxMiArMTQ5MSwxMiBAQCBpbnQgUmVuZGVyQmxvY2s6OmNv
bGxhcHNlTWFyZ2lucyhSZW5kZXJCCiAgICAgICAgIC8vIGNvbGxhcHNlIGl0IGF3YXksIGV2ZW4g
aWYgdGhlIG1hcmdpbiBpcyBzbWFsbGVyICh3d3cud2VicmVmZXJlbmNlLmNvbQogICAgICAgICAv
LyBoYXMgYW4gZXhhbXBsZSBvZiB0aGlzLCBhIDxkdD4gd2l0aCAwLjhlbSBhdXRob3Itc3BlY2lm
aWVkIGluc2lkZQogICAgICAgICAvLyBhIDxkbD4gaW5zaWRlIGEgPHRkPi4KLSAgICAgICAgaWYg
KCFtYXJnaW5JbmZvLmRldGVybWluZWRUb3BRdWlyaygpICYmICF0b3BRdWlyayAmJiAocG9zVG9w
LW5lZ1RvcCkpIHsKKyAgICAgICAgaWYgKCFtYXJnaW5JbmZvLmRldGVybWluZWRNYXJnaW5CZWZv
cmVRdWlyaygpICYmICF0b3BRdWlyayAmJiAocG9zVG9wLW5lZ1RvcCkpIHsKICAgICAgICAgICAg
IHNldFRvcE1hcmdpblF1aXJrKGZhbHNlKTsKLSAgICAgICAgICAgIG1hcmdpbkluZm8uc2V0RGV0
ZXJtaW5lZFRvcFF1aXJrKHRydWUpOworICAgICAgICAgICAgbWFyZ2luSW5mby5zZXREZXRlcm1p
bmVkTWFyZ2luQmVmb3JlUXVpcmsodHJ1ZSk7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoIW1h
cmdpbkluZm8uZGV0ZXJtaW5lZFRvcFF1aXJrKCkgJiYgdG9wUXVpcmsgJiYgbWFyZ2luVG9wKCkg
PT0gMCkKKyAgICAgICAgaWYgKCFtYXJnaW5JbmZvLmRldGVybWluZWRNYXJnaW5CZWZvcmVRdWly
aygpICYmIHRvcFF1aXJrICYmIG1hcmdpblRvcCgpID09IDApCiAgICAgICAgICAgICAvLyBXZSBo
YXZlIG5vIHRvcCBtYXJnaW4gYW5kIG91ciB0b3AgY2hpbGQgaGFzIGEgcXVpcmt5IG1hcmdpbi4K
ICAgICAgICAgICAgIC8vIFdlIHdpbGwgcGljayB1cCB0aGlzIHF1aXJreSBtYXJnaW4gYW5kIHBh
c3MgaXQgdGhyb3VnaC4KICAgICAgICAgICAgIC8vIFRoaXMgZGVhbHMgd2l0aCB0aGUgPHRkPjxk
aXY+PHA+IGNhc2UuCkBAIC0xNTA1LDggKzE1MDUsOCBAQCBpbnQgUmVuZGVyQmxvY2s6OmNvbGxh
cHNlTWFyZ2lucyhSZW5kZXJCCiAgICAgICAgICAgICBzZXRUb3BNYXJnaW5RdWlyayh0cnVlKTsK
ICAgICB9CiAKLSAgICBpZiAobWFyZ2luSW5mby5xdWlya0NvbnRhaW5lcigpICYmIG1hcmdpbklu
Zm8uYXRUb3BPZkJsb2NrKCkgJiYgKHBvc1RvcCAtIG5lZ1RvcCkpCi0gICAgICAgIG1hcmdpbklu
Zm8uc2V0VG9wUXVpcmsodG9wUXVpcmspOworICAgIGlmIChtYXJnaW5JbmZvLnF1aXJrQ29udGFp
bmVyKCkgJiYgbWFyZ2luSW5mby5hdEJlZm9yZVNpZGVPZkJsb2NrKCkgJiYgKHBvc1RvcCAtIG5l
Z1RvcCkpCisgICAgICAgIG1hcmdpbkluZm8uc2V0TWFyZ2luQmVmb3JlUXVpcmsodG9wUXVpcmsp
OwogCiAgICAgaW50IGJlZm9yZUNvbGxhcHNlWSA9IGhlaWdodCgpOwogICAgIGludCB5cG9zID0g
YmVmb3JlQ29sbGFwc2VZOwpAQCAtMTUyMyw3ICsxNTIzLDcgQEAgaW50IFJlbmRlckJsb2NrOjpj
b2xsYXBzZU1hcmdpbnMoUmVuZGVyQgogICAgICAgICBtYXJnaW5JbmZvLnNldFBvc01hcmdpbklm
TGFyZ2VyKGNoaWxkLT5tYXhCb3R0b21NYXJnaW4odHJ1ZSkpOwogICAgICAgICBtYXJnaW5JbmZv
LnNldE5lZ01hcmdpbklmTGFyZ2VyKGNoaWxkLT5tYXhCb3R0b21NYXJnaW4oZmFsc2UpKTsKIAot
ICAgICAgICBpZiAoIW1hcmdpbkluZm8uY2FuQ29sbGFwc2VXaXRoVG9wKCkpCisgICAgICAgIGlm
ICghbWFyZ2luSW5mby5jYW5Db2xsYXBzZVdpdGhNYXJnaW5CZWZvcmUoKSkKICAgICAgICAgICAg
IC8vIFdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBzZWxmLWNv
bGxhcHNpbmcgYmxvY2sKICAgICAgICAgICAgIC8vIGlzIGNvcnJlY3QsIHNpbmNlIGl0IGNvdWxk
IGhhdmUgb3ZlcmZsb3dpbmcgY29udGVudAogICAgICAgICAgICAgLy8gdGhhdCBuZWVkcyB0byBi
ZSBwb3NpdGlvbmVkIGNvcnJlY3RseSAoZS5nLiwgYSBibG9jayB0aGF0CkBAIC0xNTM1LDkgKzE1
MzUsOSBAQCBpbnQgUmVuZGVyQmxvY2s6OmNvbGxhcHNlTWFyZ2lucyhSZW5kZXJCCiAgICAgICAg
ICAgICBzZXRMb2dpY2FsSGVpZ2h0KGhlaWdodCgpICsgbWFyZ2luSW5mby5tYXJnaW4oKSArIGNo
aWxkLT5tYXJnaW5Ub3AoKSk7CiAgICAgICAgICAgICB5cG9zID0gaGVpZ2h0KCk7CiAgICAgICAg
IH0KLSAgICAgICAgZWxzZSBpZiAoIW1hcmdpbkluZm8uYXRUb3BPZkJsb2NrKCkgfHwKLSAgICAg
ICAgICAgICghbWFyZ2luSW5mby5jYW5Db2xsYXBzZVRvcFdpdGhDaGlsZHJlbigpCi0gICAgICAg
ICAgICAgJiYgKCFkb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSB8fCAhbWFyZ2luSW5mby5xdWly
a0NvbnRhaW5lcigpIHx8ICFtYXJnaW5JbmZvLnRvcFF1aXJrKCkpKSkgeworICAgICAgICBlbHNl
IGlmICghbWFyZ2luSW5mby5hdEJlZm9yZVNpZGVPZkJsb2NrKCkgfHwKKyAgICAgICAgICAgICgh
bWFyZ2luSW5mby5jYW5Db2xsYXBzZU1hcmdpbkJlZm9yZVdpdGhDaGlsZHJlbigpCisgICAgICAg
ICAgICAgJiYgKCFkb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSB8fCAhbWFyZ2luSW5mby5xdWly
a0NvbnRhaW5lcigpIHx8ICFtYXJnaW5JbmZvLm1hcmdpbkJlZm9yZVF1aXJrKCkpKSkgewogICAg
ICAgICAgICAgLy8gV2UncmUgY29sbGFwc2luZyB3aXRoIGEgcHJldmlvdXMgc2libGluZydzIG1h
cmdpbnMgYW5kIG5vdAogICAgICAgICAgICAgLy8gd2l0aCB0aGUgdG9wIG9mIHRoZSBibG9jay4K
ICAgICAgICAgICAgIHNldExvZ2ljYWxIZWlnaHQoaGVpZ2h0KCkgKyBtYXgobWFyZ2luSW5mby5w
b3NNYXJnaW4oKSwgcG9zVG9wKSAtIG1heChtYXJnaW5JbmZvLm5lZ01hcmdpbigpLCBuZWdUb3Ap
KTsKQEAgLTE1NDgsNyArMTU0OCw3IEBAIGludCBSZW5kZXJCbG9jazo6Y29sbGFwc2VNYXJnaW5z
KFJlbmRlckIKICAgICAgICAgbWFyZ2luSW5mby5zZXROZWdNYXJnaW4oY2hpbGQtPm1heEJvdHRv
bU1hcmdpbihmYWxzZSkpOwogCiAgICAgICAgIGlmIChtYXJnaW5JbmZvLm1hcmdpbigpKQotICAg
ICAgICAgICAgbWFyZ2luSW5mby5zZXRCb3R0b21RdWlyayhjaGlsZC0+aXNCb3R0b21NYXJnaW5R
dWlyaygpIHx8IHN0eWxlKCktPm1hcmdpbkJvdHRvbUNvbGxhcHNlKCkgPT0gTURJU0NBUkQpOwor
ICAgICAgICAgICAgbWFyZ2luSW5mby5zZXRNYXJnaW5BZnRlclF1aXJrKGNoaWxkLT5pc0JvdHRv
bU1hcmdpblF1aXJrKCkgfHwgc3R5bGUoKS0+bWFyZ2luQm90dG9tQ29sbGFwc2UoKSA9PSBNRElT
Q0FSRCk7CiAgICAgfQogICAgIAogICAgIC8vIElmIG1hcmdpbnMgd291bGQgcHVsbCB1cyBwYXN0
IHRoZSB0b3Agb2YgdGhlIG5leHQgcGFnZSwgdGhlbiB3ZSBuZWVkIHRvIHB1bGwgYmFjayBhbmQg
cHJldGVuZCBsaWtlIHRoZSBtYXJnaW5zCkBAIC0xNTk2LDE0ICsxNTk2LDE0IEBAIGludCBSZW5k
ZXJCbG9jazo6Y2xlYXJGbG9hdHNJZk5lZWRlZChSZW4KICAgICAgICAgLy8gSW5jcmVhc2Ugb3Vy
IGhlaWdodCBieSB0aGUgYW1vdW50IHdlIGhhZCB0byBjbGVhci4KICAgICAgICAgc2V0TG9naWNh
bEhlaWdodChoZWlnaHQoKSArIGhlaWdodEluY3JlYXNlKTsKICAgICAKLSAgICBpZiAobWFyZ2lu
SW5mby5jYW5Db2xsYXBzZVdpdGhUb3AoKSkgeworICAgIGlmIChtYXJnaW5JbmZvLmNhbkNvbGxh
cHNlV2l0aE1hcmdpbkJlZm9yZSgpKSB7CiAgICAgICAgIC8vIFdlIGNhbiBubyBsb25nZXIgY29s
bGFwc2Ugd2l0aCB0aGUgdG9wIG9mIHRoZSBibG9jayBzaW5jZSBhIGNsZWFyCiAgICAgICAgIC8v
IG9jY3VycmVkLiAgVGhlIGVtcHR5IGJsb2NrcyBjb2xsYXBzZSBpbnRvIHRoZSBjbGVhcmVkIGJs
b2NrLgogICAgICAgICAvLyBGSVhNRTogVGhpcyBpc24ndCBxdWl0ZSBjb3JyZWN0LiAgTmVlZCBj
bGFyaWZpY2F0aW9uIGZvciB3aGF0IHRvIGRvCiAgICAgICAgIC8vIGlmIHRoZSBoZWlnaHQgdGhl
IGNsZWFyZWQgYmxvY2sgaXMgb2Zmc2V0IGJ5IGlzIHNtYWxsZXIgdGhhbiB0aGUKICAgICAgICAg
Ly8gbWFyZ2lucyBpbnZvbHZlZC4KICAgICAgICAgc2V0TWF4VG9wTWFyZ2lucyhvbGRUb3BQb3NN
YXJnaW4sIG9sZFRvcE5lZ01hcmdpbik7Ci0gICAgICAgIG1hcmdpbkluZm8uc2V0QXRUb3BPZkJs
b2NrKGZhbHNlKTsKKyAgICAgICAgbWFyZ2luSW5mby5zZXRBdEJlZm9yZVNpZGVPZkJsb2NrKGZh
bHNlKTsKICAgICB9CiAgICAgCiAgICAgcmV0dXJuIHlQb3MgKyBoZWlnaHRJbmNyZWFzZTsKQEAg
LTE2MTQsNyArMTYxNCw3IEBAIGludCBSZW5kZXJCbG9jazo6ZXN0aW1hdGVWZXJ0aWNhbFBvc2l0
aW8KICAgICAvLyBGSVhNRTogV2UgbmVlZCB0byBlbGltaW5hdGUgdGhlIGVzdGltYXRpb24gb2Yg
dmVydGljYWwgcG9zaXRpb24sIGJlY2F1c2Ugd2hlbiBpdCdzIHdyb25nIHdlIHNvbWV0aW1lcyB0
cmlnZ2VyIGEgcGF0aG9sb2dpY2FsCiAgICAgLy8gcmVsYXlvdXQgaWYgdGhlcmUgYXJlIGludHJ1
ZGluZyBmbG9hdHMuCiAgICAgaW50IHlQb3NFc3RpbWF0ZSA9IGhlaWdodCgpOwotICAgIGlmICgh
bWFyZ2luSW5mby5jYW5Db2xsYXBzZVdpdGhUb3AoKSkgeworICAgIGlmICghbWFyZ2luSW5mby5j
YW5Db2xsYXBzZVdpdGhNYXJnaW5CZWZvcmUoKSkgewogICAgICAgICBpbnQgY2hpbGRNYXJnaW5U
b3AgPSBjaGlsZC0+c2VsZk5lZWRzTGF5b3V0KCkgPyBjaGlsZC0+bWFyZ2luVG9wKCkgOiBjaGls
ZC0+Y29sbGFwc2VkTWFyZ2luVG9wKCk7CiAgICAgICAgIHlQb3NFc3RpbWF0ZSArPSBtYXgobWFy
Z2luSW5mby5tYXJnaW4oKSwgY2hpbGRNYXJnaW5Ub3ApOwogICAgIH0KQEAgLTE2OTYsMTUgKzE2
OTYsMTUgQEAgdm9pZCBSZW5kZXJCbG9jazo6ZGV0ZXJtaW5lSG9yaXpvbnRhbFBvcwogCiB2b2lk
IFJlbmRlckJsb2NrOjpzZXRDb2xsYXBzZWRCb3R0b21NYXJnaW4oY29uc3QgTWFyZ2luSW5mbyYg
bWFyZ2luSW5mbykKIHsKLSAgICBpZiAobWFyZ2luSW5mby5jYW5Db2xsYXBzZVdpdGhCb3R0b20o
KSAmJiAhbWFyZ2luSW5mby5jYW5Db2xsYXBzZVdpdGhUb3AoKSkgeworICAgIGlmIChtYXJnaW5J
bmZvLmNhbkNvbGxhcHNlV2l0aE1hcmdpbkFmdGVyKCkgJiYgIW1hcmdpbkluZm8uY2FuQ29sbGFw
c2VXaXRoTWFyZ2luQmVmb3JlKCkpIHsKICAgICAgICAgLy8gVXBkYXRlIG91ciBtYXggcG9zL25l
ZyBib3R0b20gbWFyZ2lucywgc2luY2Ugd2UgY29sbGFwc2VkIG91ciBib3R0b20gbWFyZ2lucwog
ICAgICAgICAvLyB3aXRoIG91ciBjaGlsZHJlbi4KICAgICAgICAgc2V0TWF4Qm90dG9tTWFyZ2lu
cyhtYXgobWF4Qm90dG9tUG9zTWFyZ2luKCksIG1hcmdpbkluZm8ucG9zTWFyZ2luKCkpLCBtYXgo
bWF4Qm90dG9tTmVnTWFyZ2luKCksIG1hcmdpbkluZm8ubmVnTWFyZ2luKCkpKTsKIAotICAgICAg
ICBpZiAoIW1hcmdpbkluZm8uYm90dG9tUXVpcmsoKSkKKyAgICAgICAgaWYgKCFtYXJnaW5JbmZv
Lm1hcmdpbkFmdGVyUXVpcmsoKSkKICAgICAgICAgICAgIHNldEJvdHRvbU1hcmdpblF1aXJrKGZh
bHNlKTsKIAotICAgICAgICBpZiAobWFyZ2luSW5mby5ib3R0b21RdWlyaygpICYmIG1hcmdpbkJv
dHRvbSgpID09IDApCisgICAgICAgIGlmIChtYXJnaW5JbmZvLm1hcmdpbkFmdGVyUXVpcmsoKSAm
JiBtYXJnaW5Cb3R0b20oKSA9PSAwKQogICAgICAgICAgICAgLy8gV2UgaGF2ZSBubyBib3R0b20g
bWFyZ2luIGFuZCBvdXIgbGFzdCBjaGlsZCBoYXMgYSBxdWlya3kgbWFyZ2luLgogICAgICAgICAg
ICAgLy8gV2Ugd2lsbCBwaWNrIHVwIHRoaXMgcXVpcmt5IG1hcmdpbiBhbmQgcGFzcyBpdCB0aHJv
dWdoLgogICAgICAgICAgICAgLy8gVGhpcyBkZWFscyB3aXRoIHRoZSA8dGQ+PGRpdj48cD4gY2Fz
ZS4KQEAgLTE3MTQsMTEgKzE3MTQsMTEgQEAgdm9pZCBSZW5kZXJCbG9jazo6c2V0Q29sbGFwc2Vk
Qm90dG9tTWFyZwogCiB2b2lkIFJlbmRlckJsb2NrOjpoYW5kbGVCb3R0b21PZkJsb2NrKGludCB0
b3AsIGludCBib3R0b20sIE1hcmdpbkluZm8mIG1hcmdpbkluZm8pCiB7Ci0gICAgbWFyZ2luSW5m
by5zZXRBdEJvdHRvbU9mQmxvY2sodHJ1ZSk7CisgICAgbWFyZ2luSW5mby5zZXRBdEFmdGVyU2lk
ZU9mQmxvY2sodHJ1ZSk7CiAKICAgICAvLyBJZiB3ZSBjYW4ndCBjb2xsYXBzZSB3aXRoIGNoaWxk
cmVuIHRoZW4gZ28gYWhlYWQgYW5kIGFkZCBpbiB0aGUgYm90dG9tIG1hcmdpbi4KLSAgICBpZiAo
IW1hcmdpbkluZm8uY2FuQ29sbGFwc2VXaXRoQm90dG9tKCkgJiYgIW1hcmdpbkluZm8uY2FuQ29s
bGFwc2VXaXRoVG9wKCkKLSAgICAgICAgJiYgKCFkb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSB8
fCAhbWFyZ2luSW5mby5xdWlya0NvbnRhaW5lcigpIHx8ICFtYXJnaW5JbmZvLmJvdHRvbVF1aXJr
KCkpKQorICAgIGlmICghbWFyZ2luSW5mby5jYW5Db2xsYXBzZVdpdGhNYXJnaW5BZnRlcigpICYm
ICFtYXJnaW5JbmZvLmNhbkNvbGxhcHNlV2l0aE1hcmdpbkJlZm9yZSgpCisgICAgICAgICYmICgh
ZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCkgfHwgIW1hcmdpbkluZm8ucXVpcmtDb250YWluZXIo
KSB8fCAhbWFyZ2luSW5mby5tYXJnaW5BZnRlclF1aXJrKCkpKQogICAgICAgICBzZXRMb2dpY2Fs
SGVpZ2h0KGhlaWdodCgpICsgbWFyZ2luSW5mby5tYXJnaW4oKSk7CiAgICAgICAgIAogICAgIC8v
IE5vdyBhZGQgaW4gb3VyIGJvdHRvbSBib3JkZXIvcGFkZGluZy4KQEAgLTE4MTAsNyArMTgxMCw3
IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dEJsb2NrQ2hpbGQoUmVuZGUKIAogICAgIC8vIERv
IG5vdCBhbGxvdyBhIGNvbGxhcHNlIGlmIHRoZSBtYXJnaW4gdG9wIGNvbGxhcHNlIHN0eWxlIGlz
IHNldCB0byBTRVBBUkFURS4KICAgICBpZiAoY2hpbGQtPnN0eWxlKCktPm1hcmdpblRvcENvbGxh
cHNlKCkgPT0gTVNFUEFSQVRFKSB7Ci0gICAgICAgIG1hcmdpbkluZm8uc2V0QXRUb3BPZkJsb2Nr
KGZhbHNlKTsKKyAgICAgICAgbWFyZ2luSW5mby5zZXRBdEJlZm9yZVNpZGVPZkJsb2NrKGZhbHNl
KTsKICAgICAgICAgbWFyZ2luSW5mby5jbGVhck1hcmdpbigpOwogICAgIH0KIApAQCAtMTg1Niw3
ICsxODU2LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2tDaGlsZChSZW5kZQogICAg
ICAgICBjaGlsZC0+bGF5b3V0KCk7CiAKICAgICAvLyBDYWNoZSBpZiB3ZSBhcmUgYXQgdGhlIHRv
cCBvZiB0aGUgYmxvY2sgcmlnaHQgbm93LgotICAgIGJvb2wgYXRUb3BPZkJsb2NrID0gbWFyZ2lu
SW5mby5hdFRvcE9mQmxvY2soKTsKKyAgICBib29sIGF0QmVmb3JlU2lkZU9mQmxvY2sgPSBtYXJn
aW5JbmZvLmF0QmVmb3JlU2lkZU9mQmxvY2soKTsKIAogICAgIC8vIE5vdyBkZXRlcm1pbmUgdGhl
IGNvcnJlY3QgeXBvcyBiYXNlZCBvZmYgZXhhbWluYXRpb24gb2YgY29sbGFwc2luZyBtYXJnaW4K
ICAgICAvLyB2YWx1ZXMuCkBAIC0xODg1LDcgKzE4ODUsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjps
YXlvdXRCbG9ja0NoaWxkKFJlbmRlCiAgICAgICAgIGlmIChwYWdpbmF0aW9uU3RydXQpIHsKICAg
ICAgICAgICAgIC8vIFdlIGFyZSB3aWxsaW5nIHRvIHByb3BhZ2F0ZSBvdXQgdG8gb3VyIHBhcmVu
dCBibG9jayBhcyBsb25nIGFzIHdlIHdlcmUgYXQgdGhlIHRvcCBvZiB0aGUgYmxvY2sgcHJpb3IK
ICAgICAgICAgICAgIC8vIHRvIGNvbGxhcHNpbmcgb3VyIG1hcmdpbnMsIGFuZCBhcyBsb25nIGFz
IHdlIGRpZG4ndCBjbGVhciBvciBtb3ZlIGFzIGEgcmVzdWx0IG9mIG90aGVyIHBhZ2luYXRpb24u
Ci0gICAgICAgICAgICBpZiAoYXRUb3BPZkJsb2NrICYmIG9sZFkgPT0geUJlZm9yZUNsZWFyICYm
ICFpc1Bvc2l0aW9uZWQoKSAmJiAhaXNUYWJsZUNlbGwoKSkgeworICAgICAgICAgICAgaWYgKGF0
QmVmb3JlU2lkZU9mQmxvY2sgJiYgb2xkWSA9PSB5QmVmb3JlQ2xlYXIgJiYgIWlzUG9zaXRpb25l
ZCgpICYmICFpc1RhYmxlQ2VsbCgpKSB7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IFNob3Vs
ZCByZWFsbHkgY2hlY2sgaWYgd2UncmUgZXhjZWVkaW5nIHRoZSBwYWdlIGhlaWdodCBiZWZvcmUg
cHJvcGFnYXRpbmcgdGhlIHN0cnV0LCBidXQgd2UgZG9uJ3QKICAgICAgICAgICAgICAgICAvLyBo
YXZlIGFsbCB0aGUgaW5mb3JtYXRpb24gdG8gZG8gc28gKHRoZSBzdHJ1dCBvbmx5IGhhcyB0aGUg
cmVtYWluaW5nIGFtb3VudCB0byBwdXNoKS4gIEdlY2tvIGdldHMgdGhpcyB3cm9uZyB0b28KICAg
ICAgICAgICAgICAgICAvLyBhbmQgcHVzaGVzIHRvIHRoZSBuZXh0IHBhZ2UgYW55d2F5LCBzbyBu
b3QgdG9vIGNvbmNlcm5lZCBhYm91dCBpdC4KQEAgLTE5MjUsOCArMTkyNSw4IEBAIHZvaWQgUmVu
ZGVyQmxvY2s6OmxheW91dEJsb2NrQ2hpbGQoUmVuZGUKIAogICAgIC8vIFdlIGFyZSBubyBsb25n
ZXIgYXQgdGhlIHRvcCBvZiB0aGUgYmxvY2sgaWYgd2UgZW5jb3VudGVyIGEgbm9uLWVtcHR5IGNo
aWxkLiAgCiAgICAgLy8gVGhpcyBoYXMgdG8gYmUgZG9uZSBhZnRlciBjaGVja2luZyBmb3IgY2xl
YXIsIHNvIHRoYXQgbWFyZ2lucyBjYW4gYmUgcmVzZXQgaWYgYSBjbGVhciBvY2N1cnJlZC4KLSAg
ICBpZiAobWFyZ2luSW5mby5hdFRvcE9mQmxvY2soKSAmJiAhY2hpbGQtPmlzU2VsZkNvbGxhcHNp
bmdCbG9jaygpKQotICAgICAgICBtYXJnaW5JbmZvLnNldEF0VG9wT2ZCbG9jayhmYWxzZSk7Cisg
ICAgaWYgKG1hcmdpbkluZm8uYXRCZWZvcmVTaWRlT2ZCbG9jaygpICYmICFjaGlsZC0+aXNTZWxm
Q29sbGFwc2luZ0Jsb2NrKCkpCisgICAgICAgIG1hcmdpbkluZm8uc2V0QXRCZWZvcmVTaWRlT2ZC
bG9jayhmYWxzZSk7CiAKICAgICAvLyBOb3cgcGxhY2UgdGhlIGNoaWxkIGluIHRoZSBjb3JyZWN0
IGhvcml6b250YWwgcG9zaXRpb24KICAgICBkZXRlcm1pbmVIb3Jpem9udGFsUG9zaXRpb24oY2hp
bGQpOwpAQCAtNTkzMyw3ICs1OTMzLDcgQEAgaW50IFJlbmRlckJsb2NrOjphcHBseUFmdGVyQnJl
YWsoUmVuZGVyQgogICAgIGJvb2wgY2hlY2tQYWdlQnJlYWtzID0gIWNoZWNrQ29sdW1uQnJlYWtz
ICYmIHZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+bV9wYWdlSGVpZ2h0OyAvLyBGSVhNRTogT25jZSBj
b2x1bW5zIGNhbiBwcmludCB3ZSBoYXZlIHRvIGNoZWNrIHRoaXMuCiAgICAgYm9vbCBjaGVja0Fm
dGVyQWx3YXlzID0gKGNoZWNrQ29sdW1uQnJlYWtzICYmIGNoaWxkLT5zdHlsZSgpLT5jb2x1bW5C
cmVha0FmdGVyKCkgPT0gUEJBTFdBWVMpIHx8IChjaGVja1BhZ2VCcmVha3MgJiYgY2hpbGQtPnN0
eWxlKCktPnBhZ2VCcmVha0FmdGVyKCkgPT0gUEJBTFdBWVMpOwogICAgIGlmIChjaGVja0FmdGVy
QWx3YXlzICYmIGluTm9ybWFsRmxvdyhjaGlsZCkpIHsKLSAgICAgICAgbWFyZ2luSW5mby5zZXRC
b3R0b21RdWlyayh0cnVlKTsgLy8gQ2F1c2UgbWFyZ2lucyB0byBiZSBkaXNjYXJkZWQgZm9yIGFu
eSBmb2xsb3dpbmcgY29udGVudC4KKyAgICAgICAgbWFyZ2luSW5mby5zZXRNYXJnaW5BZnRlclF1
aXJrKHRydWUpOyAvLyBDYXVzZSBtYXJnaW5zIHRvIGJlIGRpc2NhcmRlZCBmb3IgYW55IGZvbGxv
d2luZyBjb250ZW50LgogICAgICAgICBpZiAoY2hlY2tDb2x1bW5CcmVha3MpCiAgICAgICAgICAg
ICB2aWV3KCktPmxheW91dFN0YXRlKCktPmFkZEZvcmNlZENvbHVtbkJyZWFrKHlQb3MpOwogICAg
ICAgICByZXR1cm4gbmV4dFBhZ2VUb3AoeVBvcyk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmgJKHJldmlzaW9uIDY4NDE3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAko
d29ya2luZyBjb3B5KQpAQCAtNDk0LDggKzQ5NCw4IEBAIHByaXZhdGU6CiAgICAgY2xhc3MgTWFy
Z2luSW5mbyB7CiAgICAgICAgIC8vIENvbGxhcHNpbmcgZmxhZ3MgZm9yIHdoZXRoZXIgd2UgY2Fu
IGNvbGxhcHNlIG91ciBtYXJnaW5zIHdpdGggb3VyIGNoaWxkcmVuJ3MgbWFyZ2lucy4KICAgICAg
ICAgYm9vbCBtX2NhbkNvbGxhcHNlV2l0aENoaWxkcmVuIDogMTsKLSAgICAgICAgYm9vbCBtX2Nh
bkNvbGxhcHNlVG9wV2l0aENoaWxkcmVuIDogMTsKLSAgICAgICAgYm9vbCBtX2NhbkNvbGxhcHNl
Qm90dG9tV2l0aENoaWxkcmVuIDogMTsKKyAgICAgICAgYm9vbCBtX2NhbkNvbGxhcHNlTWFyZ2lu
QmVmb3JlV2l0aENoaWxkcmVuIDogMTsKKyAgICAgICAgYm9vbCBtX2NhbkNvbGxhcHNlTWFyZ2lu
QWZ0ZXJXaXRoQ2hpbGRyZW4gOiAxOwogCiAgICAgICAgIC8vIFdoZXRoZXIgb3Igbm90IHdlIGFy
ZSBhIHF1aXJreSBjb250YWluZXIsIGkuZS4sIGRvIHdlIGNvbGxhcHNlIGF3YXkgdG9wIGFuZCBi
b3R0b20KICAgICAgICAgLy8gbWFyZ2lucyBpbiBvdXIgY29udGFpbmVyLiAgVGFibGUgY2VsbHMg
YW5kIHRoZSBib2R5IGFyZSB0aGUgY29tbW9uIGV4YW1wbGVzLiBXZQpAQCAtNTA2LDMwICs1MDYs
MzAgQEAgcHJpdmF0ZToKICAgICAgICAgLy8gVGhleSBtYXkgb3IgbWF5IG5vdCBjb2xsYXBzZSB3
aXRoIHRoZSB0b3AgbWFyZ2luIG9mIHRoZSBibG9jayAofG1fY2FuQ29sbGFwc2VUb3BXaXRoQ2hp
bGRyZW58IHRlbGxzIHVzIHRoYXQpLCBidXQgdGhleSB3aWxsCiAgICAgICAgIC8vIGFsd2F5cyBi
ZSBjb2xsYXBzaW5nIHdpdGggb25lIGFub3RoZXIuICBUaGlzIHZhcmlhYmxlIGNhbiByZW1haW4g
c2V0IHRvIHRydWUgdGhyb3VnaCBtdWx0aXBsZSBpdGVyYXRpb25zIAogICAgICAgICAvLyBhcyBs
b25nIGFzIHdlIGtlZXAgZW5jb3VudGVyaW5nIHNlbGYtY29sbGFwc2luZyBibG9ja3MuCi0gICAg
ICAgIGJvb2wgbV9hdFRvcE9mQmxvY2sgOiAxOworICAgICAgICBib29sIG1fYXRCZWZvcmVTaWRl
T2ZCbG9jayA6IDE7CiAKICAgICAgICAgLy8gVGhpcyBmbGFnIGlzIHNldCB3aGVuIHdlIGtub3cg
d2UncmUgZXhhbWluaW5nIGJvdHRvbSBtYXJnaW5zIGFuZCB3ZSBrbm93IHdlJ3JlIGF0IHRoZSBi
b3R0b20gb2YgdGhlIGJsb2NrLgotICAgICAgICBib29sIG1fYXRCb3R0b21PZkJsb2NrIDogMTsK
KyAgICAgICAgYm9vbCBtX2F0QWZ0ZXJTaWRlT2ZCbG9jayA6IDE7CiAKICAgICAgICAgLy8gVGhl
c2UgdmFyaWFibGVzIGFyZSB1c2VkIHRvIGRldGVjdCBxdWlya3kgbWFyZ2lucyB0aGF0IHdlIG5l
ZWQgdG8gY29sbGFwc2UgYXdheSAoaW4gdGFibGUgY2VsbHMKICAgICAgICAgLy8gYW5kIGluIHRo
ZSBib2R5IGVsZW1lbnQpLgotICAgICAgICBib29sIG1fdG9wUXVpcmsgOiAxOwotICAgICAgICBi
b29sIG1fYm90dG9tUXVpcmsgOiAxOwotICAgICAgICBib29sIG1fZGV0ZXJtaW5lZFRvcFF1aXJr
IDogMTsKKyAgICAgICAgYm9vbCBtX21hcmdpbkJlZm9yZVF1aXJrIDogMTsKKyAgICAgICAgYm9v
bCBtX21hcmdpbkFmdGVyUXVpcmsgOiAxOworICAgICAgICBib29sIG1fZGV0ZXJtaW5lZE1hcmdp
bkJlZm9yZVF1aXJrIDogMTsKIAogICAgICAgICAvLyBUaGVzZSBmbGFncyB0cmFjayB0aGUgcHJl
dmlvdXMgbWF4aW1hbCBwb3NpdGl2ZSBhbmQgbmVnYXRpdmUgbWFyZ2lucy4KICAgICAgICAgaW50
IG1fcG9zTWFyZ2luOwogICAgICAgICBpbnQgbV9uZWdNYXJnaW47CiAKICAgICBwdWJsaWM6Ci0g
ICAgICAgIE1hcmdpbkluZm8oUmVuZGVyQmxvY2sqIGIsIGludCB0b3AsIGludCBib3R0b20pOwor
ICAgICAgICBNYXJnaW5JbmZvKFJlbmRlckJsb2NrKiBiLCBpbnQgYmVmb3JlQm9yZGVyUGFkZGlu
ZywgaW50IGFmdGVyQm9yZGVyUGFkZGluZyk7CiAKLSAgICAgICAgdm9pZCBzZXRBdFRvcE9mQmxv
Y2soYm9vbCBiKSB7IG1fYXRUb3BPZkJsb2NrID0gYjsgfQotICAgICAgICB2b2lkIHNldEF0Qm90
dG9tT2ZCbG9jayhib29sIGIpIHsgbV9hdEJvdHRvbU9mQmxvY2sgPSBiOyB9CisgICAgICAgIHZv
aWQgc2V0QXRCZWZvcmVTaWRlT2ZCbG9jayhib29sIGIpIHsgbV9hdEJlZm9yZVNpZGVPZkJsb2Nr
ID0gYjsgfQorICAgICAgICB2b2lkIHNldEF0QWZ0ZXJTaWRlT2ZCbG9jayhib29sIGIpIHsgbV9h
dEFmdGVyU2lkZU9mQmxvY2sgPSBiOyB9CiAgICAgICAgIHZvaWQgY2xlYXJNYXJnaW4oKSB7IG1f
cG9zTWFyZ2luID0gbV9uZWdNYXJnaW4gPSAwOyB9Ci0gICAgICAgIHZvaWQgc2V0VG9wUXVpcmso
Ym9vbCBiKSB7IG1fdG9wUXVpcmsgPSBiOyB9Ci0gICAgICAgIHZvaWQgc2V0Qm90dG9tUXVpcmso
Ym9vbCBiKSB7IG1fYm90dG9tUXVpcmsgPSBiOyB9Ci0gICAgICAgIHZvaWQgc2V0RGV0ZXJtaW5l
ZFRvcFF1aXJrKGJvb2wgYikgeyBtX2RldGVybWluZWRUb3BRdWlyayA9IGI7IH0KKyAgICAgICAg
dm9pZCBzZXRNYXJnaW5CZWZvcmVRdWlyayhib29sIGIpIHsgbV9tYXJnaW5CZWZvcmVRdWlyayA9
IGI7IH0KKyAgICAgICAgdm9pZCBzZXRNYXJnaW5BZnRlclF1aXJrKGJvb2wgYikgeyBtX21hcmdp
bkFmdGVyUXVpcmsgPSBiOyB9CisgICAgICAgIHZvaWQgc2V0RGV0ZXJtaW5lZE1hcmdpbkJlZm9y
ZVF1aXJrKGJvb2wgYikgeyBtX2RldGVybWluZWRNYXJnaW5CZWZvcmVRdWlyayA9IGI7IH0KICAg
ICAgICAgdm9pZCBzZXRQb3NNYXJnaW4oaW50IHApIHsgbV9wb3NNYXJnaW4gPSBwOyB9CiAgICAg
ICAgIHZvaWQgc2V0TmVnTWFyZ2luKGludCBuKSB7IG1fbmVnTWFyZ2luID0gbjsgfQogICAgICAg
ICB2b2lkIHNldFBvc01hcmdpbklmTGFyZ2VyKGludCBwKSB7IGlmIChwID4gbV9wb3NNYXJnaW4p
IG1fcG9zTWFyZ2luID0gcDsgfQpAQCAtNTM3LDE1ICs1MzcsMTUgQEAgcHJpdmF0ZToKIAogICAg
ICAgICB2b2lkIHNldE1hcmdpbihpbnQgcCwgaW50IG4pIHsgbV9wb3NNYXJnaW4gPSBwOyBtX25l
Z01hcmdpbiA9IG47IH0KIAotICAgICAgICBib29sIGF0VG9wT2ZCbG9jaygpIGNvbnN0IHsgcmV0
dXJuIG1fYXRUb3BPZkJsb2NrOyB9Ci0gICAgICAgIGJvb2wgY2FuQ29sbGFwc2VXaXRoVG9wKCkg
Y29uc3QgeyByZXR1cm4gbV9hdFRvcE9mQmxvY2sgJiYgbV9jYW5Db2xsYXBzZVRvcFdpdGhDaGls
ZHJlbjsgfQotICAgICAgICBib29sIGNhbkNvbGxhcHNlV2l0aEJvdHRvbSgpIGNvbnN0IHsgcmV0
dXJuIG1fYXRCb3R0b21PZkJsb2NrICYmIG1fY2FuQ29sbGFwc2VCb3R0b21XaXRoQ2hpbGRyZW47
IH0KLSAgICAgICAgYm9vbCBjYW5Db2xsYXBzZVRvcFdpdGhDaGlsZHJlbigpIGNvbnN0IHsgcmV0
dXJuIG1fY2FuQ29sbGFwc2VUb3BXaXRoQ2hpbGRyZW47IH0KLSAgICAgICAgYm9vbCBjYW5Db2xs
YXBzZUJvdHRvbVdpdGhDaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1fY2FuQ29sbGFwc2VCb3R0
b21XaXRoQ2hpbGRyZW47IH0KKyAgICAgICAgYm9vbCBhdEJlZm9yZVNpZGVPZkJsb2NrKCkgY29u
c3QgeyByZXR1cm4gbV9hdEJlZm9yZVNpZGVPZkJsb2NrOyB9CisgICAgICAgIGJvb2wgY2FuQ29s
bGFwc2VXaXRoTWFyZ2luQmVmb3JlKCkgY29uc3QgeyByZXR1cm4gbV9hdEJlZm9yZVNpZGVPZkJs
b2NrICYmIG1fY2FuQ29sbGFwc2VNYXJnaW5CZWZvcmVXaXRoQ2hpbGRyZW47IH0KKyAgICAgICAg
Ym9vbCBjYW5Db2xsYXBzZVdpdGhNYXJnaW5BZnRlcigpIGNvbnN0IHsgcmV0dXJuIG1fYXRBZnRl
clNpZGVPZkJsb2NrICYmIG1fY2FuQ29sbGFwc2VNYXJnaW5BZnRlcldpdGhDaGlsZHJlbjsgfQor
ICAgICAgICBib29sIGNhbkNvbGxhcHNlTWFyZ2luQmVmb3JlV2l0aENoaWxkcmVuKCkgY29uc3Qg
eyByZXR1cm4gbV9jYW5Db2xsYXBzZU1hcmdpbkJlZm9yZVdpdGhDaGlsZHJlbjsgfQorICAgICAg
ICBib29sIGNhbkNvbGxhcHNlTWFyZ2luQWZ0ZXJXaXRoQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVy
biBtX2NhbkNvbGxhcHNlTWFyZ2luQWZ0ZXJXaXRoQ2hpbGRyZW47IH0KICAgICAgICAgYm9vbCBx
dWlya0NvbnRhaW5lcigpIGNvbnN0IHsgcmV0dXJuIG1fcXVpcmtDb250YWluZXI7IH0KLSAgICAg
ICAgYm9vbCBkZXRlcm1pbmVkVG9wUXVpcmsoKSBjb25zdCB7IHJldHVybiBtX2RldGVybWluZWRU
b3BRdWlyazsgfQotICAgICAgICBib29sIHRvcFF1aXJrKCkgY29uc3QgeyByZXR1cm4gbV90b3BR
dWlyazsgfQotICAgICAgICBib29sIGJvdHRvbVF1aXJrKCkgY29uc3QgeyByZXR1cm4gbV9ib3R0
b21RdWlyazsgfQorICAgICAgICBib29sIGRldGVybWluZWRNYXJnaW5CZWZvcmVRdWlyaygpIGNv
bnN0IHsgcmV0dXJuIG1fZGV0ZXJtaW5lZE1hcmdpbkJlZm9yZVF1aXJrOyB9CisgICAgICAgIGJv
b2wgbWFyZ2luQmVmb3JlUXVpcmsoKSBjb25zdCB7IHJldHVybiBtX21hcmdpbkJlZm9yZVF1aXJr
OyB9CisgICAgICAgIGJvb2wgbWFyZ2luQWZ0ZXJRdWlyaygpIGNvbnN0IHsgcmV0dXJuIG1fbWFy
Z2luQWZ0ZXJRdWlyazsgfQogICAgICAgICBpbnQgcG9zTWFyZ2luKCkgY29uc3QgeyByZXR1cm4g
bV9wb3NNYXJnaW47IH0KICAgICAgICAgaW50IG5lZ01hcmdpbigpIGNvbnN0IHsgcmV0dXJuIG1f
bmVnTWFyZ2luOyB9CiAgICAgICAgIGludCBtYXJnaW4oKSBjb25zdCB7IHJldHVybiBtX3Bvc01h
cmdpbiAtIG1fbmVnTWFyZ2luOyB9Cg==
</data>
<flag name="review"
          id="58726"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>