<?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>81288</bug_id>
          
          <creation_ts>2012-03-15 16:54:21 -0700</creation_ts>
          <short_desc>[Refactoring] Rename StringBuilder variables in MarkupAccumulator.{h,cpp}</short_desc>
          <delta_ts>2012-03-15 17:13:14 -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>HTML Editing</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>81214</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>579901</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-15 16:54:21 -0700</bug_when>
    <thetext>This is a refactoring for bug 81214. Currently MarkupAccumulator mixes &apos;out&apos; and &apos;result&apos; for variable names of StringBuilder. We can unify them to &apos;result&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579913</commentid>
    <comment_count>1</comment_count>
      <attachid>132153</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-15 17:00:27 -0700</bug_when>
    <thetext>Created attachment 132153
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579928</commentid>
    <comment_count>2</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-15 17:12:37 -0700</bug_when>
    <thetext>Committed r110915: &lt;http://trac.webkit.org/changeset/110915&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132153</attachid>
            <date>2012-03-15 17:00:27 -0700</date>
            <delta_ts>2012-03-15 17:13:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81288-20120316090022.patch</filename>
            <type>text/plain</type>
            <size>19568</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwODAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmNjZTM5Y2Q0YjllZGU2
NDE1ZGFmZTY5NjkyNzA3ZjQ1MmFmMjQ4Ni4uN2MwMmYyNzVjMDIxOWExZDVlNjAwNzk4ZDM4ZDc5
NGE4YzFmOWMxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTAzLTE1ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVmYWN0b3Jpbmdd
IFJlbmFtZSBTdHJpbmdCdWlsZGVyIHZhcmlhYmxlcyBpbiBNYXJrdXBBY2N1bXVsYXRvci57aCxj
cHB9CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTI4
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
aXMgYSByZWZhY3RvcmluZyBmb3IgZml4aW5nIGJ1ZyA4MTIxNC4gQ3VycmVudGx5IE1hcmt1cEFj
Y3VtdWxhdG9yIG1peGVzCisgICAgICAgICdvdXQnIGFuZCAncmVzdWx0JyBmb3IgdmFyaWFibGUg
bmFtZXMgb2YgU3RyaW5nQnVpbGRlci4gVGhpcyBwYXRjaCB1bmlmaWVzIHRoZW0KKyAgICAgICAg
dG8gJ3Jlc3VsdCcuCisKKyAgICAgICAgTm8gdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4K
KworICAgICAgICAqIGVkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuY3BwOiBSZW5hbWVkICdvdXQn
IHRvICdyZXN1bHQnLgorICAgICAgICAoV2ViQ29yZTo6YXBwZW5kQ2hhcmFjdGVyc1JlcGxhY2lu
Z0VudGl0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cEFjY3VtdWxhdG9yOjpzZXJpYWxp
emVOb2Rlcyk6IFJlbmFtZWQgJ25vZGUnIHRvICd0YXJnZXROb2RlJyBmb3IgY2xhcmlmaWNhdGlv
bgorICAgICAgICAoYW5kIGZvciBhdm9pZGluZyBzdHlsZSBjaGVjayBlcnJvciBpbiBNYXJrdXBB
Y2N1bXVsYXRvci5oKS4KKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cEFjY3VtdWxhdG9yOjpjb25j
YXRlbmF0ZU1hcmt1cCk6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6YXBw
ZW5kTm9kZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cEFjY3VtdWxhdG9yOjpzaG91
bGRBZGROYW1lc3BhY2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6TWFya3VwQWNjdW11
bGF0b3I6OmFwcGVuZE5hbWVzcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVs
YXRvcjo6ZW50aXR5TWFza0ZvclRleHQpOgorICAgICAgICAoV2ViQ29yZTo6TWFya3VwQWNjdW11
bGF0b3I6OmFwcGVuZFRleHQpOgorICAgICAgICAoV2ViQ29yZTo6TWFya3VwQWNjdW11bGF0b3I6
OmFwcGVuZENvbW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWFya3VwQWNjdW11bGF0b3I6OmFw
cGVuZFByb2Nlc3NpbmdJbnN0cnVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1
bXVsYXRvcjo6YXBwZW5kRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVs
YXRvcjo6YXBwZW5kT3BlblRhZyk6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRv
cjo6YXBwZW5kQ2xvc2VUYWcpOgorICAgICAgICAoV2ViQ29yZTo6TWFya3VwQWNjdW11bGF0b3I6
OmFwcGVuZEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6
YXBwZW5kQ0RBVEFTZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cEFjY3VtdWxhdG9y
OjplbGVtZW50Q2Fubm90SGF2ZUVuZFRhZyk6CisgICAgICAgICogZWRpdGluZy9NYXJrdXBBY2N1
bXVsYXRvci5oOiBSZW1vdmVkIHJlZHVuZGFudCB2YXJpYWJsZSBuYW1lcy4KKyAgICAgICAgKE1h
cmt1cEFjY3VtdWxhdG9yKToKKyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEyLTAzLTE0ICBJZ29y
IE9saXZlaXJhICA8aWdvci5vQHNpc2Euc2Ftc3VuZy5jb20+CiAKICAgICAgICAgU3BsaXQgdGhl
IGV4dHJhIGxvZ2ljIG91dCBvZiBSZW5kZXJCbG9jazo6dXBkYXRlRmlyc3RMZXR0ZXIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5jcHAKaW5kZXggNDc2OTA0ZWJj
OTEzY2FiZDZlOWNlMGM4M2IzZDdkNzdiYTFjNDAzMy4uZmUyZTcyYjkzOGMwM2RjZDUwMjg5YWU5
ZWU0MjYzODQwNjA5MjMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJr
dXBBY2N1bXVsYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1
bXVsYXRvci5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2lu
ZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi12b2lkIGFwcGVuZENoYXJhY3RlcnNSZXBsYWNpbmdF
bnRpdGllcyhTdHJpbmdCdWlsZGVyJiBvdXQsIGNvbnN0IFVDaGFyKiBjb250ZW50LCBzaXplX3Qg
bGVuZ3RoLCBFbnRpdHlNYXNrIGVudGl0eU1hc2spCit2b2lkIGFwcGVuZENoYXJhY3RlcnNSZXBs
YWNpbmdFbnRpdGllcyhTdHJpbmdCdWlsZGVyJiByZXN1bHQsIGNvbnN0IFVDaGFyKiBjb250ZW50
LCBzaXplX3QgbGVuZ3RoLCBFbnRpdHlNYXNrIGVudGl0eU1hc2spCiB7CiAgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGFtcFJlZmVyZW5jZSwgKCImYW1wOyIpKTsKICAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgbHRSZWZlcmVuY2UsICgiJmx0OyIpKTsK
QEAgLTY0LDE0ICs2NCwxNCBAQCB2b2lkIGFwcGVuZENoYXJhY3RlcnNSZXBsYWNpbmdFbnRpdGll
cyhTdHJpbmdCdWlsZGVyJiBvdXQsIGNvbnN0IFVDaGFyKiBjb250ZW50LAogICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAgICAgICAgZm9yIChzaXplX3QgbSA9IDA7
IG0gPCBXVEZfQVJSQVlfTEVOR1RIKGVudGl0eU1hcHMpOyArK20pIHsKICAgICAgICAgICAgIGlm
IChjb250ZW50W2ldID09IGVudGl0eU1hcHNbbV0uZW50aXR5ICYmIGVudGl0eU1hcHNbbV0ubWFz
ayAmIGVudGl0eU1hc2spIHsKLSAgICAgICAgICAgICAgICBvdXQuYXBwZW5kKGNvbnRlbnQgKyBw
b3NpdGlvbkFmdGVyTGFzdEVudGl0eSwgaSAtIHBvc2l0aW9uQWZ0ZXJMYXN0RW50aXR5KTsKLSAg
ICAgICAgICAgICAgICBvdXQuYXBwZW5kKGVudGl0eU1hcHNbbV0ucmVmZXJlbmNlKTsKKyAgICAg
ICAgICAgICAgICByZXN1bHQuYXBwZW5kKGNvbnRlbnQgKyBwb3NpdGlvbkFmdGVyTGFzdEVudGl0
eSwgaSAtIHBvc2l0aW9uQWZ0ZXJMYXN0RW50aXR5KTsKKyAgICAgICAgICAgICAgICByZXN1bHQu
YXBwZW5kKGVudGl0eU1hcHNbbV0ucmVmZXJlbmNlKTsKICAgICAgICAgICAgICAgICBwb3NpdGlv
bkFmdGVyTGFzdEVudGl0eSA9IGkgKyAxOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgfQogICAgICAgICB9CiAgICAgfQotICAgIG91dC5hcHBlbmQoY29udGVudCArIHBvc2l0
aW9uQWZ0ZXJMYXN0RW50aXR5LCBsZW5ndGggLSBwb3NpdGlvbkFmdGVyTGFzdEVudGl0eSk7Cisg
ICAgcmVzdWx0LmFwcGVuZChjb250ZW50ICsgcG9zaXRpb25BZnRlckxhc3RFbnRpdHksIGxlbmd0
aCAtIHBvc2l0aW9uQWZ0ZXJMYXN0RW50aXR5KTsKIH0KIAogTWFya3VwQWNjdW11bGF0b3I6Ok1h
cmt1cEFjY3VtdWxhdG9yKFZlY3RvcjxOb2RlKj4qIG5vZGVzLCBFQWJzb2x1dGVVUkxzIHJlc29s
dmVVcmxzTWV0aG9kLCBjb25zdCBSYW5nZSogcmFuZ2UpCkBAIC04NSwxOCArODUsMTggQEAgTWFy
a3VwQWNjdW11bGF0b3I6On5NYXJrdXBBY2N1bXVsYXRvcigpCiB7CiB9CiAKLVN0cmluZyBNYXJr
dXBBY2N1bXVsYXRvcjo6c2VyaWFsaXplTm9kZXMoTm9kZSogbm9kZSwgTm9kZSogbm9kZVRvU2tp
cCwgRUNoaWxkcmVuT25seSBjaGlsZHJlbk9ubHkpCitTdHJpbmcgTWFya3VwQWNjdW11bGF0b3I6
OnNlcmlhbGl6ZU5vZGVzKE5vZGUqIHRhcmdldE5vZGUsIE5vZGUqIG5vZGVUb1NraXAsIEVDaGls
ZHJlbk9ubHkgY2hpbGRyZW5Pbmx5KQogewotICAgIFN0cmluZ0J1aWxkZXIgb3V0OwotICAgIHNl
cmlhbGl6ZU5vZGVzV2l0aE5hbWVzcGFjZXMobm9kZSwgbm9kZVRvU2tpcCwgY2hpbGRyZW5Pbmx5
LCAwKTsKLSAgICBvdXQucmVzZXJ2ZUNhcGFjaXR5KGxlbmd0aCgpKTsKLSAgICBjb25jYXRlbmF0
ZU1hcmt1cChvdXQpOwotICAgIHJldHVybiBvdXQudG9TdHJpbmcoKTsKKyAgICBTdHJpbmdCdWls
ZGVyIHJlc3VsdDsKKyAgICBzZXJpYWxpemVOb2Rlc1dpdGhOYW1lc3BhY2VzKHRhcmdldE5vZGUs
IG5vZGVUb1NraXAsIGNoaWxkcmVuT25seSwgMCk7CisgICAgcmVzdWx0LnJlc2VydmVDYXBhY2l0
eShsZW5ndGgoKSk7CisgICAgY29uY2F0ZW5hdGVNYXJrdXAocmVzdWx0KTsKKyAgICByZXR1cm4g
cmVzdWx0LnRvU3RyaW5nKCk7CiB9CiAKLXZvaWQgTWFya3VwQWNjdW11bGF0b3I6OnNlcmlhbGl6
ZU5vZGVzV2l0aE5hbWVzcGFjZXMoTm9kZSogbm9kZSwgTm9kZSogbm9kZVRvU2tpcCwgRUNoaWxk
cmVuT25seSBjaGlsZHJlbk9ubHksIGNvbnN0IE5hbWVzcGFjZXMqIG5hbWVzcGFjZXMpCit2b2lk
IE1hcmt1cEFjY3VtdWxhdG9yOjpzZXJpYWxpemVOb2Rlc1dpdGhOYW1lc3BhY2VzKE5vZGUqIHRh
cmdldE5vZGUsIE5vZGUqIG5vZGVUb1NraXAsIEVDaGlsZHJlbk9ubHkgY2hpbGRyZW5Pbmx5LCBj
b25zdCBOYW1lc3BhY2VzKiBuYW1lc3BhY2VzKQogewotICAgIGlmIChub2RlID09IG5vZGVUb1Nr
aXApCisgICAgaWYgKHRhcmdldE5vZGUgPT0gbm9kZVRvU2tpcCkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgTmFtZXNwYWNlcyBuYW1lc3BhY2VIYXNoOwpAQCAtMTA0LDE1ICsxMDQsMTUgQEAgdm9p
ZCBNYXJrdXBBY2N1bXVsYXRvcjo6c2VyaWFsaXplTm9kZXNXaXRoTmFtZXNwYWNlcyhOb2RlKiBu
b2RlLCBOb2RlKiBub2RlVG9Ta2kKICAgICAgICAgbmFtZXNwYWNlSGFzaCA9ICpuYW1lc3BhY2Vz
OwogCiAgICAgaWYgKCFjaGlsZHJlbk9ubHkpCi0gICAgICAgIGFwcGVuZFN0YXJ0VGFnKG5vZGUs
ICZuYW1lc3BhY2VIYXNoKTsKKyAgICAgICAgYXBwZW5kU3RhcnRUYWcodGFyZ2V0Tm9kZSwgJm5h
bWVzcGFjZUhhc2gpOwogCi0gICAgaWYgKCEobm9kZS0+ZG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1l
bnQoKSAmJiBlbGVtZW50Q2Fubm90SGF2ZUVuZFRhZyhub2RlKSkpIHsKLSAgICAgICAgZm9yIChO
b2RlKiBjdXJyZW50ID0gbm9kZS0+Zmlyc3RDaGlsZCgpOyBjdXJyZW50OyBjdXJyZW50ID0gY3Vy
cmVudC0+bmV4dFNpYmxpbmcoKSkKKyAgICBpZiAoISh0YXJnZXROb2RlLT5kb2N1bWVudCgpLT5p
c0hUTUxEb2N1bWVudCgpICYmIGVsZW1lbnRDYW5ub3RIYXZlRW5kVGFnKHRhcmdldE5vZGUpKSkg
eworICAgICAgICBmb3IgKE5vZGUqIGN1cnJlbnQgPSB0YXJnZXROb2RlLT5maXJzdENoaWxkKCk7
IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5uZXh0U2libGluZygpKQogICAgICAgICAgICAg
c2VyaWFsaXplTm9kZXNXaXRoTmFtZXNwYWNlcyhjdXJyZW50LCBub2RlVG9Ta2lwLCBJbmNsdWRl
Tm9kZSwgJm5hbWVzcGFjZUhhc2gpOwogICAgIH0KIAogICAgIGlmICghY2hpbGRyZW5Pbmx5KQot
ICAgICAgICBhcHBlbmRFbmRUYWcobm9kZSk7CisgICAgICAgIGFwcGVuZEVuZFRhZyh0YXJnZXRO
b2RlKTsKIH0KIAogU3RyaW5nIE1hcmt1cEFjY3VtdWxhdG9yOjpyZXNvbHZlVVJMSWZOZWVkZWQo
Y29uc3QgRWxlbWVudCogZWxlbWVudCwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpIGNvbnN0CkBA
IC0xNjQsMTAgKzE2NCwxMCBAQCBzaXplX3QgTWFya3VwQWNjdW11bGF0b3I6OnRvdGFsTGVuZ3Ro
KGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzdHJpbmdzKQogLy8gRklYTUU6IFRoaXMgaXMgYSB2ZXJ5
IGluZWZmaWNpZW50IHdheSBvZiBhY2N1bXVsYXRpbmcgdGhlIG1hcmt1cC4KIC8vIFdlJ3JlIGNv
bnZlcnRpbmcgcmVzdWx0cyBvZiBhcHBlbmRTdGFydE1hcmt1cCBhbmQgYXBwZW5kRW5kTWFya3Vw
IGZyb20gU3RyaW5nQnVpbGRlciB0byBTdHJpbmcKIC8vIGFuZCB0aGVuIGJhY2sgdG8gU3RyaW5n
QnVpbGRlciBhbmQgYWdhaW4gdG8gU3RyaW5nIGhlcmUuCi12b2lkIE1hcmt1cEFjY3VtdWxhdG9y
Ojpjb25jYXRlbmF0ZU1hcmt1cChTdHJpbmdCdWlsZGVyJiBvdXQpCit2b2lkIE1hcmt1cEFjY3Vt
dWxhdG9yOjpjb25jYXRlbmF0ZU1hcmt1cChTdHJpbmdCdWlsZGVyJiByZXN1bHQpCiB7CiAgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX3N1Y2NlZWRpbmdNYXJrdXAuc2l6ZSgpOyArK2kpCi0g
ICAgICAgIG91dC5hcHBlbmQobV9zdWNjZWVkaW5nTWFya3VwW2ldKTsKKyAgICAgICAgcmVzdWx0
LmFwcGVuZChtX3N1Y2NlZWRpbmdNYXJrdXBbaV0pOwogfQogCiB2b2lkIE1hcmt1cEFjY3VtdWxh
dG9yOjphcHBlbmRBdHRyaWJ1dGVWYWx1ZShTdHJpbmdCdWlsZGVyJiByZXN1bHQsIGNvbnN0IFN0
cmluZyYgYXR0cmlidXRlLCBib29sIGRvY3VtZW50SXNIVE1MKQpAQCAtMjA2LDcgKzIwNiw3IEBA
IHZvaWQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZFF1b3RlZFVSTEF0dHJpYnV0ZVZhbHVlKFN0
cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uCiAgICAgcmVzdWx0LmFwcGVuZChxdW90ZUNoYXIpOwog
fQogCi12b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmROb2RlVmFsdWUoU3RyaW5nQnVpbGRl
ciYgb3V0LCBjb25zdCBOb2RlKiBub2RlLCBjb25zdCBSYW5nZSogcmFuZ2UsIEVudGl0eU1hc2sg
ZW50aXR5TWFzaykKK3ZvaWQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZE5vZGVWYWx1ZShTdHJp
bmdCdWlsZGVyJiByZXN1bHQsIGNvbnN0IE5vZGUqIG5vZGUsIGNvbnN0IFJhbmdlKiByYW5nZSwg
RW50aXR5TWFzayBlbnRpdHlNYXNrKQogewogICAgIFN0cmluZyBzdHIgPSBub2RlLT5ub2RlVmFs
dWUoKTsKICAgICBjb25zdCBVQ2hhciogY2hhcmFjdGVycyA9IHN0ci5jaGFyYWN0ZXJzKCk7CkBA
IC0yMjMsNyArMjIzLDcgQEAgdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kTm9kZVZhbHVl
KFN0cmluZ0J1aWxkZXImIG91dCwgY29uc3QgTm9kZSogbm9kZSwgY28KICAgICAgICAgfQogICAg
IH0KIAotICAgIGFwcGVuZENoYXJhY3RlcnNSZXBsYWNpbmdFbnRpdGllcyhvdXQsIGNoYXJhY3Rl
cnMsIGxlbmd0aCwgZW50aXR5TWFzayk7CisgICAgYXBwZW5kQ2hhcmFjdGVyc1JlcGxhY2luZ0Vu
dGl0aWVzKHJlc3VsdCwgY2hhcmFjdGVycywgbGVuZ3RoLCBlbnRpdHlNYXNrKTsKIH0KIAogYm9v
bCBNYXJrdXBBY2N1bXVsYXRvcjo6c2hvdWxkQWRkTmFtZXNwYWNlRWxlbWVudChjb25zdCBFbGVt
ZW50KiBlbGVtZW50KQpAQCAtMjQ2LDEzICsyNDYsMTMgQEAgYm9vbCBNYXJrdXBBY2N1bXVsYXRv
cjo6c2hvdWxkQWRkTmFtZXNwYWNlQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRl
LAogICAgICAgICBuYW1lc3BhY2VzLnNldChlbXB0eUF0b20uaW1wbCgpLCBhdHRyaWJ1dGUudmFs
dWUoKS5pbXBsKCkpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQotICAgIAorCiAgICAg
UXVhbGlmaWVkTmFtZSB4bWxuc1ByZWZpeEF0dHIoeG1sbnNBdG9tLCBhdHRyaWJ1dGUubG9jYWxO
YW1lKCksIFhNTE5TTmFtZXM6OnhtbG5zTmFtZXNwYWNlVVJJKTsKICAgICBpZiAoYXR0cmlidXRl
Lm5hbWUoKSA9PSB4bWxuc1ByZWZpeEF0dHIpIHsKICAgICAgICAgbmFtZXNwYWNlcy5zZXQoYXR0
cmlidXRlLmxvY2FsTmFtZSgpLmltcGwoKSwgYXR0cmlidXRlLnZhbHVlKCkuaW1wbCgpKTsKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KLSAgICAKKwogICAgIHJldHVybiB0cnVlOwogfQog
CkBAIC0yNjEsNyArMjYxLDcgQEAgdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kTmFtZXNw
YWNlKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgQXRvbWljU3RyaW4KICAgICBuYW1lc3Bh
Y2VzLmNoZWNrQ29uc2lzdGVuY3koKTsKICAgICBpZiAobmFtZXNwYWNlVVJJLmlzRW1wdHkoKSkK
ICAgICAgICAgcmV0dXJuOwotICAgICAgICAKKwogICAgIC8vIFVzZSBlbXB0eUF0b21zJ3MgaW1w
bCgpIGZvciBib3RoIG51bGwgYW5kIGVtcHR5IHN0cmluZ3Mgc2luY2UgdGhlIEhhc2hNYXAgY2Fu
J3QgaGFuZGxlIDAgYXMgYSBrZXkKICAgICBBdG9taWNTdHJpbmdJbXBsKiBwcmUgPSBwcmVmaXgu
aXNFbXB0eSgpID8gZW1wdHlBdG9tLmltcGwoKSA6IHByZWZpeC5pbXBsKCk7CiAgICAgQXRvbWlj
U3RyaW5nSW1wbCogZm91bmROUyA9IG5hbWVzcGFjZXMuZ2V0KHByZSk7CkBAIC0yODYsMjQgKzI4
NiwyNCBAQCBFbnRpdHlNYXNrIE1hcmt1cEFjY3VtdWxhdG9yOjplbnRpdHlNYXNrRm9yVGV4dChU
ZXh0KiB0ZXh0KSBjb25zdAogICAgIGNvbnN0IFF1YWxpZmllZE5hbWUqIHBhcmVudE5hbWUgPSAw
OwogICAgIGlmICh0ZXh0LT5wYXJlbnRFbGVtZW50KCkpCiAgICAgICAgIHBhcmVudE5hbWUgPSAm
c3RhdGljX2Nhc3Q8RWxlbWVudCo+KHRleHQtPnBhcmVudEVsZW1lbnQoKSktPnRhZ1FOYW1lKCk7
Ci0gICAgCisKICAgICBpZiAocGFyZW50TmFtZSAmJiAoKnBhcmVudE5hbWUgPT0gc2NyaXB0VGFn
IHx8ICpwYXJlbnROYW1lID09IHN0eWxlVGFnIHx8ICpwYXJlbnROYW1lID09IHhtcFRhZykpCiAg
ICAgICAgIHJldHVybiBFbnRpdHlNYXNrSW5DREFUQTsKIAogICAgIHJldHVybiB0ZXh0LT5kb2N1
bWVudCgpLT5pc0hUTUxEb2N1bWVudCgpID8gRW50aXR5TWFza0luSFRNTFBDREFUQSA6IEVudGl0
eU1hc2tJblBDREFUQTsKIH0KIAotdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kVGV4dChT
dHJpbmdCdWlsZGVyJiBvdXQsIFRleHQqIHRleHQpCit2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjph
cHBlbmRUZXh0KFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgVGV4dCogdGV4dCkKIHsKLSAgICBhcHBl
bmROb2RlVmFsdWUob3V0LCB0ZXh0LCBtX3JhbmdlLCBlbnRpdHlNYXNrRm9yVGV4dCh0ZXh0KSk7
CisgICAgYXBwZW5kTm9kZVZhbHVlKHJlc3VsdCwgdGV4dCwgbV9yYW5nZSwgZW50aXR5TWFza0Zv
clRleHQodGV4dCkpOwogfQogCi12b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRDb21tZW50
KFN0cmluZ0J1aWxkZXImIG91dCwgY29uc3QgU3RyaW5nJiBjb21tZW50KQordm9pZCBNYXJrdXBB
Y2N1bXVsYXRvcjo6YXBwZW5kQ29tbWVudChTdHJpbmdCdWlsZGVyJiByZXN1bHQsIGNvbnN0IFN0
cmluZyYgY29tbWVudCkKIHsKICAgICAvLyBGSVhNRTogQ29tbWVudCBjb250ZW50IGlzIG5vdCBl
c2NhcGVkLCBidXQgWE1MU2VyaWFsaXplciAoYW5kIHBvc3NpYmx5IG90aGVyIGNhbGxlcnMpIHNo
b3VsZCByYWlzZSBhbiBleGNlcHRpb24gaWYgaXQgaW5jbHVkZXMgIi0tPiIuCi0gICAgb3V0LmFw
cGVuZCgiPCEtLSIpOwotICAgIG91dC5hcHBlbmQoY29tbWVudCk7Ci0gICAgb3V0LmFwcGVuZCgi
LS0+Iik7CisgICAgcmVzdWx0LmFwcGVuZCgiPCEtLSIpOworICAgIHJlc3VsdC5hcHBlbmQoY29t
bWVudCk7CisgICAgcmVzdWx0LmFwcGVuZCgiLS0+Iik7CiB9CiAKIHZvaWQgTWFya3VwQWNjdW11
bGF0b3I6OmFwcGVuZERvY3VtZW50VHlwZShTdHJpbmdCdWlsZGVyJiByZXN1bHQsIGNvbnN0IERv
Y3VtZW50VHlwZSogbikKQEAgLTMzNSw4MSArMzM1LDgxIEBAIHZvaWQgTWFya3VwQWNjdW11bGF0
b3I6OmFwcGVuZERvY3VtZW50VHlwZShTdHJpbmdCdWlsZGVyJiByZXN1bHQsIGNvbnN0IERvY3Vt
ZW50CiAgICAgcmVzdWx0LmFwcGVuZCgiPiIpOwogfQogCi12b2lkIE1hcmt1cEFjY3VtdWxhdG9y
OjphcHBlbmRQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oU3RyaW5nQnVpbGRlciYgb3V0LCBjb25zdCBT
dHJpbmcmIHRhcmdldCwgY29uc3QgU3RyaW5nJiBkYXRhKQordm9pZCBNYXJrdXBBY2N1bXVsYXRv
cjo6YXBwZW5kUHJvY2Vzc2luZ0luc3RydWN0aW9uKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29u
c3QgU3RyaW5nJiB0YXJnZXQsIGNvbnN0IFN0cmluZyYgZGF0YSkKIHsKICAgICAvLyBGSVhNRTog
UEkgZGF0YSBpcyBub3QgZXNjYXBlZCwgYnV0IFhNTFNlcmlhbGl6ZXIgKGFuZCBwb3NzaWJseSBv
dGhlciBjYWxsZXJzKSB0aGlzIHNob3VsZCByYWlzZSBhbiBleGNlcHRpb24gaWYgaXQgaW5jbHVk
ZXMgIj8+Ii4KLSAgICBvdXQuYXBwZW5kKCI8PyIpOwotICAgIG91dC5hcHBlbmQodGFyZ2V0KTsK
LSAgICBvdXQuYXBwZW5kKCIgIik7Ci0gICAgb3V0LmFwcGVuZChkYXRhKTsKLSAgICBvdXQuYXBw
ZW5kKCI/PiIpOworICAgIHJlc3VsdC5hcHBlbmQoIjw/Iik7CisgICAgcmVzdWx0LmFwcGVuZCh0
YXJnZXQpOworICAgIHJlc3VsdC5hcHBlbmQoIiAiKTsKKyAgICByZXN1bHQuYXBwZW5kKGRhdGEp
OworICAgIHJlc3VsdC5hcHBlbmQoIj8+Iik7CiB9CiAKLXZvaWQgTWFya3VwQWNjdW11bGF0b3I6
OmFwcGVuZEVsZW1lbnQoU3RyaW5nQnVpbGRlciYgb3V0LCBFbGVtZW50KiBlbGVtZW50LCBOYW1l
c3BhY2VzKiBuYW1lc3BhY2VzKQordm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kRWxlbWVu
dChTdHJpbmdCdWlsZGVyJiByZXN1bHQsIEVsZW1lbnQqIGVsZW1lbnQsIE5hbWVzcGFjZXMqIG5h
bWVzcGFjZXMpCiB7Ci0gICAgYXBwZW5kT3BlblRhZyhvdXQsIGVsZW1lbnQsIG5hbWVzcGFjZXMp
OworICAgIGFwcGVuZE9wZW5UYWcocmVzdWx0LCBlbGVtZW50LCBuYW1lc3BhY2VzKTsKIAogICAg
IGlmIChlbGVtZW50LT5oYXNBdHRyaWJ1dGVzKCkpIHsKICAgICAgICAgdW5zaWduZWQgbGVuZ3Ro
ID0gZWxlbWVudC0+YXR0cmlidXRlQ291bnQoKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpbnQg
aSA9IDA7IGkgPCBsZW5ndGg7IGkrKykKLSAgICAgICAgICAgIGFwcGVuZEF0dHJpYnV0ZShvdXQs
IGVsZW1lbnQsICplbGVtZW50LT5hdHRyaWJ1dGVJdGVtKGkpLCBuYW1lc3BhY2VzKTsKKyAgICAg
ICAgICAgIGFwcGVuZEF0dHJpYnV0ZShyZXN1bHQsIGVsZW1lbnQsICplbGVtZW50LT5hdHRyaWJ1
dGVJdGVtKGkpLCBuYW1lc3BhY2VzKTsKICAgICB9CiAKICAgICAvLyBHaXZlIGFuIG9wcG9ydHVu
aXR5IHRvIHN1YmNsYXNzZXMgdG8gYWRkIHRoZWlyIG93biBhdHRyaWJ1dGVzLgotICAgIGFwcGVu
ZEN1c3RvbUF0dHJpYnV0ZXMob3V0LCBlbGVtZW50LCBuYW1lc3BhY2VzKTsKKyAgICBhcHBlbmRD
dXN0b21BdHRyaWJ1dGVzKHJlc3VsdCwgZWxlbWVudCwgbmFtZXNwYWNlcyk7CiAKLSAgICBhcHBl
bmRDbG9zZVRhZyhvdXQsIGVsZW1lbnQpOworICAgIGFwcGVuZENsb3NlVGFnKHJlc3VsdCwgZWxl
bWVudCk7CiB9CiAKLXZvaWQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZE9wZW5UYWcoU3RyaW5n
QnVpbGRlciYgb3V0LCBFbGVtZW50KiBlbGVtZW50LCBOYW1lc3BhY2VzKiBuYW1lc3BhY2VzKQor
dm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kT3BlblRhZyhTdHJpbmdCdWlsZGVyJiByZXN1
bHQsIEVsZW1lbnQqIGVsZW1lbnQsIE5hbWVzcGFjZXMqIG5hbWVzcGFjZXMpCiB7Ci0gICAgb3V0
LmFwcGVuZCgnPCcpOwotICAgIG91dC5hcHBlbmQoZWxlbWVudC0+bm9kZU5hbWVQcmVzZXJ2aW5n
Q2FzZSgpKTsKKyAgICByZXN1bHQuYXBwZW5kKCc8Jyk7CisgICAgcmVzdWx0LmFwcGVuZChlbGVt
ZW50LT5ub2RlTmFtZVByZXNlcnZpbmdDYXNlKCkpOwogICAgIGlmICghZWxlbWVudC0+ZG9jdW1l
bnQoKS0+aXNIVE1MRG9jdW1lbnQoKSAmJiBuYW1lc3BhY2VzICYmIHNob3VsZEFkZE5hbWVzcGFj
ZUVsZW1lbnQoZWxlbWVudCkpCi0gICAgICAgIGFwcGVuZE5hbWVzcGFjZShvdXQsIGVsZW1lbnQt
PnByZWZpeCgpLCBlbGVtZW50LT5uYW1lc3BhY2VVUkkoKSwgKm5hbWVzcGFjZXMpOyAgICAKKyAg
ICAgICAgYXBwZW5kTmFtZXNwYWNlKHJlc3VsdCwgZWxlbWVudC0+cHJlZml4KCksIGVsZW1lbnQt
Pm5hbWVzcGFjZVVSSSgpLCAqbmFtZXNwYWNlcyk7ICAgIAogfQogCi12b2lkIE1hcmt1cEFjY3Vt
dWxhdG9yOjphcHBlbmRDbG9zZVRhZyhTdHJpbmdCdWlsZGVyJiBvdXQsIEVsZW1lbnQqIGVsZW1l
bnQpCit2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRDbG9zZVRhZyhTdHJpbmdCdWlsZGVy
JiByZXN1bHQsIEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgaWYgKHNob3VsZFNlbGZDbG9zZShl
bGVtZW50KSkgewogICAgICAgICBpZiAoZWxlbWVudC0+aXNIVE1MRWxlbWVudCgpKQotICAgICAg
ICAgICAgb3V0LmFwcGVuZCgnICcpOyAvLyBYSFRNTCAxLjAgPC0+IEhUTUwgY29tcGF0aWJpbGl0
eS4KLSAgICAgICAgb3V0LmFwcGVuZCgnLycpOworICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgn
ICcpOyAvLyBYSFRNTCAxLjAgPC0+IEhUTUwgY29tcGF0aWJpbGl0eS4KKyAgICAgICAgcmVzdWx0
LmFwcGVuZCgnLycpOwogICAgIH0KLSAgICBvdXQuYXBwZW5kKCc+Jyk7CisgICAgcmVzdWx0LmFw
cGVuZCgnPicpOwogfQogCi12b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRBdHRyaWJ1dGUo
U3RyaW5nQnVpbGRlciYgb3V0LCBFbGVtZW50KiBlbGVtZW50LCBjb25zdCBBdHRyaWJ1dGUmIGF0
dHJpYnV0ZSwgTmFtZXNwYWNlcyogbmFtZXNwYWNlcykKK3ZvaWQgTWFya3VwQWNjdW11bGF0b3I6
OmFwcGVuZEF0dHJpYnV0ZShTdHJpbmdCdWlsZGVyJiByZXN1bHQsIEVsZW1lbnQqIGVsZW1lbnQs
IGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRlLCBOYW1lc3BhY2VzKiBuYW1lc3BhY2VzKQogewog
ICAgIGJvb2wgZG9jdW1lbnRJc0hUTUwgPSBlbGVtZW50LT5kb2N1bWVudCgpLT5pc0hUTUxEb2N1
bWVudCgpOwogCi0gICAgb3V0LmFwcGVuZCgnICcpOworICAgIHJlc3VsdC5hcHBlbmQoJyAnKTsK
IAogICAgIGlmIChkb2N1bWVudElzSFRNTCkKLSAgICAgICAgb3V0LmFwcGVuZChhdHRyaWJ1dGUu
bmFtZSgpLmxvY2FsTmFtZSgpKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChhdHRyaWJ1dGUubmFt
ZSgpLmxvY2FsTmFtZSgpKTsKICAgICBlbHNlCi0gICAgICAgIG91dC5hcHBlbmQoYXR0cmlidXRl
Lm5hbWUoKS50b1N0cmluZygpKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChhdHRyaWJ1dGUubmFt
ZSgpLnRvU3RyaW5nKCkpOwogCi0gICAgb3V0LmFwcGVuZCgnPScpOworICAgIHJlc3VsdC5hcHBl
bmQoJz0nKTsKIAogICAgIGlmIChlbGVtZW50LT5pc1VSTEF0dHJpYnV0ZShjb25zdF9jYXN0PEF0
dHJpYnV0ZSo+KCZhdHRyaWJ1dGUpKSkKLSAgICAgICAgYXBwZW5kUXVvdGVkVVJMQXR0cmlidXRl
VmFsdWUob3V0LCBlbGVtZW50LCBhdHRyaWJ1dGUpOworICAgICAgICBhcHBlbmRRdW90ZWRVUkxB
dHRyaWJ1dGVWYWx1ZShyZXN1bHQsIGVsZW1lbnQsIGF0dHJpYnV0ZSk7CiAgICAgZWxzZSB7Ci0g
ICAgICAgIG91dC5hcHBlbmQoJ1wiJyk7Ci0gICAgICAgIGFwcGVuZEF0dHJpYnV0ZVZhbHVlKG91
dCwgYXR0cmlidXRlLnZhbHVlKCksIGRvY3VtZW50SXNIVE1MKTsKLSAgICAgICAgb3V0LmFwcGVu
ZCgnXCInKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgnXCInKTsKKyAgICAgICAgYXBwZW5kQXR0
cmlidXRlVmFsdWUocmVzdWx0LCBhdHRyaWJ1dGUudmFsdWUoKSwgZG9jdW1lbnRJc0hUTUwpOwor
ICAgICAgICByZXN1bHQuYXBwZW5kKCdcIicpOwogICAgIH0KIAogICAgIGlmICghZG9jdW1lbnRJ
c0hUTUwgJiYgbmFtZXNwYWNlcyAmJiBzaG91bGRBZGROYW1lc3BhY2VBdHRyaWJ1dGUoYXR0cmli
dXRlLCAqbmFtZXNwYWNlcykpCi0gICAgICAgIGFwcGVuZE5hbWVzcGFjZShvdXQsIGF0dHJpYnV0
ZS5wcmVmaXgoKSwgYXR0cmlidXRlLm5hbWVzcGFjZVVSSSgpLCAqbmFtZXNwYWNlcyk7CisgICAg
ICAgIGFwcGVuZE5hbWVzcGFjZShyZXN1bHQsIGF0dHJpYnV0ZS5wcmVmaXgoKSwgYXR0cmlidXRl
Lm5hbWVzcGFjZVVSSSgpLCAqbmFtZXNwYWNlcyk7CiB9CiAKLXZvaWQgTWFya3VwQWNjdW11bGF0
b3I6OmFwcGVuZENEQVRBU2VjdGlvbihTdHJpbmdCdWlsZGVyJiBvdXQsIGNvbnN0IFN0cmluZyYg
c2VjdGlvbikKK3ZvaWQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZENEQVRBU2VjdGlvbihTdHJp
bmdCdWlsZGVyJiByZXN1bHQsIGNvbnN0IFN0cmluZyYgc2VjdGlvbikKIHsKICAgICAvLyBGSVhN
RTogQ0RBVEEgY29udGVudCBpcyBub3QgZXNjYXBlZCwgYnV0IFhNTFNlcmlhbGl6ZXIgKGFuZCBw
b3NzaWJseSBvdGhlciBjYWxsZXJzKSBzaG91bGQgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIGl0IGlu
Y2x1ZGVzICJdXT4iLgotICAgIG91dC5hcHBlbmQoIjwhW0NEQVRBWyIpOwotICAgIG91dC5hcHBl
bmQoc2VjdGlvbik7Ci0gICAgb3V0LmFwcGVuZCgiXV0+Iik7CisgICAgcmVzdWx0LmFwcGVuZCgi
PCFbQ0RBVEFbIik7CisgICAgcmVzdWx0LmFwcGVuZChzZWN0aW9uKTsKKyAgICByZXN1bHQuYXBw
ZW5kKCJdXT4iKTsKIH0KIAogdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kU3RhcnRNYXJr
dXAoU3RyaW5nQnVpbGRlciYgcmVzdWx0LCBjb25zdCBOb2RlKiBub2RlLCBOYW1lc3BhY2VzKiBu
YW1lc3BhY2VzKQpAQCAtNDY5LDcgKzQ2OSw3IEBAIGJvb2wgTWFya3VwQWNjdW11bGF0b3I6OmVs
ZW1lbnRDYW5ub3RIYXZlRW5kVGFnKGNvbnN0IE5vZGUqIG5vZGUpCiB7CiAgICAgaWYgKCFub2Rl
LT5pc0hUTUxFbGVtZW50KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKKwogICAgIC8v
IEZJWE1FOiBpZUZvcmJpZHNJbnNlcnRIVE1MIG1heSBub3QgYmUgdGhlIHJpZ2h0IGZ1bmN0aW9u
IHRvIGNhbGwgaGVyZQogICAgIC8vIGllRm9yYmlkc0luc2VydEhUTUwgaXMgdXNlZCB0byBkaXNh
bGxvdyBzZXR0aW5nIGlubmVySFRNTC9vdXRlckhUTUwKICAgICAvLyBvciBjcmVhdGVDb250ZXh0
dWFsRnJhZ21lbnQuICBJdCBkb2VzIG5vdCBuZWNlc3NhcmlseSBhbGlnbiB3aXRoCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmgKaW5kZXggYTMxZjkxMjg1OGI3YzYw
N2NlNGVjMjk2MWUwNjc2M2RlNDg0NThiZi4uYzM2YzNhMTE4YTg1Y2JjZTdhMzA4MjBiMzQxYmU2
NWFlN2YwYjQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1
bXVsYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvTWFya3VwQWNjdW11bGF0b3Iu
aApAQCAtNjYsMTIgKzY2LDEyIEBAIHN0cnVjdCBFbnRpdHlEZXNjcmlwdGlvbiB7CiAvLyBGSVhN
RTogTm9uY29weWFibGU/CiBjbGFzcyBNYXJrdXBBY2N1bXVsYXRvciB7CiBwdWJsaWM6Ci0gICAg
TWFya3VwQWNjdW11bGF0b3IoVmVjdG9yPE5vZGUqPiosIEVBYnNvbHV0ZVVSTHMgcmVzb2x2ZVVy
bHNNZXRob2QsIGNvbnN0IFJhbmdlKiA9IDApOworICAgIE1hcmt1cEFjY3VtdWxhdG9yKFZlY3Rv
cjxOb2RlKj4qLCBFQWJzb2x1dGVVUkxzLCBjb25zdCBSYW5nZSogPSAwKTsKICAgICB2aXJ0dWFs
IH5NYXJrdXBBY2N1bXVsYXRvcigpOwogCi0gICAgU3RyaW5nIHNlcmlhbGl6ZU5vZGVzKE5vZGUq
IG5vZGUsIE5vZGUqIG5vZGVUb1NraXAsIEVDaGlsZHJlbk9ubHkgY2hpbGRyZW5Pbmx5KTsKKyAg
ICBTdHJpbmcgc2VyaWFsaXplTm9kZXMoTm9kZSogdGFyZ2V0Tm9kZSwgTm9kZSogbm9kZVRvU2tp
cCwgRUNoaWxkcmVuT25seSk7CiAKLSAgICBzdGF0aWMgdm9pZCBhcHBlbmRDb21tZW50KFN0cmlu
Z0J1aWxkZXImIG91dCwgY29uc3QgU3RyaW5nJiBjb21tZW50KTsKKyAgICBzdGF0aWMgdm9pZCBh
cHBlbmRDb21tZW50KFN0cmluZ0J1aWxkZXImLCBjb25zdCBTdHJpbmcmKTsKIAogcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgdm9pZCBhcHBlbmRTdHJpbmcoY29uc3QgU3RyaW5nJik7CkBAIC03OSw0
MSArNzksNDEgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBhcHBlbmRFbmRUYWcoTm9k
ZSopOwogICAgIHN0YXRpYyBzaXplX3QgdG90YWxMZW5ndGgoY29uc3QgVmVjdG9yPFN0cmluZz4m
KTsKICAgICBzaXplX3QgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gdG90YWxMZW5ndGgobV9zdWNj
ZWVkaW5nTWFya3VwKTsgfQotICAgIHZvaWQgY29uY2F0ZW5hdGVNYXJrdXAoU3RyaW5nQnVpbGRl
ciYgb3V0KTsKLSAgICB2b2lkIGFwcGVuZEF0dHJpYnV0ZVZhbHVlKFN0cmluZ0J1aWxkZXImIHJl
c3VsdCwgY29uc3QgU3RyaW5nJiBhdHRyaWJ1dGUsIGJvb2wgZG9jdW1lbnRJc0hUTUwpOworICAg
IHZvaWQgY29uY2F0ZW5hdGVNYXJrdXAoU3RyaW5nQnVpbGRlciYpOworICAgIHZvaWQgYXBwZW5k
QXR0cmlidXRlVmFsdWUoU3RyaW5nQnVpbGRlciYsIGNvbnN0IFN0cmluZyYsIGJvb2wpOwogICAg
IHZpcnR1YWwgdm9pZCBhcHBlbmRDdXN0b21BdHRyaWJ1dGVzKFN0cmluZ0J1aWxkZXImLCBFbGVt
ZW50KiwgTmFtZXNwYWNlcyopOwotICAgIHZvaWQgYXBwZW5kTm9kZVZhbHVlKFN0cmluZ0J1aWxk
ZXImIG91dCwgY29uc3QgTm9kZSosIGNvbnN0IFJhbmdlKiwgRW50aXR5TWFzayk7CisgICAgdm9p
ZCBhcHBlbmROb2RlVmFsdWUoU3RyaW5nQnVpbGRlciYsIGNvbnN0IE5vZGUqLCBjb25zdCBSYW5n
ZSosIEVudGl0eU1hc2spOwogICAgIGJvb2wgc2hvdWxkQWRkTmFtZXNwYWNlRWxlbWVudChjb25z
dCBFbGVtZW50Kik7CiAgICAgYm9vbCBzaG91bGRBZGROYW1lc3BhY2VBdHRyaWJ1dGUoY29uc3Qg
QXR0cmlidXRlJiwgTmFtZXNwYWNlcyYpOwotICAgIHZvaWQgYXBwZW5kTmFtZXNwYWNlKFN0cmlu
Z0J1aWxkZXImIHJlc3VsdCwgY29uc3QgQXRvbWljU3RyaW5nJiBwcmVmaXgsIGNvbnN0IEF0b21p
Y1N0cmluZyYgbmFtZXNwYWNlVVJJLCBOYW1lc3BhY2VzJik7CisgICAgdm9pZCBhcHBlbmROYW1l
c3BhY2UoU3RyaW5nQnVpbGRlciYsIGNvbnN0IEF0b21pY1N0cmluZyYgcHJlZml4LCBjb25zdCBB
dG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSwgTmFtZXNwYWNlcyYpOwogICAgIEVudGl0eU1hc2sg
ZW50aXR5TWFza0ZvclRleHQoVGV4dCopIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBhcHBlbmRU
ZXh0KFN0cmluZ0J1aWxkZXImIG91dCwgVGV4dCopOwotICAgIHZvaWQgYXBwZW5kRG9jdW1lbnRU
eXBlKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgRG9jdW1lbnRUeXBlKik7Ci0gICAgdm9p
ZCBhcHBlbmRQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oU3RyaW5nQnVpbGRlciYgb3V0LCBjb25zdCBT
dHJpbmcmIHRhcmdldCwgY29uc3QgU3RyaW5nJiBkYXRhKTsKLSAgICB2aXJ0dWFsIHZvaWQgYXBw
ZW5kRWxlbWVudChTdHJpbmdCdWlsZGVyJiBvdXQsIEVsZW1lbnQqLCBOYW1lc3BhY2VzKik7Ci0g
ICAgdm9pZCBhcHBlbmRPcGVuVGFnKFN0cmluZ0J1aWxkZXImIG91dCwgRWxlbWVudCosIE5hbWVz
cGFjZXMqKTsKLSAgICB2b2lkIGFwcGVuZENsb3NlVGFnKFN0cmluZ0J1aWxkZXImIG91dCwgRWxl
bWVudCopOwotICAgIHZvaWQgYXBwZW5kQXR0cmlidXRlKFN0cmluZ0J1aWxkZXImIG91dCwgRWxl
bWVudCosIGNvbnN0IEF0dHJpYnV0ZSYsIE5hbWVzcGFjZXMqKTsKLSAgICB2b2lkIGFwcGVuZENE
QVRBU2VjdGlvbihTdHJpbmdCdWlsZGVyJiBvdXQsIGNvbnN0IFN0cmluZyYgc2VjdGlvbik7Ci0g
ICAgdm9pZCBhcHBlbmRTdGFydE1hcmt1cChTdHJpbmdCdWlsZGVyJiByZXN1bHQsIGNvbnN0IE5v
ZGUqLCBOYW1lc3BhY2VzKik7CisgICAgdmlydHVhbCB2b2lkIGFwcGVuZFRleHQoU3RyaW5nQnVp
bGRlciYsIFRleHQqKTsKKyAgICB2b2lkIGFwcGVuZERvY3VtZW50VHlwZShTdHJpbmdCdWlsZGVy
JiwgY29uc3QgRG9jdW1lbnRUeXBlKik7CisgICAgdm9pZCBhcHBlbmRQcm9jZXNzaW5nSW5zdHJ1
Y3Rpb24oU3RyaW5nQnVpbGRlciYsIGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBjb25zdCBTdHJpbmcm
IGRhdGEpOworICAgIHZpcnR1YWwgdm9pZCBhcHBlbmRFbGVtZW50KFN0cmluZ0J1aWxkZXImLCBF
bGVtZW50KiwgTmFtZXNwYWNlcyopOworICAgIHZvaWQgYXBwZW5kT3BlblRhZyhTdHJpbmdCdWls
ZGVyJiwgRWxlbWVudCosIE5hbWVzcGFjZXMqKTsKKyAgICB2b2lkIGFwcGVuZENsb3NlVGFnKFN0
cmluZ0J1aWxkZXImLCBFbGVtZW50Kik7CisgICAgdm9pZCBhcHBlbmRBdHRyaWJ1dGUoU3RyaW5n
QnVpbGRlciYsIEVsZW1lbnQqLCBjb25zdCBBdHRyaWJ1dGUmLCBOYW1lc3BhY2VzKik7CisgICAg
dm9pZCBhcHBlbmRDREFUQVNlY3Rpb24oU3RyaW5nQnVpbGRlciYsIGNvbnN0IFN0cmluZyYpOwor
ICAgIHZvaWQgYXBwZW5kU3RhcnRNYXJrdXAoU3RyaW5nQnVpbGRlciYsIGNvbnN0IE5vZGUqLCBO
YW1lc3BhY2VzKik7CiAgICAgYm9vbCBzaG91bGRTZWxmQ2xvc2UoY29uc3QgTm9kZSopOwotICAg
IGJvb2wgZWxlbWVudENhbm5vdEhhdmVFbmRUYWcoY29uc3QgTm9kZSogbm9kZSk7Ci0gICAgdm9p
ZCBhcHBlbmRFbmRNYXJrdXAoU3RyaW5nQnVpbGRlciYgcmVzdWx0LCBjb25zdCBOb2RlKik7Cisg
ICAgYm9vbCBlbGVtZW50Q2Fubm90SGF2ZUVuZFRhZyhjb25zdCBOb2RlKik7CisgICAgdm9pZCBh
cHBlbmRFbmRNYXJrdXAoU3RyaW5nQnVpbGRlciYsIGNvbnN0IE5vZGUqKTsKIAogICAgIFZlY3Rv
cjxOb2RlKj4qIGNvbnN0IG1fbm9kZXM7CiAgICAgY29uc3QgUmFuZ2UqIGNvbnN0IG1fcmFuZ2U7
CiAKIHByaXZhdGU6Ci0gICAgU3RyaW5nIHJlc29sdmVVUkxJZk5lZWRlZChjb25zdCBFbGVtZW50
KiwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpIGNvbnN0OwotICAgIHZvaWQgYXBwZW5kUXVvdGVk
VVJMQXR0cmlidXRlVmFsdWUoU3RyaW5nQnVpbGRlciYgcmVzdWx0LCBjb25zdCBFbGVtZW50Kiwg
Y29uc3QgQXR0cmlidXRlJik7Ci0gICAgdm9pZCBzZXJpYWxpemVOb2Rlc1dpdGhOYW1lc3BhY2Vz
KE5vZGUqLCBOb2RlKiBub2RlVG9Ta2lwLCBFQ2hpbGRyZW5Pbmx5LCBjb25zdCBOYW1lc3BhY2Vz
Kik7CisgICAgU3RyaW5nIHJlc29sdmVVUkxJZk5lZWRlZChjb25zdCBFbGVtZW50KiwgY29uc3Qg
U3RyaW5nJikgY29uc3Q7CisgICAgdm9pZCBhcHBlbmRRdW90ZWRVUkxBdHRyaWJ1dGVWYWx1ZShT
dHJpbmdCdWlsZGVyJiwgY29uc3QgRWxlbWVudCosIGNvbnN0IEF0dHJpYnV0ZSYpOworICAgIHZv
aWQgc2VyaWFsaXplTm9kZXNXaXRoTmFtZXNwYWNlcyhOb2RlKiB0YXJnZXROb2RlLCBOb2RlKiBu
b2RlVG9Ta2lwLCBFQ2hpbGRyZW5Pbmx5LCBjb25zdCBOYW1lc3BhY2VzKik7CiAKICAgICBWZWN0
b3I8U3RyaW5nPiBtX3N1Y2NlZWRpbmdNYXJrdXA7CiAgICAgY29uc3QgRUFic29sdXRlVVJMcyBt
X3Jlc29sdmVVUkxzTWV0aG9kOwogfTsKIAogLy8gRklYTUU6IFRoaXMgbWV0aG9kIHNob3VsZCBi
ZSBpbnRlZ3JhdGVkIHdpdGggTWFya3VwQWNjdW11bGF0b3IuCi12b2lkIGFwcGVuZENoYXJhY3Rl
cnNSZXBsYWNpbmdFbnRpdGllcyhTdHJpbmdCdWlsZGVyJiBvdXQsIGNvbnN0IFVDaGFyKiBjb250
ZW50LCBzaXplX3QgbGVuZ3RoLCBFbnRpdHlNYXNrKTsKK3ZvaWQgYXBwZW5kQ2hhcmFjdGVyc1Jl
cGxhY2luZ0VudGl0aWVzKFN0cmluZ0J1aWxkZXImLCBjb25zdCBVQ2hhciosIHNpemVfdCwgRW50
aXR5TWFzayk7CiAKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>