<?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>127648</bug_id>
          
          <creation_ts>2014-01-26 02:11:06 -0800</creation_ts>
          <short_desc>-[JSContext evaluteScript:] calls JSEvaluteScript with startingLineNumber 0, later interpreted as a oneBasedInt</short_desc>
          <delta_ts>2014-01-27 23:25:52 -0800</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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>joepeck</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>972172</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-26 02:11:06 -0800</bug_when>
    <thetext>The inspector, via JSC::Debugger::scriptDidParse is seeing -[JSContext evaluteScript:] calls as scripts evaluated with an empty sourceURL starting at line -1. This can be tracked back to -[JSContext evaluteScript:] calling JSEvaluteScript with a 0 line number.

Seems like the JSEvaluteScript API should document that the lineNumber parameter is 1 based and we should update -[JSContext evaluteScript] to pass line 1 instead of 0. This would lead to better line numbers in the inspector when debugging a JSContext.

NOTE: There is also a FIXME in Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp that can be fixed:

    void InspectorDebuggerAgent::didParseSource(JSC::SourceID sourceID, const Script&amp; inScript)
    {
        Script script = inScript;
        // FIXME: Why does -[JSContext evaluateScript] have a -1 startLine?
        if (script.startLine &lt;= 0 &amp;&amp; !script.startColumn)
            script.sourceURL = ContentSearchUtilities::findScriptSourceURL(script.source);
        ...
    }

Seeing as JSEvaluteScript is API and can be with any lineNumber, we might need to make the inspector (or the API) better support negative numbers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972608</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-27 15:26:41 -0800</bug_when>
    <thetext>Although the documentation says these startingLineNumbers are &quot;only used when reporting exceptions&quot;, now that we have the inspector the values can show in other places.

Lets clamp at all the API entry points. It never make sense to have a negative lineNumber.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972671</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-27 16:55:13 -0800</bug_when>
    <thetext>Ahh. I think I&apos;ve worked this out.

In all the public JSC APIs with a startingLineNumber parameter it can only show up in JavaScript exceptions. And in those cases, the exception line number is correct, because ultimately the JSC::Source the APIs create does clamping of the line number appropriately. (See JSC::Source constructors and makeSource(...)).

However, for the same inputs, the JSC::SourceProvider created in the APIs has unclamped values. And it is these unclamped values that are passed to the inspector through JSC::Debugger::sourceParsed, and lead to the unexpected values seen by the inspector. As far as I can tell, JSC::SourceProvider&apos;s startPosition is _only_ used by the inspector.

I still think we should clamp at the API boundary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972679</commentid>
    <comment_count>3</comment_count>
      <attachid>222384</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-27 17:11:12 -0800</bug_when>
    <thetext>Created attachment 222384
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972780</commentid>
    <comment_count>4</comment_count>
      <attachid>222384</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-01-27 21:46:46 -0800</bug_when>
    <thetext>Comment on attachment 222384
[PATCH] Proposed Fix

r=me

I&apos;d remove &quot;is interpreted&quot;, to be more direct, and hyphenate &quot;one-based&quot;, since it&apos;s an adjective.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972782</commentid>
    <comment_count>5</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-27 21:57:12 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 222384 [details])
&gt; r=me
&gt; 
&gt; I&apos;d remove &quot;is interpreted&quot;, to be more direct, and hyphenate &quot;one-based&quot;, since it&apos;s an adjective.

Oo good suggestions. Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972798</commentid>
    <comment_count>6</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-27 23:25:52 -0800</bug_when>
    <thetext>Landed &lt;http://trac.webkit.org/changeset/162918&gt; with rewording.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222384</attachid>
            <date>2014-01-27 17:11:12 -0800</date>
            <delta_ts>2014-01-27 21:46:45 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>clamping.patch</filename>
            <type>text/plain</type>
            <size>17617</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNCYXNlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNCYXNlLmNwcAppbmRleCBjMDkzMGE0Li41MDY1NjE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQmFzZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Jhc2UuY3BwCkBAIC01Myw2ICs1Myw4IEBAIEpTVmFs
dWVSZWYgSlNFdmFsdWF0ZVNjcmlwdChKU0NvbnRleHRSZWYgY3R4LCBKU1N0cmluZ1JlZiBzY3Jp
cHQsIEpTT2JqZWN0UmVmIHRoCiAKICAgICBKU09iamVjdCoganNUaGlzT2JqZWN0ID0gdG9KUyh0
aGlzT2JqZWN0KTsKIAorICAgIHN0YXJ0aW5nTGluZU51bWJlciA9IHN0ZDo6bWF4KDEsIHN0YXJ0
aW5nTGluZU51bWJlcik7CisKICAgICAvLyBldmFsdWF0ZSBzZXRzICJ0aGlzIiB0byB0aGUgZ2xv
YmFsIG9iamVjdCBpZiBpdCBpcyBOVUxMCiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCA9IGV4ZWMtPnZtRW50cnlHbG9iYWxPYmplY3QoKTsKICAgICBTb3VyY2VDb2RlIHNvdXJjZSA9
IG1ha2VTb3VyY2Uoc2NyaXB0LT5zdHJpbmcoKSwgc291cmNlVVJMLT5zdHJpbmcoKSwgVGV4dFBv
c2l0aW9uKE9yZGluYWxOdW1iZXI6OmZyb21PbmVCYXNlZEludChzdGFydGluZ0xpbmVOdW1iZXIp
LCBPcmRpbmFsTnVtYmVyOjpmaXJzdCgpKSk7CkBAIC04Miw2ICs4NCw4IEBAIGJvb2wgSlNDaGVj
a1NjcmlwdFN5bnRheChKU0NvbnRleHRSZWYgY3R4LCBKU1N0cmluZ1JlZiBzY3JpcHQsIEpTU3Ry
aW5nUmVmIHNvdXJjCiAgICAgRXhlY1N0YXRlKiBleGVjID0gdG9KUyhjdHgpOwogICAgIEFQSUVu
dHJ5U2hpbSBlbnRyeVNoaW0oZXhlYyk7CiAKKyAgICBzdGFydGluZ0xpbmVOdW1iZXIgPSBzdGQ6
Om1heCgxLCBzdGFydGluZ0xpbmVOdW1iZXIpOworCiAgICAgU291cmNlQ29kZSBzb3VyY2UgPSBt
YWtlU291cmNlKHNjcmlwdC0+c3RyaW5nKCksIHNvdXJjZVVSTC0+c3RyaW5nKCksIFRleHRQb3Np
dGlvbihPcmRpbmFsTnVtYmVyOjpmcm9tT25lQmFzZWRJbnQoc3RhcnRpbmdMaW5lTnVtYmVyKSwg
T3JkaW5hbE51bWJlcjo6Zmlyc3QoKSkpOwogICAgIAogICAgIEpTVmFsdWUgc3ludGF4RXhjZXB0
aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Jhc2UuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNCYXNlLmgKaW5kZXggZjdiOTE2OC4uODcwYjM5OCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Jhc2UuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQmFzZS5oCkBAIC0yMCw3ICsyMCw3IEBACiAgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgogICovCiAKICNpZm5kZWYgSlNCYXNlX2gKQEAgLTEwMiw3ICsxMDIsNyBAQCBleHRl
cm4gIkMiIHsKIEBwYXJhbSBzY3JpcHQgQSBKU1N0cmluZyBjb250YWluaW5nIHRoZSBzY3JpcHQg
dG8gZXZhbHVhdGUuCiBAcGFyYW0gdGhpc09iamVjdCBUaGUgb2JqZWN0IHRvIHVzZSBhcyAidGhp
cywiIG9yIE5VTEwgdG8gdXNlIHRoZSBnbG9iYWwgb2JqZWN0IGFzICJ0aGlzLiIKIEBwYXJhbSBz
b3VyY2VVUkwgQSBKU1N0cmluZyBjb250YWluaW5nIGEgVVJMIGZvciB0aGUgc2NyaXB0J3Mgc291
cmNlIGZpbGUuIFRoaXMgaXMgb25seSB1c2VkIHdoZW4gcmVwb3J0aW5nIGV4Y2VwdGlvbnMuIFBh
c3MgTlVMTCBpZiB5b3UgZG8gbm90IGNhcmUgdG8gaW5jbHVkZSBzb3VyY2UgZmlsZSBpbmZvcm1h
dGlvbiBpbiBleGNlcHRpb25zLgotQHBhcmFtIHN0YXJ0aW5nTGluZU51bWJlciBBbiBpbnRlZ2Vy
IHZhbHVlIHNwZWNpZnlpbmcgdGhlIHNjcmlwdCdzIHN0YXJ0aW5nIGxpbmUgbnVtYmVyIGluIHRo
ZSBmaWxlIGxvY2F0ZWQgYXQgc291cmNlVVJMLiBUaGlzIGlzIG9ubHkgdXNlZCB3aGVuIHJlcG9y
dGluZyBleGNlcHRpb25zLgorQHBhcmFtIHN0YXJ0aW5nTGluZU51bWJlciBBbiBpbnRlZ2VyIHZh
bHVlIHNwZWNpZnlpbmcgdGhlIHNjcmlwdCdzIHN0YXJ0aW5nIGxpbmUgbnVtYmVyIGluIHRoZSBm
aWxlIGxvY2F0ZWQgYXQgc291cmNlVVJMLiBUaGlzIGlzIG9ubHkgdXNlZCB3aGVuIHJlcG9ydGlu
ZyBleGNlcHRpb25zLiBUaGUgdmFsdWUgaXMgaW50ZXJwcmV0ZWQgYXMgb25lIGJhc2VkLCBzbyB0
aGUgZmlyc3QgbGluZSBpcyBsaW5lIDEgYW5kIGludmFsaWQgdmFsdWVzIGFyZSBjbGFtcGVkIHRv
IDEuCiBAcGFyYW0gZXhjZXB0aW9uIEEgcG9pbnRlciB0byBhIEpTVmFsdWVSZWYgaW4gd2hpY2gg
dG8gc3RvcmUgYW4gZXhjZXB0aW9uLCBpZiBhbnkuIFBhc3MgTlVMTCBpZiB5b3UgZG8gbm90IGNh
cmUgdG8gc3RvcmUgYW4gZXhjZXB0aW9uLgogQHJlc3VsdCBUaGUgSlNWYWx1ZSB0aGF0IHJlc3Vs
dHMgZnJvbSBldmFsdWF0aW5nIHNjcmlwdCwgb3IgTlVMTCBpZiBhbiBleGNlcHRpb24gaXMgdGhy
b3duLgogKi8KQEAgLTExNCw3ICsxMTQsNyBAQCBKU19FWFBPUlQgSlNWYWx1ZVJlZiBKU0V2YWx1
YXRlU2NyaXB0KEpTQ29udGV4dFJlZiBjdHgsIEpTU3RyaW5nUmVmIHNjcmlwdCwgSlNPYgogQHBh
cmFtIGN0eCBUaGUgZXhlY3V0aW9uIGNvbnRleHQgdG8gdXNlLgogQHBhcmFtIHNjcmlwdCBBIEpT
U3RyaW5nIGNvbnRhaW5pbmcgdGhlIHNjcmlwdCB0byBjaGVjayBmb3Igc3ludGF4IGVycm9ycy4K
IEBwYXJhbSBzb3VyY2VVUkwgQSBKU1N0cmluZyBjb250YWluaW5nIGEgVVJMIGZvciB0aGUgc2Ny
aXB0J3Mgc291cmNlIGZpbGUuIFRoaXMgaXMgb25seSB1c2VkIHdoZW4gcmVwb3J0aW5nIGV4Y2Vw
dGlvbnMuIFBhc3MgTlVMTCBpZiB5b3UgZG8gbm90IGNhcmUgdG8gaW5jbHVkZSBzb3VyY2UgZmls
ZSBpbmZvcm1hdGlvbiBpbiBleGNlcHRpb25zLgotQHBhcmFtIHN0YXJ0aW5nTGluZU51bWJlciBB
biBpbnRlZ2VyIHZhbHVlIHNwZWNpZnlpbmcgdGhlIHNjcmlwdCdzIHN0YXJ0aW5nIGxpbmUgbnVt
YmVyIGluIHRoZSBmaWxlIGxvY2F0ZWQgYXQgc291cmNlVVJMLiBUaGlzIGlzIG9ubHkgdXNlZCB3
aGVuIHJlcG9ydGluZyBleGNlcHRpb25zLgorQHBhcmFtIHN0YXJ0aW5nTGluZU51bWJlciBBbiBp
bnRlZ2VyIHZhbHVlIHNwZWNpZnlpbmcgdGhlIHNjcmlwdCdzIHN0YXJ0aW5nIGxpbmUgbnVtYmVy
IGluIHRoZSBmaWxlIGxvY2F0ZWQgYXQgc291cmNlVVJMLiBUaGlzIGlzIG9ubHkgdXNlZCB3aGVu
IHJlcG9ydGluZyBleGNlcHRpb25zLiBUaGUgdmFsdWUgaXMgaW50ZXJwcmV0ZWQgYXMgb25lIGJh
c2VkLCBzbyB0aGUgZmlyc3QgbGluZSBpcyBsaW5lIDEgYW5kIGludmFsaWQgdmFsdWVzIGFyZSBj
bGFtcGVkIHRvIDEuCiBAcGFyYW0gZXhjZXB0aW9uIEEgcG9pbnRlciB0byBhIEpTVmFsdWVSZWYg
aW4gd2hpY2ggdG8gc3RvcmUgYSBzeW50YXggZXJyb3IgZXhjZXB0aW9uLCBpZiBhbnkuIFBhc3Mg
TlVMTCBpZiB5b3UgZG8gbm90IGNhcmUgdG8gc3RvcmUgYSBzeW50YXggZXJyb3IgZXhjZXB0aW9u
LgogQHJlc3VsdCB0cnVlIGlmIHRoZSBzY3JpcHQgaXMgc3ludGFjdGljYWxseSBjb3JyZWN0LCBv
dGhlcndpc2UgZmFsc2UuCiAqLwpAQCAtMTIyLDEzICsxMjIsMTMgQEAgSlNfRVhQT1JUIGJvb2wg
SlNDaGVja1NjcmlwdFN5bnRheChKU0NvbnRleHRSZWYgY3R4LCBKU1N0cmluZ1JlZiBzY3JpcHQs
IEpTU3RyaW4KIAogLyohCiBAZnVuY3Rpb24gSlNHYXJiYWdlQ29sbGVjdAotQGFic3RyYWN0IFBl
cmZvcm1zIGEgSmF2YVNjcmlwdCBnYXJiYWdlIGNvbGxlY3Rpb24uIAorQGFic3RyYWN0IFBlcmZv
cm1zIGEgSmF2YVNjcmlwdCBnYXJiYWdlIGNvbGxlY3Rpb24uCiBAcGFyYW0gY3R4IFRoZSBleGVj
dXRpb24gY29udGV4dCB0byB1c2UuCi1AZGlzY3Vzc2lvbiBKYXZhU2NyaXB0IHZhbHVlcyB0aGF0
IGFyZSBvbiB0aGUgbWFjaGluZSBzdGFjaywgaW4gYSByZWdpc3RlciwgCi0gcHJvdGVjdGVkIGJ5
IEpTVmFsdWVQcm90ZWN0LCBzZXQgYXMgdGhlIGdsb2JhbCBvYmplY3Qgb2YgYW4gZXhlY3V0aW9u
IGNvbnRleHQsIAorQGRpc2N1c3Npb24gSmF2YVNjcmlwdCB2YWx1ZXMgdGhhdCBhcmUgb24gdGhl
IG1hY2hpbmUgc3RhY2ssIGluIGEgcmVnaXN0ZXIsCisgcHJvdGVjdGVkIGJ5IEpTVmFsdWVQcm90
ZWN0LCBzZXQgYXMgdGhlIGdsb2JhbCBvYmplY3Qgb2YgYW4gZXhlY3V0aW9uIGNvbnRleHQsCiAg
b3IgcmVhY2hhYmxlIGZyb20gYW55IHN1Y2ggdmFsdWUgd2lsbCBub3QgYmUgY29sbGVjdGVkLgog
Ci0gRHVyaW5nIEphdmFTY3JpcHQgZXhlY3V0aW9uLCB5b3UgYXJlIG5vdCByZXF1aXJlZCB0byBj
YWxsIHRoaXMgZnVuY3Rpb247IHRoZSAKKyBEdXJpbmcgSmF2YVNjcmlwdCBleGVjdXRpb24sIHlv
dSBhcmUgbm90IHJlcXVpcmVkIHRvIGNhbGwgdGhpcyBmdW5jdGlvbjsgdGhlCiAgSmF2YVNjcmlw
dCBlbmdpbmUgd2lsbCBnYXJiYWdlIGNvbGxlY3QgYXMgbmVlZGVkLiBKYXZhU2NyaXB0IHZhbHVl
cyBjcmVhdGVkCiAgd2l0aGluIGEgY29udGV4dCBncm91cCBhcmUgYXV0b21hdGljYWxseSBkZXN0
cm95ZWQgd2hlbiB0aGUgbGFzdCByZWZlcmVuY2UKICB0byB0aGUgY29udGV4dCBncm91cCBpcyBy
ZWxlYXNlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKaW5kZXgg
YWY4OTg3MS4uNTZmZTkwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U09iamVjdFJlZi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJl
Zi5jcHAKQEAgLTIxLDcgKzIxLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1ZGUg
ImNvbmZpZy5oIgpAQCAtMTM1LDYgKzEzNSw3IEBAIEpTT2JqZWN0UmVmIEpTT2JqZWN0TWFrZUZ1
bmN0aW9uKEpTQ29udGV4dFJlZiBjdHgsIEpTU3RyaW5nUmVmIG5hbWUsIHVuc2lnbmVkIHBhCiAg
ICAgRXhlY1N0YXRlKiBleGVjID0gdG9KUyhjdHgpOwogICAgIEFQSUVudHJ5U2hpbSBlbnRyeVNo
aW0oZXhlYyk7CiAKKyAgICBzdGFydGluZ0xpbmVOdW1iZXIgPSBzdGQ6Om1heCgxLCBzdGFydGlu
Z0xpbmVOdW1iZXIpOwogICAgIElkZW50aWZpZXIgbmFtZUlEID0gbmFtZSA/IG5hbWUtPmlkZW50
aWZpZXIoJmV4ZWMtPnZtKCkpIDogSWRlbnRpZmllcihleGVjLCAiYW5vbnltb3VzIik7CiAgICAg
CiAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNPYmplY3RSZWYuaAppbmRleCA2YWE4NDM1Li4zMzg1NThlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU09iamVjdFJlZi5oCkBAIC0yMSw3ICsyMSw3IEBACiAgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICovCiAKICNpZm5kZWYgSlNPYmplY3RSZWZfaApAQCAtNDg1LDcgKzQ4NSw3IEBAIEpTX0VYUE9S
VCBKU09iamVjdFJlZiBKU09iamVjdE1ha2VSZWdFeHAoSlNDb250ZXh0UmVmIGN0eCwgc2l6ZV90
IGFyZ3VtZW50Q291bnQsCiBAcGFyYW0gcGFyYW1ldGVyTmFtZXMgQSBKU1N0cmluZyBhcnJheSBj
b250YWluaW5nIHRoZSBuYW1lcyBvZiB0aGUgZnVuY3Rpb24ncyBwYXJhbWV0ZXJzLiBQYXNzIE5V
TEwgaWYgcGFyYW1ldGVyQ291bnQgaXMgMC4KIEBwYXJhbSBib2R5IEEgSlNTdHJpbmcgY29udGFp
bmluZyB0aGUgc2NyaXB0IHRvIHVzZSBhcyB0aGUgZnVuY3Rpb24ncyBib2R5LgogQHBhcmFtIHNv
dXJjZVVSTCBBIEpTU3RyaW5nIGNvbnRhaW5pbmcgYSBVUkwgZm9yIHRoZSBzY3JpcHQncyBzb3Vy
Y2UgZmlsZS4gVGhpcyBpcyBvbmx5IHVzZWQgd2hlbiByZXBvcnRpbmcgZXhjZXB0aW9ucy4gUGFz
cyBOVUxMIGlmIHlvdSBkbyBub3QgY2FyZSB0byBpbmNsdWRlIHNvdXJjZSBmaWxlIGluZm9ybWF0
aW9uIGluIGV4Y2VwdGlvbnMuCi1AcGFyYW0gc3RhcnRpbmdMaW5lTnVtYmVyIEFuIGludGVnZXIg
dmFsdWUgc3BlY2lmeWluZyB0aGUgc2NyaXB0J3Mgc3RhcnRpbmcgbGluZSBudW1iZXIgaW4gdGhl
IGZpbGUgbG9jYXRlZCBhdCBzb3VyY2VVUkwuIFRoaXMgaXMgb25seSB1c2VkIHdoZW4gcmVwb3J0
aW5nIGV4Y2VwdGlvbnMuCitAcGFyYW0gc3RhcnRpbmdMaW5lTnVtYmVyIEFuIGludGVnZXIgdmFs
dWUgc3BlY2lmeWluZyB0aGUgc2NyaXB0J3Mgc3RhcnRpbmcgbGluZSBudW1iZXIgaW4gdGhlIGZp
bGUgbG9jYXRlZCBhdCBzb3VyY2VVUkwuIFRoaXMgaXMgb25seSB1c2VkIHdoZW4gcmVwb3J0aW5n
IGV4Y2VwdGlvbnMuIFRoZSB2YWx1ZSBpcyBpbnRlcnByZXRlZCBhcyBvbmUgYmFzZWQsIHNvIHRo
ZSBmaXJzdCBsaW5lIGlzIGxpbmUgMSBhbmQgaW52YWxpZCB2YWx1ZXMgYXJlIGNsYW1wZWQgdG8g
MS4KIEBwYXJhbSBleGNlcHRpb24gQSBwb2ludGVyIHRvIGEgSlNWYWx1ZVJlZiBpbiB3aGljaCB0
byBzdG9yZSBhIHN5bnRheCBlcnJvciBleGNlcHRpb24sIGlmIGFueS4gUGFzcyBOVUxMIGlmIHlv
dSBkbyBub3QgY2FyZSB0byBzdG9yZSBhIHN5bnRheCBlcnJvciBleGNlcHRpb24uCiBAcmVzdWx0
IEEgSlNPYmplY3QgdGhhdCBpcyBhIGZ1bmN0aW9uLCBvciBOVUxMIGlmIGVpdGhlciBib2R5IG9y
IHBhcmFtZXRlck5hbWVzIGNvbnRhaW5zIGEgc3ludGF4IGVycm9yLiBUaGUgb2JqZWN0J3MgcHJv
dG90eXBlIHdpbGwgYmUgdGhlIGRlZmF1bHQgZnVuY3Rpb24gcHJvdG90eXBlLgogQGRpc2N1c3Np
b24gVXNlIHRoaXMgbWV0aG9kIHdoZW4geW91IHdhbnQgdG8gZXhlY3V0ZSBhIHNjcmlwdCByZXBl
YXRlZGx5LCB0byBhdm9pZCB0aGUgY29zdCBvZiByZS1wYXJzaW5nIHRoZSBzY3JpcHQgYmVmb3Jl
IGVhY2ggZXhlY3V0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U1NjcmlwdFJlZi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU2NyaXB0UmVmLmNw
cAppbmRleCA4ZGQ5NzdhLi45Mjc3MDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTU2NyaXB0UmVmLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
U2NyaXB0UmVmLmNwcApAQCAtODMsNiArODMsOCBAQCBKU1NjcmlwdFJlZiBKU1NjcmlwdENyZWF0
ZVJlZmVyZW5jaW5nSW1tb3J0YWxBU0NJSVRleHQoSlNDb250ZXh0R3JvdXBSZWYgY29udGV4dAog
ICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCisgICAgc3RhcnRpbmdMaW5lTnVtYmVyID0g
c3RkOjptYXgoMSwgc3RhcnRpbmdMaW5lTnVtYmVyKTsKKwogICAgIFJlZlB0cjxPcGFxdWVKU1Nj
cmlwdD4gcmVzdWx0ID0gT3BhcXVlSlNTY3JpcHQ6OmNyZWF0ZSh2bSwgdXJsLT5zdHJpbmcoKSwg
c3RhcnRpbmdMaW5lTnVtYmVyLCBTdHJpbmcoU3RyaW5nSW1wbDo6Y3JlYXRlRnJvbUxpdGVyYWwo
c291cmNlLCBsZW5ndGgpKSk7CiAKICAgICBQYXJzZXJFcnJvciBlcnJvcjsKQEAgLTEwMiw2ICsx
MDQsOCBAQCBKU1NjcmlwdFJlZiBKU1NjcmlwdENyZWF0ZUZyb21TdHJpbmcoSlNDb250ZXh0R3Jv
dXBSZWYgY29udGV4dEdyb3VwLCBKU1N0cmluZ1JlZgogICAgIFZNKiB2bSA9IHRvSlMoY29udGV4
dEdyb3VwKTsKICAgICBBUElFbnRyeVNoaW0gZW50cnlTaGltKHZtKTsKIAorICAgIHN0YXJ0aW5n
TGluZU51bWJlciA9IHN0ZDo6bWF4KDEsIHN0YXJ0aW5nTGluZU51bWJlcik7CisKICAgICBSZWZQ
dHI8T3BhcXVlSlNTY3JpcHQ+IHJlc3VsdCA9IE9wYXF1ZUpTU2NyaXB0OjpjcmVhdGUodm0sIHVy
bC0+c3RyaW5nKCksIHN0YXJ0aW5nTGluZU51bWJlciwgc291cmNlLT5zdHJpbmcoKSk7CiAKICAg
ICBQYXJzZXJFcnJvciBlcnJvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNTY3JpcHRSZWZQcml2YXRlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU2Ny
aXB0UmVmUHJpdmF0ZS5oCmluZGV4IGUxOTkyMDUuLjJjMDFlNGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNTY3JpcHRSZWZQcml2YXRlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU1NjcmlwdFJlZlByaXZhdGUuaApAQCAtNDIsNyArNDIsNyBAQCBl
eHRlcm4gIkMiIHsKICBAYWJzdHJhY3QgQ3JlYXRlcyBhIHNjcmlwdCByZWZlcmVuY2UgZnJvbSBh
biBhc2NpaSBzdHJpbmcsIHdpdGhvdXQgY29weWluZyBvciB0YWtpbmcgb3duZXJzaGlwIG9mIHRo
ZSBzdHJpbmcKICBAcGFyYW0gY29udGV4dEdyb3VwIFRoZSBjb250ZXh0IGdyb3VwIHRoZSBzY3Jp
cHQgaXMgdG8gYmUgdXNlZCBpbi4KICBAcGFyYW0gdXJsIFRoZSBzb3VyY2UgdXJsIHRvIGJlIHJl
cG9ydGVkIGluIGVycm9ycyBhbmQgZXhjZXB0aW9ucy4KLSBAcGFyYW0gc3RhcnRpbmdMaW5lTnVt
YmVyIEFuIGludGVnZXIgdmFsdWUgc3BlY2lmeWluZyB0aGUgc2NyaXB0J3Mgc3RhcnRpbmcgbGlu
ZSBudW1iZXIgaW4gdGhlIGZpbGUgbG9jYXRlZCBhdCBzb3VyY2VVUkwuIFRoaXMgaXMgb25seSB1
c2VkIHdoZW4gcmVwb3J0aW5nIGV4Y2VwdGlvbnMuCisgQHBhcmFtIHN0YXJ0aW5nTGluZU51bWJl
ciBBbiBpbnRlZ2VyIHZhbHVlIHNwZWNpZnlpbmcgdGhlIHNjcmlwdCdzIHN0YXJ0aW5nIGxpbmUg
bnVtYmVyIGluIHRoZSBmaWxlIGxvY2F0ZWQgYXQgc291cmNlVVJMLiBUaGlzIGlzIG9ubHkgdXNl
ZCB3aGVuIHJlcG9ydGluZyBleGNlcHRpb25zLiBUaGUgdmFsdWUgaXMgaW50ZXJwcmV0ZWQgYXMg
b25lIGJhc2VkLCBzbyB0aGUgZmlyc3QgbGluZSBpcyBsaW5lIDEgYW5kIGludmFsaWQgdmFsdWVz
IGFyZSBjbGFtcGVkIHRvIDEuCiAgQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIHN0cmluZy4gIFRo
aXMgaXMgcmVxdWlyZWQgdG8gYmUgcHVyZSBBU0NJSSBhbmQgdG8gbmV2ZXIgYmUgZGVhbGxvY2F0
ZWQuCiAgQHBhcmFtIGxlbmd0aCBUaGUgbGVuZ3RoIG9mIHRoZSBzb3VyY2Ugc3RyaW5nLgogIEBw
YXJhbSBlcnJvck1lc3NhZ2UgQSBwb2ludGVyIHRvIGEgSlNTdHJpbmdSZWYgaW4gd2hpY2ggdG8g
c3RvcmUgdGhlIHBhcnNlIGVycm9yIG1lc3NhZ2UgaWYgdGhlIHNvdXJjZSBpcyBub3QgdmFsaWQu
IFBhc3MgTlVMTCBpZiB5b3UgZG8gbm90IGNhcmUgdG8gc3RvcmUgYW4gZXJyb3IgbWVzc2FnZS4K
QEAgLTU4LDcgKzU4LDcgQEAgSlNfRVhQT1JUIEpTU2NyaXB0UmVmIEpTU2NyaXB0Q3JlYXRlUmVm
ZXJlbmNpbmdJbW1vcnRhbEFTQ0lJVGV4dChKU0NvbnRleHRHcm91cFIKICBAYWJzdHJhY3QgQ3Jl
YXRlcyBhIHNjcmlwdCByZWZlcmVuY2UgZnJvbSBhIHN0cmluZwogIEBwYXJhbSBjb250ZXh0R3Jv
dXAgVGhlIGNvbnRleHQgZ3JvdXAgdGhlIHNjcmlwdCBpcyB0byBiZSB1c2VkIGluLgogIEBwYXJh
bSB1cmwgVGhlIHNvdXJjZSB1cmwgdG8gYmUgcmVwb3J0ZWQgaW4gZXJyb3JzIGFuZCBleGNlcHRp
b25zLgotIEBwYXJhbSBzdGFydGluZ0xpbmVOdW1iZXIgQW4gaW50ZWdlciB2YWx1ZSBzcGVjaWZ5
aW5nIHRoZSBzY3JpcHQncyBzdGFydGluZyBsaW5lIG51bWJlciBpbiB0aGUgZmlsZSBsb2NhdGVk
IGF0IHNvdXJjZVVSTC4gVGhpcyBpcyBvbmx5IHVzZWQgd2hlbiByZXBvcnRpbmcgZXhjZXB0aW9u
cy4KKyBAcGFyYW0gc3RhcnRpbmdMaW5lTnVtYmVyIEFuIGludGVnZXIgdmFsdWUgc3BlY2lmeWlu
ZyB0aGUgc2NyaXB0J3Mgc3RhcnRpbmcgbGluZSBudW1iZXIgaW4gdGhlIGZpbGUgbG9jYXRlZCBh
dCBzb3VyY2VVUkwuIFRoaXMgaXMgb25seSB1c2VkIHdoZW4gcmVwb3J0aW5nIGV4Y2VwdGlvbnMu
IFRoZSB2YWx1ZSBpcyBpbnRlcnByZXRlZCBhcyBvbmUgYmFzZWQsIHNvIHRoZSBmaXJzdCBsaW5l
IGlzIGxpbmUgMSBhbmQgaW52YWxpZCB2YWx1ZXMgYXJlIGNsYW1wZWQgdG8gMS4KICBAcGFyYW0g
c291cmNlIFRoZSBzb3VyY2Ugc3RyaW5nLgogIEBwYXJhbSBlcnJvck1lc3NhZ2UgQSBwb2ludGVy
IHRvIGEgSlNTdHJpbmdSZWYgaW4gd2hpY2ggdG8gc3RvcmUgdGhlIHBhcnNlIGVycm9yIG1lc3Nh
Z2UgaWYgdGhlIHNvdXJjZSBpcyBub3QgdmFsaWQuIFBhc3MgTlVMTCBpZiB5b3UgZG8gbm90IGNh
cmUgdG8gc3RvcmUgYW4gZXJyb3IgbWVzc2FnZS4KICBAcGFyYW0gZXJyb3JMaW5lIEEgcG9pbnRl
ciB0byBhbiBpbnQgaW4gd2hpY2ggdG8gc3RvcmUgdGhlIGxpbmUgbnVtYmVyIG9mIGEgcGFyc2Vy
IGVycm9yLiBQYXNzIE5VTEwgaWYgeW91IGRvIG5vdCBjYXJlIHRvIHN0b3JlIGFuIGVycm9yIGxp
bmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU3RyaW5nUmVmLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU3RyaW5nUmVmLmgKaW5kZXggNzVkNzNjOS4u
YWRlZDczNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1N0cmluZ1Jl
Zi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNTdHJpbmdSZWYuaApAQCAtMjAs
NyArMjAsNyBAQAogICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCiAjaWZuZGVmIEpTU3RyaW5nUmVmX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5jIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLmMKaW5kZXggZjRhMTQ5OS4u
M2NiNDBjNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0
YXBpLmMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLmMKQEAg
LTE2MjksNiArMTYyOSwyNiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAg
IEpTU3RyaW5nUmVsZWFzZShsaW5lKTsKIAogICAgIGV4Y2VwdGlvbiA9IE5VTEw7CisgICAgZnVu
Y3Rpb25Cb2R5ID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoInJyZXR1cm4gQXJyYXk7
Iik7CisgICAgbGluZSA9IEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJsaW5lIik7Cisg
ICAgQVNTRVJUKCFKU09iamVjdE1ha2VGdW5jdGlvbihjb250ZXh0LCBOVUxMLCAwLCBOVUxMLCBm
dW5jdGlvbkJvZHksIE5VTEwsIC00MiwgJmV4Y2VwdGlvbikpOworICAgIEFTU0VSVChKU1ZhbHVl
SXNPYmplY3QoY29udGV4dCwgZXhjZXB0aW9uKSk7CisgICAgdiA9IEpTT2JqZWN0R2V0UHJvcGVy
dHkoY29udGV4dCwgSlNWYWx1ZVRvT2JqZWN0KGNvbnRleHQsIGV4Y2VwdGlvbiwgTlVMTCksIGxp
bmUsIE5VTEwpOworICAgIGFzc2VydEVxdWFsc0FzTnVtYmVyKHYsIDEpOworICAgIEpTU3RyaW5n
UmVsZWFzZShmdW5jdGlvbkJvZHkpOworICAgIEpTU3RyaW5nUmVsZWFzZShsaW5lKTsKKworICAg
IGV4Y2VwdGlvbiA9IE5VTEw7CisgICAgZnVuY3Rpb25Cb2R5ID0gSlNTdHJpbmdDcmVhdGVXaXRo
VVRGOENTdHJpbmcoIi8vIExpbmUgb25lLlxucnJldHVybiBBcnJheTsiKTsKKyAgICBsaW5lID0g
SlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImxpbmUiKTsKKyAgICBBU1NFUlQoIUpTT2Jq
ZWN0TWFrZUZ1bmN0aW9uKGNvbnRleHQsIE5VTEwsIDAsIE5VTEwsIGZ1bmN0aW9uQm9keSwgTlVM
TCwgMSwgJmV4Y2VwdGlvbikpOworICAgIEFTU0VSVChKU1ZhbHVlSXNPYmplY3QoY29udGV4dCwg
ZXhjZXB0aW9uKSk7CisgICAgdiA9IEpTT2JqZWN0R2V0UHJvcGVydHkoY29udGV4dCwgSlNWYWx1
ZVRvT2JqZWN0KGNvbnRleHQsIGV4Y2VwdGlvbiwgTlVMTCksIGxpbmUsIE5VTEwpOworICAgIGFz
c2VydEVxdWFsc0FzTnVtYmVyKHYsIDIpOworICAgIEpTU3RyaW5nUmVsZWFzZShmdW5jdGlvbkJv
ZHkpOworICAgIEpTU3RyaW5nUmVsZWFzZShsaW5lKTsKKworICAgIGV4Y2VwdGlvbiA9IE5VTEw7
CiAgICAgZnVuY3Rpb25Cb2R5ID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoInJldHVy
biBBcnJheTsiKTsKICAgICBmdW5jdGlvbiA9IEpTT2JqZWN0TWFrZUZ1bmN0aW9uKGNvbnRleHQs
IE5VTEwsIDAsIE5VTEwsIGZ1bmN0aW9uQm9keSwgTlVMTCwgMSwgJmV4Y2VwdGlvbik7CiAgICAg
SlNTdHJpbmdSZWxlYXNlKGZ1bmN0aW9uQm9keSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RhcGkubW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L3Rlc3RzL3Rlc3RhcGkubW0KaW5kZXggNWM4NDQ4NC4uNzNkZmI4OCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5tbQpAQCAtNTk0LDYgKzU5NCwyMiBAQCB2b2lk
IHRlc3RPYmplY3RpdmVDQVBJKCkKIAogICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICBK
U0NvbnRleHQgKmNvbnRleHQgPSBbW0pTQ29udGV4dCBhbGxvY10gaW5pdF07CisgICAgICAgIF9f
YmxvY2sgaW50IGV4cGVjdGVkRXhjZXB0aW9uTGluZU51bWJlciA9IDE7CisgICAgICAgIF9fYmxv
Y2sgYm9vbCBzYXdFeHBlY3RlZEV4Y2VwdGlvbkxpbmVOdW1iZXIgPSBmYWxzZTsKKyAgICAgICAg
Y29udGV4dC5leGNlcHRpb25IYW5kbGVyID0gXihKU0NvbnRleHQgKiwgSlNWYWx1ZSAqZXhjZXB0
aW9uKSB7CisgICAgICAgICAgICBzYXdFeHBlY3RlZEV4Y2VwdGlvbkxpbmVOdW1iZXIgPSBbZXhj
ZXB0aW9uW0AibGluZSJdIHRvSW50MzJdID09IGV4cGVjdGVkRXhjZXB0aW9uTGluZU51bWJlcjsK
KyAgICAgICAgfTsKKyAgICAgICAgW2NvbnRleHQgZXZhbHVhdGVTY3JpcHQ6QCIhQCMkJV4mKigp
IFRISVMgSVMgTk9UIFZBTElEIEpBVkFTQ1JJUFQgU1lOVEFYICFAIyQlXiYqKCkiXTsKKyAgICAg
ICAgY2hlY2tSZXN1bHQoQCJldmFsdXRlU2NyaXB0IGV4Y2VwdGlvbiBvbiBsaW5lIDEiLCBzYXdF
eHBlY3RlZEV4Y2VwdGlvbkxpbmVOdW1iZXIpOworCisgICAgICAgIGV4cGVjdGVkRXhjZXB0aW9u
TGluZU51bWJlciA9IDI7CisgICAgICAgIHNhd0V4cGVjdGVkRXhjZXB0aW9uTGluZU51bWJlciA9
IGZhbHNlOworICAgICAgICBbY29udGV4dCBldmFsdWF0ZVNjcmlwdDpAIi8vIExpbmUgMVxuIUAj
JCVeJiooKSBUSElTIElTIE5PVCBWQUxJRCBKQVZBU0NSSVBUIFNZTlRBWCAhQCMkJV4mKigpIl07
CisgICAgICAgIGNoZWNrUmVzdWx0KEAiZXZhbHV0ZVNjcmlwdCBleGNlcHRpb24gb24gbGluZSAy
Iiwgc2F3RXhwZWN0ZWRFeGNlcHRpb25MaW5lTnVtYmVyKTsKKyAgICB9CisKKyAgICBAYXV0b3Jl
bGVhc2Vwb29sIHsKKyAgICAgICAgSlNDb250ZXh0ICpjb250ZXh0ID0gW1tKU0NvbnRleHQgYWxs
b2NdIGluaXRdOwogICAgICAgICBjb250ZXh0W0AiY2FsbGJhY2siXSA9IF57CiAgICAgICAgICAg
ICBKU0NvbnRleHQgKmNvbnRleHQgPSBbSlNDb250ZXh0IGN1cnJlbnRDb250ZXh0XTsKICAgICAg
ICAgICAgIGNvbnRleHQuZXhjZXB0aW9uID0gW0pTVmFsdWUgdmFsdWVXaXRoTmV3RXJyb3JGcm9t
TWVzc2FnZTpAIlNvbWV0aGluZyB3ZW50IHdyb25nLiIgaW5Db250ZXh0OmNvbnRleHRdOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggNjhjN2IzYi4uYWJkNzBlYSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsNDIgQEAKIDIwMTQtMDEtMjcgIEpvc2VwaCBQZWNvcmFybyAg
PHBlY29yYXJvQGFwcGxlLmNvbT4KIAorICAgICAgICAtW0pTQ29udGV4dCBldmFsdXRlU2NyaXB0
Ol0gY2FsbHMgSlNFdmFsdXRlU2NyaXB0IHdpdGggc3RhcnRpbmdMaW5lTnVtYmVyIDAsIGxhdGVy
IGludGVycHJldGVkIGFzIGEgb25lQmFzZWRJbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzY0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSBhY3R1YWwgYnVnIGJlaW5nIGZpeGVkIGhlcmUgaXMg
dGhhdCB0aGUgbGluZSBudW1iZXIgZm9yCisgICAgICAgIHNjcmlwdHMgZXZhbHVhdGVkIHZpYSB0
aGUgSlNDIEFQSXMgaXMgbm93IHNhbmUuIEhvd2V2ZXIsCisgICAgICAgIHRoZXJlIGlzIG5vIGdv
b2QgaW5mcmFzdHJ1Y3R1cmUgaW4gcGxhY2UgcmlnaHQgbm93IHRvIHRlc3QgdGhhdC4KKworICAg
ICAgICAqIEFQSS90ZXN0cy90ZXN0YXBpLmM6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiBB
UEkvdGVzdHMvdGVzdGFwaS5tbToKKyAgICAgICAgKHRlc3RPYmplY3RpdmVDQVBJKToKKyAgICAg
ICAgQWRkIHRlc3RzIGZvciBleGNlcHRpb24gbGluZSBudW1iZXJzIGFuZCBoYW5kbGluZyBvZiBi
YWQKKyAgICAgICAgc3RhcnRpbmdMaW5lTnVtYmVycyBpbiBwdWJsaWMgQVBJcy4gVGhlc2UgdGVz
dHMgd2VyZSBhbHJlYWR5CisgICAgICAgIHBhc3NpbmcsIEkganVzdCBhZGQgdGhlbSB0byBtYWtl
IHN1cmUgdGhleSBhcmUgbm90IHJlZ3Jlc3NlZAorICAgICAgICBpbiB0aGUgZnV0dXJlLgorCisg
ICAgICAgICogQVBJL0pTQmFzZS5jcHA6CisgICAgICAgIChKU0V2YWx1YXRlU2NyaXB0KToKKyAg
ICAgICAgKEpTQ2hlY2tTY3JpcHRTeW50YXgpOgorICAgICAgICAqIEFQSS9KU0Jhc2UuaDoKKyAg
ICAgICAgKiBBUEkvSlNPYmplY3RSZWYuY3BwOgorICAgICAgICAoSlNPYmplY3RNYWtlRnVuY3Rp
b24pOgorICAgICAgICAqIEFQSS9KU09iamVjdFJlZi5oOgorICAgICAgICAqIEFQSS9KU1Njcmlw
dFJlZi5jcHA6CisgICAgICAgICogQVBJL0pTU2NyaXB0UmVmUHJpdmF0ZS5oOgorICAgICAgICAq
IEFQSS9KU1N0cmluZ1JlZi5oOgorICAgICAgICAtIENsYXJpZnkgZG9jdW1lbnRhdGlvbiB0aGF0
IHN0YXJ0aW5nTGluZU51bWJlciBpcyAxIGJhc2VkIGFuZCBjbGFtcGVkLgorICAgICAgICAtIEFk
ZCBjbGFtcGluZyBpbiB0aGUgaW1wbGVtZW50YXRpb24gdG8gcHV0IHNhbmUgdmFsdWVzIGludG8g
SlNDOjpTb3VyY2VQcm92aWRlci4KKworICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yRGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAgIChJbnNwZWN0b3I6Okluc3BlY3RvckRlYnVn
Z2VyQWdlbnQ6OmRpZFBhcnNlU291cmNlKToKKyAgICAgICAgUmVtb3ZlIHRoZSBGSVhNRSBub3cg
dGhhdCB0aGUgU291cmNlUHJvdmlkZXIgaXMgZ2l2aW5nIHVzIGV4cGVjdGVkIHZhbHVlcy4KKwor
MjAxNC0wMS0yNyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCiAgICAg
ICAgIEphdmFTY3JpcHRDb3JlOiBFbmFibGUgLVdpbXBsaWNpdC1mYWxsdGhyb3VnaCBhbmQgYWRk
IEZBTExUSFJPVUdIIGFubm90YXRpb24gd2hlcmUgbmVlZGVkCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc2NDcKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmNwcAppbmRleCBhNTRlYzczLi42YzRlM2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50LmNwcApAQCAtNTc1LDcgKzU3NSw2IEBAIFN0cmluZyBJbnNwZWN0b3JEZWJ1
Z2dlckFnZW50Ojpzb3VyY2VNYXBVUkxGb3JTY3JpcHQoY29uc3QgU2NyaXB0JiBzY3JpcHQpCiB2
b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmRpZFBhcnNlU291cmNlKEpTQzo6U291cmNlSUQg
c291cmNlSUQsIGNvbnN0IFNjcmlwdCYgaW5TY3JpcHQpCiB7CiAgICAgU2NyaXB0IHNjcmlwdCA9
IGluU2NyaXB0OwotICAgIC8vIEZJWE1FOiBXaHkgZG9lcyAtW0pTQ29udGV4dCBldmFsdWF0ZVNj
cmlwdF0gaGF2ZSBhIC0xIHN0YXJ0TGluZT8KICAgICBpZiAoc2NyaXB0LnN0YXJ0TGluZSA8PSAw
ICYmICFzY3JpcHQuc3RhcnRDb2x1bW4pCiAgICAgICAgIHNjcmlwdC5zb3VyY2VVUkwgPSBDb250
ZW50U2VhcmNoVXRpbGl0aWVzOjpmaW5kU2NyaXB0U291cmNlVVJMKHNjcmlwdC5zb3VyY2UpOwog
ICAgIHNjcmlwdC5zb3VyY2VNYXBwaW5nVVJMID0gc291cmNlTWFwVVJMRm9yU2NyaXB0KHNjcmlw
dCk7Cg==
</data>
<flag name="review"
          id="246371"
          type_id="1"
          status="+"
          setter="ggaren"
    />
    <flag name="commit-queue"
          id="246372"
          type_id="3"
          status="-"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>