<?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>142863</bug_id>
          
          <creation_ts>2015-03-19 01:22:42 -0700</creation_ts>
          <short_desc>SyntaxChecker assertion is trapped with computed property name and getter</short_desc>
          <delta_ts>2015-03-20 11:59:29 -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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>rniwa</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1078492</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-03-19 01:22:42 -0700</bug_when>
    <thetext>The following input crashes with SyntaxChecker assersion.

(function () {
    var object = {
        [Symbol.unscopables]: {
            Cocoa: true,
            Cappuccino: true
        },

        get Cocoa() {
            throw new Error(&quot;bad trap&quot;);
        }
        Cappuccino: null
    };
}());

And dump is the following.

ASSERTION FAILED: property.name
../../../Source/JavaScriptCore/parser/SyntaxChecker.h(277) : const JSC::Identifier* JSC::SyntaxChecker::getName(const JSC::SyntaxChecker::Property&amp;) const
1   0x7f69dc2b99a3 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x1e) [0x7f69dc2b99a3]
2   0x7f69dc003530 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZNK3JSC13SyntaxChecker7getNameERKNS0_8PropertyE+0x40) [0x7f69dc003530]
3   0x7f69dc07cac6 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE24parseStrictObjectLiteralINS_13SyntaxCheckerEEENT_10ExpressionERS6_+0x250) [0x7f69dc07cac6]
4   0x7f69dc07d567 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE18parseObjectLiteralINS_13SyntaxCheckerEEENT_10ExpressionERS6_+0x3b9) [0x7f69dc07d567]
5   0x7f69dc079b37 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE22parsePrimaryExpressionINS_13SyntaxCheckerEEENT_10ExpressionERS6_+0x323) [0x7f69dc079b37]
6   0x7f69dc07426e /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE21parseMemberExpressionINS_13SyntaxCheckerEEENT_10ExpressionERS6_+0x140) [0x7f69dc07426e]
7   0x7f69dc07fe31 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE20parseUnaryExpressionINS_13SyntaxCheckerEEENT_10ExpressionERS6_+0x369) [0x7f69dc07fe31]
8   0x7f69dc07c4c3 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE21parseBinaryExpressionINS_13SyntaxCheckerEEENT_10ExpressionERS6_+0xad) [0x7f69dc07c4c3]
9   0x7f69dc079527 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE26parseConditionalExpressionINS_13SyntaxCheckerEEENT_10ExpressionERS6_+0x41) [0x7f69dc079527]
10  0x7f69dc071be0 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE25parseAssignmentExpressionINS_13SyntaxCheckerEEENT_10ExpressionERS6_+0x1b8) [0x7f69dc071be0]
11  0x7f69dc068a91 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE23parseVarDeclarationListINS_13SyntaxCheckerEEENT_10ExpressionERS6_RiRNS6_21DeconstructionPatternERS7_RNS_14JSTextPositionESE_SE_NS3_25VarDeclarationListContextE+0x3a1) [0x7f69dc068a91]
12  0x7f69dc05856f /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE19parseVarDeclarationINS_13SyntaxCheckerEEENT_9StatementERS6_+0xd3) [0x7f69dc05856f]
13  0x7f69dc052b7f /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE14parseStatementINS_13SyntaxCheckerEEENT_9StatementERS6_RPKNS_10IdentifierEPj+0x12b) [0x7f69dc052b7f]
14  0x7f69dc04ae8a /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE19parseSourceElementsINS_13SyntaxCheckerEEENT_14SourceElementsERS6_NS_18SourceElementsModeE+0x6c) [0x7f69dc04ae8a]
15  0x7f69dc03dd56 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE17parseFunctionBodyINS_10ASTBuilderEEENT_12FunctionBodyERS6_NS_15ConstructorKindE+0x176) [0x7f69dc03dd56]
16  0x7f69dc028660 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE17parseFunctionInfoINS_10ASTBuilderEEEbRT_NS_20FunctionRequirementsENS_17FunctionParseModeEbNS_15ConstructorKindERNS_18ParserFunctionInfoIS6_EE+0xfd8) [0x7f69dc028660]
17  0x7f69dc049764 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE22parsePrimaryExpressionINS_10ASTBuilderEEENT_10ExpressionERS6_+0x1f0) [0x7f69dc049764]
18  0x7f69dc03bbd5 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE21parseMemberExpressionINS_10ASTBuilderEEENT_10ExpressionERS6_+0x13f) [0x7f69dc03bbd5]
19  0x7f69dc055e31 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE20parseUnaryExpressionINS_10ASTBuilderEEENT_10ExpressionERS6_+0x32f) [0x7f69dc055e31]
20  0x7f69dc0502d6 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE21parseBinaryExpressionINS_10ASTBuilderEEENT_10ExpressionERS6_+0xba) [0x7f69dc0502d6]
21  0x7f69dc046b6f /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE26parseConditionalExpressionINS_10ASTBuilderEEENT_10ExpressionERS6_+0x41) [0x7f69dc046b6f]
22  0x7f69dc0380ea /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE25parseAssignmentExpressionINS_10ASTBuilderEEENT_10ExpressionERS6_+0x250) [0x7f69dc0380ea]
23  0x7f69dc02936b /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE15parseExpressionINS_10ASTBuilderEEENT_10ExpressionERS6_+0x9b) [0x7f69dc02936b]
24  0x7f69dc0498e9 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE22parsePrimaryExpressionINS_10ASTBuilderEEENT_10ExpressionERS6_+0x375) [0x7f69dc0498e9]
25  0x7f69dc03bbd5 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE21parseMemberExpressionINS_10ASTBuilderEEENT_10ExpressionERS6_+0x13f) [0x7f69dc03bbd5]
26  0x7f69dc055e31 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE20parseUnaryExpressionINS_10ASTBuilderEEENT_10ExpressionERS6_+0x32f) [0x7f69dc055e31]
27  0x7f69dc0502d6 /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE21parseBinaryExpressionINS_10ASTBuilderEEENT_10ExpressionERS6_+0xba) [0x7f69dc0502d6]
28  0x7f69dc046b6f /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE26parseConditionalExpressionINS_10ASTBuilderEEENT_10ExpressionERS6_+0x41) [0x7f69dc046b6f]
29  0x7f69dc0380ea /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE25parseAssignmentExpressionINS_10ASTBuilderEEENT_10ExpressionERS6_+0x250) [0x7f69dc0380ea]
30  0x7f69dc02936b /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE15parseExpressionINS_10ASTBuilderEEENT_10ExpressionERS6_+0x9b) [0x7f69dc02936b]
31  0x7f69dc01d76f /home/yusuke/dev/WebKit/WebKitBuild/unscopable/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3JSC6ParserINS_5LexerIhEEE24parseExpressionStatementINS_10ASTBuilderEEENT_9StatementERS6_+0x5f) [0x7f69dc01d76f]
[1]    8376 segmentation fault (core dumped)  WebKitBuild/unscopable/Debug/bin/jsc tmp/t10.js</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078560</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-03-19 11:34:58 -0700</bug_when>
    <thetext>Potentially interesting is that the snippet is indeed invalid (missing comma between the getter and Cappuccino property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078660</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-03-19 15:43:44 -0700</bug_when>
    <thetext>Interesting, it looks like this code was added in r157724 with computed properties, and  was meant to handle a property without a known identifier name (computed properties) but still ASSERTs if that is the case.

I&apos;ll look into it. I believe this is actually correct behavior without the ASSERT, so this might just be an overzealous ASSERT, or we should handle the &quot;possibly null&quot; case differently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078670</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-03-19 16:04:20 -0700</bug_when>
    <thetext>Further reduction. Include any computed property with another property:

&lt;script&gt;
(function() {
    &quot;use strict&quot;;
    var object = {
        [&quot;x&quot;]: 1,
        x: 2,
    }
})();
&lt;/script&gt;

In strict mode, property redefinition (duplicate property names) is disallowed:

  js&gt; ({x:1, x:1})
  SyntaxError: Attempted to redefine property &apos;x&apos;.

So this we are trying to add the property name for the computed property to the list, and we, as expected, don&apos;t have the property name yet. I believe it is safe to just skip computed property names here, but I want to verify that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078689</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-03-19 17:06:35 -0700</bug_when>
    <thetext>Err, it seems the duplicate property check can be removed for object literals and classes.

ES6 seems to have changed here:
&lt;https://people.mozilla.org/~jorendorff/es6-draft.html#sec-additions-and-changes-that-introduce-incompatibilities-with-prior-editions&gt;

&gt; Annex E: Additions and Changes That Introduce Incompatibilities with Prior Editions
&gt; 12.2.5.1: In Edition 6, it is no longer an early error to have duplicate property names in Object Initializers.

&gt; July 18, 2014 Draft Rev 26
&gt; Eliminated duplicate property name restrictions on object literals and class definitions

&gt; Deleted:
&gt; ObjectLiteral : { PropertyDefinitionList }
&gt; ObjectLiteral : { PropertyDefinitionList , }
&gt; 
&gt; &lt;#&gt;It is a Syntax Error if PropertyNameList of PropertyDefinitionList contains any duplicate entries, unless one of the following conditions aretrueforeachduplicateentry: 
&gt; &lt;#&gt;The source code corresponding to PropertyDefinitionList is not strict code and all occurrences in the list of the duplicated entry were obtained from productions of the form PropertyDefinition : PropertyName : AssignmentExpression.
&gt; &lt;#&gt;The duplicated entry occurs exactly twice in the list and one occurrence was obtained from a get accessor MethodDefinition and the other occurrence was obtained from a set accessor MethodDefinition.

For starters, I&apos;ll remove the ASSERT, then look at removing the duplicate property thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078729</commentid>
    <comment_count>5</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-03-19 20:13:46 -0700</bug_when>
    <thetext>Yeah, I tried to remove the duplicate properties check, and it turns out that just exposes a new can of worms due to assumptions PropertyListNode::emitBytecode makes. I&apos;ll file a separate bug on that, and just ensure the tests for this actually work and remove the invalid ASSERT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078767</commentid>
    <comment_count>6</comment_count>
      <attachid>249090</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-03-20 00:11:31 -0700</bug_when>
    <thetext>Created attachment 249090
[PATCH] Proposed Fix

It took an embarrassingly long time to understand why the existing test wasn&apos;t already asserting. That was because the ASSERT was in the SyntaxChecker path, which is different from regular parsing which did not have this ASSERT. All this, just to remove the assert!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078901</commentid>
    <comment_count>7</comment_count>
      <attachid>249090</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-20 11:10:56 -0700</bug_when>
    <thetext>Comment on attachment 249090
[PATCH] Proposed Fix

Clearing flags on attachment: 249090

Committed r181807: &lt;http://trac.webkit.org/changeset/181807&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078902</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-20 11:11:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078912</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-03-20 11:59:29 -0700</bug_when>
    <thetext>Great!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249090</attachid>
            <date>2015-03-20 00:11:31 -0700</date>
            <delta_ts>2015-03-20 11:10:56 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>no-assert.patch</filename>
            <type>text/plain</type>
            <size>7063</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NTNkMGY0Li45NjdkYmY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTUtMDMt
MjAgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBTeW50
YXhDaGVja2VyIGFzc2VydGlvbiBpcyB0cmFwcGVkIHdpdGggY29tcHV0ZWQgcHJvcGVydHkgbmFt
ZSBhbmQgZ2V0dGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDI4NjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGpzL2Jhc2ljLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGpzL3NjcmlwdC10ZXN0cy9iYXNpYy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLmpzOgor
ICAgICAgICAoYS5zdHJpbmdfYXBwZWFyZWRfaGVyZS5ydW5UZXN0KToKKyAgICAgICAgQWRkIHRl
c3RzIHRoYXQgd3JhcCB0aGUgZXhwcmVzc2lvbiBpbiBhIGZ1bmN0aW9uLCB0aGlzCisgICAgICAg
IHdpbGwgdGVzdCB0aGUgc3ludGF4IGNoZWNrZXIuCisKIDIwMTUtMDMtMTkgIEpvc2VwaCBQZWNv
cmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZG9w
dCBFUzYgQ2xhc3MgU3ludGF4IGZvciBhbGwgTW9kZWwgT2JqZWN0cwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvanMvYmFzaWMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9qcy9iYXNpYy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWV4cGVjdGVkLnR4dApp
bmRleCA1M2ZjOGY5Li4xZmQ2NzU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9iYXNpYy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9qcy9i
YXNpYy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWV4cGVjdGVkLnR4dApAQCAtNSwzNCArNSw0OSBA
QCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBQQVNTICh7W2FdOiB0cnVlfS5wcm9wZXJ0eU5h
bWUpIGlzIHRydWUKIFBBU1MgJ3VzZSBzdHJpY3QnOyh7W2FdOiB0cnVlfS5wcm9wZXJ0eU5hbWUp
IGlzIHRydWUKK1BBU1MgKGZ1bmN0aW9uKCl7J3VzZSBzdHJpY3QnO3JldHVybiAoe1thXTogdHJ1
ZX0ucHJvcGVydHlOYW1lKX0pKCkgaXMgdHJ1ZQogUEFTUyAoe1thKzFdOiB0cnVlfS5wcm9wZXJ0
eU5hbWUxKSBpcyB0cnVlCiBQQVNTICd1c2Ugc3RyaWN0Jzsoe1thKzFdOiB0cnVlfS5wcm9wZXJ0
eU5hbWUxKSBpcyB0cnVlCitQQVNTIChmdW5jdGlvbigpeyd1c2Ugc3RyaWN0JztyZXR1cm4gKHtb
YSsxXTogdHJ1ZX0ucHJvcGVydHlOYW1lMSl9KSgpIGlzIHRydWUKIFBBU1MgKHtwcm9wZXJ0eU5h
bWU6IGZhbHNlLCBbYV06IHRydWV9LnByb3BlcnR5TmFtZSkgaXMgdHJ1ZQogUEFTUyAndXNlIHN0
cmljdCc7KHtwcm9wZXJ0eU5hbWU6IGZhbHNlLCBbYV06IHRydWV9LnByb3BlcnR5TmFtZSkgaXMg
dHJ1ZQorUEFTUyAoZnVuY3Rpb24oKXsndXNlIHN0cmljdCc7cmV0dXJuICh7cHJvcGVydHlOYW1l
OiBmYWxzZSwgW2FdOiB0cnVlfS5wcm9wZXJ0eU5hbWUpfSkoKSBpcyB0cnVlCiBQQVNTICh7W2Fd
OiBmYWxzZSwgcHJvcGVydHlOYW1lOiB0cnVlfS5wcm9wZXJ0eU5hbWUpIGlzIHRydWUKIFBBU1Mg
J3VzZSBzdHJpY3QnOyh7W2FdOiBmYWxzZSwgcHJvcGVydHlOYW1lOiB0cnVlfS5wcm9wZXJ0eU5h
bWUpIGlzIHRydWUKK1BBU1MgKGZ1bmN0aW9uKCl7J3VzZSBzdHJpY3QnO3JldHVybiAoe1thXTog
ZmFsc2UsIHByb3BlcnR5TmFtZTogdHJ1ZX0ucHJvcGVydHlOYW1lKX0pKCkgaXMgdHJ1ZQogUEFT
UyAoe2dldCBwcm9wZXJ0eU5hbWUoKXsgcmV0dXJuIGZhbHNlOyB9LCBbYV06IHRydWV9LnByb3Bl
cnR5TmFtZSkgaXMgdHJ1ZQogUEFTUyAndXNlIHN0cmljdCc7KHtnZXQgcHJvcGVydHlOYW1lKCl7
IHJldHVybiBmYWxzZTsgfSwgW2FdOiB0cnVlfS5wcm9wZXJ0eU5hbWUpIGlzIHRydWUKK1BBU1Mg
KGZ1bmN0aW9uKCl7J3VzZSBzdHJpY3QnO3JldHVybiAoe2dldCBwcm9wZXJ0eU5hbWUoKXsgcmV0
dXJuIGZhbHNlOyB9LCBbYV06IHRydWV9LnByb3BlcnR5TmFtZSl9KSgpIGlzIHRydWUKIFBBU1Mg
KHtbYV06IGZhbHNlLCBnZXQgcHJvcGVydHlOYW1lKCl7IHJldHVybiB0cnVlOyB9fS5wcm9wZXJ0
eU5hbWUpIGlzIHRydWUKIFBBU1MgJ3VzZSBzdHJpY3QnOyh7W2FdOiBmYWxzZSwgZ2V0IHByb3Bl
cnR5TmFtZSgpeyByZXR1cm4gdHJ1ZTsgfX0ucHJvcGVydHlOYW1lKSBpcyB0cnVlCitQQVNTIChm
dW5jdGlvbigpeyd1c2Ugc3RyaWN0JztyZXR1cm4gKHtbYV06IGZhbHNlLCBnZXQgcHJvcGVydHlO
YW1lKCl7IHJldHVybiB0cnVlOyB9fS5wcm9wZXJ0eU5hbWUpfSkoKSBpcyB0cnVlCiBQQVNTICh7
X19wcm90b19fOiB7Z2V0IHByb3BlcnR5TmFtZSgpeyByZXR1cm4gZmFsc2U7IH19LCBbYV06IHRy
dWV9LnByb3BlcnR5TmFtZSkgaXMgdHJ1ZQogUEFTUyAndXNlIHN0cmljdCc7KHtfX3Byb3RvX186
IHtnZXQgcHJvcGVydHlOYW1lKCl7IHJldHVybiBmYWxzZTsgfX0sIFthXTogdHJ1ZX0ucHJvcGVy
dHlOYW1lKSBpcyB0cnVlCitQQVNTIChmdW5jdGlvbigpeyd1c2Ugc3RyaWN0JztyZXR1cm4gKHtf
X3Byb3RvX186IHtnZXQgcHJvcGVydHlOYW1lKCl7IHJldHVybiBmYWxzZTsgfX0sIFthXTogdHJ1
ZX0ucHJvcGVydHlOYW1lKX0pKCkgaXMgdHJ1ZQogUEFTUyAoe19fcHJvdG9fXzoge2dldCBwcm9w
ZXJ0eU5hbWUoKXsgcmV0dXJuIGZhbHNlOyB9fSwgcHJvcGVydHlOYW1lOiB0cnVlfS5wcm9wZXJ0
eU5hbWUpIGlzIHRydWUKIFBBU1MgJ3VzZSBzdHJpY3QnOyh7X19wcm90b19fOiB7Z2V0IHByb3Bl
cnR5TmFtZSgpeyByZXR1cm4gZmFsc2U7IH19LCBwcm9wZXJ0eU5hbWU6IHRydWV9LnByb3BlcnR5
TmFtZSkgaXMgdHJ1ZQorUEFTUyAoZnVuY3Rpb24oKXsndXNlIHN0cmljdCc7cmV0dXJuICh7X19w
cm90b19fOiB7Z2V0IHByb3BlcnR5TmFtZSgpeyByZXR1cm4gZmFsc2U7IH19LCBwcm9wZXJ0eU5h
bWU6IHRydWV9LnByb3BlcnR5TmFtZSl9KSgpIGlzIHRydWUKIFBBU1MgKHtbYV06IHRydWV9WzBd
KSBpcyB0cnVlCiBQQVNTICd1c2Ugc3RyaWN0Jzsoe1thXTogdHJ1ZX1bMF0pIGlzIHRydWUKK1BB
U1MgKGZ1bmN0aW9uKCl7J3VzZSBzdHJpY3QnO3JldHVybiAoe1thXTogdHJ1ZX1bMF0pfSkoKSBp
cyB0cnVlCiBQQVNTICh7W2ErMV06IHRydWV9WzFdKSBpcyB0cnVlCiBQQVNTICd1c2Ugc3RyaWN0
Jzsoe1thKzFdOiB0cnVlfVsxXSkgaXMgdHJ1ZQorUEFTUyAoZnVuY3Rpb24oKXsndXNlIHN0cmlj
dCc7cmV0dXJuICh7W2ErMV06IHRydWV9WzFdKX0pKCkgaXMgdHJ1ZQogUEFTUyAoezA6IGZhbHNl
LCBbYV06IHRydWV9WzBdKSBpcyB0cnVlCiBQQVNTICd1c2Ugc3RyaWN0JzsoezA6IGZhbHNlLCBb
YV06IHRydWV9WzBdKSBpcyB0cnVlCitQQVNTIChmdW5jdGlvbigpeyd1c2Ugc3RyaWN0JztyZXR1
cm4gKHswOiBmYWxzZSwgW2FdOiB0cnVlfVswXSl9KSgpIGlzIHRydWUKIFBBU1MgKHtbYV06IGZh
bHNlLCAwOiB0cnVlfVswXSkgaXMgdHJ1ZQogUEFTUyAndXNlIHN0cmljdCc7KHtbYV06IGZhbHNl
LCAwOiB0cnVlfVswXSkgaXMgdHJ1ZQorUEFTUyAoZnVuY3Rpb24oKXsndXNlIHN0cmljdCc7cmV0
dXJuICh7W2FdOiBmYWxzZSwgMDogdHJ1ZX1bMF0pfSkoKSBpcyB0cnVlCiBQQVNTICh7Z2V0ICcw
JygpeyByZXR1cm4gZmFsc2U7IH0sIFthXTogdHJ1ZX1bMF0pIGlzIHRydWUKIFBBU1MgJ3VzZSBz
dHJpY3QnOyh7Z2V0ICcwJygpeyByZXR1cm4gZmFsc2U7IH0sIFthXTogdHJ1ZX1bMF0pIGlzIHRy
dWUKK1BBU1MgKGZ1bmN0aW9uKCl7J3VzZSBzdHJpY3QnO3JldHVybiAoe2dldCAnMCcoKXsgcmV0
dXJuIGZhbHNlOyB9LCBbYV06IHRydWV9WzBdKX0pKCkgaXMgdHJ1ZQogUEFTUyAoe1thXTogdHJ1
ZSwgZ2V0ICcwJygpeyByZXR1cm4gZmFsc2U7IH19WzBdKSBpcyB0cnVlCiBQQVNTICd1c2Ugc3Ry
aWN0Jzsoe1thXTogdHJ1ZSwgZ2V0ICcwJygpeyByZXR1cm4gZmFsc2U7IH19WzBdKSBpcyB0cnVl
CitQQVNTIChmdW5jdGlvbigpeyd1c2Ugc3RyaWN0JztyZXR1cm4gKHtbYV06IHRydWUsIGdldCAn
MCcoKXsgcmV0dXJuIGZhbHNlOyB9fVswXSl9KSgpIGlzIHRydWUKIFBBU1MgKHtfX3Byb3RvX186
IHtnZXQgJzAnKCl7IHJldHVybiBmYWxzZTsgfX0sIFthXTogdHJ1ZX1bMF0pIGlzIHRydWUKIFBB
U1MgJ3VzZSBzdHJpY3QnOyh7X19wcm90b19fOiB7Z2V0ICcwJygpeyByZXR1cm4gZmFsc2U7IH19
LCBbYV06IHRydWV9WzBdKSBpcyB0cnVlCitQQVNTIChmdW5jdGlvbigpeyd1c2Ugc3RyaWN0Jzty
ZXR1cm4gKHtfX3Byb3RvX186IHtnZXQgJzAnKCl7IHJldHVybiBmYWxzZTsgfX0sIFthXTogdHJ1
ZX1bMF0pfSkoKSBpcyB0cnVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRF
U1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9iYXNp
Yy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLmpzIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3Rz
L2Jhc2ljLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUuanMKaW5kZXggZTQ5NTA4Ny4uMGM4ZWYwMCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2Jhc2ljLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUuanMKKysrIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2Jhc2ljLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUuanMKQEAgLTcsNiArNyw3IEBAIGZ1bmN0aW9uIHJ1blRlc3Qo
dGVzdCkKICAgICB0ZXN0ID0gIigiICsgdGVzdCArICIpIgogICAgIHNob3VsZEJlVHJ1ZSh0ZXN0
KTsKICAgICBzaG91bGRCZVRydWUoIid1c2Ugc3RyaWN0JzsiK3Rlc3QpOworICAgIHNob3VsZEJl
VHJ1ZSgiKGZ1bmN0aW9uKCl7J3VzZSBzdHJpY3QnO3JldHVybiAiK3Rlc3QrIn0pKCkiKTsKIH0K
IHJ1blRlc3QoIntbYV06IHRydWV9LnByb3BlcnR5TmFtZSIpCiBydW5UZXN0KCJ7W2ErMV06IHRy
dWV9LnByb3BlcnR5TmFtZTEiKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggMjIwMzhkNy4u
ZmJlMGJjNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTUt
MDMtMjAgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBT
eW50YXhDaGVja2VyIGFzc2VydGlvbiBpcyB0cmFwcGVkIHdpdGggY29tcHV0ZWQgcHJvcGVydHkg
bmFtZSBhbmQgZ2V0dGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDI4NjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHBhcnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENo
ZWNrZXI6OmdldE5hbWUpOgorICAgICAgICBSZW1vdmUgaW52YWxpZCBhc3NlcnQuIENvbXB1dGVk
IHByb3BlcnRpZXMgd2lsbCBub3QgaGF2ZSBhIG5hbWUKKyAgICAgICAgYW5kIHRoZSBjYWxsaW5n
IGNvZGUgaXMgY2hlY2tpbmcgZm9yIG51bGwgZXhwZWN0aW5nIGl0LiBUaGUKKyAgICAgICAgQVNU
IHBhdGggKG5vbi1DaGVja2luZ1BhdGgpIGFscmVhZHkgZG9lcyB0aGlzIHdpdGhvdXQgdGhlIGFz
c2VydAorICAgICAgICBzbyBpdCBpcyB3ZWxsIHRlc3RlZC4KKwogMjAxNS0wMy0xOSAgQW5kcmVh
cyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgSlNDYWxsZWUgdW5uZWNlc3Nh
cmlseSBvdmVycmlkZXMgYSBidW5jaCBvZiB0aGluZ3MgaW4gdGhlIG1ldGhvZCB0YWJsZS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKaW5kZXggYWEzOGUz
Mi4uNDc5YzRmOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50
YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVj
a2VyLmgKQEAgLTI3NCw3ICsyNzQsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBhc3NpZ25t
ZW50U3RhY2tBcHBlbmQoaW50LCBpbnQsIGludCwgaW50LCBpbnQsIE9wZXJhdG9yKSB7IH0KICAg
ICBpbnQgY3JlYXRlQXNzaWdubWVudChjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQsIGludCwg
aW50LCBpbnQsIGludCkgeyBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gQXNz
aWdubWVudEV4cHI7IH0KLSAgICBjb25zdCBJZGVudGlmaWVyKiBnZXROYW1lKGNvbnN0IFByb3Bl
cnR5JiBwcm9wZXJ0eSkgY29uc3QgeyBBU1NFUlQocHJvcGVydHkubmFtZSk7IHJldHVybiBwcm9w
ZXJ0eS5uYW1lOyB9CisgICAgY29uc3QgSWRlbnRpZmllciogZ2V0TmFtZShjb25zdCBQcm9wZXJ0
eSYgcHJvcGVydHkpIGNvbnN0IHsgcmV0dXJuIHByb3BlcnR5Lm5hbWU7IH0KICAgICBQcm9wZXJ0
eU5vZGU6OlR5cGUgZ2V0VHlwZShjb25zdCBQcm9wZXJ0eSYgcHJvcGVydHkpIGNvbnN0IHsgcmV0
dXJuIHByb3BlcnR5LnR5cGU7IH0KICAgICBib29sIGlzUmVzb2x2ZShFeHByZXNzaW9uVHlwZSBl
eHByKSBjb25zdCB7IHJldHVybiBleHByID09IFJlc29sdmVFeHByIHx8IGV4cHIgPT0gUmVzb2x2
ZUV2YWxFeHByOyB9CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRGVjb25zdHJ1Y3RpbmdBc3Np
Z25tZW50KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgRXhwcmVzc2lvblR5cGUpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>