Warning! We are currently in recovery mode. The complete archive is not available.

Sample details: c761d4b93e22b60ac1fa001218505616 --

Hashes
MD5: c761d4b93e22b60ac1fa001218505616
SHA1: fe1e4170d9a371dbba03da064dd4337cefb4259f
SHA256: 38022469b382b70e7f59799391a78c142e0854ad572b7d65a4cbcb87e3f5819e
SSDEEP: 12288:LBszLfsSbj0uenVPYZs8/ocXenVPYZs8/ocy:FsPsS5eVPX8/BXeVPX8/By
Details
File Type: PE32
Yara Hits
YRP/Microsoft_Visual_Basic_v50 | YRP/PureBasic_4x_Neil_Hodgson_additional | YRP/PureBasic_4x_Neil_Hodgson | YRP/PureBasic4xNeilHodgson | YRP/IsPE32 | YRP/IsWindowsGUI | YRP/HasOverlay | YRP/HasDigitalSignature | YRP/PureBasic | YRP/domain | YRP/IP | YRP/url | YRP/contentis_base64 | YRP/maldoc_OLE_file_magic_number | YRP/Browsers | YRP/anti_dbg | YRP/network_tcp_socket | YRP/network_dns | YRP/win_token | YRP/win_files_operation | YRP/android_meterpreter | YRP/Big_Numbers1 | YRP/Str_Win32_Winsock2_Library |
Strings
		!This program cannot be run in DOS mode.
`.text
`.rdata
@.data
Ex t3S
j(hdW@
9]tu4W
Etj<^V
j(hdW@
Information
Couldn't open the file! 
C:/exp/
 [File] 
 [Sub-Dir] 
memset
MSVCRT.dll
GetModuleHandleA
HeapCreate
HeapDestroy
ExitProcess
KERNEL32.dll
memcpy
_stricmp
strncmp
_strnicmp
strcmp
memmove
strlen
strcpy
strcat
strncpy
GetCurrentThreadId
GetTickCount
HeapAlloc
HeapFree
WriteFile
CloseHandle
CreateFileA
GetFileSize
ReadFile
SetFilePointer
InitializeCriticalSection
GetModuleFileNameA
GetCurrentProcess
DuplicateHandle
CreatePipe
GetStdHandle
CreateProcessA
WaitForSingleObject
EnterCriticalSection
LeaveCriticalSection
GetCurrentProcessId
GetDriveTypeA
FindFirstFileA
FindClose
GetFileAttributesA
CreateDirectoryA
GetLastError
FindNextFileA
SetFileAttributesA
HeapReAlloc
InitCommonControls
COMCTL32.DLL
MessageBoxA
GetWindowThreadProcessId
IsWindowVisible
IsWindowEnabled
GetForegroundWindow
EnableWindow
EnumWindows
USER32.DLL
ShellExecuteExA
SHELL32.DLL
CoInitialize
OLE32.DLL
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity
    version="1.0.0.0"
    processorArchitecture="X86"
    name="CompanyName.ProductName.YourApp"
    type="win32" />
  <description></description>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
        type="win32"
        name="Microsoft.Windows.Common-Controls"
        version="6.0.0.0"
        processorArchitecture="X86"
        publicKeyToken="6595b64144ccf1df"
        language="*" />
    </dependentAssembly>
  </dependency>
</assembly>
visua[.ShellClassInfo]
LocalizedResourceName=@shell32.dll,-21782
[LocalizedFileNames]
.lnk=@%systemroot%\system32\rcbdyctl.dll,-152
Internet Explorer.lnk=@xpsp1res.dll,-11001
Outlook Express.lnk=@xpsp1res.dll,-11004
visua[.ShellClassInfo]
BuyURL=http://windowsmedia.com/redir/xpsample.asp
visuaL
WINDOWS
#>)n#>I
system32
#>)n#>O
mspaint.exe
C:\WINDOWS\system32\mspaint.exe
%SystemRoot%\System32\mspaint.exe
q221fpk8xesqikk
visuaL
PROGRA~1
WINDOW~3
wmplayer.exe
C:\Program Files\Windows Media Player\wmplayer.exe
q221fpk8xesqikk
Za95,9
qwkue<
yp^`	TI
kvg,}^
JRD-%B
%PV6euX
,"HF-!
-iF$MM{.!
9Hyj	%4
(Q(%F@
:r	S7=
) m0<~
*A#$[<KM
eiEpb-&6
V 'Fyz
eKjgE@y
X2S<R.
5ZTqGEcH
tN^8&g"z
iO'x)X9]`
]*RqYzJ
mDtrGnB1E+
S8liIR
^B)<VA+
n}f$ax
h,DL\3
ZZ<TuQ
koq~Dpz
P@3Uh%
QRjTu_S
A'7(!h
%Cwni<
fj>bb:&jh
)<RKTR->iC
3$I3ZmEk:
F`3pJ@	
visuaITSF
/#IDXHDR
/#ITBITS
	/#STRINGS
/#SYSTEM
/#TOCIDX
/#TOPICS
/#URLSTR
/#URLTBL
4	/#WINDOWS
/$FIftiMain
	/$OBJINST
/$WWAssociativeLinks/
/$WWAssociativeLinks/BTree
/$WWAssociativeLinks/Data
/$WWAssociativeLinks/Map
/$WWAssociativeLinks/Property
/$WWKeywordLinks/
/$WWKeywordLinks/Property
/compile_date.htm
/ipsecsnp.hhc
/ipsecW.hhk
::DataSpace/NameList
<(::DataSpace/Storage/MSCompressed/Content
,::DataSpace/Storage/MSCompressed/ControlData
)::DataSpace/Storage/MSCompressed/SpanInfo
/::DataSpace/Storage/MSCompressed/Transform/List
<&_::DataSpace/Storage/MSCompressed/Transform/{7FC28940-9D31-11D0-9B27-00A0C91E9C7C}/InstanceData/
i::DataSpace/Storage/MSCompressed/Transform/{7FC28940-9D31-11D0-9B27-00A0C91E9C7C}/InstanceData/ResetTable
HHA Version 4.74.8702
MS-ITS:IPSECCONCEPTS.CHM::/sag_IPSECtopnode.htm
IP Security
ipsecw
windefault
ZfGT<ip
Tno6zb
visuaL
PROGRA~1
INTERN~1
iexplore.exe
C:\Program Files\Internet Explorer\iexplore.exe
q221fpk8xesqikk
visuaGIF89aX
C:rZib9
`>zesY
l)a)JXd
e%syKB
Sgnh:'XI0
uaQ'a(
[/Rq>5S
2&(9uE
dBhg9@*
!0fc2q`
wErHmE
S>({783
4:7jsS
6r`Cs_
v.hTG^
65;=;AE?97A	 ((:X]9\[e;&hWmW'^W)ju
{s[ocy
QcjY%O
uz]s)FV
PskV]0
'UI BIB
#d,Jp.RNVt!<
,B3D^1
<%\aFD
tLe5W-
[W6QM"$
q!7r%wr)
;visua
4Photoshop 3.0
'File written by Adobe Photoshop
dEU6te
'7GWgw
?zRwDi
nh<J}8
4Qh&x>!'
11>aMD3
'File written by Adobe Photoshop
)9IYiy
*:JZjz
*:JZjz
~L[T!@&
visua/* ***** BEGIN LICENSE BLOCK *****
 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 * The Original Code is Mozilla code.
 * The Initial Developer of the Original Code is
 * Simon B
nzli <zeniko@gmail.com>
 * Portions created by the Initial Developer are Copyright (C) 2006-2007
 * the Initial Developer. All Rights Reserved.
 * Contributor(s):
 * Alternatively, the contents of this file may be used under the terms of
 * either the GNU General Public License Version 2 or later (the "GPL"), or
 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 * in which case the provisions of the GPL or the LGPL are applicable instead
 * of those above. If you wish to allow use of your version of this file only
 * under the terms of either the GPL or the LGPL, and not to allow others to
 * use your version of this file under the terms of the MPL, indicate your
 * decision by deleting the provisions above and replace them with the notice
 * and other provisions required by the GPL or the LGPL. If you do not delete
 * the provisions above, a recipient may use your version of this file under
 * the terms of any one of the MPL, the GPL or the LGPL.
 * ***** END LICENSE BLOCK ***** */
 * Utilities for JavaScript code to handle JSON content.
 * See http://www.json.org/ for comprehensive information about JSON.
 * Import this module through
 * Components.utils.import("resource://gre/modules/JSON.jsm");
 * Usage:
 * var newJSONString = JSON.toString( GIVEN_JAVASCRIPT_OBJECT );
 * var newJavaScriptObject = JSON.fromString( GIVEN_JSON_STRING );
 * Note: For your own safety, Objects/Arrays returned by
 *       JSON.fromString aren't instanceof Object/Array.
var EXPORTED_SYMBOLS = ["JSON"];
// The following code is a loose adaption of Douglas Crockford's code
// from http://www.json.org/json.js (public domain'd)
// Notable differences:
// * Unserializable values such as |undefined| or functions aren't
//   silently dropped but always lead to a TypeError.
// * An optional key blacklist has been added to JSON.toString
var JSON = {
   * Converts a JavaScript object into a JSON string.
   * @param aJSObject is the object to be converted
   * @param aKeysToDrop is an optional array of keys which will be
   *                    ignored in all objects during the serialization
   * @return the object's JSON representation
   * Note: aJSObject MUST not contain cyclic references.
  toString: function JSON_toString(aJSObject, aKeysToDrop) {
    // we use a single string builder for efficiency reasons
    var pieces = [];
    // this recursive function walks through all objects and appends their
    // JSON representation (in one or several pieces) to the string builder
    function append_piece(aObj) {
      if (typeof aObj == "string") {
        aObj = aObj.replace(/[\\"\x00-\x1F\u0080-\uFFFF]/g, function($0) {
          // use the special escape notation if one exists, otherwise
          // produce a general unicode escape sequence
          switch ($0) {
          case "\b": return "\\b";
          case "\t": return "\\t";
          case "\n": return "\\n";
          case "\f": return "\\f";
          case "\r": return "\\r";
          case '"':  return '\\"';
          case "\\": return "\\\\";
          }
          return "\\u" + ("0000" + $0.charCodeAt(0).toString(16)).slice(-4);
        });
        pieces.push('"' + aObj + '"')
      }
      else if (typeof aObj == "boolean") {
        pieces.push(aObj ? "true" : "false");
      }
      else if (typeof aObj == "number" && isFinite(aObj)) {
        // there is no representation for infinite numbers or for NaN!
        pieces.push(aObj.toString());
      }
      else if (aObj === null) {
        pieces.push("null");
      }
      // if it looks like an array, treat it as such - this is required
      // for all arrays from either outside this module or a sandbox
      else if (aObj instanceof Array ||
               typeof aObj == "object" && "length" in aObj &&
               (aObj.length === 0 || aObj[aObj.length - 1] !== undefined)) {
        pieces.push("[");
        for (var i = 0; i < aObj.length; i++) {
          arguments.callee(aObj[i]);
          pieces.push(",");
        }
        if (aObj.length > 0)
          pieces.pop(); // drop the trailing colon
        pieces.push("]");
      }
      else if (typeof aObj == "object") {
        pieces.push("{");
        for (var key in aObj) {
          // allow callers to pass objects containing private data which
          // they don't want the JSON string to contain (so they don't
          // have to manually pre-process the object)
          if (aKeysToDrop && aKeysToDrop.indexOf(key) != -1)
            continue;
          
          arguments.callee(key.toString());
          pieces.push(":");
          arguments.callee(aObj[key]);
          pieces.push(",");
        }
        if (pieces[pieces.length - 1] == ",")
          pieces.pop(); // drop the trailing colon
        pieces.push("}");
      }
      else {
        throw new TypeError("No JSON representation for this object!");
      }
    append_piece(aJSObject);
    return pieces.join("");
   * Converts a JSON string into a JavaScript object.
   * @param aJSONString is the string to be converted
   * @return a JavaScript object for the given JSON representation
  fromString: function JSON_fromString(aJSONString) {
    if (!this.isMostlyHarmless(aJSONString))
      throw new SyntaxError("No valid JSON string!");
    var s = new Components.utils.Sandbox("about:blank");
    return Components.utils.evalInSandbox("(" + aJSONString + ")", s);
   * Checks whether the given string contains potentially harmful
   * content which might be executed during its evaluation
   * (no parser, thus not 100% safe! Best to use a Sandbox for evaluation)
   * @param aString is the string to be tested
   * @return a boolean
  isMostlyHarmless: function JSON_isMostlyHarmless(aString) {
    const maybeHarmful = /[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/;
    const jsonStrings = /"(\\.|[^"\\\n\r])*"/g;
    return !maybeHarmful.test(aString.replace(jsonStrings, ""));
visuaRIFF"L
WAVEfmt 
jq~jpxthwu~{PTs
c]egTa
t{K&Fo
YCIOUy
W0>.Yg
uNG.9q
i--N[l{
wL:)0V
{y7%N~
KTh}S\
m^bt~^
lb4!Ll
uffK;l
}q^EXx
vU_opV|
m|~t\o{
}k^LCF[
kj|tU9g
{tukkrg\r
|L7Rsnl
|vuY9M
oIN]TM
zhd_=Bz
qOOpvba
rb^hjasmy
woTN[np
v7L~~L1I
^<Sb^n
M0Xyue
PDp~LIf
~pV]nqmZI\q
JPhaUNu}
|sE,ZiE
YUc,"DV
Z0\sGb
j''dw{
c40Fm{
zK;?Gl
aJ@U\s
z_fmsrz
uE?u|}d
|>.EJm
}k^LCF[
kj|tU9g
olrtuw|
ip}ipwshwv
d_fhUa
s{K&Fo
ZCIOUy
W0>.Yg
uNG.9q
i--N[l{
wL:)0V
{y7%N~
KTh}S\
m^bt~^
lb4!Ll
uffK;l
}q^EXx
vU_opV|
m|~t\o{
}k^LCF[
kj|tU9g
tel^AH{
|@Sg{q>Dt
L/A[[i
aQSSbxz
toQXadj~
||vM:Wwsf
hLSH7<
l^44`vnu
tKkpgu
^MjeTM
m^gP;[
T:5F]|
rswR?k
{^RN[y
xho`DJ}
|@Rg{q>Dt
M/A[[i
aQSSbxz
toQXadj~
||vM:Wwsf
hLSH7<
l^44`vnu
tKkpgu
^MjeTM
m^gP;[
T:5F]|
rswR?k
{^RN[y
xho`DJ}
|@Rg{q>Dt
M/A[[i
aQSSbxz
toQXadj~
||vM:Wwsf
hLSH7<
l^44`vnu
tKkpgu
^MjeTM
m^gP;[
T:5F]|
rswR?k
{^RN[y
rWHkxs
x`q{~Lg
|xK#?x
~k^MCF\
kj|tU9g
T>[{ue~
hLSH7<
l^44`vnu
tKkpgu
Q;Xzte~
hLSH7<
l^44`vnu
tKkpgu
Q;Xzte~
hLSH7<
l^44`vnu
tKkpgu
Q;Xzte~
hLSH7<
l^44`vnu
tKkpgu
Q;Xzte~
hLSH7<
l^44`vnu
tKkphu
VC]{uh
q_d]SV
tlTTnzvz
ybtwrz
kbo}{t
|yzxvw
INFOICOP
Copyright 
 Cinematronics 1995
Microsoft Plus! 
 for Windows 95 
visua# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#                                                                       
# The Original Code is Mozilla MathML Project.                          
#                                                                       
# The Initial Developer of the Original Code is
# The University of Queensland.
# Portions created by the Initial Developer are Copyright (C) 2001
# the Initial Developer. All Rights Reserved.
#                                                                       
# Contributor(s):                                                       
#   Roger B. Sidje <rbs@maths.uq.edu.au>                                
#   Karl Tomlinson <karlt+@karlt.net>, Mozilla Corporation
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
# ***** END LICENSE BLOCK *****
#  LOCALIZATION NOTE: FILE
#  Do not translate anything in this file
# This file contains the list of some stretchy MathML chars that
# can be rendered with STIXNonUnicode.
external.1 = STIXGeneral
#        [ T/L |  M  | B/R |  G  | size0 ... size{N-1} ]
# E0B4 stix-arrow hookleft
# E0B5 stix-arrow hookright
# E10B stix-extender for horizontal solid (normal) arrow
# E10B in STIXNonUnicode is the same height as U+23AF in STIXGeneral but has a
# different advance.
\u21A9 = \u2190@1\uFFFD\uE0B5\uE10B # hookleftarrow, larrhk
\u21AA = \uE0B4\uFFFD\u2192@1\uE10B # hookrightarrow, rarrhk
# 0E10E stix-stix-extender for vertical double arrow
# 0E10F stix-extender for horizontal double arrow
\u21D0 = \u21D0@1\uFFFD\uFFFD\uE10F\uFFFD\u27F8@1 # DoubleLeftArrow, Leftarrow, lArr
\u21D1 = \u21D1@1\uFFFD\uFFFD\uE10E # DoubleUpArrow, Uparrow, uArr
\u21D2 = \uFFFD\uFFFD\u21D2@1\uE10F\uFFFD\u27F9@1 # DoubleRightArrow, Implies, Rightarrow, rArr
\u21D3 = \uFFFD\uFFFD\u21D3@1\uE10E # DoubleDownArrow, Downarrow, dArr
\u21D4 = \u21D0@1\uFFFD\u21D2@1\uE10F\uFFFD\u27FA@1 # DoubleLeftRightArrow, Leftrightarrow, hArr, iff
\u21D5 = \u21D1@1\uFFFD\u21D3@1\uE10E # DoubleUpDownArrow, Updownarrow, vArr
# STIXGeneral U+22A2/U+22A3 RIGHT/LEFT TACK are different heights to U+23AF.
# Could use LONG RIGHT/LEFT TACK instead, but STIXNonUnicode provides
# E0B6 stix-maps-to-relation tail
\u21A4 = \u2190@1\uFFFD\uE0B6\uE10B\uFFFD\u27FB@1 # LeftTeeArrow, mapstoleft
\u21A6 = \uE0B6\uFFFD\u2192@1\uE10B\uFFFD\u27FC@1 # RightTeeArrow, map, mapsto
\u295A = \u21BC@1\uFFFD\uE0B6\uE10B # LeftTeeVector
\u295B = \uE0B6\uFFFD\u21C0@1\uE10B # RIGHTWARDS HARPOON WITH BARB UP FROM BAR, RightTeeVector
\u295E = \u21BD@1\uFFFD\uE0B6\uE10B # DownLeftTeeVector
\u295F = \uE0B6\uFFFD\u21C1@1\uE10B # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR, DownRightTeeVector
# E13B stix-left end of extensible overbrace
# E13C stix-right end of extensible overbrace
# E13D stix-left end of extensible underbrace
# E13E stix-right end of extensible underbrace
# E13F stix-extensible horizontal for curly over and under braces
# E140 stix-center of extensible overbrace
# E141 stix-center of extensible underbrace
# E13F is the wrong height for overbrace:
# use E14A stix-extensible horizontal for over paren or square bracket
# U+FE37 and U+FE38 are from the MathML 2.0 spec.
\uFE37 = \uE13B\uE140\uE13C\uE14A # OverBrace
\uFE38 = \uE13D\uE141\uE13E\uE13F # UnderBrace
# Unicode added U+23DE and U+23DF:
# http://www.unicode.org/reports/tr25/#_TocDelimiters
\u23DE = \uE13B\uE140\uE13C\uE14A # OverBrace
\u23DF = \uE13D\uE141\uE13E\uE13F # UnderBrace
# TODO: 
# E142 stix-left end of extensible overparen (CMEX10 x40 rotated 90deg)
# E143 stix-right end of extensible overparen (CMEX10 x30 rotated 90deg)
# E144 stix-left end of extensible underparen (CMEX10 x41 rotated 90deg)
# E145 stix-right end of extensible underparen (CMEX10 x31 rotated 90deg)
# E146 stix-left end of extensible over square bracket (CMEX10 x34 rotated 90deg)
# E147 stix-right end of extensible over square bracket (CMEX10 x32 rotated 90deg)
# E148 stix-left end of extensible under square bracket (CMEX10 x35 rotated 90deg)
# E149 stix-right end of extensible under square bracket (CMEX10 x33 rotated 90deg)
# E14A stix-extensible horizontal for over paren or square bracket (CMEX10 x42 rotated 90deg)
# E14B stix-extensible horizontal for under paren or square bracket
visua//@line 39 "e:\fx19rel\WINNT_5.2_Depend\mozilla\browser\components\feeds\src\WebContentConverter.js"
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cr = Components.results;
function LOG(str) {
  dump("*** " + str + "\n");
const WCCR_CONTRACTID = "@mozilla.org/embeddor.implemented/web-content-handler-registrar;1";
const WCCR_CLASSID = Components.ID("{792a7e82-06a0-437c-af63-b2d12e808acc}");
const WCCR_CLASSNAME = "Web Content Handler Registrar";
const WCC_CLASSID = Components.ID("{db7ebf28-cc40-415f-8a51-1b111851df1e}");
const WCC_CLASSNAME = "Web Service Handler";
const TYPE_MAYBE_FEED = "application/vnd.mozilla.maybe.feed";
const TYPE_ANY = "*/*";
const PREF_CONTENTHANDLERS_AUTO = "browser.contentHandlers.auto.";
const PREF_CONTENTHANDLERS_BRANCH = "browser.contentHandlers.types.";
const PREF_SELECTED_WEB = "browser.feeds.handlers.webservice";
const PREF_SELECTED_ACTION = "browser.feeds.handler";
const PREF_SELECTED_READER = "browser.feeds.handler.default";
const PREF_HANDLER_EXTERNAL_PREFIX = "network.protocol-handler.external";
const PREF_ALLOW_DIFFERENT_HOST = "gecko.handlerService.allowRegisterFromDifferentHost";
const STRING_BUNDLE_URI = "chrome://browser/locale/feeds/subscribe.properties";
const NS_ERROR_MODULE_DOM = 2152923136;
const NS_ERROR_DOM_SYNTAX_ERR = NS_ERROR_MODULE_DOM + 12;
function WebContentConverter() {
WebContentConverter.prototype = {
  convert: function WCC_convert() { },
  asyncConvertData: function WCC_asyncConvertData() { },
  onDataAvailable: function WCC_onDataAvailable() { },
  onStopRequest: function WCC_onStopRequest() { },
  onStartRequest: function WCC_onStartRequest(request, context) {
    var wccr = 
        Cc[WCCR_CONTRACTID].
        getService(Ci.nsIWebContentConverterService);
    wccr.loadPreferredHandler(request);
  QueryInterface: function WCC_QueryInterface(iid) {
    if (iid.equals(Ci.nsIStreamConverter) ||
        iid.equals(Ci.nsIStreamListener) ||
        iid.equals(Ci.nsISupports))
      return this;
    throw Cr.NS_ERROR_NO_INTERFACE;
var WebContentConverterFactory = {
  createInstance: function WCCF_createInstance(outer, iid) {
    if (outer != null)
      throw Cr.NS_ERROR_NO_AGGREGATION;
    return new WebContentConverter().QueryInterface(iid);
  QueryInterface: function WCC_QueryInterface(iid) {
    if (iid.equals(Ci.nsIFactory) ||
        iid.equals(Ci.nsISupports))
      return this;
    throw Cr.NS_ERROR_NO_INTERFACE;
function ServiceInfo(contentType, uri, name) {
  this._contentType = contentType;
  this._uri = uri;
  this._name = name;
ServiceInfo.prototype = {
   * See nsIHandlerApp
  get name() {
    return this._name;
   * See nsIHandlerApp
  equals: function SI_equals(aHandlerApp) {
    if (!aHandlerApp)
      throw Cr.NS_ERROR_NULL_POINTER;
    if (aHandlerApp instanceof Ci.nsIWebContentHandlerInfo &&
        aHandlerApp.contentType == this.contentType &&
        aHandlerApp.uri == this.uri)
      return true;
    return false;
   * See nsIWebContentHandlerInfo
  get contentType() {
    return this._contentType;
   * See nsIWebContentHandlerInfo
  get uri() {
    return this._uri;
   * See nsIWebContentHandlerInfo
  getHandlerURI: function SI_getHandlerURI(uri) {
    return this._uri.replace(/%s/gi, encodeURIComponent(uri));
  QueryInterface: function SI_QueryInterface(iid) {
    if (iid.equals(Ci.nsIWebContentHandlerInfo) ||
        iid.equals(Ci.nsISupports))
      return this;
    throw Cr.NS_ERROR_NO_INTERFACE;
function WebContentConverterRegistrar() {}
WebContentConverterRegistrar.prototype = {
  get stringBundle() {
    var sb = Cc["@mozilla.org/intl/stringbundle;1"].
              getService(Ci.nsIStringBundleService).
              createBundle(STRING_BUNDLE_URI);
    delete WebContentConverterRegistrar.prototype.stringBundle;
    return WebContentConverterRegistrar.prototype.stringBundle = sb;
  _getFormattedString: function WCCR__getFormattedString(key, params) {
    return this.stringBundle.formatStringFromName(key, params, params.length);
  _getString: function WCCR_getString(key) {
    return this.stringBundle.GetStringFromName(key);
  _contentTypes: { },
   * Track auto handlers for various content types using a content-type to 
   * handler map.
  _autoHandleContentTypes: { },
   * See nsIWebContentConverterService
  getAutoHandler: 
  function WCCR_getAutoHandler(contentType) {
    contentType = this._resolveContentType(contentType);
    if (contentType in this._autoHandleContentTypes)
      return this._autoHandleContentTypes[contentType];
    return null;
   * See nsIWebContentConverterService
  setAutoHandler:
  function WCCR_setAutoHandler(contentType, handler) {
    if (handler && !this._typeIsRegistered(contentType, handler.uri))
      throw Cr.NS_ERROR_NOT_AVAILABLE;
      
    contentType = this._resolveContentType(contentType);
    this._setAutoHandler(contentType, handler);
    var ps = 
        Cc["@mozilla.org/preferences-service;1"].
        getService(Ci.nsIPrefService);
    var autoBranch = ps.getBranch(PREF_CONTENTHANDLERS_AUTO);
    if (handler)
      autoBranch.setCharPref(contentType, handler.uri);
    else if (autoBranch.prefHasUserValue(contentType))
      autoBranch.clearUserPref(contentType);
    ps.savePrefFile(null);
   * Update the internal data structure (not persistent)
  _setAutoHandler:
  function WCCR__setAutoHandler(contentType, handler) {
    if (handler) 
      this._autoHandleContentTypes[contentType] = handler;
    else if (contentType in this._autoHandleContentTypes)
      delete this._autoHandleContentTypes[contentType];
   * See nsIWebContentConverterService
  getWebContentHandlerByURI:
  function WCCR_getWebContentHandlerByURI(contentType, uri) {
    var handlers = this.getContentHandlers(contentType, { });
    for (var i = 0; i < handlers.length; ++i) {
      if (handlers[i].uri == uri) 
        return handlers[i];
    return null;
   * See nsIWebContentConverterService
  loadPreferredHandler: 
  function WCCR_loadPreferredHandler(request) {
    var channel = request.QueryInterface(Ci.nsIChannel);
    var contentType = this._resolveContentType(channel.contentType);
    var handler = this.getAutoHandler(contentType);
    if (handler) {
      request.cancel(Cr.NS_ERROR_FAILURE);
      
      var webNavigation = 
          channel.notificationCallbacks.getInterface(Ci.nsIWebNavigation);
      webNavigation.loadURI(handler.getHandlerURI(channel.URI.spec), 
                            Ci.nsIWebNavigation.LOAD_FLAGS_NONE, 
                            null, null, null);
    }      
   * See nsIWebContentConverterService
  removeProtocolHandler: 
  function WCCR_removeProtocolHandler(aProtocol, aURITemplate) {
    var eps = Cc["@mozilla.org/uriloader/external-protocol-service;1"].
              getService(Ci.nsIExternalProtocolService);
    var handlerInfo = eps.getProtocolHandlerInfo(aProtocol);
    var handlers =  handlerInfo.possibleApplicationHandlers;
    for (let i = 0; i < handlers.length; i++) {
      try { // We only want to test web handlers
        let handler = handlers.queryElementAt(i, Ci.nsIWebHandlerApp);
        if (handler.uriTemplate == aURITemplate) {
          handlers.removeElementAt(i);
          var hs = Cc["@mozilla.org/uriloader/handler-service;1"].
                   getService(Ci.nsIHandlerService);
          hs.store(handlerInfo);
          return;
        }
      } catch (e) { /* it wasn't a web handler */ }
   * See nsIWebContentConverterService
  removeContentHandler: 
  function WCCR_removeContentHandler(contentType, uri) {
    function notURI(serviceInfo) {
      return serviceInfo.uri != uri;
    if (contentType in this._contentTypes) {
      this._contentTypes[contentType] = 
        this._contentTypes[contentType].filter(notURI);
  _mappings: { 
    "application/rss+xml": TYPE_MAYBE_FEED,
    "application/atom+xml": TYPE_MAYBE_FEED,
   * These are types for which there is a separate content converter aside 
   * from our built in generic one. We should not automatically register
   * a factory for creating a converter for these types.
  _blockedTypes: {
    "application/vnd.mozilla.maybe.feed": true,
   * Determines the "internal" content type based on the _mappings.
   * @param   contentType
   * @returns The resolved contentType value. 
  _resolveContentType: 
  function WCCR__resolveContentType(contentType) {
    if (contentType in this._mappings)
      return this._mappings[contentType];
    return contentType;
  _makeURI: function(aURL, aOriginCharset, aBaseURI) {
    var ioService = Components.classes["@mozilla.org/network/io-service;1"]
                              .getService(Components.interfaces.nsIIOService);
    return ioService.newURI(aURL, aOriginCharset, aBaseURI);
  _checkAndGetURI:
  function WCCR_checkAndGetURI(aURIString, aContentWindow)
    try {
      var uri = this._makeURI(aURIString);
    } catch (ex) {
      // not supposed to throw according to spec
      return; 
    // For security reasons we reject non-http(s) urls (see bug 354316),
    // we may need to revise this once we support more content types
    // XXX this should be a "security exception" according to spec, but that
    // isn't defined yet.
    if (uri.scheme != "http" && uri.scheme != "https")
      throw("Permission denied to add " + uri.spec + " as a content or protocol handler");
    // We also reject handlers registered from a different host (see bug 402287)
    // The pref allows us to test the feature
    var pb = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);
    if ((!pb.prefHasUserValue(PREF_ALLOW_DIFFERENT_HOST) ||
         !pb.getBoolPref(PREF_ALLOW_DIFFERENT_HOST)) &&
        aContentWindow.location.hostname != uri.host)
      throw("Permission denied to add " + uri.spec + " as a content or protocol handler");
    // If the uri doesn't contain '%s', it won't be a good handler
    if (uri.spec.indexOf("%s") < 0)
      throw NS_ERROR_DOM_SYNTAX_ERR; 
    return uri;
   * Determines if a web handler is already registered.
   * @param aProtocol
   *        The scheme of the web handler we are checking for.
   * @param aURITemplate
   *        The URI template that the handler uses to handle the protocol.
   * @return true if it is already registered, false otherwise.
  _protocolHandlerRegistered:
  function WCCR_protocolHandlerRegistered(aProtocol, aURITemplate) {
    var eps = Cc["@mozilla.org/uriloader/external-protocol-service;1"].
              getService(Ci.nsIExternalProtocolService);
    var handlerInfo = eps.getProtocolHandlerInfo(aProtocol);
    var handlers =  handlerInfo.possibleApplicationHandlers;
    for (let i = 0; i < handlers.length; i++) {
      try { // We only want to test web handlers
        let handler = handlers.queryElementAt(i, Ci.nsIWebHandlerApp);
        if (handler.uriTemplate == aURITemplate)
          return true;
      } catch (e) { /* it wasn't a web handler */ }
    return false;
   * See nsIWebContentHandlerRegistrar
  registerProtocolHandler: 
  function WCCR_registerProtocolHandler(aProtocol, aURIString, aTitle, aContentWindow) {
    LOG("registerProtocolHandler(" + aProtocol + "," + aURIString + "," + aTitle + ")");
    // First, check to make sure this isn't already handled internally (we don't
    // want to let them take over, say "chrome").
    var ios = Cc["@mozilla.org/network/io-service;1"].
              getService(Ci.nsIIOService);
    var handler = ios.getProtocolHandler(aProtocol);
    if (!(handler instanceof Ci.nsIExternalProtocolHandler)) {
      // This is handled internally, so we don't want them to register
      // XXX this should be a "security exception" according to spec, but that
      // isn't defined yet.
      throw("Permission denied to add " + aURIString + "as a protocol handler");
    // check if it is in the black list
    var pb = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);
    var allowed;
    try {
      allowed = pb.getBoolPref(PREF_HANDLER_EXTERNAL_PREFIX + "." + aProtocol);
    catch (e) {
      allowed = pb.getBoolPref(PREF_HANDLER_EXTERNAL_PREFIX + "-default");
    if (!allowed) {
      // XXX this should be a "security exception" according to spec
      throw("Not allowed to register a protocol handler for " + aProtocol);
    var uri = this._checkAndGetURI(aURIString, aContentWindow);
    var buttons, message;
    if (this._protocolHandlerRegistered(aProtocol, uri.spec))
      message = this._getFormattedString("protocolHandlerRegistered",
                                         [aTitle, aProtocol]);
    else {
      // Now Ask the user and provide the proper callback
      message = this._getFormattedString("addProtocolHandler",
                                         [aTitle, uri.host, aProtocol]);
      var fis = Cc["@mozilla.org/browser/favicon-service;1"].
                getService(Ci.nsIFaviconService);
      var notificationIcon = fis.getFaviconLinkForIcon(uri);
      var notificationValue = "Protocol Registration: " + aProtocol;
      var addButton = {
        label: this._getString("addProtocolHandlerAddButton"),
        accessKey: this._getString("addHandlerAddButtonAccesskey"),
        protocolInfo: { protocol: aProtocol, uri: uri.spec, name: aTitle },
        callback:
        function WCCR_addProtocolHandlerButtonCallback(aNotification, aButtonInfo) {
          var protocol = aButtonInfo.protocolInfo.protocol;
          var uri      = aButtonInfo.protocolInfo.uri;
          var name     = aButtonInfo.protocolInfo.name;
          var handler = Cc["@mozilla.org/uriloader/web-handler-app;1"].
                        createInstance(Ci.nsIWebHandlerApp);
          handler.name = name;
          handler.uriTemplate = uri;
          var eps = Cc["@mozilla.org/uriloader/external-protocol-service;1"].
                    getService(Ci.nsIExternalProtocolService);
          var handlerInfo = eps.getProtocolHandlerInfo(protocol);
          handlerInfo.possibleApplicationHandlers.appendElement(handler, false);
          // Since the user has agreed to add a new handler, chances are good
          // that the next time they see a handler of this type, they're going
          // to want to use it.  Reset the handlerInfo to ask before the next
          // use.
          handlerInfo.alwaysAskBeforeHandling = true;
          var hs = Cc["@mozilla.org/uriloader/handler-service;1"].
                   getService(Ci.nsIHandlerService);
          hs.store(handlerInfo);
        }
      };
      buttons = [addButton];
    var browserWindow = this._getBrowserWindowForContentWindow(aContentWindow);
    var browserElement = this._getBrowserForContentWindow(browserWindow, aContentWindow);
    var notificationBox = browserWindow.getBrowser().getNotificationBox(browserElement);
    notificationBox.appendNotification(message,
                                       notificationValue,
                                       notificationIcon,
                                       notificationBox.PRIORITY_INFO_LOW,
                                       buttons);
   * See nsIWebContentHandlerRegistrar
   * If a DOM window is provided, then the request came from content, so we
   * prompt the user to confirm the registration.
  registerContentHandler: 
  function WCCR_registerContentHandler(aContentType, aURIString, aTitle, aContentWindow) {
    LOG("registerContentHandler(" + aContentType + "," + aURIString + "," + aTitle + ")");
    // We only support feed types at present.
    // XXX this should be a "security exception" according to spec, but that
    // isn't defined yet.
    var contentType = this._resolveContentType(aContentType);
    if (contentType != TYPE_MAYBE_FEED)
      return;
    if (aContentWindow) {
      var uri = this._checkAndGetURI(aURIString, aContentWindow);
      var browserWindow = this._getBrowserWindowForContentWindow(aContentWindow);
      var browserElement = this._getBrowserForContentWindow(browserWindow, aContentWindow);
      var notificationBox = browserWindow.getBrowser().getNotificationBox(browserElement);
      this._appendFeedReaderNotification(uri, aTitle, notificationBox);
    else
      this._registerContentHandler(contentType, aURIString, aTitle);
   * Returns the browser chrome window in which the content window is in
  _getBrowserWindowForContentWindow:
  function WCCR__getBrowserWindowForContentWindow(aContentWindow) {
    return aContentWindow.QueryInterface(Ci.nsIInterfaceRequestor)
                         .getInterface(Ci.nsIWebNavigation)
                         .QueryInterface(Ci.nsIDocShellTreeItem)
                         .rootTreeItem
                         .QueryInterface(Ci.nsIInterfaceRequestor)
                         .getInterface(Ci.nsIDOMWindow)
                         .wrappedJSObject;
   * Returns the <xul:browser> element associated with the given content
   * window.
   * @param aBrowserWindow
   *        The browser window in which the content window is in.
   * @param aContentWindow
   *        The content window. It's possible to pass a child content window
   *        (i.e. the content window of a frame/iframe).
  _getBrowserForContentWindow:
  function WCCR__getBrowserForContentWindow(aBrowserWindow, aContentWindow) {
    // This depends on pseudo APIs of browser.js and tabbrowser.xml
    aContentWindow = aContentWindow.top;
    var browsers = aBrowserWindow.getBrowser().browsers;
    for (var i = 0; i < browsers.length; ++i) {
      if (browsers[i].contentWindow == aContentWindow)
        return browsers[i];
   * Appends a notifcation for the given feed reader details.
   * The notification could be either a pseudo-dialog which lets
   * the user to add the feed reader:
   * [ [icon] Add %feed-reader-name% (%feed-reader-host%) as a Feed Reader?  (Add) [x] ]
   * or a simple message for the case where the feed reader is already registered:
   * [ [icon] %feed-reader-name% is already registered as a Feed Reader             [x] ]
   * A new notification isn't appended if the given notificationbox has a
   * notification for the same feed reader.
   * @param aURI
   *        The url of the feed reader as a nsIURI object
   * @param aName
   *        The feed reader name as it was passed to registerContentHandler
   * @param aNotificationBox
   *        The notification box to which a notification might be appended
   * @return true if a notification has been appended, false otherwise.
  _appendFeedReaderNotification:
  function WCCR__appendFeedReaderNotification(aURI, aName, aNotificationBox) {
    var uriSpec = aURI.spec;
    var notificationValue = "feed reader notification: " + uriSpec;
    var notificationIcon = aURI.prePath + "/favicon.ico";
    // Don't append a new notification if the notificationbox
    // has a notification for the given feed reader already
    if (aNotificationBox.getNotificationWithValue(notificationValue))
      return false;
    var buttons, message;
    if (this.getWebContentHandlerByURI(TYPE_MAYBE_FEED, uriSpec))
      message = this._getFormattedString("handlerRegistered", [aName]);
    else {
      message = this._getFormattedString("addHandler", [aName, aURI.host]);
      var self = this;
      var addButton = {
        _outer: self,
        label: self._getString("addHandlerAddButton"),
        accessKey: self._getString("addHandlerAddButtonAccesskey"),
        feedReaderInfo: { uri: uriSpec, name: aName },
        /* static */
        callback:
        function WCCR__addFeedReaderButtonCallback(aNotification, aButtonInfo) {
          var uri = aButtonInfo.feedReaderInfo.uri;
          var name = aButtonInfo.feedReaderInfo.name;
          var outer = aButtonInfo._outer;
          // The reader could have been added from another window mean while
          if (!outer.getWebContentHandlerByURI(TYPE_MAYBE_FEED, uri))
            outer._registerContentHandler(TYPE_MAYBE_FEED, uri, name);
          // avoid reference cycles
          aButtonInfo._outer = null;
          return false;
        }
      };
      buttons = [addButton];
    aNotificationBox.appendNotification(message,
                                        notificationValue,
                                        notificationIcon,
                                        aNotificationBox.PRIORITY_INFO_LOW,
                                        buttons);
    return true;
   * Save Web Content Handler metadata to persistent preferences. 
   * @param   contentType
   *          The content Type being handled
   * @param   uri
   *          The uri of the web service
   * @param   title
   *          The human readable name of the web service
   * This data is stored under:
   *    browser.contentHandlers.type0 = content/type
   *    browser.contentHandlers.uri0 = http://www.foo.com/q=%s
   *    browser.contentHandlers.title0 = Foo 2.0alphr
  _saveContentHandlerToPrefs: 
  function WCCR__saveContentHandlerToPrefs(contentType, uri, title) {
    var ps = 
        Cc["@mozilla.org/preferences-service;1"].
        getService(Ci.nsIPrefService);
    var i = 0;
    var typeBranch = null;
    while (true) {
      typeBranch = 
        ps.getBranch(PREF_CONTENTHANDLERS_BRANCH + i + ".");
      try {
        typeBranch.getCharPref("type");
        ++i;
      }
      catch (e) {
        // No more handlers
        break;
      }
    if (typeBranch) {
      typeBranch.setCharPref("type", contentType);
      var pls = 
          Cc["@mozilla.org/pref-localizedstring;1"].
          createInstance(Ci.nsIPrefLocalizedString);
      pls.data = uri;
      typeBranch.setComplexValue("uri", Ci.nsIPrefLocalizedString, pls);
      pls.data = title;
      typeBranch.setComplexValue("title", Ci.nsIPrefLocalizedString, pls);
      ps.savePrefFile(null);
   * Determines if there is a type with a particular uri registered for the 
   * specified content type already.
   * @param   contentType
   *          The content type that the uri handles
   * @param   uri
   *          The uri of the 
  _typeIsRegistered: function WCCR__typeIsRegistered(contentType, uri) {
    if (!(contentType in this._contentTypes))
      return false;
      
    var services = this._contentTypes[contentType];
    for (var i = 0; i < services.length; ++i) {
      // This uri has already been registered
      if (services[i].uri == uri)
        return true;
    return false;
   * Gets a stream converter contract id for the specified content type.
   * @param   contentType
   *          The source content type for the conversion.
   * @returns A contract id to construct a converter to convert between the 
   *          contentType and *\/*.
  _getConverterContractID: function WCCR__getConverterContractID(contentType) {
    const template = "@mozilla.org/streamconv;1?from=%s&to=*/*";
    return template.replace(/%s/, contentType);
   * Register a web service handler for a content type.
   * @param   contentType
   *          the content type being handled
   * @param   uri
   *          the URI of the web service
   * @param   title
   *          the human readable name of the web service
  _registerContentHandler:
  function WCCR__registerContentHandler(contentType, uri, title) {
    this._updateContentTypeHandlerMap(contentType, uri, title);
    this._saveContentHandlerToPrefs(contentType, uri, title);
    if (contentType == TYPE_MAYBE_FEED) {
      // Make the new handler the last-selected reader in the preview page
      // and make sure the preview page is shown the next time a feed is visited
      var pb = Cc["@mozilla.org/preferences-service;1"].
               getService(Ci.nsIPrefService).getBranch(null);
      pb.setCharPref(PREF_SELECTED_READER, "web");
      var supportsString = 
        Cc["@mozilla.org/supports-string;1"].
        createInstance(Ci.nsISupportsString);
        supportsString.data = uri;
      pb.setComplexValue(PREF_SELECTED_WEB, Ci.nsISupportsString,
                         supportsString);
      pb.setCharPref(PREF_SELECTED_ACTION, "ask");
      this._setAutoHandler(TYPE_MAYBE_FEED, null);
   * Update the content type -> handler map. This mapping is not persisted, use
   * registerContentHandler or _saveContentHandlerToPrefs for that purpose.
   * @param   contentType
   *          The content Type being handled
   * @param   uri
   *          The uri of the web service
   * @param   title
   *          The human readable name of the web service
  _updateContentTypeHandlerMap: 
  function WCCR__updateContentTypeHandlerMap(contentType, uri, title) {
    if (!(contentType in this._contentTypes))
      this._contentTypes[contentType] = [];
    // Avoid adding duplicates
    if (this._typeIsRegistered(contentType, uri)) 
      return;
    this._contentTypes[contentType].push(new ServiceInfo(contentType, uri, title));
    if (!(contentType in this._blockedTypes)) {
      var converterContractID = this._getConverterContractID(contentType);
      var cr = Components.manager.QueryInterface(Ci.nsIComponentRegistrar);
      cr.registerFactory(WCC_CLASSID, WCC_CLASSNAME, converterContractID, 
                         WebContentConverterFactory);
   * See nsIWebContentConverterService
  getContentHandlers: 
  function WCCR_getContentHandlers(contentType, countRef) {
    countRef.value = 0;
    if (!(contentType in this._contentTypes))
      return [];
    var handlers = this._contentTypes[contentType];
    countRef.value = handlers.length;
    return handlers;
   * See nsIWebContentConverterService
  resetHandlersForType: 
  function WCCR_resetHandlersForType(contentType) {
    // currently unused within the tree, so only useful for extensions; previous
    // impl. was buggy (and even infinite-looped!), so I argue that this is a
    // definite improvement
    throw Cr.NS_ERROR_NOT_IMPLEMENTED;
   * Registers a handler from the settings on a preferences branch.
   * @param branch
   *        an nsIPrefBranch containing "type", "uri", and "title" preferences
   *        corresponding to the content handler to be registered
  _registerContentHandlerWithBranch: function(branch) {
    /**
     * Since we support up to six predefined readers, we need to handle gaps 
     * better, since the first branch with user-added values will be .6
     * 
     * How we deal with that is to check to see if there's no prefs in the 
     * branch and stop cycling once that's true.  This doesn't fix the case
     * where a user manually removes a reader, but that's not supported yet!
     */
    var vals = branch.getChildList("", {});
    if (vals.length == 0)
      return;
    try {
      var type = branch.getCharPref("type");
      var uri = branch.getComplexValue("uri", Ci.nsIPrefLocalizedString).data;
      var title = branch.getComplexValue("title",
                                         Ci.nsIPrefLocalizedString).data;
      this._updateContentTypeHandlerMap(type, uri, title);
    catch(ex) {
      // do nothing, the next branch might have values
   * Load the auto handler, content handler and protocol tables from 
   * preferences.
  _init: function WCCR__init() {
    var ps = 
        Cc["@mozilla.org/preferences-service;1"].
        getService(Ci.nsIPrefService);
    var kids = ps.getBranch(PREF_CONTENTHANDLERS_BRANCH)
                 .getChildList("", {});
    // first get the numbers of the providers by getting all ###.uri prefs
    var nums = [];
    for (var i = 0; i < kids.length; i++) {
      var match = /^(\d+)\.uri$/.exec(kids[i]);
      if (!match)
        continue;
      else
        nums.push(match[1]);
    // sort them, to get them back in order
    nums.sort(function(a, b) {return a - b;});
    // now register them
    for (var i = 0; i < nums.length; i++) {
      var branch = ps.getBranch(PREF_CONTENTHANDLERS_BRANCH + nums[i] + ".");
      this._registerContentHandlerWithBranch(branch);
    // We need to do this _after_ registering all of the available handlers, 
    // so that getWebContentHandlerByURI can return successfully.
    try {
      var autoBranch = ps.getBranch(PREF_CONTENTHANDLERS_AUTO);
      var childPrefs = autoBranch.getChildList("", { });
      for (var i = 0; i < childPrefs.length; ++i) {
        var type = childPrefs[i];
        var uri = autoBranch.getCharPref(type);
        if (uri) {
          var handler = this.getWebContentHandlerByURI(type, uri);
          this._setAutoHandler(type, handler);
        }
      }
    catch (e) {
      // No auto branch yet, that's fine
      //LOG("WCCR.init: There is no auto branch, benign");
   * See nsIObserver
  observe: function WCCR_observe(subject, topic, data) {
    var os = 
        Cc["@mozilla.org/observer-service;1"].
        getService(Ci.nsIObserverService);
    switch (topic) {
    case "app-startup":
      os.addObserver(this, "profile-after-change", false);
      break;
    case "profile-after-change":
      os.removeObserver(this, "profile-after-change");
      this._init();
      break;
   * See nsIFactory
  createInstance: function WCCR_createInstance(outer, iid) {
    if (outer != null)
      throw Cr.NS_ERROR_NO_AGGREGATION;
    return this.QueryInterface(iid);
   * See nsIClassInfo
  getInterfaces: function WCCR_getInterfaces(countRef) {
    var interfaces = 
        [Ci.nsIWebContentConverterService, Ci.nsIWebContentHandlerRegistrar,
         Ci.nsIObserver, Ci.nsIClassInfo, Ci.nsIFactory, Ci.nsISupports];
    countRef.value = interfaces.length;
    return interfaces;
  getHelperForLanguage: function WCCR_getHelperForLanguage(language) {
    return null;
  contractID: WCCR_CONTRACTID,
  classDescription: WCCR_CLASSNAME,
  classID: WCCR_CLASSID,
  implementationLanguage: Ci.nsIProgrammingLanguage.JAVASCRIPT,
  flags: Ci.nsIClassInfo.DOM_OBJECT,
   * See nsISupports
  QueryInterface: XPCOMUtils.generateQI(
     [Ci.nsIWebContentConverterService, 
      Ci.nsIWebContentHandlerRegistrar,
      Ci.nsIObserver,
      Ci.nsIClassInfo,
      Ci.nsIFactory,
      Ci.nsISupports]),
  _xpcom_categories: [{
    category: "app-startup",
    service: true
function NSGetModule(cm, file) {
  return XPCOMUtils.generateModule([WebContentConverterRegistrar]);
//@line 44 "e:\fx19rel\WINNT_5.2_Depend\mozilla\toolkit\content\debug.js"
var EXPORTED_SYMBOLS = ["NS_ASSERT"];
var gTraceOnAssert = true;
 * This function provides a simple assertion function for JavaScript.
 * If the condition is true, this function will do nothing.  If the
 * condition is false, then the message will be printed to the console
 * and an alert will appear showing a stack trace, so that the (alpha
 * or nightly) user can file a bug containing it.  For future enhancements, 
 * see bugs 330077 and 330078.
 * To suppress the dialogs, you can run with the environment variable
 * XUL_ASSERT_PROMPT set to 0 (if unset, this defaults to 1).
 * @param condition represents the condition that we're asserting to be
 *                  true when we call this function--should be
 *                  something that can be evaluated as a boolean.
 * @param message   a string to be displayed upon failure of the assertion
function NS_ASSERT(condition, message) {
  if (condition)
    return;
  var releaseBuild = true;
  var defB = Components.classes["@mozilla.org/preferences-service;1"]
                       .getService(Components.interfaces.nsIPrefService)
                       .getDefaultBranch(null);
  try {
    switch (defB.getCharPref("app.update.channel")) {
      case "nightly":
      case "beta":
      case "default":
        releaseBuild = false;
  } catch(ex) {}
  var caller = arguments.callee.caller;
  var assertionText = "ASSERT: " + message + "\n";
  if (releaseBuild) {
    // Just report the error to the console
    Components.utils.reportError(assertionText);
    return;
  // Otherwise, dump to stdout and launch an assertion failure dialog
  dump(assertionText);
  var stackText = "";
  if (gTraceOnAssert) {
    stackText = "Stack Trace: \n";
    var count = 0;
    while (caller) {
      stackText += count++ + ":" + caller.name + "(";
      for (var i = 0; i < caller.arguments.length; ++i) {
        var arg = caller.arguments[i];
        stackText += arg;
        if (i < caller.arguments.length - 1)
          stackText += ",";
      }
      stackText += ")\n";
      caller = caller.arguments.callee.caller;
  var environment = Components.classes["@mozilla.org/process/environment;1"].
                    getService(Components.interfaces.nsIEnvironment);
  if (environment.exists("XUL_ASSERT_PROMPT") &&
      !parseInt(environment.get("XUL_ASSERT_PROMPT")))
    return;
  var source = null;
  if (this.window)
    source = this.window;
  var ps = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].
           getService(Components.interfaces.nsIPromptService);
  ps.alert(source, "Assertion Failed", assertionText + stackText);
//@line 949 "e:\fx19rel\WINNT_5.2_Depend\mozilla\browser\components\feeds\src\WebContentConverter.js"
visua//@line 2 "e:\fx19rel\WINNT_5.2_Depend\mozilla\browser\app\profile\channel-prefs.js"
pref("app.update.channel", "release");
uv~qz?8
T>vHvh
Uy.bc3X
70U:5S
1Qp$u9
2]bySR
8{.3Gn
$dSt!1
qgkwww
9\M]t"/n
E	qg7g
@s#3w<&
rB~*#D%iW
{P(, )
IDATx^
5jH)*T
p@9`y<Zc
R3=gTQ
36c@'r	
TJ>uTC
GZZ2[7
ZdI2K!
HQ)9Gg
bf.Rs1
@4hXA!
9)u:5xc
>l:s:;
tEXtSoftware
Adobe ImageReadyq
"iTXtXML:com.adobe.xmp
<?xpacket begin="
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060 61.134777, 2010/02/12-17:32:00        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe Photoshop CS5 Macintosh" xmpMM:InstanceID="xmp.iid:5E7DD746D6D311DF8BE7E5F63773E76C" xmpMM:DocumentID="xmp.did:5E7DD747D6D311DF8BE7E5F63773E76C"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:5E7DD744D6D311DF8BE7E5F63773E76C" stRef:documentID="xmp.did:5E7DD745D6D311DF8BE7E5F63773E76C"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
cIDATx
Sk4RK<u
bA1*8U
ol`L1iP
}($x~Y6d,L
&&&&&&
&&(77774&&
,22GMMOOO@5(
2,<Waaaa]W]\@:
2<ak^Z-6>TkiS:
<<UkdYH0'
gth:9<=kkIJKQL'
ru[9<Vka10
E}s9<in3)''
~|9<mpaqqz*
w9<ipk_e{'"!
vA<bpobdRR
Rkpjk''
RkRRk*
f34gFO
ZA1%0#
Thawte Consulting (Pty) Ltd.1"0 
Thawte SGC OCSP Responder
20110103000119Z0s0q0I0	
20110103000119Z
20110110000119Z0
ZA1%0#
Thawte Consulting (Pty) Ltd.1
Thawte SGC CA0
101023000000Z
110121235959Z0X1
ZA1%0#
Thawte Consulting (Pty) Ltd.1"0 
Thawte SGC OCSP Responder0
OCSP7-TGV-6-1990
ZA1%0#
Thawte Consulting (Pty) Ltd.1"0 
Thawte SGC OCSP Responder
20110103101228Z0s0q0I0	
20110103101228Z
20110110101228Z0
ZA1%0#
Thawte Consulting (Pty) Ltd.1
Thawte SGC CA0
101023000000Z
110121235959Z0X1
ZA1%0#
Thawte Consulting (Pty) Ltd.1"0 
Thawte SGC OCSP Responder0
OCSP7-TGV-6-1990
GIF89a=
C$9v*E
}HTTP:https://ssl.google-analytics.com/ga.js
request-method
request-Accept-Encoding
gzip,deflate
response-head
HTTP/1.1 200 OK
Content-Length: 10657
Content-Encoding: gzip
Last-Modified: Mon, 08 Nov 2010 08:48:36 GMT
Date: Mon, 03 Jan 2011 00:19:22 GMT
Expires: Tue, 04 Jan 2011 00:19:22 GMT
Content-Type: text/javascript
Vary: Accept-Encoding
Server: Golfe
X-Content-Type-Options: nosniff
Age: 81772
Cache-Control: max-age=86400, public
security-info
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
HTTP:https://www.google.com/accounts/google_transparent.gif
request-method
response-head
HTTP/1.1 200 OK
Cache-Control: public
Expires: Mon, 10 Jan 2011 23:02:14 GMT
Last-Modified: Wed, 06 Apr 2005 00:23:19 GMT
Content-Type: image/gif
Content-Length: 1511
Date: Mon, 03 Jan 2011 23:02:14 GMT
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Server: GSE
security-info
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
GIF89a
pDa !rb8
HTTP:https://www.google.com/uds/api/search/1.0/dc3de76e47ee565996b49228b275fafb/default.css
request-method
request-Accept-Encoding
gzip,deflate
response-head
HTTP/1.1 200 OK
Expires: Thu, 15 Dec 2011 20:07:12 GMT
Date: Wed, 15 Dec 2010 20:07:12 GMT
Vary: Accept-Encoding
Content-Type: text/css; charset=UTF-8
Content-Encoding: gzip
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Content-Length: 5961
Server: GSE
Cache-Control: public, max-age=31536000
Age: 1652300
security-info
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
HTTP:https://www.google.com/uds/api/search/1.0/dc3de76e47ee565996b49228b275fafb/default+en.I.js
request-method
request-Accept-Encoding
gzip,deflate
response-head
HTTP/1.1 200 OK
Expires: Thu, 15 Dec 2011 20:06:59 GMT
Date: Wed, 15 Dec 2010 20:06:59 GMT
Vary: Accept-Encoding
Content-Type: application/x-javascript; charset=UTF-8
Content-Encoding: gzip
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE
Cache-Control: public, max-age=31536000
Content-Length: 27280
Age: 1652313
security-info
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
/9R\r 
mX9NyTh
h'."Pn
B0'kn=
 Vt$'2
ZmW1dI
Zo4;MAM
glnk2WT
Z~DOwu
s,~rJ:
n,o!<A
5HTTP:https://www.google.com/accounts/hosted/helpcenter/js/tooltips/TooltipLoader.js
request-method
response-head
HTTP/1.1 200 OK
Cache-Control: public
Expires: Mon, 10 Jan 2011 23:05:33 GMT
Last-Modified: Tue, 14 Jul 2009 17:56:01 GMT
Content-Type: application/x-javascript
Content-Encoding: gzip
Date: Mon, 03 Jan 2011 23:05:33 GMT
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Content-Length: 3977
Server: GSE
security-info
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
/wWA0Y
TLCakR@&
$T4+dk
&}[45{
W<JlvZ
5HTTP:https://www.google.com/accounts/hosted/helpcenter/js/tooltips/XMLHttpRequest.js
request-method
response-head
HTTP/1.1 200 OK
Cache-Control: public
Expires: Mon, 10 Jan 2011 23:05:33 GMT
Last-Modified: Tue, 14 Jul 2009 17:56:01 GMT
Content-Type: application/x-javascript
Content-Encoding: gzip
Date: Mon, 03 Jan 2011 23:05:33 GMT
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Content-Length: 2167
Server: GSE
security-info
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
$HTTP:https://www.google.com/accounts/hosted/helpcenter/css/tooltips/TooltipLoader.css
request-method
response-head
HTTP/1.1 200 OK
Cache-Control: public
Expires: Mon, 10 Jan 2011 23:05:33 GMT
Last-Modified: Tue, 08 Apr 2008 01:04:52 GMT
Content-Type: text/css
Content-Encoding: gzip
Date: Mon, 03 Jan 2011 23:05:33 GMT
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Content-Length: 418
Server: GSE
security-info
FnhllAKWRHGAlo+ESXykKAAAAAAAAAAAwAAAAAAAAEZmCjImkVxP+7sgiYWmMt8FAAAAAAAAAADAAAAAAAAARgAAAyUwggMhMIICiqADAgECAhAv37z2rpFSbQ+ao99AND6aMA0GCSqGSIb3DQEBBQUAMEwxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMRYwFAYDVQQDEw1UaGF3dGUgU0dDIENBMB4XDTA5MTIxODAwMDAwMFoXDTExMTIxODIzNTk1OVowaDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcUDU1vdW50YWluIFZpZXcxEzARBgNVBAoUCkdvb2dsZSBJbmMxFzAVBgNVBAMUDnd3dy5nb29nbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDo+YYPkPqG19+9cia210QCg3hz2QIo74hFOfsQ6HyuqTjVdcY46woVB5uD6M2C1eP3FWhFoQsZhbzi74Tn3fLXuJjCobu1wVHf1IMCpz0GQlvhIsPea4VfHNbaTovTm+65ZyIqHRHveaSzN4r0/hj9vPlGI1CX86z8JEYrXDu3RQIDAQABo4HnMIHkMAwGA1UdEwEB/wQCMAAwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNybDAoBgNVHSUEITAfBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEATByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MA0GCSqGSIb3DQEBBQUAA4GBAJ9Dz1vEUCmxv+Kwmv9qIR0tEsMsTlr5EuLOuYJSLecdfhp2lpB50SRSOHm7Y42Al3wjIA+RTRa56u70bYnKxr3MJGjWQ1vOKli/PBjg4Dxiz5YCLShHUDThJ7rPmdFQ/yklwDY2FTNScL4xj5/of+cRDI2/hKBCGoCJsDFYQQdfAAQAAgAAAC0AQQB1AHQAaABlAG4AdABpAGMAYQB0AGUAZAAgAGIAeQAgAFQAaABhAHcAdABlACAAQwBvAG4AcwB1AGwAdABpAG4AZwAgACgAUAB0AHkAKQAgAEwAdABkAC4AAAAALDg3r4uFSmiw2ArtiJhbMgAAAAAAAAAAwAAAAAAAAEZmCjImkVxP+7sgiYWmMt8F8JgPYO49EdSZiwCw0CNUoAAAAyUwggMhMIICiqADAgECAhAv37z2rpFSbQ+ao99AND6aMA0GCSqGSIb3DQEBBQUAMEwxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMRYwFAYDVQQDEw1UaGF3dGUgU0dDIENBMB4XDTA5MTIxODAwMDAwMFoXDTExMTIxODIzNTk1OVowaDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcUDU1vdW50YWluIFZpZXcxEzARBgNVBAoUCkdvb2dsZSBJbmMxFzAVBgNVBAMUDnd3dy5nb29nbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDo+YYPkPqG19+9cia210QCg3hz2QIo74hFOfsQ6HyuqTjVdcY46woVB5uD6M2C1eP3FWhFoQsZhbzi74Tn3fLXuJjCobu1wVHf1IMCpz0GQlvhIsPea4VfHNbaTovTm+65ZyIqHRHveaSzN4r0/hj9vPlGI1CX86z8JEYrXDu3RQIDAQABo4HnMIHkMAwGA1UdEwEB/wQCMAAwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNybDAoBgNVHSUEITAfBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEATByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MA0GCSqGSIb3DQEBBQUAA4GBAJ9Dz1vEUCmxv+Kwmv9qIR0tEsMsTlr5EuLOuYJSLecdfhp2lpB50SRSOHm7Y42Al3wjIA+RTRa56u70bYnKxr3MJGjWQ1vOKli/PBjg4Dxiz5YCLShHUDThJ7rPmdFQ/yklwDY2FTNScL4xj5/of+cRDI2/hKBCGoCJsDFYQQdfAAAAgAAAAIAAAAADUkM0AAAAAQA=
GIF89a 
TTTuuuccc000
iiiWWW666KKK
NETSCAPE2.0
J ^/CNyS;)k:(J'^eD
P1Z	#^
tk0B&P
Uvh_Nfhj
D2,b6	C
2,w6	I
W aa/D
I2,x6	Lw:4H)
:1I-*q
C2,g6	
HTTP:https://www.google.com/accounts/hosted/helpcenter/images/tooltips/spin_32.gif
request-method
response-head
HTTP/1.1 200 OK
Cache-Control: public
Expires: Mon, 10 Jan 2011 23:05:33 GMT
Last-Modified: Tue, 08 Apr 2008 01:05:22 GMT
Content-Type: image/gif
Content-Length: 1954
Date: Mon, 03 Jan 2011 23:05:33 GMT
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Server: GSE
security-info
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
HTTP:https://www.google.com/accounts/hosted/helpcenter/images/tooltips/923093475-question_mark.gif
request-method
response-head
HTTP/1.1 200 OK
Cache-Control: public
Expires: Mon, 10 Jan 2011 23:05:33 GMT
Last-Modified: Tue, 08 Apr 2008 01:05:22 GMT
Content-Type: image/gif
Content-Length: 206
Date: Mon, 03 Jan 2011 23:05:33 GMT
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Server: GSE
security-info
FnhllAKWRHGAlo+ESXykKAAAAAAAAAAAwAAAAAAAAEZmCjImkVxP+7sgiYWmMt8FAAAAAAAAAADAAAAAAAAARgAAAyUwggMhMIICiqADAgECAhAv37z2rpFSbQ+ao99AND6aMA0GCSqGSIb3DQEBBQUAMEwxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMRYwFAYDVQQDEw1UaGF3dGUgU0dDIENBMB4XDTA5MTIxODAwMDAwMFoXDTExMTIxODIzNTk1OVowaDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcUDU1vdW50YWluIFZpZXcxEzARBgNVBAoUCkdvb2dsZSBJbmMxFzAVBgNVBAMUDnd3dy5nb29nbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDo+YYPkPqG19+9cia210QCg3hz2QIo74hFOfsQ6HyuqTjVdcY46woVB5uD6M2C1eP3FWhFoQsZhbzi74Tn3fLXuJjCobu1wVHf1IMCpz0GQlvhIsPea4VfHNbaTovTm+65ZyIqHRHveaSzN4r0/hj9vPlGI1CX86z8JEYrXDu3RQIDAQABo4HnMIHkMAwGA1UdEwEB/wQCMAAwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNybDAoBgNVHSUEITAfBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEATByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MA0GCSqGSIb3DQEBBQUAA4GBAJ9Dz1vEUCmxv+Kwmv9qIR0tEsMsTlr5EuLOuYJSLecdfhp2lpB50SRSOHm7Y42Al3wjIA+RTRa56u70bYnKxr3MJGjWQ1vOKli/PBjg4Dxiz5YCLShHUDThJ7rPmdFQ/yklwDY2FTNScL4xj5/of+cRDI2/hKBCGoCJsDFYQQdfAAQAAgAAAC0AQQB1AHQAaABlAG4AdABpAGMAYQB0AGUAZAAgAGIAeQAgAFQAaABhAHcAdABlACAAQwBvAG4AcwB1AGwAdABpAG4AZwAgACgAUAB0AHkAKQAgAEwAdABkAC4AAAAALDg3r4uFSmiw2ArtiJhbMgAAAAAAAAAAwAAAAAAAAEZmCjImkVxP+7sgiYWmMt8F8JgPYO49EdSZiwCw0CNUoAAAAyUwggMhMIICiqADAgECAhAv37z2rpFSbQ+ao99AND6aMA0GCSqGSIb3DQEBBQUAMEwxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMRYwFAYDVQQDEw1UaGF3dGUgU0dDIENBMB4XDTA5MTIxODAwMDAwMFoXDTExMTIxODIzNTk1OVowaDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcUDU1vdW50YWluIFZpZXcxEzARBgNVBAoUCkdvb2dsZSBJbmMxFzAVBgNVBAMUDnd3dy5nb29nbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDo+YYPkPqG19+9cia210QCg3hz2QIo74hFOfsQ6HyuqTjVdcY46woVB5uD6M2C1eP3FWhFoQsZhbzi74Tn3fLXuJjCobu1wVHf1IMCpz0GQlvhIsPea4VfHNbaTovTm+65ZyIqHRHveaSzN4r0/hj9vPlGI1CX86z8JEYrXDu3RQIDAQABo4HnMIHkMAwGA1UdEwEB/wQCMAAwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNybDAoBgNVHSUEITAfBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEATByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MA0GCSqGSIb3DQEBBQUAA4GBAJ9Dz1vEUCmxv+Kwmv9qIR0tEsMsTlr5EuLOuYJSLecdfhp2lpB50SRSOHm7Y42Al3wjIA+RTRa56u70bYnKxr3MJGjWQ1vOKli/PBjg4Dxiz5YCLShHUDThJ7rPmdFQ/yklwDY2FTNScL4xj5/of+cRDI2/hKBCGoCJsDFYQQdfAAAAgAAAAIAAAAADUkM0AAAAAQA=
visuaMZ
!This program cannot be run in DOS mode.
`.rdata
@.data
@.reloc
G<f90u
`UVWj@j
F<upWh
;H0tL3
L$4_^[3
L$4_^[3
L$4_^[3
D$\SUVW
L$l_^][3
D$`UVWh :
L$d_^]3
D$XSVW3
L$8WSQUR
<xt-<Xu,
T$ RSW
L$4_][3
D$$SUV
L$4_^][3
t8<nt4<[t0
tD9~ v?
QSVWj,j
9>t)9=
S4RWVSPh0>
WVRPQh0>
D$ _^]
u&9|$ 
9\$$tw
t$d9\$$uh
u!9\$`u
9D$`uu
l$dVWy
D$8_^][
tB9L$Ht
L$LQRj
<.t8<:u
H@+L$,
{P9?t-
{l9?t-
`|$QPVj
VQWRh0U
S4RWVSPh
WVRPQh
H,QVhHY
P(Rh`Z
t.< t <	t
>-u.;u
T$Dt'Vh
T$$j(R
T$$j(R
T$$j(R
T$$j(R
T$$j(R
T$$j(R
T$$j(R
D$$j(P
T$$j(R
T$$j(R
L$$j(Q
D$$j(P
T$$j(R
T$$j(R
T$$j(R
L$$j(Q
=UUUUu*=
P(VRWh
@(VPSh
=UUUUuA=
D$HSVW
L$2f;L$
Ftffff
`[WUWW
`SUVWP
`SUVWP
D$(u(95
T$DRPWVj
`Wu)95
UUUU^3
tm</ti<\teV
T$0Rh,
@,PhTb
t	_^]3
v	N+D$
v	N+D$
License information: http://www.mozilla.org/MPL/
Copyright (c) 1998 Netscape Communications Corporation. All Rights Reserved
Portable runtime
nspr4.dll
2008-07-02 07:29:10
NSPR_FD_CACHE_SIZE_LOW
NSPR_FD_CACHE_SIZE_HIGH
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
0123456789abcdef
0123456789abcdefABCDEF
Ipv6_to_Ipv4 layer
NSPR_LOG_MODULES
%63[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-]%n:%d%n
bufsize
NSPR_LOG_FILE
Unable to create nspr log file '%s'
WinDebug
%ld[%p]: 
Aborting
Assertion failure: %s, at %s:%d
NSPR pollable events
0123456789ABCDEF
0123456789abcdef
(null)
unable to grow monitor cache hash buckets
expanded monitor cache to %d (buckets %d)
error %d
linker-lock
Executable
Loaded library %s (init)
LD_LIBRARY_PATH
.;\lib
%s\%s%s
%s incr => %d (find lib)
Loaded library %s (load lib)
%s decr => %d
Unloaded library %s
%s incr => %d (for %s)
Loaded library %s (static lib)
counters
PR_Counter: Initialization complete
PR_Counter: Create: QName: %s %p, RName: %s %p
PR_Counter: Deleting: QName: %s, RName: %s
PR_Counter: Deleting RName: %s, %p
PR_Counter: Deleting unused QName: %s, %p
PR_Counter: GetCounterHandleFromName:
	QName: %s, RName: %s
PR_Counter: GetConterHandleFromName: %p
PR_Counter: GetConterNameFromHandle: QNp: %p, RNp: %p,
	QName: %s, RName: %s, Desc: %s
PR_Counter: Increment: %p, %ld
PR_Counter: Decrement: %p, %ld
PR_Counter: AddToCounter: %p, %ld
PR_Counter: SubtractFromCounter: %p, %ld
PR_Counter: GetCounter: %p, %ld
PR_Counter: SetCounter: %p, %ld
PR_Counter: FindNextQname: Handle: %p, Returns: %p
PR_Counter: FindNextRname: Rhandle: %p, QHandle: %p, Returns: %p
Infinity
Placeholder for the end of the list
PR_MAX_ERROR
The one-time function was previously called and failed. Its error code is no longer available
PR_CALL_ONCE_ERROR
The library is not loaded
PR_LIBRARY_NOT_LOADED_ERROR
Host is unreachable
PR_HOST_UNREACHABLE_ERROR
Connection aborted
PR_CONNECT_ABORTED_ERROR
Socket shutdown
PR_SOCKET_SHUTDOWN_ERROR
Network is down
PR_NETWORK_DOWN_ERROR
Object state improper for request
PR_INVALID_STATE_ERROR
The wait group is empty
PR_GROUP_EMPTY_ERROR
Operation has already been initiated (probably a non-blocking connect)
PR_ALREADY_INITIATED_ERROR
Operation is still in progress (probably a non-blocking connect)
PR_IN_PROGRESS_ERROR
The I/O operation was aborted
PR_OPERATION_ABORTED_ERROR
The file is busy
PR_FILE_IS_BUSY_ERROR
Seek error
PR_FILE_SEEK_ERROR
Encountered end of file
PR_END_OF_FILE_ERROR
No more entries in the directory
PR_NO_MORE_FILES_ERROR
The device is locked
PR_DEVICE_IS_LOCKED_ERROR
The required device was in an invalid state
PR_INVALID_DEVICE_STATE_ERROR
Directory is full.  No additional filenames may be added
PR_MAX_DIRECTORY_ENTRIES_ERROR
Cannot create or rename a filename that already exists
PR_FILE_EXISTS_ERROR
The directory object in the file system is corrupted
PR_DIRECTORY_CORRUPTED_ERROR
Cannot rename a file to a file system on another device
PR_NOT_SAME_DEVICE_ERROR
Cannot delete or rename a file object while the file system is busy
PR_FILESYSTEM_MOUNTED_ERROR
Cannot delete a directory that is not empty
PR_DIRECTORY_NOT_EMPTY_ERROR
Cannot write to a read-only file system
PR_READ_ONLY_FILESYSTEM_ERROR
Cannot perform directory operation on a normal file
PR_NOT_DIRECTORY_ERROR
File not found
PR_FILE_NOT_FOUND_ERROR
File name is too long
PR_NAME_TOO_LONG_ERROR
Symbolic link loop
PR_LOOP_ERROR
Cannot perform a normal file operation on a directory
PR_IS_DIRECTORY_ERROR
PR_NO_SEEK_DEVICE_ERROR
PR_PIPE_ERROR
The device for storing the file is full
PR_NO_DEVICE_SPACE_ERROR
Write would result in file larger than the system allows
PR_FILE_TOO_BIG_ERROR
The file is already locked
PR_FILE_IS_LOCKED_ERROR
The operation would have deadlocked
PR_DEADLOCK_ERROR
Unused
PR_RANGE_ERROR
TCP connection reset by peer
PR_CONNECT_RESET_ERROR
The value requested is too large to be stored in the data buffer provided
PR_BUFFER_OVERFLOW_ERROR
Access to the remote file has been severed
PR_REMOTE_FILE_ERROR
The host operating system does not support the protocol requested
PR_PROTOCOL_NOT_SUPPORTED_ERROR
The requested operation is not supported by the platform
PR_OPERATION_NOT_SUPPORTED_ERROR
Access Denied
PR_NO_ACCESS_RIGHTS_ERROR
TCP file descriptor is already bound
PR_SOCKET_ADDRESS_IS_BOUND_ERROR
TCP-specific function attempted on a non-TCP file descriptor
PR_NOT_TCP_SOCKET_ERROR
Network operation attempted on non-network file descriptor
PR_NOT_SOCKET_ERROR
System open FD table is full
PR_SYS_DESC_TABLE_FULL_ERROR
Process open FD table is full
PR_PROC_DESC_TABLE_FULL_ERROR
Attempt to access a TPD key that is out of range
PR_TPD_RANGE_ERROR
A directory lookup on a network address has failed
PR_DIRECTORY_LOOKUP_ERROR
Insufficient system resources
PR_INSUFFICIENT_RESOURCES_ERROR
Symbol not found in any of the loaded dynamic libraries
PR_FIND_SYMBOL_ERROR
Failure to unload dynamic library
PR_UNLOAD_LIBRARY_ERROR
Failure to load dynamic library
PR_LOAD_LIBRARY_ERROR
Network file descriptor is not connected
PR_NOT_CONNECTED_ERROR
Connection attempt timed out
PR_CONNECT_TIMEOUT_ERROR
Network address is presently unreachable
PR_NETWORK_UNREACHABLE_ERROR
Connection refused by peer
PR_CONNECT_REFUSED_ERROR
Local Network address is in use
PR_ADDRESS_IN_USE_ERROR
Network address is invalid
PR_BAD_ADDRESS_ERROR
Already connected
PR_IS_CONNECTED_ERROR
Network address type not supported
PR_ADDRESS_NOT_SUPPORTED_ERROR
Network address not available (in use?)
PR_ADDRESS_NOT_AVAILABLE_ERROR
Invalid function argument
PR_INVALID_ARGUMENT_ERROR
The directory could not be opened
PR_DIRECTORY_OPEN_ERROR
I/O operation on busy file descriptor
PR_IO_PENDING_ERROR
I/O operation timed out
PR_IO_TIMEOUT_ERROR
I/O function error
PR_IO_ERROR
function not implemented
PR_NOT_IMPLEMENTED_ERROR
Operation interrupted by another thread
PR_PENDING_INTERRUPT_ERROR
Some unknown error has occurred
PR_UNKNOWN_ERROR
PR_ILLEGAL_ACCESS_ERROR
Invalid function for file type
PR_INVALID_METHOD_ERROR
Invalid memory address argument
PR_ACCESS_FAULT_ERROR
The operation would have blocked
PR_WOULD_BLOCK_ERROR
Invalid file descriptor
PR_BAD_DESCRIPTOR_ERROR
Memory allocation attempt failed
PR_OUT_OF_MEMORY_ERROR
i-default
Unknown code 
linker
thread
PR_Cleanup: shutting down NSPR
PR_Cleanup: clean up before destroying thread
NSPR_INHERIT_FDS=%s:%d:0x%lx
:%s:%d:0x%lx
NSPR_INHERIT_FDS
%d:0x%lx
ws2_32.dll
wship6.dll
getaddrinfo
freeaddrinfo
getnameinfo
%u.%u.%u.%u
kernel32.dll
GlobalMemoryStatusEx
NewTraceBuffer: logSegments: %ld, logEntries: %ld, logEntriesPerSegment: %ld, logSegSize: %ld
PRTrace: Failed to get trace buffer
PRTrace: Got trace buffer of size: %ld, at %p
PRTRACE: CreateTrace: Qname: %s, RName: %s
PRTrace: Create: QName: %s %p, RName: %s %p
PRTrace: Deleting: QName: %s, RName: %s
PRTrace: Deleting RName: %s, %p
PRTrace: Deleting unused QName: %s, %p
PRSetTraceOption: PRTraceBufSize: %ld
PRSetTraceOption: PRTraceEnable: %p
PRSetTraceOption: PRTraceDisable: %p
PRSetTraceOption: PRTraceSuspend
PRSetTraceOption: PRTraceResume
PRSetTraceOption: PRTraceSuspendRecording
PRSetTraceOption: PRTraceResumeRecording
PRSetTraceOption: PRTraceStopRecording
PRSetTraceOption: PRTraceLockTraceHandles
PRSetTraceOption: PRTraceUnLockHandles
PRSetTraceOption: Invalid command %ld
PRGetTraceOption: PRTraceBufSize: %ld
PRGetTraceOption: Invalid command %ld
PRTrace: GetTraceHandleFromName:
	QName: %s, RName: %s
PRTrace: GetConterNameFromHandle: QNp: %p, RNp: %p,
	QName: %s, RName: %s, Desc: %s
PRTrace: FindNextQname: Handle: %p, Returns: %p
PRTrace: FindNextRname: Rhandle: %p, QHandle: %p, Returns: %p
PR_RecordTraceEntries: begins
NSPR_TRACE_LOG
RecordTraceEntries: Environment variable not defined. Exiting
RecordTraceEntries: Cannot open %s as trace log file. OS error: %ld
RecordTraceEntries: LogReset
RecordTraceEntries: LogSuspend
RecordTraceEntries: LogResume
RecordTraceEntries: LogStop
RecordTraceEntries: Invalid logOrder: %ld
WriteTraceSegment: Buffer: %p, Amount: %ld
RecordTraceEntries: PR_Write() failed. Error: %ld
RecordTraceEntries: PR_Write() Tried to write: %ld, Wrote: %ld
RecordTraceEntries: PR_Write(): Buffer: %p, bytes: %ld
PR_RecordTraceEntries: Failed to initialize
PR_RecordTraceEntries: LostData segments: %ld
RecordTraceEntries: PR_Write(): is suspended
RecordTraceEntries: exiting
PR_GetTraceEntries: Next: %ld, LastSeen: %ld
PR_GetTraceEntries: Copied: %ld, LastSeen: %ld
December
November
October
September
August
February
January
Saturday
Friday
Thursday
Wednesday
Tuesday
Monday
Sunday
%a %b %d %H:%M:%S %Y
%m/%d/%y
%H:%M:%S
read -> %d
write -> %d
connect -> %d
recv: fd=%p osfd=%ld buf=%p amount=%d flags=%d
recv -> %d, error = %d, os error = %d
send: fd=%p osfd=%ld buf=%p amount=%d
send -> %d
Current Thread:
Runnable Threads:
CondVar timed wait Threads:
CondVar wait Threads:
Suspended Threads:
PR_NotifyAll: cvar=%p
thread stack: base=0x%x limit=0x%x bottom=0x%x top=0x%x
thread exiting
NSPR_INHERIT_FDS=
Windows_NT
Windows_98
Windows_95
Windows_Unknown
md_memmap(): %s
_PR_NT_InitSids: OpenProcessToken() failed. Error: %d
PR_SetThreadPriority: can't set thread priority
Kernel32.dll
InitGetFileInfo: GetModuleHandle() failed: %d
GetFileAttributesExA
_PR_MD_LOCKFILE() failed. Error: %d
Ws2_32.dll
WSAIoctl
WSAIoctl() failed with %d
PR_OpenSharedMemory: name is invalid
PR_OpenSharedMemory: New PRSharedMemory out of memory
PR_OpenSharedMemory: New shm->ipcname out of memory
PR_OpenSharedMemory: CreateFileMapping() failed: %s
PR_OpenSharedMemory: Request exclusive & already exists
PR_OpenSharedMemory: CreateFileMapping() success: %s, handle: %d
PR_OpenSharedMemory: OpenFileMapping() failed: %s, error: %d
PR_OpenSharedMemory: OpenFileMapping() success: %s, handle: %d
_MD_AttachSharedMemory: MapViewOfFile() failed. OSerror: %d
_MD_DetachSharedMemory: UnmapViewOfFile() failed. OSerror: %d
_MD_CloseSharedMemory: CloseHandle() failed. OSerror: %d
_md_OpenAnonFileMap(): PR_CreateFileMap(): failed
_md_OpenAnonFileMap(): DuplicateHandle(): failed
%d:%ld:%ld
_md_ExportFileMapAsString(): prot: %x, hFileMap: %x, dwAccess: %x
_md_ImportFileMapFromString(): PR_NEWZAP(): Failed
_md_ImportFileMapFromString(): fm: %p, prot: %d, hFileMap: %8.8x, dwAccess: %8.8x, fd: %x
e:\fx19rel\WINNT_5.2_Depend\mozilla\obj-fx-trunk\nsprpub\pr\src\nspr4.pdb
SetSecurityDescriptorOwner
AddAccessAllowedAce
FreeSid
GetLengthSid
OpenProcessToken
SetSecurityDescriptorGroup
GetTokenInformation
CopySid
InitializeSecurityDescriptor
SetSecurityDescriptorDacl
InitializeAcl
AllocateAndInitializeSid
ADVAPI32.dll
WSOCK32.dll
timeGetTime
WINMM.dll
setvbuf
fwrite
fclose
sscanf
__iob_func
fflush
sprintf
isspace
strchr
memchr
strtol
tolower
isdigit
strtoul
getenv
strstr
strrchr
realloc
calloc
malloc
strerror
_errno
strncmp
isalpha
strftime
_mktime64
_localtime64
strpbrk
_stricmp
_environ
_beginthreadex
_mbsinc
_mbsdec
_stat64i32
_access
_mbspbrk
_time64
MOZCRT19.dll
_encode_pointer
_malloc_crt
_encoded_null
_decode_pointer
_initterm
_initterm_e
_amsg_exit
_adjust_fdiv
__CppXcptFilter
_crt_debugger_hook
__clean_type_info_names_internal
_unlock
__dllonexit
_onexit
_except_handler4_common
EnterCriticalSection
OutputDebugStringA
DebugBreak
GetModuleFileNameA
GetModuleHandleA
FreeLibrary
WideCharToMultiByte
LoadLibraryW
MultiByteToWideChar
GetLastError
SetLastError
GetProcAddress
LoadLibraryA
GetSystemInfo
InterlockedExchange
GlobalMemoryStatus
CloseHandle
CreatePipe
GetStdHandle
TlsGetValue
InitializeCriticalSection
DeleteCriticalSection
TlsSetValue
GetExitCodeProcess
CreateProcessA
TerminateProcess
CreateFileMappingA
GetVersionExA
MapViewOfFile
UnmapViewOfFile
WaitForSingleObject
FreeEnvironmentStringsA
GetSystemTimeAsFileTime
FormatMessageA
GetEnvironmentStrings
GetCurrentProcess
ReleaseSemaphore
CreateSemaphoreA
GetThreadContext
DuplicateHandle
TlsAlloc
TlsFree
SuspendThread
ResumeThread
GetCurrentThread
SetThreadPriority
SetFilePointer
SetHandleInformation
FindNextFileA
UnlockFile
LockFile
GetFileInformationByHandle
DeleteFileA
WriteFile
GetDriveTypeA
ReadFile
FlushFileBuffers
CreateDirectoryA
FindFirstFileA
GetHandleInformation
GetFullPathNameA
RemoveDirectoryA
CreateFileA
FindClose
MoveFileA
LeaveCriticalSection
OpenSemaphoreA
QueryPerformanceCounter
GetTickCount
OpenFileMappingA
InterlockedCompareExchange
UnhandledExceptionFilter
SetUnhandledExceptionFilter
IsDebuggerPresent
GetCurrentThreadId
GetCurrentProcessId
KERNEL32.dll
_strdup
_putenv
memset
memcpy
nspr4.dll
GetExecutionEnvironment
LL_MaxInt
LL_MaxUint
LL_MinInt
LL_Zero
PRP_DestroyNakedCondVar
PRP_NakedBroadcast
PRP_NakedNotify
PRP_NakedWait
PRP_NewNakedCondVar
PRP_TryLock
PR_Abort
PR_Accept
PR_AcceptRead
PR_Access
PR_AddToCounter
PR_AddWaitFileDesc
PR_AllocFileDesc
PR_Assert
PR_AtomicAdd
PR_AtomicDecrement
PR_AtomicIncrement
PR_AtomicSet
PR_AttachSharedMemory
PR_AttachThread
PR_AttachThreadGCAble
PR_Available
PR_Available64
PR_Bind
PR_BlockClockInterrupts
PR_BlockInterrupt
PR_CEnterMonitor
PR_CExitMonitor
PR_CNotify
PR_CNotifyAll
PR_CSetOnMonitorRecycle
PR_CWait
PR_CallOnce
PR_CallOnceWithArg
PR_Calloc
PR_CancelJob
PR_CancelWaitFileDesc
PR_CancelWaitGroup
PR_CeilingLog2
PR_ChangeFileDescNativeHandle
PR_Cleanup
PR_ClearInterrupt
PR_ClearThreadGCAble
PR_Close
PR_CloseDir
PR_CloseFileMap
PR_CloseSemaphore
PR_CloseSharedMemory
PR_Connect
PR_ConnectContinue
PR_ConvertIPv4AddrToIPv6
PR_CreateAlarm
PR_CreateCounter
PR_CreateFileMap
PR_CreateIOLayer
PR_CreateIOLayerStub
PR_CreateMWaitEnumerator
PR_CreateOrderedLock
PR_CreatePipe
PR_CreateProcess
PR_CreateProcessDetached
PR_CreateSocketPollFd
PR_CreateStack
PR_CreateThread
PR_CreateThreadGCAble
PR_CreateThreadPool
PR_CreateTrace
PR_CreateWaitGroup
PR_DecrementCounter
PR_Delete
PR_DeleteSemaphore
PR_DeleteSharedMemory
PR_DestroyAlarm
PR_DestroyCondVar
PR_DestroyCounter
PR_DestroyLock
PR_DestroyMWaitEnumerator
PR_DestroyMonitor
PR_DestroyOrderedLock
PR_DestroyPollableEvent
PR_DestroyProcessAttr
PR_DestroyRWLock
PR_DestroySem
PR_DestroySocketPollFd
PR_DestroyStack
PR_DestroyTrace
PR_DestroyWaitGroup
PR_DetachProcess
PR_DetachSharedMemory
PR_DetachThread
PR_DisableClockInterrupts
PR_EmulateAcceptRead
PR_EmulateSendFile
PR_EnableClockInterrupts
PR_EnterMonitor
PR_EnumerateAddrInfo
PR_EnumerateHostEnt
PR_EnumerateThreads
PR_EnumerateWaitGroup
PR_ErrorInstallCallback
PR_ErrorInstallTable
PR_ErrorLanguages
PR_ErrorToName
PR_ErrorToString
PR_ExitMonitor
PR_ExplodeTime
PR_ExportFileMapAsString
PR_FD_CLR
PR_FD_ISSET
PR_FD_NCLR
PR_FD_NISSET
PR_FD_NSET
PR_FD_SET
PR_FD_ZERO
PR_FileDesc2NativeHandle
PR_FindFunctionSymbol
PR_FindFunctionSymbolAndLibrary
PR_FindNextCounterQname
PR_FindNextCounterRname
PR_FindNextTraceQname
PR_FindNextTraceRname
PR_FindSymbol
PR_FindSymbolAndLibrary
PR_FloorLog2
PR_FormatTime
PR_FormatTimeUSEnglish
PR_Free
PR_FreeAddrInfo
PR_FreeFileDesc
PR_FreeLibraryName
PR_GMTParameters
PR_GetAddrInfoByName
PR_GetCanonNameFromAddrInfo
PR_GetConnectStatus
PR_GetCounter
PR_GetCounterHandleFromName
PR_GetCounterNameFromHandle
PR_GetCurrentThread
PR_GetDefaultIOMethods
PR_GetDescType
PR_GetDirectorySeparator
PR_GetDirectorySepartor
PR_GetEnv
PR_GetError
PR_GetErrorText
PR_GetErrorTextLength
PR_GetFileInfo
PR_GetFileInfo64
PR_GetFileMethods
PR_GetGCRegisters
PR_GetHostByAddr
PR_GetHostByName
PR_GetIPNodeByName
PR_GetIdentitiesLayer
PR_GetInheritedFD
PR_GetInheritedFileMap
PR_GetLayersIdentity
PR_GetLibraryFilePathname
PR_GetLibraryName
PR_GetLibraryPath
PR_GetMemMapAlignment
PR_GetMonitorEntryCount
PR_GetNameForIdentity
PR_GetNumberOfProcessors
PR_GetOSError
PR_GetOpenFileInfo
PR_GetOpenFileInfo64
PR_GetPageShift
PR_GetPageSize
PR_GetPathSeparator
PR_GetPeerName
PR_GetPhysicalMemorySize
PR_GetPipeMethods
PR_GetProtoByName
PR_GetProtoByNumber
PR_GetRandomNoise
PR_GetSP
PR_GetSockName
PR_GetSocketOption
PR_GetSpecialFD
PR_GetStackSpaceLeft
PR_GetSysfdTableMax
PR_GetSystemInfo
PR_GetTCPMethods
PR_GetThreadAffinityMask
PR_GetThreadID
PR_GetThreadPriority
PR_GetThreadPrivate
PR_GetThreadScope
PR_GetThreadState
PR_GetThreadType
PR_GetTraceEntries
PR_GetTraceHandleFromName
PR_GetTraceNameFromHandle
PR_GetTraceOption
PR_GetUDPMethods
PR_GetUniqueIdentity
PR_ImplodeTime
PR_ImportFile
PR_ImportFileMapFromString
PR_ImportPipe
PR_ImportTCPSocket
PR_ImportUDPSocket
PR_IncrementCounter
PR_Init
PR_Initialize
PR_InitializeNetAddr
PR_Initialized
PR_Interrupt
PR_IntervalNow
PR_IntervalToMicroseconds
PR_IntervalToMilliseconds
PR_IntervalToSeconds
PR_IsNetAddrType
PR_JoinJob
PR_JoinThread
PR_JoinThreadPool
PR_KillProcess
PR_Listen
PR_LoadLibrary
PR_LoadLibraryWithFlags
PR_LoadStaticLibrary
PR_LocalTimeParameters
PR_Lock
PR_LockFile
PR_LockOrderedLock
PR_LogFlush
PR_LogPrint
PR_MakeDir
PR_Malloc
PR_MemMap
PR_MemUnmap
PR_MicrosecondsToInterval
PR_MillisecondsToInterval
PR_MkDir
PR_NetAddrToString
PR_NewCondVar
PR_NewLock
PR_NewLogModule
PR_NewMonitor
PR_NewNamedMonitor
PR_NewPollableEvent
PR_NewProcessAttr
PR_NewRWLock
PR_NewSem
PR_NewTCPSocket
PR_NewTCPSocketPair
PR_NewThreadPrivateIndex
PR_NewUDPSocket
PR_NormalizeTime
PR_Notify
PR_NotifyAll
PR_NotifyAllCondVar
PR_NotifyCondVar
PR_Now
PR_Open
PR_OpenAnonFileMap
PR_OpenDir
PR_OpenFile
PR_OpenSemaphore
PR_OpenSharedMemory
PR_OpenTCPSocket
PR_OpenUDPSocket
PR_ParseTimeString
PR_ParseTimeStringToExplodedTime
PR_Poll
PR_PopIOLayer
PR_PostSem
PR_PostSemaphore
PR_ProcessAttrSetCurrentDirectory
PR_ProcessAttrSetInheritableFD
PR_ProcessAttrSetInheritableFileMap
PR_ProcessAttrSetStdioRedirect
PR_ProcessExit
PR_PushIOLayer
PR_QueueJob
PR_QueueJob_Accept
PR_QueueJob_Connect
PR_QueueJob_Read
PR_QueueJob_Timer
PR_QueueJob_Write
PR_RWLock_Rlock
PR_RWLock_Unlock
PR_RWLock_Wlock
PR_Read
PR_ReadDir
PR_Realloc
PR_RecordTraceEntries
PR_Recv
PR_RecvFrom
PR_Rename
PR_ResetAlarm
PR_ResetProcessAttr
PR_ResumeAll
PR_RmDir
PR_ScanStackPointers
PR_SecondsToInterval
PR_Seek
PR_Seek64
PR_Select
PR_Send
PR_SendFile
PR_SendTo
PR_SetAlarm
PR_SetCPUAffinityMask
PR_SetConcurrency
PR_SetCounter
PR_SetEnv
PR_SetError
PR_SetErrorText
PR_SetFDCacheSize
PR_SetFDInheritable
PR_SetLibraryPath
PR_SetLogBuffering
PR_SetLogFile
PR_SetNetAddr
PR_SetPollableEvent
PR_SetSocketOption
PR_SetStdioRedirect
PR_SetSysfdTableSize
PR_SetThreadAffinityMask
PR_SetThreadDumpProc
PR_SetThreadGCAble
PR_SetThreadPriority
PR_SetThreadPrivate
PR_SetThreadRecycleMode
PR_SetTraceOption
PR_ShowStatus
PR_Shutdown
PR_ShutdownThreadPool
PR_Sleep
PR_Socket
PR_StackPop
PR_StackPush
PR_Stat
PR_StringToNetAddr
PR_SubtractFromCounter
PR_SuspendAll
PR_Sync
PR_TLockFile
PR_TestAndEnterMonitor
PR_TestAndLock
PR_ThreadScanStackPointers
PR_TicksPerSecond
PR_Trace
PR_TransmitFile
PR_USPacificTimeParameters
PR_UnblockClockInterrupts
PR_UnblockInterrupt
PR_UnloadLibrary
PR_Unlock
PR_UnlockFile
PR_UnlockOrderedLock
PR_VersionCheck
PR_Wait
PR_WaitCondVar
PR_WaitForPollableEvent
PR_WaitProcess
PR_WaitRecvReady
PR_WaitSem
PR_WaitSemaphore
PR_Write
PR_Writev
PR_Yield
PR_cnvtf
PR_dtoa
PR_fprintf
PR_htonl
PR_htonll
PR_htons
PR_ntohl
PR_ntohll
PR_ntohs
PR_smprintf
PR_smprintf_free
PR_snprintf
PR_sprintf_append
PR_sscanf
PR_strtod
PR_sxprintf
PR_vfprintf
PR_vsmprintf
PR_vsnprintf
PR_vsprintf_append
PR_vsxprintf
PT_FPrintStats
SetExecutionEnvironment
_PR_AddSleepQ
_PR_CreateThread
_PR_DelSleepQ
_PR_GetPrimordialCPU
_PR_MD_FREE_CV
_PR_MD_NEW_CV
_PR_MD_NOTIFYALL_CV
_PR_MD_NOTIFY_CV
_PR_MD_UNLOCK
_PR_MD_WAIT_CV
_PR_NativeCreateThread
_pr_push_ipv6toipv4_layer
_pr_test_ipv6_socket
libVersionPoint
0 0g0r0~0
1'1H1Z1d1y1
2#2:2M2Y2a2m2s2
3#30363?3I3e3l3r3x3~3
4$4/474E4N4e4u4~4
5#5:5v5
6%6,6:6O6[6q6
8L8f8t8
:C:[:h:
;#;,;:;U;
>)>9>F>M>t>
?:?R?f?l?~?
2-3`3m3
5@5J5a5
<4>8><>@>D>H>L>
4k5r5K8Q8V8_8
<*=O=^=
0#0)0-03090=0C0G0M0R0c0h0
101,3;3
;;;A;H;|;
<$<X<g<u<
<A=K=Y=e=o=z=
=3>M>u>~>
0$0-020:0H0e0m0{0
141;1T1s1
2.252N2W2`2k2v2
3*373>3\3
4$4*41494>4C4\4o4t4{4
545C5J5o5y5~5
64696X6
7!717?7`7n7t7
8^8o8u8
9*9:9?9]9b9}9
283<3@3D3H3L3P3T3X3\3`3w3{5
9?9L9P9T9X9\9`9d9h9l9p9t9
>L>U>[>
;/;^;d;s;y;
<'<2<7<=<C<Q<X<q<
=A=H=O=k=p=
>)>/>5>O>a>h>
?7?=?D?
10161~1
2Y3`3m3{3
3)484Z4s4
5/5B5P5
7)797?7d7
8;8G8x8
9B9O9W9a9o9
:	:!:':1:?:E:L:
;#;1;B;L;k;q;w;~;
<!<v<}<
='>R>w>
0*0`0o0
1 1R1d1l1r1y1
565D5T5g5
5(646;6o6{6
9 9'9m9
;2;?;Q;_;x;
>)>6>}>
1G1Z1h1
5#5(5-5>5E5R5X5_5v5
7$72777B7]7g7z7
7)8D8e8r8{8
;8;H;_;l;v;
<'<[<a<q<
=!=A=V=z=
>'>A>J>Y>`>o>
4$4-4H4V4
6 6'6_6/:_:f:7=K=Y=
2?3]3l3y3
5B5S5Y5s5
6Q6W6]6w6
9%9+9I9Z9`9i9o9
:8:H:N:h:y:
;Q;b;h;
4(;,;0;4;8;<;P;W<
=1>B>X>h>}>
? ?'?>?H?O?x?
0!0C0o0
1b1j1o1t1
2+2X2^2l2q2w2~2
4=4I4N4T4]4f4q4
6'6,696>6K6P6]6b6m6u6|6
7#707:7D7N7\7g7m7~7
8J8U8c8i8p8
9-9E9[9f9
:':>:M:
< ='=n=
>c>o>v>
?!?U?f?l?
0,090?0I0`0e0z0
1(1/1m1
2,22292a2
:.:5:z:
;4;:;I;P;
>3>S>Y>h>
?-?D?P?W?}?
0 0>0D0}0<1
=6=o=w=~=
3)3.3@3
7:7@7I7P7
<(=C=[=e=s=
G0U0j0x0
3-3c3m3
4?4T4q4
737A7R7\7
818;8t8
;A;W;w;
1"151P1
3Y4t4~4
617H7X7o7
8!8'808[8
959I9N9
9-:4:U:\:m:
:>;E;g;n;
<#<0<G<U<`<f<k<v<{<
=!=\=y=
=%>R>X>`>h>
>'?1?F?h?
0 0C0I0P0
1$1.171=1D1J1O1^1l1
2/2`2e2q2x2
3"3-3;3E3P3_3k3r3
4!4,4>4M4X4f4u4
5.5D5e5r5{5
8)878B8O8U8_8w8
9+9:9G9L9Q9X9k9p9u9z9
:+:7:E:L:^:u:
;";(;.;H;M;Y;_;g;m;
<%<?<E<|<
=!='=5=;=B=P=U=k=p=
>/>4>H>c>k>x>
00C0^0
9D:H:L:P:T:X:\:`:d:h:l:p:t:x:|:(;4;
=)>0>P>W>x>
1 1$1(1,1014181<1@1D1H1L1P1T1X1\1
5	505=5D5
829a9q9
9):M:c:m:
;(<:<P<Z<
<-=9=p=
?(?G?Y?q?
1.151C1U1`1q1
2*262=2_2i2s2
2#3m3w3
<0<a<m<
=2=X=`=
>$>?>N>\>b>t>
494L4|4
1#1;1A1Q1[1f1
1+2<2C2
2'3.3W3^3
394I4O4U4o4u4
5%5C5I5
7!7'727x7
8H8P8{8
8	9(909w9~9
9':/:V:
;#;B;I;t;
=A>]>~>
+020G0P0
2K2R2s2
3*3K3R3Z3q3w3
4 4'4j4q4
5/585>5S5{5
5 62686>6H6e6m6
7#7/767<7F7K7Q7W7]7b7g7m7r7
7	8<8B8H8b8g8
919J9Q9Y9^9e9t9z9
9':H:T:^:}:
;&;,;2;<;H;M;Y;b;h;
<:<@<K<h<{<
= =T=c=
>(>,>0>4>8><>H>P>j>
-070G0S0Z0
1J1_1f1
2	3&3t3
4+404^4
5!5'5C5]5
6-6K6n6
6A7H7[7a7k7
8&828A8G8U8x8
9A9I9g9
;+;1;6;_;g;m;u;
<9<A<G<P<V<\<
1&272u2
2&3-3s3
5a5l5r5
5*646p6
839:9D9T9Z9
:6:m:v:
;&;I;|;
<1=:=G=V=a=f=n=x=
=D>L>U>
? ?$?;?f?o?
5*5T5a5
9,9g9o9x9
9 :C:*;
3&3-343<3
4>4N4Z4
595U5a5}5
5A6P6{6
=&=,=>=X=j=
>F>[>h>o>
?@?g?s?
0(050K0^0k0
1*161B1P1W1i1
112@2V2q2{2
2&333O3
4!4(4H4N4T4Z4`4f4l4r4x4~4
5!5+505G5Q5z5
6+606>6L6R6X6`6~6
7)7C7L7Q7V7]7c7m7
8*90969<9B9H9O9V9]9d9k9r9y9
:$:-:F:K:]:q:x:
;Z;_;~;
;&<+<=<[<o<u<
=-=B=R=`=h=p=}=
30343 6$6(6,6064686<6@6D6H6L6P6T6X6\6`6d6h6l6p6t6x6|6
7 7$7(7,7074787<7@7D7H7L7P7T7X7\7`7d7h7l7p7t7x7|7
8 8$8(8,8084888<8@8D8H8L8P8T8X8\8`8d8h8l8p8t8x8|8
@0D0T0X0\0`0d0h0l0p0t0x0|0
1 1$1(1,1014181<1@1D1H1L1P1T1X1\1`1d1h1l1t1x1|1
2$2(2,2024282<2@2D2H2L2P2T2X2\2`2d2h2l2p2t2x2|2
3 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|3
4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|4
5 5$5(5,5054585<5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|5
Western Cape1
	Cape Town1
Thawte Consulting cc1(0&
Certification Services Division1!0
Thawte Premium Server CA1(0&
premium-server@thawte.com0
960801000000Z
201231235959Z0
Western Cape1
	Cape Town1
Thawte Consulting cc1(0&
Certification Services Division1!0
Thawte Premium Server CA1(0&
premium-server@thawte.com0
x`^^n7c"w6~
Western Cape1
	Cape Town1
Thawte Consulting cc1(0&
Certification Services Division1!0
Thawte Premium Server CA1(0&
premium-server@thawte.com0
030806000000Z
130805235959Z0U1
ZA1%0#
Thawte Consulting (Pty) Ltd.1
Thawte Code Signing CA0
/http://crl.thawte.com/ThawtePremiumServerCA.crl0
PrivateLabel2-1440
VeriSign, Inc.1+0)
"VeriSign Time Stamping Services CA0
070615000000Z
120614235959Z0\1
VeriSign, Inc.1402
+VeriSign Time Stamping Services Signer - G20
6^bMRQ4q
JcEG.k
http://ocsp.verisign.com0
"http://crl.verisign.com/tss-ca.crl0
TSA1-20
Western Cape1
Durbanville1
Thawte1
Thawte Certification1
Thawte Timestamping CA0
031204000000Z
131203235959Z0S1
VeriSign, Inc.1+0)
"VeriSign Time Stamping Services CA0
http://ocsp.verisign.com0
0http://crl.verisign.com/ThawteTimestampingCA.crl0
TSA2048-1-530
?7!Op1
ZA1%0#
Thawte Consulting (Pty) Ltd.1
Thawte Code Signing CA0
071029223936Z
081101213802Z0
California1
Mountain View1
Mozilla Corporation1'0%
Secure Application Development1
Mozilla Corporation0
www.mozilla.com0>
-http://crl.thawte.com/ThawteCodeSigningCA.crl02
http://ocsp.thawte.com0
ZA1%0#
Thawte Consulting (Pty) Ltd.1
Thawte Code Signing CA
http://www.mozilla.com0
G#CV $
Tm	L4_5
VeriSign, Inc.1+0)
"VeriSign Time Stamping Services CA
080703015035Z0
visua//@line 2 "e:\fx19rel\WINNT_5.2_Depend\mozilla\browser\app\profile\channel-prefs.js"
pref("app.update.channel", "release");
visuaMZ
!This program cannot be run in DOS mode.
`.rdata
@.data
@.reloc
G<f90u
`UVWj@j
F<upWh
;H0tL3
L$4_^[3
L$4_^[3
L$4_^[3
D$\SUVW
L$l_^][3
D$`UVWh :
L$d_^]3
D$XSVW3
L$8WSQUR
<xt-<Xu,
T$ RSW
L$4_][3
D$$SUV
L$4_^][3
t8<nt4<[t0
tD9~ v?
QSVWj,j
9>t)9=
S4RWVSPh0>
WVRPQh0>
D$ _^]
u&9|$ 
9\$$tw
t$d9\$$uh
u!9\$`u
9D$`uu
l$dVWy
D$8_^][
tB9L$Ht
L$LQRj
<.t8<:u
H@+L$,
{P9?t-
{l9?t-
`|$QPVj
VQWRh0U
S4RWVSPh
WVRPQh
H,QVhHY
P(Rh`Z
t.< t <	t
>-u.;u
T$Dt'Vh
T$$j(R
T$$j(R
T$$j(R
T$$j(R
T$$j(R
T$$j(R
T$$j(R
D$$j(P
T$$j(R
T$$j(R
L$$j(Q
D$$j(P
T$$j(R
T$$j(R
T$$j(R
L$$j(Q
=UUUUu*=
P(VRWh
@(VPSh
=UUUUuA=
D$HSVW
L$2f;L$
Ftffff
`[WUWW
`SUVWP
`SUVWP
D$(u(95
T$DRPWVj
`Wu)95
UUUU^3
tm</ti<\teV
T$0Rh,
@,PhTb
t	_^]3
v	N+D$
v	N+D$
License information: http://www.mozilla.org/MPL/
Copyright (c) 1998 Netscape Communications Corporation. All Rights Reserved
Portable runtime
nspr4.dll
2008-07-02 07:29:10
NSPR_FD_CACHE_SIZE_LOW
NSPR_FD_CACHE_SIZE_HIGH
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
0123456789abcdef
0123456789abcdefABCDEF
Ipv6_to_Ipv4 layer
NSPR_LOG_MODULES
%63[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-]%n:%d%n
bufsize
NSPR_LOG_FILE
Unable to create nspr log file '%s'
WinDebug
%ld[%p]: 
Aborting
Assertion failure: %s, at %s:%d
NSPR pollable events
0123456789ABCDEF
0123456789abcdef
(null)
unable to grow monitor cache hash buckets
expanded monitor cache to %d (buckets %d)
error %d
linker-lock
Executable
Loaded library %s (init)
LD_LIBRARY_PATH
.;\lib
%s\%s%s
%s incr => %d (find lib)
Loaded library %s (load lib)
%s decr => %d
Unloaded library %s
%s incr => %d (for %s)
Loaded library %s (static lib)
counters
PR_Counter: Initialization complete
PR_Counter: Create: QName: %s %p, RName: %s %p
PR_Counter: Deleting: QName: %s, RName: %s
PR_Counter: Deleting RName: %s, %p
PR_Counter: Deleting unused QName: %s, %p
PR_Counter: GetCounterHandleFromName:
	QName: %s, RName: %s
PR_Counter: GetConterHandleFromName: %p
PR_Counter: GetConterNameFromHandle: QNp: %p, RNp: %p,
	QName: %s, RName: %s, Desc: %s
PR_Counter: Increment: %p, %ld
PR_Counter: Decrement: %p, %ld
PR_Counter: AddToCounter: %p, %ld
PR_Counter: SubtractFromCounter: %p, %ld
PR_Counter: GetCounter: %p, %ld
PR_Counter: SetCounter: %p, %ld
PR_Counter: FindNextQname: Handle: %p, Returns: %p
PR_Counter: FindNextRname: Rhandle: %p, QHandle: %p, Returns: %p
Infinity
Placeholder for the end of the list
PR_MAX_ERROR
The one-time function was previously called and failed. Its error code is no longer available
PR_CALL_ONCE_ERROR
The library is not loaded
PR_LIBRARY_NOT_LOADED_ERROR
Host is unreachable
PR_HOST_UNREACHABLE_ERROR
Connection aborted
PR_CONNECT_ABORTED_ERROR
Socket shutdown
PR_SOCKET_SHUTDOWN_ERROR
Network is down
PR_NETWORK_DOWN_ERROR
Object state improper for request
PR_INVALID_STATE_ERROR
The wait group is empty
PR_GROUP_EMPTY_ERROR
Operation has already been initiated (probably a non-blocking connect)
PR_ALREADY_INITIATED_ERROR
Operation is still in progress (probably a non-blocking connect)
PR_IN_PROGRESS_ERROR
The I/O operation was aborted
PR_OPERATION_ABORTED_ERROR
The file is busy
PR_FILE_IS_BUSY_ERROR
Seek error
PR_FILE_SEEK_ERROR
Encountered end of file
PR_END_OF_FILE_ERROR
No more entries in the directory
PR_NO_MORE_FILES_ERROR
The device is locked
PR_DEVICE_IS_LOCKED_ERROR
The required device was in an invalid state
PR_INVALID_DEVICE_STATE_ERROR
Directory is full.  No additional filenames may be added
PR_MAX_DIRECTORY_ENTRIES_ERROR
Cannot create or rename a filename that already exists
PR_FILE_EXISTS_ERROR
The directory object in the file system is corrupted
PR_DIRECTORY_CORRUPTED_ERROR
Cannot rename a file to a file system on another device
PR_NOT_SAME_DEVICE_ERROR
Cannot delete or rename a file object while the file system is busy
PR_FILESYSTEM_MOUNTED_ERROR
Cannot delete a directory that is not empty
PR_DIRECTORY_NOT_EMPTY_ERROR
Cannot write to a read-only file system
PR_READ_ONLY_FILESYSTEM_ERROR
Cannot perform directory operation on a normal file
PR_NOT_DIRECTORY_ERROR
File not found
PR_FILE_NOT_FOUND_ERROR
File name is too long
PR_NAME_TOO_LONG_ERROR
Symbolic link loop
PR_LOOP_ERROR
Cannot perform a normal file operation on a directory
PR_IS_DIRECTORY_ERROR
PR_NO_SEEK_DEVICE_ERROR
PR_PIPE_ERROR
The device for storing the file is full
PR_NO_DEVICE_SPACE_ERROR
Write would result in file larger than the system allows
PR_FILE_TOO_BIG_ERROR
The file is already locked
PR_FILE_IS_LOCKED_ERROR
The operation would have deadlocked
PR_DEADLOCK_ERROR
Unused
PR_RANGE_ERROR
TCP connection reset by peer
PR_CONNECT_RESET_ERROR
The value requested is too large to be stored in the data buffer provided
PR_BUFFER_OVERFLOW_ERROR
Access to the remote file has been severed
PR_REMOTE_FILE_ERROR
The host operating system does not support the protocol requested
PR_PROTOCOL_NOT_SUPPORTED_ERROR
The requested operation is not supported by the platform
PR_OPERATION_NOT_SUPPORTED_ERROR
Access Denied
PR_NO_ACCESS_RIGHTS_ERROR
TCP file descriptor is already bound
PR_SOCKET_ADDRESS_IS_BOUND_ERROR
TCP-specific function attempted on a non-TCP file descriptor
PR_NOT_TCP_SOCKET_ERROR
Network operation attempted on non-network file descriptor
PR_NOT_SOCKET_ERROR
System open FD table is full
PR_SYS_DESC_TABLE_FULL_ERROR
Process open FD table is full
PR_PROC_DESC_TABLE_FULL_ERROR
Attempt to access a TPD key that is out of range
PR_TPD_RANGE_ERROR
A directory lookup on a network address has failed
PR_DIRECTORY_LOOKUP_ERROR
Insufficient system resources
PR_INSUFFICIENT_RESOURCES_ERROR
Symbol not found in any of the loaded dynamic libraries
PR_FIND_SYMBOL_ERROR
Failure to unload dynamic library
PR_UNLOAD_LIBRARY_ERROR
Failure to load dynamic library
PR_LOAD_LIBRARY_ERROR
Network file descriptor is not connected
PR_NOT_CONNECTED_ERROR
Connection attempt timed out
PR_CONNECT_TIMEOUT_ERROR
Network address is presently unreachable
PR_NETWORK_UNREACHABLE_ERROR
Connection refused by peer
PR_CONNECT_REFUSED_ERROR
Local Network address is in use
PR_ADDRESS_IN_USE_ERROR
Network address is invalid
PR_BAD_ADDRESS_ERROR
Already connected
PR_IS_CONNECTED_ERROR
Network address type not supported
PR_ADDRESS_NOT_SUPPORTED_ERROR
Network address not available (in use?)
PR_ADDRESS_NOT_AVAILABLE_ERROR
Invalid function argument
PR_INVALID_ARGUMENT_ERROR
The directory could not be opened
PR_DIRECTORY_OPEN_ERROR
I/O operation on busy file descriptor
PR_IO_PENDING_ERROR
I/O operation timed out
PR_IO_TIMEOUT_ERROR
I/O function error
PR_IO_ERROR
function not implemented
PR_NOT_IMPLEMENTED_ERROR
Operation interrupted by another thread
PR_PENDING_INTERRUPT_ERROR
Some unknown error has occurred
PR_UNKNOWN_ERROR
PR_ILLEGAL_ACCESS_ERROR
Invalid function for file type
PR_INVALID_METHOD_ERROR
Invalid memory address argument
PR_ACCESS_FAULT_ERROR
The operation would have blocked
PR_WOULD_BLOCK_ERROR
Invalid file descriptor
PR_BAD_DESCRIPTOR_ERROR
Memory allocation attempt failed
PR_OUT_OF_MEMORY_ERROR
i-default
Unknown code 
linker
thread
PR_Cleanup: shutting down NSPR
PR_Cleanup: clean up before destroying thread
NSPR_INHERIT_FDS=%s:%d:0x%lx
:%s:%d:0x%lx
NSPR_INHERIT_FDS
%d:0x%lx
ws2_32.dll
wship6.dll
getaddrinfo
freeaddrinfo
getnameinfo
%u.%u.%u.%u
kernel32.dll
GlobalMemoryStatusEx
NewTraceBuffer: logSegments: %ld, logEntries: %ld, logEntriesPerSegment: %ld, logSegSize: %ld
PRTrace: Failed to get trace buffer
PRTrace: Got trace buffer of size: %ld, at %p
PRTRACE: CreateTrace: Qname: %s, RName: %s
PRTrace: Create: QName: %s %p, RName: %s %p
PRTrace: Deleting: QName: %s, RName: %s
PRTrace: Deleting RName: %s, %p
PRTrace: Deleting unused QName: %s, %p
PRSetTraceOption: PRTraceBufSize: %ld
PRSetTraceOption: PRTraceEnable: %p
PRSetTraceOption: PRTraceDisable: %p
PRSetTraceOption: PRTraceSuspend
PRSetTraceOption: PRTraceResume
PRSetTraceOption: PRTraceSuspendRecording
PRSetTraceOption: PRTraceResumeRecording
PRSetTraceOption: PRTraceStopRecording
PRSetTraceOption: PRTraceLockTraceHandles
PRSetTraceOption: PRTraceUnLockHandles
PRSetTraceOption: Invalid command %ld
PRGetTraceOption: PRTraceBufSize: %ld
PRGetTraceOption: Invalid command %ld
PRTrace: GetTraceHandleFromName:
	QName: %s, RName: %s
PRTrace: GetConterNameFromHandle: QNp: %p, RNp: %p,
	QName: %s, RName: %s, Desc: %s
PRTrace: FindNextQname: Handle: %p, Returns: %p
PRTrace: FindNextRname: Rhandle: %p, QHandle: %p, Returns: %p
PR_RecordTraceEntries: begins
NSPR_TRACE_LOG
RecordTraceEntries: Environment variable not defined. Exiting
RecordTraceEntries: Cannot open %s as trace log file. OS error: %ld
RecordTraceEntries: LogReset
RecordTraceEntries: LogSuspend
RecordTraceEntries: LogResume
RecordTraceEntries: LogStop
RecordTraceEntries: Invalid logOrder: %ld
WriteTraceSegment: Buffer: %p, Amount: %ld
RecordTraceEntries: PR_Write() failed. Error: %ld
RecordTraceEntries: PR_Write() Tried to write: %ld, Wrote: %ld
RecordTraceEntries: PR_Write(): Buffer: %p, bytes: %ld
PR_RecordTraceEntries: Failed to initialize
PR_RecordTraceEntries: LostData segments: %ld
RecordTraceEntries: PR_Write(): is suspended
RecordTraceEntries: exiting
PR_GetTraceEntries: Next: %ld, LastSeen: %ld
PR_GetTraceEntries: Copied: %ld, LastSeen: %ld
December
November
October
September
August
February
January
Saturday
Friday
Thursday
Wednesday
Tuesday
Monday
Sunday
%a %b %d %H:%M:%S %Y
%m/%d/%y
%H:%M:%S
read -> %d
write -> %d
connect -> %d
recv: fd=%p osfd=%ld buf=%p amount=%d flags=%d
recv -> %d, error = %d, os error = %d
send: fd=%p osfd=%ld buf=%p amount=%d
send -> %d
Current Thread:
Runnable Threads:
CondVar timed wait Threads:
CondVar wait Threads:
Suspended Threads:
PR_NotifyAll: cvar=%p
thread stack: base=0x%x limit=0x%x bottom=0x%x top=0x%x
thread exiting
NSPR_INHERIT_FDS=
Windows_NT
Windows_98
Windows_95
Windows_Unknown
md_memmap(): %s
_PR_NT_InitSids: OpenProcessToken() failed. Error: %d
PR_SetThreadPriority: can't set thread priority
Kernel32.dll
InitGetFileInfo: GetModuleHandle() failed: %d
GetFileAttributesExA
_PR_MD_LOCKFILE() failed. Error: %d
Ws2_32.dll
WSAIoctl
WSAIoctl() failed with %d
PR_OpenSharedMemory: name is invalid
PR_OpenSharedMemory: New PRSharedMemory out of memory
PR_OpenSharedMemory: New shm->ipcname out of memory
PR_OpenSharedMemory: CreateFileMapping() failed: %s
PR_OpenSharedMemory: Request exclusive & already exists
PR_OpenSharedMemory: CreateFileMapping() success: %s, handle: %d
PR_OpenSharedMemory: OpenFileMapping() failed: %s, error: %d
PR_OpenSharedMemory: OpenFileMapping() success: %s, handle: %d
_MD_AttachSharedMemory: MapViewOfFile() failed. OSerror: %d
_MD_DetachSharedMemory: UnmapViewOfFile() failed. OSerror: %d
_MD_CloseSharedMemory: CloseHandle() failed. OSerror: %d
_md_OpenAnonFileMap(): PR_CreateFileMap(): failed
_md_OpenAnonFileMap(): DuplicateHandle(): failed
%d:%ld:%ld
_md_ExportFileMapAsString(): prot: %x, hFileMap: %x, dwAccess: %x
_md_ImportFileMapFromString(): PR_NEWZAP(): Failed
_md_ImportFileMapFromString(): fm: %p, prot: %d, hFileMap: %8.8x, dwAccess: %8.8x, fd: %x
e:\fx19rel\WINNT_5.2_Depend\mozilla\obj-fx-trunk\nsprpub\pr\src\nspr4.pdb
SetSecurityDescriptorOwner
AddAccessAllowedAce
FreeSid
GetLengthSid
OpenProcessToken
SetSecurityDescriptorGroup
GetTokenInformation
CopySid
InitializeSecurityDescriptor
SetSecurityDescriptorDacl
InitializeAcl
AllocateAndInitializeSid
ADVAPI32.dll
WSOCK32.dll
timeGetTime
WINMM.dll
setvbuf
fwrite
fclose
sscanf
__iob_func
fflush
sprintf
isspace
strchr
memchr
strtol
tolower
isdigit
strtoul
getenv
strstr
strrchr
realloc
calloc
malloc
strerror
_errno
strncmp
isalpha
strftime
_mktime64
_localtime64
strpbrk
_stricmp
_environ
_beginthreadex
_mbsinc
_mbsdec
_stat64i32
_access
_mbspbrk
_time64
MOZCRT19.dll
_encode_pointer
_malloc_crt
_encoded_null
_decode_pointer
_initterm
_initterm_e
_amsg_exit
_adjust_fdiv
__CppXcptFilter
_crt_debugger_hook
__clean_type_info_names_internal
_unlock
__dllonexit
_onexit
_except_handler4_common
EnterCriticalSection
OutputDebugStringA
DebugBreak
GetModuleFileNameA
GetModuleHandleA
FreeLibrary
WideCharToMultiByte
LoadLibraryW
MultiByteToWideChar
GetLastError
SetLastError
GetProcAddress
LoadLibraryA
GetSystemInfo
InterlockedExchange
GlobalMemoryStatus
CloseHandle
CreatePipe
GetStdHandle
TlsGetValue
InitializeCriticalSection
DeleteCriticalSection
TlsSetValue
GetExitCodeProcess
CreateProcessA
TerminateProcess
CreateFileMappingA
GetVersionExA
MapViewOfFile
UnmapViewOfFile
WaitForSingleObject
FreeEnvironmentStringsA
GetSystemTimeAsFileTime
FormatMessageA
GetEnvironmentStrings
GetCurrentProcess
ReleaseSemaphore
CreateSemaphoreA
GetThreadContext
DuplicateHandle
TlsAlloc
TlsFree
SuspendThread
ResumeThread
GetCurrentThread
SetThreadPriority
SetFilePointer
SetHandleInformation
FindNextFileA
UnlockFile
LockFile
GetFileInformationByHandle
DeleteFileA
WriteFile
GetDriveTypeA
ReadFile
FlushFileBuffers
CreateDirectoryA
FindFirstFileA
GetHandleInformation
GetFullPathNameA
RemoveDirectoryA
CreateFileA
FindClose
MoveFileA
LeaveCriticalSection
OpenSemaphoreA
QueryPerformanceCounter
GetTickCount
OpenFileMappingA
InterlockedCompareExchange
UnhandledExceptionFilter
SetUnhandledExceptionFilter
IsDebuggerPresent
GetCurrentThreadId
GetCurrentProcessId
KERNEL32.dll
_strdup
_putenv
memset
memcpy
nspr4.dll
GetExecutionEnvironment
LL_MaxInt
LL_MaxUint
LL_MinInt
LL_Zero
PRP_DestroyNakedCondVar
PRP_NakedBroadcast
PRP_NakedNotify
PRP_NakedWait
PRP_NewNakedCondVar
PRP_TryLock
PR_Abort
PR_Accept
PR_AcceptRead
PR_Access
PR_AddToCounter
PR_AddWaitFileDesc
PR_AllocFileDesc
PR_Assert
PR_AtomicAdd
PR_AtomicDecrement
PR_AtomicIncrement
PR_AtomicSet
PR_AttachSharedMemory
PR_AttachThread
PR_AttachThreadGCAble
PR_Available
PR_Available64
PR_Bind
PR_BlockClockInterrupts
PR_BlockInterrupt
PR_CEnterMonitor
PR_CExitMonitor
PR_CNotify
PR_CNotifyAll
PR_CSetOnMonitorRecycle
PR_CWait
PR_CallOnce
PR_CallOnceWithArg
PR_Calloc
PR_CancelJob
PR_CancelWaitFileDesc
PR_CancelWaitGroup
PR_CeilingLog2
PR_ChangeFileDescNativeHandle
PR_Cleanup
PR_ClearInterrupt
PR_ClearThreadGCAble
PR_Close
PR_CloseDir
PR_CloseFileMap
PR_CloseSemaphore
PR_CloseSharedMemory
PR_Connect
PR_ConnectContinue
PR_ConvertIPv4AddrToIPv6
PR_CreateAlarm
PR_CreateCounter
PR_CreateFileMap
PR_CreateIOLayer
PR_CreateIOLayerStub
PR_CreateMWaitEnumerator
PR_CreateOrderedLock
PR_CreatePipe
PR_CreateProcess
PR_CreateProcessDetached
PR_CreateSocketPollFd
PR_CreateStack
PR_CreateThread
PR_CreateThreadGCAble
PR_CreateThreadPool
PR_CreateTrace
PR_CreateWaitGroup
PR_DecrementCounter
PR_Delete
PR_DeleteSemaphore
PR_DeleteSharedMemory
PR_DestroyAlarm
PR_DestroyCondVar
PR_DestroyCounter
PR_DestroyLock
PR_DestroyMWaitEnumerator
PR_DestroyMonitor
PR_DestroyOrderedLock
PR_DestroyPollableEvent
PR_DestroyProcessAttr
PR_DestroyRWLock
PR_DestroySem
PR_DestroySocketPollFd
PR_DestroyStack
PR_DestroyTrace
PR_DestroyWaitGroup
PR_DetachProcess
PR_DetachSharedMemory
PR_DetachThread
PR_DisableClockInterrupts
PR_EmulateAcceptRead
PR_EmulateSendFile
PR_EnableClockInterrupts
PR_EnterMonitor
PR_EnumerateAddrInfo
PR_EnumerateHostEnt
PR_EnumerateThreads
PR_EnumerateWaitGroup
PR_ErrorInstallCallback
PR_ErrorInstallTable
PR_ErrorLanguages
PR_ErrorToName
PR_ErrorToString
PR_ExitMonitor
PR_ExplodeTime
PR_ExportFileMapAsString
PR_FD_CLR
PR_FD_ISSET
PR_FD_NCLR
PR_FD_NISSET
PR_FD_NSET
PR_FD_SET
PR_FD_ZERO
PR_FileDesc2NativeHandle
PR_FindFunctionSymbol
PR_FindFunctionSymbolAndLibrary
PR_FindNextCounterQname
PR_FindNextCounterRname
PR_FindNextTraceQname
PR_FindNextTraceRname
PR_FindSymbol
PR_FindSymbolAndLibrary
PR_FloorLog2
PR_FormatTime
PR_FormatTimeUSEnglish
PR_Free
PR_FreeAddrInfo
PR_FreeFileDesc
PR_FreeLibraryName
PR_GMTParameters
PR_GetAddrInfoByName
PR_GetCanonNameFromAddrInfo
PR_GetConnectStatus
PR_GetCounter
PR_GetCounterHandleFromName
PR_GetCounterNameFromHandle
PR_GetCurrentThread
PR_GetDefaultIOMethods
PR_GetDescType
PR_GetDirectorySeparator
PR_GetDirectorySepartor
PR_GetEnv
PR_GetError
PR_GetErrorText
PR_GetErrorTextLength
PR_GetFileInfo
PR_GetFileInfo64
PR_GetFileMethods
PR_GetGCRegisters
PR_GetHostByAddr
PR_GetHostByName
PR_GetIPNodeByName
PR_GetIdentitiesLayer
PR_GetInheritedFD
PR_GetInheritedFileMap
PR_GetLayersIdentity
PR_GetLibraryFilePathname
PR_GetLibraryName
PR_GetLibraryPath
PR_GetMemMapAlignment
PR_GetMonitorEntryCount
PR_GetNameForIdentity
PR_GetNumberOfProcessors
PR_GetOSError
PR_GetOpenFileInfo
PR_GetOpenFileInfo64
PR_GetPageShift
PR_GetPageSize
PR_GetPathSeparator
PR_GetPeerName
PR_GetPhysicalMemorySize
PR_GetPipeMethods
PR_GetProtoByName
PR_GetProtoByNumber
PR_GetRandomNoise
PR_GetSP
PR_GetSockName
PR_GetSocketOption
PR_GetSpecialFD
PR_GetStackSpaceLeft
PR_GetSysfdTableMax
PR_GetSystemInfo
PR_GetTCPMethods
PR_GetThreadAffinityMask
PR_GetThreadID
PR_GetThreadPriority
PR_GetThreadPrivate
PR_GetThreadScope
PR_GetThreadState
PR_GetThreadType
PR_GetTraceEntries
PR_GetTraceHandleFromName
PR_GetTraceNameFromHandle
PR_GetTraceOption
PR_GetUDPMethods
PR_GetUniqueIdentity
PR_ImplodeTime
PR_ImportFile
PR_ImportFileMapFromString
PR_ImportPipe
PR_ImportTCPSocket
PR_ImportUDPSocket
PR_IncrementCounter
PR_Init
PR_Initialize
PR_InitializeNetAddr
PR_Initialized
PR_Interrupt
PR_IntervalNow
PR_IntervalToMicroseconds
PR_IntervalToMilliseconds
PR_IntervalToSeconds
PR_IsNetAddrType
PR_JoinJob
PR_JoinThread
PR_JoinThreadPool
PR_KillProcess
PR_Listen
PR_LoadLibrary
PR_LoadLibraryWithFlags
PR_LoadStaticLibrary
PR_LocalTimeParameters
PR_Lock
PR_LockFile
PR_LockOrderedLock
PR_LogFlush
PR_LogPrint
PR_MakeDir
PR_Malloc
PR_MemMap
PR_MemUnmap
PR_MicrosecondsToInterval
PR_MillisecondsToInterval
PR_MkDir
PR_NetAddrToString
PR_NewCondVar
PR_NewLock
PR_NewLogModule
PR_NewMonitor
PR_NewNamedMonitor
PR_NewPollableEvent
PR_NewProcessAttr
PR_NewRWLock
PR_NewSem
PR_NewTCPSocket
PR_NewTCPSocketPair
PR_NewThreadPrivateIndex
PR_NewUDPSocket
PR_NormalizeTime
PR_Notify
PR_NotifyAll
PR_NotifyAllCondVar
PR_NotifyCondVar
PR_Now
PR_Open
PR_OpenAnonFileMap
PR_OpenDir
PR_OpenFile
PR_OpenSemaphore
PR_OpenSharedMemory
PR_OpenTCPSocket
PR_OpenUDPSocket
PR_ParseTimeString
PR_ParseTimeStringToExplodedTime
PR_Poll
PR_PopIOLayer
PR_PostSem
PR_PostSemaphore
PR_ProcessAttrSetCurrentDirectory
PR_ProcessAttrSetInheritableFD
PR_ProcessAttrSetInheritableFileMap
PR_ProcessAttrSetStdioRedirect
PR_ProcessExit
PR_PushIOLayer
PR_QueueJob
PR_QueueJob_Accept
PR_QueueJob_Connect
PR_QueueJob_Read
PR_QueueJob_Timer
PR_QueueJob_Write
PR_RWLock_Rlock
PR_RWLock_Unlock
PR_RWLock_Wlock
PR_Read
PR_ReadDir
PR_Realloc
PR_RecordTraceEntries
PR_Recv
PR_RecvFrom
PR_Rename
PR_ResetAlarm
PR_ResetProcessAttr
PR_ResumeAll
PR_RmDir
PR_ScanStackPointers
PR_SecondsToInterval
PR_Seek
PR_Seek64
PR_Select
PR_Send
PR_SendFile
PR_SendTo
PR_SetAlarm
PR_SetCPUAffinityMask
PR_SetConcurrency
PR_SetCounter
PR_SetEnv
PR_SetError
PR_SetErrorText
PR_SetFDCacheSize
PR_SetFDInheritable
PR_SetLibraryPath
PR_SetLogBuffering
PR_SetLogFile
PR_SetNetAddr
PR_SetPollableEvent
PR_SetSocketOption
PR_SetStdioRedirect
PR_SetSysfdTableSize
PR_SetThreadAffinityMask
PR_SetThreadDumpProc
PR_SetThreadGCAble
PR_SetThreadPriority
PR_SetThreadPrivate
PR_SetThreadRecycleMode
PR_SetTraceOption
PR_ShowStatus
PR_Shutdown
PR_ShutdownThreadPool
PR_Sleep
PR_Socket
PR_StackPop
PR_StackPush
PR_Stat
PR_StringToNetAddr
PR_SubtractFromCounter
PR_SuspendAll
PR_Sync
PR_TLockFile
PR_TestAndEnterMonitor
PR_TestAndLock
PR_ThreadScanStackPointers
PR_TicksPerSecond
PR_Trace
PR_TransmitFile
PR_USPacificTimeParameters
PR_UnblockClockInterrupts
PR_UnblockInterrupt
PR_UnloadLibrary
PR_Unlock
PR_UnlockFile
PR_UnlockOrderedLock
PR_VersionCheck
PR_Wait
PR_WaitCondVar
PR_WaitForPollableEvent
PR_WaitProcess
PR_WaitRecvReady
PR_WaitSem
PR_WaitSemaphore
PR_Write
PR_Writev
PR_Yield
PR_cnvtf
PR_dtoa
PR_fprintf
PR_htonl
PR_htonll
PR_htons
PR_ntohl
PR_ntohll
PR_ntohs
PR_smprintf
PR_smprintf_free
PR_snprintf
PR_sprintf_append
PR_sscanf
PR_strtod
PR_sxprintf
PR_vfprintf
PR_vsmprintf
PR_vsnprintf
PR_vsprintf_append
PR_vsxprintf
PT_FPrintStats
SetExecutionEnvironment
_PR_AddSleepQ
_PR_CreateThread
_PR_DelSleepQ
_PR_GetPrimordialCPU
_PR_MD_FREE_CV
_PR_MD_NEW_CV
_PR_MD_NOTIFYALL_CV
_PR_MD_NOTIFY_CV
_PR_MD_UNLOCK
_PR_MD_WAIT_CV
_PR_NativeCreateThread
_pr_push_ipv6toipv4_layer
_pr_test_ipv6_socket
libVersionPoint
0 0g0r0~0
1'1H1Z1d1y1
2#2:2M2Y2a2m2s2
3#30363?3I3e3l3r3x3~3
4$4/474E4N4e4u4~4
5#5:5v5
6%6,6:6O6[6q6
8L8f8t8
:C:[:h:
;#;,;:;U;
>)>9>F>M>t>
?:?R?f?l?~?
2-3`3m3
5@5J5a5
<4>8><>@>D>H>L>
4k5r5K8Q8V8_8
<*=O=^=
0#0)0-03090=0C0G0M0R0c0h0
101,3;3
;;;A;H;|;
<$<X<g<u<
<A=K=Y=e=o=z=
=3>M>u>~>
0$0-020:0H0e0m0{0
141;1T1s1
2.252N2W2`2k2v2
3*373>3\3
4$4*41494>4C4\4o4t4{4
545C5J5o5y5~5
64696X6
7!717?7`7n7t7
8^8o8u8
9*9:9?9]9b9}9
283<3@3D3H3L3P3T3X3\3`3w3{5
9?9L9P9T9X9\9`9d9h9l9p9t9
>L>U>[>
;/;^;d;s;y;
<'<2<7<=<C<Q<X<q<
=A=H=O=k=p=
>)>/>5>O>a>h>
?7?=?D?
10161~1
2Y3`3m3{3
3)484Z4s4
5/5B5P5
7)797?7d7
8;8G8x8
9B9O9W9a9o9
:	:!:':1:?:E:L:
;#;1;B;L;k;q;w;~;
<!<v<}<
='>R>w>
0*0`0o0
1 1R1d1l1r1y1
565D5T5g5
5(646;6o6{6
9 9'9m9
;2;?;Q;_;x;
>)>6>}>
1G1Z1h1
5#5(5-5>5E5R5X5_5v5
7$72777B7]7g7z7
7)8D8e8r8{8
;8;H;_;l;v;
<'<[<a<q<
=!=A=V=z=
>'>A>J>Y>`>o>
4$4-4H4V4
6 6'6_6/:_:f:7=K=Y=
2?3]3l3y3
5B5S5Y5s5
6Q6W6]6w6
9%9+9I9Z9`9i9o9
:8:H:N:h:y:
;Q;b;h;
4(;,;0;4;8;<;P;W<
=1>B>X>h>}>
? ?'?>?H?O?x?
0!0C0o0
1b1j1o1t1
2+2X2^2l2q2w2~2
4=4I4N4T4]4f4q4
6'6,696>6K6P6]6b6m6u6|6
7#707:7D7N7\7g7m7~7
8J8U8c8i8p8
9-9E9[9f9
:':>:M:
< ='=n=
>c>o>v>
?!?U?f?l?
0,090?0I0`0e0z0
1(1/1m1
2,22292a2
:.:5:z:
;4;:;I;P;
>3>S>Y>h>
?-?D?P?W?}?
0 0>0D0}0<1
=6=o=w=~=
3)3.3@3
7:7@7I7P7
<(=C=[=e=s=
G0U0j0x0
3-3c3m3
4?4T4q4
737A7R7\7
818;8t8
;A;W;w;
1"151P1
3Y4t4~4
617H7X7o7
8!8'808[8
959I9N9
9-:4:U:\:m:
:>;E;g;n;
<#<0<G<U<`<f<k<v<{<
=!=\=y=
=%>R>X>`>h>
>'?1?F?h?
0 0C0I0P0
1$1.171=1D1J1O1^1l1
2/2`2e2q2x2
3"3-3;3E3P3_3k3r3
4!4,4>4M4X4f4u4
5.5D5e5r5{5
8)878B8O8U8_8w8
9+9:9G9L9Q9X9k9p9u9z9
:+:7:E:L:^:u:
;";(;.;H;M;Y;_;g;m;
<%<?<E<|<
=!='=5=;=B=P=U=k=p=
>/>4>H>c>k>x>
00C0^0
9D:H:L:P:T:X:\:`:d:h:l:p:t:x:|:(;4;
=)>0>P>W>x>
1 1$1(1,1014181<1@1D1H1L1P1T1X1\1
5	505=5D5
829a9q9
9):M:c:m:
;(<:<P<Z<
<-=9=p=
?(?G?Y?q?
1.151C1U1`1q1
2*262=2_2i2s2
2#3m3w3
<0<a<m<
=2=X=`=
>$>?>N>\>b>t>
494L4|4
1#1;1A1Q1[1f1
1+2<2C2
2'3.3W3^3
394I4O4U4o4u4
5%5C5I5
7!7'727x7
8H8P8{8
8	9(909w9~9
9':/:V:
;#;B;I;t;
=A>]>~>
+020G0P0
2K2R2s2
3*3K3R3Z3q3w3
4 4'4j4q4
5/585>5S5{5
5 62686>6H6e6m6
7#7/767<7F7K7Q7W7]7b7g7m7r7
7	8<8B8H8b8g8
919J9Q9Y9^9e9t9z9
9':H:T:^:}:
;&;,;2;<;H;M;Y;b;h;
<:<@<K<h<{<
= =T=c=
>(>,>0>4>8><>H>P>j>
-070G0S0Z0
1J1_1f1
2	3&3t3
4+404^4
5!5'5C5]5
6-6K6n6
6A7H7[7a7k7
8&828A8G8U8x8
9A9I9g9
;+;1;6;_;g;m;u;
<9<A<G<P<V<\<
1&272u2
2&3-3s3
5a5l5r5
5*646p6
839:9D9T9Z9
:6:m:v:
;&;I;|;
<1=:=G=V=a=f=n=x=
=D>L>U>
? ?$?;?f?o?
5*5T5a5
9,9g9o9x9
9 :C:*;
3&3-343<3
4>4N4Z4
595U5a5}5
5A6P6{6
=&=,=>=X=j=
>F>[>h>o>
?@?g?s?
0(050K0^0k0
1*161B1P1W1i1
112@2V2q2{2
2&333O3
4!4(4H4N4T4Z4`4f4l4r4x4~4
5!5+505G5Q5z5
6+606>6L6R6X6`6~6
7)7C7L7Q7V7]7c7m7
8*90969<9B9H9O9V9]9d9k9r9y9
:$:-:F:K:]:q:x:
;Z;_;~;
;&<+<=<[<o<u<
=-=B=R=`=h=p=}=
30343 6$6(6,6064686<6@6D6H6L6P6T6X6\6`6d6h6l6p6t6x6|6
7 7$7(7,7074787<7@7D7H7L7P7T7X7\7`7d7h7l7p7t7x7|7
8 8$8(8,8084888<8@8D8H8L8P8T8X8\8`8d8h8l8p8t8x8|8
@0D0T0X0\0`0d0h0l0p0t0x0|0
1 1$1(1,1014181<1@1D1H1L1P1T1X1\1`1d1h1l1t1x1|1
2$2(2,2024282<2@2D2H2L2P2T2X2\2`2d2h2l2p2t2x2|2
3 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|3
4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|4
5 5$5(5,5054585<5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|5
Western Cape1
	Cape Town1
Thawte Consulting cc1(0&
Certification Services Division1!0
Thawte Premium Server CA1(0&
premium-server@thawte.com0
960801000000Z
201231235959Z0
Western Cape1
	Cape Town1
Thawte Consulting cc1(0&
Certification Services Division1!0
Thawte Premium Server CA1(0&
premium-server@thawte.com0
x`^^n7c"w6~
Western Cape1
	Cape Town1
Thawte Consulting cc1(0&
Certification Services Division1!0
Thawte Premium Server CA1(0&
premium-server@thawte.com0
030806000000Z
130805235959Z0U1
ZA1%0#
Thawte Consulting (Pty) Ltd.1
Thawte Code Signing CA0
/http://crl.thawte.com/ThawtePremiumServerCA.crl0
PrivateLabel2-1440
VeriSign, Inc.1+0)
"VeriSign Time Stamping Services CA0
070615000000Z
120614235959Z0\1
VeriSign, Inc.1402
+VeriSign Time Stamping Services Signer - G20
6^bMRQ4q
JcEG.k
http://ocsp.verisign.com0
"http://crl.verisign.com/tss-ca.crl0
TSA1-20
Western Cape1
Durbanville1
Thawte1
Thawte Certification1
Thawte Timestamping CA0
031204000000Z
131203235959Z0S1
VeriSign, Inc.1+0)
"VeriSign Time Stamping Services CA0
http://ocsp.verisign.com0
0http://crl.verisign.com/ThawteTimestampingCA.crl0
TSA2048-1-530
?7!Op1
ZA1%0#
Thawte Consulting (Pty) Ltd.1
Thawte Code Signing CA0
071029223936Z
081101213802Z0
California1
Mountain View1
Mozilla Corporation1'0%
Secure Application Development1
Mozilla Corporation0
www.mozilla.com0>
-http://crl.thawte.com/ThawteCodeSigningCA.crl02
http://ocsp.thawte.com0
ZA1%0#
Thawte Consulting (Pty) Ltd.1
Thawte Code Signing CA
http://www.mozilla.com0
G#CV $
Tm	L4_5
VeriSign, Inc.1+0)
"VeriSign Time Stamping Services CA
080703015035Z0
visua[LocalizedFileNames]
Character Map.lnk=@%SystemRoot%\system32\shell32.dll,-22021
Disk Defragmenter.lnk=@%SystemRoot%\system32\shell32.dll,-22027
System Information.lnk=@%SystemRoot%\system32\shell32.dll,-22063
System Restore.lnk=@%systemroot%\system32\restore\rstrui.exe,-2048
Disk Cleanup.lnk=@%SystemRoot%\system32\shell32.dll,-22026
Scheduled Tasks.lnk=@%SystemRoot%\system32\shell32.dll,-22058
Backup.lnk=@%SystemRoot%\system32\shell32.dll,-22018
Activate Windows.lnk=@%SystemRoot%\system32\oobe\msoobe.exe,-2000
Files and Settings Transfer Wizard.lnk=@%SystemRoot%\system32\usmt\migwiz.exe,-202
Security Center.lnk=@%SystemRoot%\system32\xpsp2res.dll,-6103
[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21788
[Content_Types].xml
_rels/.rels
theme/theme/themeManager.xml
theme/theme/theme1.xml
w toc'v
3Vq%'#q
:\TZaG
IqbJ#x
T[XF64
theme/theme/_rels/themeManager.xml.rels
K(M&$R(.1
[Content_Types].xmlPK
_rels/.relsPK
theme/theme/themeManager.xmlPK
theme/theme/theme1.xmlPK
theme/theme/_rels/themeManager.xml.relsPK
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<a:clrMap xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/>
Normal.dotm
Microsoft Office Word
Microsoft Office Word 97-2003 Document
MSWordDoc
Word.Document.8
visuaGIF89a@
NETSCAPE2.0
XMP DataXMP<?xpacket begin="
" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.3-c011 66.145661, 2012/02/06-14:56:27        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginalDocumentID="xmp.did:4E6CA92A18206811822AEB0AEDADBE35" xmpMM:DocumentID="xmp.did:4E7599A0427B11E4ACA0E958B0B95EEC" xmpMM:InstanceID="xmp.iid:4E75999F427B11E4ACA0E958B0B95EEC" xmp:CreatorTool="Adobe Photoshop CS6 (Macintosh)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:4E6CA92A18206811822AEB0AEDADBE35" stRef:documentID="xmp.did:4E6CA92A18206811822AEB0AEDADBE35"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>
~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! 
a@vw`6
OA]tTT
[qusW`
Xf[JVY
UkZlK;