<?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>68015</bug_id>
          
          <creation_ts>2011-09-13 11:48:06 -0700</creation_ts>
          <short_desc>[v8] Improve performance of typed array copy constructor taking Array</short_desc>
          <delta_ts>2011-09-16 11:02: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>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>68237</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ulan Degenbaev">ulan</reporter>
          <assigned_to name="Ulan Degenbaev">ulan</assigned_to>
          <cc>kbr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>466432</commentid>
    <comment_count>0</comment_count>
    <who name="Ulan Degenbaev">ulan</who>
    <bug_when>2011-09-13 11:48:06 -0700</bug_when>
    <thetext>This issue is related to https://bugs.webkit.org/show_bug.cgi?id=63644 . The copy constructor copies elements of the source array one by one using the V8 API  functions, which produces many context switches the WebKit and the V8. We can speed it up by invoking the &apos;set&apos; method of the constructed array in JavaScript.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466460</commentid>
    <comment_count>1</comment_count>
      <attachid>107209</attachid>
    <who name="Ulan Degenbaev">ulan</who>
    <bug_when>2011-09-13 12:17:20 -0700</bug_when>
    <thetext>Created attachment 107209
Invoke the &apos;set&apos; method of the constructed array</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466462</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-13 12:20:51 -0700</bug_when>
    <thetext>Attachment 107209 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;Source/WebCore/WebCore.gypi&apos;...&quot; exit_code: 1

Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustom.cpp:28:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466475</commentid>
    <comment_count>3</comment_count>
      <attachid>107212</attachid>
    <who name="Ulan Degenbaev">ulan</who>
    <bug_when>2011-09-13 12:47:14 -0700</bug_when>
    <thetext>Created attachment 107212
Fix style error (include primary header) and include ExceptionCode.h in V8ArrayBufferViewCustom.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467188</commentid>
    <comment_count>4</comment_count>
      <attachid>107212</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-09-14 11:48:28 -0700</bug_when>
    <thetext>Comment on attachment 107212
Fix style error (include primary header) and include ExceptionCode.h in V8ArrayBufferViewCustom.h

Thanks, looks good. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467563</commentid>
    <comment_count>5</comment_count>
      <attachid>107212</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-14 20:27:49 -0700</bug_when>
    <thetext>Comment on attachment 107212
Fix style error (include primary header) and include ExceptionCode.h in V8ArrayBufferViewCustom.h

Clearing flags on attachment: 107212

Committed r95157: &lt;http://trac.webkit.org/changeset/95157&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467564</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-14 20:27:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107209</attachid>
            <date>2011-09-13 12:17:20 -0700</date>
            <delta_ts>2011-09-13 12:47:14 -0700</delta_ts>
            <desc>Invoke the &apos;set&apos; method of the constructed array</desc>
            <filename>b68015</filename>
            <type>text/plain</type>
            <size>5648</size>
            <attacher name="Ulan Degenbaev">ulan</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDk1MDM2
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDkt
MTMgIFVsYW4gRGVnZW5iYWV2ICA8dWxhbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW3Y4XSBJ
bXByb3ZlIHBlcmZvcm1hbmNlIG9mIHR5cGVkIGFycmF5IGNvcHkgY29uc3RydWN0b3IgdGFraW5n
IEFycmF5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
ODAxNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
dm9rZSB0aGUgJ3NldCcgbWV0aG9kIG9mIHRoZSBjb25zdHJ1Y3RlZCBhcnJheSBpbnN0ZWFkIG9m
CisgICAgICAgIGNvcHlpbmcgdGhlIGVsZW1lbnRzIG9mIHRoZSBzb3VyY2UgYXJyYXkgb25lIGJ5
IG9uZS4KKworICAgICAgICBDb3B5IGNvbnN0cnVjdG9yIHRlc3RzIGFscmVhZHkgZXhpc3QuCisK
KyAgICAgICAgKiAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGk6CisgICAgICAgICog
Li4vLi4vU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3
Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgICogLi4vLi4vU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tLmg6CisKIDIwMTEtMDktMDkgIFJh
ZmFlbCBBbnRvZ25vbGxpICA8YW50b2dub2xsaUBwcm9mdXNpb24ubW9iaT4KIAogICAgICAgICBB
ZGQgcmVwbGFjZW1lbnQgZnVuY3Rpb25zIGZvciBnZGsgb25lcy4KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkJKHJldmlzaW9uIDk1MDM2KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMTE2LDYgKzIxMTYsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L1dvcmxkQ29udGV4dEhhbmRsZS5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9XcmFwcGVy
VHlwZUluZm8uaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZm
ZXJDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1
ZmZlclZpZXdDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhB
cnJheUJ1ZmZlclZpZXdDdXN0b20uaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4QXVkaW9CdWZmZXJTb3VyY2VOb2RlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4QXVkaW9Db250ZXh0Q3VzdG9tLmNwcCcsCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZpZXdDdXN0b20uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVy
Vmlld0N1c3RvbS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZpZXdDdXN0b20uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDQwIEBACisKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwor
ICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1
ZGUgPHY4Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBjb3B5RWxlbWVudHModjg6
OkhhbmRsZTx2ODo6T2JqZWN0PiBkZXN0QXJyYXksIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gc3Jj
QXJyYXkpCit7CisgICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBrZXkgPSB2ODo6U3RyaW5nOjpO
ZXcoInNldCIpOworICAgIHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uPiBzZXQgPSBkZXN0QXJyYXkt
PkdldChrZXkpLkFzPHY4OjpGdW5jdGlvbj4oKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
YXJndW1lbnQgPSBzcmNBcnJheTsKKyAgICBzZXQtPkNhbGwoZGVzdEFycmF5LCAxLCAmYXJndW1l
bnQpOworfQorCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhB
cnJheUJ1ZmZlclZpZXdDdXN0b20uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZpZXdDdXN0b20uaAkocmV2aXNpb24gOTUwMzYp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZpZXdD
dXN0b20uaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAwOSwgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzksNiArMzksMTEgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCisKKy8vIENvcHkgdGhlIGVsZW1lbnRzIGZyb20gdGhlIHNvdXJjZSBhcnJh
eSB0byB0aGUgdHlwZWQgZGVzdGluYXRpb24gYXJyYXkgYnkKKy8vIGludm9raW5nIHRoZSAnc2V0
JyBtZXRob2Qgb2YgdGhlIGRlc3RpbmF0aW9uIGFycmF5IGluIEpTLgordm9pZCBjb3B5RWxlbWVu
dHModjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBkZXN0QXJyYXksIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gc3JjQXJyYXkpOworCiAvLyBUZW1wbGF0ZSBmdW5jdGlvbiB1c2VkIGJ5IHRoZSBBcnJheUJ1
ZmZlclZpZXcqQ29uc3RydWN0b3IgY2FsbGJhY2tzLgogdGVtcGxhdGU8Y2xhc3MgQXJyYXlDbGFz
cywgY2xhc3MgRWxlbWVudFR5cGU+CiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY29uc3RydWN0V2Vi
R0xBcnJheVdpdGhBcnJheUJ1ZmZlckFyZ3VtZW50KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3Ms
IFdyYXBwZXJUeXBlSW5mbyogdHlwZSwgdjg6OkV4dGVybmFsQXJyYXlUeXBlIGFycmF5VHlwZSwg
Ym9vbCBoYXNJbmRleGVyKQpAQCAtMTQ3LDE3ICsxNTIsMTQgQEAgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IGNvbnN0cnVjdFdlYkdMQXJyYQogICAgIGlmICghYXJyYXkuZ2V0KCkpCiAgICAgICAgIHJl
dHVybiB0aHJvd0Vycm9yKCJBcnJheUJ1ZmZlclZpZXcgc2l6ZSBpcyBub3QgYSBzbWFsbCBlbm91
Z2ggcG9zaXRpdmUgaW50ZWdlci4iLCBWOFByb3h5OjpSYW5nZUVycm9yKTsKIAotICAgIGlmICgh
c3JjQXJyYXkuSXNFbXB0eSgpKSB7Ci0gICAgICAgIC8vIE5lZWQgdG8gY29weSB0aGUgaW5jb21p
bmcgYXJyYXkgaW50byB0aGUgbmV3bHkgY3JlYXRlZCBBcnJheUJ1ZmZlclZpZXcuCi0gICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW47IGkrKykgewotICAgICAgICAgICAgdjg6Okxv
Y2FsPHY4OjpWYWx1ZT4gdmFsID0gc3JjQXJyYXktPkdldChpKTsKLSAgICAgICAgICAgIGFycmF5
LT5zZXQoaSwgdmFsLT5OdW1iZXJWYWx1ZSgpKTsKLSAgICAgICAgfQotICAgIH0KIAogICAgIC8v
IFRyYW5zZm9ybSB0aGUgaG9sZGVyIGludG8gYSB3cmFwcGVyIG9iamVjdCBmb3IgdGhlIGFycmF5
LgogICAgIFY4RE9NV3JhcHBlcjo6c2V0RE9NV3JhcHBlcihhcmdzLkhvbGRlcigpLCB0eXBlLCBh
cnJheS5nZXQoKSk7CiAgICAgYXJncy5Ib2xkZXIoKS0+U2V0SW5kZXhlZFByb3BlcnRpZXNUb0V4
dGVybmFsQXJyYXlEYXRhKGFycmF5LmdldCgpLT5iYXNlQWRkcmVzcygpLCBhcnJheVR5cGUsIGFy
cmF5LmdldCgpLT5sZW5ndGgoKSk7CisKKyAgICBpZiAoIXNyY0FycmF5LklzRW1wdHkoKSkKKyAg
ICAgICAgY29weUVsZW1lbnRzKGFyZ3MuSG9sZGVyKCksIHNyY0FycmF5KTsKKwogICAgIHJldHVy
biB0b1Y4KGFycmF5LnJlbGVhc2UoKSwgYXJncy5Ib2xkZXIoKSwgTWFya0luZGVwZW5kZW50KTsK
IH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107212</attachid>
            <date>2011-09-13 12:47:14 -0700</date>
            <delta_ts>2011-09-14 20:27:48 -0700</delta_ts>
            <desc>Fix style error (include primary header) and include ExceptionCode.h in V8ArrayBufferViewCustom.h</desc>
            <filename>b68015-1</filename>
            <type>text/plain</type>
            <size>5849</size>
            <attacher name="Ulan Degenbaev">ulan</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDk1MDM2
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDkt
MTMgIFVsYW4gRGVnZW5iYWV2ICA8dWxhbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW3Y4XSBJ
bXByb3ZlIHBlcmZvcm1hbmNlIG9mIHR5cGVkIGFycmF5IGNvcHkgY29uc3RydWN0b3IgdGFraW5n
IEFycmF5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
ODAxNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
dm9rZSB0aGUgJ3NldCcgbWV0aG9kIG9mIHRoZSBjb25zdHJ1Y3RlZCBhcnJheSBpbnN0ZWFkIG9m
CisgICAgICAgIGNvcHlpbmcgdGhlIGVsZW1lbnRzIG9mIHRoZSBzb3VyY2UgYXJyYXkgb25lIGJ5
IG9uZS4KKworICAgICAgICBDb3B5IGNvbnN0cnVjdG9yIHRlc3RzIGFscmVhZHkgZXhpc3QuCisK
KyAgICAgICAgKiAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGk6CisgICAgICAgICog
Li4vLi4vU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3
Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgICogLi4vLi4vU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tLmg6CisKIDIwMTEtMDktMDkgIFJh
ZmFlbCBBbnRvZ25vbGxpICA8YW50b2dub2xsaUBwcm9mdXNpb24ubW9iaT4KIAogICAgICAgICBB
ZGQgcmVwbGFjZW1lbnQgZnVuY3Rpb25zIGZvciBnZGsgb25lcy4KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkJKHJldmlzaW9uIDk1MDM2KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMTE2LDYgKzIxMTYsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L1dvcmxkQ29udGV4dEhhbmRsZS5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9XcmFwcGVy
VHlwZUluZm8uaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZm
ZXJDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1
ZmZlclZpZXdDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhB
cnJheUJ1ZmZlclZpZXdDdXN0b20uaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4QXVkaW9CdWZmZXJTb3VyY2VOb2RlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4QXVkaW9Db250ZXh0Q3VzdG9tLmNwcCcsCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZpZXdDdXN0b20uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVy
Vmlld0N1c3RvbS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZpZXdDdXN0b20uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDQxIEBACisKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwor
ICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJWOEFycmF5QnVmZmVyVmlld0N1c3RvbS5oIgorCisjaW5jbHVkZSA8djguaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCit2b2lkIGNvcHlFbGVtZW50cyh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
IGRlc3RBcnJheSwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBzcmNBcnJheSkKK3sKKyAgICB2ODo6
SGFuZGxlPHY4OjpTdHJpbmc+IGtleSA9IHY4OjpTdHJpbmc6Ok5ldygic2V0Iik7CisgICAgdjg6
OkhhbmRsZTx2ODo6RnVuY3Rpb24+IHNldCA9IGRlc3RBcnJheS0+R2V0KGtleSkuQXM8djg6OkZ1
bmN0aW9uPigpOworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmd1bWVudCA9IHNyY0FycmF5
OworICAgIHNldC0+Q2FsbChkZXN0QXJyYXksIDEsICZhcmd1bWVudCk7Cit9CisKK30KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3Rv
bS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFy
cmF5QnVmZmVyVmlld0N1c3RvbS5oCShyZXZpc2lvbiA5NTAzNikKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCkBAIC0zMiw2ICszMiw3IEBACiAjZGVmaW5lIFY4QXJyYXlCdWZmZXJWaWV3Q3VzdG9t
X2gKIAogI2luY2x1ZGUgIkFycmF5QnVmZmVyLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5o
IgogCiAjaW5jbHVkZSAiVjhBcnJheUJ1ZmZlci5oIgogI2luY2x1ZGUgIlY4QmluZGluZy5oIgpA
QCAtMzksNiArNDAsMTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisKKy8vIENvcHkgdGhl
IGVsZW1lbnRzIGZyb20gdGhlIHNvdXJjZSBhcnJheSB0byB0aGUgdHlwZWQgZGVzdGluYXRpb24g
YXJyYXkgYnkKKy8vIGludm9raW5nIHRoZSAnc2V0JyBtZXRob2Qgb2YgdGhlIGRlc3RpbmF0aW9u
IGFycmF5IGluIEpTLgordm9pZCBjb3B5RWxlbWVudHModjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBk
ZXN0QXJyYXksIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gc3JjQXJyYXkpOworCiAvLyBUZW1wbGF0
ZSBmdW5jdGlvbiB1c2VkIGJ5IHRoZSBBcnJheUJ1ZmZlclZpZXcqQ29uc3RydWN0b3IgY2FsbGJh
Y2tzLgogdGVtcGxhdGU8Y2xhc3MgQXJyYXlDbGFzcywgY2xhc3MgRWxlbWVudFR5cGU+CiB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gY29uc3RydWN0V2ViR0xBcnJheVdpdGhBcnJheUJ1ZmZlckFyZ3Vt
ZW50KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MsIFdyYXBwZXJUeXBlSW5mbyogdHlwZSwgdjg6
OkV4dGVybmFsQXJyYXlUeXBlIGFycmF5VHlwZSwgYm9vbCBoYXNJbmRleGVyKQpAQCAtMTQ3LDE3
ICsxNTMsMTQgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdFdlYkdMQXJyYQogICAg
IGlmICghYXJyYXkuZ2V0KCkpCiAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJBcnJheUJ1ZmZl
clZpZXcgc2l6ZSBpcyBub3QgYSBzbWFsbCBlbm91Z2ggcG9zaXRpdmUgaW50ZWdlci4iLCBWOFBy
b3h5OjpSYW5nZUVycm9yKTsKIAotICAgIGlmICghc3JjQXJyYXkuSXNFbXB0eSgpKSB7Ci0gICAg
ICAgIC8vIE5lZWQgdG8gY29weSB0aGUgaW5jb21pbmcgYXJyYXkgaW50byB0aGUgbmV3bHkgY3Jl
YXRlZCBBcnJheUJ1ZmZlclZpZXcuCi0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBs
ZW47IGkrKykgewotICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsID0gc3JjQXJy
YXktPkdldChpKTsKLSAgICAgICAgICAgIGFycmF5LT5zZXQoaSwgdmFsLT5OdW1iZXJWYWx1ZSgp
KTsKLSAgICAgICAgfQotICAgIH0KIAogICAgIC8vIFRyYW5zZm9ybSB0aGUgaG9sZGVyIGludG8g
YSB3cmFwcGVyIG9iamVjdCBmb3IgdGhlIGFycmF5LgogICAgIFY4RE9NV3JhcHBlcjo6c2V0RE9N
V3JhcHBlcihhcmdzLkhvbGRlcigpLCB0eXBlLCBhcnJheS5nZXQoKSk7CiAgICAgYXJncy5Ib2xk
ZXIoKS0+U2V0SW5kZXhlZFByb3BlcnRpZXNUb0V4dGVybmFsQXJyYXlEYXRhKGFycmF5LmdldCgp
LT5iYXNlQWRkcmVzcygpLCBhcnJheVR5cGUsIGFycmF5LmdldCgpLT5sZW5ndGgoKSk7CisKKyAg
ICBpZiAoIXNyY0FycmF5LklzRW1wdHkoKSkKKyAgICAgICAgY29weUVsZW1lbnRzKGFyZ3MuSG9s
ZGVyKCksIHNyY0FycmF5KTsKKwogICAgIHJldHVybiB0b1Y4KGFycmF5LnJlbGVhc2UoKSwgYXJn
cy5Ib2xkZXIoKSwgTWFya0luZGVwZW5kZW50KTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>