<?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>145376</bug_id>
          
          <creation_ts>2015-05-26 02:16:27 -0700</creation_ts>
          <short_desc>Purge PassRefPtr in StringConcatenate.h</short_desc>
          <delta_ts>2015-05-28 18:08:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>144092</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1097287</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-26 02:16:27 -0700</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097288</commentid>
    <comment_count>1</comment_count>
      <attachid>253698</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-26 02:17:38 -0700</bug_when>
    <thetext>Created attachment 253698
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098039</commentid>
    <comment_count>2</comment_count>
      <attachid>253698</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-28 18:08:24 -0700</bug_when>
    <thetext>Comment on attachment 253698
Patch

Clearing flags on attachment: 253698

Committed r184972: &lt;http://trac.webkit.org/changeset/184972&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098040</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-28 18:08:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253698</attachid>
            <date>2015-05-26 02:17:38 -0700</date>
            <delta_ts>2015-05-28 18:08:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145376-20150526181727.patch</filename>
            <type>text/plain</type>
            <size>20188</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDA1YWM5MmM3YTEwOGZkNDkzNDFiODcx
YTQ2ODY1YWM1OGJjNDJjYzcuLjkyYzAwZDE2NWUyZDk0ZGUzZjVkNzgwODk5OThhMzllY2ZjYTli
YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTUtMDUtMjYgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUB3ZWJraXQub3JnPgorCisgICAgICAgIFB1cmdlIFBhc3NSZWZQdHIgaW4gU3RyaW5n
Q29uY2F0ZW5hdGUuaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ1Mzc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVwbGFjZSBQYXNzUmVmUHRyIHdpdGggUmVmUHRyLiBBZGRpdGlvbmFsbHkgdXNlIG51
bGxwdHIgaW5zdGVhZCBvZiAwLgorCisgICAgICAgICogd3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5h
dGUuaDoKKyAgICAgICAgKFdURjo6dHJ5TWFrZVN0cmluZyk6CisgICAgICAgIChXVEY6Om1ha2VT
dHJpbmcpOgorCiAyMDE1LTA1LTIzICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIHVudXNlZCBkZWZpbml0aW9ucyBvZiBXRUJLSVRfVkVSU0lPTl9NSU5f
UkVRVUlSRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5h
dGUuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGUuaAppbmRleCAyMmRl
NzEzZGM0NmVmN2JiMjEwMDU4OTZkNWY2MDU3YzEyMDdkNjYyLi44Y2M0YjU4ZTIwNTMzZmFmNDEz
NDJhZGE4YWZkOWFmODE2MGEwNTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0
cmluZ0NvbmNhdGVuYXRlLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdDb25jYXRl
bmF0ZS5oCkBAIC0yNTYsNyArMjU2LDcgQEAgaW5saW5lIHZvaWQgc3VtV2l0aE92ZXJmbG93KHVu
c2lnbmVkJiB0b3RhbCwgdW5zaWduZWQgYWRkZW5kLCBib29sJiBvdmVyZmxvdykKIH0KIAogdGVt
cGxhdGU8dHlwZW5hbWUgU3RyaW5nVHlwZTEsIHR5cGVuYW1lIFN0cmluZ1R5cGUyPgotUGFzc1Jl
ZlB0cjxTdHJpbmdJbXBsPiB0cnlNYWtlU3RyaW5nKFN0cmluZ1R5cGUxIHN0cmluZzEsIFN0cmlu
Z1R5cGUyIHN0cmluZzIpCitSZWZQdHI8U3RyaW5nSW1wbD4gdHJ5TWFrZVN0cmluZyhTdHJpbmdU
eXBlMSBzdHJpbmcxLCBTdHJpbmdUeXBlMiBzdHJpbmcyKQogewogICAgIFN0cmluZ1R5cGVBZGFw
dGVyPFN0cmluZ1R5cGUxPiBhZGFwdGVyMShzdHJpbmcxKTsKICAgICBTdHJpbmdUeXBlQWRhcHRl
cjxTdHJpbmdUeXBlMj4gYWRhcHRlcjIoc3RyaW5nMik7CkBAIC0yNjUsMzcgKzI2NSwzNyBAQCBQ
YXNzUmVmUHRyPFN0cmluZ0ltcGw+IHRyeU1ha2VTdHJpbmcoU3RyaW5nVHlwZTEgc3RyaW5nMSwg
U3RyaW5nVHlwZTIgc3RyaW5nMikKICAgICB1bnNpZ25lZCBsZW5ndGggPSBhZGFwdGVyMS5sZW5n
dGgoKTsKICAgICBzdW1XaXRoT3ZlcmZsb3cobGVuZ3RoLCBhZGFwdGVyMi5sZW5ndGgoKSwgb3Zl
cmZsb3cpOwogICAgIGlmIChvdmVyZmxvdykKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJl
dHVybiBudWxscHRyOwogCiAgICAgaWYgKGFkYXB0ZXIxLmlzOEJpdCgpICYmIGFkYXB0ZXIyLmlz
OEJpdCgpKSB7CiAgICAgICAgIExDaGFyKiBidWZmZXI7CiAgICAgICAgIFJlZlB0cjxTdHJpbmdJ
bXBsPiByZXN1bHRJbXBsID0gU3RyaW5nSW1wbDo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZChsZW5n
dGgsIGJ1ZmZlcik7CiAgICAgICAgIGlmICghcmVzdWx0SW1wbCkKLSAgICAgICAgICAgIHJldHVy
biAwOworICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgTENoYXIqIHJlc3Vs
dCA9IGJ1ZmZlcjsKICAgICAgICAgYWRhcHRlcjEud3JpdGVUbyhyZXN1bHQpOwogICAgICAgICBy
ZXN1bHQgKz0gYWRhcHRlcjEubGVuZ3RoKCk7CiAgICAgICAgIGFkYXB0ZXIyLndyaXRlVG8ocmVz
dWx0KTsKIAotICAgICAgICByZXR1cm4gcmVzdWx0SW1wbC5yZWxlYXNlKCk7CisgICAgICAgIHJl
dHVybiBXVEY6Om1vdmUocmVzdWx0SW1wbCk7CiAgICAgfQogCiAgICAgVUNoYXIqIGJ1ZmZlcjsK
ICAgICBSZWZQdHI8U3RyaW5nSW1wbD4gcmVzdWx0SW1wbCA9IFN0cmluZ0ltcGw6OnRyeUNyZWF0
ZVVuaW5pdGlhbGl6ZWQobGVuZ3RoLCBidWZmZXIpOwogICAgIGlmICghcmVzdWx0SW1wbCkKLSAg
ICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgVUNoYXIqIHJl
c3VsdCA9IGJ1ZmZlcjsKICAgICBhZGFwdGVyMS53cml0ZVRvKHJlc3VsdCk7CiAgICAgcmVzdWx0
ICs9IGFkYXB0ZXIxLmxlbmd0aCgpOwogICAgIGFkYXB0ZXIyLndyaXRlVG8ocmVzdWx0KTsKIAot
ICAgIHJldHVybiByZXN1bHRJbXBsLnJlbGVhc2UoKTsKKyAgICByZXR1cm4gV1RGOjptb3ZlKHJl
c3VsdEltcGwpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBTdHJpbmdUeXBlMSwgdHlwZW5hbWUg
U3RyaW5nVHlwZTIsIHR5cGVuYW1lIFN0cmluZ1R5cGUzPgotUGFzc1JlZlB0cjxTdHJpbmdJbXBs
PiB0cnlNYWtlU3RyaW5nKFN0cmluZ1R5cGUxIHN0cmluZzEsIFN0cmluZ1R5cGUyIHN0cmluZzIs
IFN0cmluZ1R5cGUzIHN0cmluZzMpCitSZWZQdHI8U3RyaW5nSW1wbD4gdHJ5TWFrZVN0cmluZyhT
dHJpbmdUeXBlMSBzdHJpbmcxLCBTdHJpbmdUeXBlMiBzdHJpbmcyLCBTdHJpbmdUeXBlMyBzdHJp
bmczKQogewogICAgIFN0cmluZ1R5cGVBZGFwdGVyPFN0cmluZ1R5cGUxPiBhZGFwdGVyMShzdHJp
bmcxKTsKICAgICBTdHJpbmdUeXBlQWRhcHRlcjxTdHJpbmdUeXBlMj4gYWRhcHRlcjIoc3RyaW5n
Mik7CkBAIC0zMDYsMTMgKzMwNiwxMyBAQCBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IHRyeU1ha2VT
dHJpbmcoU3RyaW5nVHlwZTEgc3RyaW5nMSwgU3RyaW5nVHlwZTIgc3RyaW5nMiwgUwogICAgIHN1
bVdpdGhPdmVyZmxvdyhsZW5ndGgsIGFkYXB0ZXIyLmxlbmd0aCgpLCBvdmVyZmxvdyk7CiAgICAg
c3VtV2l0aE92ZXJmbG93KGxlbmd0aCwgYWRhcHRlcjMubGVuZ3RoKCksIG92ZXJmbG93KTsKICAg
ICBpZiAob3ZlcmZsb3cpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0
cjsKIAogICAgIGlmIChhZGFwdGVyMS5pczhCaXQoKSAmJiBhZGFwdGVyMi5pczhCaXQoKSAmJiBh
ZGFwdGVyMy5pczhCaXQoKSkgewogICAgICAgICBMQ2hhciogYnVmZmVyOwogICAgICAgICBSZWZQ
dHI8U3RyaW5nSW1wbD4gcmVzdWx0SW1wbCA9IFN0cmluZ0ltcGw6OnRyeUNyZWF0ZVVuaW5pdGlh
bGl6ZWQobGVuZ3RoLCBidWZmZXIpOwogICAgICAgICBpZiAoIXJlc3VsdEltcGwpCi0gICAgICAg
ICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgICAgIExD
aGFyKiByZXN1bHQgPSBidWZmZXI7CiAgICAgICAgIGFkYXB0ZXIxLndyaXRlVG8ocmVzdWx0KTsK
QEAgLTMyMSwxMyArMzIxLDEzIEBAIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gdHJ5TWFrZVN0cmlu
ZyhTdHJpbmdUeXBlMSBzdHJpbmcxLCBTdHJpbmdUeXBlMiBzdHJpbmcyLCBTCiAgICAgICAgIHJl
c3VsdCArPSBhZGFwdGVyMi5sZW5ndGgoKTsKICAgICAgICAgYWRhcHRlcjMud3JpdGVUbyhyZXN1
bHQpOwogCi0gICAgICAgIHJldHVybiByZXN1bHRJbXBsLnJlbGVhc2UoKTsKKyAgICAgICAgcmV0
dXJuIFdURjo6bW92ZShyZXN1bHRJbXBsKTsKICAgICB9CiAKICAgICBVQ2hhciogYnVmZmVyID0g
MDsKICAgICBSZWZQdHI8U3RyaW5nSW1wbD4gcmVzdWx0SW1wbCA9IFN0cmluZ0ltcGw6OnRyeUNy
ZWF0ZVVuaW5pdGlhbGl6ZWQobGVuZ3RoLCBidWZmZXIpOwogICAgIGlmICghcmVzdWx0SW1wbCkK
LSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgVUNoYXIq
IHJlc3VsdCA9IGJ1ZmZlcjsKICAgICBhZGFwdGVyMS53cml0ZVRvKHJlc3VsdCk7CkBAIC0zMzYs
MTEgKzMzNiwxMSBAQCBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IHRyeU1ha2VTdHJpbmcoU3RyaW5n
VHlwZTEgc3RyaW5nMSwgU3RyaW5nVHlwZTIgc3RyaW5nMiwgUwogICAgIHJlc3VsdCArPSBhZGFw
dGVyMi5sZW5ndGgoKTsKICAgICBhZGFwdGVyMy53cml0ZVRvKHJlc3VsdCk7CiAKLSAgICByZXR1
cm4gcmVzdWx0SW1wbC5yZWxlYXNlKCk7CisgICAgcmV0dXJuIFdURjo6bW92ZShyZXN1bHRJbXBs
KTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgU3RyaW5nVHlwZTEsIHR5cGVuYW1lIFN0cmluZ1R5
cGUyLCB0eXBlbmFtZSBTdHJpbmdUeXBlMywgdHlwZW5hbWUgU3RyaW5nVHlwZTQ+Ci1QYXNzUmVm
UHRyPFN0cmluZ0ltcGw+IHRyeU1ha2VTdHJpbmcoU3RyaW5nVHlwZTEgc3RyaW5nMSwgU3RyaW5n
VHlwZTIgc3RyaW5nMiwgU3RyaW5nVHlwZTMgc3RyaW5nMywgU3RyaW5nVHlwZTQgc3RyaW5nNCkK
K1JlZlB0cjxTdHJpbmdJbXBsPiB0cnlNYWtlU3RyaW5nKFN0cmluZ1R5cGUxIHN0cmluZzEsIFN0
cmluZ1R5cGUyIHN0cmluZzIsIFN0cmluZ1R5cGUzIHN0cmluZzMsIFN0cmluZ1R5cGU0IHN0cmlu
ZzQpCiB7CiAgICAgU3RyaW5nVHlwZUFkYXB0ZXI8U3RyaW5nVHlwZTE+IGFkYXB0ZXIxKHN0cmlu
ZzEpOwogICAgIFN0cmluZ1R5cGVBZGFwdGVyPFN0cmluZ1R5cGUyPiBhZGFwdGVyMihzdHJpbmcy
KTsKQEAgLTM1MywxMyArMzUzLDEzIEBAIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gdHJ5TWFrZVN0
cmluZyhTdHJpbmdUeXBlMSBzdHJpbmcxLCBTdHJpbmdUeXBlMiBzdHJpbmcyLCBTCiAgICAgc3Vt
V2l0aE92ZXJmbG93KGxlbmd0aCwgYWRhcHRlcjMubGVuZ3RoKCksIG92ZXJmbG93KTsKICAgICBz
dW1XaXRoT3ZlcmZsb3cobGVuZ3RoLCBhZGFwdGVyNC5sZW5ndGgoKSwgb3ZlcmZsb3cpOwogICAg
IGlmIChvdmVyZmxvdykKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRy
OwogCiAgICAgaWYgKGFkYXB0ZXIxLmlzOEJpdCgpICYmIGFkYXB0ZXIyLmlzOEJpdCgpICYmIGFk
YXB0ZXIzLmlzOEJpdCgpICYmIGFkYXB0ZXI0LmlzOEJpdCgpKSB7CiAgICAgICAgIExDaGFyKiBi
dWZmZXI7CiAgICAgICAgIFJlZlB0cjxTdHJpbmdJbXBsPiByZXN1bHRJbXBsID0gU3RyaW5nSW1w
bDo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZChsZW5ndGgsIGJ1ZmZlcik7CiAgICAgICAgIGlmICgh
cmVzdWx0SW1wbCkKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAKICAgICAgICAgTENoYXIqIHJlc3VsdCA9IGJ1ZmZlcjsKICAgICAgICAgYWRhcHRl
cjEud3JpdGVUbyhyZXN1bHQpOwpAQCAtMzcwLDEzICszNzAsMTMgQEAgUGFzc1JlZlB0cjxTdHJp
bmdJbXBsPiB0cnlNYWtlU3RyaW5nKFN0cmluZ1R5cGUxIHN0cmluZzEsIFN0cmluZ1R5cGUyIHN0
cmluZzIsIFMKICAgICAgICAgcmVzdWx0ICs9IGFkYXB0ZXIzLmxlbmd0aCgpOwogICAgICAgICBh
ZGFwdGVyNC53cml0ZVRvKHJlc3VsdCk7CiAKLSAgICAgICAgcmV0dXJuIHJlc3VsdEltcGwucmVs
ZWFzZSgpOworICAgICAgICByZXR1cm4gV1RGOjptb3ZlKHJlc3VsdEltcGwpOwogICAgIH0KIAog
ICAgIFVDaGFyKiBidWZmZXI7CiAgICAgUmVmUHRyPFN0cmluZ0ltcGw+IHJlc3VsdEltcGwgPSBT
dHJpbmdJbXBsOjp0cnlDcmVhdGVVbmluaXRpYWxpemVkKGxlbmd0aCwgYnVmZmVyKTsKICAgICBp
ZiAoIXJlc3VsdEltcGwpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0
cjsKIAogICAgIFVDaGFyKiByZXN1bHQgPSBidWZmZXI7CiAgICAgYWRhcHRlcjEud3JpdGVUbyhy
ZXN1bHQpOwpAQCAtMzg3LDExICszODcsMTEgQEAgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiB0cnlN
YWtlU3RyaW5nKFN0cmluZ1R5cGUxIHN0cmluZzEsIFN0cmluZ1R5cGUyIHN0cmluZzIsIFMKICAg
ICByZXN1bHQgKz0gYWRhcHRlcjMubGVuZ3RoKCk7CiAgICAgYWRhcHRlcjQud3JpdGVUbyhyZXN1
bHQpOwogCi0gICAgcmV0dXJuIHJlc3VsdEltcGwucmVsZWFzZSgpOworICAgIHJldHVybiBXVEY6
Om1vdmUocmVzdWx0SW1wbCk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFN0cmluZ1R5cGUxLCB0
eXBlbmFtZSBTdHJpbmdUeXBlMiwgdHlwZW5hbWUgU3RyaW5nVHlwZTMsIHR5cGVuYW1lIFN0cmlu
Z1R5cGU0LCB0eXBlbmFtZSBTdHJpbmdUeXBlNT4KLVBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gdHJ5
TWFrZVN0cmluZyhTdHJpbmdUeXBlMSBzdHJpbmcxLCBTdHJpbmdUeXBlMiBzdHJpbmcyLCBTdHJp
bmdUeXBlMyBzdHJpbmczLCBTdHJpbmdUeXBlNCBzdHJpbmc0LCBTdHJpbmdUeXBlNSBzdHJpbmc1
KQorUmVmUHRyPFN0cmluZ0ltcGw+IHRyeU1ha2VTdHJpbmcoU3RyaW5nVHlwZTEgc3RyaW5nMSwg
U3RyaW5nVHlwZTIgc3RyaW5nMiwgU3RyaW5nVHlwZTMgc3RyaW5nMywgU3RyaW5nVHlwZTQgc3Ry
aW5nNCwgU3RyaW5nVHlwZTUgc3RyaW5nNSkKIHsKICAgICBTdHJpbmdUeXBlQWRhcHRlcjxTdHJp
bmdUeXBlMT4gYWRhcHRlcjEoc3RyaW5nMSk7CiAgICAgU3RyaW5nVHlwZUFkYXB0ZXI8U3RyaW5n
VHlwZTI+IGFkYXB0ZXIyKHN0cmluZzIpOwpAQCAtNDA2LDEzICs0MDYsMTMgQEAgUGFzc1JlZlB0
cjxTdHJpbmdJbXBsPiB0cnlNYWtlU3RyaW5nKFN0cmluZ1R5cGUxIHN0cmluZzEsIFN0cmluZ1R5
cGUyIHN0cmluZzIsIFMKICAgICBzdW1XaXRoT3ZlcmZsb3cobGVuZ3RoLCBhZGFwdGVyNC5sZW5n
dGgoKSwgb3ZlcmZsb3cpOwogICAgIHN1bVdpdGhPdmVyZmxvdyhsZW5ndGgsIGFkYXB0ZXI1Lmxl
bmd0aCgpLCBvdmVyZmxvdyk7CiAgICAgaWYgKG92ZXJmbG93KQotICAgICAgICByZXR1cm4gMDsK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBpZiAoYWRhcHRlcjEuaXM4Qml0KCkgJiYg
YWRhcHRlcjIuaXM4Qml0KCkgJiYgYWRhcHRlcjMuaXM4Qml0KCkgJiYgYWRhcHRlcjQuaXM4Qml0
KCkgJiYgYWRhcHRlcjUuaXM4Qml0KCkpIHsKICAgICAgICAgTENoYXIqIGJ1ZmZlcjsKICAgICAg
ICAgUmVmUHRyPFN0cmluZ0ltcGw+IHJlc3VsdEltcGwgPSBTdHJpbmdJbXBsOjp0cnlDcmVhdGVV
bmluaXRpYWxpemVkKGxlbmd0aCwgYnVmZmVyKTsKICAgICAgICAgaWYgKCFyZXN1bHRJbXBsKQot
ICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAg
ICAgICBMQ2hhciogcmVzdWx0ID0gYnVmZmVyOwogICAgICAgICBhZGFwdGVyMS53cml0ZVRvKHJl
c3VsdCk7CkBAIC00MjUsMTMgKzQyNSwxMyBAQCBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IHRyeU1h
a2VTdHJpbmcoU3RyaW5nVHlwZTEgc3RyaW5nMSwgU3RyaW5nVHlwZTIgc3RyaW5nMiwgUwogICAg
ICAgICByZXN1bHQgKz0gYWRhcHRlcjQubGVuZ3RoKCk7CiAgICAgICAgIGFkYXB0ZXI1LndyaXRl
VG8ocmVzdWx0KTsKIAotICAgICAgICByZXR1cm4gcmVzdWx0SW1wbC5yZWxlYXNlKCk7CisgICAg
ICAgIHJldHVybiBXVEY6Om1vdmUocmVzdWx0SW1wbCk7CiAgICAgfQogCiAgICAgVUNoYXIqIGJ1
ZmZlcjsKICAgICBSZWZQdHI8U3RyaW5nSW1wbD4gcmVzdWx0SW1wbCA9IFN0cmluZ0ltcGw6OnRy
eUNyZWF0ZVVuaW5pdGlhbGl6ZWQobGVuZ3RoLCBidWZmZXIpOwogICAgIGlmICghcmVzdWx0SW1w
bCkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgVUNo
YXIqIHJlc3VsdCA9IGJ1ZmZlcjsKICAgICBhZGFwdGVyMS53cml0ZVRvKHJlc3VsdCk7CkBAIC00
NDQsMTEgKzQ0NCwxMSBAQCBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IHRyeU1ha2VTdHJpbmcoU3Ry
aW5nVHlwZTEgc3RyaW5nMSwgU3RyaW5nVHlwZTIgc3RyaW5nMiwgUwogICAgIHJlc3VsdCArPSBh
ZGFwdGVyNC5sZW5ndGgoKTsKICAgICBhZGFwdGVyNS53cml0ZVRvKHJlc3VsdCk7CiAKLSAgICBy
ZXR1cm4gcmVzdWx0SW1wbC5yZWxlYXNlKCk7CisgICAgcmV0dXJuIFdURjo6bW92ZShyZXN1bHRJ
bXBsKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgU3RyaW5nVHlwZTEsIHR5cGVuYW1lIFN0cmlu
Z1R5cGUyLCB0eXBlbmFtZSBTdHJpbmdUeXBlMywgdHlwZW5hbWUgU3RyaW5nVHlwZTQsIHR5cGVu
YW1lIFN0cmluZ1R5cGU1LCB0eXBlbmFtZSBTdHJpbmdUeXBlNj4KLVBhc3NSZWZQdHI8U3RyaW5n
SW1wbD4gdHJ5TWFrZVN0cmluZyhTdHJpbmdUeXBlMSBzdHJpbmcxLCBTdHJpbmdUeXBlMiBzdHJp
bmcyLCBTdHJpbmdUeXBlMyBzdHJpbmczLCBTdHJpbmdUeXBlNCBzdHJpbmc0LCBTdHJpbmdUeXBl
NSBzdHJpbmc1LCBTdHJpbmdUeXBlNiBzdHJpbmc2KQorUmVmUHRyPFN0cmluZ0ltcGw+IHRyeU1h
a2VTdHJpbmcoU3RyaW5nVHlwZTEgc3RyaW5nMSwgU3RyaW5nVHlwZTIgc3RyaW5nMiwgU3RyaW5n
VHlwZTMgc3RyaW5nMywgU3RyaW5nVHlwZTQgc3RyaW5nNCwgU3RyaW5nVHlwZTUgc3RyaW5nNSwg
U3RyaW5nVHlwZTYgc3RyaW5nNikKIHsKICAgICBTdHJpbmdUeXBlQWRhcHRlcjxTdHJpbmdUeXBl
MT4gYWRhcHRlcjEoc3RyaW5nMSk7CiAgICAgU3RyaW5nVHlwZUFkYXB0ZXI8U3RyaW5nVHlwZTI+
IGFkYXB0ZXIyKHN0cmluZzIpOwpAQCAtNDY1LDEzICs0NjUsMTMgQEAgUGFzc1JlZlB0cjxTdHJp
bmdJbXBsPiB0cnlNYWtlU3RyaW5nKFN0cmluZ1R5cGUxIHN0cmluZzEsIFN0cmluZ1R5cGUyIHN0
cmluZzIsIFMKICAgICBzdW1XaXRoT3ZlcmZsb3cobGVuZ3RoLCBhZGFwdGVyNS5sZW5ndGgoKSwg
b3ZlcmZsb3cpOwogICAgIHN1bVdpdGhPdmVyZmxvdyhsZW5ndGgsIGFkYXB0ZXI2Lmxlbmd0aCgp
LCBvdmVyZmxvdyk7CiAgICAgaWYgKG92ZXJmbG93KQotICAgICAgICByZXR1cm4gMDsKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBpZiAoYWRhcHRlcjEuaXM4Qml0KCkgJiYgYWRhcHRl
cjIuaXM4Qml0KCkgJiYgYWRhcHRlcjMuaXM4Qml0KCkgJiYgYWRhcHRlcjQuaXM4Qml0KCkgJiYg
YWRhcHRlcjUuaXM4Qml0KCkgJiYgYWRhcHRlcjYuaXM4Qml0KCkpIHsKICAgICAgICAgTENoYXIq
IGJ1ZmZlcjsKICAgICAgICAgUmVmUHRyPFN0cmluZ0ltcGw+IHJlc3VsdEltcGwgPSBTdHJpbmdJ
bXBsOjp0cnlDcmVhdGVVbmluaXRpYWxpemVkKGxlbmd0aCwgYnVmZmVyKTsKICAgICAgICAgaWYg
KCFyZXN1bHRJbXBsKQotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKIAogICAgICAgICBMQ2hhciogcmVzdWx0ID0gYnVmZmVyOwogICAgICAgICBhZGFw
dGVyMS53cml0ZVRvKHJlc3VsdCk7CkBAIC00ODYsMTMgKzQ4NiwxMyBAQCBQYXNzUmVmUHRyPFN0
cmluZ0ltcGw+IHRyeU1ha2VTdHJpbmcoU3RyaW5nVHlwZTEgc3RyaW5nMSwgU3RyaW5nVHlwZTIg
c3RyaW5nMiwgUwogICAgICAgICByZXN1bHQgKz0gYWRhcHRlcjUubGVuZ3RoKCk7CiAgICAgICAg
IGFkYXB0ZXI2LndyaXRlVG8ocmVzdWx0KTsKIAotICAgICAgICByZXR1cm4gcmVzdWx0SW1wbC5y
ZWxlYXNlKCk7ICAgICAgICAKKyAgICAgICAgcmV0dXJuIFdURjo6bW92ZShyZXN1bHRJbXBsKTsK
ICAgICB9CiAKICAgICBVQ2hhciogYnVmZmVyOwogICAgIFJlZlB0cjxTdHJpbmdJbXBsPiByZXN1
bHRJbXBsID0gU3RyaW5nSW1wbDo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZChsZW5ndGgsIGJ1ZmZl
cik7CiAgICAgaWYgKCFyZXN1bHRJbXBsKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAKICAgICBVQ2hhciogcmVzdWx0ID0gYnVmZmVyOwogICAgIGFkYXB0ZXIx
LndyaXRlVG8ocmVzdWx0KTsKQEAgLTUwNywxMSArNTA3LDExIEBAIFBhc3NSZWZQdHI8U3RyaW5n
SW1wbD4gdHJ5TWFrZVN0cmluZyhTdHJpbmdUeXBlMSBzdHJpbmcxLCBTdHJpbmdUeXBlMiBzdHJp
bmcyLCBTCiAgICAgcmVzdWx0ICs9IGFkYXB0ZXI1Lmxlbmd0aCgpOwogICAgIGFkYXB0ZXI2Lndy
aXRlVG8ocmVzdWx0KTsKIAotICAgIHJldHVybiByZXN1bHRJbXBsLnJlbGVhc2UoKTsKKyAgICBy
ZXR1cm4gV1RGOjptb3ZlKHJlc3VsdEltcGwpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBTdHJp
bmdUeXBlMSwgdHlwZW5hbWUgU3RyaW5nVHlwZTIsIHR5cGVuYW1lIFN0cmluZ1R5cGUzLCB0eXBl
bmFtZSBTdHJpbmdUeXBlNCwgdHlwZW5hbWUgU3RyaW5nVHlwZTUsIHR5cGVuYW1lIFN0cmluZ1R5
cGU2LCB0eXBlbmFtZSBTdHJpbmdUeXBlNz4KLVBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gdHJ5TWFr
ZVN0cmluZyhTdHJpbmdUeXBlMSBzdHJpbmcxLCBTdHJpbmdUeXBlMiBzdHJpbmcyLCBTdHJpbmdU
eXBlMyBzdHJpbmczLCBTdHJpbmdUeXBlNCBzdHJpbmc0LCBTdHJpbmdUeXBlNSBzdHJpbmc1LCBT
dHJpbmdUeXBlNiBzdHJpbmc2LCBTdHJpbmdUeXBlNyBzdHJpbmc3KQorUmVmUHRyPFN0cmluZ0lt
cGw+IHRyeU1ha2VTdHJpbmcoU3RyaW5nVHlwZTEgc3RyaW5nMSwgU3RyaW5nVHlwZTIgc3RyaW5n
MiwgU3RyaW5nVHlwZTMgc3RyaW5nMywgU3RyaW5nVHlwZTQgc3RyaW5nNCwgU3RyaW5nVHlwZTUg
c3RyaW5nNSwgU3RyaW5nVHlwZTYgc3RyaW5nNiwgU3RyaW5nVHlwZTcgc3RyaW5nNykKIHsKICAg
ICBTdHJpbmdUeXBlQWRhcHRlcjxTdHJpbmdUeXBlMT4gYWRhcHRlcjEoc3RyaW5nMSk7CiAgICAg
U3RyaW5nVHlwZUFkYXB0ZXI8U3RyaW5nVHlwZTI+IGFkYXB0ZXIyKHN0cmluZzIpOwpAQCAtNTMw
LDEzICs1MzAsMTMgQEAgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiB0cnlNYWtlU3RyaW5nKFN0cmlu
Z1R5cGUxIHN0cmluZzEsIFN0cmluZ1R5cGUyIHN0cmluZzIsIFMKICAgICBzdW1XaXRoT3ZlcmZs
b3cobGVuZ3RoLCBhZGFwdGVyNi5sZW5ndGgoKSwgb3ZlcmZsb3cpOwogICAgIHN1bVdpdGhPdmVy
ZmxvdyhsZW5ndGgsIGFkYXB0ZXI3Lmxlbmd0aCgpLCBvdmVyZmxvdyk7CiAgICAgaWYgKG92ZXJm
bG93KQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBp
ZiAoYWRhcHRlcjEuaXM4Qml0KCkgJiYgYWRhcHRlcjIuaXM4Qml0KCkgJiYgYWRhcHRlcjMuaXM4
Qml0KCkgJiYgYWRhcHRlcjQuaXM4Qml0KCkgJiYgYWRhcHRlcjUuaXM4Qml0KCkgJiYgYWRhcHRl
cjYuaXM4Qml0KCkgJiYgYWRhcHRlcjcuaXM4Qml0KCkpIHsKICAgICAgICAgTENoYXIqIGJ1ZmZl
cjsKICAgICAgICAgUmVmUHRyPFN0cmluZ0ltcGw+IHJlc3VsdEltcGwgPSBTdHJpbmdJbXBsOjp0
cnlDcmVhdGVVbmluaXRpYWxpemVkKGxlbmd0aCwgYnVmZmVyKTsKICAgICAgICAgaWYgKCFyZXN1
bHRJbXBsKQotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKIAogICAgICAgICBMQ2hhciogcmVzdWx0ID0gYnVmZmVyOwogICAgICAgICBhZGFwdGVyMS53
cml0ZVRvKHJlc3VsdCk7CkBAIC01NTMsMTMgKzU1MywxMyBAQCBQYXNzUmVmUHRyPFN0cmluZ0lt
cGw+IHRyeU1ha2VTdHJpbmcoU3RyaW5nVHlwZTEgc3RyaW5nMSwgU3RyaW5nVHlwZTIgc3RyaW5n
MiwgUwogICAgICAgICByZXN1bHQgKz0gYWRhcHRlcjYubGVuZ3RoKCk7CiAgICAgICAgIGFkYXB0
ZXI3LndyaXRlVG8ocmVzdWx0KTsKIAotICAgICAgICByZXR1cm4gcmVzdWx0SW1wbC5yZWxlYXNl
KCk7CisgICAgICAgIHJldHVybiBXVEY6Om1vdmUocmVzdWx0SW1wbCk7CiAgICAgfQogCiAgICAg
VUNoYXIqIGJ1ZmZlcjsKICAgICBSZWZQdHI8U3RyaW5nSW1wbD4gcmVzdWx0SW1wbCA9IFN0cmlu
Z0ltcGw6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQobGVuZ3RoLCBidWZmZXIpOwogICAgIGlmICgh
cmVzdWx0SW1wbCkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwog
CiAgICAgVUNoYXIqIHJlc3VsdCA9IGJ1ZmZlcjsKICAgICBhZGFwdGVyMS53cml0ZVRvKHJlc3Vs
dCk7CkBAIC01NzYsMTEgKzU3NiwxMSBAQCBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IHRyeU1ha2VT
dHJpbmcoU3RyaW5nVHlwZTEgc3RyaW5nMSwgU3RyaW5nVHlwZTIgc3RyaW5nMiwgUwogICAgIHJl
c3VsdCArPSBhZGFwdGVyNi5sZW5ndGgoKTsKICAgICBhZGFwdGVyNy53cml0ZVRvKHJlc3VsdCk7
CiAKLSAgICByZXR1cm4gcmVzdWx0SW1wbC5yZWxlYXNlKCk7CisgICAgcmV0dXJuIFdURjo6bW92
ZShyZXN1bHRJbXBsKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgU3RyaW5nVHlwZTEsIHR5cGVu
YW1lIFN0cmluZ1R5cGUyLCB0eXBlbmFtZSBTdHJpbmdUeXBlMywgdHlwZW5hbWUgU3RyaW5nVHlw
ZTQsIHR5cGVuYW1lIFN0cmluZ1R5cGU1LCB0eXBlbmFtZSBTdHJpbmdUeXBlNiwgdHlwZW5hbWUg
U3RyaW5nVHlwZTcsIHR5cGVuYW1lIFN0cmluZ1R5cGU4PgotUGFzc1JlZlB0cjxTdHJpbmdJbXBs
PiB0cnlNYWtlU3RyaW5nKFN0cmluZ1R5cGUxIHN0cmluZzEsIFN0cmluZ1R5cGUyIHN0cmluZzIs
IFN0cmluZ1R5cGUzIHN0cmluZzMsIFN0cmluZ1R5cGU0IHN0cmluZzQsIFN0cmluZ1R5cGU1IHN0
cmluZzUsIFN0cmluZ1R5cGU2IHN0cmluZzYsIFN0cmluZ1R5cGU3IHN0cmluZzcsIFN0cmluZ1R5
cGU4IHN0cmluZzgpCitSZWZQdHI8U3RyaW5nSW1wbD4gdHJ5TWFrZVN0cmluZyhTdHJpbmdUeXBl
MSBzdHJpbmcxLCBTdHJpbmdUeXBlMiBzdHJpbmcyLCBTdHJpbmdUeXBlMyBzdHJpbmczLCBTdHJp
bmdUeXBlNCBzdHJpbmc0LCBTdHJpbmdUeXBlNSBzdHJpbmc1LCBTdHJpbmdUeXBlNiBzdHJpbmc2
LCBTdHJpbmdUeXBlNyBzdHJpbmc3LCBTdHJpbmdUeXBlOCBzdHJpbmc4KQogewogICAgIFN0cmlu
Z1R5cGVBZGFwdGVyPFN0cmluZ1R5cGUxPiBhZGFwdGVyMShzdHJpbmcxKTsKICAgICBTdHJpbmdU
eXBlQWRhcHRlcjxTdHJpbmdUeXBlMj4gYWRhcHRlcjIoc3RyaW5nMik7CkBAIC02MDEsMTMgKzYw
MSwxMyBAQCBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IHRyeU1ha2VTdHJpbmcoU3RyaW5nVHlwZTEg
c3RyaW5nMSwgU3RyaW5nVHlwZTIgc3RyaW5nMiwgUwogICAgIHN1bVdpdGhPdmVyZmxvdyhsZW5n
dGgsIGFkYXB0ZXI3Lmxlbmd0aCgpLCBvdmVyZmxvdyk7CiAgICAgc3VtV2l0aE92ZXJmbG93KGxl
bmd0aCwgYWRhcHRlcjgubGVuZ3RoKCksIG92ZXJmbG93KTsKICAgICBpZiAob3ZlcmZsb3cpCi0g
ICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGlmIChhZGFw
dGVyMS5pczhCaXQoKSAmJiBhZGFwdGVyMi5pczhCaXQoKSAmJiBhZGFwdGVyMy5pczhCaXQoKSAm
JiBhZGFwdGVyNC5pczhCaXQoKSAmJiBhZGFwdGVyNS5pczhCaXQoKSAmJiBhZGFwdGVyNi5pczhC
aXQoKSAmJiBhZGFwdGVyNy5pczhCaXQoKSAmJiBhZGFwdGVyOC5pczhCaXQoKSkgewogICAgICAg
ICBMQ2hhciogYnVmZmVyOwogICAgICAgICBSZWZQdHI8U3RyaW5nSW1wbD4gcmVzdWx0SW1wbCA9
IFN0cmluZ0ltcGw6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQobGVuZ3RoLCBidWZmZXIpOwogICAg
ICAgICBpZiAoIXJlc3VsdEltcGwpCi0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAg
IHJldHVybiBudWxscHRyOwogCiAgICAgICAgIExDaGFyKiByZXN1bHQgPSBidWZmZXI7CiAgICAg
ICAgIGFkYXB0ZXIxLndyaXRlVG8ocmVzdWx0KTsKQEAgLTYyNiwxMyArNjI2LDEzIEBAIFBhc3NS
ZWZQdHI8U3RyaW5nSW1wbD4gdHJ5TWFrZVN0cmluZyhTdHJpbmdUeXBlMSBzdHJpbmcxLCBTdHJp
bmdUeXBlMiBzdHJpbmcyLCBTCiAgICAgICAgIHJlc3VsdCArPSBhZGFwdGVyNy5sZW5ndGgoKTsK
ICAgICAgICAgYWRhcHRlcjgud3JpdGVUbyhyZXN1bHQpOwogCi0gICAgICAgIHJldHVybiByZXN1
bHRJbXBsLnJlbGVhc2UoKTsKKyAgICAgICAgcmV0dXJuIFdURjo6bW92ZShyZXN1bHRJbXBsKTsK
ICAgICB9CiAKICAgICBVQ2hhciogYnVmZmVyOwogICAgIFJlZlB0cjxTdHJpbmdJbXBsPiByZXN1
bHRJbXBsID0gU3RyaW5nSW1wbDo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZChsZW5ndGgsIGJ1ZmZl
cik7CiAgICAgaWYgKCFyZXN1bHRJbXBsKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAKICAgICBVQ2hhciogcmVzdWx0ID0gYnVmZmVyOwogICAgIGFkYXB0ZXIx
LndyaXRlVG8ocmVzdWx0KTsKQEAgLTY1MSwxMSArNjUxLDExIEBAIFBhc3NSZWZQdHI8U3RyaW5n
SW1wbD4gdHJ5TWFrZVN0cmluZyhTdHJpbmdUeXBlMSBzdHJpbmcxLCBTdHJpbmdUeXBlMiBzdHJp
bmcyLCBTCiAgICAgcmVzdWx0ICs9IGFkYXB0ZXI3Lmxlbmd0aCgpOwogICAgIGFkYXB0ZXI4Lndy
aXRlVG8ocmVzdWx0KTsKIAotICAgIHJldHVybiByZXN1bHRJbXBsLnJlbGVhc2UoKTsKKyAgICBy
ZXR1cm4gV1RGOjptb3ZlKHJlc3VsdEltcGwpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBTdHJp
bmdUeXBlMSwgdHlwZW5hbWUgU3RyaW5nVHlwZTIsIHR5cGVuYW1lIFN0cmluZ1R5cGUzLCB0eXBl
bmFtZSBTdHJpbmdUeXBlNCwgdHlwZW5hbWUgU3RyaW5nVHlwZTUsIHR5cGVuYW1lIFN0cmluZ1R5
cGU2LCB0eXBlbmFtZSBTdHJpbmdUeXBlNywgdHlwZW5hbWUgU3RyaW5nVHlwZTgsIHR5cGVuYW1l
IFN0cmluZ1R5cGU5PgotUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiB0cnlNYWtlU3RyaW5nKFN0cmlu
Z1R5cGUxIHN0cmluZzEsIFN0cmluZ1R5cGUyIHN0cmluZzIsIFN0cmluZ1R5cGUzIHN0cmluZzMs
IFN0cmluZ1R5cGU0IHN0cmluZzQsIFN0cmluZ1R5cGU1IHN0cmluZzUsIFN0cmluZ1R5cGU2IHN0
cmluZzYsIFN0cmluZ1R5cGU3IHN0cmluZzcsIFN0cmluZ1R5cGU4IHN0cmluZzgsIFN0cmluZ1R5
cGU5IHN0cmluZzkpCitSZWZQdHI8U3RyaW5nSW1wbD4gdHJ5TWFrZVN0cmluZyhTdHJpbmdUeXBl
MSBzdHJpbmcxLCBTdHJpbmdUeXBlMiBzdHJpbmcyLCBTdHJpbmdUeXBlMyBzdHJpbmczLCBTdHJp
bmdUeXBlNCBzdHJpbmc0LCBTdHJpbmdUeXBlNSBzdHJpbmc1LCBTdHJpbmdUeXBlNiBzdHJpbmc2
LCBTdHJpbmdUeXBlNyBzdHJpbmc3LCBTdHJpbmdUeXBlOCBzdHJpbmc4LCBTdHJpbmdUeXBlOSBz
dHJpbmc5KQogewogICAgIFN0cmluZ1R5cGVBZGFwdGVyPFN0cmluZ1R5cGUxPiBhZGFwdGVyMShz
dHJpbmcxKTsKICAgICBTdHJpbmdUeXBlQWRhcHRlcjxTdHJpbmdUeXBlMj4gYWRhcHRlcjIoc3Ry
aW5nMik7CkBAIC02NzgsMTMgKzY3OCwxMyBAQCBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IHRyeU1h
a2VTdHJpbmcoU3RyaW5nVHlwZTEgc3RyaW5nMSwgU3RyaW5nVHlwZTIgc3RyaW5nMiwgUwogICAg
IHN1bVdpdGhPdmVyZmxvdyhsZW5ndGgsIGFkYXB0ZXI4Lmxlbmd0aCgpLCBvdmVyZmxvdyk7CiAg
ICAgc3VtV2l0aE92ZXJmbG93KGxlbmd0aCwgYWRhcHRlcjkubGVuZ3RoKCksIG92ZXJmbG93KTsK
ICAgICBpZiAob3ZlcmZsb3cpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAogICAgIGlmIChhZGFwdGVyMS5pczhCaXQoKSAmJiBhZGFwdGVyMi5pczhCaXQoKSAm
JiBhZGFwdGVyMy5pczhCaXQoKSAmJiBhZGFwdGVyNC5pczhCaXQoKSAmJiBhZGFwdGVyNS5pczhC
aXQoKSAmJiBhZGFwdGVyNi5pczhCaXQoKSAmJiBhZGFwdGVyNy5pczhCaXQoKSAmJiBhZGFwdGVy
OC5pczhCaXQoKSAmJiBhZGFwdGVyOS5pczhCaXQoKSkgewogICAgICAgICBMQ2hhciogYnVmZmVy
OwogICAgICAgICBSZWZQdHI8U3RyaW5nSW1wbD4gcmVzdWx0SW1wbCA9IFN0cmluZ0ltcGw6OnRy
eUNyZWF0ZVVuaW5pdGlhbGl6ZWQobGVuZ3RoLCBidWZmZXIpOwogICAgICAgICBpZiAoIXJlc3Vs
dEltcGwpCi0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OwogCiAgICAgICAgIExDaGFyKiByZXN1bHQgPSBidWZmZXI7CiAgICAgICAgIGFkYXB0ZXIxLndy
aXRlVG8ocmVzdWx0KTsKQEAgLTcwNSwxMyArNzA1LDEzIEBAIFBhc3NSZWZQdHI8U3RyaW5nSW1w
bD4gdHJ5TWFrZVN0cmluZyhTdHJpbmdUeXBlMSBzdHJpbmcxLCBTdHJpbmdUeXBlMiBzdHJpbmcy
LCBTCiAgICAgICAgIHJlc3VsdCArPSBhZGFwdGVyOC5sZW5ndGgoKTsKICAgICAgICAgYWRhcHRl
cjkud3JpdGVUbyhyZXN1bHQpOwogCi0gICAgICAgIHJldHVybiByZXN1bHRJbXBsLnJlbGVhc2Uo
KTsKKyAgICAgICAgcmV0dXJuIFdURjo6bW92ZShyZXN1bHRJbXBsKTsKICAgICB9CiAKICAgICBV
Q2hhciogYnVmZmVyOwogICAgIFJlZlB0cjxTdHJpbmdJbXBsPiByZXN1bHRJbXBsID0gU3RyaW5n
SW1wbDo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZChsZW5ndGgsIGJ1ZmZlcik7CiAgICAgaWYgKCFy
ZXN1bHRJbXBsKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAK
ICAgICBVQ2hhciogcmVzdWx0ID0gYnVmZmVyOwogICAgIGFkYXB0ZXIxLndyaXRlVG8ocmVzdWx0
KTsKQEAgLTczMiw3ICs3MzIsNyBAQCBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IHRyeU1ha2VTdHJp
bmcoU3RyaW5nVHlwZTEgc3RyaW5nMSwgU3RyaW5nVHlwZTIgc3RyaW5nMiwgUwogICAgIHJlc3Vs
dCArPSBhZGFwdGVyOC5sZW5ndGgoKTsKICAgICBhZGFwdGVyOS53cml0ZVRvKHJlc3VsdCk7CiAK
LSAgICByZXR1cm4gcmVzdWx0SW1wbC5yZWxlYXNlKCk7CisgICAgcmV0dXJuIFdURjo6bW92ZShy
ZXN1bHRJbXBsKTsKIH0KIAogCkBAIC03NDksNyArNzQ5LDcgQEAgU3RyaW5nIG1ha2VTdHJpbmco
U3RyaW5nVHlwZTEgc3RyaW5nMSwgU3RyaW5nVHlwZTIgc3RyaW5nMikKICAgICBSZWZQdHI8U3Ry
aW5nSW1wbD4gcmVzdWx0SW1wbCA9IHRyeU1ha2VTdHJpbmcoc3RyaW5nMSwgc3RyaW5nMik7CiAg
ICAgaWYgKCFyZXN1bHRJbXBsKQogICAgICAgICBDUkFTSCgpOwotICAgIHJldHVybiByZXN1bHRJ
bXBsLnJlbGVhc2UoKTsKKyAgICByZXR1cm4gV1RGOjptb3ZlKHJlc3VsdEltcGwpOwogfQogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBTdHJpbmdUeXBlMSwgdHlwZW5hbWUgU3RyaW5nVHlwZTIsIHR5cGVu
YW1lIFN0cmluZ1R5cGUzPgpAQCAtNzU4LDcgKzc1OCw3IEBAIFN0cmluZyBtYWtlU3RyaW5nKFN0
cmluZ1R5cGUxIHN0cmluZzEsIFN0cmluZ1R5cGUyIHN0cmluZzIsIFN0cmluZ1R5cGUzIHN0cmlu
ZzMpCiAgICAgUmVmUHRyPFN0cmluZ0ltcGw+IHJlc3VsdEltcGwgPSB0cnlNYWtlU3RyaW5nKHN0
cmluZzEsIHN0cmluZzIsIHN0cmluZzMpOwogICAgIGlmICghcmVzdWx0SW1wbCkKICAgICAgICAg
Q1JBU0goKTsKLSAgICByZXR1cm4gcmVzdWx0SW1wbC5yZWxlYXNlKCk7CisgICAgcmV0dXJuIFdU
Rjo6bW92ZShyZXN1bHRJbXBsKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgU3RyaW5nVHlwZTEs
IHR5cGVuYW1lIFN0cmluZ1R5cGUyLCB0eXBlbmFtZSBTdHJpbmdUeXBlMywgdHlwZW5hbWUgU3Ry
aW5nVHlwZTQ+CkBAIC03NjcsNyArNzY3LDcgQEAgU3RyaW5nIG1ha2VTdHJpbmcoU3RyaW5nVHlw
ZTEgc3RyaW5nMSwgU3RyaW5nVHlwZTIgc3RyaW5nMiwgU3RyaW5nVHlwZTMgc3RyaW5nMywKICAg
ICBSZWZQdHI8U3RyaW5nSW1wbD4gcmVzdWx0SW1wbCA9IHRyeU1ha2VTdHJpbmcoc3RyaW5nMSwg
c3RyaW5nMiwgc3RyaW5nMywgc3RyaW5nNCk7CiAgICAgaWYgKCFyZXN1bHRJbXBsKQogICAgICAg
ICBDUkFTSCgpOwotICAgIHJldHVybiByZXN1bHRJbXBsLnJlbGVhc2UoKTsKKyAgICByZXR1cm4g
V1RGOjptb3ZlKHJlc3VsdEltcGwpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBTdHJpbmdUeXBl
MSwgdHlwZW5hbWUgU3RyaW5nVHlwZTIsIHR5cGVuYW1lIFN0cmluZ1R5cGUzLCB0eXBlbmFtZSBT
dHJpbmdUeXBlNCwgdHlwZW5hbWUgU3RyaW5nVHlwZTU+CkBAIC03NzYsNyArNzc2LDcgQEAgU3Ry
aW5nIG1ha2VTdHJpbmcoU3RyaW5nVHlwZTEgc3RyaW5nMSwgU3RyaW5nVHlwZTIgc3RyaW5nMiwg
U3RyaW5nVHlwZTMgc3RyaW5nMywKICAgICBSZWZQdHI8U3RyaW5nSW1wbD4gcmVzdWx0SW1wbCA9
IHRyeU1ha2VTdHJpbmcoc3RyaW5nMSwgc3RyaW5nMiwgc3RyaW5nMywgc3RyaW5nNCwgc3RyaW5n
NSk7CiAgICAgaWYgKCFyZXN1bHRJbXBsKQogICAgICAgICBDUkFTSCgpOwotICAgIHJldHVybiBy
ZXN1bHRJbXBsLnJlbGVhc2UoKTsKKyAgICByZXR1cm4gV1RGOjptb3ZlKHJlc3VsdEltcGwpOwog
fQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBTdHJpbmdUeXBlMSwgdHlwZW5hbWUgU3RyaW5nVHlwZTIs
IHR5cGVuYW1lIFN0cmluZ1R5cGUzLCB0eXBlbmFtZSBTdHJpbmdUeXBlNCwgdHlwZW5hbWUgU3Ry
aW5nVHlwZTUsIHR5cGVuYW1lIFN0cmluZ1R5cGU2PgpAQCAtNzg1LDcgKzc4NSw3IEBAIFN0cmlu
ZyBtYWtlU3RyaW5nKFN0cmluZ1R5cGUxIHN0cmluZzEsIFN0cmluZ1R5cGUyIHN0cmluZzIsIFN0
cmluZ1R5cGUzIHN0cmluZzMsCiAgICAgUmVmUHRyPFN0cmluZ0ltcGw+IHJlc3VsdEltcGwgPSB0
cnlNYWtlU3RyaW5nKHN0cmluZzEsIHN0cmluZzIsIHN0cmluZzMsIHN0cmluZzQsIHN0cmluZzUs
IHN0cmluZzYpOwogICAgIGlmICghcmVzdWx0SW1wbCkKICAgICAgICAgQ1JBU0goKTsKLSAgICBy
ZXR1cm4gcmVzdWx0SW1wbC5yZWxlYXNlKCk7CisgICAgcmV0dXJuIFdURjo6bW92ZShyZXN1bHRJ
bXBsKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgU3RyaW5nVHlwZTEsIHR5cGVuYW1lIFN0cmlu
Z1R5cGUyLCB0eXBlbmFtZSBTdHJpbmdUeXBlMywgdHlwZW5hbWUgU3RyaW5nVHlwZTQsIHR5cGVu
YW1lIFN0cmluZ1R5cGU1LCB0eXBlbmFtZSBTdHJpbmdUeXBlNiwgdHlwZW5hbWUgU3RyaW5nVHlw
ZTc+CkBAIC03OTQsNyArNzk0LDcgQEAgU3RyaW5nIG1ha2VTdHJpbmcoU3RyaW5nVHlwZTEgc3Ry
aW5nMSwgU3RyaW5nVHlwZTIgc3RyaW5nMiwgU3RyaW5nVHlwZTMgc3RyaW5nMywKICAgICBSZWZQ
dHI8U3RyaW5nSW1wbD4gcmVzdWx0SW1wbCA9IHRyeU1ha2VTdHJpbmcoc3RyaW5nMSwgc3RyaW5n
Miwgc3RyaW5nMywgc3RyaW5nNCwgc3RyaW5nNSwgc3RyaW5nNiwgc3RyaW5nNyk7CiAgICAgaWYg
KCFyZXN1bHRJbXBsKQogICAgICAgICBDUkFTSCgpOwotICAgIHJldHVybiByZXN1bHRJbXBsLnJl
bGVhc2UoKTsKKyAgICByZXR1cm4gV1RGOjptb3ZlKHJlc3VsdEltcGwpOwogfQogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBTdHJpbmdUeXBlMSwgdHlwZW5hbWUgU3RyaW5nVHlwZTIsIHR5cGVuYW1lIFN0
cmluZ1R5cGUzLCB0eXBlbmFtZSBTdHJpbmdUeXBlNCwgdHlwZW5hbWUgU3RyaW5nVHlwZTUsIHR5
cGVuYW1lIFN0cmluZ1R5cGU2LCB0eXBlbmFtZSBTdHJpbmdUeXBlNywgdHlwZW5hbWUgU3RyaW5n
VHlwZTg+CkBAIC04MDMsNyArODAzLDcgQEAgU3RyaW5nIG1ha2VTdHJpbmcoU3RyaW5nVHlwZTEg
c3RyaW5nMSwgU3RyaW5nVHlwZTIgc3RyaW5nMiwgU3RyaW5nVHlwZTMgc3RyaW5nMywKICAgICBS
ZWZQdHI8U3RyaW5nSW1wbD4gcmVzdWx0SW1wbCA9IHRyeU1ha2VTdHJpbmcoc3RyaW5nMSwgc3Ry
aW5nMiwgc3RyaW5nMywgc3RyaW5nNCwgc3RyaW5nNSwgc3RyaW5nNiwgc3RyaW5nNywgc3RyaW5n
OCk7CiAgICAgaWYgKCFyZXN1bHRJbXBsKQogICAgICAgICBDUkFTSCgpOwotICAgIHJldHVybiBy
ZXN1bHRJbXBsLnJlbGVhc2UoKTsKKyAgICByZXR1cm4gV1RGOjptb3ZlKHJlc3VsdEltcGwpOwog
fQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBTdHJpbmdUeXBlMSwgdHlwZW5hbWUgU3RyaW5nVHlwZTIs
IHR5cGVuYW1lIFN0cmluZ1R5cGUzLCB0eXBlbmFtZSBTdHJpbmdUeXBlNCwgdHlwZW5hbWUgU3Ry
aW5nVHlwZTUsIHR5cGVuYW1lIFN0cmluZ1R5cGU2LCB0eXBlbmFtZSBTdHJpbmdUeXBlNywgdHlw
ZW5hbWUgU3RyaW5nVHlwZTgsIHR5cGVuYW1lIFN0cmluZ1R5cGU5PgpAQCAtODEyLDcgKzgxMiw3
IEBAIFN0cmluZyBtYWtlU3RyaW5nKFN0cmluZ1R5cGUxIHN0cmluZzEsIFN0cmluZ1R5cGUyIHN0
cmluZzIsIFN0cmluZ1R5cGUzIHN0cmluZzMsCiAgICAgUmVmUHRyPFN0cmluZ0ltcGw+IHJlc3Vs
dEltcGwgPSB0cnlNYWtlU3RyaW5nKHN0cmluZzEsIHN0cmluZzIsIHN0cmluZzMsIHN0cmluZzQs
IHN0cmluZzUsIHN0cmluZzYsIHN0cmluZzcsIHN0cmluZzgsIHN0cmluZzkpOwogICAgIGlmICgh
cmVzdWx0SW1wbCkKICAgICAgICAgQ1JBU0goKTsKLSAgICByZXR1cm4gcmVzdWx0SW1wbC5yZWxl
YXNlKCk7CisgICAgcmV0dXJuIFdURjo6bW92ZShyZXN1bHRJbXBsKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV1RGCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>