Question

Base64 Encoded XML

Asked by: peterxlane

I am beginning the process of integrating with a USPS webservice.  Based on my request XML, I will receive a response that contains the label image which is base64 encoded.  Here is a sample of what I receive back:

<?xml version="1.0"?>
<DeliveryConfirmationV3.0Response>
      <DeliveryConfirmationNumber>420381199101805213907126809651</DeliveryConfirmationNumber>
      <DeliveryConfirmationLabel>SUkqAAgAAAASAP4ABAABAAAAAAAAAAABBAABAAAApAYAAAEBBAABAAAAmAgAAAIB
      AwABAAAAAQAAAAMBAwABAAAABAAAAAYBAwABAAAAAAAAAAoBAwABAAAAAgAAABEB
      [truncated to keep post short]
      DeliveryConfirmationLabel>
      <ToName>Joe Customer</ToName>
      <ToFirm></ToFirm>
      <ToAddress1>STE 201</ToAddress1>
      <ToAddress2>6060 PRIMACY KWY</ToAddress2>
      <ToCity>Memphis</ToCity>
      <ToState>TN</ToState>
      <ToZip5>38119</ToZip5>
      <ToZip4>5718</ToZip4>
      <Postnet>38119571851</Postnet>
</DeliveryConfirmationV3.0Response>


I know how to extract the element from the XML file that I need (<DeliveryConfirmationLabel>), but how can I convert this into something that the user can view in a browser.  It can either be a .tif or a .pdf based on what I request.


I read this article: http://www.perfectxml.com/articles/xml/binary.asp  and it seemed to describe exactly what I am trying to do, but it suggested building a COM object to accomplish it.  This was my best attempt to convert it to straight ASP:

<%
strXML = {RESPONSE FROM WEBSERVICE SHOWN ABOVE}"
Set oXMLDoc = Server.CreateObject("Msxml2.FreeThreadedDOMDocument.4.0")
If IsObject(oXMLDoc) Then
      oXMLDoc.Async = False
    If oXMLDoc.LoadXML(strXML) Then
            'Response.Write "loaded xml"
            Set oSingleNode = oXMLDoc.selectSingleNode("//DeliveryConfirmationLabel")
            If oSingleNode Is Nothing Then
                  Response.Write "can't find the node"
            Else
                  'Response.Write oSingleNode.Text
                  Const adTypeBinary = 1
                  Const adSaveCreateOverWrite = 2
                  Set objStream = Server.CreateObject("ADODB.Stream")
                  objStream.Open
                  objStream.Type = adTypeBinary
                  objStream.Write oSingleNode.nodeTypedValue
                  objStream.SaveToFile Server.MapPath("test.tif"), adSaveCreateOverWrite
                  objStream.Close
                  Set objStream = Nothing
                  
            End If      
    Else
            Response.Write "unable to load xml"
    End If
Else
            Response.Write "<b>Unable To Create Object</b> "
End If
%>


I get the error:  Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. This is the line that produces the error:

objStream.Write oSingleNode.nodeTypedValue


This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2006-10-02 at 16:13:44ID22010557
Tags

asp

,

base64

Topic

Active Server Pages (ASP)

Participating Experts
3
Points
500
Comments
12

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. XML: Graphics stored in base64
    I have XML documents that have a node encoded in base64 that contain a graphic. I am using XSL sheets to format a HTML output page and need to know what I need to do to display that node of the XML document as a graphical output via the html after being sent through the XSL s...
  2. Base64 Encoding
    if i have a Base64 Encoded graphic image, what can I use to decode it? My application is a cold fusion application (CFML).
  3. Base64 Conversion
    I have a class which is serialised to XML, one of the members is an image and is declared as Public Property Content() As Byte() This is automatically Base64 encoded when serialised, what I need to do is extract the image back out of the XML document and assign it to an im...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: amit_gPosted on 2006-10-02 at 16:34:41ID: 17648032

Change

Set oSingleNode = oXMLDoc.selectSingleNode("//DeliveryConfirmationLabel")

to

Set oSingleNode = oXMLDoc.selectSingleNode("//DeliveryConfirmationV3.0Response/DeliveryConfirmationLabel")

 

by: peterxlanePosted on 2006-10-02 at 16:38:48ID: 17648057

oSingleNode is definitely returning the correct value as I have it now; I have confirmed this by just doing a simple

Response.Write oSingleNode.Text
or
Response.Write oSingleNode.nodeTypedValue

and they both return the base64 encoded value contained in that node



 

by: amit_gPosted on 2006-10-02 at 16:44:53ID: 17648101

Then try to do it in 2 steps by changing

objStream.Write oSingleNode.nodeTypedValue

to

Dim btArr() As Byte
btArr = oSingleNode.nodeTypedValue
objStream.Write btArr

 

by: BrianGEFF719Posted on 2006-10-02 at 16:45:03ID: 17648102

Hi peterxlane,
Here is a base64 decoding function:

 Function Base64Decode(ByVal base64String)
  'rfc1521
  '1999 Antonin Foller, Motobit Software, http://Motobit.cz
  Const Base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
  Dim dataLength, sOut, groupBegin
 
  'remove white spaces, If any
  base64String = Replace(base64String, vbCrLf, "")
  base64String = Replace(base64String, vbTab, "")
  base64String = Replace(base64String, " ", "")
 
  'The source must consists from groups with Len of 4 chars
  dataLength = Len(base64String)
  If dataLength Mod 4 <> 0 Then
    Err.Raise 1, "Base64Decode", "Bad Base64 string."
    Exit Function
  End If

 
  ' Now decode each group:
  For groupBegin = 1 To dataLength Step 4
    Dim numDataBytes, CharCounter, thisChar, thisData, nGroup, pOut
    ' Each data group encodes up To 3 actual bytes.
    numDataBytes = 3
    nGroup = 0

    For CharCounter = 0 To 3
      ' Convert each character into 6 bits of data, And add it To
      ' an integer For temporary storage.  If a character is a '=', there
      ' is one fewer data byte.  (There can only be a maximum of 2 '=' In
      ' the whole string.)

      thisChar = Mid(base64String, groupBegin + CharCounter, 1)

      If thisChar = "=" Then
        numDataBytes = numDataBytes - 1
        thisData = 0
      Else
        thisData = InStr(1, Base64, thisChar, vbBinaryCompare) - 1
      End If
      If thisData = -1 Then
        Err.Raise 2, "Base64Decode", "Bad character In Base64 string."
        Exit Function
      End If

      nGroup = 64 * nGroup + thisData
    Next
   
    'Hex splits the long To 6 groups with 4 bits
    nGroup = Hex(nGroup)
   
    'Add leading zeros
    nGroup = String(6 - Len(nGroup), "0") & nGroup
   
    'Convert the 3 byte hex integer (6 chars) To 3 characters
    pOut = Chr(CByte("&H" & Mid(nGroup, 1, 2))) + _
      Chr(CByte("&H" & Mid(nGroup, 3, 2))) + _
      Chr(CByte("&H" & Mid(nGroup, 5, 2)))
   
    'add numDataBytes characters To out string
    sOut = sOut & Left(pOut, numDataBytes)
  Next

  Base64Decode = sOut
End Function

Try decoding the string and see what it contains, if it contains binary data such as a picture, try saving the binary picture data to a file and viewing it.

-Brian

 

by: peterxlanePosted on 2006-10-02 at 16:52:15ID: 17648143

@amit_g

There is no byte data type in classic ASP, so the most I can do is:

Dim btArr
btArr = oSingleNode.nodeTypedValue
objStream.Write btArr

but even that gives me the same error.


@Brian

I found the same function earlier today and got errors when I ran it. (Bad character in the base64 string error), so I started to go in different directions.


@all

I am going to create a variation of this code that will load a local copy of an xml file so that people helping in this will actually be able to try out the code rather than speculating on what I am seeing,  I will post it shortly.

 

by: amit_gPosted on 2006-10-02 at 16:53:17ID: 17648153

Sorry I just copied pasted. It should be

Dim btArr()

the array.

 

by: peterxlanePosted on 2006-10-02 at 16:58:45ID: 17648181

Here are the two pieces needed to test what I am doing...sorry the xml file is so big.  With these two files, anyone will be able to test what I am trying to accomplish without actually having to go through the webservice...

test.asp:

<%
strXMLFile = Server.MapPath("usps.xml")
Set oXMLDoc = Server.CreateObject("Msxml2.FreeThreadedDOMDocument.4.0")
If IsObject(oXMLDoc) Then
      oXMLDoc.Async = False
    If oXMLDoc.Load(strXMLFile) Then
            'Response.Write "loaded xml"
            Set oSingleNode = oXMLDoc.selectSingleNode("//DeliveryConfirmationLabel")
            If oSingleNode Is Nothing Then
                  Response.Write "can't find the node"
            Else
                  Response.Write oSingleNode.nodeTypedValue
            End If      
    Else
            Response.Write "unable to load xml"
    End If
Else
            Response.Write "<b>Unable To Create Object</b>"
End If
%>

usps.xml

<?xml version="1.0"?>
<DeliveryConfirmationV3.0Response><DeliveryConfirmationNumber>420381199101805213907126809651</DeliveryConfirmationNumber><DeliveryConfirmationLabel>SUkqAAgAAAASAP4ABAABAAAAAAAAAAABBAABAAAApAYAAAEBBAABAAAAmAgAAAIB
AwABAAAAAQAAAAMBAwABAAAABAAAAAYBAwABAAAAAAAAAAoBAwABAAAAAgAAABEB
BAABAAAA5gEAABIBAwABAAAAAQAAABUBAwABAAAAAQAAABYBBAABAAAAmAgAABcB
BAABAAAANm0AABoBBQABAAAA5gAAABsBBQABAAAA7gAAABwBAwABAAAAAQAAACgB
AwABAAAAAgAAADIBAgAUAAAA9gAAADsBAgDIAAAAHgEAAAAAAADIAAAAAQAAAMgA
AAABAAAAMTItMjQtMjAwMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIw
MDIgU05PV0JPVU5ELCBBTEwgUklHSFRTIFJFU0VSVkVEAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA//////////////////9nIoAbcPwTOMOWnk9vSsJgWwnDhJVv+P//////
//////////////////////////+T3f//ZGMmilj3/0FQ6/8nmwYaIr6g/w+REA3X
/88V7f9/EiLs/v8wmDC4CV79P9mkcPv/B8MU4/8nu///B8X/TzYpTBT8/8mmgUle
/v8QaLHx/88RjBcE+/8nVeC1/z9MdIUv//9kk8Jg+P//YBiG//9PNpIphvH//2CE
t/5/GHav/w8Go2FITwhMgOX/YKP+/3nALDO2/v+DaxLl/z+oZPj/H6FK9f9/0D0f
xv8fBPr//0PQz+X/f5Ct///HqP//U+95BAv//z8T+vj/HwqBle3//y/J//9D6S7l
/v//X5JNIBj//////z/0H///////P/TS///fXmKG8f+PoVE6H8b//63KEf//TCrD
UBDixOr//y/9/0dkQoExBP1/bhSYAPu/9P+fCQUIwjBnongI+v//L/3//xGC/v//
0nMjYJq0MP1/JpVJf0JYhFH9//j///9/xP////+fGwUmwD7ORAXj///PhzElYP3/
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
g/7/WxMFJsAe/P8wdFgPE07x/w9DOBj8fxihEcEEwT5XUP0/mOCM/4ehaaeC///n
RoEJsIP/f5ykHvz/b08kmP7/3Lj////b//+///+/I36ipD9p0ScF0P//3/8/Ydz/
////////Uxnk8f///59SkP//c6PABNj/P1no/////+H/////j///////////P/7/
////f24UmAD7//9HAuP/PwT+jw+RD/7/gmD/f0Gw/3OjwATYX7L//+X/fyUOev//
a///zzLn///S2//x////+v////+v//8XiPj//4fa0v/fhhRL//8QrP9/h1D/v2P9
/9b/b0v/3zCk/28Y0v+HEfr/MOj/4///////////////////////////////////
////////////////////////////////////////////////////////////////
////////ERHx//j//////////////////////3PjhyC6CMQlU2qthqA75chWCGpD
MAQ1wjwkdw6CGqE8MJhhAZM4wYfgmaBngp4JeibomaBngl4Ingl6JuiZoGeCngl6
JuiZoGfCyATJBM+EZkIzoZmQTHgmSCZIJngmPBM8E54JzQTPhGbCM+GZaCYkE5oJ
zYRkQjPhmdBMSCYkE5oJzwTJhGbCM+GZkEyQTGgmSCY8E5oJyQTJhGfCM+GZkEx4
JjwTPBMkE0YmeCaMTDAyQTJhZIJnwkk/x/X///////////////////////9HJAJB
RERERERERERERERERERERERERERERERERERERERERERERERExCDiYbJqiPzgEHMl
XBaHoAkjQxIY/mAistxUCIZpoY2pFpkmQnwReBKzb4ENwbrqH8EWPVZV1TEK8qqq
kkr2/5ecPX8I5kL86czK8wiCIZhHLH727OnMTAt/yMuQh/yQIf/LkK/DkOh2pLpY
Y9FtGIIh0W2xxmukuuh2qaRDtnRZIftDdllSSYfsvyR5LbnkkiS55F9L/v/r////
+v9Lv7T0C0v/C1/Sf/3/f10/4S/ppVp6ScrhklRS5WZ76V/6X/r///br//8/y/8/
y1tab+lbW/rW1v/WNqR1G7raUBv6NiQbuq42pEZFClfYKKmijAqHjYqSSiqjOIch
6w09THtDbwim/b+hIyIiIiIiIiIiIuL//+cGYZKK+8XMh0K/6lf9j///eWYQYQRE
eNNObvKTOdEjvMmCWNBBgonYQn/BEPzyQ/BD8IIh+NHyUS8/BEfL/3/55X/itkhj
MDl/kSaYnCfNxG2Rxq/L0Inzy37JrssQLVaUaMxjbiwmBZOCWYPBjc4vb7xeDX15
eSMI/H/4f/D1hS/ZHyz/3/9NePn//ybcgvD//T/8//+HRXwe/2T+P+z//x+2INj/
2//B/v//wZbs//0/V/w/S//PFZfzzKB5zDODuGCq8QSjM4gw/lkwF5QLpjCd+fSf
F/y/w29Lzwv+C/4FQzAEL3gIhuAfgiEYgpcF/4f8r67f+pBXO/qjZXk5Wv5lGYKj
IPy3dYZuDUszdEtva/0vy8vLr7Is/z8q3tg43vijPnH7E7dFGos0XuSZeCzS+CWR
xiLNpLlI82/91ltvff11efl7eflxedmSnfjlf8s3IXjLh6G3vvzLJVuyh/Ut2Zdk
q6Hy0v8wZA1DwyBrGHoY+v//Hy//Q18o2VUeEREREREREf//43joxwfF/////xnQ
CYb/J4///63//w/6v/3/9/r/ZAm5voj4T5bfTq7+////P/n+bz9L/2/9/25curXf
7g7b0q1t6f+dOWfu9XLm3p0519b9hiH9f1hwWPCtYQ0L/g4LDkst3dqo/zfKqIR5
4Cij3jbK2Hjj1v9b1iYUX9a7ZVl76/8ta+s0LuvbsmBoE4IPBv0/DMHQhnoYgqG3
YQgGwdAwdERERERERERERERExP///09LNEAKlv8/t3pC4PyYyHFTxK0RO0qVbE5e
w/9znvS/9v+6fs3yfxz/0O3//6Lx+///0D+fyImFyIlrvHhETpTTfGIhcuJH3ISJ
H3HPJxYiJ37EzdX02PHi0+wgmHj8yKObH3HTY0dnCOYRP+L+9S8YgiFY8EOwYAge
giFYcAzB8RAMwYJjyD8E/7/g+OUFxx9fF2uLjUW3xdovui3WFhsvNhbdFmunF7qn
l2Jj0W2xdrqiA7/Y+GHIliIVTt9IhWFIrJ3WQf6lJZe8XPIvl1zyJS+X/LJf8nLJ
L3/J/y//8iX/Hy/ZP0r2j5L9/yjZJdn1j5Jdkv//X3ZdL9n1rx8P/4cfHw///3j4
/8d/W/r//3/oGGpw/AbH0KEGx/9DDY7nof/Q////+H9WnQ2FwT8MngR0DhQG/z8H
CoP/fw70/////58txB7sDHywMzCxX8Qe7Gz5L2IPdrb8X8T+t6X/P1v+f9EX7B/s
Rd9FX7D/X/QF+/Ff9P3/////N7+akTe/Z+TNr75m5M3v/5qRN7//6////+b3/11a
e5fW3qX1tXdpW/q1d2lb1/U3qqX/XfrP3Le22traamtr6622tt76rba23tra+t/6
f+vM/X+jjBTeKKOMFN4oo4wUfiOFN8qojXojhTfKqI0U3kjhjRT+w4eI4/+wUf//
YciyDcGQtSEYsuwt2xAMDUNv2YZgaFhbW/a7taF/h6H/iIiIiIiIiIiIiIiIiIiI
IyIi4iMiIiLifBCSzTa3nKhMxM3NKp5JDSXObGaNUsOEImZTxf8PPwTr+g/B/1/6
fgjWdYL28v3/71FO74v34/8hfTr75PkHEV8cL/K5/9fvS7D///L/iPjOzLPNMN98
ZjZxJm6+a2ZiNoMhMN1sE2e66cRmcgyBGWYmZjP4/5GFmU2ciZtvhpmJgtO4Z5tv
tunE5ulEwcwmzgz/bQj+h+ColwxB8BD8UcsQDMEPwUPwG3UwBEf9EAzB/y9D8DIE
R/1f/pe3pVGO/4j75fjfsPwvy9t/xNHy/xe5/bYkcjv5v8jtpDYMOvlJQRwW3WHQ
IreT2v/BIreT39Iid5Hb/ycFcTipLXI7Of8f8v+Q/5eX/2W55V9e/taGQ/5fdsi3
/7K87JCP/7XfS7u8luz6q2r8Jbv+h61dXksh7f+rLteu//F/fOv//w/9f0REsOP/
Md7+/4///7f+T/H///Mh/w/2t/7/////f6/36vD//4P+P/y9/u3///9L6eV9etnq
+v//SfH/SWNPL/tPQ/7/n17+/5feb+n//wX6//tfev5v/P//H2q/b3/Zakv///+2
9Lba+9th+9e/Jfsf1ew+bnbHUa3//63f+lHN7viWmt3e+rc2u1n8ywi/ZYS3LKP+
/+PgjXo3wlsbG+E3/qOM8P+yfust6//fRPC+9Zb1W9aeCP5P47L+h2Doh6EHQzD0
/w9D7cPQwxAM/TAEQw9D/1sw9B8RERELERERERERERERERERERERERHx//WD9OvX
x3PTmUBMeey4lwhH1EgbEREobkncikjE9H0I/v+f8M95gv/LAhHv/19f13/W/h/x
f/z/Evz/////S/b////Hn9xPZxbiR9wcYk3TmRc7uvnRzY8dnVlMbz5NNzkNwTzi
Gt3kRE5zzCFy0+MT4XjxogfB0xmCecSPbnKinPgRN2HTmx0vPv0f8tGCY8EQHP2C
F/wy5IfgCAt+CF4wBENegmDIC/4/eghesGAIjiH/C/4l2aIDJ4fF2ulnbdHt5PCR
CkcqfKTCogMvNk63xdrDkOgeqbDYWHR7SWwsOrBYe30YSg7DkNg4UmGxtuieXujA
v1j765eXS77k5eWXl19evuS75F92ueTVS5KXS+4h4teXL3m55GVf/kv+pZe8luyS
7LG+7LKvJf/LluyX7LJf8qWXXLL/v/7LlmzJLsl/yf6SZP//H/7//x///398jML/
W13/x////39CiJBZEyETmCgnruAkMFFnhSknyolqIFjPClOOCUyUE+VEOaYEnPIv
xf/xscH///9DP/5/6EM/vvr/oR///8dDsEKwQjAED4EVgiEYglcIDMEQDMEQDMHr
Jfn/h8H///9zoP//s6E3H/r71/886P///5BVVllWyCpDllfIsixDllUv/Z8tM4n/
//8Xsf9s+b+I/ZkXsf8MXP3/Rew/o///s800fVaR2yr6LHI7Q9BvFXmcPovcJuqa
fos8Fn0WuZ0+izzOJC9l5f8P9v///6Lv//+i7/xu0ffvav1f9P3//19yDcFVskPw
JdcQXPIQXFLJBcElOwSXXBB8vSTZ/83v5kee////X3/z+//69/qbn3/9X3/z+/9v
fpcNlWxouWRfNlTtsiVbgpZdXS7ZZVcPvfS2vku71P8ttfTb+tqSS29LLa22dK+2
uvT//9qSS7a0ra8urQ596P+SQ2v1V6jk6v/q6kOf8GHird96q61/a+vfemtr67e2
trZut7a2Rhn/39ra2nrrra3XIvkXyf9LL5LH65dE8l/4XxdKIvnrkm38Rm2UUX+I
OA4Rx7+Rwm+k8FFGHTYqRBwbKbxRu5HCGym8Uf7hDxspfIg4NsqojRR+I4U36ju0
ZId+yR4P/S3ZFRr/Jfv+0P+Haf8wNAwZ+je0oR/WW3bmEAztMLQhy4ah27JhDUPX
/m7ZG4IhGBrWW8PQH/pD2/rT6dD6r6GXbP2XplPoIyIiIiIiIuI4IiKOiIiIiCMi
IiLiiIiIiIgjIuKIiD/+eEsfYcXrX8J1NrX0P5sijP+J0nOXnvv6/zfqu4b0/zUE
G/U/BPf/pZde2tZ/Qy/yW6cc2/rSumBDb+uCRX7/t3Vbt/XWf8FftvSt/1JkV/C3
RnbL/h911FHb+i/6/OjSYVtfWgrZos9va8hG/w9Dw9AwdOT4f8l+W5oKR47/l8ol
+yPHl9sfERERh/W/5L+0w/pfKlvyh3XZ/w39X/YvbRv6paUv+w39//H//6XH/6X/
x//P1HCumHKTR45ZwCAHg5lZ4HwYlGPmCEeHwQbnCifBLOCEMRdMDmeBQQacGzp2
RGvp/3/ppX/p/6X/hyH4IfgPD8Gtd98QDMHh+/9t6bclfkOaorclaUj+29I+Mf0b
gnsIfoGI10Ow190CEa8hQ3Df/6z7/39J0M/rf0H9P7/7pZ9li3R+kc4UUdFneaYm
nT+rWHGW/VmxyGeRzll2Rsmy/5f+bX17aVta+peWbP2lJfs/7JD3If/fPuS29PD9
hwuCh3zY7/+2bktfttQq3WqrLb1k62VLttra+nfJDiLekv2SvS/Z/79kf7Vk7/9/
S4ehG4YUhtqSoG2ppTBUWlBYMgwpDG0pLNnSv8v/8v+//P//3yq/fz6xJn682BE3
hyin50rknm96fGKhjdqoY6OiEgigUUYZ9QlERsVGGWVU1N8le3vJ/v8l25b+pX8J
JXt/STAEfywYgl8w5CEvGIK3toYhC5YOy7JeYcGQZcGC9f+3/5fsNcGJf4JPaJRk
D/0/wYFQYm3R7U8/a4uNX6wtOrDowGJt0e1haBgahmDI0MMQDMHQD0MwBEMwBEOG
/v///0v/H/VH/f+Sl/+SS/6Sl5dLXj4iIiIiIiIiIiIi4v+3///4t6Wrv/6/JXv8
kux/yZZccske///2/5JdGeSfVVCWLdmh/zNKlv3h//H//w9/biX0//+PQ/+fjbbj
bPT/27HBfwz9+D82+P+//b+cVd+W3t7l7Qnr/30Y/E8C+v8Pg/9LtrS9Lf1vS//2
v22HbWnpzyT+MzCx/wz+Zxh//Na/9bPyW1vf/qzcXmr9f7D/Rd//f7D/aksb29JL
9tuS1/sq2XurLa2vzY88/5tf/c3vv/nR8z+k1r31/1v/e+lvw1LrkF5yqV93aX2X
bLXVpf5HGfVG/Z8wFlScMLod/7axUVEJYxgCt9raemvrt7a2ttr6C4Z2GHrJfhiy
3kuyd0MwVF9GGWWk8BtlpPBvlLGRwhtl1A/B0MPQ/8PQ36G/YQiGQh+CIUPWw5Bl
PwzBtIc1DBmaNZTrZMwRgaKIiNmzEGnniDdRJ7IIMrXE+4iIiIiIiIiIiIiIiIiI
iIiIiIiIOOL92voQvL6un2anz7MRfxyiD8Z/HL/09r8g2P/f1vdDxBeI+Bcd+/+P
+hkTN30+8ydu+hCYPvP/fMx7aZv1fPGnD4GnM2uez+QMgRkTN4f505k3n1kzf7oh
MGM+86fzYeiPh+D4/x/yn7df/qMheAiGfAzB0UOG4AU/BEcf/+yKjbMLg2xpWzo/
v/T2PwxKt8XGi43F2jAoOzZOtxdri40j1YZBi43T7b9++f//kv+/HSIu6cvLLy/7
y8svu7z8y8v/Uq1d3//jf/zafy3ZS7bkl3a95Nplv3Z92hWYinhM1NiRNlJFRASK
RExQEaijvvx3aVsa9K9//f9//PJ/LP8v/0Pw+v//of////nIn7u2v/7j4///////
8gL9/3++/n/7f4jY/9tf/v///////1/keT3++P//L916/t/eltbW/3yZw///////
Ifv/////f6+l/9/++v9n/v+f+f////7//3/rb///b29L//99/7f+3/rf+ucmIX7E
zSHWRE7kxIsXO+Lm0MinIZgVkfvpzEIsxI8ePw7Np+kmp0nEI64RN4fIiYX40ZnN
vOjMZhbiR2cWzydy/+/1R/2v3wj38vp35nfmbem9flvyaum9/hAcC4ZgwZA/FtyC
H4IhHy0YgvcSPARHWPBDcCwYMgQvQ16GLHgZ8oIh/9/6v1E39A1DiuP/MKTDkFq/
9W9tbf3Wv9g4/awtui3WFt3+9LO2YbH2MCQ2Fh04OSzWFt2+Vay92DjdFmu/6Hb6
WVt0W3SPVCAPRyqQh8XakQqLDizWFh3436gP9t8IIv7DCP3Bb9RGGRW8Ub9RRoWI
4+CN+ku+5OWSV/+Sm2iRv+Tl5ZKX/5Iv+S75ly95ddlleVkueXm55OX/MPRev2U/
DFnW/rCGBcuHoR8WDG3Ih6H/l2SPki35l2TDYMn+l7yW7HEvyf7LluwfS7Ill+yq
q5bsWnLJlnxEREQcERERERERERERERERcURExON/+Mf/iUL/+P+Hb/3x/w//4///
//8vfeixwfF/DB4/G4X+xwb/8dCP3+Dj///j//j/c6tAHwb/v/3Phv4Pg/d6DvR/
GPz/////D9IXsT+TOIP/GRrjs+WL2P9nGP8ZuIj9Z8vBPoP//2fLP4N/fdH3wX5+
//+j6Ps/2Le+6Ps/2D+//////xFf3/zI8+b3f/Prm9/X/82Pnu/V/K6/+T0jv/n9
/3/z+29+/9dd6l2ypXWXDENy6Vdb36X+d+m1JZe+3yVbsqX/d+ltdcnW33qrra2t
rbdyMm791tZvtfW49dbW1rf11tbW/2/91tZWTt9I4TfKKKOMMlL4jdoy6o0U3viN
MmrLqI0UPsqoN2qjjDLq/416Y6OM/5Y9DBmCIRiyHoaGIRh6y4Zp/zBk6GFoy84c
gqE3NAzBEAz9Pww9THsYgmn/R0RERERERERERERERERERERERERERERERERExP//
nzWckNlzNyYFE58q4s0NNFH//RCs6//zAo+iz7lWRBDl6frDF2S/EP23l+wHQ//5
PHv6LHOYP3ETn/lyHvOnMwSmz5646dPNNjOGwIz5zJ/OrJic+RMnlunzmYXrb0Pw
PwTHrwjB0R8vQ4b8EBwNwRAcP2QIFoj+f7Hx25LYODtLJTZOt2HQ2SEVyMP5GQYt
Nk63xcZi42wsLdYWG+//y//L/8vL/7Jc8i8vLy//L7sc8b9kf6tkV792/VU1/tr1
KNnVuuSS/f/f63fp8v9/0C//8O/1+P/j7+P////nIf9v4sP3H///XXr7//8fIvb/
b/C79P/Pl3++XLIJ////+f9/8Hz5n9tJf+lv6X/9/3/p/yeib+mZ/3+/39t3tf7/
/7c+xd77f/8lZ/7fmT/KVq////W9vnfm/23Jmf9Dw5DeqDCktyG1/v839FvflsKQ
NurWMKQfIaN+o3ajjPr/N4KIH7xRb2zUb5RRPwTrLVgXDMHQ/79l+zD0hmBtDQvW
R0RExBEREREREREREREREb/0/yD9OjedqYDzo1RERKAoFUEiULRPRETmxkNw+J+q
T+DnPDfjCf9f7n9d13X9L3qc5f8//v+/fPv///8/vv//////5xM5sdB8mm5ymguR
EwRPZxaCYIogmIvnEzmxENfozEIQzBIvXvSIm0P86Kac+BE3h/jxYkdnFg/B05mF
KCdyzzc9Pv1/CIYseAiOsOAhGIKPhuAf8hAsGIKXIfg/huAFQ3AMwb8M+aMFC4Y8
5AV/SOtiY9FtsfZi43RbrL3otugOQ8lhsTEMDUOiA4vuYm3R7UiFRXcYWk8fG0cq
LDZOH90/UmHRgWEoOSzWFmuLDiw6sFj7g7S05NWSL/ku+eVlXy75X1625OXlZe8h
4teSl0t+2V9efrnkkpeXS/47/iWX7L9syX6U7Ov/JZdsyR5ryf6/vuwvyf5a8mvJ
lmzJJZfszy2pxscf/z/8P/7/f/j/Vtfxx///////f6YjDpw3mzhw3mwi/O3Q0OOh
H2/w/9D/Pzb4/6sf+tD///84/o8nGCExa7EgpEt++WXlZmbe5JOOkK6fVTnQnwP9
h8H/c6D//zD4f/+aGfokoP//////4bVVrE1iSaxNYkmsrRD8rf9F7M/ARew/W4L9
v4j9/59h/P/qL2L/Ivb///8ZncH/bFPPP56fL5culy4/n2N+/tx1v+g7vxd9/8H+
X/T9/wf7/67WRd8Xff//////t99esl+yX7IFIr5kv/1bv/7md/3Nb4r8//r/b370
/H//uv76//+/+TW//+b3v/+SvqSv//t36Vdbcum1JZfubelff1ttyaX+ben/15bW
bWl9W3+XXLLVVpd++sSnz5huwds8Fsw277/++nqcbvaMiXubx4LZ5v2Y07e2tt7a
2rqtrX/r39raauu3HmV8a2vrra3f+re2tra2/tEv/5CXf+mXfumjj37Iy9/6jRTe
KKM2UvgoozbKqPAbKXz4sLFRRhn1RoX9jRQ+RBwbKfxGGSn8G4ffKKOMjRTeqD/o
SIUNvVjbkFgY//9ft9Ph0+4XaxsSC+Nh6LdsGIKhLTtzCIY2BEP+lu07THsYgiFD
D0N+bdkbsuxhyPph2vvDEAzBtIc1DL1Ul//l1y9JL0lfJ738sr/8+oiIiIiIiIiI
iIiIiIiIiIiIiIg4IiIiIiIiIiIijsdf//iS/f//0jC4vvzxJftTvz70/+v/0i/9
Otj/v/5/6Zz4/xz0+P//Iwz2/89Bj7+t//8LRPz/pV/6/f8XiPj/o/7/VWyeKyxJ
25K0LVHMrf3/r2LzXKd6GPr/r/pbv/Vb//+v+o/4/6/rzdmoJaOWjNrWv6V1vTn/
/19q3Zast966pb91qXVb+v+Ho4wg4oeN2SMiIiIa9UdFGUHEDxuzP1Mz67gR/b+X
tRsa1p/jKms39JX8HxERERERERFxREREvED6//r/////PzcJQTAET2cW4hrd5ERO
c8whctPj03gI/mjBC4ZgyEsQDHnBX3SHIRhKDou1IxUWG4tuL4mNRQcWa/+yv1zy
csmrlyQvl/xL9teSXfZLvvSSS/b//398jML////HD33ox///fzb05kP///8Z+CL2
Z17E/jML/v//i77zu0Xf//9/8/v69/qb37elf5daWm3pXm116bf+t7a2tm63trZy
mjWcPoFE1Ekm0sWYKBBipk8tIpKJT1oxJjoRbaJAScNcmJlv1OE3KkQcGym8UbuR
whspvFH/OgTr/RCs65BfluXD0P4wtCHLhqHbsmENQ58TR7HzmL9HsXMQjvkYc2UW
FguLhY+IiDgiIiIijvgv2W8v+UuwLy8v/9ylfw4zMwQTn7jZzJlu9jwuZ0zcEEx8
HnOme+fx9OnzZzNn4sS/bA5zphuC6TMmbuLTY8dnCCY+jznT/RzmTJz4E5/HfJ4L
MzNvyZZsyf5Lvywfy8vLUkf45eVt+V+Ol1Be/nhZhvzy8ijHL8vL8v//bf3F2mJh
GMqOhSMVXiy8Zx2GFgtHKvxi7bclsXY2lhYLRyoMQ2eDlCPlFmvD0GLhSIUNi7Wz
sbRYWKy9WFusjf//o05oFGRLfkl2+ZJ/9Ut2+Quy/wXZ9Ut2+VdZXv6SXZ74ILt+
yQXZCQnIFmT//4eh/wu/vL7w9y+v//9/+8vrv2qEfnkNw/9f+P///xHPifH/////
//HbUvzS///PRv+fleNt6eNc4Pj///////////9v////i+z/H+z//////7n4/7/+
/38ubku5+FP8//8C/f/Mn4u29Ll8Ljjk/////9+u//+l/3/J/v//6//////////N
uzl/69+cW9dv/W/e/81745Za///Xb3375v3fnJv3zbt525It2dJ/W3J9W/pdbaml
t6Ufki29Ubb0ttrS/3/r29I3JFvaqF1taVuypdbW1p9wb2xUeKN+o4yKCm/URxn/
xltGGfX/bxzeqDfK+DfKeGNj9lGco6L+G7J867dgKMflW1+G3jL0MGT9/5sO+9bD
MrS1ZWhDhoY1LFgfERERERFxREREREREHBEREREREREREREREREREfH/X/pD//UR
////////uSWTzBTMYOJRDWcdgSO2CZuY2HF7TEhgMCJLX1c9/Jxbf27J/1eBiCeQ
QPdr66//16/CLEf8cZxbNP7/tw8ifo7//yrZv3/r/18M/xAMwYzo8XtGxE2PT/yI
mx4EE4/fP4/4zYXIiR9xzI8en1iIa3STEwtBMI/ITY9PT2cW4kfcHOIaj7hGZxb6
0v/b0sdDcPy/1xD8ECw4gohfQxa8YAiG4CEY8oKPFhwLHoKXIfhLSzYMwdC2tKav
6J6+MGRLty42ftFtsXZ6rItui7UjFRbdRbdhSGwsOrBY++SwWDv9rL3odqTCovv/
/3/py/7/X/Ivl/y/WvLyssuXvFzyyyVf8svLy/7S/9tSXEt2/e//P0p2eS25ZJct
2eMvuWRfS3ZJ9mMt2V9asn+j6v+3pVsa//Df+vj/4fH////D/186/g/9//8PfYPj
/+N/g4d+/MfHG/z/Iyz/Vlb9//9nQx8Gv9f/D4PnQf//Hwb////l/39b2pYWsX+w
s+V/Bv6DvYj9Z6g/W2bgYP//s/L/////Rd8H+1uf3/9gL/r+/z/Y/5+bnGT/AhHv
////66fIm99ef/P7p+fX3/z+5nfzm5H///+X7N+WfqP2ev3epX9bcqklW+pfbXXp
d2mX7t+W/rz+/7/1//jWt7X1+NbW1lZbb21t5fS33rqt3/pfsn/J/o368L+Rwr9R
Rm1tlFEh4tgoo8JGCm+k8Eb9G7VRG/VG/f9fsn8Yere2tuw3BEM/DMHQhmDIkFs2
rGHoH4aGoQ09DE0I9IiIiIiIiIiIIyIiIiIiIo6IiIgjIiIiIiLi/7mj/9JLZ+as
v63PXWbGzJPPnnyuxI8i9nRw+uQf0lFPEfE45kXcDPMagr+H4Nb/1zD0MQRHyy96
/L3Y+Wf+j4hfcvSH4P+C7BDxBSL+/09IQ1lPBx1xyf4Q8d////+lXfX/24///2eS
YtIwUeBUx477MKmZeGSJG7m//F+y/+9t6f8zVauGH4J1av5n4v//b28S//9fBRKo
H7JA6/////H2JnL/j39Vlj2KfC4c8f///wfD29L//2EvCP5/6//n/Pak9/85/3+/
+n+v///tYf//n5uEOPEhjIibQxDMI3KCYB7xI+6bR7Ojx49D/Ihjflt84kdnCGbE
jrjp0ZnNLATBjPjEj86siJz4Ecf86PGJhf74Z8f8tvQ/+W9L/1+wLYaPIXjBgofg
eBf8XoLjJYTg5Y+XIUPwQ/AyBAuOIOLXkAX/1v//b////xdr2xIMpY+NYUisLdaG
IdE9vVys/a1i7fRYWnSPVBiGTh9SgTwsNoahRfdIhUW3xdrpsS66Ldb+Yej/bek3
tvX//5L/S77kkl/2L/m/5P9ll/9lueRfdnm55P/Vko+IiIi2FIb+h6WN+v+SbUvX
L9mSvWTXS/Z7SXb9kl1/Vf0v2fUo2eW15JJ9DKN+N+r//xv1+P///9/629L//4//
f/hvffwNGfodhv7/xz/0OP7/+D/+//9/6P8bHP8fj4iIiIiIiPitZ4b+//97/U9Y
///Pgf4/DH6v/2eVX8T+DGbg/1K2/LOlLdnh//8Xsf9/sLPlf6aD/L/o+///3/q/
9P//ou//g/2tz+/f/AQi3tc3v+b3vza/92p+f+v//9f/T5E3v73+5vddkuxfd8ml
bekhufTv0kYZlmzp/399W/repX9bcum3/rfe2nrrUa0ft75x6/9/67e+ra3Ht7Zy
+kZJdngjhd8oozbqMuoto96QUf//Rgof3qg3yqitjTLquVFmw9kIxRSzwRmTz4Yz
xzL5dHAWKG/WMYMwRwlxZonlw5Bk+5Y9DMHQMHQIhn4Y2oIhGPr/t2wfht4QDP0w
BEOv//ffH/6H4NcjIiIiIiIiIiIijoiIiIiIiIiIiIiIiCvhxTHPV5/XEPF75vN8
QcRnvSDii51tQcSv/9L////2ry/I/r+0QMT/P0T8/xDxf/+l3///uvS//ZK9/b9k
S5I92trSIV0/cR7/////6/vyX0tLQv/2a2//urZqm8T/x/Wz8wnS7RN68u1fulwq
N5H7+msJ+///P+qXHgzbkl1fej9f2+cLevtroUtoAvX/denf/rc/X6/D/v8R/v/P
///nX8o/5W9LtvSf+X/7JXv7X7Ilyf7/z42y1NJv/G/8f72t//9d////X/qwFMf/
jUpoJnj0JXv/hLpsEdxlMzbKsv4b+v3f//+Hof+IiIiIiIiIiIiIjoj/r78+/v+5
ybPEMnOEiT/57NmTz4x54DzMPPkUEMLEipiJmViYmf7rEPz3EDwE92EQLMuyLH9b
EPFLEPHFzn8vesyy6HGfZ4s+i7XF2mJt8bZY+/+/IPv/EPwQ/LcFuSC7XJAt2eX/
//c/RPylXrJDxH8ve5fsfZfsb2tLkj3+22/922+P+OMS/rkxUCowN3KUilsjIiIc
VaagL//7/yVcsv+X/qfzfwjm/79Cpp3l/7VN4n/7/+1/6aXl/7L+r7L+a7mJHH77
/+3//0i1/2JA5PnjqNn4bcmuB8P/z8f//0svlf0/ZP9DJf9/obmW82////a/9FL5
//1fNH78/2H/20/if/tfeun/jxDMI350ZjMvusmJ3JOIbnIipznmELnp8YmFCMeL
F4f48U1vOvNiR2cW0wstUU38eLGjMwuxEAtRTvyImzw6s5mF+BE3h7hGZzazECd+
5NGZhSB4W7Kl/LP//+23pX+1KYb0kP4/ce4heBnyggVDfsEQDHkJgiEvGIJ/wUM+
+mXI1zMMwb8MWTAEQ3C8DBmCY8HLkCH4lyH4/yX7/+3/3/5apZf+Lwk2DENi40gF
8nCkwmJt0YEjFRYbi24viY1FBxZri26vi7UXHTg5fKTCogPjQ7Do/pEKi26LtUW3
Rff0glQgD4vu6WftSAXysNjYliIVFt1h6P+39d/YflvaeG1JkC0JsiVberSJlpKX
5eWSl5dLXr0kebnk5R4ifkl+efnl5UeX/eXVkpeXfVle9pKX5ZJ/edkfxx+W/g9D
D0N/ybAktUqtrU9fGPxXXbZkS172S770kkv2+C/ZS15fS35yl+yvJZfsUbKrasku
ya76v5bstyzJNurfYYSGUXuUUSK8USK8UUYdmxIa////8TEK/w+3uv7//1/2/48f
/v//f9yW/v8fhv4dhja0h2Boa1jWHXzo//E/9KEfG3z18f//X/7/xwb//x//0P9/
RERERERERERERMRvz4P+/z8bevOhPwz2r///////h8H///9zoP//n/JexP7/DP6L
2J95EfvPMF79bPn/////Zxj//5+Bv4i9Lf3/uev+Rd///xd953eLvj/YXa3/////
//Mb7P///0Xf//+39tf/N7//+vf6mx8996/m9///2/r/3/zo+f//ze+v///vkmFI
r39LLtna0mpL92qrS/2/S9v6v623ZEvr25JLvS3929Iu/atRb0v/KF7Gt/6tra2t
ra3bra2ttkYZt976f+vGra3f2mpr63/rrX/r3/q3tsJGCv+HiGOjjEPEsZHCG7Ub
KbyRwhtllG/URgr/v5HCbxllpPBvlFFGGfVv1Eb9Rgr/GxX+sIYht+x/QzAE035D
lg1Dt2XDGoYMXTA0rP+H9TAEQ9YPQzBkCIb+YWgY+i3behjyj4iIiIgjIo6IiIiI
IyIi4oiIiCMiIiIiIiIiIiIi4oiI/7lLc4Ob1P3/paUl6b+tttr6/6ioKEj/YQiG
YKg+IiLi/59bOZJE6UhEBpzMscKEipvHjjSRNm4kGP8/TLSH4J+o//+/dfnX//+Y
5S/yxB/PEtX/2x+y/////vv/f7rJiWt0zydyYiFyTyJ2dH4esRAE8+iRT/yIY370
+MRClBMLPZ/ICYIZ8YkfnaebnDjx4xALTTnxI+4fYcELHoIhC4b8yw/BEDwE34Ij
iPg1ZMGQIfgFQ34IXo4wBNuSYAgeguOfbou1IxVebCy6LdYWHfhIhVfRXXQbhsTG
GxZrp8e66LZYW3RbdH+xtug2DC26RyqcbovutiTWFt1OkKF7Ot3vkpcvebXk5Zcv
lV2+5Jtokf9XS15d9kte/WWX72W/5OWX/S9bssv+JZdsya9jyR7/YbBkl9eSS7bk
kv2SLflLdl22ZNuSZI9Ldk1T6pnnMx9h4f//+Pj/14fHJ4L+1scf/3/8/3+jPpwt
/4fgMAT/4x96/H/oDR46ePx//H/8//8fG/z/5zP/+fz/c6D/f7YeBs+Dbr/X////
/781DP7/JXtbsv8Z+IvYn8H/f7AXsZ+is+V/Rv+fwf//X84w/v////8v+s7v/3+w
F33/b31+z+//+f3//4P9/48//pvfX3/z+/+n59f3zW+vv/n9f/P7//8XiHjNj57/
//9vyaWWXm3JJVv/bal/3TAkl/5tySVbsqV3yZbelr4lW5Jsl/pt6d9++62trbe2
trb+t9p668atx7e2trZ+a+u3fmvrt9rK7tb/pFxKkjrKqBBxvJHCG2WU8b9RRoWN
FH7LqK2NMsooo94oo8Ib9VFGSbZRRr1R/zA4hsHPHIKhDW3ZMARDMO3/YciQW/Yw
BEM/DMEQDMHQwxAM+TD0mUMwJNkwZOhh6B/sENhHxBERERERERERERERERERERER
ERERERER8Qc7B/v/vv+f8ZP4////tyVbt/Xf2tItHTfKqI36FqxhfUTEcytHMHMT
caNGTNySmDARDc6PmP7KPf/ciOemncAf/r9A+uuq93+sER//LMf//7/9///3P7dy
7OgMwTziR9z06MxmFoJgRnziR2fWxI/OXKKbH5/mmB4vdnRTTvzohmBGfOJHZ2Yi
2fT4BME8guDpzELPiE9zTI8XO7r/y0NwvAwZgh+ClyF4ecFDXvoFk4Mv+CF4GYIh
D8FD8NGCf8hLv+B/pMIwJLqnD6lAHhYbw9Cie6TConukwpEKL7q99JEKg+keqTAM
LbpHKiy6LTqw6A5DojsMJYfF2uui20sfqfC//LIvyyX/ssvLLi+/eunLyy7/ssvL
y8u+7MslX7p66cv/9ZJdVf9Ldi3ZddlLvvRlS3bZL9n1KLlkL9nXkh0v+dKX/f//
H////3+M+v////D//389Rv1PUwlCYJHy//8/9P///////3+D//8/Dv3/h/X//z8H
+v////3///8w+P//z6r3//n///+/iP3///9n/v///8H+//8M/DP///b///9F3///
/+d3////P9j////P7/7/////X//////7////M/L//29+//v/zzGfBROfHsN8Zk/8
Of/flv7Xt6W3pW9pW7rXlmyppbel7221pW3pd+lt6V5b+mX5aBly9NL/W/9bv/Vb
v/XW7dbW1tZvfVvZtbbe+rd+63Zr6y/mFgsbygKpsFg7aOn/Rv0bKXx4o96oDxHH
G7UbKXyIODYqRByHN+qN2kjhjQobFX6j3qjdSOFDxPFLkl3+lpfX0v9h6N+yfRh6
GPoNDUO39YZgaEM+DL2hYQ1DDkP+MPQwdFtv6Lh8vB5/6YiIiIiIiIiIiDgiIiKO
OCIiIjqOiIiIiIiIOB56w/96/H+K/py4wf9s9P+/9D/sf4GIf4j4/yVb/wf7X2xe
9n+M+v//+v8PQ7+t9P9f3z4iIn5Lrf+t/98oo8K/EUT8t/+W5b/1/xEREREREf//
/59bObrJidz0+EQ58aMziXjxiBePePEijxeP+NHNQpQTC/GjM5v/giEY8oIhePn/
fwheMARDhuBlyD9SYbGx6MBibdE9UuF1XX/R7UiFRbdFt0X3SAXy8C+XvFzysss9
RPzch4if+xDx68vLy6vLLst/2S+5ZEt2/f///2PZo+SSXfV//P+/1bXVtdX1wx8e
//8P/fj/6q/+6t/gN/j/p6nSzP/Z0P/fv/zLvx4GPwz+//8vYv8Z/b/6q7/6D/aD
/f//X/T9/7tau1q7Wh/sB3t+////+pvfv3/5l389I396/v//b2m11SVb+v///7Vv
qbclW/p/njkTn+O3tra2tn6UcZRxlDGvVltbbWXX2vpz+uVo+SHi2EjhjRTeKKPe
9/2NFN6oEHFs1EYZ9f+LhYPEwt+QZcMahmDor+va2tCGDA1DMPR/XFf9ERFHRERE
REREHBERERFfspfsT0Z/nv//l/7j42/r//+j/nM+3/Mw9P8fEf/mfHP+b0vb0n/j
jf8b2tBHRMRPJZD//5O0/5/C/P4Q/F/+n3X8a//L//////9b/17/mN3f+txgIhgG
USJqhCNqpI2ICBT3RKgoFTdaD0Mf8v///4h4+f///2fjDOqI/4h/yf//50aZGTOD
cyX+5DMTB5yHmaOIDc6Afvz/fwgeBD8ED8Gthy9NDJHTdGZF05kXO7r50c2PHZ1Z
TG8+TTc5TSI68+LFjs5snm5y4kfc5PGIa7zY0ZkX3/TY8eIT5cSPziyeK7EQPzq/
6HEOoc8vdmZe9Pjzleef4SEYcjQER7/gBb8M+SE4woJf/mXIERYcD8G/PORfMAQv
Qx4yBC9/CL4gf0H2IXiI+AIR/2F/CE7wYWPR7eSw6HZy+EiFIxU+UmHRgRcbp9ti
7SMV/kgF8nC6LdZOL0W3P1LhRQd+sbbYOFJh0YFFt8XGkQq/ZF/270v2///oJa8u
Ly+/vPzy8iXfJb/8y/Jd8i//8stfcsnLy6slL/9//PH//5/cf8nrsb7ssq8l/8uW
7OuvumzJrsevl/wl+2vJJf/6JXvpe8neln592Zn6+OH////x/////w/////4/4j/
/79Jy/9/6eVDf4P///+Hfvz///Eb/P9/DP0f+v8Jwr+J8P+fII3/s4b+MPj//38O
9P///x8G//8/Cej/XKD//w+G/23pQ/9F7H+w////F7H/bPn/f7Yc7P//MzCx/1/E
/v9z+ufS/5+vfPRf9J3fg/3//7/o+////w/2//+Lvv/zE33//x/2//9+W6//KfL/
///rb37//9/8npH//9/86v+vf27J29I2xc/4bWlb+vstvdrS939LLf22vrbk0r/+
Lbn0/frburq0vq22tP7/r////9s35pQwwtr6tv6trX/rra2tf+vf2vq2tv6tra2t
39ra+r8t3ZIt2bot/b99640U3qg36g8RxyHi+DdS+I0UPsqo30jh/yij3igjhf+N
FN5I4Y0yUvg3NspI4X9bCkM3LLWGpcPQjfo/DL1lw9Ab+je0oR/WW3bmEAz91n/m
EAy9Iesf1tYwZNkP0x6GLPuPYVSCEyijjBpG/Qke7SMiIiIiIo4jIuKIiIiIiIiI
iIiIiIiIIyIiIiIiIm7I0DAEQzC0of/tP1H6EREREREREf9L/7f1/1H/h6E/IuL/
c2MTB5wOToKYieJzK8cNFGnjVoZzxZSbPHLMAgYFnB9F5JgFDBbMCnPB5HBOJDwE
vyz/PwzBD8GHH4KHYAiG4LAtLXZmPgeztlgb+r8huIfg+yF4CIYMwW3XguwXZJfr
/yxbpPOLdKYoy1+kM0UinUU+i3TO8tb33yUbAhH//7BD3of87Q/5IRcED/m2S4+P
f/1/l+wg4i3Z7y/ZS3a1ZO923f/jn25y4hovHpETuedK/Og8PX6EiR+dWYiF7vK/
/P/yy7fKv3WTlkv/Iyz4IVgw5CF4+YfgZciCd8neXrL/l+wlW0LJfq9NhE8QzP/p
tlj7RbfF2qIDi+6RCm9LonukwqLbYu3/7f81/v9fbWkw/NL/XfIvl7y87PK/7PJq
yf//f+n//6WfG71zhv6XLdk/Srbkkl3/kl1LLtn/2//x//+xUcN+6f//h///t6X/
8f+3/ysT///LmlvyD+n/x29w/P///zE5+v//of//D/2/9P9/GPz///////Z/Vv3/
Cesz8G19Qbb0PwMf7Az+/7b0f0a/ZEvb29K/LW1LdtiW/rD0Uuv/H+z///+f3/it
f+t/661Lrb9RJ3ghvFH/m98z8ub3////N7/Vlja2pX9b2pZabemHod/6Lbm09i7Z
aku/Ubb0tuTSkFr31v/WWw1LrT8iIuJbW1ttbW1t/W/91tYoo96of6M2ytiop+hH
GWWk8EYZZWzUv1FvlFEFQzsM/cPQMGQIhv6fOQRD1oZgCKY9DP0WDD0MwVAIhh6G
/mFoGIIhGPo/IiIiIiIijoiIiIiIiIiIiIj4/9J/bixmJhZmJsJQHpQ/O4pY4kKc
KWKB8maJ+CyxTHyKDmlZluVw+NZBsC2Fl15t6bV4W6wt3hZr53me/4KIL/psV54v
2YKIX3Ydl+xyyS7fHvYh4gtE/BfkrdtL/61/l+xdsvf//8u2pX3p35a+hC/h//8v
2aPXL9naktefzj+d/9e3pV9q/aXLb/3Lv/zr0v/ae61L/14/Uu2PVPuX4v/LN2pp
+Vejftlf9keF3pb+j4ptya5/+Zd/5aP/hd6qtPvf+v//+dr///NV9v/////7ben8
2xR/2bZkS////7f/l+z1t///tmRLtmRLb///Lf3//1tbW1v/N+o3LP12HP+NMsoo
o97+l2yjftuy/rAsWNbb/w9Dv/1/RERERERERERERPz///8/NyOK2OCMKGJDeZPP
nplIgNMnnzCTm8QkZmFWCAPOPLnPLQchBs6PiUc4Ukc4okbaiIhAUTqiRo/yCEe0
SBO9W28N/xB8LxiCX/APwT88U/z/T5L/n/T/z9fn+S925nov1hZrQ6FibXGEoGLt
3+v/v/6//iHiC0T8Q8QXiPjbvyD7l7xcVfIlLT834yz/ccT/f/z////93w8R//oh
EPEhEPHLfghE/L9u///////////j2+Nf179U/6X9/////23pt6X/73/JlnD8J87j
tvT6+UROLEROXOPFI3KC4OnMi0esaTrzYkc3P7r5saMzi+nNp+kmp7kSPzpD8HRm
Icvi0XTmxY5uyj2fIJhHlvX//+tvEv32XNiof6Gljbr+giEYggU/BAs+egiG4OgX
vOCXIT8ER1jwELx8tGBECI5+wZCH4AUj/p8g/V+KN5H69i1/a3Z++dK6WFtsLLot
1n7RbbE2DCWHF90W3U4OH6lwpMJHKiw68GLjdFusvegeqTAMJYfF2qLbyeEjFRYd
WGwMQ2Ltt6Xflo56MPxPzOLjtxVbWnz8l5Zc8nLJv1zyyy8vL7+8/PLyJd8lv+zy
yyUvL7+8XPIl/z9f/5Xzc+ntbbXfCCK+v9qX4iX7R8n+UbKvH8f6ssu+lvwvW7KX
7Ppassf6siX/Jfv///P1w377y9+aTkuX//rx8H/4/8Ph////8f///w////j/tvTb
0v+M//8f//8fOoYaHL/B8b/BBv///w/9+P8/Nvj/hx7/////vz35//OWkP7/l7Lq
bCgM/mHw/zAYBv///8+B/v//w+D/nwP9////t/WNW//7lqT/f7YQe7Az8MHOwH+w
wf7//1/E/rPl/5+h+f8XsT9L6DfqN+r/sPS7ZFh6l1zfsPR/0RfsH+z/wQb7//9/
0ff//x/s/1/0/f8Ej/9v1LtRRn2UUW/U/+ZXM/Lm94y8+f0zcvL8////+pvf/3/z
IyL//+ub3///Pwy9G7IelqG3Lr1La+/S2rv03/d/Sy39tr625NK29L9L/d+Sresu
jYiIiIiIiIiIiIiI+Cn61lZbW1ttbf231da/tfVvvbW19db/W239W1tbb/3/Rhkp
vFFGGSm8UUaFf6OM+kPEcYg4/o0UfiOFjzJqoz78Rhn1h4hjYyOFDxv1/2HIsg3B
kLUhGPLfkKF/Qxv6Yb1lZw7B0DD0/jBk6N8QTHvLdhj6iIiIiIiIiIiIiIjjiIg4
IiIiIiIiIiLiiIiI+J8o/f+l/9v6/6j/w9AfEfH/z1TH3REp6qgREdEiIgL1J+pP
vZ/w/399Xf//////////////f25VIqf5RE4QzCNyTx4vXtOZhfjRmUT8OMSPF4mI
m0PkpseOF59YCIJ5RO4heDqz0HyabnL6Q7DgBUNeMOT/aMHLD8EfC4b8C4bgBUP+
aMFDcIQF/0W3xdqLtUW3YUisLTrwenJYrB2psC2J7p9+1hYd+MXaotswJNYWHRiG
ksNi7cXG6bZY+18u+ZJXL3m5h4hf5ZKXf9m/5OUvefmSl18u+ZLvkv9HyV6yJV+y
Jf+vJbt+yf6SbMlfssclW/Jryf7Llux/+P/x/1bX/7el////w///P/7/Nzg+/viv
/uP//+P/2ODj/+OhH/9h8P+/f/3///8/DP7/nwP9/2Bnywx+Bn/1P1tuS/9n8D/D
+Az+n4GL2H+2/GD/8/vvav3///9/sP//F33/P7dS3vxufn/ze//65vf/f/P7b370
/Ob3f/O7/ub3713aJVvaJVv/36U3ypbWXbJ1danfJVt/l15bculva+utrbe2Rhl/
69/aemtra6utt7b+rbe2ts7pG2XURhkVNsrYf6N+o4wUfqOMFN5I4Y0yKmyUcfiN
2kjho4z6bwiGhiEYchiCaX89DL0FQ9bDEKytYciQwxBMe38Y2rIzh2DoPyIiIiIi
IiLiiIiIIyIiIiIiIiIiIv7/0v8/pH/9Ef//////////////////z00nQuIxN48d
O260iBo3PVLENH15/Sf9nxt0Lv/lBfrXX/Uvun3hiCP+//L///////+HYC7ENTqz
mYX4zY4dnVlMj0TEzSFyYiF+7OiGYIp4xDXi5hC56bHjxY4dcXOI3BMR3fyIm0Ms
RE786AzBEDydWejb0kPwMmQI/pchHwuGLPgFPwTHgiH/x4Ihv+BYMAQLXv5owd+o
YUhsHKlAHhYb/5EKiw6cftYW3RZrH6kwDC26nX7WFh34Tz9riw4cqXD6WVt0W6wd
qTAMwVByWKz9rZe8LJf8Ly9f8mrJL//yJS//l7y8fMnLJS//csk/BP9X/X8teUm2
5JJ92T+WZEv+l2RLXnZJ9ijZ9deS/cXGj//4//+P/3/4/////8P///+3H/pD///j
4/8NPv7/+P/Y4Pj/4y/5c4H+HOj///8/DP7///9h8P///xex/0Xs//8zeLb8B/sM
/n8G/88wzpb/Zzrl/4u+v+j7///8/h/s////H+z//99//df//83vm9//jPzm9//N
7//mR8+b3/83v29Lv/7r/7buki25dEvf75Kt67tka0u71Lv0/y79mNO3/q3/t97a
2nrr23pra+u3tnJqvdXW1v9v/dZvpPC/kcL/b6TwG2WUUYeI4/BGbZSRwhsp/Btl
fIg43iijjPpw+I2acrFRok8ISj4xEzH5JKZPbmLNpDTVcOKTetJOoA9Dv2X/lv0/
rIchGIKhN+QbGoZgbf0wBNP+DQ1DhmDo3R+GhqBBlMOHn/4/BE+pqfG/6hERERER
ERERcUREHBEREUdEREQfERERERHxiPN7fhFvxcXa+BP4serUQft/a/vt//L//0v/
y8+JOeLT5zzb7In/xCc+8TlxJj7xBebcyjb7GzlxJm7OxOfEj3ziMcdPZpgf8TmR
T3yGZXb8KMyeeJyJN/E5P/GY40x8duSzY5l4zMnsmJPZcSb+bX3pUzgE+hAM4V+O
Px6C4//lNwzB8UMwBEcYguVlCENwLA/BshzhCP9HGIJjCF6OMAQPwRA8BMePenwc
l/KYx1/MHVoKncfQBhH/EPEFIr6Y+w3OY+Y/j3nMYh7Fw5aYO495DIm5rTyKh8Xc
WczifxbzGMrj4uEs5tHKYx6tPIYOQ/8YS7bkP3rFtWTX29I/+sOW7LKlJVuyy5bs
xtEll+xCX7Ib0csue1u6bMkuyb6xbMlesiV7ya4jIn78P+ih//+3pUEf7Ph/jP8N
D/rxoMeGQf//Pz7e8P9x/P/z9/9DzJ/z/29L/xDz729L/z/sIeb/IeYfNsT8/7b0
/8P+////5+W/oP///41a0M//vPwHcZwvf9gL+vOloM8XC/r///MyX8L+Py98+Z8J
ETFxT5RjkmPHfREoAkUCnLv02+xttfX135b++F+/1WZ/vC3Z7FuyJca/2mqzf91m
T/+1pZaOf5v9Nvvp/7a0zd5mvy19Jvgfgv/vCfQfFcdH/8ff1tbRb1TU1nFUHBvV
0XHU0R1lVHQcb3H+o47aqI+Pijr++kPw/72+DUMwiPgwiPib9v8w9P5v2j8MwdAP
QzCU4xAMWW7awyDiw9CmvcOQZdrnOJTj0P/D0DC09TA0DMHQMPTHF+k8/lnxj4gg
PhEREREREbEQERERERERR0REBPGJiIiIiOOIhYiIiIiIiIiI+D/k/8N/W3pb+v9L
9v//MfT4oecmIX7EoYz4NJ8oJ350ZvHl7Og8O3Z0ZiHKaVY03eT084mcWIgfcXM8
V4JgLjQM1TD0dQiOh7xgCF6GvGQv/7JgwUNwhAX/giFDcAx5CB6CR0RExIuN0wct
ur1YW2wcqbDowB+p8EcqLNYWay82TrfF2g8Va4tui+7powOLjWFIbPwl/6uXXPLy
8i//csklX/Jd8qMkry77csmXfFaY9fQJypRMfKLPzTo1UPKJmYjJJzF9Uk/qeZN5
8ln+10u+ZH8t+ddfS7Zk/2VL9iXZkkt2Sf7/4Ydgnch/+On/P/2V9x//xx//////
H/8/9OP/+Pj5eBQbF46YX8RbccSvx0P/j6H///9xTEeHfnw2iv8fOvT98t/+///c
KtD/JwH9////5wL93/7/CUPnAn2b0/SJz5kdZ+LmLCE7zsSTiU+f+MQnHiOeZeJz
4kw8EvHjTNycic+JH+E4E++JT3zic+JMfOILzLmVbfazxI8zcXMmPid+LLNnT3x5
4pHPmR0/wsnyxOPM7iL2/2dgYv9vS/+f0Rl8EfvPltsZ/H8R+0Xsfwj+h+D4ITjC
H0fL8kNwhGUIjh+CIRiCI/zxEBz/L78MwfFDMAT/H+GXIRiCP8LLF33/+b3o+9/6
/4+Lvv/bz+9/0XfR98/jfx4z/3nMonUoc6TcYm7rPGZRPJzHzH8e85jHLC6FzmNo
g4h/iPgCEV/M/eLhPGb+85hHe2kriy8ezmMeLSuLi4df/3/zq/9t6f+bX/O7/ub3
3vz+//r6l+y3JckuW1qyy/4qy9FfsstulOyypSVbsiW77LiW7Hpb+kf/RskuW1qy
JXv5L/sbJVuyv+wbv/62tEvr29r6/y659NqSS98u2ZItbev6+sf/8f///4P+v+H4
f4z/Q///b0uDvuH4f4z//zcc//+G3/q33tr6rUb9f2trgri1tfXt1tbWW1tv/X9b
elv6//8h5v8f9tvS/5/z/29L/xDzD/tt6TeCQKj/h/3/D/tGCn94ozbKSOHfGIb+
3yijNlL4KKPejTLKqI2NFD5spPAv5eWfl2+DQP//L+j/h52X/yCO8+X///8btaAf
dl7+gzjO1/8/7Hz5/7Bv2fswNAxZ9sO0h6H/hyEY2rIzh2DoG4ZgCIaGaW/Zbtmv
NvuPbfbHrbb0/7++LT3/bfbH25LN3pb+t6U//tfnv83+eFuy2Xv920p/m70t/U//
IyIiIiIiIiIiIiIiIiIiIiIiIiIi4lFRb0VtGRX//0f38RsVtXUcFf8ff1tbR79R
UVvHUeX3x0ZFxfdv1A/B0A9DD0Mw9P9v2vsw9BYM/TAEQzD0Pwy9/5v2b8HQD0Mw
9PvDIOJbMARD+299RERELERERERERERERERERERERETEQkRERERERERERERERERE
xP8fCv1VH/F/SqbGpJnos0zFBJrERMwas54+qecyoSfQ3MT0SczyuZXhlMYkmMHE
IwgzwT0hT4r///CvpP2J/v/DRBuCVVduzP84jvjn4xFrxPF/KwQLJNAC6f//+///
LF+kcxXWT0xzYk4mPvHZcSYeZ04k4kw8mficOBOPRBOPM33icSYeZ/rEY474sz3x
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
l5dH2SXZ0kt20Fb55eWXS+76l18u2V/+ki05DF++ZG/Fkr11+TAs2UEtLblkvyEI
JJUkXFJpqV6SakGNkiTVtSTpVq/SkrQkvSRJKv1bMDz+N0p147gEwy/opfqlEQRK
GELOFMQMwhJLRBALnA3lxGJ6zMwCr5oc/V//9RPJ+v9fX+vra/3/dWnYU6DriVTS
Eykp0GHrL62oXxC0IViw6oLvS4Lgfw68/qr/ugz//9f1Gf6llz7+eil+sCU+XIoN
h2rDEh8+2HH9FT8IdFmul+sfWr9+Eu71pf9h/9LS/69L//////v6sNPrYa/7u/Q/
BCp2FrkterKkkugpBrO3LZ1ui1FXFXFUlb7WJWlVsFV1XVV1vV5XXXWVVPWXSPhF
HB9sXcFexFEp/LqkX0OQdkFe9nrZ77/kS1VBV9Xr9V8Fr6rrqqorjqqrrkrTX1Wn
4f9BnwavC37Q9WlYX/NKr4dAv/oPIt7/Ly3Z/0tffbWut87V/re2/mv50ku/Df2l
11ZpSZqE/Va6XVq69aNeHguCvvqo+uP/Wv+vvxvb0rot3fq31NLf6v//Nqeof5tT
q1Gv25xat6XW142yOf22ZHPieAj063DVh1/XGv/j/4qKj9qoPyrqN646UX+i/mjr
TzTQxpWo40QDbdRRRiXq+IreOir6IZAk6XtdahHekq5VhGOXJJckqbcSxSVZkiVJ
kmhconFJkmS9VJJUkmTIkiSpDFlWeRmyJMsqlyxDUkmWIWkIdJU2fL3h49brepP9
7wVDhh6GhqF/WMP6Tfuq4Q9/GIKhHw5Dpj0Ygpvs4TAEQ8MQDMFN9oMhGPphCIYe
gka94fUNH/L6EREREXFERERExHFERBwRERERERERERERERERERERERERsSDQH/Zl
DzuDofWz9HpS+iFoaIWt+rDP+qWvv7SgYvCCV61wleyvFSRJiodAeqXn60V5Xr/0
LFW9NQS966//77+lC3QYKgh011/6fzdqf0TEQdAbkmHp7Q1L/zekh0BSo2JJYkBE
EI5FkNhLxiKIDe0QaFnW69bltaGHQDcEQ0sUFQz9b10QFBEREREREREj/mdCxuQm
tIllJgZxo5qLmSQmOuhUMslECCY00R2CnwpNKZEsfW6wyKRfhmCdCaGQJUklVUmS
VCVJkiFLkpYfOhQa9FDoL7KXg4ZOmi8tSY+SNGl9nTRHqSD7////F2R/yZXO5EyC
JA5DYKUzORODITCPIDDdPPMxMQSCWcw3n5jNM5vpJoGVzjyzTWe+GeaYnJnNYAjM
hZjNYAisdCbnmZluDlGQxOElyfnEbAaDYLrZTDdxM8wxF9OZgsiZYT4TQRCY2Txz
UJ45KM8ck5tnPuabzuSYGKIgZjPM8S/IEAx5SQsyBENWCNaHDMG6QvCXBLkgHz1k
yBA8ZIXgIWtBhmCpJAiGvBQ/BA9ZL2nIkKMhGLIEwRCsq2i8isar9JCjIUOG4CFD
XhgNWV6qaMhyyfUy5Log/ypH3xENOS7IcUVDfpXlJasQclyvEd2yMGS5/v9/uWUZ
ckTXpJjuIoeXYFBSTHfRYxgkcoRBL3qc3MHQmtw/SvQ4KS5SOzlIMd2TIgxK7kkR
BiXFdD9K5ChyeEmQJvekCIaOSg5SFKktckzHdBc5wqCXXnrpRY9FaoseixxO7slB
iqtcsiWPulyyty5fekuyt0uypYO2yi+vcskuX7LLL5fsg8olj4JUkl3+QVVeXi65
ZJfvuuuuS2+Vb0ku2VV+SfpaWpK+cfylxlpaqpcENUqSVOvSS3ot6ZL0KgivJfla
UkkSpEs1vvX4vfba61Jj3VjXuvRaV/xaT6SkQP9E1v/6n0jWf9X6r/+1XhNGFRcJ
v/5/1c+C6jpr9LXWWusTyU9kjXrV/7iWPjYs8eHSG66/6i/D//9xLdW19PHFAq9D
Tf+6/vqfDa9jEnDpDP8Z/jP8b/gNV/2fov8k3P+w16Vh/+tLD/uX/v///19Pwi3Z
4Sn6/39p/fV1aV1al6RhS8P+/y2rvvSqg72I40tgr9K1LinYqrqq6qqvqqu+ijgu
fVTLq6qkqqqriOO6iOPXX3/9Etgr2K+qeqkqDedVX5UGftA//Hq9vuBVdVVVGlZ9
VV2VJquCnle9L11VV1XVFfSVpoM+joqj4qiHX/B5XVXVsP7L1dJPhF1aklaGvfWr
dZ2r/W/9f6n1pf+Xlqu3DGvr/3/r0vqSVF5evjLsrXT7cus/6m1OtrT/NqfW19dW
W9rYltZb/5Z+m9NvS//bnH61pd3WKFv6/29pbbU5rfu+z/Ha2lIrw7ZkS3/ro6M+
UX+0UYk6TtSxUVFXVLxRf9Qf/YkK1Cfqj/446qOtqP//qNg4Ok6UUFVVHRsVZdRR
UX9DkmTIkrokyZBVXonisixpK1FckiVJkmhckiQZkqSyJKkkyZBKbkltQvGGLEmS
JEmSJNG43DLk9f9Sorgs0bgsybIkSQpDD0MwtMMfhmAIbrKHGxqGYOiCIUMPQ/+w
fhh6OAw9/GGoNtnD0A5DFgzB0P//sEz2pj0MmezhVVVVGxqGhgVDwxAM/RERERER
ERERERFxRERExBERERERERERERERERERERERR0QcERERERERcURERMTSE8tff+kg
SVIsrbdeD0NHRMT//////////////////wAIgAA=</DeliveryConfirmationLabel><ToName>Joe Customer</ToName><ToFirm></ToFirm><ToAddress1>STE 201</ToAddress1><ToAddress2>6060 PRIMACY PKWY</ToAddress2><ToCity>Memphis</ToCity><ToState>TN</ToState><ToZip5>38119</ToZip5><ToZip4>5718</ToZip4><Postnet>38119571851</Postnet></DeliveryConfirmationV3.0Response>

 

by: amit_gPosted on 2006-10-02 at 17:07:08ID: 17648230

This works ...

                        Dim btArr
                        oSingleNode.dataType = "bin.base64"
                        btArr = oSingleNode.nodeTypedValue
                        objStream.Write btArr

 

by: amit_gPosted on 2006-10-02 at 17:08:58ID: 17648244

Your original code should also work with addition of

oSingleNode.dataType = "bin.base64"

 

by: acperkinsPosted on 2006-10-02 at 21:16:43ID: 17649172

peterxlane,

A couple of comments from the peanut gallery:
>>I am beginning the process of integrating with a USPS webservice.<<
My condolences.  I sometimes wonder how they stay in business.   Oh wait a minute, they have a virtual monopoly :)

But more on topic:
>>sorry the xml file is so big.<<
Not sure if you are aware, but you can upload files on EE now.  See here:
http://www.ee-stuff.com/Expert/Upload/upload.php

 

by: peterxlanePosted on 2006-10-03 at 07:36:38ID: 17651808

@amit_g

Many thanks, that worked great.  

@acperkins

Thanks for the condolences... Actually, this integration has seemed better than FedEx so far.

@all

Rather than saving the file, is it possible for me to set the content type to .tif and display the results in the browser?

I tried
Response.ContentType="image/tiff"
Response.BinaryWrite btArr

but no luck...

 

by: peterxlanePosted on 2006-10-03 at 07:38:07ID: 17651819

On that last question.... Never mind, I figured it out...

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...