<?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>68499</bug_id>
          
          <creation_ts>2011-09-20 20:17:30 -0700</creation_ts>
          <short_desc>Extract common gdb code into its own function; Remove script gdb-safari</short_desc>
          <delta_ts>2011-10-15 12:33:36 -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>Tools / Tests</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="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aroben</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>470573</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-09-20 20:17:30 -0700</bug_when>
    <thetext>Duplicate code is used in webkitdirs::{debugMiniBrowser, debugWebKitTestRunner, runSafari}() and in the script gdb-safari to launch gdb to debug an application. Instead of duplicating code we should extract the common code into a function.

Moreover, I propose removing the script gdb-safari since it&apos;s functionality can be folded into the functionality afforded by debug-safari.

For completeness, gdb-safari was added in changeset 9395 &lt;http://trac.webkit.org/changeset/9395&gt; and debug-safari was added in changeset 27878 &lt;http://trac.webkit.org/changeset/27878&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470577</commentid>
    <comment_count>1</comment_count>
      <attachid>108105</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-09-20 20:38:59 -0700</bug_when>
    <thetext>Created attachment 108105
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470629</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-09-21 00:27:10 -0700</bug_when>
    <thetext>Please don’t delete gdb-safari without first giving webkit-dev advance notice. I’m sure that many people use it and would like to be aware of the change before it happens.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470984</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-09-21 11:33:11 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Please don’t delete gdb-safari without first giving webkit-dev advance notice. I’m sure that many people use it and would like to be aware of the change before it happens.

&lt;https://lists.webkit.org/pipermail/webkit-dev/2011-September/018021.html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478213</commentid>
    <comment_count>4</comment_count>
      <attachid>108105</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-10-05 01:07:33 -0700</bug_when>
    <thetext>Comment on attachment 108105
Patch

Clearing review flag as this patch no longer applies. Will rebase patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480804</commentid>
    <comment_count>5</comment_count>
      <attachid>110321</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-10-09 20:55:33 -0700</bug_when>
    <thetext>Created attachment 110321
Patch

I also changed in runSafari():

my $webKitLauncherPath = File::Spec-&gt;catfile(productDir(), &quot;WebKit.exe&quot;);
$result = system { $webKitLauncherPath } $webKitLauncherPath, @ARGV;
return $result if $result;

To:

my $webKitLauncherPath = File::Spec-&gt;catfile(productDir(), &quot;WebKit.exe&quot;);
return system { $webKitLauncherPath } $webKitLauncherPath, @ARGV;

since the former would implicitly return undef if $result was 0 and undef has a truth value that is equivalent to 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484109</commentid>
    <comment_count>6</comment_count>
      <attachid>110321</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2011-10-14 11:34:38 -0700</bug_when>
    <thetext>Comment on attachment 110321
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=110321&amp;action=review

r=me

&gt; Tools/Scripts/webkitdirs.pm:2067
&gt; +        return system { $vcBuildPath } $vcBuildPath, &quot;/debugexe&quot;, &quot;\&quot;$safariPath\&quot;&quot;, @ARGV;

This returns a different value on success (e.g., when system() returns 0) than runSafari() does, but I think that&apos;s okay since it&apos;s wrapped by exitStatus() in its new use.

&gt; Tools/Scripts/webkitdirs.pm:2084
&gt; +        return system { $webKitLauncherPath } $webKitLauncherPath, @ARGV;

This change causes the method to return 0 instead 1 when system() returns 0 on Windows.  This also seems fine since runSafari() is only used (from a quick grep) in the run-safari script, and that is also wrapped by exitStatus().

&gt; Tools/Scripts/webkitdirs.pm:2102
&gt; +        debugMacWebKitApp(File::Spec-&gt;catfile(productDir(), &quot;MiniBrowser.app&quot;, &quot;Contents&quot;, &quot;MacOS&quot;, &quot;MiniBrowser&quot;)); # This call never returns.

Nit: Might be nice to think of a name for debugMacWebKitApp() that removes the need for the comment.  Like execMacWebKitAppForDebugging()?

Not necessary to land the patch, though.

&gt; Tools/Scripts/webkitdirs.pm:2127
&gt; +        debugMacWebKitApp(File::Spec-&gt;catfile(productDir(), &quot;WebKitTestRunner&quot;)); # This call never returns.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484612</commentid>
    <comment_count>7</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-10-15 12:13:32 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 110321 [details])
&gt; 
&gt; &gt; Tools/Scripts/webkitdirs.pm:2102
&gt; &gt; +        debugMacWebKitApp(File::Spec-&gt;catfile(productDir(), &quot;MiniBrowser.app&quot;, &quot;Contents&quot;, &quot;MacOS&quot;, &quot;MiniBrowser&quot;)); # This call never returns.
&gt; 
&gt; Nit: Might be nice to think of a name for debugMacWebKitApp() that removes the need for the comment.  Like execMacWebKitAppForDebugging()?

Will rename debugMacWebKitApp() to execMacWebKitAppForDebugging() since execMacWebKitAppForDebugging() better describes the behavior of this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484615</commentid>
    <comment_count>8</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-10-15 12:33:36 -0700</bug_when>
    <thetext>Committed r97562: &lt;http://trac.webkit.org/changeset/97562&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108105</attachid>
            <date>2011-09-20 20:38:59 -0700</date>
            <delta_ts>2011-10-09 20:55:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68499-20110920203856.patch</filename>
            <type>text/plain</type>
            <size>9596</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDk1NTkwKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMzAgQEAKKzIwMTEtMDktMjAgIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQub3JnPgor
CisgICAgICAgIEV4dHJhY3QgY29tbW9uIGdkYiBjb2RlIGludG8gaXRzIG93biBmdW5jdGlvbjsg
UmVtb3ZlIHNjcmlwdCBnZGItc2FmYXJpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTkKKyAgICAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWxtb3N0IGlkZW50aWNhbCBjb2RlIGlzIHVzZWQgaW4gd2Vi
a2l0ZGlyczo6e2RlYnVnTWluaUJyb3dzZXIsIGRlYnVnV2ViS2l0VGVzdFJ1bm5lciwKKyAgICAg
ICAgcnVuU2FmYXJpfSgpIGFuZCBpbiB0aGUgc2NyaXB0IGdkYi1zYWZhcmkgdG8gbGF1bmNoIGdk
YiB0byBkZWJ1ZyBhbiBhcHBsaWNhdGlvbi4KKyAgICAgICAgV2Ugc2hvdWxkIGV4dHJhY3QgdGhl
IGNvbW1vbiBwYXJ0cyBpbnRvIGEgZnVuY3Rpb24gdGhhdCBjYW4gYmUgc2hhcmVkIGJ5IGFsbCBj
YWxsZXJzCisgICAgICAgIHNvIGFzIHRvIHJlbW92ZSBkdXBsaWNhdGUgY29kZS4KKworICAgICAg
ICBBcyBhIHNpZGUgZWZmZWN0IG9mIHJlbW92aW5nIGR1cGxpY2F0ZSBjb2RlIHdlIGNhbiByZW1v
dmUgdGhlIHNjcmlwdCBnZGItc2FmYXJpIHNpbmNlCisgICAgICAgIGl0cyBjb2RlIGhhcyBiZWVu
IGluY29ycG9yYXRlZCBpbnRvIHdlYmtpdGRpcnM6OmRlYnVnU2FmYXJpKCkgd2hpY2ggaXMgY2Fs
bGVkIGJ5IHRoZQorICAgICAgICBzY3JpcHQgZGVidWctc2FmYXJpLgorCisgICAgICAgICogU2Ny
aXB0cy9kZWJ1Zy1zYWZhcmk6IE1vZGlmaWVkIHRvIGNhbGwgd2Via2l0ZGlyczo6ZGVidWdTYWZh
cmkoKS4KKyAgICAgICAgKiBTY3JpcHRzL2dkYi1zYWZhcmk6IFJlbW92ZWQuCisgICAgICAgICog
U2NyaXB0cy93ZWJraXRkaXJzLnBtOiBTb3J0IGFuZCB3cml0ZSBARVhQT1JUcyB2ZXJ0aWNhbGx5
LgorICAgICAgICAoZGVidWdNYWNXZWJLaXRBcHApOiBBZGRlZDsgRXh0cmFjdGVkIGNvbW1vbiBk
ZWJ1Z2dpbmcgY29kZSBmcm9tCisgICAgICAgIGRlYnVnTWluaUJyb3dzZXIoKSwgZGVidWdXZWJL
aXRUZXN0UnVubmVyKCksIHJ1blNhZmFyaSgpIGFuZAorICAgICAgICBzY3JpcHQgZ2RiLXNhZmFy
aSB0byBoZXJlLgorICAgICAgICAoZGVidWdTYWZhcmkpOiBBZGRlZC4KKyAgICAgICAgKHJ1blNh
ZmFyaSk6IEV4dHJhY3RlZCBkZWJ1Z2dpbmcgY29kZSB0byBkZWJ1Z1NhZmFyaSgpIGFuZCBkZWJ1
Z01hY1dlYktpdEFwcCgpLgorICAgICAgICAoZGVidWdNaW5pQnJvd3Nlcik6IE1vZGlmaWVkIHRv
IGNhbGwgZGVidWdNYWNXZWJLaXRBcHAoKS4KKyAgICAgICAgKGRlYnVnV2ViS2l0VGVzdFJ1bm5l
cik6IERpdHRvLgorCiAyMDExLTA5LTIwICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4K
IAogICAgICAgICBbTlJXVF0gUkVHUkVTU0lPTjogTG9jYWwgbG9hZGVyIHRlc3RzIGFyZSBmYWls
aW5nIG9uIG1hY2hpbmVzIHRoYXQgbG9zdCAvdG1wL0xheW91dFRlc3RzIHN5bWxpbmsKSW5kZXg6
IFRvb2xzL1NjcmlwdHMvZGVidWctc2FmYXJpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMv
ZGVidWctc2FmYXJpCShyZXZpc2lvbiA5NTU5MCkKKysrIFRvb2xzL1NjcmlwdHMvZGVidWctc2Fm
YXJpCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw0ICszNSw0IEBAIHVzZSB3ZWJraXRkaXJzOwogCiBz
ZXRDb25maWd1cmF0aW9uKCk7CiAKLWV4aXQgZXhpdFN0YXR1cyhydW5TYWZhcmkoMSkpOworZXhp
dCBleGl0U3RhdHVzKGRlYnVnU2FmYXJpKCkpOwpJbmRleDogVG9vbHMvU2NyaXB0cy9nZGItc2Fm
YXJpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvZ2RiLXNhZmFyaQkocmV2aXNpb24gOTU1
OTApCisrKyBUb29scy9TY3JpcHRzL2dkYi1zYWZhcmkJKHdvcmtpbmcgY29weSkKQEAgLTEsNTMg
KzAsMCBAQAotIyEvdXNyL2Jpbi9wZXJsIC13Ci0KLSMgQ29weXJpZ2h0IChDKSAyMDA1IEFwcGxl
IENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0jIGFyZSBtZXQ6Ci0jCi0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKLSMgMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKLSMgMy4gIE5l
aXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUg
bmFtZXMgb2YKLSMgICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSMgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCi0jCi0jIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCi0jIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQKLSMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotIyBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCi0jIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0jIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSMgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5ECi0jIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0jIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotIyBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotCi0jIFNpbXBsaWZpZWQgInJ1biB1bmRlciBnZGIiIHNjcmlwdCBmb3IgV2ViS2l0
IE9wZW4gU291cmNlIFByb2plY3QuCi0KLXVzZSBzdHJpY3Q7Ci11c2UgRmlsZTo6VGVtcCBxdy86
bWt0ZW1wLzsKLXVzZSBGaW5kQmluOwotdXNlIGxpYiAkRmluZEJpbjo6QmluOwotdXNlIHdlYmtp
dGRpcnM7Ci0KLXNldENvbmZpZ3VyYXRpb24oKTsKLW15ICRwcm9kdWN0RGlyID0gcHJvZHVjdERp
cigpOwotbXkgJHNhZmFyaVBhdGggPSBzYWZhcmlQYXRoKCk7Ci0KLSMgQ2hlY2sgdG8gc2VlIHRo
YXQgZ2RiIGlzIGluIHRoZSB1c3VhbCBwbGFjZS4KLW15ICRnZGJQYXRoID0gIi91c3IvYmluL2dk
YiI7Ci1kaWUgIkNhbid0IGZpbmQgZ2RiIGV4ZWN1dGFibGUuIElzIGdkYiBpbnN0YWxsZWQ/XG4i
IHVubGVzcyAteCAkZ2RiUGF0aDsKLQotIyBDaGVjayB0byBzZWUgdGhhdCBhbGwgdGhlIGZyYW1l
d29ya3MgYXJlIGJ1aWx0LgotY2hlY2tGcmFtZXdvcmtzKCk7Ci0KLSRFTlZ7RFlMRF9GUkFNRVdP
UktfUEFUSH0gPSAkcHJvZHVjdERpcjsKLSRFTlZ7V0VCS0lUX1VOU0VUX0RZTERfRlJBTUVXT1JL
X1BBVEh9ID0gJ1lFUyc7Ci0KLXByaW50ICJTdGFydGluZyBTYWZhcmkgdW5kZXIgZ2RiIHdpdGgg
RFlMRF9GUkFNRVdPUktfUEFUSCBzZXQgdG8gcG9pbnQgdG8gYnVpbHQgV2ViS2l0IGluICRwcm9k
dWN0RGlyLlxuIjsKLW15IEBhcmNoaXRlY3R1cmVGbGFncyA9ICgiLWFyY2giLCBhcmNoaXRlY3R1
cmUoKSk7Ci1leGVjICRnZGJQYXRoLCBAYXJjaGl0ZWN0dXJlRmxhZ3MsICItLWFyZyIsICRzYWZh
cmlQYXRoLCBAQVJHViBvciBkaWU7CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCShyZXZpc2lvbiA5NTU5
MCkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQkod29ya2luZyBjb3B5KQpAQCAtNDMs
NyArNDMsMjEgQEAgQkVHSU4gewogICAgb3VyICgkVkVSU0lPTiwgQElTQSwgQEVYUE9SVCwgQEVY
UE9SVF9PSywgJUVYUE9SVF9UQUdTKTsKICAgICRWRVJTSU9OICAgICA9IDEuMDA7CiAgICBASVNB
ICAgICAgICAgPSBxdyhFeHBvcnRlcik7Ci0gICBARVhQT1JUICAgICAgPSBxdygmY2hkaXJXZWJL
aXQgJmJhc2VQcm9kdWN0RGlyICZwcm9kdWN0RGlyICZYY29kZU9wdGlvbnMgJlhjb2RlT3B0aW9u
U3RyaW5nICZYY29kZU9wdGlvblN0cmluZ05vQ29uZmlnICZwYXNzZWRDb25maWd1cmF0aW9uICZz
ZXRDb25maWd1cmF0aW9uICZzYWZhcmlQYXRoICZjaGVja0ZyYW1ld29ya3MgJmN1cnJlbnRTVk5S
ZXZpc2lvbik7CisgICBARVhQT1JUICAgICAgPSBxdygKKyAgICAgICAmWGNvZGVPcHRpb25TdHJp
bmcKKyAgICAgICAmWGNvZGVPcHRpb25TdHJpbmdOb0NvbmZpZworICAgICAgICZYY29kZU9wdGlv
bnMKKyAgICAgICAmYmFzZVByb2R1Y3REaXIKKyAgICAgICAmY2hkaXJXZWJLaXQKKyAgICAgICAm
Y2hlY2tGcmFtZXdvcmtzCisgICAgICAgJmN1cnJlbnRTVk5SZXZpc2lvbgorICAgICAgICZkZWJ1
Z1NhZmFyaQorICAgICAgICZwYXNzZWRDb25maWd1cmF0aW9uCisgICAgICAgJnByb2R1Y3REaXIK
KyAgICAgICAmcnVuU2FmYXJpCisgICAgICAgJnNhZmFyaVBhdGgKKyAgICAgICAmc2V0Q29uZmln
dXJhdGlvbgorICAgKTsKICAgICVFWFBPUlRfVEFHUyA9ICggKTsKICAgIEBFWFBPUlRfT0sgICA9
ICgpOwogfQpAQCAtMTk5NCwxMyArMjAwOCw0MiBAQCBzdWIgc2V0UGF0aEZvclJ1bm5pbmdXZWJL
aXRBcHAKICAgICB9CiB9CiAKLXN1YiBydW5TYWZhcmkKK3N1YiBkZWJ1Z01hY1dlYktpdEFwcCgk
KQogewotICAgIG15ICgkZGVidWdnZXIpID0gQF87CisgICAgbXkgKCRhcHBQYXRoKSA9IEBfOwor
CisgICAgbXkgJGdkYlBhdGggPSAiL3Vzci9iaW4vZ2RiIjsKKyAgICBkaWUgIkNhbid0IGZpbmQg
Z2RiIGV4ZWN1dGFibGUuIElzIGdkYiBpbnN0YWxsZWQ/XG4iIHVubGVzcyAteCAkZ2RiUGF0aDsK
IAorICAgIG15ICRwcm9kdWN0RGlyID0gcHJvZHVjdERpcigpOworICAgICRFTlZ7RFlMRF9GUkFN
RVdPUktfUEFUSH0gPSAkcHJvZHVjdERpcjsKKyAgICAkRU5We1dFQktJVF9VTlNFVF9EWUxEX0ZS
QU1FV09SS19QQVRIfSA9ICJZRVMiOworCisgICAgcHJpbnQgIlN0YXJ0aW5nIEB7W2Jhc2VuYW1l
KCRhcHBQYXRoKV19IHVuZGVyIGdkYiB3aXRoIERZTERfRlJBTUVXT1JLX1BBVEggc2V0IHRvIHBv
aW50IHRvIGJ1aWx0IFdlYktpdCBpbiAkcHJvZHVjdERpci5cbiI7CisgICAgbXkgQGFyY2hpdGVj
dHVyZUZsYWdzID0gKCItYXJjaCIsIGFyY2hpdGVjdHVyZSgpKTsKKyAgICBleGVjICRnZGJQYXRo
LCBAYXJjaGl0ZWN0dXJlRmxhZ3MsICRhcHBQYXRoIG9yIGRpZTsKK30KKworc3ViIGRlYnVnU2Fm
YXJpCit7CiAgICAgaWYgKGlzQXBwbGVNYWNXZWJLaXQoKSkgewotICAgICAgICByZXR1cm4gc3lz
dGVtICIkRmluZEJpbjo6QmluL2dkYi1zYWZhcmkiLCBhcmd1bWVudHNGb3JDb25maWd1cmF0aW9u
KCkgaWYgJGRlYnVnZ2VyOworICAgICAgICBjaGVja0ZyYW1ld29ya3MoKTsKKyAgICAgICAgZGVi
dWdNYWNXZWJLaXRBcHAoc2FmYXJpUGF0aCgpKTsgIyBUaGlzIGNhbGwgbmV2ZXIgcmV0dXJucy4K
KyAgICB9CisKKyAgICBpZiAoaXNBcHBsZVdpbldlYktpdCgpKSB7CisgICAgICAgIHNldHVwQ3ln
d2luRW52KCk7ICMgRGVmaW5lcyAkdmNCdWlsZFBhdGgKKyAgICAgICAgbXkgJHByb2R1Y3REaXIg
PSBwcm9kdWN0RGlyKCk7CisgICAgICAgIGNob21wKCRFTlZ7V0VCS0lUTklHSFRMWX0gPSBgY3ln
cGF0aCAtd2EgIiRwcm9kdWN0RGlyImApOworICAgICAgICBteSAkc2FmYXJpUGF0aCA9IHNhZmFy
aVBhdGgoKTsKKyAgICAgICAgY2hvbXAoJHNhZmFyaVBhdGggPSBgY3lncGF0aCAtd2EgIiRzYWZh
cmlQYXRoImApOworICAgICAgICByZXR1cm4gc3lzdGVtICR2Y0J1aWxkUGF0aCwgIi9kZWJ1Z2V4
ZSIsICJcIiRzYWZhcmlQYXRoXCIiLCBAQVJHVjsKKyAgICB9Cit9CiAKK3N1YiBydW5TYWZhcmkK
K3sKKyAgICBpZiAoaXNBcHBsZU1hY1dlYktpdCgpKSB7CiAgICAgICAgIG15ICRwcm9kdWN0RGly
ID0gcHJvZHVjdERpcigpOwogICAgICAgICBwcmludCAiU3RhcnRpbmcgU2FmYXJpIHdpdGggRFlM
RF9GUkFNRVdPUktfUEFUSCBzZXQgdG8gcG9pbnQgdG8gYnVpbHQgV2ViS2l0IGluICRwcm9kdWN0
RGlyLlxuIjsKICAgICAgICAgJEVOVntEWUxEX0ZSQU1FV09SS19QQVRIfSA9ICRwcm9kdWN0RGly
OwpAQCAtMjAxMywxOCArMjA1Niw3IEBAIHN1YiBydW5TYWZhcmkKICAgICB9CiAKICAgICBpZiAo
aXNBcHBsZVdpbldlYktpdCgpKSB7Ci0gICAgICAgIG15ICRyZXN1bHQ7Ci0gICAgICAgIG15ICRw
cm9kdWN0RGlyID0gcHJvZHVjdERpcigpOwotICAgICAgICBpZiAoJGRlYnVnZ2VyKSB7Ci0gICAg
ICAgICAgICBzZXR1cEN5Z3dpbkVudigpOwotICAgICAgICAgICAgY2hvbXAoJEVOVntXRUJLSVRO
SUdIVExZfSA9IGBjeWdwYXRoIC13YSAiJHByb2R1Y3REaXIiYCk7Ci0gICAgICAgICAgICBteSAk
c2FmYXJpUGF0aCA9IHNhZmFyaVBhdGgoKTsKLSAgICAgICAgICAgIGNob21wKCRzYWZhcmlQYXRo
ID0gYGN5Z3BhdGggLXdhICIkc2FmYXJpUGF0aCJgKTsKLSAgICAgICAgICAgICRyZXN1bHQgPSBz
eXN0ZW0gJHZjQnVpbGRQYXRoLCAiL2RlYnVnZXhlIiwgIlwiJHNhZmFyaVBhdGhcIiIsIEBBUkdW
OwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgJHJlc3VsdCA9IHN5c3RlbSBGaWxlOjpT
cGVjLT5jYXRmaWxlKHByb2R1Y3REaXIoKSwgIldlYktpdC5leGUiKSwgQEFSR1Y7Ci0gICAgICAg
IH0KLSAgICAgICAgcmV0dXJuICRyZXN1bHQgaWYgJHJlc3VsdDsKKyAgICAgICAgcmV0dXJuIHN5
c3RlbSBGaWxlOjpTcGVjLT5jYXRmaWxlKHByb2R1Y3REaXIoKSwgIldlYktpdC5leGUiKSwgQEFS
R1Y7CiAgICAgfQogCiAgICAgcmV0dXJuIDE7CkBAIC0yMDUxLDIyICsyMDgzLDggQEAgc3ViIHJ1
bk1pbmlCcm93c2VyCiBzdWIgZGVidWdNaW5pQnJvd3NlcgogewogICAgIGlmIChpc0FwcGxlTWFj
V2ViS2l0KCkpIHsKLSAgICAgICAgbXkgJGdkYlBhdGggPSAiL3Vzci9iaW4vZ2RiIjsKLSAgICAg
ICAgZGllICJDYW4ndCBmaW5kIGdkYiBleGVjdXRhYmxlLiBJcyBnZGIgaW5zdGFsbGVkP1xuIiB1
bmxlc3MgLXggJGdkYlBhdGg7Ci0KLSAgICAgICAgbXkgJHByb2R1Y3REaXIgPSBwcm9kdWN0RGly
KCk7Ci0KLSAgICAgICAgJEVOVntEWUxEX0ZSQU1FV09SS19QQVRIfSA9ICRwcm9kdWN0RGlyOwot
ICAgICAgICAkRU5We1dFQktJVF9VTlNFVF9EWUxEX0ZSQU1FV09SS19QQVRIfSA9ICdZRVMnOwot
Ci0gICAgICAgIG15ICRtaW5pQnJvd3NlclBhdGggPSAiJHByb2R1Y3REaXIvTWluaUJyb3dzZXIu
YXBwL0NvbnRlbnRzL01hY09TL01pbmlCcm93c2VyIjsKLQotICAgICAgICBwcmludCAiU3RhcnRp
bmcgTWluaUJyb3dzZXIgdW5kZXIgZ2RiIHdpdGggRFlMRF9GUkFNRVdPUktfUEFUSCBzZXQgdG8g
cG9pbnQgdG8gYnVpbHQgV2ViS2l0MiBpbiAkcHJvZHVjdERpci5cbiI7Ci0gICAgICAgIG15IEBh
cmNoaXRlY3R1cmVGbGFncyA9ICgiLWFyY2giLCBhcmNoaXRlY3R1cmUoKSk7Ci0gICAgICAgIGV4
ZWMgJGdkYlBhdGgsIEBhcmNoaXRlY3R1cmVGbGFncywgJG1pbmlCcm93c2VyUGF0aCBvciBkaWU7
Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgZGVidWdNYWNXZWJLaXRBcHAoRmlsZTo6U3BlYy0+
Y2F0ZmlsZShwcm9kdWN0RGlyKCksICJNaW5pQnJvd3Nlci5hcHAiLCAiQ29udGVudHMiLCAiTWFj
T1MiLCAiTWluaUJyb3dzZXIiKSk7ICMgVGhpcyBjYWxsIG5ldmVyIHJldHVybnMuCiAgICAgfQot
ICAgIAogICAgIHJldHVybiAxOwogfQogCkBAIC0yMDk4LDIxICsyMTE2LDggQEAgc3ViIHJ1bldl
YktpdFRlc3RSdW5uZXIKIHN1YiBkZWJ1Z1dlYktpdFRlc3RSdW5uZXIKIHsKICAgICBpZiAoaXNB
cHBsZU1hY1dlYktpdCgpKSB7Ci0gICAgICAgIG15ICRnZGJQYXRoID0gIi91c3IvYmluL2dkYiI7
Ci0gICAgICAgIGRpZSAiQ2FuJ3QgZmluZCBnZGIgZXhlY3V0YWJsZS4gSXMgZ2RiIGluc3RhbGxl
ZD9cbiIgdW5sZXNzIC14ICRnZGJQYXRoOwotCi0gICAgICAgIG15ICRwcm9kdWN0RGlyID0gcHJv
ZHVjdERpcigpOwotICAgICAgICAkRU5We0RZTERfRlJBTUVXT1JLX1BBVEh9ID0gJHByb2R1Y3RE
aXI7Ci0gICAgICAgICRFTlZ7V0VCS0lUX1VOU0VUX0RZTERfRlJBTUVXT1JLX1BBVEh9ID0gJ1lF
Uyc7Ci0KLSAgICAgICAgbXkgJHdlYktpdFRlc3RSdW5uZXJQYXRoID0gIiRwcm9kdWN0RGlyL1dl
YktpdFRlc3RSdW5uZXIiOwotCi0gICAgICAgIHByaW50ICJTdGFydGluZyBXZWJLaXRUZXN0UnVu
bmVyIHVuZGVyIGdkYiB3aXRoIERZTERfRlJBTUVXT1JLX1BBVEggc2V0IHRvIHBvaW50IHRvICRw
cm9kdWN0RGlyLlxuIjsKLSAgICAgICAgbXkgQGFyY2hpdGVjdHVyZUZsYWdzID0gKCItYXJjaCIs
IGFyY2hpdGVjdHVyZSgpKTsKLSAgICAgICAgZXhlYyAkZ2RiUGF0aCwgQGFyY2hpdGVjdHVyZUZs
YWdzLCAkd2ViS2l0VGVzdFJ1bm5lclBhdGggb3IgZGllOwotICAgICAgICByZXR1cm47CisgICAg
ICAgIGRlYnVnTWFjV2ViS2l0QXBwKEZpbGU6OlNwZWMtPmNhdGZpbGUocHJvZHVjdERpcigpLCAi
V2ViS2l0VGVzdFJ1bm5lciIpKTsgIyBUaGlzIGNhbGwgbmV2ZXIgcmV0dXJucy4KICAgICB9Ci0K
ICAgICByZXR1cm4gMTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110321</attachid>
            <date>2011-10-09 20:55:33 -0700</date>
            <delta_ts>2011-10-14 11:34:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Bug68499.patch</filename>
            <type>text/plain</type>
            <size>8994</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDk3MDM4KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMzAgQEAKKzIwMTEtMTAtMDkgIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQub3JnPgor
CisgICAgICAgIEV4dHJhY3QgY29tbW9uIGdkYiBjb2RlIGludG8gaXRzIG93biBmdW5jdGlvbjsg
UmVtb3ZlIHNjcmlwdCBnZGItc2FmYXJpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02ODQ5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFsbW9zdCBpZGVudGljYWwgY29kZSBpcyB1c2VkIGluIHdlYmtpdGRp
cnM6OntkZWJ1Z01pbmlCcm93c2VyLCBkZWJ1Z1dlYktpdFRlc3RSdW5uZXIsCisgICAgICAgIHJ1
blNhZmFyaX0oKSBhbmQgaW4gdGhlIHNjcmlwdCBnZGItc2FmYXJpIHRvIGxhdW5jaCBnZGIgdG8g
ZGVidWcgYW4gYXBwbGljYXRpb24uCisgICAgICAgIFdlIHNob3VsZCBleHRyYWN0IHRoZSBjb21t
b24gcGFydHMgaW50byBhIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHNoYXJlZCBieSBhbGwgY2FsbGVy
cworICAgICAgICBzbyBhcyB0byByZW1vdmUgZHVwbGljYXRlIGNvZGUuCisKKyAgICAgICAgQXMg
YSBzaWRlIGVmZmVjdCBvZiByZW1vdmluZyBkdXBsaWNhdGUgY29kZSB3ZSBjYW4gcmVtb3ZlIHRo
ZSBzY3JpcHQgZ2RiLXNhZmFyaSBzaW5jZQorICAgICAgICBpdHMgY29kZSBoYXMgYmVlbiBpbmNv
cnBvcmF0ZWQgaW50byB3ZWJraXRkaXJzOjpkZWJ1Z1NhZmFyaSgpIHdoaWNoIGlzIGNhbGxlZCBi
eSB0aGUKKyAgICAgICAgc2NyaXB0IGRlYnVnLXNhZmFyaS4KKworICAgICAgICAqIFNjcmlwdHMv
ZGVidWctc2FmYXJpOiBNb2RpZmllZCB0byBjYWxsIHdlYmtpdGRpcnM6OmRlYnVnU2FmYXJpKCku
CisgICAgICAgICogU2NyaXB0cy9nZGItc2FmYXJpOiBSZW1vdmVkLgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0ZGlycy5wbToKKyAgICAgICAgKGRlYnVnTWFjV2ViS2l0QXBwKTogQWRkZWQ7IEV4
dHJhY3RlZCBjb21tb24gZGVidWdnaW5nIGNvZGUgZnJvbQorICAgICAgICBkZWJ1Z01pbmlCcm93
c2VyKCksIGRlYnVnV2ViS2l0VGVzdFJ1bm5lcigpLCBydW5TYWZhcmkoKSBhbmQKKyAgICAgICAg
c2NyaXB0IGdkYi1zYWZhcmkgdG8gaGVyZS4KKyAgICAgICAgKGRlYnVnU2FmYXJpKTogQWRkZWQu
CisgICAgICAgIChydW5TYWZhcmkpOiBFeHRyYWN0ZWQgZGVidWdnaW5nIGNvZGUgdG8gZGVidWdT
YWZhcmkoKSBhbmQgZGVidWdNYWNXZWJLaXRBcHAoKS4KKyAgICAgICAgKGRlYnVnTWluaUJyb3dz
ZXIpOiBNb2RpZmllZCB0byBjYWxsIGRlYnVnTWFjV2ViS2l0QXBwKCkuCisgICAgICAgIChkZWJ1
Z1dlYktpdFRlc3RSdW5uZXIpOiBEaXR0by4KKwogMjAxMS0xMC0wOSAgQWRhbSBCYXJ0aCAgPGFi
YXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSAibmVhciBtaXNzIiBYU1MgdnVsbmVy
YWJpbGl0aWVzIGluIGdhcmRlbi1vLW1hdGljCkluZGV4OiBUb29scy9TY3JpcHRzL2RlYnVnLXNh
ZmFyaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2RlYnVnLXNhZmFyaQkocmV2aXNpb24g
OTcwMzIpCisrKyBUb29scy9TY3JpcHRzL2RlYnVnLXNhZmFyaQkod29ya2luZyBjb3B5KQpAQCAt
MzUsNCArMzUsNCBAQCB1c2Ugd2Via2l0ZGlyczsKIAogc2V0Q29uZmlndXJhdGlvbigpOwogCi1l
eGl0IGV4aXRTdGF0dXMocnVuU2FmYXJpKDEpKTsKK2V4aXQgZXhpdFN0YXR1cyhkZWJ1Z1NhZmFy
aSgpKTsKSW5kZXg6IFRvb2xzL1NjcmlwdHMvZ2RiLXNhZmFyaQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9TY3JpcHRzL2dkYi1zYWZhcmkJKHJldmlzaW9uIDk3MDMyKQorKysgVG9vbHMvU2NyaXB0cy9n
ZGItc2FmYXJpCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUzICswLDAgQEAKLSMhL3Vzci9iaW4vcGVy
bCAtdwotCi0jIENvcHlyaWdodCAoQykgMjAwNSBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotIyBhcmUgbWV0Ogot
IwotIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCi0jIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCi0jIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxl
IENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCi0jICAgICBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkCi0jICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uIAotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotIyBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
Ci0jIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKLSMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotIyBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UwotIyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0jIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotIyBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSMgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotIyBTaW1wbGlmaWVk
ICJydW4gdW5kZXIgZ2RiIiBzY3JpcHQgZm9yIFdlYktpdCBPcGVuIFNvdXJjZSBQcm9qZWN0Lgot
Ci11c2Ugc3RyaWN0OwotdXNlIEZpbGU6OlRlbXAgcXcvOm1rdGVtcC87Ci11c2UgRmluZEJpbjsK
LXVzZSBsaWIgJEZpbmRCaW46OkJpbjsKLXVzZSB3ZWJraXRkaXJzOwotCi1zZXRDb25maWd1cmF0
aW9uKCk7Ci1teSAkcHJvZHVjdERpciA9IHByb2R1Y3REaXIoKTsKLW15ICRzYWZhcmlQYXRoID0g
c2FmYXJpUGF0aCgpOwotCi0jIENoZWNrIHRvIHNlZSB0aGF0IGdkYiBpcyBpbiB0aGUgdXN1YWwg
cGxhY2UuCi1teSAkZ2RiUGF0aCA9ICIvdXNyL2Jpbi9nZGIiOwotZGllICJDYW4ndCBmaW5kIGdk
YiBleGVjdXRhYmxlLiBJcyBnZGIgaW5zdGFsbGVkP1xuIiB1bmxlc3MgLXggJGdkYlBhdGg7Ci0K
LSMgQ2hlY2sgdG8gc2VlIHRoYXQgYWxsIHRoZSBmcmFtZXdvcmtzIGFyZSBidWlsdC4KLWNoZWNr
RnJhbWV3b3JrcygpOwotCi0kRU5We0RZTERfRlJBTUVXT1JLX1BBVEh9ID0gJHByb2R1Y3REaXI7
Ci0kRU5We1dFQktJVF9VTlNFVF9EWUxEX0ZSQU1FV09SS19QQVRIfSA9ICdZRVMnOwotCi1wcmlu
dCAiU3RhcnRpbmcgU2FmYXJpIHVuZGVyIGdkYiB3aXRoIERZTERfRlJBTUVXT1JLX1BBVEggc2V0
IHRvIHBvaW50IHRvIGJ1aWx0IFdlYktpdCBpbiAkcHJvZHVjdERpci5cbiI7Ci1teSBAYXJjaGl0
ZWN0dXJlRmxhZ3MgPSAoIi1hcmNoIiwgYXJjaGl0ZWN0dXJlKCkpOwotZXhlYyAkZ2RiUGF0aCwg
QGFyY2hpdGVjdHVyZUZsYWdzLCAiLS1hcmciLCAkc2FmYXJpUGF0aCwgQEFSR1Ygb3IgZGllOwpJ
bmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Nj
cmlwdHMvd2Via2l0ZGlycy5wbQkocmV2aXNpb24gOTcwMzIpCisrKyBUb29scy9TY3JpcHRzL3dl
YmtpdGRpcnMucG0JKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDcgQEAgQkVHSU4gewogICAg
ICAgICZjaGRpcldlYktpdAogICAgICAgICZjaGVja0ZyYW1ld29ya3MKICAgICAgICAmY3VycmVu
dFNWTlJldmlzaW9uCisgICAgICAgJmRlYnVnU2FmYXJpCiAgICAgICAgJnBhc3NlZENvbmZpZ3Vy
YXRpb24KICAgICAgICAmcHJvZHVjdERpcgogICAgICAgICZydW5NYWNXZWJLaXRBcHAKQEAgLTIw
MzUsMzEgKzIwMzYsNTIgQEAgc3ViIHJ1bk1hY1dlYktpdEFwcCgkOyQpCiAgICAgcmV0dXJuIHN5
c3RlbSB7ICRhcHBQYXRoIH0gJGFwcFBhdGgsIEBBUkdWOwogfQogCitzdWIgZGVidWdNYWNXZWJL
aXRBcHAoJCkKK3sKKyAgICBteSAoJGFwcFBhdGgpID0gQF87CisKKyAgICBteSAkZ2RiUGF0aCA9
ICIvdXNyL2Jpbi9nZGIiOworICAgIGRpZSAiQ2FuJ3QgZmluZCBnZGIgZXhlY3V0YWJsZS4gSXMg
Z2RiIGluc3RhbGxlZD9cbiIgdW5sZXNzIC14ICRnZGJQYXRoOworCisgICAgbXkgJHByb2R1Y3RE
aXIgPSBwcm9kdWN0RGlyKCk7CisgICAgcHJpbnQgIlN0YXJ0aW5nIEB7W2Jhc2VuYW1lKCRhcHBQ
YXRoKV19IHVuZGVyIGdkYiB3aXRoIERZTERfRlJBTUVXT1JLX1BBVEggc2V0IHRvIHBvaW50IHRv
IGJ1aWx0IFdlYktpdCBpbiAkcHJvZHVjdERpci5cbiI7CisgICAgJEVOVntEWUxEX0ZSQU1FV09S
S19QQVRIfSA9ICRwcm9kdWN0RGlyOworICAgICRFTlZ7V0VCS0lUX1VOU0VUX0RZTERfRlJBTUVX
T1JLX1BBVEh9ID0gIllFUyI7CisgICAgbXkgQGFyY2hpdGVjdHVyZUZsYWdzID0gKCItYXJjaCIs
IGFyY2hpdGVjdHVyZSgpKTsKKyAgICBleGVjIHsgJGdkYlBhdGggfSAkZ2RiUGF0aCwgQGFyY2hp
dGVjdHVyZUZsYWdzLCAkYXBwUGF0aCBvciBkaWU7Cit9CisKK3N1YiBkZWJ1Z1NhZmFyaQorewor
ICAgIGlmIChpc0FwcGxlTWFjV2ViS2l0KCkpIHsKKyAgICAgICAgY2hlY2tGcmFtZXdvcmtzKCk7
CisgICAgICAgIGRlYnVnTWFjV2ViS2l0QXBwKHNhZmFyaVBhdGgoKSk7ICMgVGhpcyBjYWxsIG5l
dmVyIHJldHVybnMuCisgICAgfQorCisgICAgaWYgKGlzQXBwbGVXaW5XZWJLaXQoKSkgeworICAg
ICAgICBzZXR1cEN5Z3dpbkVudigpOworICAgICAgICBteSAkcHJvZHVjdERpciA9IHByb2R1Y3RE
aXIoKTsKKyAgICAgICAgY2hvbXAoJEVOVntXRUJLSVROSUdIVExZfSA9IGBjeWdwYXRoIC13YSAi
JHByb2R1Y3REaXIiYCk7CisgICAgICAgIG15ICRzYWZhcmlQYXRoID0gc2FmYXJpUGF0aCgpOwor
ICAgICAgICBjaG9tcCgkc2FmYXJpUGF0aCA9IGBjeWdwYXRoIC13YSAiJHNhZmFyaVBhdGgiYCk7
CisgICAgICAgIHJldHVybiBzeXN0ZW0geyAkdmNCdWlsZFBhdGggfSAkdmNCdWlsZFBhdGgsICIv
ZGVidWdleGUiLCAiXCIkc2FmYXJpUGF0aFwiIiwgQEFSR1Y7CisgICAgfQorCisgICAgcmV0dXJu
IDE7Cit9CisKIHN1YiBydW5TYWZhcmkKIHsKLSAgICBteSAoJGRlYnVnZ2VyKSA9IEBfOwogCiAg
ICAgaWYgKGlzQXBwbGVNYWNXZWJLaXQoKSkgewotICAgICAgICBpZiAoJGRlYnVnZ2VyKSB7Ci0g
ICAgICAgICAgICByZXR1cm4gc3lzdGVtICIkRmluZEJpbjo6QmluL2dkYi1zYWZhcmkiLCBhcmd1
bWVudHNGb3JDb25maWd1cmF0aW9uKCk7Ci0gICAgICAgIH0KICAgICAgICAgcmV0dXJuIHJ1bk1h
Y1dlYktpdEFwcChzYWZhcmlQYXRoKCkpOwogICAgIH0KIAogICAgIGlmIChpc0FwcGxlV2luV2Vi
S2l0KCkpIHsKICAgICAgICAgbXkgJHJlc3VsdDsKICAgICAgICAgbXkgJHByb2R1Y3REaXIgPSBw
cm9kdWN0RGlyKCk7Ci0gICAgICAgIGlmICgkZGVidWdnZXIpIHsKLSAgICAgICAgICAgIHNldHVw
Q3lnd2luRW52KCk7Ci0gICAgICAgICAgICBjaG9tcCgkRU5We1dFQktJVE5JR0hUTFl9ID0gYGN5
Z3BhdGggLXdhICIkcHJvZHVjdERpciJgKTsKLSAgICAgICAgICAgIG15ICRzYWZhcmlQYXRoID0g
c2FmYXJpUGF0aCgpOwotICAgICAgICAgICAgY2hvbXAoJHNhZmFyaVBhdGggPSBgY3lncGF0aCAt
d2EgIiRzYWZhcmlQYXRoImApOwotICAgICAgICAgICAgJHJlc3VsdCA9IHN5c3RlbSAkdmNCdWls
ZFBhdGgsICIvZGVidWdleGUiLCAiXCIkc2FmYXJpUGF0aFwiIiwgQEFSR1Y7Ci0gICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICBteSAkd2ViS2l0TGF1bmNoZXJQYXRoID0gRmlsZTo6U3BlYy0+
Y2F0ZmlsZShwcm9kdWN0RGlyKCksICJXZWJLaXQuZXhlIik7Ci0gICAgICAgICAgICAkcmVzdWx0
ID0gc3lzdGVtIHsgJHdlYktpdExhdW5jaGVyUGF0aCB9ICR3ZWJLaXRMYXVuY2hlclBhdGgsIEBB
UkdWOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiAkcmVzdWx0IGlmICRyZXN1bHQ7CisgICAg
ICAgIG15ICR3ZWJLaXRMYXVuY2hlclBhdGggPSBGaWxlOjpTcGVjLT5jYXRmaWxlKHByb2R1Y3RE
aXIoKSwgIldlYktpdC5leGUiKTsKKyAgICAgICAgcmV0dXJuIHN5c3RlbSB7ICR3ZWJLaXRMYXVu
Y2hlclBhdGggfSAkd2ViS2l0TGF1bmNoZXJQYXRoLCBAQVJHVjsKICAgICB9CiAKICAgICByZXR1
cm4gMTsKQEAgLTIwNzcsMjAgKzIwOTksNyBAQCBzdWIgcnVuTWluaUJyb3dzZXIKIHN1YiBkZWJ1
Z01pbmlCcm93c2VyCiB7CiAgICAgaWYgKGlzQXBwbGVNYWNXZWJLaXQoKSkgewotICAgICAgICBt
eSAkZ2RiUGF0aCA9ICIvdXNyL2Jpbi9nZGIiOwotICAgICAgICBkaWUgIkNhbid0IGZpbmQgZ2Ri
IGV4ZWN1dGFibGUuIElzIGdkYiBpbnN0YWxsZWQ/XG4iIHVubGVzcyAteCAkZ2RiUGF0aDsKLQot
ICAgICAgICBteSAkcHJvZHVjdERpciA9IHByb2R1Y3REaXIoKTsKLQotICAgICAgICAkRU5We0RZ
TERfRlJBTUVXT1JLX1BBVEh9ID0gJHByb2R1Y3REaXI7Ci0gICAgICAgICRFTlZ7V0VCS0lUX1VO
U0VUX0RZTERfRlJBTUVXT1JLX1BBVEh9ID0gJ1lFUyc7Ci0KLSAgICAgICAgbXkgJG1pbmlCcm93
c2VyUGF0aCA9ICIkcHJvZHVjdERpci9NaW5pQnJvd3Nlci5hcHAvQ29udGVudHMvTWFjT1MvTWlu
aUJyb3dzZXIiOwotCi0gICAgICAgIHByaW50ICJTdGFydGluZyBNaW5pQnJvd3NlciB1bmRlciBn
ZGIgd2l0aCBEWUxEX0ZSQU1FV09SS19QQVRIIHNldCB0byBwb2ludCB0byBidWlsdCBXZWJLaXQy
IGluICRwcm9kdWN0RGlyLlxuIjsKLSAgICAgICAgbXkgQGFyY2hpdGVjdHVyZUZsYWdzID0gKCIt
YXJjaCIsIGFyY2hpdGVjdHVyZSgpKTsKLSAgICAgICAgZXhlYyAkZ2RiUGF0aCwgQGFyY2hpdGVj
dHVyZUZsYWdzLCAkbWluaUJyb3dzZXJQYXRoIG9yIGRpZTsKLSAgICAgICAgcmV0dXJuOworICAg
ICAgICBkZWJ1Z01hY1dlYktpdEFwcChGaWxlOjpTcGVjLT5jYXRmaWxlKHByb2R1Y3REaXIoKSwg
Ik1pbmlCcm93c2VyLmFwcCIsICJDb250ZW50cyIsICJNYWNPUyIsICJNaW5pQnJvd3NlciIpKTsg
IyBUaGlzIGNhbGwgbmV2ZXIgcmV0dXJucy4KICAgICB9CiAgICAgCiAgICAgcmV0dXJuIDE7CkBA
IC0yMTE1LDE5ICsyMTI0LDcgQEAgc3ViIHJ1bldlYktpdFRlc3RSdW5uZXIKIHN1YiBkZWJ1Z1dl
YktpdFRlc3RSdW5uZXIKIHsKICAgICBpZiAoaXNBcHBsZU1hY1dlYktpdCgpKSB7Ci0gICAgICAg
IG15ICRnZGJQYXRoID0gIi91c3IvYmluL2dkYiI7Ci0gICAgICAgIGRpZSAiQ2FuJ3QgZmluZCBn
ZGIgZXhlY3V0YWJsZS4gSXMgZ2RiIGluc3RhbGxlZD9cbiIgdW5sZXNzIC14ICRnZGJQYXRoOwot
Ci0gICAgICAgIG15ICRwcm9kdWN0RGlyID0gcHJvZHVjdERpcigpOwotICAgICAgICAkRU5We0RZ
TERfRlJBTUVXT1JLX1BBVEh9ID0gJHByb2R1Y3REaXI7Ci0gICAgICAgICRFTlZ7V0VCS0lUX1VO
U0VUX0RZTERfRlJBTUVXT1JLX1BBVEh9ID0gJ1lFUyc7Ci0KLSAgICAgICAgbXkgJHdlYktpdFRl
c3RSdW5uZXJQYXRoID0gIiRwcm9kdWN0RGlyL1dlYktpdFRlc3RSdW5uZXIiOwotCi0gICAgICAg
IHByaW50ICJTdGFydGluZyBXZWJLaXRUZXN0UnVubmVyIHVuZGVyIGdkYiB3aXRoIERZTERfRlJB
TUVXT1JLX1BBVEggc2V0IHRvIHBvaW50IHRvICRwcm9kdWN0RGlyLlxuIjsKLSAgICAgICAgbXkg
QGFyY2hpdGVjdHVyZUZsYWdzID0gKCItYXJjaCIsIGFyY2hpdGVjdHVyZSgpKTsKLSAgICAgICAg
ZXhlYyAkZ2RiUGF0aCwgQGFyY2hpdGVjdHVyZUZsYWdzLCAkd2ViS2l0VGVzdFJ1bm5lclBhdGgg
b3IgZGllOwotICAgICAgICByZXR1cm47CisgICAgICAgIGRlYnVnTWFjV2ViS2l0QXBwKEZpbGU6
OlNwZWMtPmNhdGZpbGUocHJvZHVjdERpcigpLCAiV2ViS2l0VGVzdFJ1bm5lciIpKTsgIyBUaGlz
IGNhbGwgbmV2ZXIgcmV0dXJucy4KICAgICB9CiAKICAgICByZXR1cm4gMTsK
</data>
<flag name="review"
          id="107809"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
          </attachment>
      

    </bug>

</bugzilla>