<?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>6142</bug_id>
          
          <creation_ts>2005-12-18 14:41:37 -0800</creation_ts>
          <short_desc>intermittent failures in some paste tests</short_desc>
          <delta_ts>2005-12-21 20:10:06 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>justin.garcia</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>26146</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-12-18 14:41:37 -0800</bug_when>
    <thetext>I tracked down some intermittent failures in some paste-related tests to the fact that the tests are running 
early, when all style is &quot;display: none&quot; as part of our &quot;FOUC-prevention&quot;. There&apos;s a simple fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26147</commentid>
    <comment_count>1</comment_count>
      <attachid>5143</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-12-18 14:54:57 -0800</bug_when>
    <thetext>Created attachment 5143
use the more powerful flavor of updateLayout in cases that warrant it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26298</commentid>
    <comment_count>2</comment_count>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2005-12-21 01:04:53 -0800</bug_when>
    <thetext>So the vanilla updateLayout() will use display:none for an element whose style depends on a pending 
stylesheet?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26311</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-12-21 10:07:06 -0800</bug_when>
    <thetext>Yes. See the code at the start of CSSStyleSelector::styleForElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26324</commentid>
    <comment_count>4</comment_count>
      <attachid>5143</attachid>
    <who name="Justin Garcia">justin.garcia</who>
    <bug_when>2005-12-21 14:22:00 -0800</bug_when>
    <thetext>Comment on attachment 5143
use the more powerful flavor of updateLayout in cases that warrant it

r=me</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>5143</attachid>
            <date>2005-12-18 14:54:57 -0800</date>
            <delta_ts>2005-12-21 14:22:00 -0800</delta_ts>
            <desc>use the more powerful flavor of updateLayout in cases that warrant it</desc>
            <filename>EditingLayoutPatch.txt</filename>
            <type>text/plain</type>
            <size>21181</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL2VkaXRpbmcvYXBwbHlfc3R5bGVfY29tbWFuZC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS
Q1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwvZWRpdGluZy9hcHBseV9zdHlsZV9jb21t
YW5kLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xOQpkaWZmIC1wIC11IC1yMS4xOSBraHRt
bC9lZGl0aW5nL2FwcGx5X3N0eWxlX2NvbW1hbmQuY3BwCi0tLSBraHRtbC9lZGl0aW5nL2FwcGx5
X3N0eWxlX2NvbW1hbmQuY3BwCTEgRGVjIDIwMDUgMTA6MzI6MTQgLTAwMDAJMS4xOQorKysga2h0
bWwvZWRpdGluZy9hcHBseV9zdHlsZV9jb21tYW5kLmNwcAkxOCBEZWMgMjAwNSAyMjo0NTowNCAt
MDAwMApAQCAtMzI2LDcgKzMyNiw3IEBAIHZvaWQgQXBwbHlTdHlsZUNvbW1hbmQ6OmFwcGx5Qmxv
Y2tTdHlsZSgKICAgICAvLyB1cGRhdGUgZG9jdW1lbnQgbGF5b3V0IG9uY2UgYmVmb3JlIHJlbW92
aW5nIHN0eWxlcwogICAgIC8vIHNvIHRoYXQgd2UgYXZvaWQgdGhlIGV4cGVuc2Ugb2YgdXBkYXRp
bmcgYmVmb3JlIGVhY2ggYW5kIGV2ZXJ5IGNhbGwKICAgICAvLyB0byBjaGVjayBhIGNvbXB1dGVk
IHN0eWxlCi0gICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7CisgICAgdXBkYXRlTGF5b3V0
KCk7CiAKICAgICAvLyBnZXQgcG9zaXRpb25zIHdlIHdhbnQgdG8gdXNlIGZvciBhcHBseWluZyBz
dHlsZQogICAgIFBvc2l0aW9uIHN0YXJ0KGVuZGluZ1NlbGVjdGlvbigpLnN0YXJ0KCkpOwpAQCAt
NTAwLDcgKzUwMCw3IEBAIHZvaWQgQXBwbHlTdHlsZUNvbW1hbmQ6OmFwcGx5SW5saW5lU3R5bGUK
ICAgICAvLyB1cGRhdGUgZG9jdW1lbnQgbGF5b3V0IG9uY2UgYmVmb3JlIHJlbW92aW5nIHN0eWxl
cwogICAgIC8vIHNvIHRoYXQgd2UgYXZvaWQgdGhlIGV4cGVuc2Ugb2YgdXBkYXRpbmcgYmVmb3Jl
IGVhY2ggYW5kIGV2ZXJ5IGNhbGwKICAgICAvLyB0byBjaGVjayBhIGNvbXB1dGVkIHN0eWxlCi0g
ICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7CisgICAgdXBkYXRlTGF5b3V0KCk7CiAgICAg
CiAgICAgLy8gYWRqdXN0IHRvIHRoZSBwb3NpdGlvbnMgd2Ugd2FudCB0byB1c2UgZm9yIGFwcGx5
aW5nIHN0eWxlCiAgICAgUG9zaXRpb24gc3RhcnQoZW5kaW5nU2VsZWN0aW9uKCkuc3RhcnQoKS5k
b3duc3RyZWFtKCkpOwpAQCAtNTUyLDcgKzU1Miw3IEBAIHZvaWQgQXBwbHlTdHlsZUNvbW1hbmQ6
OmFwcGx5SW5saW5lU3R5bGUKICAgICAvLyB1cGRhdGUgZG9jdW1lbnQgbGF5b3V0IG9uY2UgYmVm
b3JlIHJ1bm5pbmcgdGhlIHJlc3Qgb2YgdGhlIGZ1bmN0aW9uCiAgICAgLy8gc28gdGhhdCB3ZSBh
dm9pZCB0aGUgZXhwZW5zZSBvZiB1cGRhdGluZyBiZWZvcmUgZWFjaCBhbmQgZXZlcnkgY2FsbAog
ICAgIC8vIHRvIGNoZWNrIGEgY29tcHV0ZWQgc3R5bGUKLSAgICBkb2N1bWVudCgpLT51cGRhdGVM
YXlvdXQoKTsKKyAgICB1cGRhdGVMYXlvdXQoKTsKICAgICAKICAgICBOb2RlSW1wbCAqbm9kZSA9
IHN0YXJ0Lm5vZGUoKTsKICAgICBpZiAoc3RhcnQub2Zmc2V0KCkgPj0gc3RhcnQubm9kZSgpLT5j
YXJldE1heE9mZnNldCgpKQpAQCAtODE5LDExICs4MTksMTEgQEAgdm9pZCBBcHBseVN0eWxlQ29t
bWFuZDo6cHVzaERvd25UZXh0RGVjbwogICAgIC8vIGRlY29yYXRpb24gd2hpbGUgcHVzaGluZyBk
b3duLgogCiAgICAgcHVzaERvd25UZXh0RGVjb3JhdGlvblN0eWxlQXJvdW5kTm9kZShzdGFydC5u
b2RlKCksIHN0YXJ0LCBlbmQsIGZhbHNlKTsKLSAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXQo
KTsKKyAgICB1cGRhdGVMYXlvdXQoKTsKICAgICBwdXNoRG93blRleHREZWNvcmF0aW9uU3R5bGVB
cm91bmROb2RlKHN0YXJ0Lm5vZGUoKSwgc3RhcnQsIGVuZCwgdHJ1ZSk7CiAKICAgICBwdXNoRG93
blRleHREZWNvcmF0aW9uU3R5bGVBcm91bmROb2RlKGVuZC5ub2RlKCksIHN0YXJ0LCBlbmQsIGZh
bHNlKTsKLSAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKKyAgICB1cGRhdGVMYXlvdXQo
KTsKICAgICBwdXNoRG93blRleHREZWNvcmF0aW9uU3R5bGVBcm91bmROb2RlKGVuZC5ub2RlKCks
IHN0YXJ0LCBlbmQsIHRydWUpOwogfQogCkluZGV4OiBraHRtbC9lZGl0aW5nL2NvbXBvc2l0ZV9l
ZGl0X2NvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2to
dG1sL2VkaXRpbmcvY29tcG9zaXRlX2VkaXRfY29tbWFuZC5jcHAsdgpyZXRyaWV2aW5nIHJldmlz
aW9uIDEuMjAKZGlmZiAtcCAtdSAtcjEuMjAga2h0bWwvZWRpdGluZy9jb21wb3NpdGVfZWRpdF9j
b21tYW5kLmNwcAotLS0ga2h0bWwvZWRpdGluZy9jb21wb3NpdGVfZWRpdF9jb21tYW5kLmNwcAkx
MCBEZWMgMjAwNSAwMjo1OTozMSAtMDAwMAkxLjIwCisrKyBraHRtbC9lZGl0aW5nL2NvbXBvc2l0
ZV9lZGl0X2NvbW1hbmQuY3BwCTE4IERlYyAyMDA1IDIyOjQ1OjA0IC0wMDAwCkBAIC00ODQsNyAr
NDg0LDcgQEAgTm9kZUltcGwgKkNvbXBvc2l0ZUVkaXRDb21tYW5kOjphZGRCbG9jawogICAgIGlm
ICghbm9kZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgZG9jdW1lbnQoKS0+dXBkYXRl
TGF5b3V0KCk7CisgICAgdXBkYXRlTGF5b3V0KCk7CiAKICAgICBSZW5kZXJPYmplY3QgKnJlbmRl
cmVyID0gbm9kZS0+cmVuZGVyZXIoKTsKICAgICBpZiAoIXJlbmRlcmVyIHx8ICFyZW5kZXJlci0+
aXNCbG9ja0Zsb3coKSkKQEAgLTUxNCw3ICs1MTQsNyBAQCBOb2RlSW1wbCAqQ29tcG9zaXRlRWRp
dENvbW1hbmQ6OmZpbmRCbG9jCiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gMDsKIAot
ICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91dCgpOworICAgIHVwZGF0ZUxheW91dCgpOwogCiAg
ICAgUmVuZGVyT2JqZWN0ICpyZW5kZXJlciA9IG5vZGUtPnJlbmRlcmVyKCk7CiAgICAgaWYgKCFy
ZW5kZXJlciB8fCAhcmVuZGVyZXItPmlzQmxvY2tGbG93KCkpCkBAIC01MzgsNyArNTM4LDcgQEAg
dm9pZCBDb21wb3NpdGVFZGl0Q29tbWFuZDo6bW92ZVBhcmFncmFwaAogICAgIGlmIChwb3MuaXNO
dWxsKCkpCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlv
dXQoKTsKKyAgICB1cGRhdGVMYXlvdXQoKTsKICAgICAKICAgICBWaXNpYmxlUG9zaXRpb24gdmlz
aWJsZVBvcyhwb3MsIFZQX0RFRkFVTFRfQUZGSU5JVFkpOwogICAgIFZpc2libGVQb3NpdGlvbiB2
aXNpYmxlUGFyYWdyYXBoU3RhcnQoc3RhcnRPZlBhcmFncmFwaCh2aXNpYmxlUG9zKSk7CkluZGV4
OiBraHRtbC9lZGl0aW5nL2RlbGV0ZV9zZWxlY3Rpb25fY29tbWFuZC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS
Q1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwvZWRpdGluZy9kZWxldGVfc2VsZWN0aW9u
X2NvbW1hbmQuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIzCmRpZmYgLXAgLXUgLXIxLjIz
IGtodG1sL2VkaXRpbmcvZGVsZXRlX3NlbGVjdGlvbl9jb21tYW5kLmNwcAotLS0ga2h0bWwvZWRp
dGluZy9kZWxldGVfc2VsZWN0aW9uX2NvbW1hbmQuY3BwCTIxIE5vdiAyMDA1IDAxOjIwOjAyIC0w
MDAwCTEuMjMKKysrIGtodG1sL2VkaXRpbmcvZGVsZXRlX3NlbGVjdGlvbl9jb21tYW5kLmNwcAkx
OCBEZWMgMjAwNSAyMjo0NTowNSAtMDAwMApAQCAtNDkxLDcgKzQ5MSw3IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBuZXh0Q2hhcmFjdGVySXNDb2xsYXAKIAogdm9pZCBEZWxldGVTZWxlY3Rpb25Db21t
YW5kOjpmaXh1cFdoaXRlc3BhY2UoKQogewotICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91dCgp
OworICAgIHVwZGF0ZUxheW91dCgpOwogICAgIGlmIChtX2xlYWRpbmdXaGl0ZXNwYWNlLmlzTm90
TnVsbCgpICYmIChtX3RyYWlsaW5nV2hpdGVzcGFjZS5pc05vdE51bGwoKSB8fCAhbV9sZWFkaW5n
V2hpdGVzcGFjZS5pc1JlbmRlcmVkQ2hhcmFjdGVyKCkpKSB7CiAgICAgICAgIExPRyhFZGl0aW5n
LCAicmVwbGFjZSBsZWFkaW5nIik7CiAgICAgICAgIFRleHRJbXBsICp0ZXh0Tm9kZSA9IHN0YXRp
Y19jYXN0PFRleHRJbXBsICo+KG1fbGVhZGluZ1doaXRlc3BhY2Uubm9kZSgpKTsKQEAgLTU5MSwx
MCArNTkxLDEwIEBAIHZvaWQgRGVsZXRlU2VsZWN0aW9uQ29tbWFuZDo6bW92ZU5vZGVzQWYKICAg
ICAvLyBUaGlzIHdpbGwgaGF2ZSB0aGUgc2lkZSBlZmZlY3Qgb2YgbW92aW5nICdUaHJlZScgb24g
dG8gdGhlIHNhbWUgbGluZSBhcyAnT25lJwogICAgIC8vIGFuZCAnVHdvJy4gVGhpcyBpcyB1bmRl
c2lyYWJsZS4gV2UgZml4IHRoaXMgdXAgYnkgYWRkaW5nIGEgQlIgYmVmb3JlIHRoZSAnVGhyZWUn
LgogICAgIC8vIFRoaXMgbWF5IG5vdCBiZSBpZGVhbCwgYnV0IGl0IGlzIGJldHRlciB0aGFuIG5v
dGhpbmcuCi0gICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7CisgICAgdXBkYXRlTGF5b3V0
KCk7CiAgICAgaWYgKCFzdGFydEJsb2NrLT5yZW5kZXJlcigpIHx8ICFzdGFydEJsb2NrLT5yZW5k
ZXJlcigpLT5maXJzdENoaWxkKCkpIHsKICAgICAgICAgcmVtb3ZlTm9kZShzdGFydEJsb2NrKTsK
LSAgICAgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7CisgICAgICAgIHVwZGF0ZUxheW91
dCgpOwogICAgICAgICBpZiAocmVmTm9kZS0+cmVuZGVyZXIoKSAmJiByZWZOb2RlLT5yZW5kZXJl
cigpLT5pbmxpbmVCb3goKSAmJiByZWZOb2RlLT5yZW5kZXJlcigpLT5pbmxpbmVCb3goKS0+bmV4
dE9uTGluZUV4aXN0cygpKSB7CiAgICAgICAgICAgICBpbnNlcnROb2RlQWZ0ZXIoY3JlYXRlQnJl
YWtFbGVtZW50KGRvY3VtZW50KCkpLCByZWZOb2RlKTsKICAgICAgICAgfQpJbmRleDoga2h0bWwv
ZWRpdGluZy9lZGl0X2NvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9X
ZWJDb3JlL2todG1sL2VkaXRpbmcvZWRpdF9jb21tYW5kLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS4xMwpkaWZmIC1wIC11IC1yMS4xMyBraHRtbC9lZGl0aW5nL2VkaXRfY29tbWFuZC5jcHAK
LS0tIGtodG1sL2VkaXRpbmcvZWRpdF9jb21tYW5kLmNwcAkyIERlYyAyMDA1IDAzOjQ4OjA3IC0w
MDAwCTEuMTMKKysrIGtodG1sL2VkaXRpbmcvZWRpdF9jb21tYW5kLmNwcAkxOCBEZWMgMjAwNSAy
Mjo0NTowNSAtMDAwMApAQCAtMjM3LDcgKzIzNyw3IEBAIHZvaWQgRWRpdENvbW1hbmQ6OmFwcGx5
KCkKICAgICAgICAgc2V0VHlwaW5nU3R5bGUoMCk7CiAKICAgICBpZiAoIWlzQ29tcG9zaXRlU3Rl
cCgpKSB7Ci0gICAgICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91dCgpOworICAgICAgICB1cGRh
dGVMYXlvdXQoKTsKICAgICAgICAgRWRpdENvbW1hbmRQdHIgY21kKHRoaXMpOwogICAgICAgICBw
YXJ0LT5hcHBsaWVkRWRpdGluZyhjbWQpOwogICAgIH0KQEAgLTI1OCw3ICsyNTgsNyBAQCB2b2lk
IEVkaXRDb21tYW5kOjp1bmFwcGx5KCkKICAgICBtX3N0YXRlID0gTm90QXBwbGllZDsKIAogICAg
IGlmICh0b3BMZXZlbCkgewotICAgICAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKKyAg
ICAgICAgdXBkYXRlTGF5b3V0KCk7CiAgICAgICAgIEVkaXRDb21tYW5kUHRyIGNtZCh0aGlzKTsK
ICAgICAgICAgcGFydC0+dW5hcHBsaWVkRWRpdGluZyhjbWQpOwogICAgIH0KQEAgLTI3OSw3ICsy
NzksNyBAQCB2b2lkIEVkaXRDb21tYW5kOjpyZWFwcGx5KCkKICAgICBtX3N0YXRlID0gQXBwbGll
ZDsKIAogICAgIGlmICh0b3BMZXZlbCkgewotICAgICAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlv
dXQoKTsKKyAgICAgICAgdXBkYXRlTGF5b3V0KCk7CiAgICAgICAgIEVkaXRDb21tYW5kUHRyIGNt
ZCh0aGlzKTsKICAgICAgICAgcGFydC0+cmVhcHBsaWVkRWRpdGluZyhjbWQpOwogICAgIH0KQEAg
LTM4Nyw0ICszODcsOSBAQCBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbkltcGwgKkVkaXRDb21t
CiAgICAgcmV0dXJuIHN0eWxlOwogfQogCit2b2lkIEVkaXRDb21tYW5kOjp1cGRhdGVMYXlvdXQo
KSBjb25zdAoreworICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHls
ZXNoZWV0cygpOworfQorCiB9IC8vIG5hbWVzcGFjZSBraHRtbApJbmRleDoga2h0bWwvZWRpdGlu
Zy9lZGl0X2NvbW1hbmQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9r
aHRtbC9lZGl0aW5nL2VkaXRfY29tbWFuZC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQKZGlm
ZiAtcCAtdSAtcjEuNCBraHRtbC9lZGl0aW5nL2VkaXRfY29tbWFuZC5oCi0tLSBraHRtbC9lZGl0
aW5nL2VkaXRfY29tbWFuZC5oCTEgRGVjIDIwMDUgMTA6MzI6MTQgLTAwMDAJMS40CisrKyBraHRt
bC9lZGl0aW5nL2VkaXRfY29tbWFuZC5oCTE4IERlYyAyMDA1IDIyOjQ1OjA1IC0wMDAwCkBAIC04
Niw2ICs4Niw4IEBAIHB1YmxpYzoKICAgICAKICAgICB2aXJ0dWFsIGJvb2wgaXNJbnNlcnRUZXh0
Q29tbWFuZCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc1R5cGluZ0NvbW1hbmQoKSBjb25z
dDsKKworICAgIHZvaWQgdXBkYXRlTGF5b3V0KCkgY29uc3Q7CiAgICAgCiBwcml2YXRlOgogICAg
IHZvaWQgYXNzaWduVHlwaW5nU3R5bGUoRE9NOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbklt
cGwgKik7CkluZGV4OiBraHRtbC9lZGl0aW5nL2luc2VydF9saW5lX2JyZWFrX2NvbW1hbmQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL2VkaXRpbmcvaW5z
ZXJ0X2xpbmVfYnJlYWtfY29tbWFuZC5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTAKZGlm
ZiAtcCAtdSAtcjEuMTAga2h0bWwvZWRpdGluZy9pbnNlcnRfbGluZV9icmVha19jb21tYW5kLmNw
cAotLS0ga2h0bWwvZWRpdGluZy9pbnNlcnRfbGluZV9icmVha19jb21tYW5kLmNwcAkyMSBOb3Yg
MjAwNSAwMToyMDowMyAtMDAwMAkxLjEwCisrKyBraHRtbC9lZGl0aW5nL2luc2VydF9saW5lX2Jy
ZWFrX2NvbW1hbmQuY3BwCTE4IERlYyAyMDA1IDIyOjQ1OjA1IC0wMDAwCkBAIC0xNTMsNyArMTUz
LDcgQEAgdm9pZCBJbnNlcnRMaW5lQnJlYWtDb21tYW5kOjpkb0FwcGx5KCkKICAgICAgICAgUG9z
aXRpb24gZW5kaW5nUG9zaXRpb24gPSBQb3NpdGlvbih0ZXh0Tm9kZSwgMCk7CiAgICAgICAgIAog
ICAgICAgICAvLyBIYW5kbGUgd2hpdGVzcGFjZSB0aGF0IG9jY3VycyBhZnRlciB0aGUgc3BsaXQK
LSAgICAgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7CisgICAgICAgIHVwZGF0ZUxheW91
dCgpOwogICAgICAgICBpZiAoIWVuZGluZ1Bvc2l0aW9uLmlzUmVuZGVyZWRDaGFyYWN0ZXIoKSkg
ewogICAgICAgICAgICAgLy8gQ2xlYXIgb3V0IGFsbCB3aGl0ZXNwYWNlIGFuZCBpbnNlcnQgb25l
IG5vbi1icmVha2luZyBzcGFjZQogICAgICAgICAgICAgZGVsZXRlSW5zaWduaWZpY2FudFRleHRE
b3duc3RyZWFtKGVuZGluZ1Bvc2l0aW9uKTsKSW5kZXg6IGtodG1sL2VkaXRpbmcvaW5zZXJ0X3Bh
cmFncmFwaF9zZXBhcmF0b3JfY29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9y
b290L1dlYkNvcmUva2h0bWwvZWRpdGluZy9pbnNlcnRfcGFyYWdyYXBoX3NlcGFyYXRvcl9jb21t
YW5kLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMApkaWZmIC1wIC11IC1yMS4xMCBraHRt
bC9lZGl0aW5nL2luc2VydF9wYXJhZ3JhcGhfc2VwYXJhdG9yX2NvbW1hbmQuY3BwCi0tLSBraHRt
bC9lZGl0aW5nL2luc2VydF9wYXJhZ3JhcGhfc2VwYXJhdG9yX2NvbW1hbmQuY3BwCTIxIE5vdiAy
MDA1IDAxOjIwOjAzIC0wMDAwCTEuMTAKKysrIGtodG1sL2VkaXRpbmcvaW5zZXJ0X3BhcmFncmFw
aF9zZXBhcmF0b3JfY29tbWFuZC5jcHAJMTggRGVjIDIwMDUgMjI6NDU6MDYgLTAwMDAKQEAgLTI5
OSw3ICsyOTksNyBAQCB2b2lkIEluc2VydFBhcmFncmFwaFNlcGFyYXRvckNvbW1hbmQ6OmRvCiAK
ICAgICAvLyBIYW5kbGUgd2hpdGVzcGFjZSB0aGF0IG9jY3VycyBhZnRlciB0aGUgc3BsaXQKICAg
ICBpZiAoc3BsaXRUZXh0KSB7Ci0gICAgICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91dCgpOwor
ICAgICAgICB1cGRhdGVMYXlvdXQoKTsKICAgICAgICAgcG9zID0gUG9zaXRpb24oc3RhcnROb2Rl
LCAwKTsKICAgICAgICAgaWYgKCFwb3MuaXNSZW5kZXJlZENoYXJhY3RlcigpKSB7CiAgICAgICAg
ICAgICAvLyBDbGVhciBvdXQgYWxsIHdoaXRlc3BhY2UgYW5kIGluc2VydCBvbmUgbm9uLWJyZWFr
aW5nIHNwYWNlCkluZGV4OiBraHRtbC9lZGl0aW5nL2pzZWRpdGluZy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS
Q1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwvZWRpdGluZy9qc2VkaXRpbmcuY3BwLHYK
cmV0cmlldmluZyByZXZpc2lvbiAxLjM1CmRpZmYgLXAgLXUgLXIxLjM1IGtodG1sL2VkaXRpbmcv
anNlZGl0aW5nLmNwcAotLS0ga2h0bWwvZWRpdGluZy9qc2VkaXRpbmcuY3BwCTIxIE5vdiAyMDA1
IDAxOjIwOjAzIC0wMDAwCTEuMzUKKysrIGtodG1sL2VkaXRpbmcvanNlZGl0aW5nLmNwcAkxOCBE
ZWMgMjAwNSAyMjo0NTowNiAtMDAwMApAQCAtNzMsNyArNzMsNyBAQCBib29sIEpTRWRpdG9yOjpl
eGVjQ29tbWFuZChjb25zdCBET01TdHJpCiAgICAgS0hUTUxQYXJ0ICpwYXJ0ID0gbV9kb2MtPnBh
cnQoKTsKICAgICBpZiAoIXBhcnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBtX2RvYy0+
dXBkYXRlTGF5b3V0KCk7CisgICAgbV9kb2MtPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHls
ZXNoZWV0cygpOwogICAgIHJldHVybiBjbWQtPmVuYWJsZWRGbihwYXJ0KSAmJiBjbWQtPmV4ZWNG
bihwYXJ0LCB1c2VySW50ZXJmYWNlLCB2YWx1ZSk7CiB9CiAKQEAgLTg1LDcgKzg1LDcgQEAgYm9v
bCBKU0VkaXRvcjo6cXVlcnlDb21tYW5kRW5hYmxlZChjb25zdAogICAgIEtIVE1MUGFydCAqcGFy
dCA9IG1fZG9jLT5wYXJ0KCk7CiAgICAgaWYgKCFwYXJ0KQogICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgbV9kb2MtPnVwZGF0ZUxheW91dCgpOworICAgIG1fZG9jLT51cGRhdGVMYXlvdXRJZ25v
cmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKICAgICByZXR1cm4gY21kLT5lbmFibGVkRm4ocGFydCk7
CiB9CiAKQEAgLTk3LDcgKzk3LDcgQEAgYm9vbCBKU0VkaXRvcjo6cXVlcnlDb21tYW5kSW5kZXRl
cm0oY29ucwogICAgIEtIVE1MUGFydCAqcGFydCA9IG1fZG9jLT5wYXJ0KCk7CiAgICAgaWYgKCFw
YXJ0KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgbV9kb2MtPnVwZGF0ZUxheW91dCgpOwor
ICAgIG1fZG9jLT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKICAgICBy
ZXR1cm4gY21kLT5zdGF0ZUZuKHBhcnQpID09IEtIVE1MUGFydDo6bWl4ZWRUcmlTdGF0ZTsKIH0K
IApAQCAtMTA5LDcgKzEwOSw3IEBAIGJvb2wgSlNFZGl0b3I6OnF1ZXJ5Q29tbWFuZFN0YXRlKGNv
bnN0IEQKICAgICBLSFRNTFBhcnQgKnBhcnQgPSBtX2RvYy0+cGFydCgpOwogICAgIGlmICghcGFy
dCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIG1fZG9jLT51cGRhdGVMYXlvdXQoKTsKKyAg
ICBtX2RvYy0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAgICAgcmV0
dXJuIGNtZC0+c3RhdGVGbihwYXJ0KSAhPSBLSFRNTFBhcnQ6OmZhbHNlVHJpU3RhdGU7CiB9CiAK
QEAgLTEyOCw3ICsxMjgsNyBAQCBET01TdHJpbmcgSlNFZGl0b3I6OnF1ZXJ5Q29tbWFuZFZhbHVl
KGNvCiAgICAgS0hUTUxQYXJ0ICpwYXJ0ID0gbV9kb2MtPnBhcnQoKTsKICAgICBpZiAoIXBhcnQp
CiAgICAgICAgIHJldHVybiBET01TdHJpbmcoKTsKLSAgICBtX2RvYy0+dXBkYXRlTGF5b3V0KCk7
CisgICAgbV9kb2MtPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogICAg
IHJldHVybiBjbWQtPnZhbHVlRm4ocGFydCk7CiB9CiAKSW5kZXg6IGtodG1sL2VkaXRpbmcvbWFy
a3VwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9lZGl0
aW5nL21hcmt1cC5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDIKZGlmZiAtcCAtdSAtcjEu
NDIga2h0bWwvZWRpdGluZy9tYXJrdXAuY3BwCi0tLSBraHRtbC9lZGl0aW5nL21hcmt1cC5jcHAJ
MSBEZWMgMjAwNSAxMDozMjoxNCAtMDAwMAkxLjQyCisrKyBraHRtbC9lZGl0aW5nL21hcmt1cC5j
cHAJMTggRGVjIDIwMDUgMjI6NDU6MDcgLTAwMDAKQEAgLTMzNyw3ICszMzcsNyBAQCBRU3RyaW5n
IGNyZWF0ZU1hcmt1cChjb25zdCBSYW5nZUltcGwgKnJhCiAgICAgQVNTRVJUKGV4Y2VwdGlvbkNv
ZGUgPT0gMCk7CiAKICAgICBEb2N1bWVudEltcGwgKmRvYyA9IGNvbW1vbkFuY2VzdG9yLT5nZXRE
b2N1bWVudCgpOwotICAgIGRvYy0+dXBkYXRlTGF5b3V0KCk7CisgICAgZG9jLT51cGRhdGVMYXlv
dXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKIAogICAgIE5vZGVJbXBsICpjb21tb25BbmNl
c3RvckJsb2NrID0gMDsKICAgICBpZiAoY29tbW9uQW5jZXN0b3IgIT0gMCkgewpAQCAtNTA3LDcg
KzUwNyw3IEBAIFFTdHJpbmcgY3JlYXRlTWFya3VwKGNvbnN0IERPTTo6Tm9kZUltcGwKICAgICBR
UHRyTGlzdDxET006Ok5vZGVJbXBsPiAqbm9kZXMsIEVBbm5vdGF0ZUZvckludGVyY2hhbmdlIGFu
bm90YXRlKQogewogICAgIEFTU0VSVChhbm5vdGF0ZSA9PSBEb05vdEFubm90YXRlRm9ySW50ZXJj
aGFuZ2UpOyAvLyBhbm5vdGF0aW9uIG5vdCB5ZXQgaW1wbGVtZW50ZWQgZm9yIHRoaXMgY29kZSBw
YXRoCi0gICAgbm9kZS0+Z2V0RG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7CisgICAgbm9kZS0+
Z2V0RG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAg
ICAgcmV0dXJuIG1hcmt1cChub2RlLCBpbmNsdWRlQ2hpbGRyZW4sIGZhbHNlLCBub2Rlcyk7CiB9
CiAKSW5kZXg6IGtodG1sL2VkaXRpbmcvcmVwbGFjZV9zZWxlY3Rpb25fY29tbWFuZC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwvZWRpdGluZy9yZXBsYWNl
X3NlbGVjdGlvbl9jb21tYW5kLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yMApkaWZmIC1w
IC11IC1yMS4yMCBraHRtbC9lZGl0aW5nL3JlcGxhY2Vfc2VsZWN0aW9uX2NvbW1hbmQuY3BwCi0t
LSBraHRtbC9lZGl0aW5nL3JlcGxhY2Vfc2VsZWN0aW9uX2NvbW1hbmQuY3BwCTEzIERlYyAyMDA1
IDAxOjI4OjU4IC0wMDAwCTEuMjAKKysrIGtodG1sL2VkaXRpbmcvcmVwbGFjZV9zZWxlY3Rpb25f
Y29tbWFuZC5jcHAJMTggRGVjIDIwMDUgMjI6NDU6MDggLTAwMDAKQEAgLTI3Myw3ICsyNzMsNyBA
QCBOb2RlSW1wbCAqUmVwbGFjZW1lbnRGcmFnbWVudDo6aW5zZXJ0RnJhCiAgICAgQVNTRVJUKGV4
Y2VwdGlvbkNvZGUgPT0gMCk7CiAgICAgaG9sZGVyLT5kZXJlZigpOwogICAgIAotICAgIG1fZG9j
dW1lbnQtPnVwZGF0ZUxheW91dCgpOworICAgIG1fZG9jdW1lbnQtPnVwZGF0ZUxheW91dElnbm9y
ZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogICAgIAogICAgIHJldHVybiBob2xkZXI7CiB9CkBAIC0z
MDUsNyArMzA1LDcgQEAgdm9pZCBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6Zml4dXBOb2RlUwog
ICAgIC8vIFRoaXMgZnVuY3Rpb24gdXNlcyB0aGUgbWFwcGVkICJkZXNpcmVkIHN0eWxlIiB0byBh
cHBseSB0aGUgYWRkaXRpb25hbCBzdHlsZSBuZWVkZWQsIGlmIGFueSwKICAgICAvLyB0byBtYWtl
IHRoZSBub2RlIGhhdmUgdGhlIGRlc2lyZWQgc3R5bGUuCiAKLSAgICBkb2N1bWVudCgpLT51cGRh
dGVMYXlvdXQoKTsKKyAgICB1cGRhdGVMYXlvdXQoKTsKIAogICAgIFFWYWx1ZUxpc3RDb25zdEl0
ZXJhdG9yPE5vZGVEZXNpcmVkU3R5bGU+IGl0OwogICAgIGZvciAoaXQgPSBsaXN0LmJlZ2luKCk7
IGl0ICE9IGxpc3QuZW5kKCk7ICsraXQpIHsKQEAgLTQwNSw3ICs0MDUsNyBAQCB2b2lkIFJlcGxh
Y2VtZW50RnJhZ21lbnQ6OmNvbXB1dGVTdHlsZXNVCiAgICAgaWYgKCFob2xkZXIpCiAgICAgICAg
IHJldHVybjsKIAotICAgIG1fZG9jdW1lbnQtPnVwZGF0ZUxheW91dCgpOworICAgIG1fZG9jdW1l
bnQtPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCiAgICAgZm9yIChO
b2RlSW1wbCAqbm9kZSA9IGhvbGRlci0+Zmlyc3RDaGlsZCgpOyBub2RlOyBub2RlID0gbm9kZS0+
dHJhdmVyc2VOZXh0Tm9kZShob2xkZXIpKQogICAgICAgICBjb21wdXRlQW5kU3RvcmVOb2RlRGVz
aXJlZFN0eWxlKG5vZGUsIG1fc3R5bGVzKTsKQEAgLTY0Niw3ICs2NDYsNyBAQCB2b2lkIFJlcGxh
Y2VTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5KCkKICAgICAvLyBkZWxldGUgdGhlIGN1cnJlbnQg
cmFuZ2Ugc2VsZWN0aW9uLCBvciBpbnNlcnQgcGFyYWdyYXBoIGZvciBjYXJldCBzZWxlY3Rpb24s
IGFzIG5lZWRlZAogICAgIGlmIChzZWxlY3Rpb24uaXNSYW5nZSgpKSB7CiAgICAgICAgIGRlbGV0
ZVNlbGVjdGlvbihmYWxzZSwgIShtX2ZyYWdtZW50Lmhhc0ludGVyY2hhbmdlTmV3bGluZUF0U3Rh
cnQoKSB8fCBtX2ZyYWdtZW50Lmhhc0ludGVyY2hhbmdlTmV3bGluZUF0RW5kKCkgfHwgbV9mcmFn
bWVudC5oYXNNb3JlVGhhbk9uZUJsb2NrKCkpKTsKLSAgICAgICAgZG9jdW1lbnQoKS0+dXBkYXRl
TGF5b3V0KCk7CisgICAgICAgIHVwZGF0ZUxheW91dCgpOwogICAgICAgICB2aXNpYmxlU3RhcnQg
PSBWaXNpYmxlUG9zaXRpb24oZW5kaW5nU2VsZWN0aW9uKCkuc3RhcnQoKSwgVlBfREVGQVVMVF9B
RkZJTklUWSk7CiAgICAgICAgIGlmIChtX2ZyYWdtZW50Lmhhc0ludGVyY2hhbmdlTmV3bGluZUF0
U3RhcnQoKSkgewogICAgICAgICAgICAgaWYgKGlzRW5kT2ZQYXJhZ3JhcGgodmlzaWJsZVN0YXJ0
KSAmJiAhaXNTdGFydE9mUGFyYWdyYXBoKHZpc2libGVTdGFydCkpIHsKQEAgLTc0MSw3ICs3NDEs
NyBAQCB2b2lkIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5KCkKICAgICAvLyBhZGQg
InNtYXJ0IHJlcGxhY2UiIHNwYWNlLCBoYW5kbGUgdHJhaWxpbmcgbmV3bGluZSwgY2xlYW4gdXAu
CiAgICAgCiAgICAgLy8gaW5pdGlhbGx5LCB3ZSBzYXkgdGhlIGluc2VydGlvbiBwb2ludCBpcyB0
aGUgc3RhcnQgb2Ygc2VsZWN0aW9uCi0gICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7Cisg
ICAgdXBkYXRlTGF5b3V0KCk7CiAgICAgUG9zaXRpb24gaW5zZXJ0aW9uUG9zID0gc3RhcnRQb3M7
CiAKICAgICAvLyBzdGVwIDE6IG1lcmdlIGNvbnRlbnQgaW50byB0aGUgc3RhcnQgYmxvY2ssIGlm
IHRoYXQgaXMgbmVlZGVkCkBAIC03NjgsNyArNzY4LDcgQEAgdm9pZCBSZXBsYWNlU2VsZWN0aW9u
Q29tbWFuZDo6ZG9BcHBseSgpCiAgICAgICAgIAogICAgICAgICAvLyB1cGRhdGUgaW5zZXJ0aW9u
IHBvaW50IHRvIGJlIGF0IHRoZSBlbmQgb2YgdGhlIGxhc3QgYmxvY2sgaW5zZXJ0ZWQKICAgICAg
ICAgaWYgKG1fbGFzdE5vZGVJbnNlcnRlZCkgewotICAgICAgICAgICAgZG9jdW1lbnQoKS0+dXBk
YXRlTGF5b3V0KCk7CisgICAgICAgICAgICB1cGRhdGVMYXlvdXQoKTsKICAgICAgICAgICAgIGlu
c2VydGlvblBvcyA9IFBvc2l0aW9uKG1fbGFzdE5vZGVJbnNlcnRlZCwgbV9sYXN0Tm9kZUluc2Vy
dGVkLT5jYXJldE1heE9mZnNldCgpKTsKICAgICAgICAgfQogICAgIH0KQEAgLTc5OCwxMyArNzk4
LDEzIEBAIHZvaWQgUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OmRvQXBwbHkoKQogICAgICAgICAg
ICAgcmVmTm9kZSA9IG5vZGU7CiAgICAgICAgICAgICBub2RlID0gbmV4dDsKICAgICAgICAgfQot
ICAgICAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKKyAgICAgICAgdXBkYXRlTGF5b3V0
KCk7CiAgICAgICAgIGluc2VydGlvblBvcyA9IFBvc2l0aW9uKG1fbGFzdE5vZGVJbnNlcnRlZCwg
bV9sYXN0Tm9kZUluc2VydGVkLT5jYXJldE1heE9mZnNldCgpKTsKICAgICB9CiAKICAgICAvLyBz
dGVwIDMgOiBoYW5kbGUgInNtYXJ0IHJlcGxhY2UiIHdoaXRlc3BhY2UKICAgICBpZiAoYWRkVHJh
aWxpbmdTcGFjZSAmJiBtX2xhc3ROb2RlSW5zZXJ0ZWQpIHsKLSAgICAgICAgZG9jdW1lbnQoKS0+
dXBkYXRlTGF5b3V0KCk7CisgICAgICAgIHVwZGF0ZUxheW91dCgpOwogICAgICAgICBQb3NpdGlv
biBwb3MobV9sYXN0Tm9kZUluc2VydGVkLCBtX2xhc3ROb2RlSW5zZXJ0ZWQtPmNhcmV0TWF4T2Zm
c2V0KCkpOwogICAgICAgICBib29sIG5lZWRzVHJhaWxpbmdTcGFjZSA9IHBvcy50cmFpbGluZ1do
aXRlc3BhY2VQb3NpdGlvbihWUF9ERUZBVUxUX0FGRklOSVRZLCB0cnVlKS5pc051bGwoKTsKICAg
ICAgICAgaWYgKG5lZWRzVHJhaWxpbmdTcGFjZSkgewpAQCAtODIyLDcgKzgyMiw3IEBAIHZvaWQg
UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OmRvQXBwbHkoKQogICAgIH0KIAogICAgIGlmIChhZGRM
ZWFkaW5nU3BhY2UgJiYgbV9maXJzdE5vZGVJbnNlcnRlZCkgewotICAgICAgICBkb2N1bWVudCgp
LT51cGRhdGVMYXlvdXQoKTsKKyAgICAgICAgdXBkYXRlTGF5b3V0KCk7CiAgICAgICAgIFBvc2l0
aW9uIHBvcyhtX2ZpcnN0Tm9kZUluc2VydGVkLCAwKTsKICAgICAgICAgYm9vbCBuZWVkc0xlYWRp
bmdTcGFjZSA9IHBvcy5sZWFkaW5nV2hpdGVzcGFjZVBvc2l0aW9uKFZQX0RFRkFVTFRfQUZGSU5J
VFksIHRydWUpLmlzTnVsbCgpOwogICAgICAgICBpZiAobmVlZHNMZWFkaW5nU3BhY2UpIHsKQEAg
LTg1Myw3ICs4NTMsNyBAQCB2b2lkIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5KCkK
ICAgICAgICAgICAgICAgICBpbnNlcnRQYXJhZ3JhcGggPSB0cnVlOwogICAgICAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgICAgICAvLyBIYW5kbGUgZW5kLW9mLWRvY3VtZW50IGNhc2UuCi0g
ICAgICAgICAgICAgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7CisgICAgICAgICAgICAg
ICAgdXBkYXRlTGF5b3V0KCk7CiAgICAgICAgICAgICAgICAgaWYgKGlzRW5kT2ZEb2N1bWVudChw
b3MpKQogICAgICAgICAgICAgICAgICAgICBpbnNlcnRQYXJhZ3JhcGggPSB0cnVlOwogICAgICAg
ICAgICAgfQpAQCAtODc0LDcgKzg3NCw3IEBAIHZvaWQgUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6
OmRvQXBwbHkoKQogICAgIH0gCiAgICAgZWxzZSB7CiAgICAgICAgIGlmIChtX2xhc3ROb2RlSW5z
ZXJ0ZWQgJiYgbV9sYXN0Tm9kZUluc2VydGVkLT5oYXNUYWdOYW1lKGJyVGFnKSAmJiAhZG9jdW1l
bnQoKS0+aW5TdHJpY3RNb2RlKCkpIHsKLSAgICAgICAgICAgIGRvY3VtZW50KCktPnVwZGF0ZUxh
eW91dCgpOworICAgICAgICAgICAgdXBkYXRlTGF5b3V0KCk7CiAgICAgICAgICAgICBWaXNpYmxl
UG9zaXRpb24gcG9zKFBvc2l0aW9uKG1fbGFzdE5vZGVJbnNlcnRlZCwgMSksIERPV05TVFJFQU0p
OwogICAgICAgICAgICAgaWYgKGlzRW5kT2ZCbG9jayhwb3MpKSB7CiAgICAgICAgICAgICAgICAg
Tm9kZUltcGwgKm5leHQgPSBtX2xhc3ROb2RlSW5zZXJ0ZWQtPnRyYXZlcnNlTmV4dE5vZGUoKTsK
QEAgLTg4Nyw3ICs4ODcsNyBAQCB2b2lkIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5
KCkKICAgICAgICAgfQogCiAgICAgICAgIGlmIChtb3ZlTm9kZXNBZnRlckVuZCAmJiAhaXNMYXN0
VmlzaWJsZVBvc2l0aW9uSW5TcGVjaWFsRWxlbWVudChQb3NpdGlvbihtX2xhc3ROb2RlSW5zZXJ0
ZWQsIG1heFJhbmdlT2Zmc2V0KG1fbGFzdE5vZGVJbnNlcnRlZCkpKSkgewotICAgICAgICAgICAg
ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7CisgICAgICAgICAgICB1cGRhdGVMYXlvdXQoKTsK
ICAgICAgICAgICAgIFFWYWx1ZUxpc3Q8Tm9kZURlc2lyZWRTdHlsZT4gc3R5bGVzOwogICAgICAg
ICAgICAgUVB0ckxpc3Q8Tm9kZUltcGw+IGJsb2NrczsKICAgICAgICAgICAgIE5vZGVJbXBsICpu
b2RlID0gYmV5b25kRW5kTm9kZTsKQEAgLTkwOSw3ICs5MDksNyBAQCB2b2lkIFJlcGxhY2VTZWxl
Y3Rpb25Db21tYW5kOjpkb0FwcGx5KCkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICAgICAgbm9kZSA9IG5leHQ7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBkb2N1
bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKKyAgICAgICAgICAgIHVwZGF0ZUxheW91dCgpOwogICAg
ICAgICAgICAgZm9yIChRUHRyTGlzdEl0ZXJhdG9yPE5vZGVJbXBsPiBpdChibG9ja3MpOyBpdC5j
dXJyZW50KCk7ICsraXQpIHsKICAgICAgICAgICAgICAgICBOb2RlSW1wbCAqYmxvY2tUb1JlbW92
ZSA9IGl0LmN1cnJlbnQoKTsKICAgICAgICAgICAgICAgICBpZiAoIWJsb2NrVG9SZW1vdmUtPmlu
RG9jdW1lbnQoKSkKQEAgLTkxOCw3ICs5MTgsNyBAQCB2b2lkIFJlcGxhY2VTZWxlY3Rpb25Db21t
YW5kOjpkb0FwcGx5KCkKICAgICAgICAgICAgICAgICAgICAgaWYgKGJsb2NrVG9SZW1vdmUtPnBh
cmVudE5vZGUoKSkKICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2Nrcy5hcHBlbmQoYmxvY2tU
b1JlbW92ZS0+cGFyZW50Tm9kZSgpLT5lbmNsb3NpbmdCbG9ja0Zsb3dFbGVtZW50KCkpOwogICAg
ICAgICAgICAgICAgICAgICByZW1vdmVOb2RlKGJsb2NrVG9SZW1vdmUpOwotICAgICAgICAgICAg
ICAgICAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKKyAgICAgICAgICAgICAgICAgICAg
dXBkYXRlTGF5b3V0KCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCkBAIC05
MzksMTQgKzkzOSwxNCBAQCB2b2lkIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpyZW1vdmVMaW5l
CiAgICAgaWYgKCFsaW5lUGxhY2Vob2xkZXIpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCi0g
ICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7CisgICAgdXBkYXRlTGF5b3V0KCk7CiAgICAg
aWYgKGxpbmVQbGFjZWhvbGRlci0+aW5Eb2N1bWVudCgpKSB7CiAgICAgICAgIFZpc2libGVQb3Np
dGlvbiBwbGFjZWhvbGRlclBvcyhsaW5lUGxhY2Vob2xkZXIsIGxpbmVQbGFjZWhvbGRlci0+cmVu
ZGVyZXIoKS0+Y2FyZXRNaW5PZmZzZXQoKSwgRE9XTlNUUkVBTSk7CiAgICAgICAgIGlmIChwbGFj
ZWhvbGRlclBvcy5uZXh0KCkuaXNOdWxsKCkgfHwKICAgICAgICAgICAgICEoaXNTdGFydE9mTGlu
ZShwbGFjZWhvbGRlclBvcykgJiYgaXNFbmRPZkxpbmUocGxhY2Vob2xkZXJQb3MpKSkgewogICAg
ICAgICAgICAgTm9kZUltcGwgKmJsb2NrID0gbGluZVBsYWNlaG9sZGVyLT5lbmNsb3NpbmdCbG9j
a0Zsb3dFbGVtZW50KCk7CiAgICAgICAgICAgICByZW1vdmVOb2RlKGxpbmVQbGFjZWhvbGRlcik7
Ci0gICAgICAgICAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKKyAgICAgICAgICAgIHVw
ZGF0ZUxheW91dCgpOwogICAgICAgICAgICAgaWYgKCFibG9jay0+cmVuZGVyZXIoKSB8fCBibG9j
ay0+cmVuZGVyZXIoKS0+aGVpZ2h0KCkgPT0gMCkKICAgICAgICAgICAgICAgICByZW1vdmVOb2Rl
KGJsb2NrKTsKICAgICAgICAgfQpAQCAtOTgwLDcgKzk4MCw3IEBAIHZvaWQgUmVwbGFjZVNlbGVj
dGlvbkNvbW1hbmQ6OmNvbXBsZXRlSFQKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgLy8g
Q2FsbCB1cGRhdGVMYXlvdXQgc28gY2FyZXRNaW5PZmZzZXQgYW5kIGNhcmV0TWF4T2Zmc2V0IHJl
dHVybiBjb3JyZWN0IHZhbHVlcy4KLSAgICAgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7
CisgICAgICAgIHVwZGF0ZUxheW91dCgpOwogICAgICAgICBzdGFydCA9IFBvc2l0aW9uKGZpcnN0
TGVhZiwgZmlyc3RMZWFmLT5jYXJldE1pbk9mZnNldCgpKTsKICAgICAgICAgZW5kID0gUG9zaXRp
b24obGFzdExlYWYsIGxhc3RMZWFmLT5jYXJldE1heE9mZnNldCgpKTsKIApJbmRleDoga2h0bWwv
ZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3Qv
V2ViQ29yZS9raHRtbC9lZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjQ2CmRpZmYgLXAgLXUgLXIxLjQ2IGtodG1sL2VkaXRpbmcvdmlzaWJsZV91bml0cy5j
cHAKLS0tIGtodG1sL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAJMTMgRGVjIDIwMDUgMDE6NTA6
MjcgLTAwMDAJMS40NgorKysga2h0bWwvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcAkxOCBEZWMg
MjAwNSAyMjo0NTowOCAtMDAwMApAQCAtMzY2LDcgKzM2Niw3IEBAIFZpc2libGVQb3NpdGlvbiBw
cmV2aW91c0xpbmVQb3NpdGlvbihjb24KICAgICBpZiAoIW5vZGUgfHwgIW5vZGUtPmdldERvY3Vt
ZW50KCkpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICAKLSAgICBub2Rl
LT5nZXREb2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKKyAgICBub2RlLT5nZXREb2N1bWVudCgp
LT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKICAgICAKICAgICBSZW5k
ZXJPYmplY3QgKnJlbmRlcmVyID0gbm9kZS0+cmVuZGVyZXIoKTsKICAgICBpZiAoIXJlbmRlcmVy
KQpAQCAtNDI5LDcgKzQyOSw3IEBAIFZpc2libGVQb3NpdGlvbiBuZXh0TGluZVBvc2l0aW9uKGNv
bnN0IFYKICAgICBpZiAoIW5vZGUgfHwgIW5vZGUtPmdldERvY3VtZW50KCkpCiAgICAgICAgIHJl
dHVybiBWaXNpYmxlUG9zaXRpb24oKTsKICAgICAKLSAgICBub2RlLT5nZXREb2N1bWVudCgpLT51
cGRhdGVMYXlvdXQoKTsKKyAgICBub2RlLT5nZXREb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25v
cmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKIAogICAgIFJlbmRlck9iamVjdCAqcmVuZGVyZXIgPSBu
b2RlLT5yZW5kZXJlcigpOwogICAgIGlmICghcmVuZGVyZXIpCkluZGV4OiBraHRtbC9odG1sL2h0
bWxfZWxlbWVudGltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3Jl
L2todG1sL2h0bWwvaHRtbF9lbGVtZW50aW1wbC5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
MTEzCmRpZmYgLXAgLXUgLXIxLjExMyBraHRtbC9odG1sL2h0bWxfZWxlbWVudGltcGwuY3BwCi0t
LSBraHRtbC9odG1sL2h0bWxfZWxlbWVudGltcGwuY3BwCTE2IERlYyAyMDA1IDA4OjA4OjE3IC0w
MDAwCTEuMTEzCisrKyBraHRtbC9odG1sL2h0bWxfZWxlbWVudGltcGwuY3BwCTE4IERlYyAyMDA1
IDIyOjQ1OjA5IC0wMDAwCkBAIC0yMzMsNyArMjMzLDcgQEAgRE9NU3RyaW5nIEhUTUxFbGVtZW50
SW1wbDo6b3V0ZXJIVE1MKCkgYwogRE9NU3RyaW5nIEhUTUxFbGVtZW50SW1wbDo6aW5uZXJUZXh0
KCkgY29uc3QKIHsKICAgICAvLyBXZSBuZWVkIHRvIHVwZGF0ZSBsYXlvdXQsIHNpbmNlIHBsYWlu
VGV4dCB1c2VzIGxpbmUgYm94ZXMgaW4gdGhlIHJlbmRlciB0cmVlLgotICAgIGdldERvY3VtZW50
KCktPnVwZGF0ZUxheW91dCgpOworICAgIGdldERvY3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9y
ZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogICAgIHJldHVybiBwbGFpblRleHQocmFuZ2VPZkNvbnRl
bnRzKGNvbnN0X2Nhc3Q8SFRNTEVsZW1lbnRJbXBsICo+KHRoaXMpKS5nZXQoKSk7CiB9CiAKSW5k
ZXg6IGt3cS9XZWJDb3JlQnJpZGdlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9X
ZWJDb3JlL2t3cS9XZWJDb3JlQnJpZGdlLm1tLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQ0Mwpk
aWZmIC1wIC11IC1yMS40NDMga3dxL1dlYkNvcmVCcmlkZ2UubW0KLS0tIGt3cS9XZWJDb3JlQnJp
ZGdlLm1tCTE0IERlYyAyMDA1IDIzOjMyOjAyIC0wMDAwCTEuNDQzCisrKyBrd3EvV2ViQ29yZUJy
aWRnZS5tbQkxOCBEZWMgMjAwNSAyMjo0NToxNCAtMDAwMApAQCAtMTYzOCw3ICsxNjM4LDcgQEAg
c3RhdGljIEhUTUxGb3JtRWxlbWVudEltcGwgKmZvcm1FbGVtZW50RgogICAgIEFTU0VSVChzdGFy
dENvbnRhaW5lci0+Z2V0RG9jdW1lbnQoKSk7CiAgICAgQVNTRVJUKHN0YXJ0Q29udGFpbmVyLT5n
ZXREb2N1bWVudCgpID09IGVuZENvbnRhaW5lci0+Z2V0RG9jdW1lbnQoKSk7CiAgICAgCi0gICAg
X3BhcnQtPnhtbERvY0ltcGwoKS0+dXBkYXRlTGF5b3V0KCk7CisgICAgX3BhcnQtPnhtbERvY0lt
cGwoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAKICAgICBFQWZm
aW5pdHkgYWZmaW5pdHkgPSBzdGF0aWNfY2FzdDxFQWZmaW5pdHk+KHNlbGVjdGlvbkFmZmluaXR5
KTsKICAgICAKQEAgLTE3ODEsNyArMTc4MSw3IEBAIHN0YXRpYyBIVE1MRm9ybUVsZW1lbnRJbXBs
ICpmb3JtRWxlbWVudEYKICAgICBBU1NFUlQoc3RhcnRDb250YWluZXItPmdldERvY3VtZW50KCkp
OwogICAgIEFTU0VSVChzdGFydENvbnRhaW5lci0+Z2V0RG9jdW1lbnQoKSA9PSBlbmRDb250YWlu
ZXItPmdldERvY3VtZW50KCkpOwogICAgIAotICAgIF9wYXJ0LT54bWxEb2NJbXBsKCktPnVwZGF0
ZUxheW91dCgpOworICAgIF9wYXJ0LT54bWxEb2NJbXBsKCktPnVwZGF0ZUxheW91dElnbm9yZVBl
bmRpbmdTdHlsZXNoZWV0cygpOwogCiAgICAgUG9zaXRpb24gc3RhcnQoc3RhcnRDb250YWluZXIs
IFtwcm9wb3NlZFJhbmdlIHN0YXJ0T2Zmc2V0XSk7CiAgICAgUG9zaXRpb24gZW5kKGVuZENvbnRh
aW5lciwgW3Byb3Bvc2VkUmFuZ2UgZW5kT2Zmc2V0XSk7Cg==
</data>
<flag name="review"
          id="1033"
          type_id="1"
          status="+"
          setter="justin.garcia"
    />
          </attachment>
      

    </bug>

</bugzilla>