<?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>90238</bug_id>
          
          <creation_ts>2012-06-28 19:37:09 -0700</creation_ts>
          <short_desc>[V8] Replace v8::Integer::New() with v8Integer() in bindings/v8/*.{h,cpp}</short_desc>
          <delta_ts>2012-06-29 02:35:34 -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>WebCore JavaScript</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>84074</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>660070</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-28 19:37:09 -0700</bug_when>
    <thetext>v8Integer() is a fast wrapper of v8::Integer::New(). We can replace v8::Integer::New() with v8Integer() in bindings/v8/*.{h,cpp}.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660077</commentid>
    <comment_count>1</comment_count>
      <attachid>150068</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-28 19:47:11 -0700</bug_when>
    <thetext>Created attachment 150068
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660316</commentid>
    <comment_count>2</comment_count>
      <attachid>150068</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-29 02:35:28 -0700</bug_when>
    <thetext>Comment on attachment 150068
Patch

Clearing flags on attachment: 150068

Committed r121538: &lt;http://trac.webkit.org/changeset/121538&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660317</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-29 02:35:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150068</attachid>
            <date>2012-06-28 19:47:11 -0700</date>
            <delta_ts>2012-06-29 02:35:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90238-20120629114710.patch</filename>
            <type>text/plain</type>
            <size>21956</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDVhMjUxZjQ0ZTUyMmY2
NTQ1Yjk4OGNmYzczMTMzYjgxYzIwNTM0Yi4uZjZiOGYxYTMxY2M3YWMzYWEwZDlhZDA2MzNhMzM3
ZjQxNDBlZTM5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTA2LTI4ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIFJlcGxhY2Ug
djg6OkludGVnZXI6Ok5ldygpIHdpdGggdjhJbnRlZ2VyKCkgaW4gYmluZGluZ3MvdjgvKi57aCxj
cHB9CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDIz
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHY4SW50
ZWdlcigpIGlzIGEgZmFzdCB3cmFwcGVyIG9mIHY4OjpJbnRlZ2VyOjpOZXcoKS4KKyAgICAgICAg
V2UgY2FuIHJlcGxhY2Ugdjg6OkludGVnZXI6Ok5ldygpIHdpdGggdjhJbnRlZ2VyKCkKKyAgICAg
ICAgaW4gYmluZGluZ3MvdjgvKi57aCxjcHB9LiBJbiBhZGRpdGlvbiwgd2UgcGFzcyBpc29sYXRl
CisgICAgICAgIHRvIHY4SW50ZWdlcigpIHdoZXJlIHBvc3NpYmxlLgorCisgICAgICAgIE5vIHRl
c3RzLiBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9EaWN0
aW9uYXJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpY3Rpb25hcnk6OmdldCk6CisgICAgICAg
ICogYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHA6CisgICAgICAgIChfTlBOX0VudW1lcmF0ZSk6
IENoYW5nZWQgdjg6Ok5vbmUgdG8gMCwgZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgY29kZS4K
KyAgICAgICAgKiBiaW5kaW5ncy92OC9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGFnZVNjcmlwdERlYnVnU2VydmVyOjphZGRMaXN0ZW5lcik6CisgICAgICAg
ICogYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2NyaXB0RGVidWdTZXJ2ZXI6OnNldEJyZWFrcG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
aXB0RGVidWdTZXJ2ZXI6OmNvbXBpbGVTY3JpcHQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Nl
cmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhCaW5kaW5n
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnY4QXJyYXkpOgorICAgICAgICAoV2ViQ29yZTo6djhW
YWx1ZVRvV2ViQ29yZURPTVN0cmluZ0xpc3QpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4Qmlu
ZGluZy5oOgorICAgICAgICAoV2ViQ29yZTo6djhBcnJheSk6CisgICAgICAgIChXZWJDb3JlOjp2
OE51bWJlckFycmF5VG9WZWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4Q29sbGVjdGlv
bi5oOgorICAgICAgICAoV2ViQ29yZTo6bm9kZUNvbGxlY3Rpb25JbmRleGVkUHJvcGVydHlFbnVt
ZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbGxlY3Rpb25JbmRleGVkUHJvcGVydHlFbnVt
ZXJhdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOExhenlFdmVudExpc3RlbmVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlY4TGF6eUV2ZW50TGlzdGVuZXI6OnByZXBhcmVMaXN0ZW5lck9i
amVjdCk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhOUE9iamVjdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpucE9iamVjdFF1ZXJ5UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6bnBPYmpl
Y3RQcm9wZXJ0eUVudW1lcmF0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4TlBVdGlscy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0TlBWYXJpYW50VG9WOE9iamVjdCk6CisgICAg
ICAgICogYmluZGluZ3MvdjgvVjhQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpiYXRjaENv
bmZpZ3VyZUNvbnN0YW50cyk6CisgICAgICAgIChXZWJDb3JlOjpWOFByb3h5Ojpjb21waWxlU2Ny
aXB0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFV0aWxpdGllcy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpjcmVhdGVIaWRkZW5EZXBlbmRlbmN5KToKKyAgICAgICAgKFdlYkNvcmU6OnJlbW92
ZUhpZGRlbkRlcGVuZGVuY3kpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4V2luZG93RXJyb3JI
YW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4V2luZG93RXJyb3JIYW5kbGVyOjpjYWxs
TGlzdGVuZXJGdW5jdGlvbik6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhXb3JrZXJDb250ZXh0
RXJyb3JIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4V29ya2VyQ29udGV4dEVycm9y
SGFuZGxlcjo6Y2FsbExpc3RlbmVyRnVuY3Rpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1dv
cmtlclNjcmlwdERlYnVnU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlw
dERlYnVnU2VydmVyOjphZGRMaXN0ZW5lcik6CisKIDIwMTItMDYtMjggIEpvc2h1YSBCZWxsICA8
anNiZWxsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IEltcGxlbWVudCBJREJU
cmFuc2FjdGlvbiBpbnRlcm5hbCBhY3RpdmUgZmxhZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvRGljdGlvbmFyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9EaWN0aW9uYXJ5LmNwcAppbmRleCBkYzcyNGZhOTViYjMxZTBjNDRiYjhjZjYzM2I2NzBhZmE0
OTU5MGQ5Li43ZDY5MmU3OGU0MDc1MmNiZWVmZGVjYmFhMTgwNGQ3YzEyNjE0ZmM5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9EaWN0aW9uYXJ5LmNwcApAQCAtMjc3LDcgKzI3Nyw3IEBA
IGJvb2wgRGljdGlvbmFyeTo6Z2V0KGNvbnN0IFN0cmluZyYga2V5LCBIYXNoU2V0PEF0b21pY1N0
cmluZz4mIHZhbHVlKSBjb25zdAogCiAgICAgdjg6OkxvY2FsPHY4OjpBcnJheT4gdjhBcnJheSA9
IHY4OjpMb2NhbDx2ODo6QXJyYXk+OjpDYXN0KHY4VmFsdWUpOwogICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgdjhBcnJheS0+TGVuZ3RoKCk7ICsraSkgewotICAgICAgICB2ODo6TG9jYWw8djg6
OlZhbHVlPiBpbmRleGVkVmFsdWUgPSB2OEFycmF5LT5HZXQodjg6OkludGVnZXI6Ok5ldyhpKSk7
CisgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGluZGV4ZWRWYWx1ZSA9IHY4QXJyYXktPkdl
dCh2OEludGVnZXIoaSkpOwogICAgICAgICB2YWx1ZS5hZGQodjhWYWx1ZVRvV2ViQ29yZVN0cmlu
ZyhpbmRleGVkVmFsdWUpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBW
OE9iamVjdC5jcHAKaW5kZXggY2NmMmY5ODk3NGU3NmQ4MzFkYjdiZDQyNTc4OTA3OTc0ZjE4MzMz
Ni4uYTM3OTBkYTAwMTEzMjFlMjQ3NWI0OThmNWUzMzY2MmMyOTJiYTUxYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNp
bmNsdWRlICJVc2VyR2VzdHVyZUluZGljYXRvci5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgog
I2luY2x1ZGUgIlY4R0NDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiVjhIZWxwZXJzLmgiCiAjaW5j
bHVkZSAiVjhOUFV0aWxzLmgiCkBAIC01MzcsNyArNTM4LDcgQEAgYm9vbCBfTlBOX0VudW1lcmF0
ZShOUFAgbnBwLCBOUE9iamVjdCogbnBPYmplY3QsIE5QSWRlbnRpZmllcioqIGlkZW50aWZpZXIs
IHVpbnQKICAgICAgICAgKmNvdW50ID0gcHJvcHMtPkxlbmd0aCgpOwogICAgICAgICAqaWRlbnRp
ZmllciA9IHN0YXRpY19jYXN0PE5QSWRlbnRpZmllcio+KG1hbGxvYyhzaXplb2YoTlBJZGVudGlm
aWVyKikgKiAqY291bnQpKTsKICAgICAgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8ICpjb3Vu
dDsgKytpKSB7Ci0gICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBuYW1lID0gcHJvcHMt
PkdldCh2ODo6SW50ZWdlcjo6TmV3KGkpKTsKKyAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFs
dWU+IG5hbWUgPSBwcm9wcy0+R2V0KHY4SW50ZWdlcihpKSk7CiAgICAgICAgICAgICAoKmlkZW50
aWZpZXIpW2ldID0gZ2V0U3RyaW5nSWRlbnRpZmllcih2ODo6TG9jYWw8djg6OlN0cmluZz46OkNh
c3QobmFtZSkpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvUGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1BhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAKaW5kZXgg
ZGNlMTQ4YTg0MDFmMzMxN2QzOTdiNjBlYWFkMjdkZDFkNGNmNmFlMi4uMDNlN2M1N2IyNjk1ZDY0
NTc3ZTA2NzNlM2E0MTM1MWI5M2ZlMWFiNSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvUGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCkBAIC0xMTIsNyArMTEyLDcgQEAg
dm9pZCBQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OmFkZExpc3RlbmVyKFNjcmlwdERlYnVnTGlzdGVu
ZXIqIGxpc3RlbmVyLCBQYWdlKiBwYWcKICAgICBBU1NFUlQoIXZhbHVlLT5Jc1VuZGVmaW5lZCgp
ICYmIHZhbHVlLT5Jc0FycmF5KCkpOwogICAgIHY4OjpIYW5kbGU8djg6OkFycmF5PiBzY3JpcHRz
QXJyYXkgPSB2ODo6SGFuZGxlPHY4OjpBcnJheT46OkNhc3QodmFsdWUpOwogICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBzY3JpcHRzQXJyYXktPkxlbmd0aCgpOyArK2kpCi0gICAgICAgIGRp
c3BhdGNoRGlkUGFyc2VTb3VyY2UobGlzdGVuZXIsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNh
c3Qoc2NyaXB0c0FycmF5LT5HZXQodjg6OkludGVnZXI6Ok5ldyhpKSkpKTsKKyAgICAgICAgZGlz
cGF0Y2hEaWRQYXJzZVNvdXJjZShsaXN0ZW5lciwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2Fz
dChzY3JpcHRzQXJyYXktPkdldCh2OEludGVnZXIoaSkpKSk7CiB9CiAKIHZvaWQgUGFnZVNjcmlw
dERlYnVnU2VydmVyOjpyZW1vdmVMaXN0ZW5lcihTY3JpcHREZWJ1Z0xpc3RlbmVyKiBsaXN0ZW5l
ciwgUGFnZSogcGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdERlYnVnU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERl
YnVnU2VydmVyLmNwcAppbmRleCBmOTVmMmI2YTIyZGRiODAxOTkyNGNmYWFjOTY5MmVjNTNjYmM5
OGI2Li5hM2JlZGU4YTUzNWY1ZmNmMzNjNTYxMTdjMzkwMDZlNmM4OWUzMTg3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCkBAIC03OSw4
ICs3OSw4IEBAIFN0cmluZyBTY3JpcHREZWJ1Z1NlcnZlcjo6c2V0QnJlYWtwb2ludChjb25zdCBT
dHJpbmcmIHNvdXJjZUlELCBjb25zdCBTY3JpcHRCcmVhCiAKICAgICB2ODo6TG9jYWw8djg6Ok9i
amVjdD4gYXJncyA9IHY4OjpPYmplY3Q6Ok5ldygpOwogICAgIGFyZ3MtPlNldCh2ODo6U3RyaW5n
OjpOZXcoInNvdXJjZUlEIiksIHY4U3RyaW5nKHNvdXJjZUlEKSk7Ci0gICAgYXJncy0+U2V0KHY4
OjpTdHJpbmc6Ok5ldygibGluZU51bWJlciIpLCB2ODo6SW50ZWdlcjo6TmV3KHNjcmlwdEJyZWFr
cG9pbnQubGluZU51bWJlcikpOwotICAgIGFyZ3MtPlNldCh2ODo6U3RyaW5nOjpOZXcoImNvbHVt
bk51bWJlciIpLCB2ODo6SW50ZWdlcjo6TmV3KHNjcmlwdEJyZWFrcG9pbnQuY29sdW1uTnVtYmVy
KSk7CisgICAgYXJncy0+U2V0KHY4OjpTdHJpbmc6Ok5ldygibGluZU51bWJlciIpLCB2OEludGVn
ZXIoc2NyaXB0QnJlYWtwb2ludC5saW5lTnVtYmVyKSk7CisgICAgYXJncy0+U2V0KHY4OjpTdHJp
bmc6Ok5ldygiY29sdW1uTnVtYmVyIiksIHY4SW50ZWdlcihzY3JpcHRCcmVha3BvaW50LmNvbHVt
bk51bWJlcikpOwogICAgIGFyZ3MtPlNldCh2ODo6U3RyaW5nOjpOZXcoImNvbmRpdGlvbiIpLCB2
OFN0cmluZyhzY3JpcHRCcmVha3BvaW50LmNvbmRpdGlvbikpOwogCiAgICAgdjg6OkhhbmRsZTx2
ODo6RnVuY3Rpb24+IHNldEJyZWFrcG9pbnRGdW5jdGlvbiA9IHY4OjpMb2NhbDx2ODo6RnVuY3Rp
b24+OjpDYXN0KG1fZGVidWdnZXJTY3JpcHQuZ2V0KCktPkdldCh2ODo6U3RyaW5nOjpOZXcoInNl
dEJyZWFrcG9pbnQiKSkpOwpAQCAtNDI4LDcgKzQyOCw3IEBAIHZvaWQgU2NyaXB0RGVidWdTZXJ2
ZXI6OmNvbXBpbGVTY3JpcHQoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIGV4cHJl
c3NpCiAgICAgdjg6OkxvY2FsPHY4OjpTdHJpbmc+IGNvZGUgPSB2OEV4dGVybmFsU3RyaW5nKGV4
cHJlc3Npb24pOwogICAgIHY4OjpUcnlDYXRjaCB0cnlDYXRjaDsKIAotICAgIHY4OjpTY3JpcHRP
cmlnaW4gb3JpZ2luKHY4RXh0ZXJuYWxTdHJpbmcoc291cmNlVVJMKSwgdjg6OkludGVnZXI6Ok5l
dygwKSwgdjg6OkludGVnZXI6Ok5ldygwKSk7CisgICAgdjg6OlNjcmlwdE9yaWdpbiBvcmlnaW4o
djhFeHRlcm5hbFN0cmluZyhzb3VyY2VVUkwpLCB2OEludGVnZXIoMCksIHY4SW50ZWdlcigwKSk7
CiAgICAgdjg6OkhhbmRsZTx2ODo6U2NyaXB0PiBzY3JpcHQgPSB2ODo6U2NyaXB0OjpOZXcoY29k
ZSwgJm9yaWdpbik7CiAKICAgICBpZiAodHJ5Q2F0Y2guSGFzQ2F1Z2h0KCkpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCmlu
ZGV4IGVjYmEyZTA2MzczMWUzNGM0YmFjNTAxYjcwNDBiYzgxMmM5Y2Q3NmEuLjYxNjEwNzM2MTMz
ZjU5NmMxZGRlMmVhNTIxY2Y0ODU2NmNjMDQ5Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtMTU3NCw3ICsxNTc0
LDcgQEAgcHJpdmF0ZToKICAgICAgICAgdWludDMyX3QgcmF3VmFsdWU7CiAgICAgICAgIGlmICgh
ZG9SZWFkVWludDMyKCZyYXdWYWx1ZSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
ICAgICp2YWx1ZSA9IHY4OjpJbnRlZ2VyOjpOZXcoc3RhdGljX2Nhc3Q8aW50MzJfdD4oWmlnWmFn
OjpkZWNvZGUocmF3VmFsdWUpKSk7CisgICAgICAgICp2YWx1ZSA9IHY4SW50ZWdlcihzdGF0aWNf
Y2FzdDxpbnQzMl90PihaaWdaYWc6OmRlY29kZShyYXdWYWx1ZSkpLCBtX2lzb2xhdGUpOwogICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAgLTE1ODMsNyArMTU4Myw3IEBAIHByaXZhdGU6
CiAgICAgICAgIHVpbnQzMl90IHJhd1ZhbHVlOwogICAgICAgICBpZiAoIWRvUmVhZFVpbnQzMigm
cmF3VmFsdWUpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAqdmFsdWUgPSB2
ODo6SW50ZWdlcjo6TmV3RnJvbVVuc2lnbmVkKHJhd1ZhbHVlKTsKKyAgICAgICAgKnZhbHVlID0g
djhVbnNpZ25lZEludGVnZXIocmF3VmFsdWUsIG1faXNvbGF0ZSk7CiAgICAgICAgIHJldHVybiB0
cnVlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhC
aW5kaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5jcHAKaW5k
ZXggZDg4MzZjN2U0NjhlYjM0ZDllNDAyOTA2MTU2MjA3ZDc5MjY2MjdhNy4uYWNhMGJiMzhiYWM0
YzQ1NjI4ZDc5ZTVmMjBhNmJjNGVlOWRjYmYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOEJpbmRpbmcuY3BwCkBAIC0yMTgsNyArMjE4LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHY4QXJyYXkoUGFzc1JlZlB0cjxET01TdHJpbmdMaXN0PiBzdHJpbmdMaXN0LCB2ODo6SXNvbGF0
ZSoKICAgICAgICAgcmV0dXJuIHY4OjpBcnJheTo6TmV3KCk7CiAgICAgdjg6OkxvY2FsPHY4OjpB
cnJheT4gcmVzdWx0ID0gdjg6OkFycmF5OjpOZXcoc3RyaW5nTGlzdC0+bGVuZ3RoKCkpOwogICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzdHJpbmdMaXN0LT5sZW5ndGgoKTsgKytpKQotICAg
ICAgICByZXN1bHQtPlNldCh2ODo6SW50ZWdlcjo6TmV3KGkpLCB2OFN0cmluZyhzdHJpbmdMaXN0
LT5pdGVtKGkpLCBpc29sYXRlKSk7CisgICAgICAgIHJlc3VsdC0+U2V0KHY4SW50ZWdlcihpLCBp
c29sYXRlKSwgdjhTdHJpbmcoc3RyaW5nTGlzdC0+aXRlbShpKSwgaXNvbGF0ZSkpOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKQEAgLTU5Miw3ICs1OTIsNyBAQCBQYXNzUmVmUHRyPERPTVN0cmlu
Z0xpc3Q+IHY4VmFsdWVUb1dlYkNvcmVET01TdHJpbmdMaXN0KHY4OjpIYW5kbGU8djg6OlZhbHVl
PiB2YQogICAgIFJlZlB0cjxET01TdHJpbmdMaXN0PiByZXQgPSBET01TdHJpbmdMaXN0OjpjcmVh
dGUoKTsKICAgICB2ODo6TG9jYWw8djg6OkFycmF5PiB2OEFycmF5ID0gdjg6OkxvY2FsPHY4OjpB
cnJheT46OkNhc3QodjhWYWx1ZSk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB2OEFycmF5
LT5MZW5ndGgoKTsgKytpKSB7Ci0gICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGluZGV4ZWRW
YWx1ZSA9IHY4QXJyYXktPkdldCh2ODo6SW50ZWdlcjo6TmV3KGkpKTsKKyAgICAgICAgdjg6Okxv
Y2FsPHY4OjpWYWx1ZT4gaW5kZXhlZFZhbHVlID0gdjhBcnJheS0+R2V0KHY4SW50ZWdlcihpKSk7
CiAgICAgICAgIHJldC0+YXBwZW5kKHY4VmFsdWVUb1dlYkNvcmVTdHJpbmcoaW5kZXhlZFZhbHVl
KSk7CiAgICAgfQogICAgIHJldHVybiByZXQucmVsZWFzZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOEJpbmRpbmcuaAppbmRleCA1ZDBkYmUyYzljZjA2NjM1NzBjZjUyNWRmNGQ5YWMzYmQ5
YjIzZjI4Li5kMzBjNmQyODExNzEwMDQzODg3YjE2ODEyMmJkMWZkNDVhMWZiMGNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuaApAQCAtMzQ0LDcgKzM0NCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgaW50IGluZGV4ID0gMDsKICAgICAgICAgdHlwZW5hbWUg
VmVjdG9yPFQ+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBpdGVyYXRvci5lbmQoKTsKICAgICAgICAg
Zm9yICh0eXBlbmFtZSBWZWN0b3I8VD46OmNvbnN0X2l0ZXJhdG9yIGl0ZXIgPSBpdGVyYXRvci5i
ZWdpbigpOyBpdGVyICE9IGVuZDsgKytpdGVyKQotICAgICAgICAgICAgcmVzdWx0LT5TZXQodjg6
OkludGVnZXI6Ok5ldyhpbmRleCsrKSwgdG9WOChXVEY6OmdldFB0cigqaXRlciksIGlzb2xhdGUp
KTsKKyAgICAgICAgICAgIHJlc3VsdC0+U2V0KHY4SW50ZWdlcihpbmRleCsrLCBpc29sYXRlKSwg
dG9WOChXVEY6OmdldFB0cigqaXRlciksIGlzb2xhdGUpKTsKICAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKICAgICB9CiAKQEAgLTM1NSw3ICszNTUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBpdGVyYXRvci5lbmQoKTsK
ICAgICAgICAgaW50IGluZGV4ID0gMDsKICAgICAgICAgZm9yIChWZWN0b3I8U3RyaW5nPjo6Y29u
c3RfaXRlcmF0b3IgaXRlciA9IGl0ZXJhdG9yLmJlZ2luKCk7IGl0ZXIgIT0gZW5kOyArK2l0ZXIp
Ci0gICAgICAgICAgICBhcnJheS0+U2V0KHY4OjpJbnRlZ2VyOjpOZXcoaW5kZXgrKyksIHY4U3Ry
aW5nKCppdGVyLCBpc29sYXRlKSk7CisgICAgICAgICAgICBhcnJheS0+U2V0KHY4SW50ZWdlcihp
bmRleCsrLCBpc29sYXRlKSwgdjhTdHJpbmcoKml0ZXIsIGlzb2xhdGUpKTsKICAgICAgICAgcmV0
dXJuIGFycmF5OwogICAgIH0KIApAQCAtNTUxLDcgKzU1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdjg6OkxvY2FsPHY4OjpBcnJheT4gdjhBcnJheSA9IHY4OjpMb2NhbDx2ODo6
QXJyYXk+OjpDYXN0KHY4VmFsdWUpOwogICAgICAgICBzaXplX3QgbGVuZ3RoID0gdjhBcnJheS0+
TGVuZ3RoKCk7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsK
LSAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGluZGV4ZWRWYWx1ZSA9IHY4QXJyYXkt
PkdldCh2ODo6SW50ZWdlcjo6TmV3KGkpKTsKKyAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFs
dWU+IGluZGV4ZWRWYWx1ZSA9IHY4QXJyYXktPkdldCh2OEludGVnZXIoaSkpOwogICAgICAgICAg
ICAgcmVzdWx0LmFwcGVuZChzdGF0aWNfY2FzdDxUPihpbmRleGVkVmFsdWUtPk51bWJlclZhbHVl
KCkpKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhDb2xsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOENvbGxlY3Rpb24uaAppbmRleCBiNTBiYTg5OWM5OGRjNmU5YTFlZmZiZjMy
Y2U2YjMwMDM2NGYyZWNmLi5kOGNkYzgxY2MwZDQ1MGNkOTc4YmFmNDJhMDg0MTgyYjgzNTUzMjU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOENvbGxlY3Rpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOENvbGxlY3Rpb24uaApAQCAtMTA2LDcg
KzEwNiw3IEBAIHRlbXBsYXRlPGNsYXNzIENvbGxlY3Rpb24+IHN0YXRpYyB2ODo6SGFuZGxlPHY4
OjpBcnJheT4gbm9kZUNvbGxlY3Rpb25JbmRleGVkUHJvCiAgICAgdjg6OkhhbmRsZTx2ODo6QXJy
YXk+IHByb3BlcnRpZXMgPSB2ODo6QXJyYXk6Ok5ldyhsZW5ndGgpOwogICAgIGZvciAoaW50IGkg
PSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAgICAgICAgLy8gRklYTUU6IERvIHdlIG5lZWQgdG8g
Y2hlY2sgdGhhdCB0aGUgaXRlbSBmdW5jdGlvbiByZXR1cm5zIGEgbm9uLW51bGwgdmFsdWUgZm9y
IHRoaXMgaW5kZXg/Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6OkludGVnZXI+IGludGVnZXIgPSB2
ODo6SW50ZWdlcjo6TmV3KGkpOworICAgICAgICB2ODo6SGFuZGxlPHY4OjpJbnRlZ2VyPiBpbnRl
Z2VyID0gdjhJbnRlZ2VyKGksIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgcHJvcGVydGll
cy0+U2V0KGludGVnZXIsIGludGVnZXIpOwogICAgIH0KICAgICByZXR1cm4gcHJvcGVydGllczsK
QEAgLTEyMSw3ICsxMjEsNyBAQCB0ZW1wbGF0ZTxjbGFzcyBDb2xsZWN0aW9uPiBzdGF0aWMgdjg6
OkhhbmRsZTx2ODo6QXJyYXk+IGNvbGxlY3Rpb25JbmRleGVkUHJvcGVydAogICAgIHY4OjpIYW5k
bGU8djg6OkFycmF5PiBwcm9wZXJ0aWVzID0gdjg6OkFycmF5OjpOZXcobGVuZ3RoKTsKICAgICBm
b3IgKGludCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBEbyB3
ZSBuZWVkIHRvIGNoZWNrIHRoYXQgdGhlIGl0ZW0gZnVuY3Rpb24gcmV0dXJucyBhIG5vbi1udWxs
IHZhbHVlIGZvciB0aGlzIGluZGV4PwotICAgICAgICB2ODo6SGFuZGxlPHY4OjpJbnRlZ2VyPiBp
bnRlZ2VyID0gdjg6OkludGVnZXI6Ok5ldyhpKTsKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6SW50
ZWdlcj4gaW50ZWdlciA9IHY4SW50ZWdlcihpLCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgICAg
IHByb3BlcnRpZXMtPlNldChpbnRlZ2VyLCBpbnRlZ2VyKTsKICAgICB9CiAgICAgcmV0dXJuIHBy
b3BlcnRpZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOExhenlF
dmVudExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4TGF6eUV2ZW50
TGlzdGVuZXIuY3BwCmluZGV4IDgzYjFhMTQwMzRjMThjMjAyNWRkNmM1ZjAyOWM1NjAxZWU1NTVk
OGIuLmViMDUyMmYyN2E1MzA2ZjQ1NzRkNjMzMDRhYzYyODQwMzUxMDE2MmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4TGF6eUV2ZW50TGlzdGVuZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4TGF6eUV2ZW50TGlzdGVuZXIuY3BwCkBAIC0x
ODAsMTEgKzE4MCwxMSBAQCB2b2lkIFY4TGF6eUV2ZW50TGlzdGVuZXI6OnByZXBhcmVMaXN0ZW5l
ck9iamVjdChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogICAgIHY4OjpMb2NhbDx2
ODo6T2JqZWN0PiB0aGlzT2JqZWN0ID0gdjg6Ok9iamVjdDo6TmV3KCk7CiAgICAgaWYgKHRoaXNP
YmplY3QuSXNFbXB0eSgpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKCF0aGlzT2JqZWN0LT5G
b3JjZVNldCh2ODo6SW50ZWdlcjo6TmV3RnJvbVVuc2lnbmVkKDApLCBub2RlV3JhcHBlcikpCisg
ICAgaWYgKCF0aGlzT2JqZWN0LT5Gb3JjZVNldCh2OFVuc2lnbmVkSW50ZWdlcigwKSwgbm9kZVdy
YXBwZXIpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKCF0aGlzT2JqZWN0LT5Gb3JjZVNldCh2
ODo6SW50ZWdlcjo6TmV3RnJvbVVuc2lnbmVkKDEpLCBmb3JtV3JhcHBlcikpCisgICAgaWYgKCF0
aGlzT2JqZWN0LT5Gb3JjZVNldCh2OFVuc2lnbmVkSW50ZWdlcigxKSwgZm9ybVdyYXBwZXIpKQog
ICAgICAgICByZXR1cm47Ci0gICAgaWYgKCF0aGlzT2JqZWN0LT5Gb3JjZVNldCh2ODo6SW50ZWdl
cjo6TmV3RnJvbVVuc2lnbmVkKDIpLCBkb2N1bWVudFdyYXBwZXIpKQorICAgIGlmICghdGhpc09i
amVjdC0+Rm9yY2VTZXQodjhVbnNpZ25lZEludGVnZXIoMiksIGRvY3VtZW50V3JhcHBlcikpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBjb2RlIHdoZW4gd2Ug
c3RvcCBkb2luZyB0aGUgJ3dpdGgnIGhhY2sgYWJvdmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOE5QT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4TlBPYmplY3QuY3BwCmluZGV4IDYxMjVmOWE2MzBkMTZkNGVlOTAzNDBiNDUwYzE5Y2Jj
NDMxNzU2YmUuLmQ0ODBlM2U2OWUxNjQwNzQwNmZjN2EwNDAwMTgzNmNmYzUzMzExZjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4TlBPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4TlBPYmplY3QuY3BwCkBAIC0yNjQsNyArMjY0LDcg
QEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG5wT2JqZWN0R2V0SW5kZXhlZFByb3BlcnR5KHY4OjpM
b2NhbDx2ODo6T2JqZWN0PiBzZWxmLCB1aW4KIHY4OjpIYW5kbGU8djg6OkludGVnZXI+IG5wT2Jq
ZWN0UXVlcnlQcm9wZXJ0eSh2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFj
Y2Vzc29ySW5mbyYgaW5mbykKIHsKICAgICBOUElkZW50aWZpZXIgaWRlbnRpZmllciA9IGdldFN0
cmluZ0lkZW50aWZpZXIobmFtZSk7Ci0gICAgcmV0dXJuIG5wT2JqZWN0R2V0UHJvcGVydHkoaW5m
by5Ib2xkZXIoKSwgaWRlbnRpZmllciwgbmFtZSwgaW5mby5HZXRJc29sYXRlKCkpLklzRW1wdHko
KSA/IHY4OjpIYW5kbGU8djg6OkludGVnZXI+KCkgOiB2ODo6SW50ZWdlcjo6TmV3KHY4OjpOb25l
KTsKKyAgICByZXR1cm4gbnBPYmplY3RHZXRQcm9wZXJ0eShpbmZvLkhvbGRlcigpLCBpZGVudGlm
aWVyLCBuYW1lLCBpbmZvLkdldElzb2xhdGUoKSkuSXNFbXB0eSgpID8gdjg6OkhhbmRsZTx2ODo6
SW50ZWdlcj4oKSA6IHY4SW50ZWdlcigwLCBpbmZvLkdldElzb2xhdGUoKSk7CiB9CiAKIHN0YXRp
YyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gbnBPYmplY3RTZXRQcm9wZXJ0eSh2ODo6TG9jYWw8djg6
Ok9iamVjdD4gc2VsZiwgTlBJZGVudGlmaWVyIGlkZW50aWZpZXIsIHY4OjpMb2NhbDx2ODo6VmFs
dWU+IHZhbHVlLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKQEAgLTMzNSw5ICszMzUsOSBAQCB2ODo6
SGFuZGxlPHY4OjpBcnJheT4gbnBPYmplY3RQcm9wZXJ0eUVudW1lcmF0b3IoY29uc3Qgdjg6OkFj
Y2Vzc29ySW5mbyYgaW5mbywgYgogICAgICAgICAgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8
IGNvdW50OyArK2kpIHsKICAgICAgICAgICAgICAgICBJZGVudGlmaWVyUmVwKiBpZGVudGlmaWVy
ID0gc3RhdGljX2Nhc3Q8SWRlbnRpZmllclJlcCo+KGlkZW50aWZpZXJzW2ldKTsKICAgICAgICAg
ICAgICAgICBpZiAobmFtZWRQcm9wZXJ0eSkKLSAgICAgICAgICAgICAgICAgICAgcHJvcGVydGll
cy0+U2V0KHY4OjpJbnRlZ2VyOjpOZXcoaSksIHY4OjpTdHJpbmc6Ok5ldyhpZGVudGlmaWVyLT5z
dHJpbmcoKSkpOworICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLT5TZXQodjhJbnRlZ2Vy
KGksIGluZm8uR2V0SXNvbGF0ZSgpKSwgdjg6OlN0cmluZzo6TmV3KGlkZW50aWZpZXItPnN0cmlu
ZygpKSk7CiAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0
aWVzLT5TZXQodjg6OkludGVnZXI6Ok5ldyhpKSwgdjg6OkludGVnZXI6Ok5ldyhpZGVudGlmaWVy
LT5udW1iZXIoKSkpOworICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLT5TZXQodjhJbnRl
Z2VyKGksIGluZm8uR2V0SXNvbGF0ZSgpKSwgdjhJbnRlZ2VyKGlkZW50aWZpZXItPm51bWJlcigp
LCBpbmZvLkdldElzb2xhdGUoKSkpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICByZXR1
cm4gcHJvcGVydGllczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
TlBVdGlscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOE5QVXRpbHMuY3BwCmlu
ZGV4IGNhOWUxZWE3MGRhZTMwNmVjNjM1OWM4NzlmZmViZmQyM2VlZDgxOTIuLjg5YjEyZTgzNmQ1
OTBlYjY4NjBlMDAyYzFjYjAzMjk2ODI4OThlNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4TlBVdGlscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhOUFV0aWxzLmNwcApAQCAtODMsNyArODMsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
Y29udmVydE5QVmFyaWFudFRvVjhPYmplY3QoY29uc3QgTlBWYXJpYW50KiB2YXJpYW50LCBOUE9i
agogCiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBOUFZhcmlhbnRUeXBlX0ludDMyOgot
ICAgICAgICByZXR1cm4gdjg6OkludGVnZXI6Ok5ldyhOUFZBUklBTlRfVE9fSU5UMzIoKnZhcmlh
bnQpKTsKKyAgICAgICAgcmV0dXJuIHY4SW50ZWdlcihOUFZBUklBTlRfVE9fSU5UMzIoKnZhcmlh
bnQpKTsKICAgICBjYXNlIE5QVmFyaWFudFR5cGVfRG91YmxlOgogICAgICAgICByZXR1cm4gdjg6
Ok51bWJlcjo6TmV3KE5QVkFSSUFOVF9UT19ET1VCTEUoKnZhcmlhbnQpKTsKICAgICBjYXNlIE5Q
VmFyaWFudFR5cGVfQm9vbDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4UHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5jcHAKaW5k
ZXggZjgwMzFlYzdlYmE1NmIwOTNmMmVjNWYxNjk0M2E2ZGQ5YWJlNWM2Yi4uYWUwMzllM2I2Zjky
YzRkZWJjNmNhZDhiM2UxNjYyZGIzNjZjMmEzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhQcm94eS5jcHAKQEAgLTExNSw4ICsxMTUsOCBAQCB2b2lkIGJhdGNoQ29uZmlndXJlQ29uc3Rh
bnRzKHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGZ1bmN0aW9uRGVzY3JpcHRvcgog
ewogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY29uc3RhbnRDb3VudDsgKytpKSB7CiAgICAg
ICAgIGNvbnN0IEJhdGNoZWRDb25zdGFudCogY29uc3RhbnQgPSAmY29uc3RhbnRzW2ldOwotICAg
ICAgICBmdW5jdGlvbkRlc2NyaXB0b3ItPlNldCh2ODo6U3RyaW5nOjpOZXcoY29uc3RhbnQtPm5h
bWUpLCB2ODo6SW50ZWdlcjo6TmV3KGNvbnN0YW50LT52YWx1ZSksIHY4OjpSZWFkT25seSk7Ci0g
ICAgICAgIHByb3RvLT5TZXQodjg6OlN0cmluZzo6TmV3KGNvbnN0YW50LT5uYW1lKSwgdjg6Oklu
dGVnZXI6Ok5ldyhjb25zdGFudC0+dmFsdWUpLCB2ODo6UmVhZE9ubHkpOworICAgICAgICBmdW5j
dGlvbkRlc2NyaXB0b3ItPlNldCh2ODo6U3RyaW5nOjpOZXcoY29uc3RhbnQtPm5hbWUpLCB2OElu
dGVnZXIoY29uc3RhbnQtPnZhbHVlKSwgdjg6OlJlYWRPbmx5KTsKKyAgICAgICAgcHJvdG8tPlNl
dCh2ODo6U3RyaW5nOjpOZXcoY29uc3RhbnQtPm5hbWUpLCB2OEludGVnZXIoY29uc3RhbnQtPnZh
bHVlKSwgdjg6OlJlYWRPbmx5KTsKICAgICB9CiB9CiAKQEAgLTE4MSw4ICsxODEsOCBAQCB2ODo6
SGFuZGxlPHY4OjpTY3JpcHQ+IFY4UHJveHk6OmNvbXBpbGVTY3JpcHQodjg6OkhhbmRsZTx2ODo6
U3RyaW5nPiBjb2RlLCBjb25zdAogewogICAgIGNvbnN0IHVpbnQxNl90KiBmaWxlTmFtZVN0cmlu
ZyA9IGZyb21XZWJDb3JlU3RyaW5nKGZpbGVOYW1lKTsKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJp
bmc+IG5hbWUgPSB2ODo6U3RyaW5nOjpOZXcoZmlsZU5hbWVTdHJpbmcsIGZpbGVOYW1lLmxlbmd0
aCgpKTsKLSAgICB2ODo6SGFuZGxlPHY4OjpJbnRlZ2VyPiBsaW5lID0gdjg6OkludGVnZXI6Ok5l
dyhzY3JpcHRTdGFydFBvc2l0aW9uLm1fbGluZS56ZXJvQmFzZWRJbnQoKSk7Ci0gICAgdjg6Okhh
bmRsZTx2ODo6SW50ZWdlcj4gY29sdW1uID0gdjg6OkludGVnZXI6Ok5ldyhzY3JpcHRTdGFydFBv
c2l0aW9uLm1fY29sdW1uLnplcm9CYXNlZEludCgpKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpJbnRl
Z2VyPiBsaW5lID0gdjhJbnRlZ2VyKHNjcmlwdFN0YXJ0UG9zaXRpb24ubV9saW5lLnplcm9CYXNl
ZEludCgpKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpJbnRlZ2VyPiBjb2x1bW4gPSB2OEludGVnZXIo
c2NyaXB0U3RhcnRQb3NpdGlvbi5tX2NvbHVtbi56ZXJvQmFzZWRJbnQoKSk7CiAgICAgdjg6OlNj
cmlwdE9yaWdpbiBvcmlnaW4obmFtZSwgbGluZSwgY29sdW1uKTsKICAgICB2ODo6SGFuZGxlPHY4
OjpTY3JpcHQ+IHNjcmlwdCA9IHY4OjpTY3JpcHQ6OkNvbXBpbGUoY29kZSwgJm9yaWdpbiwgc2Ny
aXB0RGF0YSk7CiAgICAgcmV0dXJuIHNjcmlwdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4VXRpbGl0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4VXRpbGl0aWVzLmNwcAppbmRleCA5ZjkyM2E5MTgwYzNkYzY0YWI2NjNiNGY2MTQwZDQ4Y2Uy
NGE5ZjUwLi43ZDkzMzRkMGUwM2Y5NDk3ODFmZDliY2EzY2U5ZjIwMDY2Njg1MmY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFV0aWxpdGllcy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhVdGlsaXRpZXMuY3BwCkBAIC04MSw3ICs4MSw3IEBA
IHZvaWQgY3JlYXRlSGlkZGVuRGVwZW5kZW5jeSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IG9iamVj
dCwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4KICAgICB9CiAKICAgICB2ODo6TG9jYWw8djg6OkFycmF5
PiBjYWNoZUFycmF5ID0gdjg6OkxvY2FsPHY4OjpBcnJheT46OkNhc3QoY2FjaGUpOwotICAgIGNh
Y2hlQXJyYXktPlNldCh2ODo6SW50ZWdlcjo6TmV3KGNhY2hlQXJyYXktPkxlbmd0aCgpKSwgdmFs
dWUpOworICAgIGNhY2hlQXJyYXktPlNldCh2OEludGVnZXIoY2FjaGVBcnJheS0+TGVuZ3RoKCkp
LCB2YWx1ZSk7CiB9CiAKIGJvb2wgZXh0cmFjdFRyYW5zZmVyYWJsZXModjg6OkxvY2FsPHY4OjpW
YWx1ZT4gdmFsdWUsIE1lc3NhZ2VQb3J0QXJyYXkmIHBvcnRzLCBBcnJheUJ1ZmZlckFycmF5JiBh
cnJheUJ1ZmZlcnMpCkBAIC0xNTMsNyArMTUzLDcgQEAgdm9pZCByZW1vdmVIaWRkZW5EZXBlbmRl
bmN5KHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gb2JqZWN0LCB2ODo6TG9jYWw8djg6OlZhbHVlPgog
ICAgICAgICByZXR1cm47CiAgICAgdjg6OkxvY2FsPHY4OjpBcnJheT4gY2FjaGVBcnJheSA9IHY4
OjpMb2NhbDx2ODo6QXJyYXk+OjpDYXN0KGNhY2hlKTsKICAgICBmb3IgKGludCBpID0gY2FjaGVB
cnJheS0+TGVuZ3RoKCkgLSAxOyBpID49IDA7IC0taSkgewotICAgICAgICB2ODo6TG9jYWw8djg6
OlZhbHVlPiBjYWNoZWQgPSBjYWNoZUFycmF5LT5HZXQodjg6OkludGVnZXI6Ok5ldyhpKSk7Cisg
ICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGNhY2hlZCA9IGNhY2hlQXJyYXktPkdldCh2OElu
dGVnZXIoaSkpOwogICAgICAgICBpZiAoY2FjaGVkLT5TdHJpY3RFcXVhbHModmFsdWUpKSB7CiAg
ICAgICAgICAgICBjYWNoZUFycmF5LT5EZWxldGUoaSk7CiAgICAgICAgICAgICByZXR1cm47CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFdpbmRvd0Vycm9ySGFuZGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFdpbmRvd0Vycm9ySGFuZGxlci5j
cHAKaW5kZXggMjM3OTcyM2M4MTRlNzMxNzcyN2Q4NGU0MTMxNThiY2NiZDc0MWIwZC4uYWVmN2Qx
MjM1ZWFmZTc4ZDBmODFmZWFmMmJhMzUwNWZiZThmNmNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhXaW5kb3dFcnJvckhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4V2luZG93RXJyb3JIYW5kbGVyLmNwcApAQCAtNTUsNyArNTUs
NyBAQCB2ODo6TG9jYWw8djg6OlZhbHVlPiBWOFdpbmRvd0Vycm9ySGFuZGxlcjo6Y2FsbExpc3Rl
bmVyRnVuY3Rpb24oU2NyaXB0RXhlY3V0aW9uQwogICAgIGlmICghbGlzdGVuZXIuSXNFbXB0eSgp
ICYmIGxpc3RlbmVyLT5Jc0Z1bmN0aW9uKCkpIHsKICAgICAgICAgdjg6OkxvY2FsPHY4OjpGdW5j
dGlvbj4gY2FsbEZ1bmN0aW9uID0gdjg6OkxvY2FsPHY4OjpGdW5jdGlvbj46OkNhc3QobGlzdGVu
ZXIpOwogICAgICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gdGhpc1ZhbHVlID0gdjg6OkNvbnRl
eHQ6OkdldEN1cnJlbnQoKS0+R2xvYmFsKCk7Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBwYXJhbWV0ZXJzWzNdID0geyB2OFN0cmluZyhlcnJvckV2ZW50LT5tZXNzYWdlKCkpLCB2OFN0
cmluZyhlcnJvckV2ZW50LT5maWxlbmFtZSgpKSwgdjg6OkludGVnZXI6Ok5ldyhlcnJvckV2ZW50
LT5saW5lbm8oKSkgfTsKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHBhcmFtZXRlcnNb
M10gPSB7IHY4U3RyaW5nKGVycm9yRXZlbnQtPm1lc3NhZ2UoKSksIHY4U3RyaW5nKGVycm9yRXZl
bnQtPmZpbGVuYW1lKCkpLCB2OEludGVnZXIoZXJyb3JFdmVudC0+bGluZW5vKCkpIH07CiAgICAg
ICAgIHY4OjpUcnlDYXRjaCB0cnlDYXRjaDsKICAgICAgICAgdHJ5Q2F0Y2guU2V0VmVyYm9zZSh0
cnVlKTsKICAgICAgICAgcmV0dXJuVmFsdWUgPSBWOFByb3h5OjppbnN0cnVtZW50ZWRDYWxsRnVu
Y3Rpb24oMCAvKiBmcmFtZSAqLywgY2FsbEZ1bmN0aW9uLCB0aGlzVmFsdWUsIDMsIHBhcmFtZXRl
cnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhXb3JrZXJDb250
ZXh0RXJyb3JIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4V29ya2Vy
Q29udGV4dEVycm9ySGFuZGxlci5jcHAKaW5kZXggYjliZGVjZDRiNDE2NDE3MzZlNTYxM2QwMzRh
NTE3ZGFhNmRjN2IzNy4uZGQ0NWE4NGMzMDE1ZDg0MTEwYTQ1OTE5MzlkNDQxMzJiNzI5YTI5MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhXb3JrZXJDb250ZXh0RXJy
b3JIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFdvcmtlckNv
bnRleHRFcnJvckhhbmRsZXIuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHY4OjpMb2NhbDx2ODo6VmFs
dWU+IFY4V29ya2VyQ29udGV4dEVycm9ySGFuZGxlcjo6Y2FsbExpc3RlbmVyRnVuY3Rpb24oU2Ny
aXB0RXhlCiAgICAgICAgIEVycm9yRXZlbnQqIGVycm9yRXZlbnQgPSBzdGF0aWNfY2FzdDxFcnJv
ckV2ZW50Kj4oZXZlbnQpOwogICAgICAgICB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPiBjYWxsRnVu
Y3Rpb24gPSB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPjo6Q2FzdChsaXN0ZW5lcik7CiAgICAgICAg
IHY4OjpMb2NhbDx2ODo6T2JqZWN0PiB0aGlzVmFsdWUgPSB2ODo6Q29udGV4dDo6R2V0Q3VycmVu
dCgpLT5HbG9iYWwoKTsKLSAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHBhcmFtZXRlcnNb
M10gPSB7IHY4U3RyaW5nKGVycm9yRXZlbnQtPm1lc3NhZ2UoKSksIHY4U3RyaW5nKGVycm9yRXZl
bnQtPmZpbGVuYW1lKCkpLCB2ODo6SW50ZWdlcjo6TmV3KGVycm9yRXZlbnQtPmxpbmVubygpKSB9
OworICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gcGFyYW1ldGVyc1szXSA9IHsgdjhTdHJp
bmcoZXJyb3JFdmVudC0+bWVzc2FnZSgpKSwgdjhTdHJpbmcoZXJyb3JFdmVudC0+ZmlsZW5hbWUo
KSksIHY4SW50ZWdlcihlcnJvckV2ZW50LT5saW5lbm8oKSkgfTsKICAgICAgICAgVjhSZWN1cnNp
b25TY29wZSByZWN1cnNpb25TY29wZShjb250ZXh0KTsKICAgICAgICAgcmV0dXJuVmFsdWUgPSBj
YWxsRnVuY3Rpb24tPkNhbGwodGhpc1ZhbHVlLCAzLCBwYXJhbWV0ZXJzKTsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHREZWJ1Z1NlcnZl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHREZWJ1Z1NlcnZl
ci5jcHAKaW5kZXggMTg2MGRkYzhkYjRhMmUwYTdkZTQ3N2IxYWIwNjEzZDIxMjVhNmFjNi4uMTU1
NDZlNmQ2NzBmNWQ1ODQwZjg4YThiNzA2NWRhMTM0ODY2OGMzNiAxMDA3NTUKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdERlYnVnU2VydmVyLmNwcApAQCAt
NzksNyArNzksNyBAQCB2b2lkIFdvcmtlclNjcmlwdERlYnVnU2VydmVyOjphZGRMaXN0ZW5lcihT
Y3JpcHREZWJ1Z0xpc3RlbmVyKiBsaXN0ZW5lcikKICAgICBBU1NFUlQoIXZhbHVlLT5Jc1VuZGVm
aW5lZCgpICYmIHZhbHVlLT5Jc0FycmF5KCkpOwogICAgIHY4OjpIYW5kbGU8djg6OkFycmF5PiBz
Y3JpcHRzQXJyYXkgPSB2ODo6SGFuZGxlPHY4OjpBcnJheT46OkNhc3QodmFsdWUpOwogICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBzY3JpcHRzQXJyYXktPkxlbmd0aCgpOyArK2kpCi0gICAg
ICAgIGRpc3BhdGNoRGlkUGFyc2VTb3VyY2UobGlzdGVuZXIsIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD46OkNhc3Qoc2NyaXB0c0FycmF5LT5HZXQodjg6OkludGVnZXI6Ok5ldyhpKSkpKTsKKyAgICAg
ICAgZGlzcGF0Y2hEaWRQYXJzZVNvdXJjZShsaXN0ZW5lciwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
Pjo6Q2FzdChzY3JpcHRzQXJyYXktPkdldCh2OEludGVnZXIoaSkpKSk7CiB9CiAKIHZvaWQgV29y
a2VyU2NyaXB0RGVidWdTZXJ2ZXI6OnJlbW92ZUxpc3RlbmVyKFNjcmlwdERlYnVnTGlzdGVuZXIq
IGxpc3RlbmVyKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>