<?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>82637</bug_id>
          
          <creation_ts>2012-03-29 12:10:09 -0700</creation_ts>
          <short_desc>Template the Yarr::Interpreter on the character type</short_desc>
          <delta_ts>2012-03-29 13:16:54 -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>JavaScriptCore</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>591418</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-03-29 12:10:09 -0700</bug_when>
    <thetext>We should be able to call to the interpreter after having already checked the character type, without having to re-package the character pointer back up into a string!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591422</commentid>
    <comment_count>1</comment_count>
      <attachid>134638</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-03-29 12:13:00 -0700</bug_when>
    <thetext>Created attachment 134638
Fix

No performance impact</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591426</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-29 12:18:05 -0700</bug_when>
    <thetext>Attachment 134638 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1
Source/JavaScriptCore/yarr/YarrInterpreter.h:380:  The parameter name &quot;bytecode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/yarr/YarrInterpreter.h:381:  The parameter name &quot;bytecode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 7 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>591455</commentid>
    <comment_count>3</comment_count>
      <attachid>134638</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-29 12:47:27 -0700</bug_when>
    <thetext>Comment on attachment 134638
Fix

Attachment 134638 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12204402</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591467</commentid>
    <comment_count>4</comment_count>
      <attachid>134638</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-03-29 13:05:46 -0700</bug_when>
    <thetext>Comment on attachment 134638
Fix

You are windows breaker!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591485</commentid>
    <comment_count>5</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-03-29 13:16:54 -0700</bug_when>
    <thetext>Fixed in r112564</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134638</attachid>
            <date>2012-03-29 12:13:00 -0700</date>
            <delta_ts>2012-03-29 13:05:46 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>82637.patch</filename>
            <type>text/plain</type>
            <size>13583</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTEyNTU2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBA
CisyMDEyLTAzLTI5ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4K
KworICAgICAgICBUZW1wbGF0ZSB0aGUgWWFycjo6SW50ZXJwcmV0ZXIgb24gdGhlIGNoYXJhY3Rl
ciB0eXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MjYzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdl
IHNob3VsZCBiZSBhYmxlIHRvIGNhbGwgdG8gdGhlIGludGVycHJldGVyIGFmdGVyIGhhdmluZyBh
bHJlYWR5IGNoZWNrZWQgdGhlIGNoYXJhY3RlciB0eXBlLAorICAgICAgICB3aXRob3V0IGhhdmlu
ZyB0byByZS1wYWNrYWdlIHRoZSBjaGFyYWN0ZXIgcG9pbnRlciBiYWNrIHVwIGludG8gYSBzdHJp
bmchCisKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cC5jcHA6CisgICAgICAgIChKU0M6OlJlZ0V4
cDo6bWF0Y2gpOgorICAgICAgICAoSlNDOjpSZWdFeHA6Om1hdGNoQ29tcGFyZVdpdGhJbnRlcnBy
ZXRlcik6CisgICAgICAgICAgICAtIERvbid0IHBhc3MgbGVuZ3RoLgorICAgICAgICAqIHlhcnIv
WWFyci5oOgorICAgICAgICAgICAgLSBtb3ZlZCBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgdG8gWWFy
ckludGVycHJldGVyLmguCisgICAgICAgICogeWFyci9ZYXJySW50ZXJwcmV0ZXIuY3BwOgorICAg
ICAgICAoWWFycik6CisgICAgICAgIChJbnRlcnByZXRlcik6CisgICAgICAgIChKU0M6OllhcnI6
OkludGVycHJldGVyOjpJbnB1dFN0cmVhbTo6SW5wdXRTdHJlYW0pOgorICAgICAgICAoSW5wdXRT
dHJlYW0pOgorICAgICAgICAoSlNDOjpZYXJyOjpJbnRlcnByZXRlcjo6SW50ZXJwcmV0ZXIpOgor
ICAgICAgICAoSlNDOjpZYXJyOjppbnRlcnByZXQpOgorICAgICAgICAgICAgLSB0ZW1wbGF0ZWQg
SW50ZXJwcmV0ZXIgY2xhc3Mgb24gQ2hhclR5cGUuCisgICAgICAgICogeWFyci9ZYXJySW50ZXJw
cmV0ZXIuaDoKKyAgICAgICAgKFlhcnIpOgorICAgICAgICAgICAgLSBhZGRlZCBmdW5jdGlvbiBk
ZWNsYXJhdGlvbnMuCisKIDIwMTItMDMtMjkgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxo
byAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBIYXNoTWFwPD46OmFk
ZCBzaG91bGQgcmV0dXJuIGEgbW9yZSBkZXNjcmlwdGl2ZSBvYmplY3QKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwLmNwcAkocmV2aXNpb24gMTEyNDczKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzQzLDcgKzM0Myw3IEBAIGludCBSZWdFeHA6Om1hdGNoKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGEK
ICNlbmRpZgogICAgIH0gZWxzZQogI2VuZGlmCi0gICAgICAgIHJlc3VsdCA9IFlhcnI6OmludGVy
cHJldChtX3JlZ0V4cEJ5dGVjb2RlLmdldCgpLCBzLCBzdGFydE9mZnNldCwgcy5sZW5ndGgoKSwg
cmVpbnRlcnByZXRfY2FzdDx1bnNpZ25lZCo+KG9mZnNldFZlY3RvcikpOworICAgICAgICByZXN1
bHQgPSBZYXJyOjppbnRlcnByZXQobV9yZWdFeHBCeXRlY29kZS5nZXQoKSwgcywgc3RhcnRPZmZz
ZXQsIHJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQqPihvZmZzZXRWZWN0b3IpKTsKIAogICAgIC8v
IEZJWE1FOiBUaGUgWUFSUiBlbmdpbmUgc2hvdWxkIGhhbmRsZSB1bnNpZ25lZCBvciBzaXplX3Qg
bGVuZ3RoIG1hdGNoZXMuCiAgICAgLy8gVGhlIFlBUlIgSW50ZXJwcmV0ZXIgaXMgInVuc2lnbmVk
IiBjbGVhbiwgd2hpbGUgdGhlIFlBUlIgSklUIGhhc24ndCBiZWVuIGFkZHJlc3NlZC4KQEAgLTQ2
Nyw3ICs0NjcsNyBAQCBNYXRjaFJlc3VsdCBSZWdFeHA6Om1hdGNoKEpTR2xvYmFsRGF0YSYgCiAg
ICAgVmVjdG9yPGludCwgMzI+IG5vblJldHVybmVkT3ZlY3RvcjsKICAgICBub25SZXR1cm5lZE92
ZWN0b3IucmVzaXplKG9mZnNldFZlY3RvclNpemUpOwogICAgIG9mZnNldFZlY3RvciA9IG5vblJl
dHVybmVkT3ZlY3Rvci5kYXRhKCk7Ci0gICAgaW50IHIgPSBZYXJyOjppbnRlcnByZXQobV9yZWdF
eHBCeXRlY29kZS5nZXQoKSwgcywgc3RhcnRPZmZzZXQsIHMubGVuZ3RoKCksIHJlaW50ZXJwcmV0
X2Nhc3Q8dW5zaWduZWQqPihvZmZzZXRWZWN0b3IpKTsKKyAgICBpbnQgciA9IFlhcnI6OmludGVy
cHJldChtX3JlZ0V4cEJ5dGVjb2RlLmdldCgpLCBzLCBzdGFydE9mZnNldCwgcmVpbnRlcnByZXRf
Y2FzdDx1bnNpZ25lZCo+KG9mZnNldFZlY3RvcikpOwogI2lmIFJFR0VYUF9GVU5DX1RFU1RfREFU
QV9HRU4KICAgICBSZWdFeHBGdW5jdGlvbmFsVGVzdENvbGxlY3Rvcjo6Z2V0KCktPm91dHB1dE9u
ZVRlc3QodGhpcywgcywgc3RhcnRPZmZzZXQsIG9mZnNldFZlY3RvciwgcmVzdWx0KTsKICNlbmRp
ZgpAQCAtNTA3LDcgKzUwNyw3IEBAIHZvaWQgUmVnRXhwOjptYXRjaENvbXBhcmVXaXRoSW50ZXJw
cmV0ZXIKICAgICBmb3IgKHVuc2lnbmVkIGogPSAwLCBpID0gMDsgaSA8IG1fbnVtU3VicGF0dGVy
bnMgKyAxOyBqICs9IDIsIGkrKykKICAgICAgICAgaW50ZXJwcmV0ZXJPZmZzZXRWZWN0b3Jbal0g
PSAtMTsKIAotICAgIGludGVycHJldGVyUmVzdWx0ID0gWWFycjo6aW50ZXJwcmV0KG1fcmVnRXhw
Qnl0ZWNvZGUuZ2V0KCksIHMsIHN0YXJ0T2Zmc2V0LCBzLmxlbmd0aCgpLCBpbnRlcnByZXRlck9m
ZnNldFZlY3Rvcik7CisgICAgaW50ZXJwcmV0ZXJSZXN1bHQgPSBZYXJyOjppbnRlcnByZXQobV9y
ZWdFeHBCeXRlY29kZS5nZXQoKSwgcywgc3RhcnRPZmZzZXQsIGludGVycHJldGVyT2Zmc2V0VmVj
dG9yKTsKIAogICAgIGlmIChqaXRSZXN1bHQgIT0gaW50ZXJwcmV0ZXJSZXN1bHQpCiAgICAgICAg
IGRpZmZlcmVuY2VzKys7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyci5oCShyZXZpc2lv
biAxMTI0NzMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTYzLDkgKzYzLDYgQEAgZW51bSBZYXJyQ2hhclNpemUgewogICAgIENoYXIxNgog
fTsKIAotSlNfRVhQT1JUX1BSSVZBVEUgUGFzc093blB0cjxCeXRlY29kZVBhdHRlcm4+IGJ5dGVD
b21waWxlKFlhcnJQYXR0ZXJuJiwgQnVtcFBvaW50ZXJBbGxvY2F0b3IqKTsKLUpTX0VYUE9SVF9Q
UklWQVRFIHVuc2lnbmVkIGludGVycHJldChCeXRlY29kZVBhdHRlcm4qLCBjb25zdCBVU3RyaW5n
JiBpbnB1dCwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQqIG91dHB1
dCk7Ci0KIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpZYXJyCiAKICNlbmRpZiAvLyBZYXJyX2gKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJJbnRlcnByZXRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckludGVycHJldGVyLmNwcAko
cmV2aXNpb24gMTEyNDczKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckludGVy
cHJldGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQCB1c2luZyBuYW1lc3Bh
Y2UgV1RGOwogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIFlhcnIgewogCit0ZW1wbGF0ZTx0
eXBlbmFtZSBDaGFyVHlwZT4KIGNsYXNzIEludGVycHJldGVyIHsKIHB1YmxpYzoKICAgICBzdHJ1
Y3QgUGFyZW50aGVzZXNEaXNqdW5jdGlvbkNvbnRleHQ7CkBAIC0xNzAsNTUgKzE3MSw5IEBAIHB1
YmxpYzoKICAgICAgICAgYWxsb2NhdG9yUG9vbCA9IGFsbG9jYXRvclBvb2wtPmRlYWxsb2MoY29u
dGV4dCk7CiAgICAgfQogCi0gICAgLy8gVGhpcyBjbGFzcyBpcyBhIHBsYWNlaG9sZGVyIGZvciBm
dXR1cmUgY2hhcmFjdGVyIGl0ZXJhdG9yLCBjdXJyZW50IAotICAgIC8vIHByb3Bvc2VkIG5hbWUg
U3RyaW5nQ29uc3RDaGFyYWN0ZXJJdGVyYXRvci4KLSAgICBjbGFzcyBDaGFyQWNjZXNzIHsKLSAg
ICBwdWJsaWM6Ci0gICAgICAgIENoYXJBY2Nlc3MoY29uc3QgVVN0cmluZyYgcykKLSAgICAgICAg
ewotICAgICAgICAgICAgaWYgKHMuaXM4Qml0KCkpIHsKLSAgICAgICAgICAgICAgICBtX2NoYXJT
aXplID0gQ2hhcjg7Ci0gICAgICAgICAgICAgICAgbV9wdHIucHRyOCA9IHMuY2hhcmFjdGVyczgo
KTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgbV9jaGFyU2l6ZSA9IENo
YXIxNjsKLSAgICAgICAgICAgICAgICBtX3B0ci5wdHIxNiA9IHMuY2hhcmFjdGVyczE2KCk7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICBDaGFyQWNjZXNzKGNvbnN0IExDaGFy
KiBwdHIpCi0gICAgICAgICAgICA6IG1fY2hhclNpemUoQ2hhcjgpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIG1fcHRyLnB0cjggPSBwdHI7Ci0gICAgICAgIH0KLQotICAgICAgICBDaGFyQWNjZXNz
KGNvbnN0IFVDaGFyKiBwdHIpCi0gICAgICAgICAgICA6IG1fY2hhclNpemUoQ2hhcjE2KQotICAg
ICAgICB7Ci0gICAgICAgICAgICBtX3B0ci5wdHIxNiA9IHB0cjsKLSAgICAgICAgfQotCi0gICAg
ICAgIH5DaGFyQWNjZXNzKCkKLSAgICAgICAgewotICAgICAgICB9Ci0KLSAgICAgICAgaW5saW5l
IFVDaGFyIG9wZXJhdG9yW10odW5zaWduZWQgaW5kZXgpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IGlmIChtX2NoYXJTaXplID09IENoYXI4KQotICAgICAgICAgICAgICAgIHJldHVybiBtX3B0ci5w
dHI4W2luZGV4XTsKLSAgICAgICAgICAgIHJldHVybiBtX3B0ci5wdHIxNltpbmRleF07Ci0gICAg
ICAgIH0KLQotICAgIHByaXZhdGU6Ci0gICAgICAgIHVuaW9uIHsKLSAgICAgICAgICAgIGNvbnN0
IExDaGFyKiBwdHI4OwotICAgICAgICAgICAgY29uc3QgVUNoYXIqIHB0cjE2OwotICAgICAgICB9
IG1fcHRyOwotICAgICAgICBZYXJyQ2hhclNpemUgbV9jaGFyU2l6ZTsKLSAgICB9OwotCiAgICAg
Y2xhc3MgSW5wdXRTdHJlYW0gewogICAgIHB1YmxpYzoKLSAgICAgICAgSW5wdXRTdHJlYW0oY29u
c3QgVVN0cmluZyYgaW5wdXQsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBsZW5ndGgpCisgICAg
ICAgIElucHV0U3RyZWFtKGNvbnN0IENoYXJUeXBlKiBpbnB1dCwgdW5zaWduZWQgc3RhcnQsIHVu
c2lnbmVkIGxlbmd0aCkKICAgICAgICAgICAgIDogaW5wdXQoaW5wdXQpCiAgICAgICAgICAgICAs
IHBvcyhzdGFydCkKICAgICAgICAgICAgICwgbGVuZ3RoKGxlbmd0aCkKQEAgLTMzMiw3ICsyODcs
NyBAQCBwdWJsaWM6CiAgICAgICAgIH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIENoYXJBY2Nl
c3MgaW5wdXQ7CisgICAgICAgIGNvbnN0IENoYXJUeXBlKiBpbnB1dDsKICAgICAgICAgdW5zaWdu
ZWQgcG9zOwogICAgICAgICB1bnNpZ25lZCBsZW5ndGg7CiAgICAgfTsKQEAgLTE0ODksNyArMTQ0
NCw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG91dHB1dFswXTsKICAgICB9CiAKLSAgICBJ
bnRlcnByZXRlcihCeXRlY29kZVBhdHRlcm4qIHBhdHRlcm4sIHVuc2lnbmVkKiBvdXRwdXQsIGNv
bnN0IFVTdHJpbmcgaW5wdXQsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBsZW5ndGgpCisgICAg
SW50ZXJwcmV0ZXIoQnl0ZWNvZGVQYXR0ZXJuKiBwYXR0ZXJuLCB1bnNpZ25lZCogb3V0cHV0LCBj
b25zdCBDaGFyVHlwZSogaW5wdXQsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgc3RhcnQpCiAg
ICAgICAgIDogcGF0dGVybihwYXR0ZXJuKQogICAgICAgICAsIG91dHB1dChvdXRwdXQpCiAgICAg
ICAgICwgaW5wdXQoaW5wdXQsIHN0YXJ0LCBsZW5ndGgpCkBAIC0xOTc5LDE4ICsxOTM0LDMxIEBA
IFBhc3NPd25QdHI8Qnl0ZWNvZGVQYXR0ZXJuPiBieXRlQ29tcGlsZSgKICAgICByZXR1cm4gQnl0
ZUNvbXBpbGVyKHBhdHRlcm4pLmNvbXBpbGUoYWxsb2NhdG9yKTsKIH0KIAotdW5zaWduZWQgaW50
ZXJwcmV0KEJ5dGVjb2RlUGF0dGVybiogYnl0ZWNvZGUsIGNvbnN0IFVTdHJpbmcmIGlucHV0LCB1
bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCogb3V0cHV0KQordW5zaWdu
ZWQgaW50ZXJwcmV0KEJ5dGVjb2RlUGF0dGVybiogYnl0ZWNvZGUsIGNvbnN0IFVTdHJpbmcmIGlu
cHV0LCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQqIG91dHB1dCkKK3sKKyAgICBpZiAoaW5wdXQu
aXM4Qml0KCkpCisgICAgICAgIHJldHVybiBJbnRlcnByZXRlcjxMQ2hhcj4oYnl0ZWNvZGUsIG91
dHB1dCwgaW5wdXQuY2hhcmFjdGVyczgoKSwgaW5wdXQubGVuZ3RoKCksIHN0YXJ0KS5pbnRlcnBy
ZXQoKTsKKyAgICByZXR1cm4gSW50ZXJwcmV0ZXI8VUNoYXI+KGJ5dGVjb2RlLCBvdXRwdXQsIGlu
cHV0LmNoYXJhY3RlcnMxNigpLCBpbnB1dC5sZW5ndGgoKSwgc3RhcnQpLmludGVycHJldCgpOwor
fQorCit1bnNpZ25lZCBpbnRlcnByZXQoQnl0ZWNvZGVQYXR0ZXJuKiBieXRlY29kZSwgY29uc3Qg
TENoYXIqIGlucHV0LCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCog
b3V0cHV0KQoreworICAgIHJldHVybiBJbnRlcnByZXRlcjxMQ2hhcj4oYnl0ZWNvZGUsIG91dHB1
dCwgaW5wdXQsIGxlbmd0aCwgc3RhcnQpLmludGVycHJldCgpOworfQorCit1bnNpZ25lZCBpbnRl
cnByZXQoQnl0ZWNvZGVQYXR0ZXJuKiBieXRlY29kZSwgY29uc3QgVUNoYXIqIGlucHV0LCB1bnNp
Z25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCogb3V0cHV0KQogewotICAgIHJl
dHVybiBJbnRlcnByZXRlcihieXRlY29kZSwgb3V0cHV0LCBpbnB1dCwgc3RhcnQsIGxlbmd0aCku
aW50ZXJwcmV0KCk7CisgICAgcmV0dXJuIEludGVycHJldGVyPFVDaGFyPihieXRlY29kZSwgb3V0
cHV0LCBpbnB1dCwgbGVuZ3RoLCBzdGFydCkuaW50ZXJwcmV0KCk7CiB9CiAKLUNPTVBJTEVfQVNT
RVJUKHNpemVvZihJbnRlcnByZXRlcjo6QmFja1RyYWNrSW5mb1BhdHRlcm5DaGFyYWN0ZXIpID09
IChZYXJyU3RhY2tTcGFjZUZvckJhY2tUcmFja0luZm9QYXR0ZXJuQ2hhcmFjdGVyICogc2l6ZW9m
KHVpbnRwdHJfdCkpLCBDaGVja1lhcnJTdGFja1NwYWNlRm9yQmFja1RyYWNrSW5mb1BhdHRlcm5D
aGFyYWN0ZXIpOwotQ09NUElMRV9BU1NFUlQoc2l6ZW9mKEludGVycHJldGVyOjpCYWNrVHJhY2tJ
bmZvQ2hhcmFjdGVyQ2xhc3MpID09IChZYXJyU3RhY2tTcGFjZUZvckJhY2tUcmFja0luZm9DaGFy
YWN0ZXJDbGFzcyAqIHNpemVvZih1aW50cHRyX3QpKSwgQ2hlY2tZYXJyU3RhY2tTcGFjZUZvckJh
Y2tUcmFja0luZm9DaGFyYWN0ZXJDbGFzcyk7Ci1DT01QSUxFX0FTU0VSVChzaXplb2YoSW50ZXJw
cmV0ZXI6OkJhY2tUcmFja0luZm9CYWNrUmVmZXJlbmNlKSA9PSAoWWFyclN0YWNrU3BhY2VGb3JC
YWNrVHJhY2tJbmZvQmFja1JlZmVyZW5jZSAqIHNpemVvZih1aW50cHRyX3QpKSwgQ2hlY2tZYXJy
U3RhY2tTcGFjZUZvckJhY2tUcmFja0luZm9CYWNrUmVmZXJlbmNlKTsKLUNPTVBJTEVfQVNTRVJU
KHNpemVvZihJbnRlcnByZXRlcjo6QmFja1RyYWNrSW5mb0FsdGVybmF0aXZlKSA9PSAoWWFyclN0
YWNrU3BhY2VGb3JCYWNrVHJhY2tJbmZvQWx0ZXJuYXRpdmUgKiBzaXplb2YodWludHB0cl90KSks
IENoZWNrWWFyclN0YWNrU3BhY2VGb3JCYWNrVHJhY2tJbmZvQWx0ZXJuYXRpdmUpOwotQ09NUElM
RV9BU1NFUlQoc2l6ZW9mKEludGVycHJldGVyOjpCYWNrVHJhY2tJbmZvUGFyZW50aGV0aWNhbEFz
c2VydGlvbikgPT0gKFlhcnJTdGFja1NwYWNlRm9yQmFja1RyYWNrSW5mb1BhcmVudGhldGljYWxB
c3NlcnRpb24gKiBzaXplb2YodWludHB0cl90KSksIENoZWNrWWFyclN0YWNrU3BhY2VGb3JCYWNr
VHJhY2tJbmZvUGFyZW50aGV0aWNhbEFzc2VydGlvbik7Ci1DT01QSUxFX0FTU0VSVChzaXplb2Yo
SW50ZXJwcmV0ZXI6OkJhY2tUcmFja0luZm9QYXJlbnRoZXNlc09uY2UpID09IChZYXJyU3RhY2tT
cGFjZUZvckJhY2tUcmFja0luZm9QYXJlbnRoZXNlc09uY2UgKiBzaXplb2YodWludHB0cl90KSks
IENoZWNrWWFyclN0YWNrU3BhY2VGb3JCYWNrVHJhY2tJbmZvUGFyZW50aGVzZXNPbmNlKTsKLUNP
TVBJTEVfQVNTRVJUKHNpemVvZihJbnRlcnByZXRlcjo6QmFja1RyYWNrSW5mb1BhcmVudGhlc2Vz
KSA9PSAoWWFyclN0YWNrU3BhY2VGb3JCYWNrVHJhY2tJbmZvUGFyZW50aGVzZXMgKiBzaXplb2Yo
dWludHB0cl90KSksIENoZWNrWWFyclN0YWNrU3BhY2VGb3JCYWNrVHJhY2tJbmZvUGFyZW50aGVz
ZXMpOworLy8gVGhlc2Ugc2hvdWxkIGJlIHRoZSBzYW1lIGZvciBib3RoIFVDaGFyICYgTENoYXIu
CitDT01QSUxFX0FTU0VSVChzaXplb2YoSW50ZXJwcmV0ZXI8VUNoYXI+OjpCYWNrVHJhY2tJbmZv
UGF0dGVybkNoYXJhY3RlcikgPT0gKFlhcnJTdGFja1NwYWNlRm9yQmFja1RyYWNrSW5mb1BhdHRl
cm5DaGFyYWN0ZXIgKiBzaXplb2YodWludHB0cl90KSksIENoZWNrWWFyclN0YWNrU3BhY2VGb3JC
YWNrVHJhY2tJbmZvUGF0dGVybkNoYXJhY3Rlcik7CitDT01QSUxFX0FTU0VSVChzaXplb2YoSW50
ZXJwcmV0ZXI8VUNoYXI+OjpCYWNrVHJhY2tJbmZvQ2hhcmFjdGVyQ2xhc3MpID09IChZYXJyU3Rh
Y2tTcGFjZUZvckJhY2tUcmFja0luZm9DaGFyYWN0ZXJDbGFzcyAqIHNpemVvZih1aW50cHRyX3Qp
KSwgQ2hlY2tZYXJyU3RhY2tTcGFjZUZvckJhY2tUcmFja0luZm9DaGFyYWN0ZXJDbGFzcyk7CitD
T01QSUxFX0FTU0VSVChzaXplb2YoSW50ZXJwcmV0ZXI8VUNoYXI+OjpCYWNrVHJhY2tJbmZvQmFj
a1JlZmVyZW5jZSkgPT0gKFlhcnJTdGFja1NwYWNlRm9yQmFja1RyYWNrSW5mb0JhY2tSZWZlcmVu
Y2UgKiBzaXplb2YodWludHB0cl90KSksIENoZWNrWWFyclN0YWNrU3BhY2VGb3JCYWNrVHJhY2tJ
bmZvQmFja1JlZmVyZW5jZSk7CitDT01QSUxFX0FTU0VSVChzaXplb2YoSW50ZXJwcmV0ZXI8VUNo
YXI+OjpCYWNrVHJhY2tJbmZvQWx0ZXJuYXRpdmUpID09IChZYXJyU3RhY2tTcGFjZUZvckJhY2tU
cmFja0luZm9BbHRlcm5hdGl2ZSAqIHNpemVvZih1aW50cHRyX3QpKSwgQ2hlY2tZYXJyU3RhY2tT
cGFjZUZvckJhY2tUcmFja0luZm9BbHRlcm5hdGl2ZSk7CitDT01QSUxFX0FTU0VSVChzaXplb2Yo
SW50ZXJwcmV0ZXI8VUNoYXI+OjpCYWNrVHJhY2tJbmZvUGFyZW50aGV0aWNhbEFzc2VydGlvbikg
PT0gKFlhcnJTdGFja1NwYWNlRm9yQmFja1RyYWNrSW5mb1BhcmVudGhldGljYWxBc3NlcnRpb24g
KiBzaXplb2YodWludHB0cl90KSksIENoZWNrWWFyclN0YWNrU3BhY2VGb3JCYWNrVHJhY2tJbmZv
UGFyZW50aGV0aWNhbEFzc2VydGlvbik7CitDT01QSUxFX0FTU0VSVChzaXplb2YoSW50ZXJwcmV0
ZXI8VUNoYXI+OjpCYWNrVHJhY2tJbmZvUGFyZW50aGVzZXNPbmNlKSA9PSAoWWFyclN0YWNrU3Bh
Y2VGb3JCYWNrVHJhY2tJbmZvUGFyZW50aGVzZXNPbmNlICogc2l6ZW9mKHVpbnRwdHJfdCkpLCBD
aGVja1lhcnJTdGFja1NwYWNlRm9yQmFja1RyYWNrSW5mb1BhcmVudGhlc2VzT25jZSk7CitDT01Q
SUxFX0FTU0VSVChzaXplb2YoSW50ZXJwcmV0ZXI8VUNoYXI+OjpCYWNrVHJhY2tJbmZvUGFyZW50
aGVzZXMpID09IChZYXJyU3RhY2tTcGFjZUZvckJhY2tUcmFja0luZm9QYXJlbnRoZXNlcyAqIHNp
emVvZih1aW50cHRyX3QpKSwgQ2hlY2tZYXJyU3RhY2tTcGFjZUZvckJhY2tUcmFja0luZm9QYXJl
bnRoZXNlcyk7CiAKIAogfSB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJy
SW50ZXJwcmV0ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9Z
YXJySW50ZXJwcmV0ZXIuaAkocmV2aXNpb24gMTEyNDczKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3lhcnIvWWFyckludGVycHJldGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3NSw2ICszNzUs
MTEgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8Q2hhcmFjdGVyQ2xhc3MqPiBtX3VzZXJDaGFyYWN0
ZXJDbGFzc2VzOwogfTsKIAorSlNfRVhQT1JUX1BSSVZBVEUgUGFzc093blB0cjxCeXRlY29kZVBh
dHRlcm4+IGJ5dGVDb21waWxlKFlhcnJQYXR0ZXJuJiwgQnVtcFBvaW50ZXJBbGxvY2F0b3IqKTsK
K0pTX0VYUE9SVF9QUklWQVRFIHVuc2lnbmVkIGludGVycHJldChCeXRlY29kZVBhdHRlcm4qLCBj
b25zdCBVU3RyaW5nJiBpbnB1dCwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkKiBvdXRwdXQpOwor
dW5zaWduZWQgaW50ZXJwcmV0KEJ5dGVjb2RlUGF0dGVybiogYnl0ZWNvZGUsIGNvbnN0IExDaGFy
KiBpbnB1dCwgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQqIG91dHB1
dCk7Cit1bnNpZ25lZCBpbnRlcnByZXQoQnl0ZWNvZGVQYXR0ZXJuKiBieXRlY29kZSwgY29uc3Qg
VUNoYXIqIGlucHV0LCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCog
b3V0cHV0KTsKKwogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OllhcnIKIAogI2VuZGlmIC8vIFlhcnJJ
bnRlcnByZXRlcl9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTI1NTYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0w
My0yOSAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CisKKyAgICAg
ICAgVGVtcGxhdGUgdGhlIFlhcnI6OkludGVycHJldGVyIG9uIHRoZSBjaGFyYWN0ZXIgdHlwZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI2MzcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBzaG91bGQg
YmUgYWJsZSB0byBjYWxsIHRvIHRoZSBpbnRlcnByZXRlciBhZnRlciBoYXZpbmcgYWxyZWFkeSBj
aGVja2VkIHRoZSBjaGFyYWN0ZXIgdHlwZSwKKyAgICAgICAgd2l0aG91dCBoYXZpbmcgdG8gcmUt
cGFja2FnZSB0aGUgY2hhcmFjdGVyIHBvaW50ZXIgYmFjayB1cCBpbnRvIGEgc3RyaW5nIQorCisg
ICAgICAgICogaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlscy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDb250ZW50U2VhcmNoVXRpbHM6OmZpbmRNYWdpY0NvbW1lbnQpOgorICAgICAgICAqIHBs
YXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVn
dWxhckV4cHJlc3Npb246Om1hdGNoKToKKyAgICAgICAgICAgIC0gRG9uJ3QgcGFzcyBsZW5ndGgu
CisKIDIwMTItMDMtMjkgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xp
dmVpcmFAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBIYXNoTWFwPD46OmFkZCBzaG91bGQgcmV0
dXJuIGEgbW9yZSBkZXNjcmlwdGl2ZSBvYmplY3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Db250ZW50U2VhcmNoVXRpbHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Db250ZW50U2VhcmNoVXRpbHMuY3BwCShyZXZpc2lvbiAxMTI0NzMpCisrKyBT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTUyLDcgKzE1Miw3IEBAIHN0YXRpYyBTdHJpbmcgZmluZE1hZ2ljQ29tbWVudChj
b25zdCBTdHIKICAgICBBU1NFUlQocGF0dGVybi5tX251bVN1YnBhdHRlcm5zID09IDEpOwogICAg
IFZlY3RvcjxpbnQsIDQ+IG1hdGNoZXM7CiAgICAgbWF0Y2hlcy5yZXNpemUoNCk7Ci0gICAgdW5z
aWduZWQgcmVzdWx0ID0gSlNDOjpZYXJyOjppbnRlcnByZXQoYnl0ZWNvZGVQYXR0ZXJuLmdldCgp
LCBKU0M6OlVTdHJpbmcoY29udGVudC5pbXBsKCkpLCAwLCBjb250ZW50Lmxlbmd0aCgpLCByZWlu
dGVycHJldF9jYXN0PHVuc2lnbmVkKj4obWF0Y2hlcy5kYXRhKCkpKTsKKyAgICB1bnNpZ25lZCBy
ZXN1bHQgPSBKU0M6OllhcnI6OmludGVycHJldChieXRlY29kZVBhdHRlcm4uZ2V0KCksIEpTQzo6
VVN0cmluZyhjb250ZW50LmltcGwoKSksIDAsIHJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQqPiht
YXRjaGVzLmRhdGEoKSkpOwogICAgIGlmIChyZXN1bHQgPT0gSlNDOjpZYXJyOjpvZmZzZXROb01h
dGNoKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgQVNTRVJUKG1hdGNoZXNbMl0gPiAw
ICYmIG1hdGNoZXNbM10gPiAwKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
UmVndWxhckV4cHJlc3Npb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uY3BwCShyZXZpc2lvbiAxMTI0NzMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTEyLDcgKzExMiw3IEBAIGludCBSZWd1bGFyRXhwcmVzc2lvbjo6bWF0Y2goY29u
c3QgU3RyaW4KIAogICAgIHVuc2lnbmVkIHJlc3VsdDsKICAgICBpZiAoc3RyLmxlbmd0aCgpIDw9
IElOVF9NQVgpCi0gICAgICAgIHJlc3VsdCA9IEpTQzo6WWFycjo6aW50ZXJwcmV0KGQtPm1fcmVn
RXhwQnl0ZUNvZGUuZ2V0KCksIEpTQzo6VVN0cmluZyhzdHIuaW1wbCgpKSwgc3RhcnRGcm9tLCBz
dHIubGVuZ3RoKCksIG9mZnNldFZlY3Rvcik7CisgICAgICAgIHJlc3VsdCA9IEpTQzo6WWFycjo6
aW50ZXJwcmV0KGQtPm1fcmVnRXhwQnl0ZUNvZGUuZ2V0KCksIEpTQzo6VVN0cmluZyhzdHIuaW1w
bCgpKSwgc3RhcnRGcm9tLCBvZmZzZXRWZWN0b3IpOwogICAgIGVsc2UgewogICAgICAgICAvLyBU
aGlzIGNvZGUgY2FuJ3QgaGFuZGxlIHVuc2lnbmVkIG9mZnNldHMuIExpbWl0IG91ciBwcm9jZXNz
aW5nIHRvIHN0cmluZ3Mgd2l0aCBvZmZzZXRzIHRoYXQgCiAgICAgICAgIC8vIGNhbiBiZSByZXBy
ZXNlbnRlZCBhcyBpbnRzLgo=
</data>
<flag name="review"
          id="138937"
          type_id="1"
          status="+"
          setter="sam"
    />
    <flag name="commit-queue"
          id="138948"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>