Exontrol.ExSkinBox - Information, Features

ExSkinBox

Exontrol's new ExSkinBox offers you skinable message and input boxes. A message box is a dialog box that displays a prompt and ends when the user clicks a button. An input box is a dialog box that waits for the user to input text or click a button.

Features include:

  • MsgBox and InputBox implementation.
  • AutoClose support.
  • Ability to center the message box relative to your window/dialog.
  • Ability to apply custom skins to the message box.
  • Ability to display custom images using the encoding base64 format.
  • Ability to load skins using the encoding base64 format.
  • HTML format for message box's prompt, title or buttons as well.
  • Ability to define the captions for standard buttons like Abort, Retry, Ignore and so on.
  • Ability to define the font being used to display the message box.
  • Ability to specify the position where the message box shows up.

® ExSkinBox is a trademark of Exontrol. All Rights Reserved.


Exontrol - Support

How to get support?

To keep your business applications running, you need support you can count on.

Here are few hints what to do when you're stuck on your programming:

  • Check out the samples - they are here to provide some quick info on how things should be done
  • Check out the how-to questions using the eXHelper tool
  • Check out the help - includes documentation for each method, property or event
  • Check out if you have the latest version, and if you don't have it send an update request here.
  • Submit your problem(question) here.

Don't forget that you can contact our development team if you have ideas or requests for new components, by sending us an e-mail at support@exontrol.com ( please include the name of the product in the subject, ex: exgrid ) . We're sure our team of developers will try to find a way to make you happy - and us too, since we helped.

Regards,
Exontrol Development Team

https://www.exontrol.com


constants OutResult
The OutResult type defines the buttons that a message box can handle. The Out method displays a message in a dialog box, waits for the user to click a button, and then returns an integer indicating which button the user clicked.

Name | Value | Description
exCloseTimer | -1 | The dialog is closed after elapsing time. The AutoClose property specifies the number of seconds to let the message box being visible.
exClose | 0 | The dialog has been closed.
exOK | 1 | The OK button has been clicked.
exCancel | 2 | The Cancel button has been clicked.
exAbort | 3 | The Abort button has been clicked.
exRetry | 4 | The Retry button has been clicked.
exIgnore | 5 | The Ignore button has been clicked.
exYes | 6 | The Yes button has been clicked.
exNo | 7 | The No button has been clicked.


constants OutStyle
The OutStyle enumeration values specifies the look and feel for your message box. Use the Out method to invoke a message box with a specified style. The first group of values (0–5) describes the number and type of buttons displayed in the message box; the second group (16, 32, 48, 64) describes the icon style; the third group (256, 512) determines which button is the default; the fourth group (4096) determines the modality of the message box, and the fifth group specifies whether or not the message box window is the foreground window, along with the alignment and direction of the text.

Name | Value | Description
exOKOnly | 0 | Displays OK button only.
exOKCancel | 1 | Displays OK and Cancel buttons.
exAbortRetryIgnore | 2 | Displays Abort, Retry, and Ignore buttons.
exYesNoCancel | 3 | Displays Yes, No, and Cancel buttons.
exYesNo | 4 | Displays Yes and No buttons.
exRetryCancel | 5 | Displays Retry and Cancel buttons.
exCritical | 16 | Displays Critical Message icon.
exQuestion | 32 | Displays Warning Query icon.
exExclamation | 48 | Displays Warning Message icon.
exInformation | 64 | Displays Information Message icon.
exDefaultButton2 | 256 | Second button is default.
exDefaultButton3 | 512 | Third button is default.
exSystemModal | 4096 | System is modal. All applications are suspended until the user responds to the message box.
exMsgBoxSetForeground | 65536 | Specifies the message box window as the foreground window.
exMsgBoxRight | 524288 | Text is right-aligned.
exMsgBoxRtlReading | 1048576 | Specifies text should appear as right-to-left reading on Hebrew and Arabic systems.


MsgBox object
Tip The /COM object can be placed on a HTML page (with usage of the HTML object tag: <object classid="clsid:...">) using the class identifier: {6BBB0912-B723-4B47-A806-B529336D81B9}. The object's program identifier is: "Exontrol.MsgBox". The /COM object module is: "ExSkinBox.dll"
The MsgBox object provides message and input boxes. Use the Load method to assign a new skin for your message boxes. The Out method to displays a message in a dialog box, waits for the user to click a button, and then returns an integer indicating which button the user clicked. The Input property displays a prompt in a dialog box, waits for the user to input text or click a button, and then returns a string containing the contents of the text box.

Name | Description
AutoClose | Specifies the time in seconds to automatically close the message box.
Button | Specifies the caption for the specified button.
EBNhWND | Specifies the handle of the eXButton's control that controls the visual appearance for the message box's buttons.
FitTitle | Specifies whether the MessageBox or InputBox ensures that its title/caption fits the dialog's title.
FitToScreen | Specifies whether the MessageBox or InputBox ensures that it fits the screen ( current monitor ).
Font | Retrieves or sets the control's font.
FormatAnchor | Specifies the visual effect for anchor elements in HTML captions.
HTMLPicture | Adds or replaces a picture in HTML captions.
Image | Specifies the image being displayed for a specified style.
Images | Sets at runtime the control's image list. The Handle should be a handle to an Images List Control.
ImageSize | Retrieves or sets the size of icons the control displays..
Input | Displays a prompt in a dialog box, waits for the user to input text or click a button, and then returns a string containing the contents of the text box.
Load | Loads a skin file to be used.
MinHeight | Specifies the minimum height of the message box.
MinWidth | Specifies the minimum width of the message box.
Out | Displays a message in a dialog box, waits for the user to click a button, and then returns an integer indicating which button the user clicked.
ReplaceIcon | Adds a new icon, replaces an icon or clears the control's image list.
Version | Retrieves the control's version.


property AutoClose

property MsgBox.AutoClose as Long
Specifies the time in seconds to automatically close the message box.

Type | Description
Long | A long expression that specifies the time in seconds to automatically close the message box.
By default, the AutoClose property is 0. If the AutoClose property is 0, the user must close the message box using the ui buttons, else the message box is automatically closed after specified time is elapsed. Use the AutoClose property to automatically let the message box being visible for a specified time. The Out method returns exCloseTimer value if the message box has been automatically closed after elapsing the specified time. The <%sec%> HTML tag indicates in the Prompt parameter of the Out method indicates the number of the seconds until the message box is closed. The <%sec%> is valid only if the AutoClose property is not 0. Use the <%sec%> HTML tag to indicate a prompt for number of seconds until the message box will be automatically closed.

The following VB sample displays a message box, and automatically closes it after 5 seconds:

With MsgBox1
    .AutoClose = 5
    .Out "This is a short message we want to display for few seconds<br><r>Closing in <b><%sec%></b> seconds.<br><br>", vbInformation, "AutoClose"
End With

The message box displays the message "Closing in <%sec%> seconds" that indicates the number of seconds until the message box will be automatically closed.


property Button

property MsgBox.Button(Button as OutResult) as String
Specifies the caption for the specified button.

Type | Description
Button as OutResult | An OutResult expression that indicates the identifier of the button being changed.
String | A string expression that indicates the new button caption.
Use the Button property to assign a new caption for standard buttons. The Button has effect for the next call of the Out method. Use the Image property to assign new images for exInformation, exQuestion, exCritical or exExclamation predefined types.

The Button property accepts HTML format like follows:

  • <b> ... </b> displays the text in bold
  • <i> ... </i> displays the text in italics
  • <u> ... </u> underlines the text
  • <s> ... </s> Strike-through text
  • <a id;options> ... </a> displays an anchor element that can be clicked. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link.The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick(AnchorID, Options) event when the user clicks the anchor element. The FormatAnchor property customizes the visual effect for anchor elements.
  • <font face;size> ... </font> displays portions of text with a different font and/or different size. For instance, the <font Tahoma;12>bit</font> draws the bit text using the Tahoma font, on size 12 pt. If the name of the font is missing, and instead size is present, the current font is used with a different size. For instance, <font ;12>bit</font> displays the bit text using the current font, but with a different size.
  • <fgcolor rrggbb> ... </fgcolor> or <fgcolor=rrggbb> ... </fgcolor> displays text with a specified foreground color. The rr/gg/bb represents the red/green/blue values of the color in hexa values.
  • <bgcolor rrggbb> ... </bgcolor> or <bgcolor=rrggbb> ... </bgcolor> displays text with a specified background color. The rr/gg/bb represents the red/green/blue values of the color in hexa values.
  • <solidline rrggbb> ... </solidline> or <solidline=rrggbb> ... </solidline> draws a solid-line on the bottom side of the current text-line, of specified RGB color. The <solidline> ... </solidline> draws a black solid-line on the bottom side of the current text-line. The rr/gg/bb represents the red/green/blue values of the color in hexa values.
  • <dotline rrggbb> ... </dotline> or <dotline=rrggbb> ... </dotline> draws a dot-line on the bottom side of the current text-line, of specified RGB color. The <dotline> ... </dotline> draws a black dot-line on the bottom side of the current text-line. The rr/gg/bb represents the red/green/blue values of the color in hexa values.
  • <upline> ... </upline> draws the line on the top side of the current text-line (requires <solidline> or <dotline>).
  • <r> right aligns the text
  • <c> centers the text
  • <br> forces a line-break
  • <img>number[:width]</img> inserts an icon inside the text. The number indicates the index of the icon being inserted. Use the Images method to assign a list of icons to your chart. The last 7 bits in the high significant byte of the number expression indicates the identifier of the skin being used to paint the object. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the part. The width is optional and indicates the width of the icon being inserted. Using the width option you can overwrite multiple icons getting a nice effect. By default, if the width field is missing, the width is 18 pixels.
  • <img>key[:width]</img> inserts a custom size picture into the text being previously loaded using the HTMLPicture property. The Key parameter indicates the key of the picture being displayed. The Width parameter indicates a custom size, if you require to stretch the picture, else the original size of the picture is used.
  • & glyph characters as &amp; ( & ), &lt; ( < ), &gt; ( > ), &qout; ( " ) and &#number; ( the character with specified code ), For instance, the &#8364; displays the EUR character. The & ampersand is only recognized as markup when it is followed by a known letter or a #character and a digit. For instance if you want to display <b>bold</b> in HTML caption you can use &lt;b&gt;bold&lt;/b&gt;
  • <off offset> ... </off> defines the vertical offset to display the text/element. The offset parameter defines the offset to display the element. This tag is inheritable, so the offset is keep while the associated </off> tag is found. You can use the <off offset> HTML tag in combination with the <font face;size> to define a smaller or a larger font to be displayed. For instance: Text with <font ;7><off 6>subscript displays the text such as: Text with subscript The Text with <font ;7><off -6>superscript displays the text such as: Text with subscript
  • <gra rrggbb;mode;blend> ... </gra> defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the rr/gg/bb represents the red/green/blue values of the ending color, 808080 if missing as gray. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The <font> HTML tag can be used to define the height of the font. Any of the rrggbb, mode or blend field may not be specified. The <gra> with no fields, shows a vertical gradient color from the current text color to gray (808080). For instance the <font ;18><gra FFFFFF;1;1>gradient-center</gra></font> generates the following picture:
  • <out rrggbb;width> ... </out> shows the text with outlined characters, where rr/gg/bb represents the red/green/blue values of the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><out 000000><fgcolor=FFFFFF>outlined</fgcolor></out></font> generates the following picture:
  • <sha rrggbb;width;offset> ... </sha> define a text with a shadow, where rr/gg/bb represents the red/green/blue values of the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><sha>shadow</sha></font> generates the following picture:

    or <font ;31><sha 404040;5;0><fgcolor=FFFFFF>outline anti-aliasing</fgcolor></sha></font> gets:

The following sample changes the color for Abort button:

With MsgBox1
    .Button(exAbort) = "<fgcolor=FF0000>Abort</fgcolor>"
    .Out "This is the message box's prompt", OutStyle.exAbortRetryIgnore
End With


property EBNhWND

property MsgBox.EBNhWND as Long
Specifies the handle of the eXButton's control that controls the visual appearance for the message box's buttons.

Type | Description
Long | A long expression that specifies the handle of the eXButton control that display the buttons of the message box in different states.
By default, The EBNhWND property is 0, which means that the buttons inside the message box are shown using the default background. The hWnd property of the eXButton specifies the handle of the eXButton needed to be passed to the EBNhWND property, so the look or the visual appearance of the buttons inside the eXSkinBox are handled by specified button. Changing the visual appearance for the eXButton makes the eXSkinBox's buttons visual appearance to be changed too.

The following screen shot shows the eXSkinBox control when the EBNhWND property is 0 ( by default ):

The following screen shot shows the eXSkinBox control when the EBNhWND property is not 0 ( MsgBox1.EBNhWND = Button1.hWnd ):


property FitTitle

property MsgBox.FitTitle as Boolean
Specifies whether the MessageBox or InputBox ensures that its title/caption fits the dialog's title.

Type | Description
Boolean | A Boolean expression that specifies whether the MessageBox or InputBox ensures that its title/caption fits the dialog's title.
By default, the FitTitle property is False. Change the FitTitle property on True, to ensure that the dialog's title fit entirely the window. The Title parameter of the Out/Input method indicates the caption to be displayed on the dialog's title.

The following screen shot shows the message-box with the FitTitle property on False:

The following screen shot shows the message-box with the FitTitle property on True:


property FitToScreen

property MsgBox.FitToScreen as Boolean
Specifies whether the MessageBox or InputBox ensures that it fits the screen ( current monitor ).

Type | Description
Boolean | A Boolean expression that specifies whether the MessageBox or InputBox ensures that it fits the screen ( current monitor ).
By default, the FitToScreen property is True, which means that the MessageBox or InputBox always ensures that it fits the screen or the current monitor. The X and Y parameters of the Out or Input method specifies the position of the MessageBox / InputBox dialogs. For instance, if the FitToScreen property is False, the X or Y parameters could point anywhere on the screen, else the MessageBox/InputBox will always fit the screen or the current monitor.


property Font

property MsgBox.Font as IFontDisp
Retrieves or sets the control's font.

Type | Description
IFontDisp | A Font object being used to display the message box as well the input box.
By default, the Font property is Arial, 8. The Out method to displays a message in a dialog box, waits for the user to click a button, and then returns an integer indicating which button the user clicked. The Input property displays a prompt in a dialog box, waits for the user to input text or click a button, and then returns a string containing the contents of the text box.


property FormatAnchor

property MsgBox.FormatAnchor(New as Boolean) as String
Specifies the visual effect for anchor elements in HTML captions.

Type | Description
New as Boolean | A Boolean expression that indicates whether to specify the anchors never clicked or anchors being clicked.
String | A String expression that indicates the HTML format to apply to anchor elements.
By default, the FormatAnchor(True) property is "<u><fgcolor=0000FF>#" that indicates that the anchor elements ( that were never clicked ) are underlined and shown in light blue. Also, the FormatAnchor(False) property is "<u><fgcolor=000080>#" that indicates that the anchor elements are underlined and shown in dark blue. The visual effect is applied to the anchor elements, if the FormatAnchor property is not empty. For instance, if you want to do not show with a new effect the clicked anchor elements, you can use the FormatAnchor(False) = "", that means that the clicked or not-clicked anchors are shown with the same effect that's specified by FormatAnchor(True). An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link. The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick event to notify that the user clicks an anchor element. This event is fired only if prior clicking the control it shows the hand cursor. The AnchorClick event carries the identifier of the anchor, as well as application options that you can specify in the anchor element. The hand cursor is shown when the user hovers the mouse on the anchor elements.


property HTMLPicture

property MsgBox.HTMLPicture(Key as String) as Variant
Adds or replaces a picture in HTML captions.

Type | Description
Key as String | A String expression that indicates the key of the picture being added or replaced. If the Key property is Empty string, the entire collection of pictures is cleared.
Variant The HTMLPicture specifies the picture being associated to a key. It can be one of the followings:
  • a string expression that indicates the path to the picture file, being loaded.
  • a string expression that indicates the base64 encoded string that holds a picture object, Use the eximages tool to save your picture as base64 encoded format.
  • A Picture object that indicates the picture being added or replaced. ( A Picture object implements IPicture interface ),

If empty, the picture being associated to a key is removed. If the key already exists the new picture is replaced. If the key is not empty, and it doesn't not exist a new picture is added.

The HTMLPicture property handles a collection of custom size picture being displayed in the HTML captions, using the <img> tags. By default, the HTMLPicture collection is empty. Use the HTMLPicture property to add new pictures to be used in HTML captions. For instance, the HTMLPicture("pic1") = "c:\winnt\zapotec.bmp", loads the zapotec picture and associates the pic1 key to it. Any "<img>pic1</img>" sequence in HTML captions, displays the pic1 picture. On return, the HTMLPicture property retrieves a Picture object ( this implements the IPictureDisp interface ).

The following sample shows how to put a custom size picture in the column's header:

<CONTROL>.HTMLPicture("pic1") = "c:/temp/editors.gif"
<CONTROL>.HTMLPicture("pic2") = "c:/temp/editpaste.gif"


property Image

property MsgBox.Image(Style as OutStyle) as Variant
Specifies the image being displayed for a specified style.

Type | Description
Style as OutStyle | A OutStyle expression that indicates the predefined image being changed. Only exCritical, exQuestion, exExclamation or exInformation are accepted.
Variant | A Picture object that indicates the image's picture. ( A Picture object implements IPicture interface ), a string expression that indicates the path to the image file being loaded, a string expression that indicates the base64 encoded string that holds a picture object. Use the eximages tool to save your picture as base64 encoded format.
Use the Image property to assign a new image to exInformation, exQuestion, exCritical or exExclamation predefined styles. Use the Button property to assign new captions for predefined buttons.

By default, the following images are loaded:

  • exCritical
  • exQuestion
  • exExclamation
  • exInformation

The following sample changes the default image for exInformation style:

With MsgBox1

    Dim s As String
    s = "gBHJJGHA5MKAAEIe4AAAFh0ODYFCA7AolLYFGBljBwAo7QoFIqbApQUoFLa7kzFApllRwlrQAp7mB7bYFQs1SE1TblAqleAQIpwCBlXYQODQCE3CCQcobMqwDZ7YobSDQqjbDabrCweAlHZFEpwWAlQrFsjQEs7GAwHdrKFst5FLYwLaFjKlGB7XYwQrQGCQYt/bYwTd+UrlHdSjy7jzQHdcHa7eFyOBFMp7oKboKwIqFzllzrQIqQXejbchYshbZQKCFKBw1xwSGtWBQwG2aBQrRQyRbLZw3yQ3ybLZ74iFUpbqvKbZbwvO5ql6LlLbFeBlMpw7CQ7CbMqQWHfYplrRlUrQ8zbp7lonX6xwOB7+Cl2SwOGFOHSOC7csueA9uNABSwAWA9vPAxtj2WEEskmR9kKQpNwgUsIFgzxykg8EMl28BoNJDDrJyfZNk2UsSF2Tb+K0fZSlKWEWl3FxilKXZtlKYpyukfZYFgYsemgWBoHgXZdmhIshm3IZyn2YpimhJptmLJLrH2aErSsbZoHKeEtH2bcvy+csvngbclnLM8znhNU1n3Np9gDOE4zlOc6TrO07zxPM9T3Pk+z9P9AUDQVB0JQtDTihgABCfICAChh/gAFlEoTSggARSB/gSDgkFgUBgkGBAJhULhkFgUJhkOCARg0OgiAiKZTEWDAZjUbhkFiEYjCYEAhkEJgqFQMgkh8CQplUNhsFQcoSkeGAxj0CgUlkSAQCCSQXEMSg6HmcxlE+FQNhKJR6CkUw"
    s = s + "olGGghm0YgcimNJPlOPpACUIocEodBolWGBJkEFh6GoCJrCYEIWgSZQhisZwqV8TAGHSaBCkkaxbjgWptHiGBgmKURXh0cIvG0XZrkkL5fkmAQFg8JgcHgTgcjeKgZGSEJwkKUJjkgEYlkcDg5lkMpkjsEg0EsDJLneUpflAIYthUHgsEcThiAeTJCEQYAdAES4dFgMZlk8HodhMdptluHZaDMXpTGkIxNE+IoFg+FweBgDgcDODhVEMYBeDyeYPCyUQlk+Jwej0Zh1GwUohlycBeB2QgagoHpFn+B4nF4fg4COY5mhwLhRGCQJ9nueBxmWC5YiEQw+gyMYeFUXIXjGIo9nyAADFQkBHEQGhvECcxKnOBANDQQAIgiAYICMFBwkICgpDQA4jkhYBwkMCIfCCUARksYgCmkQJxhKNBEhGM5OHCUAlAyFBwHERYYGMFBRkWOo0CIJAChmcxMBGB0D4OgpCJEQEASQKAvBoEcIAAIhgKhnAaHQQAjgmA2ByGMAqrRpCjBGJEYgBByCVEwAgPISRIhgCoJEUgRA3ikEwIgEgZBLBpBMJmFQKREglDwHEQwpREB7AqGkQolwvhCDIJoDgbBbCpHOFUN40hyCIAqFYEgURzigEIBYNQaAlAtFqFQaoohGBWDLBsSARh9BoCeJQKQeh0ClAmIUW4JwvBvEqCQJAgQeD1EICkUIiQLC1BSJ8LQLRKhTCMCIEoAgqhUFGK4f4VBKipFOCISo6gmheFyIkRIWAyCRAqKsI"
    s = s + "AaRUjlEEAQCYeAgBDA2G0EAoh2CyDuLQGIBQGgTCINsAICwsAMCkGsLwSQchSHSLYbYvh1DtCmGQUItgpBaA6BweIyBcjoFMKsFwuhKP4GSLoeApgNiIDMF4UA+hrGAEiFYTAaRxCuGOMQAwrA4gBGQMAAgFw2CwGCDEDorBYDCAwLQYwRQphvEyDgbgvg5AkFOBwO43RGixGMMahw7A4jHBiH0Fg8hjgtDwAcYIDxHBIEEKAYgLB/iFA8BwdQNRiDED+AEXwJwhARBwOcVgcxnAxHaOwGYzgajLFuAIQIWh5DVBkHEF4rwUBzAGEwG47R6DTCgEcFo9RqBUCmD0GggR7gWCaJ4YgCwbAoGiA0BYhAWj2GwGQS9awQgwEyK0ew2grgTG6GcSwWgRidFENIH4JRwDkG6HgZ4qBgiUEcJgf4+hbBeDiHMRI5BSgEBAGAO43gYBqGgMQEAaQbDuDwCQPIfh6h3GsJ4OISRzivAIB0GwRxyDXE8DoXInxAAKEUDkIIdxLBuG0HEVApxXB6HUAwWw3g9CKFgMcBwuxIi0GuG4fY7RADmFcPsdwgRHDuH2O8YABwXg8HMFIeQ7QkCiGQCcb46B5CMCUOoHgrBhgDEKHUc4tgTBFEkKcHooXJiiBcFEV4KwmhLAqAgKQqAfBtH+FAVI3gth5BWFMbAYhRBICeNATYjwID6HSEMBg/gmirDUNQdQqx5AbBoGsfo9hVgJH8NQW4KwghABKA8fo+xjqQGQJEJwdRiheF4C"
    s = s + "oBY8BLAQFYAoBwYQEDBAUEMDQBhwibH0DkeAWwQDsEqAgI4KAhA3AYCoLALBIDAAoBAWIKQmC0ECC4CQ8AgiuHoPQSwShsDwZWHwTgDgOiXAOMQJgJQWgbHgAAEg/wUBBGICIDQ8REBICYKICQKRogGGaJAIIchAAzC0GgegpRXjDHoCsEQQBKDABCBZjQLg9DxEWFwPghAjgsACMYGQehYgLE0NkIY9RaCCFeIkKIMQYD8EkAgAoAQTABCENgeIjg8DMDGB4MYohjg+HUJEBYrRchQAAIEWYNQJjpGWDQCwSwGjAAEKYQ4RgdDyEiJAQgZAmAiCSEkJQjgwA3CiKAaoRxaByBoDcYQsQxCpETb0PwEBDhSE0PISgqAiBlCYFIZISgrCaCYBEfI0wkghB2GkTwlxiiMBCIsGIGQCC2BgIYLw+h5CXGAPTiwggkhMDAJYJglxFCABKIkNAmQQNNEOGYAI6gAgUFMEkZoagtAzBMNYZgZgahFAgDQe4bBAgiBUNMCQMxCjjCYJkIIsxNgOAgMEBw1hkjODsLYZYIx2iMHOAoaEgwAhVAIG4IoGxThfEkPYf4EAKhUHaJ8KAMxhA7BmEEBILgAD0FAE0fYAxrAIEyM8JwdhGhuAYPGmnSQAAjGoGEBYIhMDoCCBUBQzhnDEEaGsOYiwEDYGsEYKQsgIjCBGI8FAqQlDDGsLYPcwQ1izBIFIJAUwpCBEqK4VoBwPCJEGE0a4thBgeEKGgOQMASjnCYFcOQOBiAZB"
    s = s + "qG8PY8x0jnEkBIagfQNBpDgFMFI6goinHUKIUg9gUBLBNguA1AkG0BcghAMggBVJJAIsRmlg4BtAlhVh8AKAngrg/gjgAAOBcAKgFgxBEA1gNB/AABlgZB2hYA4hOBRgQgtAjhiBLhah/AHAHA3g8BhhMA4AUBEglAsAhBJgGACBlgvAYh4hThvAAh3gYA8AlBWAvAfhrgsBoh+h3AnA8hKgWQigrAshwhMgnAHBVtuh1AuBzgdBshMgrAihbglgWrRBjgtAgAUgQhAhYBGhWg2AzglhthtB/htB7BbBgg1hOB4hJBjgthQgYB3hbhnBBhKAQD9gIABAihhAmA7gmg3B4hGBjguAjgSApgIghhAgqB+BEAlhIB0rQBVgaBcgPB7BaAjhuhAgsB7hdBFBapggpAjAUgeA6ArgQBjg1gCAxAJhtgUguBGhngpBuhSgPg8Bth9hUh4BJA3hcBiBKh3g6h0hNhfhIBeAngqBbhqhXgzB8hlhVBIASBhBAAnhYhWugAlgwB+gMhMA/hZgqhqA9AMhsBwBvgeAMAVBZAuhwA+BrhDgqgDg3hyhABYBqh4A/AchWAVhYhAAFhAh5AJh4hAA3hqhDgMgJAYBBBfBtBPBFAMhOBVADghA4AWAJAOBvAmh+BwARgNhHAcRiB0hBgQBBANgUg3BEhoAWBRgFBrAIA8BwBBO1AVgtAoBHBLACAdBwABAPAuKQgOg3BQgrAIAGBhABhJB4BlgjgXAqBYA8BoAAgHmBgIALAcg"
    s = s + "FARh3AABWgEoJB/gEBrB5BOArAEBFgTBjgahbgjgeheBRAqBpBhBBgIhaBggWhFhigiAQOAAAgYh2BkhRgpACBmgNgFgxhihZh4AsgBA0AHBaArAQA4gCAbgBgxBZhKB1hFhRALgmhMAjABgChEAjgsBRBUKrB1AhgcAIgVhEBrB6AKAcg2hMBph+ASAWgOAMAgheAzB+hEBAgzByAuhaAvArgzASAoBDBRhSAdBTBABwg6AOApghBggKBZBghGBkAvAiBNANhMA2AZhHAgAZgWASAQANgJgmhOAigHgNhFgmBgBAACBkA4BMg3AfhTAZBvBfBmBZgSgYABg0gZgqhqgEhRARJFBZAMBrB+BgBHh4BfARgPhxh2gjggBaAjABBlhbB4Beg0AkhNA6ghhCAEgYg0AGgMgLAjA4BBAShWBwACBfgyA1h3BpBgBEB0hJgYB/ArQug7BhhCglAtBuBIhJheBcBigKhnANAGBcAMBdgRhpBzhVATgAhtAiAZBCBBAIA2hsBGgKA4Bhh5BsBsBTBygWBzhgA3ARBoBAgkPvBVgRAjgtA9ApAJhBB3A4BQBKggAbhygVBBhvBlAUGGgeALBwgVhYA5hfBnhOgbgyAEghgYAsgFhqAgB6hVAth+h1ArBHgEmJrTAYh0BJABhFB0BthlBMAnKGBxgpACgvgXhTBtB5gBhJhagJgJgFBdAyBHAhBhgcg7BZBPhkB2B/gFgohmgBh7BnB7hfANgghNhABDgBAbABhPhmgFh"
    s = s + "6B+j/h/gTBEBiA0h7g5BxS6gAB1BAgJgTAnh8hlArgfATBLBnh+ByA9hgAmg6AhAAhOAPhmhchxh5gHB8hNB+w7GwgehnBzAkgnh7hkAAA1gmhqgTgfhPuYg3A1AgADB4guBTgQgeAhBEhuB3hQB5hWhDhHgehihLgrAQhkhPAggIAmhkAJASBVP8gcggABgRAIBAgGBxBgAIghBWAgACB/g0gfBqAcAlA+BSgZhvBQhkA/gkTQB/gngIh+BQAChyB/hzhDhTBuhoBLAeh6AQh2Akhfh+Bph3hQhHAzBtB8AWDlBFB/BmhQh/ArhUAjAMgwgDgHBwA/gCAENVh4AQhJAAAThQgrglghhygIAVBYApgSBCgpgOhgiJAkApBuBrgbgXhahABzhohAAHAsTohBgbAPBwzohhgRgCBJSMAJA9ghBag/gJAAgBARAcB/gbAThqgIhKBoBBAxg5hAhug7hBANB0AZAOB8AIAUgQBBgwg5g0gNhIgpGngAgwhbg/AlhChBB9hCAtA6gJgrAqhKgCg4gYADAVosAXBpKthZAsAUAUAcApAAgrAoAkAq36BBB2hRgqgmgyhCgohKhCgtBkAbg8gKg0AYAChDAzhAgAAxBMAbgihgAbgshrBCgihUASrTASgsBcBDAXBRABgqBJATAPgJAEh8hrAIgzAkARA5gcAUAvhahDAxhKguA3gcAkBPg5gQBAg8AUACg4AAA6gcARgYAQADBGBRguAEg8A0AqAsAcgjA5AchfAJg"
    s = s + "sAzgYAsA6ATAEgdhKAshLBcArg+hKhEhggBgdhPB8BEg1gZAwhrgxBDBOh6gsBDgQhFBwBSg3gtB6hFBfhRgchZAcBFhaCChbB0Adg5gwANBchUBFhdhsAThegcAdBMAShGBUB7AbhihEAchjhEBGBkh8ATBlh8AVhPg6gdBRAqhGhSB6gPAdBTgKgdhVBahGhaBpgtBWgCgCBzgKhHBxAcBHByGoBzA8BHB0AUAKk4AAAdiAg=="

    .Image(exInformation) = s

    .Out "We have changed the default image for exInformation style.", OutStyle.exInformation, "exInformation style"
End With

The following screen shot shows the same message without changing the default image of the exInformation style:


method Images

method MsgBox.Images (Handle as Variant)
Sets the control's images list at runtime. The Handle should be a handle to an Image List control.

Type Description
Handle as Variant The Handle parameter can be:
  • A string expression that specifies the ICO file to add. The ICO file format is an image file format for computer icons in Microsoft Windows. ICO files contain one or more small images at multiple sizes and color depths, such that they may be scaled appropriately. For instance, Images("c:\temp\copy.ico") method adds the sync.ico file to the control's Images collection (string, loads the icon using its path)
  • A string expression that indicates the BASE64 encoded string that holds the icons list. Use the Exontrol's ExImages tool to save/load your icons as BASE64 encoded format. In this case the string may begin with "gBJJ..." (string, loads icons using base64 encoded string)
  • A reference to a Microsoft ImageList control (mscomctl.ocx, MSComctlLib.ImageList type) that holds the icons to add (object, loads icons from a Microsoft ImageList control)
  • A reference to a Picture (IPictureDisp implementation) that holds the icon to add. For instance, the VB's LoadPicture (Function LoadPicture([FileName], [Size], [ColorDepth], [X], [Y]) As IPictureDisp) or LoadResPicture (Function LoadResPicture(id, restype As Integer) As IPictureDisp) returns a picture object (object, loads icon from a Picture object)
  • A long expression that identifies a handle to an Image List Control ( the Handle should be of HIMAGELIST type ). On 64-bit platforms, the Handle parameter must be a Variant of LongLong / LONG_PTR data type ( signed 64-bit (8-byte) integers ), saved under llVal field, as VT_I8 type. The LONGLONG / LONG_PTR is __int64, a 64-bit integer. For instance, in C++ you can use as Images( COleVariant( (LONG_PTR)hImageList) ) or Images( COleVariant( (LONGLONG)hImageList) ), where hImageList is of HIMAGELIST type. The GetSafeHandle() method of the CImageList gets the HIMAGELIST handle (long, loads icon from HIMAGELIST type)
The control provides an image list window, that's displayed at design time. The ImageSize property defines the size (width/height) of the icons within the control's Images collection. At runtime, the user can use the Images and ReplaceIcon method to change the Images collection. The Images collection is 1 based. The control's context list may contain icons.


property ImageSize

property MsgBox.ImageSize as Long
Specifies the size of the control' icons.

Type | Description
Long | A long expression that defines the size of icons the control displays.
By default, the ImageSize property is 16 (pixels). The ImageSize property specifies the size of icons being loaded using the Images method. The control's Images collection is cleared if the ImageSize property is changed, so it is recommended to set the ImageSize property before calling the Images method. The ImageSize property defines the size (width/height) of the icons within the control's Images collection. For instance, if the ICO file to load includes different types the one closest with the size specified by ImageSize property is loaded by Images method. The ImageSize property does NOT change the height for the control's font.


method Input

method MsgBox.Input (Prompt as String, [Title as Variant], [DefaultResponse as Variant], [Image as Variant], [X as Variant], [Y as Variant])
Displays a prompt in a dialog box, waits for the user to input text or click a button, and then returns a string containing the contents of the text box.

Type | Description
Prompt as String | A String expression displayed as the message in the dialog box. The Prompt parameter may includes HTML format like explained bellow.
Title as Variant | A String expression displayed in the title bar of the dialog box. The Title parameter may includes HTML format like explained bellow. The FitTitle property specifies whether the MessageBox or InputBox ensures that its title/caption fits the dialog's title
DefaultResponse as Variant | A string expression displayed in the text box as the default response if no other input is provided. If you omit DefaultResponse, the displayed text box is empty.
Image as Variant | A string expression that indicates the path to a picture file being displayed, or a string expression that stores a picture in encoded base64 format. Use the eximages tool to save your picture as base64 encoded format.
X as Variant The X parameter could be a numeric or a string expression like follows:
  • If missing/omit, the dialog box is horizontally centered relative to active screen/monitor.
  • If -1, the dialog is shown at the current cursor position ( x-coordinate ).
  • A Numeric expression that specifies, in pixels, the distance of the left edge of the dialog box from the left edge of the screen.
  • A String expression that indicates the handle of the window to center relative to. You need to pass the handle of the window ( hWnd for /COM or Handle or hWnd for /NET ) as a string.

The FitToScreen property specifies whether the InputBox ensures that it fits the screen ( current monitor ).

Y as Variant The Y parameter could be a numeric or a string expression like follows:
  • If missing/omit, the dialog box is vertically centered relative to active screen/monitor.
  • If -1, the dialog is shown at the current cursor position ( y-coordinate ).
  • A Numeric expression that specifies, in pixels, the distance of the upper edge of the dialog box from the top of the screen.
  • A String expression that indicates the handle of the window to center relative to. You need to pass the handle of the window ( hWnd for /COM or Handle or hWnd for /NET ) as a string.

The FitToScreen property specifies whether the InputBox ensures that it fits the screen ( current monitor ).

Return | Description
String | A string expresion that indicates the string entered by the user. If the user select cancel the Input method retrieves the DefaultResponse value.
Use the Input method to let user enters text using a dialog box and two buttons OK and Cancel. Use the Button property to assign a new caption for exOK or exCancel buttons.

The following samples aligns the input box as follow ( using /COM version ):

  • MsgBox1.Input "Your message", displays the input box centered in the active screen.
  • MsgBox1.Input "Your message", , , , , 0, displays the input box on top, horizontally centered in the active screen.
  • MsgBox1.Input "Your message", , , , Str(Me.hWnd), Str(Me.hWnd), displays the input box centered relative to the parent form.
  • MsgBox1.Input "Your message", , , , 0, Str(Me.hWnd), displays the input box on the left of the active screen, vertically centered relative to the form.
  • MsgBox1.Input "Your message", , , , 100, 100, displays the input box at specified position
  • MsgBox1.Input "Your message", , , , -1, -1, displays the input box at cursor position

The following samples aligns the input box as follow ( using /NET version ):

  • MsgBox1.Input("Your message"), displays the input box centered in the active screen.
  • MsgBox1.Input("Your message", Nothing, Nothing, Nothing, Nothing, 0), displays the input box on top, horizontally centered in the active screen.
  • MsgBox1.Input("Your message", Nothing, Nothing, Nothing, Me.Handle.ToString(), Me.Handle.ToString()), displays the input box centered relative to the parent form.
  • MsgBox1.Input("Your message", Nothing, Nothing, Nothing, 0, Me.Handle.ToString()), displays the input box on the left of the active screen, vertically centered relative to the form.
  • MsgBox1.Input("Your message", Nothing, Nothing, Nothing, 100, 100), displays the input box at specified position
  • MsgBox1.Input("Your message", Nothing, Nothing, Nothing, -1, -1), displays the input box at cursor position

The Prompt and Title arguments support the following HTML elements:

  • <b> ... </b> displays the text in bold
  • <i> ... </i> displays the text in italics
  • <u> ... </u> underlines the text
  • <s> ... </s> Strike-through text
  • <a id;options> ... </a> displays an anchor element that can be clicked. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link.The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick(AnchorID, Options) event when the user clicks the anchor element. The FormatAnchor property customizes the visual effect for anchor elements.
  • <font face;size> ... </font> displays portions of text with a different font and/or different size. For instance, the <font Tahoma;12>bit</font> draws the bit text using the Tahoma font, on size 12 pt. If the name of the font is missing, and instead size is present, the current font is used with a different size. For instance, <font ;12>bit</font> displays the bit text using the current font, but with a different size.
  • <fgcolor rrggbb> ... </fgcolor> or <fgcolor=rrggbb> ... </fgcolor> displays text with a specified foreground color. The rr/gg/bb represents the red/green/blue values of the color in hexa values.
  • <bgcolor rrggbb> ... </bgcolor> or <bgcolor=rrggbb> ... </bgcolor> displays text with a specified background color. The rr/gg/bb represents the red/green/blue values of the color in hexa values.
  • <solidline rrggbb> ... </solidline> or <solidline=rrggbb> ... </solidline> draws a solid-line on the bottom side of the current text-line, of specified RGB color. The <solidline> ... </solidline> draws a black solid-line on the bottom side of the current text-line. The rr/gg/bb represents the red/green/blue values of the color in hexa values.
  • <dotline rrggbb> ... </dotline> or <dotline=rrggbb> ... </dotline> draws a dot-line on the bottom side of the current text-line, of specified RGB color. The <dotline> ... </dotline> draws a black dot-line on the bottom side of the current text-line. The rr/gg/bb represents the red/green/blue values of the color in hexa values.
  • <upline> ... </upline> draws the line on the top side of the current text-line (requires <solidline> or <dotline>).
  • <r> right aligns the text
  • <c> centers the text
  • <br> forces a line-break
  • <img>number[:width]</img> inserts an icon inside the text. The number indicates the index of the icon being inserted. Use the Images method to assign a list of icons to your chart. The last 7 bits in the high significant byte of the number expression indicates the identifier of the skin being used to paint the object. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the part. The width is optional and indicates the width of the icon being inserted. Using the width option you can overwrite multiple icons getting a nice effect. By default, if the width field is missing, the width is 18 pixels.
  • <img>key[:width]</img> inserts a custom size picture into the text being previously loaded using the HTMLPicture property. The Key parameter indicates the key of the picture being displayed. The Width parameter indicates a custom size, if you require to stretch the picture, else the original size of the picture is used.
  • & glyph characters as &amp; ( & ), &lt; ( < ), &gt; ( > ), &qout; ( " ) and &#number; ( the character with specified code ), For instance, the &#8364; displays the EUR character. The & ampersand is only recognized as markup when it is followed by a known letter or a #character and a digit. For instance if you want to display <b>bold</b> in HTML caption you can use &lt;b&gt;bold&lt;/b&gt;
  • <off offset> ... </off> defines the vertical offset to display the text/element. The offset parameter defines the offset to display the element. This tag is inheritable, so the offset is keep while the associated </off> tag is found. You can use the <off offset> HTML tag in combination with the <font face;size> to define a smaller or a larger font to be displayed. For instance: Text with <font ;7><off 6>subscript displays the text such as: Text with subscript The Text with <font ;7><off -6>superscript displays the text such as: Text with subscript
  • <gra rrggbb;mode;blend> ... </gra> defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the rr/gg/bb represents the red/green/blue values of the ending color, 808080 if missing as gray. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The <font> HTML tag can be used to define the height of the font. Any of the rrggbb, mode or blend field may not be specified. The <gra> with no fields, shows a vertical gradient color from the current text color to gray (808080). For instance the <font ;18><gra FFFFFF;1;1>gradient-center</gra></font> generates the following picture:
  • <out rrggbb;width> ... </out> shows the text with outlined characters, where rr/gg/bb represents the red/green/blue values of the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><out 000000><fgcolor=FFFFFF>outlined</fgcolor></out></font> generates the following picture:
  • <sha rrggbb;width;offset> ... </sha> define a text with a shadow, where rr/gg/bb represents the red/green/blue values of the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><sha>shadow</sha></font> generates the following picture:

    or <font ;31><sha 404040;5;0><fgcolor=FFFFFF>outline anti-aliasing</fgcolor></sha></font> gets:

The following sample asks user to enter his name:

With MsgBox1
    Dim s As String
    s = "gBHJJGHA5MIoAEIe4AAAFAoDCAPBQlEgYGAaBUXCIwiowF8bF4fHcSHYaCI7HImlAsHZEFhQipQHIfKBOExbF4YLZEGZbJw6LZZm5jIJwolGJB7lJ7N1JQQ6QspSBEEyQpqbJwsTaNLibURcWBOGawoiwS5jWCsJFpNS7LIzXaitqsPC7W5IuxVXbBOLFlzFS5qaEuaBjHTQujQZhjbZuHTbPBPbbBQrbZiTbbhOLls7wNxBeCCKrwRujuTwVhxeC3PDwdZc12qdaafZ4JD7QRPfel3ZcfdnfaiMfBNT71L71nIPz7YJ45nLZiMfbWSb7cO0e2+exxfb26T26r2UIB8nl83n9Hp9Xr9nt93v+Hx+Xz+n1+33/H5/X7/n9/z/wBAL5oYAAQnyAgAoYf4ABZAiEweIAEQWf4Eg4tZQGCQYEAmDwCCAMJlEoEwnEsCAAiEWIRGKEQJAoEwCBgAQFAkRYYgAfgVjAIZjkcR4KjeRBqGQeQPkAE4oBMKwmGgWQTCCAYfDIKx2DAWYziCAAVj6EQGBAYpQggRYgB0GggGgAQUkgBohAiGw6BwYhxEaAIogmGRMBEQQBgWDobBEAhmiUWxWCyWQAhYZg0GkQhEi2W4miYDgYBWcBDiHJxOHUOoIBqIZKBSPIVi8CAEiAQYFg8JAXjIBoIHEIQBFAAABF4OB1lINQiguMZlgEVAIlKBIpFYM4GnEVgsDEOB0E+KBSBwIItBEeZ0j+AY3CgOgAn0Wp2m2XA5g2Ag4FAQQ"
    s = s + "DgmYAYg4OBOgqYABA0JxtF0LpBGIBBIhEI5NCQEA3DmNQ5GWPQUnEBAIXcA5DlWWYdj8KoWHoYJvhIJAQkQIhYAEA4pAgKIpjoIxlH6D4AgyHAIC2QlOAABhKCAShQC8AIeBQUIiAmQIoiILw4wQOBBAmJwmECDoIBCXoDAABIHA6MIqjaU8EgKCgNCsAgKjcAB6IaKRqEyApAAEAwcAMYAABSNRTGECgnHAKoogGEhRAAQoIlYYokGsAgciwcpRkUBJgFQbZIl0AoCAAHaAgA=="

    Debug.Print .Input(" Please enter your name here: ", "Input Name", , s)
End With


method Load

method MsgBox.Load (SkinFile as String)
Loads a skin file to be used.

Type | Description
SkinFile as String | A string expression that indicates the path to the skin file ( *.esk files ), or a string expression that holds a skin file in encoded base64 format. Use the eximages tool to save your picture as base64 encoded format.
The skin file must be created using the skin builder that is provided by the Exontrol's exSkin component. Once that a skin is loaded, all the message boxes or input boxes will use the same skin, so you don't have to call the Load method each time when Out or Input method is called. Use the Image, Button property to assign new images/caption for predefined styles/buttons.

By default, the message box skin looks like follows:

The following sample loads a new skin for the message box:

With MsgBox1

    Dim s As String
    s = "gBHJJGHA5MKAAEIe4AAAFh0ODYFCA7AolLYFGBljBwAo7QoFIqbApQUoFLa7kzFApllRwlrQAp7mB7bYFQs1SE1TblAqleAQIpwCBlXYQODQCE3CCQcobMqwDZ7YobSDQqjbDabrCweAlHZFEpwWAlQrFsjQEs7GAwHdrKFst5FLYwLaFjKlGB7XYwQrQGCQYt/bYwTd+UrlHdSjy7jzQHdcHa7eFyOBFMp7oKboKwIqFzllzrQIqQXejbchYshbZQKCFKBw1xwSGtWBQwG2aBQrRQyRbLZw3yQ3ybLZ74iFUpbqvKbZbwvO5ql6LlLbFeBlMpw7CQ7CbMqQWHfYplrRlUrQ8zbp7lonX6xwOB7+Cl2SwOGFOHSOC7csueA9uNABSwAWA9vPAxtj2WEEskmR9kKQpNwgUsIFgzxykg8EMl28BoNJDDrJyfZNk2UsSF2Tb+K0fZSlKWEWl3FxilKXZtlKYpyukfZYFgYsemgWBoHgXZdmhIshm3IZyn2YpimhJptmLJLrH2aErSsbZoHKeEtH2bcvy+csvngbclnLM8znhNU1n3Np9gDOE4zlOc6TrO07zxPM9T3Pk+z9P9AUDQVB0JQtDTihgABCfICAChh/gAFlEoTSggARSB/gSDgkFgUBgkGBAJhULhkFgUJhkOCARg0OgiAiKZTEWDAZjUbhkFiEYjCYEAhkEJgqFQMgkh8CQplUNhsFQcoSkeGAxj0CgUlkSAQCCSQXEMSg6HmcxlE+FQNhKJR6CkUw"
    s = s + "olGGghm0YgcimNJPlOPpACUIocEodBolWGBJkEFh6GoCJrCYEIWgSZQhisZwqV8TAGHSaBCkkaxbjgWptHiGBgmKURXh0cIvG0XZrkkL5fkmAQFg8JgcHgTgcjeKgZGSEJwkKUJjkgEYlkcDg5lkMpkjsEg0EsDJLneUpflAIYthUHgsEcThiAeTJCEQYAdAES4dFgMZlk8HodhMdptluHZaDMXpTGkIxNE+IoFg+FweBgDgcDODhVEMYBeDyeYPCyUQlk+Jwej0Zh1GwUohlycBeB2QgagoHpFn+B4nF4fg4COY5mhwLhRGCQJ9nueBxmWC5YiEQw+gyMYeFUXIXjGIo9nyAADFQkBHEQGhvECcxKnOBANDQQAIgiAYICMFBwkICgpDQA4jkhYBwkMCIfCCUARksYgCmkQJxhKNBEhGM5OHCUAlAyFBwHERYYGMFBRkWOo0CIJAChmcxMBGB0D4OgpCJEQEASQKAvBoEcIAAIhgKhnAaHQQAjgmA2ByGMAqrRpCjBGJEYgBByCVEwAgPISRIhgCoJEUgRA3ikEwIgEgZBLBpBMJmFQKREglDwHEQwpREB7AqGkQolwvhCDIJoDgbBbCpHOFUN40hyCIAqFYEgURzigEIBYNQaAlAtFqFQaoohGBWDLBsSARh9BoCeJQKQeh0ClAmIUW4JwvBvEqCQJAgQeD1EICkUIiQLC1BSJ8LQLRKhTCMCIEoAgqhUFGK4f4VBKipFOCISo6gmheFyIkRIWAyCRAqKsI"
    s = s + "AaRUjlEEAQCYeAgBDA2G0EAoh2CyDuLQGIBQGgTCINsAICwsAMCkGsLwSQchSHSLYbYvh1DtCmGQUItgpBaA6BweIyBcjoFMKsFwuhKP4GSLoeApgNiIDMF4UA+hrGAEiFYTAaRxCuGOMQAwrA4gBGQMAAgFw2CwGCDEDorBYDCAwLQYwRQphvEyDgbgvg5AkFOBwO43RGixGMMahw7A4jHBiH0Fg8hjgtDwAcYIDxHBIEEKAYgLB/iFA8BwdQNRiDED+AEXwJwhARBwOcVgcxnAxHaOwGYzgajLFuAIQIWh5DVBkHEF4rwUBzAGEwG47R6DTCgEcFo9RqBUCmD0GggR7gWCaJ4YgCwbAoGiA0BYhAWj2GwGQS9awQgwEyK0ew2grgTG6GcSwWgRidFENIH4JRwDkG6HgZ4qBgiUEcJgf4+hbBeDiHMRI5BSgEBAGAO43gYBqGgMQEAaQbDuDwCQPIfh6h3GsJ4OISRzivAIB0GwRxyDXE8DoXInxAAKEUDkIIdxLBuG0HEVApxXB6HUAwWw3g9CKFgMcBwuxIi0GuG4fY7RADmFcPsdwgRHDuH2O8YABwXg8HMFIeQ7QkCiGQCcb46B5CMCUOoHgrBhgDEKHUc4tgTBFEkKcHooXJiiBcFEV4KwmhLAqAgKQqAfBtH+FAVI3gth5BWFMbAYhRBICeNATYjwID6HSEMBg/gmirDUNQdQqx5AbBoGsfo9hVgJH8NQW4KwghABKA8fo+xjqQGQJEJwdRiheF4C"
    s = s + "oBY8BLAQFYAoBwYQEDBAUEMDQBhwibH0DkeAWwQDsEqAgI4KAhA3AYCoLALBIDAAoBAWIKQmC0ECC4CQ8AgiuHoPQSwShsDwZWHwTgDgOiXAOMQJgJQWgbHgAAEg/wUBBGICIDQ8REBICYKICQKRogGGaJAIIchAAzC0GgegpRXjDHoCsEQQBKDABCBZjQLg9DxEWFwPghAjgsACMYGQehYgLE0NkIY9RaCCFeIkKIMQYD8EkAgAoAQTABCENgeIjg8DMDGB4MYohjg+HUJEBYrRchQAAIEWYNQJjpGWDQCwSwGjAAEKYQ4RgdDyEiJAQgZAmAiCSEkJQjgwA3CiKAaoRxaByBoDcYQsQxCpETb0PwEBDhSE0PISgqAiBlCYFIZISgrCaCYBEfI0wkghB2GkTwlxiiMBCIsGIGQCC2BgIYLw+h5CXGAPTiwggkhMDAJYJglxFCABKIkNAmQQNNEOGYAI6gAgUFMEkZoagtAzBMNYZgZgahFAgDQe4bBAgiBUNMCQMxCjjCYJkIIsxNgOAgMEBw1hkjODsLYZYIx2iMHOAoaEgwAhVAIG4IoGxThfEkPYf4EAKhUHaJ8KAMxhA7BmEEBILgAD0FAE0fYAxrAIEyM8JwdhGhuAYPGmnSQAAjGoGEBYIhMDoCCBUBQzhnDEEaGsOYiwEDYGsEYKQsgIjCBGI8FAqQlDDGsLYPcwQ1izBIFIJAUwpCBEqK4VoBwPCJEGE0a4thBgeEKGgOQMASjnCYFcOQOBiAZB"
    s = s + "qG8PY8x0jnEkBIagfQNBpDgFMFI6goinHUKIUg9gUBLBNguA1AkG0BcghAMggBVJJAIsRmlg4BtAlhVh8AKAngrg/gjgAAOBcAKgFgxBEA1gNB/AABlgZB2hYA4hOBRgQgtAjhiBLhah/AHAHA3g8BhhMA4AUBEglAsAhBJgGACBlgvAYh4hThvAAh3gYA8AlBWAvAfhrgsBoh+h3AnA8hKgWQigrAshwhMgnAHBVtuh1AuBzgdBshMgrAihbglgWrRBjgtAgAUgQhAhYBGhWg2AzglhthtB/htB7BbBgg1hOB4hJBjgthQgYB3hbhnBBhKAQD9gIABAihhAmA7gmg3B4hGBjguAjgSApgIghhAgqB+BEAlhIB0rQBVgaBcgPB7BaAjhuhAgsB7hdBFBapggpAjAUgeA6ArgQBjg1gCAxAJhtgUguBGhngpBuhSgPg8Bth9hUh4BJA3hcBiBKh3g6h0hNhfhIBeAngqBbhqhXgzB8hlhVBIASBhBAAnhYhWugAlgwB+gMhMA/hZgqhqA9AMhsBwBvgeAMAVBZAuhwA+BrhDgqgDg3hyhABYBqh4A/AchWAVhYhAAFhAh5AJh4hAA3hqhDgMgJAYBBBfBtBPBFAMhOBVADghA4AWAJAOBvAmh+BwARgNhHAcRiB0hBgQBBANgUg3BEhoAWBRgFBrAIA8BwBBO1AVgtAoBHBLACAdBwABAPAuKQgOg3BQgrAIAGBhABhJB4BlgjgXAqBYA8BoAAgHmBgIALAcg"
    s = s + "FARh3AABWgEoJB/gEBrB5BOArAEBFgTBjgahbgjgeheBRAqBpBhBBgIhaBggWhFhigiAQOAAAgYh2BkhRgpACBmgNgFgxhihZh4AsgBA0AHBaArAQA4gCAbgBgxBZhKB1hFhRALgmhMAjABgChEAjgsBRBUKrB1AhgcAIgVhEBrB6AKAcg2hMBph+ASAWgOAMAgheAzB+hEBAgzByAuhaAvArgzASAoBDBRhSAdBTBABwg6AOApghBggKBZBghGBkAvAiBNANhMA2AZhHAgAZgWASAQANgJgmhOAigHgNhFgmBgBAACBkA4BMg3AfhTAZBvBfBmBZgSgYABg0gZgqhqgEhRARJFBZAMBrB+BgBHh4BfARgPhxh2gjggBaAjABBlhbB4Beg0AkhNA6ghhCAEgYg0AGgMgLAjA4BBAShWBwACBfgyA1h3BpBgBEB0hJgYB/ArQug7BhhCglAtBuBIhJheBcBigKhnANAGBcAMBdgRhpBzhVATgAhtAiAZBCBBAIA2hsBGgKA4Bhh5BsBsBTBygWBzhgA3ARBoBAgkPvBVgRAjgtA9ApAJhBB3A4BQBKggAbhygVBBhvBlAUGGgeALBwgVhYA5hfBnhOgbgyAEghgYAsgFhqAgB6hVAth+h1ArBHgEmJrTAYh0BJABhFB0BthlBMAnKGBxgpACgvgXhTBtB5gBhJhagJgJgFBdAyBHAhBhgcg7BZBPhkB2B/gFgohmgBh7BnB7hfANgghNhABDgBAbABhPhmgFh"
    s = s + "6B+j/h/gTBEBiA0h7g5BxS6gAB1BAgJgTAnh8hlArgfATBLBnh+ByA9hgAmg6AhAAhOAPhmhchxh5gHB8hNB+w7GwgehnBzAkgnh7hkAAA1gmhqgTgfhPuYg3A1AgADB4guBTgQgeAhBEhuB3hQB5hWhDhHgehihLgrAQhkhPAggIAmhkAJASBVP8gcggABgRAIBAgGBxBgAIghBWAgACB/g0gfBqAcAlA+BSgZhvBQhkA/gkTQB/gngIh+BQAChyB/hzhDhTBuhoBLAeh6AQh2Akhfh+Bph3hQhHAzBtB8AWDlBFB/BmhQh/ArhUAjAMgwgDgHBwA/gCAENVh4AQhJAAAThQgrglghhygIAVBYApgSBCgpgOhgiJAkApBuBrgbgXhahABzhohAAHAsTohBgbAPBwzohhgRgCBJSMAJA9ghBag/gJAAgBARAcB/gbAThqgIhKBoBBAxg5hAhug7hBANB0AZAOB8AIAUgQBBgwg5g0gNhIgpGngAgwhbg/AlhChBB9hCAtA6gJgrAqhKgCg4gYADAVosAXBpKthZAsAUAUAcApAAgrAoAkAq36BBB2hRgqgmgyhCgohKhCgtBkAbg8gKg0AYAChDAzhAgAAxBMAbgihgAbgshrBCgihUASrTASgsBcBDAXBRABgqBJATAPgJAEh8hrAIgzAkARA5gcAUAvhahDAxhKguA3gcAkBPg5gQBAg8AUACg4AAA6gcARgYAQADBGBRguAEg8A0AqAsAcgjA5AchfAJg"
    s = s + "sAzgYAsA6ATAEgdhKAshLBcArg+hKhEhggBgdhPB8BEg1gZAwhrgxBDBOh6gsBDgQhFBwBSg3gtB6hFBfhRgchZAcBFhaCChbB0Adg5gwANBchUBFhdhsAThegcAdBMAShGBUB7AbhihEAchjhEBGBkh8ATBlh8AVhPg6gdBRAqhGhSB6gPAdBTgKgdhVBahGhaBpgtBWgCgCBzgKhHBxAcBHByGoBzA8BHB0AUAKk4AAAdiAg=="

    .Image(exInformation) = s

    Dim sSkin As String
    sSkin = "gBFLBTJYCAEHhEJAABhABU4Yg6AABACAxWgKBADQKAAyDQKkEQGGQbRjhEAIGglg4JYjjKKxSgmHYDRTFMZwGA0EwcAAZBpEWR5JiuCQ1DAJMSjMAkRxtGyPZQhGQZXgOJ4sSpQAigFBIYhtE6YJikMDZbj2OoPUzAdCQG78EyrDahKCqMAKGoiMZbRKDVQgARMRj3BIFLDrOpwAqyE5ZR5QMrzDT0XQ2BixQgkMTYJriIJOTZcEL3FAdEwqGgCcAhEC4JIWCQ9QiddhyFIcfyKGIcYpGGqxRDSFQyZRAd5XfDZCQTDKBShtKptMpicZ2ShKWaQbadBxGCKxSShHRoDKOCRParV36sCzHMJJXTJcRgfYYLZ3BIjIRKCw8KhNi+IRhm6OgQAWJh7iMABTCAYx8h0Oo3kWFpdGsYwhhSVg3mGChImSMA9kQDBFkGNpwm2fR/l4FppjUcoWgUOAXgAUAwmGZBPFWNhpFsDJZhQeYcAwGIUG2Xx2kOJAlGIQJEkeXRsFuHRmA2MB6B+eIFBsdxfAQbAhoMAJVlQdRAAeHQqHYWxVgGCxIkQCB0AAHISngHQ3EmWYkhwLQMkMNh9moewSDgXglAABRUCWcgATiJgGGkAAFi2eYNiICB5kmCIkHQDQXGMJQJCUAwGlCEYBAkDYijcVguHGVZ1BYEBtlYOR4AADhmK6SIGiUNJ5nwcYehQehEEaYwknUOROF2NJaEsSZDBCRA3EyUw2HAMR2l6dBVm0AAkjAZQJAeJh"
    sSkin = sSkin + "WCqBIhiiCYOgqHxAAkGQVHAEhECQbRCEGWhVgCGZZkCYZaGUVg4hISwHCoShWBwa4lGaPYcFGYwUgwFBYmMWoFAODggFqGROioFBamGfRtieRYOiWL4AAqhYTmWFQ5DwQJDAQVAwiPaRBDGNgtiCFQ2AIFgwj4Sh0BCF5aFCCwilmXhVgoX5rB4ABUhYN5ShAQhXkQDoUjmbQlg6VRCG0eYqGlmgbEEGhFl0WZ+kITxmHkXpuEiWoJB4JIykABppAMbwuguJhQIge54P4bYYD4DxNiENAlFuNAcmQDBLiyJxQAMGZAC2XBzBiRoymwehqE2LwkFYGYwFAMZ5KKMoHAqNBXAMAJKD4DQDASMAzA4Mo9AEMZLiidBU2uDhJB0FZDlCHBIACRQxFiahcAABoRgwcQbeyUBlAuBghjQcBFEkbIcAAEIEl2JQbhkEAwiECQWGcJQ0BgRoGA2KxZFWO8TI9h9D8DgBsfI/gbCMHGDAbgMhGACHQJwEoCBgioC4CQOI3BDgfGQPITgnwWjJDmBwV4MxljzC4O8HIzx5h9AeD0aIdAOgfCaNIeoHQThVGQIcAImBKjHgoJgLgJQ6iiGgJAEQDQxgAFoDoBoownD9G+PAHwBwCifDwD4F4hhbQPHALQG4jIliqBEAcUYGBSAlAcF0aA/gbiNBIEAeAOQIiDHAOwIwDxRi/GADsSIox4DxHkPwf4Nxoj1H6F8N40x7j9E+Icbo+B/CfE+O0fIfwPivHmPsf4Xx3j4H+N8b"
    sSkin = sSkin + "AeA+BiBqPAXooBzAgCGIANYDgwiIBcD0EAlAKkGBwAgQAzAKiGBgK4CYgxMBtAaG8BQDgeBjC0PEbgEA9gNHCKwG4BRoCuBAOAZAmQIgiAYugYILAXAFCgKUDAYhuBYEYLEPgLgjBwGCBcUYPAwiLHQHiLYgBiCIAiAoEAxAcCNAiGIIgRBEhRA8CUYgmBMgTHEHQKIiRYhOBQEUJApQKhiGIFcRYUQtAhCGMEP4FxDBgneIMDgXQFhhDwCsYoUBXAUBEGwJoiBogQBAKAZAZQFCBBiNoAYMBiS3DgG8BoTh9APCONQG4Bwjj4DkIMII+RhAIHiAADwhQkCbAkKMAAWQFDRE8DAQo6BsAZpMG6gAmAcAGFQNADgYwuBpAcEEWANQDggGyJQCQiA5CNFCKsFIZQeCmEqBIVwVQlDZCmCscoZBYCVGkMYLQSwchtBYKUYgtRLgycEEsbIeQXjlG4KkDQw5hiNDiMoGwxhaCltKIgNYjQYi8BoMYOA1gMhjA4GIRYoQ1AqGIPATAgBgiIBQAQVAJgFTYDOJAB4AgfgIBAPgDwBBMCDAeNAWgSwGAhDUCsYwoBjgYCkFQMwDgQisBoGQbA0hPgjEYGwBoOQeg/FIPwUIlAxhSC+EwDQCwgjmAKAgUA1ATCGCgLoDoQhSj0tMKMTAbgGhxGcDcAwxZ4AjDoGwKIQRYg/AMKAbQGRxgsDGEYKISASiEEQHYBgwRAAmAGLAMwGxuBEHGHAB4GAhCHHAPoFAhBQCOAuC"
    sSkin = sSkin + "IVgUwkDxD1hYQAyxPDTHEE4J4uqNhnHYP8SY1AHCBCiAoDYUxUB9CeKoKoRsyAKE6EQQwvQKCiGoGIRoDg9A5CuIYZoYBRjDEUE8RoQRJAxAKJAUoFJcYhE4A8IIrQYBMCjUcQ4QBwAbEKHAT4EwpAwCsM8CIhAbjmEKEMVA0x1CjGwEkeoUg2BFCYJQSoThVhYGWB0KobA+iNFkBIdy5xVC7CuCofA3RWA2DULAKwARkA2EMLCsoowSBbCGBFXAqw4A7AMK4eQcQjjXAGE4YoKBjAXAEMwNQjBAiHDAAYOoghYC2AcN4LAigAhTBaPUJQuAbgOEAFwLYhQ4iuBKMcXIVwTDmC4IsToch3B9GaLoC4Th0hbHSFkMoaBWiXFGHQNwzRujbB2GYUzDBaBDBIFoBQcQiAeA0OsSU0BaieB4FIbQKhCgQE8BmrgXcJiWBiG0YouhYDWHkN0agixIhwBcI4AIuhMAKHUOAJgDRADwCMAUYIOAPDiC6HkRIVuMhcFmBcOQ7xujrByGYVg+BrCsQ4FQJAoBpAWCEJCnQ4QlByAePEUwMWajZ5sCIfgzw9j5D8O8do+xcB4AGAUcYXAKiNHgGYHIxhsDrpOAwDoRB4CNAyMIPAVwRBhD2LsLIKwYC9yKEAIAhxYClAIEMWAcAqBnHAFU3QQAbApBAN4DQQwbD9DEPwXobh4idAEMcPIjwPcEDyJkeYJg0C6R4OwKovBCh2HkC4CwzgqB4DaI0AImQtBFAAG8BY4QyAzE"
    sSkin = sSkin + "KKAVAcBDU4AwFgVYFgmgMF+IwGgRRei/HyIsGYZhOgOuLhDA1BpArgPgPhwgGBugrg2BnA5BnAcAqA4hGhIhVAZBCh8D4hAh2AUABhqBPAqg1AOhcAOAZAzghh1BuBghRBygLBHhpA9Ajgsg1gug0hAg6BWhLBhAshhgRg0heg9gzBZhTA7ALARBKAnhzhQBZgbhgLkBPhBgngXBxgOg2hWB7BDBnhtAtBvg0BzBchChBh6hrA3hVhsApgvh0hWhdhTgjBUBmAMABB4AkBnAwBXB6AbAmBTBsg9gbgiA2gehVhdh7g7B4htBMAXguByAOgYhbgbB7B8hWANhBg4g3AmuFgbAqB+huhLAHg8qiBzhgh8AbgEhjhshZg2A3g2BDhbg6h7A5BvhNhHg5BDhmhnAyADgkBvgNg6A1A/h0A/AFhjh8AjgQBwgtAjg9B0g/APhfBcBDAjBxA9h9hFg3BHAZhjB0BjgOhjAZhzhIg5gvAhhmh8gPgchrAuAjB4hFAQgVARhxhJAMhyh+A5A/B4h3A4hmhchrgjh0gugTgOB5hlgjhnhdACA5gAAOgHhMB6AvAzgTgdQYh0g+g1hTA4AvBOAZA9BDggh1A+A1hRAGgfBGhrg9Bvg0h2gOhXhXg5BIhZhng8h/gxB1BGghhVg0BPBYhtBdBzg8h3gOh3gkg6h/BhhqBdhPgZB3BpA7hfA7hXBshwg+AjADOxBjhgA7NXBshdBfhCB4B/Anhhg8gvgJgfh+AvnjAvAdhdA"
    sSkin = sSkin + "8gHgDhyheBThLyGAnhmB7gXgchwBYg/hQB6gvBHhqh4BPglhxg8hDjaB/BbhtA9Bng2hvg9g7g4B5guhHhsB9BGhOh2h+hXhQh8Athdhrh8hfg9husxBgB8gvgHhyhzBPhFh3gdgXhZzQAnhzA+guALh5h+AHhkB7h/gtyOgPheg4gfBjhTh9gthbh3B/Avhch8h3AfhwpJA9hyB/BHhmzdg4BppEgjhkB/gHvCh+hfh5h4h9APBkg/htgRB/h1gTB/hoABlGgCmqguB/gngyB5AYAGgAA4AMgAg4AOgABIAQgAhYARBKgIAIB7hmgIgAh4ASqfgYgBg4ATsZgagAB3g5B0h3gMB8Bnh0B4A4AcgBh4AogCB4AqgBhoArBLgIAVB+A1orBYAytAg0gCgYA1gBgIAvB+oxADA4A2gDhYA8gDh4A3BQhYA5B/hIBBgDhoBFgEAIBGgEgVAKgEA4Uph4BOgEgoBPgEgIAtgEhIAmgFAYBWgFAIBYgFAoAegFBGAvgFgoBZgFJUAGAUhAB9gAhgANhHAcBKAkh5AIhgBKABhIBqgGhIBrgGhYBwgGh4BygGhoB0gHAYB1gHA4B2gHgYB4gHg4B3gHhYB6rsh8u7gCiK0uAIgGgIA4gH0zAIgIg4gKgHhFBgBSAghLAKBwgZAJBABnAFBxhTSEgngGgEgcAHAgA9CNASAEhgAiAJAYgggJh4ghgKA4gggKAoglgKgYgkgKgIgogKg4gmACAojXgYgvgLAogwgLA4g"
    sSkin = sSkin + "2gLBYg4k3A6gLB4g7gLgYg8gLh4g+khg9gMA4hAgMBIhCgKB4gvgKhIhJgMgIgqgMhInB1uAIh1AjgJAggUBh1egOgYBlgGBwhUBPgQBfMQgVAIBQBKACAggWAFAgAnAJBgBUgOBYhkgOA4hogOx8WXBngOhYhwgOh4hygOhoh0gPAYh1gPA4h2gPgYh4gPg4h3gPhYh6gPhoxyB5ACgQAZAEgQAJAGgQO7AQBYhqgQg4hpxFhvgQhohrgNAogRgJA4gVgJB4gZgNg0gcAGAwA4CNAJVkgnAJgwBZACg5AgACgwgcgSAZAlgSBJAmgSgZAogSg5AngShZAqgShpAsgSh5AygTAZA0gTAJA2gTA5A3gTBZA4gTg5A6gThZA5gTh5A8gUAJA0W9hX3DhFgSA5AwgUBJArgUgpAn3ahOgSgpASgNBIhWAAAIgYB7hYgaANAgBngJhQgQWUArAKAgBdAChpBegWAABdADA5BhgWBZBfgWBpBigWgZBogWg5BngWhZBqgWhpBsgWh5BygXAZB0gXAJB2gXOwgXBZB4gXg5B6gXhZB532BkgWA5B1ADAwghgYApgAgVhpgBkZgzgVAYgTgVA4hYgGBnAxl5hrAEAAVlhQW+hggoAGBQA1AKgZganOg4gZgQA1gaAJgigZgpgjgaAZgkgaB5gm4Wglgag5gogahJgqgahZgwgah5gygahpg0gbAZgIgbB5BfALAAB4AFAAg9AIsRAMggjvAAhUALAwgfANgwhBAKhgh"
    sSkin = sSkin + "eAMBgg3ANhghFALBQhXALgggmYrB3AFAJ3jhZgJ4Zg4gYgZg6gbhJg+gcAJhCgcBJhGgcgJhKgchJhOgdAJhSgdBJBjgdBpBhgZhphs4oAegYhIgUgJBnBTgNgZgRgRgAhSAHAABCACBwgci5gvAGkQAfhQA9YrBqggAZh+ALAKAFggB6AEgggaAGgggqAIggoZAghaAQgghKASggh6ATghAaAUghB6AWghgQA9nO4VBZgTALAgB1AEhAg8WRKggQgAAGBQgGAGVZAGBzg0AFBAA4ACBwBjAE1igIBgByZ2g3AKBQgaAOBEgPAMBwgbAHhqAeAEAJgg5lgcgjh6AggiAqAkgiBqAogigqAsADgKAugjAKAygjDngjgKA6AMAqA8gjhpgTgkAaADggAph/gfhqAAgghqADgfAJAVgfA5gQA1LDN8BIXAghYUQiBph4gmhABCALBgBygmh6BxgnAKBygnBaB0gnB6BzgngaB2gngqB4gng6B+gnhagAgnhKgCgnh6gDgoAagE6sBaALAQBtAEAArzggBIAJhgBrZ9h3VksdBABQADgAgDLlg9AIAwBVADhQB0AEhAA1AGAABAACnWsQ2VBAB/K5haAMAwg2DmgfAIAaOGhKgJgog6gNgoh6gRgpA6gVgpB64bA6gdgph6ghgqA6glgqB6gpgqg6gtgqh6gxgnhKBtgmhaB6gmAJhygVBYhaWOh4AEhJz7mtALhAbAgAg9gtBwg9AHBqhY7hBegthahggtgahhg"
    sSkin = sSkin + "th6higuBahkguB6hjgugahmgugqhogug6huguhahwguAAgw1zrFgQgvViBKAKBQBwAEhggtN8BUALhQB/MABIAIBwBfgwAwcMImAKa7bIh6WUA7AFBQA7ZYATAHhABwAOAwhGY5BBgwBKhigvAwBAgvBZpOgKh6gvhKh+10ZahrAIgwgrAMgwhrAQgxArAUgxBrAYgxgqhagt8YgtBqhp6eBTAOBwheANgqhPBJhAZhhAAzAKgga7hAhBcUBOAMArERA7BEg0BgBMg0grBMAHhLBLg0hrBNg0h7BSg1AbBUg1ALBWg1A7BXg1BbBYg1g7Bag1hbBZg1h7BbAKAABma8ArZWhKAMhQgOMXhQAIhwBnYzAXAGhghnAJhwB0AOhAgiAHBwhsAKAwB3g3AQB1ANgQgWFSg0AHhQBaAHhwBZAEAKgaXAg1aHlUgQgyAJgLBKg2ArBkg2BrBoMXqX51gOBgg2aHhuALhAgeAOhwgxAIhLgcdwgZAJhwhkALBggZAMAAgRAHBLgCg4BAA9g4Br1WgrgMg0B7BJg7AbBFg7AABOgshB8rhmBGBQU+7wBSAKa/AEGaddnDBwlEArhEg8BrhFg8B7hKg8gbhM17BOg8g7hPg8hbhQg9A7hSg9BbhRg9B7hUg9gLhWw+dPdebDBGAIgQBjdvApAHhQ9XhwB8AO4Teehxcxh/APAQgrg+h7hxg/AAB/AOi6AHhghdW9h0AKuog8g1AtAIggBuMABcALBAgZ+Mheg+ALhig+B"
    sSkin = sSkin + "ATxgghCAKBAgIAFgQA7hAhwA7APBQhEAKBsAUe9gShBAghnALgQgeg/hLh+ADg8AAhAAsAET9gBg9grhRY9BwAGgmAgCFhqAOAQm3hpBXcLBlcGAeAGBwBCAMAgB/AFVaAIBABVhDg8A9hDhMA+hEAcBAhEA8A/hEBcBChEBsBEhEB8BKhEgcBMhEgMBO+KhPhEhce8hwbphgHfgAgrUFB0ALgAgTe8A/AJhgh3T9gshGekhGBMBmAMgMBlhGAghwfBgXDmgUA9hMLzgjhPYzAuAJAcA+hFBcBXhFgcBbhAEWuF+jBCWUGOBCkAAd0e2GujVw3gimHGjjw60OYFSiHClUOmQ8ClCoAktnAsyiIEiNn0CyIkg4ayCKlalEmgRgDzA0gkYGAB1CfSkwUwEFAq0qOSulSyWUq+S6lhyW0seTClkyZUsuTilnydUs2Tylxye0ueT6llA0gQgCsHkCj0YYUUFHC8g0ITikCynUgOBAHnCmAsIV0FFCBAooHsDAA5gUoEIGxCSAgeSymDyi0w4XemRC7AuoRkHwCmgsQW0GBCT0gQXgznypNU5gswQ+mlyr02OVum1yv0wOTIGmDl1kJAqQR0E8gDFAugAAUoGDCgxi6UQGmalgqwRcESCBMkcAsdCEGSqOU+2T+o10OVG+UCpB0PVIWiCo1ySgEOEvGkFJpykBcQTyBsASJJk+AjJoGhmAcYTwBoARuBwoRiBE4RqBEYDkBIgDgAsISqBMIDlJUmhPKUOhWBoYR3K"
    sSkin = sSkin + "Y4RuYMoSZLoaV9JcqShI4FQaHUpyaH0qAaIUqCaEoGxhGwEzqMAvBoFoEjgPAcCAAAkzhKQHRhMQGzOMoGRBHIFgAOgCTAGoEz4GwGB4HMpC6PEpCaPUpB6Pkrw6Pslx1ESABoBMgQWB8QS8BkgT0k0jgfGEsgYIFeThH6iCsBc2wkBcwV5MEeyyEEegfCFqQhNIFwXBiKD8aoBgMGEngRIAvyoMAgIAm0oQYB4wS0BkAT2BwNjWY8iSCFsKyyLkBSyLsPy0DsRy0LsTy1DkZSHNkWAZMEFALKEwiGMwHgaGsbAUMEMASGEMARMEEnUecoRmB0gTIBwATRGcNx0TgIgPAAzyHIB5y3HkoxaP8vD6P0vQ6PcvRbM4DTAIwBTBAADQgLSiDOBsWxmXo9AaOEgKlJ4FhhPIGRhFsvzhFipSVMAfABzEXAeEFdjBKhzAgaQCgMAEjAQCAqSVJs3S+AA1S+Hs6gfIEzIKPgHBhKakC6mXJRhHUxChHKkC0BgoT2k0jdhHcwRct43AhMIXApVwIyVIErLqA4szLEAGTIHo6gBCS8AWCowTcBwwTHIUoS7KE7SWBcgRUBQADWAkABmlYxAIAEek7JwGR5FUyxYHslRBJIEBAKkyz8MMzAcMUzC8MkzD8MczQ8M0zRcNEzBcLkzT8Lczg8Lszh8OEzicOUzi8PEzj8OQFiXHgChAGoBBBEwEihBSkDa1iwzhLKkC+BkmwYBgQT2Bo+wzLMHQfLImwwohtTBIxzzwBVEY"
    sSkin = sSkin + "CQAh/CkNwXIzxACZGeN0AI0AugJGgN0CI0QugYA2D0Do0gNg1GkHuDY3QYjTC6DkaY3QgiHE4MQDAtxFAYGCAoBaiX2hkG+GkHwGQkBuHUAcRAHxwjIA2OEXYuwAjDF2GEWrjxSASY0A4OoHQWAZEMBgCwiRCCcGmHgS4hgIAdF2NsfouRuA9F6NwLriA+jNG4L0X4zQ+jVGaL0bIzROjdG6H0b4zQMB8AkLUIgCwgCEAMGF7w4QMKIG8BwcI+AOihGI1ODIgVhjBFYpAZIxAQjHF+BwI4nQAgCSsM4BAwQsANHAJEQ43BuiHE6OgBAHR2jfA6PUb4nR+jgA8AUcAngGjhA8BUcIgRKjhG8CEcQXgUiHGuI8bYABQAXBqKJbwTAIisBVEAVQGgUBmZWGBdQRRsDhC0BVygHRwjQA4LoagG1yjZDCKJ9odAHhAGAAoAA7wzjBCUA2QAFxQD0AS/sB44BQAYEAPwBI3hajrE8LcdYvhgjrH8MUdY3hkjsB8MsdgfhdjcE8NUbg/hrjdA8Nsdo/hsjbGC6sMAqAMBgH4AoAIJgFjgD2IoYARAHiAGkuEMgFBAg0iAKRMo8EvjCX0Jx9obgKUyAiMAcgCxcDwAmGAZQCAPDsAU7MbYnhzjuF8O8d4Ph7AGD8Psd4/wBjwD+AseA/wJjxD+BseI/wRjyD+CseQ/BiAXEqKICwFQOGkBAA4P4FAMTVMqJ8bAiQNATBCCoCQfRHAqECM4DgQRfjIHCMYco+QfIxEEYY"
    sSkin = sSkin + "KTFhUFuTUEALgExvgqAuAAdgCQgiEAeL4Z47BAiLHaB8Xo+w/PEB+L8fgXxgj8D+8QX40Q8DhEaNweo7gEgXD8AUPoSR3ieHyNRFg6hQBnHsEASI/Q+i/H+F4aY1w/jYAgAMSIIBrBEAqJQQwogRBwGcBMBYgxECMAGNEHI6gKCwECDESABQDA8DEC4KAUwNCICWBQEInRYDCC2DkbYrRMg7DKMwbYaxagZBYFYCQ5Q2AAAAD8cwsw8jEHCDgTYTReAdCcHcNYlRiDoDeDYTgrRLCjEaK4aQYAWAVAMPIXIIBnBCAqKMRYQxChZFoIgXQOxJCYAOKIMYBB7BMDCB524ExyiUHwE5l4LRrDbD6MocYdBcBdFcHcPYrRxD3D0L4bwbx7jMAKPsAYhBgjhFgFcBYTRLDPDGLELIFxTiCCkNgdASAqAaGQEkPAghSgGDUGoGAFhJCtAaBoLA1w0qSDSDQPQPg6g2E0OsOo7x7BDAqIoeIdRdAdEcEcBoFhHhJFKLQbI7AC1WG4GIFgjgCDnBkEAXIJAuAcBSOMdYUxIgZDsHYEgLx2A9DkFcM4tg9DtzeJ0d4DxBjHG+PIfAvBvBPB+KsaY7B6B7F6H4f4bxhjnGyF8MgehCCOESBkLQbgRAoCMGEAAkQrAIECGgHoKxEgRHwNsGQzAbCFBQG4bYsxMDcBsAsYQ4QaBs0iF0WAbRHB2GoOgKAlAigYHKDYRoUxIDYBoNQWYSBaApoALQK4EhChAHACIKoAg4j8Cg"
    sSkin = sSkin + "AwZA9QwiZAcMkSgQgeAPDGOkAQPRIH0AcEESIJA8gaCSJEMguQRBMEkKQbIQgniUFIOkKQURKhjGAOxyQwxcDgISEUIA1A8ATAEOEcAUAGhJFiPgNoMRFgil2EoKgZQKDbB0E0eYbB0CdAcEMPGHAJiZHiK4T4YRJj8HWFAB4IxYDpB2I4MYjB0g4AaMgIg1wcgbGwJoFAMBFgyFgIgDoxhYiMCYBADgoA4BMAYMEYgKhQCnHUBoSQoxUiqBUKIUoqg1B6FUK0VYKh9CuFiKv7AwhZ/XC0OIWgqgIDhDoEABYhwQhUCICIY4MRGCrBKEgSYNBehoAkIYRA2hOinAqAsDqA4BNDbBIDdA5BOADB2B7C2CaD6ACDbA/DMCTAYDFChAOCjDADpA5CbCDCCBzA2DoDYCKAkA2AUClAmAlA0DuDbDSAjC9BNBbDeD5C9CvC7DiD8C+CvDcACD/DACvDsATABDBBwA8AbAJDCAwC8AfAFCjBOB4BLAQA2AOBzB4DZBuDufPDUA4CNDzCsDjA4AOCsBsDFAwALD7B7AlDJCnD5DwCcBPAuBjCODjA7DuBlAIDhC1BnBjBrAUBKBxATB3ATDOBSB8DrA9DPAzD8DvBBDPC0AtADBDDRC0BdAjBEDSC0B9AvBJDTA0D9A7BRDTB1A8D3A0DGAtATCIDdDHBND2DgDhCHDODaAgDjA3CNDCBsCZAmAyB8CaDdDaCyCCC8CtArAOCDCQDiA8CODTCsDxA6COCDC8DogIDjC"
    sSkin = sSkin + "cDkixDDCUd9A4AuAHCDDhC4BeAjCEDiC4B+AvCJhgD+A7CRDjB5A+BDCUDkC5BeBjCXDmC5BuBzCDDYAOAqAcDjChDOBNDkDlDeBOBsC8DmA5ANDzB4TVCKCtCjBrCGAyCODHC0BsALCSDgC4T6EIDLAyBuA/WvA6hLAPDCDxA8VyDJDxB8C/AjDMDyC8DfBDDPD0C8DvBTDRD1B9A/BbDZD2A8BjC0DqA6iCA4DKAyAhAjBdAzCFC7BvCjC1AAAQAQEBA=="

    .Load sSkin

    .Out "We have changed the default image for exInformation style.", OutStyle.exInformation, "exInformation style"
End With

The following list contains available skins on exSkin component ( You are free to use them, and to create new skins using the exSkin's WYSWYG builder ). In order to use a skin, you have two options. Passing a path to the file name that holds the skin, or using the s string defined on the right side of your selected skin.

Dim s As String
s = "gBFLBTJYCAEHhEJAABhABBYpg6AABACAxWgKBADQKAAxjILEEQGGQbRjhGIwABOCYGRREYxQTDcBwxDCMYDAaCYOAAMg1CTJMjyTBIahgEqMBrASQZUjSHYmRbOMygBIsVRRHyYIRGeRZOsiBqdJpBaCQLokAoJP7UEg0BQEMBtIiXabjGi4egkWIhGpCIQUdSUByjDKqI4neTZPpiLIZAxSIDyCS0EznDKMLLAC6pdgkMQxDhGAxVUAAYhpDDDZBuGrZCiEFIJRZjESXVbUJxKGgaRrjAYMEwbCKERLiYARQRcQi3DikYjTRKmOADK6tZZaVryNZcByLNySdBpEIZBDDKKSaprGrcFqMH5rWjZaJjAZQFjvToPb7oeo1HITGUVYWluJAWC6HAPH2UIBhiLIWGsLBSlORojAABo2m0BAnHmEgskIe5AAQXAnkOEpCGUOoeH8N4mlsbBslydJZlER5cmWdZ7GyGZQlGWRIECdQlCUfIDFeVZcHCWpWj2ZR1iCBZ6Aof5ekQDgNGSBJHkUCQfiEJwBAmBYhGcFZIH8Gx3n2ORCGGdxJAMZBAAeSBFgkYwkFIKBxB0WAdmccpgjQZAKgAXZ0mGEh2haCJ2CuBgbGUZQcAyEw5AoEwCB0EIyBMfhkhiehLhMQhYCWTYJggAACEOCYQDCAZRBSIQ4m2MIShKOIxn6FwinQDhjg4UQ4kQEhCEGeYlkKChmkcHQrhAIZEgUTYRBMdJeAQTpgGkboKFEWBAkoUIghSF5"
s = s + "BAMXZAAGZQJhmJhIFKGoKiaWQxn2FxhikfQUiCY4aEgAAIFCF5RAMFJeCoah8ECX5KHYcILikB49lsQJqiAAAkh6IRYnKMInisKh9jgUhNCMLJ001eQUAWUIQGYRBFBGBgQC0VZRkCTAzEqAwwl6DRzZQUBAROGwhDsSJrnQDR/A2LQlA6VRmhCEJSmETQhlQUIrjIYQ3D0JQLEOAJNDEYWelWHY+hya5GmECOXHqdRzhGDABAOOouGCTA5j+ZIEFGBIulAO4Ei+MxwHoIQJAsaJlFmHY6BebApDWQIrHAApOiYbxkCQMwMhiFAMDOR5vnuRQTGEIxLgcFAACeHIiAUX4DHCSQxjYLYsgYcZEhca4BAkBoQhAWwZE0awXB6DITm6dAnDISBoF0LQTjgdJagKZhDGgFBlg8ZIjHYNQDB2UIQmMVhIXAXwtHoUogkGA3ah0DhhGSLiOHWSZAAoMUYoABZhuC2D8XAOR0DFBSLscAuwdAyGEDMHA8h+iQb0I4EQwgRgSFMMQAABwtgvAaKIEAbARhEBkI8AYeBuA6AcEMPA2ALgMCGGgcIaBDhoAwIQEwgAuhKBQBtqjiwXglFSMgGAigMicFaLoWQnxyDgGUDEe43gDh/HAPgTwHxGjhDyB4F4kxxj5C8G8TI5x8h+EeJ0dIegPCfFaOofYHhTi1HWPsPwzxcppG+A8XY7QeBrG0Ccbw/AvgHGOPUPonwnjdHqP0f4bxwj5H8F8V44x9j+E6P8ZY+w+BmDiGwF"
s = s + "oXx6AAD+PAAwAggA4AaAAUARACiBBgB4AoQBsAZAGOALgERAjQCUAgIIOAWgFDAMQCggwoBeAa3sHA/wPiRAGIQB4QRujCCwE0BI4QiApEKFAVwFghBYCMP4LwRARB/AgL4DQQwcBtAYCEVgOBDDwHMB4IYtx6BrE+BAf4iAogOBEEQLAjQIjiCIEkRIUQXAmCINgToExxCECiIoKITgVECFUPoUMYhFDRDcrwbAvQLjjAIGERgUQlAsCIAgWoGBxhEDSI0KIrgbBGGwJsDIXwqBuEcFEZwOgjhYHaBIMYhAgiOHiO4HwRxsD9AqN8CgWQ9iRH8EIJAWXiAjGYGcSA8gXBGCQNgaIIgyAcEcJIKRuQigZBAPYMgrBMiTCkG4EISQ7i1BOCUAgoRIhyDyOAzQgwUClCIKkR4bwnBTCGPcSgQgyhoDGJUKQzgtBGGSF4IA5RGCCEOOAAQWBlhZD6C8cQ/BbiXEeP0cAyxQDHBYCYEYvxMATBcGYIwRxHgyAKKwYojBphKDCM0DIlQZhmGINkRIEwFBcGaDkO4LwzDUHCJwGYcgyDMDyL0HIphWCnE4FMVwZhnBJFaDkU4dB1CdEmM4L4TwMhdBmOUYg5RPCTHcFoJ4aRwg+BOEwa4nzBBQGeOkRoNAPAIAqKEKgLhDBQG0B0IY6BCgRFEFQJ1FAtAtV6MUDIo6d09G0DsIIpwegIDuOMDAVQFDaCSEkVILQTilCoKYSwUhFQ/HSH0FopgKDOEyFMLQYwmjpFKD"
s = s + "gUw1BzCeCmLoPoThVAFB6KgGg/sFBaoSOkOoIBPjDAwFcBYWsfiqDaE8VQVQjZlAUK0Kg6hehVFWBUNwrQqjaFmFcdQ5QwCrGqIYWQVgdDNCwKsIoZRWg1E8LUKw2hshbHULUJQoAJDEDOAsFAAQuirFaHcV4VRzC+CuIofoXh1j9D6LACwDhghYC2AMMI7ASiIFgNYEwxgsC7A6GIVghRGiyBsD4ZIWQtgpDLqMOQhgZjmDuMEZYPQDitAIB0WgVg/DRG0BsJIaR2g1FSLQWwrhqBaGQCEMwphSCxA0MIdAXhtg7DWG0FotRci3AsO4be9Q6hvFaOUX4uArDSEwA0MIrga8CGQLge4JhzBcF2I8KIqRe77FuDocoXQtibDqK4UoyRUBXAcOALo2xch0HcMUcIuh7iOHYN4LYkQ4BtHKLATY8xLDu3UNHTQfR3C7FqDwQg0RQi8BsMYeobhVj3CUKYb4WgehDBeL0fIrB7jLAEFsZY6AgDvH6BgYANxlD1CcIkMQNxCjwGMMIDASwEDhB4C0QocBjAUGGFgL4Dbpg5EOPARoeRfCgDkIUMQQg1AFDiCAc4HAxieGYFgHgOdYBGBIMUDAlwNAcH4GcRQsQyiRGIBgO4Hgxi8DAAAGIngZiFFIE8DY4heB3EIPANoIgGBjDwGEcILBNiTBkHYKIygMhPBOOULgpRKiyFMFe0IQhthiBgCoHI8wCi/GWNkQAcxwBbF2JYOQ7gYjGEwN8GEhRjibDeIAXoywcjPB"
s = s + "YGcLgoxNByAMCQZg1w5gyDOIwbHzRTBRGSDYOI4BHA4hHAZhaAbBEBoB9ATgjA0BegOhRBaBDBGhpAdAftrgugHAauxvyhhhfgnA0hFg1hTA6BvBOhpgdA9gpA1AegmhThik3Bphsg9gXgxgegcAdh6gXBNBmgtBfgsB1gOgWhSB6hjBbhqg8hVgsB1B2gihVAaB7BfBqhxhfgoBHB+g3hRA6AOgAvYhOAyh0BGhNhZgbA7NqANgngzh2guhShahbBTBrhtgtghgUAyhwh3AeBjhfBvhuAdhBgQBxAmhinCAjAmt1g7gag3AWgtt4gDB2BngQArg5hzg2BQhbA7hjBsBvgtgjg8wZB9hGBbhDBxkEvJA3h+h0hcAbhnBohsgZBiA7hGB4hWhhg8A/gHBxAOAnhEg4gvARhih8BTgMBxBuAzhHA4KhghAggIAOACAuBDhIqvAkhkh8gLBjhpBOBWAzg4hPAfAgB8gQJnAxh/hLhAAHAoAEBchIB/hzB+BzhKg5BvAbhnh8BrggxahrhJA0gXAghkhdAjgSh0gugNhMA5AXA5hjg8BfgFhOBeghhVA6AHBVnqN5BtAIBRg0AigWhQhlhbA3gQByA4gHg2B7AXAjhsh9gjgcBEAuAThXh6hPBYhth9PvByA+AThZg7BPBqhmgbBbgzBEA+gvgyBeBQhvAaB8A/hAB3h/ADhhA8AfgGhwBeAjhCh4gfAPhig8BvgGhthdBcgEpiBOAKh8gfgVhygeBbhLB3g+Alh"
s = s + "ih4B3gShygRAzhPh5B/BHhmh4g8DegegjhFh6gvALhngIAfgWhqAeBnhMB7AgBXhpB4gHgihvB+gvhBhMApJHA9BPgOh3A/ADhfh8AvB9hxA+ANALBfgrBYAaxuBnBDg+AvgEh4h/ArhkB9Avgjh1A+BfhTAGBxAbhrh7gPgHhwB9h3hQAGPKhrh8gPg/hyA+hfhfh7B+h6BSA9ABhfBxh/BnAPh9g/hDykAvhdh9A/gPh1h+B/hbpKA/g7hwB7A4BCADhQBCB/h4ABgAAHhoB4g3h2B4AHB2gAgYAKB3BoACgAAkGxhYAEBEAnh3gBA3h6gBBHgEB/hoAAB4A4AYgAAwBCB4hIAbgAAoAaByA4AOgBAoAVBcB3hqA9HJgNhoApgCgwhXgCgoAtgCizADAYAwgDA4AvgDBYAygDBoAsB/gIA6gBBgAzAC0igEggBIAEgoA9gDh4BBgEAABKB3g3h5gDB4A7gCBYBLANBoBDgEBoBQgEBYBBgEgIA3gFBYA0gFBlhHgEh4BBB/B4BDgBBnhugFpLgFgoBHgCH2UVAnB3hlh4AOh4BpgGg4AqgGhIBqgGhYBwgGh4BygGhoB0gHAYB1gFB4B4gDBgA4T2g4AFAgBVAFUBgHg4B9gHh4B+gIAIBkgHA4BlgHgYBlgIAYB8gIBYgOgHh3B7gHB4gSgHBoBxgChYgC1cgKgJgYA2gIh4gGAPh4gIgIgIBnA8B4gfgJA4gjgJBIglgKB4gkgKgYgUgFAQBK1phGAGA"
s = s + "wBdAGA4gwV2gogKBo1FB4gvgLAYgzgLg4g617gRnGhAgLBYg5gLAog9gMBIhGgLhIhHgMBYhIgLA4g/gKBYghA8gIg1gNAYg3gNA4BxANh4AqgNBghvjhBagNB4hcgNgYhdgNg4hegNhojQAIBugOAIhmgNh4hogJhIhqgIRzgOAYhU2MhWgOgwBSgPAoh0gOhIhzgPBohjgMAVh4gMhzhB2gBngPhohogQAJACgPh5AEgNhAh3ANhwxGB5AJgQgJAKgQhZAMgQh5ALgRAZAOgRApGqApAAgRA5AYgRBZAagRBJAcgRgQxGA5ABgQBYhegRhpAkgRg5AlgRhZAIgSAIhegPhDg/gSB5CzhpFbAJAygSh5AzgTAZA0gTB5A2gTgZA1gTg5A4gThJA6gThZAegShDhIB2hGh7gUBGhbgUBZBIgUB5BKgUBpBMgUgZBNgUg5BOgVAZBQgVA5BPgVBZBSgUh0AhBOB0A9BDgpBcgVg5BeBDhpBdgWAJBfgWATvuBpBbBahZBoBagpBpBahpBsgWg5BugWgpBwBag5BjB7hJBiThhDgXB5B4gXgZB6gXg2YCg0AkgVgpB1gWBJB+gYApgBgYA5gGgYBZgBA+B51ZhJnQg5gOgYgJgNgZADhcA+BTgbA5hQBuAGAgBhV1BrA6BDgmAYBAgOADBDgqAEhZgfARgTgwAQAzgyFXAyAxgBBdA7BxATAFgJggA7gwh7AMgwhRAPhQhKANAQ4rhAhOgbB5g5gbgJg6gbhZg"
s = s + "8gbh5g7gcAZg+gcAphAgcA5hGgcBZhIgcBJhKgcB5hKAPgQhNAMhphOgdAJhPgdAZhUgdA5hWgdAphYgdBZhZgdB5hagdhZhcgdh5hbgeAZhegeAphggeA5hmgeBZhogeBJhqgeB5hrgegZhsgeh5hggchJhygcgZhzgcg5h0gfB5h2gfgZh1gfg5hAAPh2hNgfhghOggAKACgfh6UkgaAFggA6AGgggaAIggg6JphaAKgghqAIAQA5gx4Xg1gfhJh6gfgKAWghgaAYghg5hNgehqAegehaAggfAKAhghh6AigiBaAkgiB6AjgigaAmgigphpghgqAXgih6AugjAaAcgjAqAPgjBaAMgjBqAQgjgaVtA6A3gjB6ASgbApg0gbBqAzgkA6AwgkBKA0ghBqArgkgaAogkgqAsgkhaBMgklQjdBOglAqBHiiBWgkBaBYglBaA8gjgqA9glhKBeglg6Bg5ng/ghBKBCgcgwilhQh+AMhQothZg4gmhAhOAPhAhLAMhaBwgnAqBxgnA6BzgmgQpGAKB6gmgqB7gngaB8gnh6B5AMhqBognhKgCgngqgF69gusRB0AMhAhNAPBwhPAMggh/ANAqABW35ABghIaxBzANBAhTAOBghOBogAhGbLhvAMBwhMAPgwhTANBQhwAMgAhKAPbTgNAwh1axBSAOhghGbXB/EkbBszAMssgNApgzYvBQbKBQAMhgml5BAOrp4sBobLhFAPAAhRByhQhRbIhxgs7agNAAhLAOgg5"
s = s + "BgAh3ANBwhSAPa17bh+gobMbzBQAPgAhIbXGlgwhQAOgqgCgsgg74Aawrhw5Bha7LBAhuYsBHAPAQ7LAQh1YvBLgvBghJBw4uAPAa7thqgMAP8CANA6hsYvBtgwAag/gtgghJZAhRgtgahgb07QAAh6b3BUAPB6g4bKBKbXB7ANAKgYbpBKAO60W3htgohwhybIhIAPhwhYbaBzAMBghDcc7tgwhSAMh6hUbbhqcgbMg5g5gzAw7BhAhJAOgwhCAMAAhzgxhghpgygAhvgpAghzguhw7bAghIbghKgqAK7thwhUYvB3gpArAnbL7IG97ra2Aw7RAQhRAPAKt2AagjAMh6Bvgsgw8lgQhGZAhTAMh7ClgQ72g6hwgshbBDbIh3gzhg7MgagBgqAw5BkgAM8EbuZB4v73BPcIBQbXBnW3hEb4hVANAqghW38bALBU8k8bZmgtAQ8iBq7gAQhHbbhsgxAwh4gpAqgLbXbWhghEa1BWbRpbhQhKgzAghPcihFAMAwh4bIhLAPgag/APBQ7ohKhHAMBQhybRotgg9hgbL8hQhJAMBbg6bIh5gsBbA9W3h9grhAh2g4ALgwguhLBugxhrB/gvAKhFg64uAOg7BmgyBRgwghA6BBgchAh6dahSg+A7hlg5BA4rhw78Abhqg+zdg+whg5A5g2g+gr8SgLhug/Bbh3g/ALhvg/Brh0grh7h3g/hrh9gbgbhtgkBJhabdBKAMg56wgZh+grAghHgpAKgrcnBMbI+VAcAII"
s = s + "hBfb4hE+xAUgthw4tB5g1cnBIbzB/AMhcAic1hBhCbz7Yg0ALBwhoAJAggYAOHigJA8AeAMgLeFgAh8diGnBagRAMhrAacph/guBrAtAMAgh+9Mh1gxgwh+g4h6BwhAgghEd8+8h7gHg0hAhug2hWAsbIhsg0h7B5qjBM28hZANBLhR+v7LBJ6wgAh7gyAMBDggAahvbY98B6higrArB6bKd8A8dKggh8cphF6zhKg0gwhGg6A6ABg7g8Bx277YBg8ehA7M+9gMg7BrAMgcBwgsPFbXB+gtg6gkhDhKgPhAEEFRCY2qLUigUugSqfg+4V0GyC4AwuEKWTyJIctg2IXUGQwmTgGDOlBqlg84UgGEC9g0V2ub1C+gyOAqVyw50SlVukTw+zq2BCgSs8Uk+COgQClUCQUWh2ubA81zsHhyDUFIDiOCOZRyYA+wVAGXC7gyNikGTxHhwhA0GRijAwSIcqA0mDuNhyTrG/ygWSUGFC9SyYX3BV+nGCkUu2AgGjCpRs9hScDqa6eH0IGD6bGyg044UsHyyPIck0WwUybXqiAyYXLhG2Z2C3TY1mKe3ogRsoX2li0LAygRoDyA9gmIHgDy0OAeQRuo10P1IOh70SSpD0RVI2impJcpH0VVGwHoDw0T1MOjOpi0O1EoUypw0dVE+jgHzs+1O1SOliZPhDheBUgTwBYARhZoFAVEEVEOGAFhBP4yS4EEUgBVgAT/KkgT+BUYRmQ4hRlCEfSqMEZyrGEXgWKE/gRCEIgTI"
s = s + "IBgUGwgAfPkikOHYFw6LkqjWLRDh4BcYT+BYmigBgQSCB4WiKBwAQlIZTSdFcBxbLUIAVAEVgdAEIgSJgmgZME1xaKE3R4HccRACEZAWMGHiBF4HwhH4F4SBg+BOh8VkOnEYTyj4ySLDkzgZi4Fw7DUqT6N0sxVIRYBvKsZz/K4mw1GcAT8Bk9g4BcIRoQ4agWDsYSrHk3AUKESyuPsdkrH8PzYHwFjbHYFj6MhFBPGORwXPg4AVBomgYDg4SaNgEgdOGAzBPwFibrMWQFKs4T0BQ4RTK4mjhHacwVNokgVDsPgYBo7RuFsCEOIMhDhn6LkDF0ggBJoHyhG2Kh0BcGjZI4GygBcmw0BcGw0QMWAfPwDSrDwEpGHu+CXLY+AQqBaDWFKqDyBYejIBcnAfKAuDDKoPAeBYXATLYOiGBY4R8Q4UTBCEiSqNUpEOGctxhF+KiHJAXA9G+eyZASjCOBUWzyLYgT/GU2TPIkWisBUoRfLIuiSBgmB8BUmw/MQVS/UkaSsIEUypLYNgfrkej2NkVSUNQHjzJ8TB0IMpx6HNMT+B0wTjBMwTfMwnDMNMnDPMwvDRM0fDVM0vDTM0/DZM4HDdM0nC9M4ugvXUgRvCEpAdCEGARKA7ihEAzACKI9oEFAEwiAYESiMwrpzBYIRgFUQQUCAYDmKEQT6BIwQ2FUXQMAAAQCCAYTMAwoDUBY4gGBYwgGBwQDA9EzPVEoCBAIExj3BoEwBC4CyiAbqg8BMgSeA8oD4A42jXLULA"
s = s + "ISniAA2OAewEAADceqPsVwtQOhkBsEcQYwRJAdEAN4B4AQJPVEsHMaw8lFAgGQB0Sz0hPAODAOUWYeQCiNBCLIBwABzAQRoBwEAxAGC7BsBgUA5AQB9Bk9IUwDQQDPEIGEQoUgQiMAyMAcADQwD3GgEEUADggDbF0CEPAEhhAHG0GERgDRQDTEIHoBQDhgDnGqMIeyLQzAaCAOABwAQDPVAw8YfwLBgg0AmHgIBKwsAMDAL8Z44AVEOCABQMI9AIBBAYBAJQFEwAGAgCETQCxwC+AkIwQAEn5AQCEAYDwoQSARGwDwwIzgJChBSOUIAKgJgaGsBQYIUAWAgAAAwcQzAKj7HYBYMIYAHC9AKNsboMRqjgGtHIBI0ABDNDaFkTK+BEAaDAMABYvgoA+DEAYB83Fng6AmJ0TwHgwgeAiGAfzsBtAsGqFADQgBqAOC8IkcYIQsIMD8AwYAxAICqAoA9GgFhQCAAQhICw/AAjAECIafYygIPfAkOwQI0QASGC0P+JIlgOAhBMBEUIEHqgejyFoCowB4jSmcMMDoHgAAeA3PYVoVRLB8A8HgWYywpliECJ8Gw4RPjLE0CkU4lnliAHwA8QIIgHiAHsBI0Y9RvhbHq1MewPw0j2A+G0ewfw3j2F+HEe4fw6j2E4O0ZY/xAinF0H8ZgFhdAfDCBwCQHh+PSAONALoFkCBceqFKPIVFuD0AmCEFgFEaBeDEPcSYwRxASACBoCr8gxDiHskwPAHwgg0AkIEKI05dWEBeNw"
s = s + "cKLQtCuIGOqRMpzjAOHCMYCY4VHDBC7aMfwEACByCKP4ZgYxfjZCYEcfQlQoB9AUIULoKRKDEA6Iof4awaBfHYGYHQjAAAAC8EcCQcRjj6EiEwWAjgkhAAWEEdA9UJiDBgNgRIWQaBxDoAABQvxqiKGoGQOITwOBiEcAerwfASimGOEQY4EwojJGgAEfwsgsgrHGIoRA5BTBWGQGIG4EQ0BmESOgdg9QhChCiHEYghBCgYEiFsKI5AWA1H2JEGAkghhICgEgS4kQyC6E8JAT40AEDoHEDYIQlwlCrBGJEXQWwEiAHqEYUYlQYjFDoIUMAsQeBSDICocoex+geEcEEY4LRqC2AHgkSwTBRjjEOLkBYRRMD/DSDITwagSDSCkDgVYkBTDTFQB0AghQ0C0GcCUB48RhjVFCIgeISQSiZEMNMSYzQLCMGgIACIEgKDiEKFUDjYgFhPHoPoRICQ9CQFINIdQWBxB+CELoLQvQJgJB0EAAIOQQimFACMToSgtCtCgMATQqBSAsBKPsd4Rh4hkBiJ8JoBhFj1EsM8P4fwIjDHYMsPwjBTjoGaDMB42ANAIDSA8AYwB/g8DANgHwDhCAhBwEoCsRg8BSAwIUUImA5AbEMOAVAggEiIFAHgRwCgoBMHmP0XwSAAAFECEsFYChBgFA4CwbwUhgD5BIIgeQ3QOArCkBMDAwwfDJFEFwWIRwFgkEIM8GIjhpBgEgHYIABgUhLBUIqCgHARCSAkLwVwPxmCzAyAQIQTBxggH+"
s = s + "DEBgJ5bg5AMJEWg/waDiEGCAYXPQpgUDoEcBgoRbBlBmEwS47QKAwAWPgZgAL1CUEII4EgCxqByCEAAEoNQWDJEsEsWQ6BNhHA9M0GIUsKKuCOCMSAAcqDMHmAwf4LxlgqBQAAUoCRKCFEMC4CoJA4CSCQEwIYBB/gzCgGMD2cREhCrkKcJ48hWCxFHvIFgrwUjPHkPQWYqRKCxEoGsRwwABhcBqA31ALBGh2GAAURPMwlAzAyBwFoUgJC0FSG0VoMAAC+DIAoe4pRVhSGUIIUA/wRiIGkEUDglAqCzA6AkEQyBdCCGYEMR48wCC7EqMwEYzBMgkFSGkCQLgVgsDSEDAsBLAmBODkC5CSATAoDJCaDQBjAJAUAmCJC5CGD9BSDMBTAaC4ClCiCSBSAtCLBrBCCyCMC+eoDMCsA+BJBiA6CSCTAlBCC1DpBSCPDyC4CrCeDAAJDmBXAyLABADLA9ANATA4DzdeDTDsDMAzDfCzA+AACACPLNM5AMDCBQM1AJBRD0B9AkDHDRD/BLDTB0DNA7BRDUA1A9A/BVDUC1BtBTBXDWC1CdAzBCDXCiBYCNAsAyg0BUCaCsBAAICsD/AqAKCaADAjBSDLBCDUD3AkBvB1BBAhDEAxDyBhBPBKAqBzAAD6AmBJBqDhAeB6CKC4C3BpcMDKCrAGAzgNA2BZBVBOCRCsBwC/BTBjAMTZB4DDAYDKAcCGDWA5BLAvC5BjA8DIA/CLBCDACXBIBFCRCDAbAZDGCTD8BfAXDTA"
s = s + "QABDpDHAlBlA4CWjKDBB9BRAAAPDRC4BpA8AFDRBmCjAAArCDD8C2AqexDEClC7BPDxB0BgBzAUCxCcBqA/DFBRBnC6DaBLB2DXCNCVDRBCBACVBgBKBkCFALA/YUAiApAjDlDiDZAEAvCMBRSfCyDKBECEB0AdAZAyAwCdBHAuBbB8CgDKDsA/AiDWB4avCOAfDpA9AWCtDiBuAqCHD4CQARClAoCjAwDzA2cnCKDeBQjuBkAZCxCQAvDHDQCcASDLANC2CyJ1CzBgBgD/AVDiDEB/CIDBAWB4CYC5AtAjAOA5CDAJJhBnDRBgAVApBjAQBfAPDhA4AlAMAoCGAfDiBNDuCRDCDyB6CFBTBtB4BPAgBUVJAmc4BsBCAUCiCMeQB4Bij/AACdAYDoDICQCMCBCKA7CGCIDKAdDJCcB3ANABCeA9AGBoDPAeDsDpCfAgA0AKDQDRAyAMAfDxCkB4APAhD+A7DjBsBsCNDRDCA2DGD4DVAdAjCcByCODRDmA4DHBYD5AeAjDsB3CPBRC9CvDGfDDQDHD4DHBLClCQDyAAAGDOBTAFCbCCB8AFAsBZXkD0AlAECrDPA9DlAsBkAMCRDuAkDEDCB5AWYjB0CPCxAiAkAlARAdAkAiCkBWDCD4B8CtAFBrAoAVBjB4BLCJAxDSfMCwDUBFACAoBIAIAiA4A/BFCwCyBnApBsBjCOBRA2AlBMCyDOCADjAwBkAODBBEAnRZD/AOCBDhC9AyAhDyDmDFC4A9AHAJCFC"
s = s + "OAZAhaBAKBYB0AOBuDBDYAPBwDOAYCHA5AqmEDRDEAKCxBEDpCKBYBrANDyCgDWCUC0DiAyBJBUWnAqDsDTARAxD+C5AWBaC4BXAPpfCRDBDuAuDeA4DTAYCDbBAEBiD+ClBJALBJBcBCAtDYBEDTDUAoDWDCBNB4CiCwB+AJCRAiBJDgDgCqAVBFDsUunDArBXAIlBBCBGAYCwDkC8AvL7B1AAAQAUBiALDxD/AWAHCICOARBFCZA9ASARBEApCWDyDNmACZBrAIDRAaD9CAADAnAYBqCkBnAMDSAODYDECrB/AjCSD0nqCEDXBLDGCjBjASCCA9D8BCAECeAxh7WBDDDwBLAIClDyCjAlCKDNCkB0CYBVAyC1AEBLAGAwDvAaBjAwBxCMDRCQA5BGBgDKAeBRCAB6DGACA4A+BQWPCMDNAIBJCHDgD6AlCaA1CHUBBiDEA0BrAWAfAsBNCOCyAWAyDFBZA7AjBjBsCtCYCxD2BeDNBZBAD5WFD7BhGnCIBJBIfcApAWCBAcCIBCDFAaCJBRAjBDCnCkCIAYDjDIBIAJAFDyClATBaBqAvCkDQS4BCBCApAFtYACCwAUBXCbBRAeAkCDfKAaCiCEBNCPDxCEDlCFCQC5AyDABUBpCIARAABQBGHGAaBDAgB4ALAhBZA2DEAICFCRADAYByCICxAUBeDJCwCGARAjD8AzAGBzACC4CEBIDgBzBsBdBXuMAOAiCdCAD/r4BIByAGDwDUAkCiBxCUEOCcA2CrD"
s = s + "zCiAmBHBYCLAQCsCcBHAJqBDkBWBaApASADBYAyCGA1BMBNCEDYCcsJBmBcuMAiAlBVD7DLAVBCCxAmDNABBrABDGEUDAChCMefDhDaASACBUAICrBkBwBHDEDhvkDGBBAcCDCCC4BTAPCKC0DeCgDgCvAWALA1C0CKClB2AjBEBBBKCZASAhBUCJBBAgC3CTDIDrlvA4B/CKAxBCNlDICXBXACD8CQCKCBBdALDEDSDvAVAPAcBGrcBRAMBhAADFAhAjA+CmCMCWDGAiBEB6CdCdDwB2BGA/CMA7SbAGByAVACCqDeCAACBOBTAeA4CeASCqBSAACKBRBMCnBYg2AVB2DuCBDeAhDmA0BGBYDwdDDEBpCNAoC+AzDrDjA9AAAVD8BoDYAZAIA/DHCQDxCNBIA2A1DqA9BLCoC1A+CkDVAaCbBUDqDNBXCrC1BVCgCQC6DJAzANBLDyAmAWD0AFATBCBaCdDbAMCKA8DEAoCBBQBVC4BaALAxDYAfCDD1A7BbAQCEBWAPBxAYoOCTCCBFAiBeCRDkChBQDiAFBICrAdCiB0BPANDxBgPcCYDQuoA4BbCEAACQAtBCCABVAgCDAkB6CNASAMA1BGBwC5AlBDBYAlAFAJAQAyCTCABtAPCkCEBVprD2AcMpBhAfCQBkB3AIDhARA2DIAQD+ANBBDCC1AKCBBMA2CDDgB3A3BFAsBKCJB7DqAiDDDxAcAeOZBnvLDbCNAJCwChAUCDDoA1AGD0DCA+DEDwCbAdA"
s = s + "0DkDze2AoAlk/KJBDtwAPD6B8BuApAiDvBVDqB3ACCMRZA8AgDJB5AmDCAMBEVMC0AYAVCaDrCZAcBgsGtjAmk/C+AXAjDcBOAJCECXCfCEDICbBhDQicuMR0BWDzBpAWApBYBHAIDCCUCMDACqCdAeB3DQBRAKAlCWD/AEDYChBcDnAYB/CLBxBwBkDECOB0BICkBdA2BTBiAuAoDFBKAtCCBCBsBPCunKIzCQD/AUAiB/ClCyBxAoCQBIDmByDnCjC0BEtXDoC2C5BoCVCkBsBeDjBPBHBsBSDiDoD5AZDDAsB3AMCxCRDpAGtRAZCjA4B8DGA9A1BgAsAADMAZDMDnDZB7ARAeAe0zCPAPBhDoBGD7CvBzDuD9DvC6D3CBDrDfB8AvCJDwA9D/DDD4A/mAD8CvCTDyA+A3DOVcBLDYD9VXD1C9CbAHAfDCBBAbCWBwAAAxCBCoAzBTjrAdCsB1DSDDaOC7CqBmBiCvCAAKB2C5nmCdATAFSGANDQC+AZBDC5A1WEAAAgAPDyBeCZCDBMA+BHDYA9BDBAAzADDoAyCJB0AwDDAgA6ABD4BXCEDUDHACDYA/ADA0BFADBIAyDDC0AeDBDsBnDEDYAuDDjsCbCgCbCEDZCeCZBcAmCBCYBIBCYpDDC9jSDgAAADC8AcDBDgAzCBAwIMDYBsDCDMA3ACBMAjDBC8C7DCDQD6BCBoAnCBDMBNYw6FSFS0AUCBDUBi6sA/DC65ABCtAvCCDAArBDCsAoBCB0UtB"
s = s + "UAHADA8AcAPDMAyAJB0AzCDA4Ca5xAyDBC0Q1CoB6BO22CCCMBBi4R5CkAZBBDJC+DJBYAgCCAdDLADChB5BD7ZCBC8AhCEA4DDCLCUBNCCBZDLDMDEA2ACA0AiDQAwDZDDGaABCNC+CAAAeOD0BQADAQAxU2BJDJAsDyDCBYAmAcBJDELx6FDwA2BfBsydDkA4BBC0AbDGCsAFBQAwBuAABUA4BCBdDFBVDhCHBQC4dZBcFwAYAyCVA0AxDMAY5wAYA1CBDIAc8UBSCCD0ARABAhCVACCU7vAkA0DB9aCH3gax8uD4An64BBADAUA7AHCBCFCNvTDBJxCcDcArAADsAPBDDAOEDsCKDFAYDlAE9n8AA+BDAkCXBDBEA0ADD5DsBDD1DsBVD5DrDaBxD1AjC2AXADDIA9ADD8A8DRC2A8DjDKA9AjDeHWDmA9BjDuA+Aj4mCjD2BAAjD+A/DfBWBBAjC5ZKElAVCMAlDMA5BaCDkbBQCEC4BDAcCq/SCmBC0OBUDFDnCEAQBp6vAlASBIDuCXA0CqBCD1DdCOCQDKAOAgAwAKCkAuCUC8AwDJCo6CAoA+AMAVAX3sDNCAIMWD8KjAoEQuClBLIQsN+CdRPgZo4UJchICIBweoIwCcoIQ2kJsC5CBw0gJ2C4huwWoJmD9KNAlgQoCtwiAXglUCsDNRWkpUlMhjBAtIoD9hgBNIJ2k0hNQWw4XgJ4D4hLwyIJcghhhxsMJxFNhVAkqxTEMMDEhvAyEN+C4qLwZ"
s = s + "iU/BcLIgZEZIC5HFgWOVuiIrMYTMMeDxhMCst4pOVNF9SD0EIN6C8qL4moJot1BLAyJ98iIhvVNGYYCsBMBtIksDBCCQWTcYsQoEYoOgTBIYKJHFAZQ4XOYQCxhuhJskvG0hh7lBhLkMOJYzK0EGERCxkARxKQ2jdCDgPgRCDAib4KjQaAMnEZEqwiiY4klGAAXhRqDJjJAZOZ6RZ0F4QwYhEAgohkYhYCEI5ihWYZ+hUZRUEUAxon+JwcJOaheEEfAhCGFDfnwGQCAwGpBiwHxQjISphh0HJBh0HRNDgQBPFkHAGHUQQBCYDwRjQDwAnAEggnQDwBCcQhUCMQh0CtJIpEIFAzEMFAvEMdA9EKVA1EQNA7EQVA5EOdA1EEFBTEEVBXEENBbEEAgON+TgRCEFAPkIHQHkKFgYkSMgZgcFIpiSPpqAcvwym4FZGAENZhH4VQhFUNJBF0CQSkCZgMlgYJUhgGZkFELxKGwRQQjcP5nESDAOGCXAhiAGhBnYGRDEgGIBg0CYAAAGxAnAD4uGAYJBhITRIisDdeBoIJ+BCDogCKAYWlwMwCinUgZkGcAZmGGJ0DMaltCSagTm4IphiYGwhnAGBBg4H1it+dxRE4YAinOJhLkSMxKCGiVwhkJgMGadI8BkAZ4GaAZ1E8bhgDSFQvFGRpEXiCwcXSPxqhoGIiAyTYkE4JYEjoGZtkMO4hm4YS3BqAYuCgM4pQYbQ/BIXliBaoQkBqK4aCEM47FbEwfBOABsFENxQBOP"
s = s + "p/iUMwbmSLivnUMhhHkL4DCSNBTF8Vgvn8RgJBANIBhQRQGGkEz+CCU47CYIoCGaIUoCMZAmxeOoBhw9JenUQZnDQYYpOeDggkGJw6hSQw9k4YRKFXUhkA0N4CAkJoGGgH4RFEWJUj4NIxkAJY1BhYglFAAYGCKERim+MlxCGaRKGYbwjFGTAZhQCowDQVRFiiVQeC0QBBk0QgeDYTRlBYSxlFYTpTmiWgeFYXRmBYWxmFYXxmHYYxmhYbxmkGZRkBYdxFhYhZhiMUAVnAIIUiQ54kBoIZjACYZ8BoVYvD0jkHMGocwswBjiGKAMIQsBzhEB8OoYgPQTAEB60Iao7QaCBEGO4a4wwfCeCYBYWYChUHpHgDIIYNF4gtHUOsNwlghDOC0EIZQXRvCWBMNkWAlwoCIB4GkFLeQsjMAGEgHoawVA5AGN4HAgxijoEuGRWQ4gwhUGwDUI7/RBjYBirZ/AXF4gwVkM0di7AZhjEsFwUQbAaDDGUH4FwWBsOEFkCgcgPQsisB2N4RAPQBg6ACGQbQ2wNjaGyJQbQ5wyjJAwIcewlg0wOBOO4K4qADCACGOIS4AxfCXGGNZBg0gwhDHMOiJw7A1QnHaK4OgqQ7DxHKMoQQAx8MvCsOcgQPQ3CqGqOEOQFhhwnGGCQH4kQ6A8EWKYaQhx1DYFYDoK4oAMAyDeGkoQKnVHoCGNgGYQwVDqDeMIewwxyA0A8K4XwrxJABHUL0Ag5hqFqBIDwdYAAeAtAAD4EYfAehVHADsa"
s = s + "IdAdgbG8EIFw6kGD2F5EsfoaxPA5BcDgGIbhSAzAGNkTQ3R7IrF8I4YYxFZGHEGrEBg2BnAtEUOQd4JQpxLCWEMewOQECaL8HIY4qAPDPCYOgHgKgUA9BOOIV4DGchwHOA8GA7wHiSDsEsOAqAZCxAWBEGIBwIixAeBEeIFwJAxBeBIVg8hFiwGcIsNgchggxCcNsFADR1BDBwD0bwqhBAMHIDMeIcwLiMHWBcA4+A/hHHmBcFg7wLCxE6OoeIogghxFOBsD4Yh1hnDoNARIXg7irD4M4eIkhF05AqPEM4FgYjfLSEIQQLhnV1sGC4Z4HhYh/AsB4VIXwZAfA2AweYIwYjbAmPEOwQRRi6B0B8LdsB12hHKOoWQWwNAyC+CYeIowShxFSPUBAGwTgpHmnYL4JBDjzBIN4U4KQZCTA2DICo7A4jKGAOsDQ2wYjqHUHIFYHhZAnBEF4Z4JB4jjBMHIe4KRZDZHUJ8K4LR5AjBeLIOYGwZgbA0PCkAQxoAyG0FcGYcwZDhHMAQQQrA5g1BgL9EoMwahzDGDUeYZwbgzDeDcWYawcAzDODQGYjwZjzEuDMWYnwaAIBWDEWYIhBCzAODsLw0wSAzGCPQeYxwQizGrewL4L7jA+BmN8HYsRbg/BmOsH4c31BxEuB8OgDwPg0A2EIGIbwgj0BWEIOgF4UgzAuPIIYRMEA+HmPsIotArhGBoAcIwtABhHBmOcI4sx/hHHpc4eIrwjBzA+CcWgnwki0FODoeQdwlC0FmE"
s = s + "oegtwmA0F/kQFYOQZijByLQa4TgaDfCcLQbYTwaDnCeHQd4TxagHCgDUB4Tx6gXCgLUDYUQagfCkLUE4UwagjCmLUF4Ux6g3CoDUJ4VBahXCoHUL4VQahjCqLUM4VwahvCuLUNYT3dg7GGCwGo9RHhZDqJMLItRThaBqK8LI9RbhaFqLsLYNRfhcFqMcLoNRhhdFqM8LogxgUWDGF4Wo8wvD1HuGAGo/wwC1H2GEGwBwwh2AeGEWwJwxA2BeGEewNwxC2B2GMGwPwvA2CeF0OwUwuj2CuGYGwXwzC2C2GcGwZ2hBvDOLYQ4aAbCPDOPYS6bRNhpBsJ8NQtg0BHAGMgEybAeCCDICcGwuw2A2GWG0Gwxw2D2F+G4Gw0BehCDID0Gwv5whrDgHcB4cAbgXDgLcDYcQbgfDkLcA4bw7DfDcLYbYcx7DnDaHcJYbh7hHDaPcIYdB7hfDqDcMYdQ7hnDqLcP4dxbiHDv6sN4dwTh5FuCMPQNwXh6DuDAEzQQ5i3EWHcG4xw7D3GeHYW41w8A3EeHwW42w+A3Gn8cS4eh7j/D0LgA4eRhBrDmHYdYfR7jnECPceYfh7jrD8DgFYgw8AzEEDgCYew8J6BwAMOQRBDD2HSN8QwcAViGGaEeEOCYFwCCGSDsH8DeHOEMDwEsFeHwE+EQBwE2EUDEF2EQFwFuEUHwDUBWFwD2EYDwEGEOBwGeEOHwG+EaFwHOEYBwHeEaDwHmEYFwH2EaBwH+EQHwF2EUFyAuEUByA3BoF"
s = s + "2ESBwFGEeDyBuEgFyB+EgDyCOEciUEoHyB2EoFwHWEqFwDeEkESDuEkByDuEiHyBmEsHwF+EsDyDGEoByCuEyDyEmEqHyCmE0ByE2EkDwEOE2FyD2EWHyDyC+EQAwB8AGBgBkHyGuE6HyG2oeHeE8FyHuE8DyG8H2HyHeFADyHWFAH0AECWF0AmFCH0A2FAF0BOE+ByH+FGD0B+E+FkFWFIFkEWFKBkFeFIH0C2FKD0C+FMF0DOFOAGBmFIB0B2E+F0D8HMB0BmFCD0EeFEH0E+FEB0FGFQB0FeFQF0COFOD0DeFMB0GOmeGeFWHyGmFQD0G+FWB0EOFSD0HeFSB0HuFUF0E2FcB0FuFcCGBeFaB0GWFaD2A2FkB2AuFgF2BeFUD2BuFEF2B2FgB2B4QMTwGGFYB+H23WH2C25kDeFsF2DuFsD2D4B0GGFOFwB2EQB2AGFgKQFgB0F2E+FyF2uHJQF0D2EuF2F2EfI+D2FuB2GeF6F2GuF8B2GmF8F2G+F8H2HOF+B2H+F+F4APIsEWFsH2EmF0H2F+GCH2FvIMGGF2B4AuGAB2HuGIB4B+GIF4AWGIH4QUB4C+GAH2GWMMBGF4D4nCF2FOGGF4DGGKD4EeGQF4EuGKF4E+GSB4AmGMD4D2GWB4BOGOF2CoCOAIAIICA"

Dim s As String
s = "gBFLBTJYCAEHhEJAABhABW4Hg6AABACAxWgKBADQKAAyDQKkEQGGQbRjhEAIGglg4JYjjKKxSgmHYDRTFMZwGA0EwcAAZBpEWR5JiuCQ1DAJMSjQAkRgZEacI7lCCZBjiJo/Q7KUqSVCoaxPGCZJDBWbJegMEoJRjIEIgFBLfyrEahZaoGiYDoaL4xVRGYLUZAZaxGQSEQwsQALBACVoDW7GVY3HT9NABJCTYjmeopphZBIHbTpWK7UpuR4xRSNYCyHgNGhtDyETQtOQqYoCKJCR5REIwbauKQGCDBIRxeD4JIWa5tXDcMR4Li9OQVQ4SbZiMIbLLbIoJILCJDaPS9YYrAYYRoGGJRTiwMw3RTnGBwTbYAZGAAeYRHfQaNhPiyFpyHYGZgAYNgpAmRZBCEIRNlcU4WACa5miAfIrj2kRrDibZgGeeBJA+S5LnQXYvBcW5OAKVxPHgUAxhGUh9hgN5hlkZxSDAKZlAIUIYCmJBfB4ZothkXYdgYbYwGytotGsWYQDgMQDB+EIQj4BB1GENoxEgWxDCCRQ1EaVpUFWTYHoWNQJAeIg0GkJYEAMCJdmwCRClCRAzS+EJiEADgTgecRNE6E4nG2d4JGEOQOBcSJeDgRhIg0UQ0nUDxFEMCQADSFoTgkRZegAUIYkAchCEEeRRj8axVhkOR1gYIZYEUO4DmWd4aFYSglgkahcEiYwETMGBQhGDhkhmGBJDEW4ahWV41BsAgmmkTgQHKZwwkodRCFwGZegcWpfFmNQ"
s = s + "DBQJ56C4bh+CgSJuGwWwSDiCoWAABAECQHIgCcFBWg4QhlhoQhbiuE4AFUaxOiMCoVAOGRpigRhDg6FIInQMwBmkAJBDECxDhqNZAhEEg0F4UhkCuF4ZngbAtAWLJMjSaoYGVNljDWcYbhGOZOggQJGHGSBlB4QphggbQcBEU4YFcQJECENpqEaXJwiECQehCFxFFIWoRDKQprjcG5Vj6fgvnADAHAKQJwEwFwGkGcIMCcCpCnCTA3A6Q5xAwRwSkScRMFcFpFnCRp5G6RovmQTp/kCbQ8gcIpInITIXCaSZygyJwqkqcpMjcLpLnMDJHDKTJzEyVw2k2cpcBMHJGhcDAQm8OAOAOP08E2fQXEaUZ0g0JxKlKdJNDcTpTnUDRHFKVJ1E0VxWlWdYNGcWpWnWTQXEOV50MEG5YnAHIEn+WZ2g2JxnledpNjcbpbncDZHHKXJ3QedpdneDZnHqL0d4mx3D9F+PADYfhqjBE+PkBwAxGhgB4CcCgfxPAHEOBkY4cReB/BKMgeQnBDgtGSPIfgrwYjNHmFwd4MxnjzE6AcHo0B6CdA+E0aIdQOgvCmNMeoXQ3hZGuPUPojwujZDsB0N4FxahwH2B4IYoR4B5GOH0b4+APAPbuPgTwLxGjiHgHoD4DRAAuA2F4Qo3h8D+Ee8YfQnhXvaHMJ4J4nxZj3ByA4Ro3g4i+GOMUeI/BPgvhQOUDgfhEiiHyGUfQBx3hrG8H8YY9A/CffaPsf4GQ/jVFCGgb4bxvC0G8Pse"
s = s + "UVxzACCAFgBoARvDDH2B0d49Q0i9GwAAfgRw9iPECBAJwCgghYBYMwMAVAGAZEgDgMwQAMAiH4OAXgIRCBQEcAkYIlxsgDC8GAAAfgBh9HgEAHASQFjhEIDEPgsBMBvF+OgKoAxwhkAEIYKA7onDXESA0EItAViFFgPoEQRAsCMH8JwNY6xDCwFCPcIYeAdgEBAJQI4igohOBUEQBAmB/jiD4DkQY8BdAqCKNhcI4haAbEKDEBQHQij4GaBkcIDAwiDEgHoFAxhEDdA2OAEgahGBwHECEY4CB2gdG+DwOQiRYiSBaMcRA/QPyfD0IsCIsgIBIATPYbwDBBCJGkBIFwSBEgdBGNkTgihHiRFsEgJIWQWDKFIJQOgjBZBeCcEkawRQTBiGYHUSY0hHBLGUAkDIKQShEEqJQaKDRlCZC6B8coXAtCSEkL4LQRw0hjBQKUVguRGjSG8E0ZYqQ+gXHKOQLYaBgiaDEEwLIjQYjmCIMkTIUwXBmCYNkToMxzCEGiJoKYTg1BNCyK0Go5hiDZE2FMNwZQaBpEEOMbQMBYAVHEL4ONcxjg5DOEQc4nQpiaDsE4TI2wdDnDoPETwExnB3GeFkcoPRTikHuJ8KY5g/BPESP0Hw5x+D9FABQBwgQoBaAGEEdAJQECgGoCYOQzR0CSH+CEHgYhHhyDUGEIIBwBhFHQMUDIowqBuEcFEbQPQjjcAKA4DwEQVAgGiEkYIRRUgFBSKUKgrhLBSG0F0JY2xSgiFIJELwRRlDBHAN"
s = s + "cNIxQcinCoO4TwUxtB9CeOoAoP4BA2wQFoRoUR1BFCSKkKoLRWhUB0G8KYKhChRFUFUJ2aQrWxwQL8VYUB9CZCiAgS4RBSAdBsGgZgYhZBWC0M0LI6wihpFaFUVwttAC7AEOgRgaxWBNAsLYa4Wh2hdHWMUPIrwqjtEONYfANQuClEqm4WgMhCsuAqGEdgJRECwGsCYYwWBdgdDEKwQojRZA2B8MkKACh+hcDGJwUIgApiGGUdsE4Zx2CtE8LQGwghohaC2EkNNQRUieEsF4V42AEBbDOC0IophahWGMNoLIIgbhsHOCoNwtwJjRD8C8TYTQ2jnHaMAWA9hZCSGyKoFQNx2jdFqLYK4LhyhPHEBMNwSAOjJYKDIO4XB9ANDqK0UowhdAWH0MgLgSg0gkHYBUZAuhLiOHMNwTYZw7AuGKOYXglgTD0G4BsUbkguijF2NUQQmhsAaE+HgV4LR1i/CuOYOwXhFjeBWO4ao+xehWA8PYbg6x/iAHgA0T4vg7C6GaNcJQ+aNiDAMCEHARwFBEGgAAYYcBOhpByGwLYBRsiZAyFgeArgQiuGIG0bgkQeBFC6O0dwGRWLAECOIYwIxDhoE6MYUg9Q/CtFkMICYHRYhMCwGbvolQxjGC+IwFYDR7CqGyA4UYEBLCNEi9wJAyBMgvBMDUNQsQlApEMFHZITwVBlC4KsSALxWivDQK4MYKwyjWHcOweYAxajMCcNMGQZgODLEwPMGYcxmXGBYF4BQRwACzC8GgZwWRPg6D"
s = s + "OBwdYnB5i2DyM8DI7wdjnG4PUT4qA+BbFMHcaI3RehbgKhPgZh/BEhogNAXggA0BugKhRhaAzBHhpAtAihkBcBThKg7hrBNheA7B9A3gnA0hur3B6gDBQhqAtBHgpA1AugmhUh6gjBUhqgtBXgoB0g9h0BgAsh8BwBqhNBngtA1gug2hWh6hjBctKh3gqg1gLg5AthsATBeBsAtgHgxA2AuhGhYh7AjBRg2AjBUA/hbAqhTBtANg3BkhtAtgng1A2guhWtEhFgzhDK8g/BYAjBmhah7gDBwhuAtsJgbBThthXhshtB+gxhMAHg7AwAWhug/gbg3B4Buh9hjBtgbAehchbl8CAg=="

Dim s As String
s = "gBFLBTJYCAEHhEJAABhABU4Yg6AABACAxWgKBADQKAAyDQKkEQGGQbRjhEAIGglg4JYjjKKxSgmHYDRTFMZwGA0EwcAAZBpEWR5JiuCQ1DAJMSjMAkRxtGyPZQhGQZXgOJ4sSpQAigFBIYhtE6YJikMDZbj2OoPUzAdCQG78EyrDahKCqMAKGoiMZbRKDVQgARMRj3BIFLDrOpwAqyE5ZR5QMrzDT0XQ2BixQgkMTYJriIJOTZcEL3FAdEwqGgCcAhEC4JIWCQ9QiddhyFIcfyKGIcYpGGqxRDSFQyZRAd5XfDZCQTDKBShtKptMpicZ2ShKWaQbadBxGCKxSShHRoDKOCRParV36sCzHMJJXTJcRgfYYLZ3BIjIRKCw8KhNi+IRhm6OgQAWJh7iMABTCAYx8h0Oo3kWFpdGsYwhhSVg3mGChImSMA9kQDBFkGNpwm2fR/l4FppjUcoWgUOAXgAUAwmGZBPFWNhpFsDJZhQeYcAwGIUG2Xx2kOJAlGIQJEkeXRsFuHRmA2MB6B+eIFBsdxfAQbAhoMAJVlQdRAAeHQqHYWxVgGCxIkQCB0AAHISngHQ3EmWYkhwLQMkMNh9moewSDgXglAABRUCWcgATiJgGGkAAFi2eYNiICB5kmCIkHQDQXGMJQJCUAwGlCEYBAkDYijcVguHGVZ1BYEBtlYOR4AADhmK6SIGiUNJ5nwcYehQehEEaYwknUOROF2NJaEsSZDBCRA3EyUw2HAMR2l6dBVm0AAkjAZQJAeJh"
s = s + "WCqBIhiiCYOgqHxAAkGQVHAEhECQbRCEGWhVgCGZZkCYZaGUVg4hISwHCoShWBwa4lGaPYcFGYwUgwFBYmMWoFAODggFqGROioFBamGfRtieRYOiWL4AAqhYTmWFQ5DwQJDAQVAwiPaRBDGNgtiCFQ2AIFgwj4Sh0BCF5aFCCwilmXhVgoX5rB4ABUhYN5ShAQhXkQDoUjmbQlg6VRCG0eYqGlmgbEEGhFl0WZ+kITxmHkXpuEiWoJB4JIykABppAMbwuguJhQIge54P4bYYD4DxNiENAlFuNAcmQDBLiyJxQAMGZAC2XBzBiRoymwehqE2LwkFYGYwFAMZ5KKMoHAqNBXAMAJKD4DQDASMAzA4Mo9AEMZLiidBU2uDhJB0FZDlCHBIACRQxFiahcAABoRgwcQbeyUBlAuBghjQcBFEkbIcAAEIEl2JQbhkEAwiECQWGcJQ0BgRoGA2KxZFWO8TI9h9D8DgBsfI/gbCMHGDAbgMhGACHQJwEoCBgioC4CQOI3BDgfGQPITgnwWjJDmBwV4MxljzC4O8HIzx5h9AeD0aIdAOgfCaNIeoHQThVGQIcAImBKjHgoJgLgJQ6iiGgJAEQDQxgAFoDoBoownD9G+PAHwBwCifDwD4F4hhbQPHALQG4jIliqBEAcUYGBSAlAcF0aA/gbiNBIEAeAOQIiDHAOwIwDxRi/GADsSIox4DxHkPwf4Nxoj1H6F8N40x7j9E+Icbo+B/CfE+O0fIfwPivHmPsf4Xx3j4H+N8b"
s = s + "AeA+BiBqPAXooBzAgCGIANYDgwiIBcD0EAlAKkGBwAgQAzAKiGBgK4CYgxMBtAaG8BQDgeBjC0PEbgEA9gNHCKwG4BRoCuBAOAZAmQIgiAYugYILAXAFCgKUDAYhuBYEYLEPgLgjBwGCBcUYPAwiLHQHiLYgBiCIAiAoEAxAcCNAiGIIgRBEhRA8CUYgmBMgTHEHQKIiRYhOBQEUJApQKhiGIFcRYUQtAhCGMEP4FxDBgneIMDgXQFhhDwCsYoUBXAUBEGwJoiBogQBAKAZAZQFCBBiNoAYMBiS3DgG8BoTh9APCONQG4Bwjj4DkIMII+RhAIHiAADwhQkCbAkKMAAWQFDRE8DAQo6BsAZpMG6gAmAcAGFQNADgYwuBpAcEEWANQDggGyJQCQiA5CNFCKsFIZQeCmEqBIVwVQlDZCmCscoZBYCVGkMYLQSwchtBYKUYgtRLgycEEsbIeQXjlG4KkDQw5hiNDiMoGwxhaCltKIgNYjQYi8BoMYOA1gMhjA4GIRYoQ1AqGIPATAgBgiIBQAQVAJgFTYDOJAB4AgfgIBAPgDwBBMCDAeNAWgSwGAhDUCsYwoBjgYCkFQMwDgQisBoGQbA0hPgjEYGwBoOQeg/FIPwUIlAxhSC+EwDQCwgjmAKAgUA1ATCGCgLoDoQhSj0tMKMTAbgGhxGcDcAwxZ4AjDoGwKIQRYg/AMKAbQGRxgsDGEYKISASiEEQHYBgwRAAmAGLAMwGxuBEHGHAB4GAhCHHAPoFAhBQCOAuC"
s = s + "IVgUwkDxD1hYQAyxPDTHEE4J4uqNhnHYP8SY1AHCBCiAoDYUxUB9CeKoKoRsyAKE6EQQwvQKCiGoGIRoDg9A5CuIYZoYBRjDEUE8RoQRJAxAKJAUoFJcYhE4A8IIrQYBMCjUcQ4QBwAbEKHAT4EwpAwCsM8CIhAbjmEKEMVA0x1CjGwEkeoUg2BFCYJQSoThVhYGWB0KobA+iNFkBIdy5xVC7CuCofA3RWA2DULAKwARkA2EMLCsoowSBbCGBFXAqw4A7AMK4eQcQjjXAGE4YoKBjAXAEMwNQjBAiHDAAYOoghYC2AcN4LAigAhTBaPUJQuAbgOEAFwLYhQ4iuBKMcXIVwTDmC4IsToch3B9GaLoC4Th0hbHSFkMoaBWiXFGHQNwzRujbB2GYUzDBaBDBIFoBQcQiAeA0OsSU0BaieB4FIbQKhCgQE8BmrgXcJiWBiG0YouhYDWHkN0agixIhwBcI4AIuhMAKHUOAJgDRADwCMAUYIOAPDiC6HkRIVuMhcFmBcOQ7xujrByGYVg+BrCsQ4FQJAoBpAWCEJCnQ4QlByAePEUwMWajZ5sCIfgzw9j5D8O8do+xcB4AGAUcYXAKiNHgGYHIxhsDrpOAwDoRB4CNAyMIPAVwRBhD2LsLIKwYC9yKEAIAhxYClAIEMWAcAqBnHAFU3QQAbApBAN4DQQwbD9DEPwXobh4idAEMcPIjwPcEDyJkeYJg0C6R4OwKovBCh2HkC4CwzgqB4DaI0AImQtBFAAG8BY4QyAzE"
s = s + "KKAVAcBDU4AwFgVYFgmgMF+IwGgRRei/HyIsGYZhOgOuLhDA1BpArgPgPhwgGBugrg2BnA5BnAcAqA4hGhIhVAZBCh8D4hAh2AUABhqBPAqg1AOhcAOAZAzghh1BuBghRBygLBHhpA9Ajgsg1gug0hAg6BWhLBhAshhgRg0heg9gzBZhTA7ALARBKAnhzhQBZgbhgLkBPhBgngXBxgOg2hWB7BDBnhtAtBvg0BzBchChBh6hrA3hVhsApgvh0hWhdhTgjBUBmAMABB4AkBnAwBXB6AbAmBTBsg9gbgiA2gehVhdh7g7B4htBMAXguByAOgYhbgbB7B8hWANhBg4g3AmuFgbAqB+huhLAHg8qiBzhgh8AbgEhjhshZg2A3g2BDhbg6h7A5BvhNhHg5BDhmhnAyADgkBvgNg6A1A/h0A/AFhjh8AjgQBwgtAjg9B0g/APhfBcBDAjBxA9h9hFg3BHAZhjB0BjgOhjAZhzhIg5gvAhhmh8gPgchrAuAjB4hFAQgVARhxhJAMhyh+A5A/B4h3A4hmhchrgjh0gugTgOB5hlgjhnhdACA5gAAOgHhMB6AvAzgTgdQYh0g+g1hTA4AvBOAZA9BDggh1A+A1hRAGgfBGhrg9Bvg0h2gOhXhXg5BIhZhng8h/gxB1BGghhVg0BPBYhtBdBzg8h3gOh3gkg6h/BhhqBdhPgZB3BpA7hfA7hXBshwg+AjADOxBjhgA7NXBshdBfhCB4B/Anhhg8gvgJgfh+AvnjAvAdhdA"
s = s + "8gHgDhyheBThLyGAnhmB7gXgchwBYg/hQB6gvBHhqh4BPglhxg8hDjaB/BbhtA9Bng2hvg9g7g4B5guhHhsB9BGhOh2h+hXhQh8Athdhrh8hfg9husxBgB8gvgHhyhzBPhFh3gdgXhZzQAnhzA+guALh5h+AHhkB7h/gtyOgPheg4gfBjhTh9gthbh3B/Avhch8h3AfhwpJA9hyB/BHhmzdg4BppEgjhkB/gHvCh+hfh5h4h9APBkg/htgRB/h1gTB/hoABlGgCmqguB/gngyB5AYAGgAA4AMgAg4AOgABIAQgAhYARBKgIAIB7hmgIgAh4ASqfgYgBg4ATsZgagAB3g5B0h3gMB8Bnh0B4A4AcgBh4AogCB4AqgBhoArBLgIAVB+A1orBYAytAg0gCgYA1gBgIAvB+oxADA4A2gDhYA8gDh4A3BQhYA5B/hIBBgDhoBFgEAIBGgEgVAKgEA4Uph4BOgEgoBPgEgIAtgEhIAmgFAYBWgFAIBYgFAoAegFBGAvgFgoBZgFJUAGAUhAB9gAhgANhHAcBKAkh5AIhgBKABhIBqgGhIBrgGhYBwgGh4BygGhoB0gHAYB1gHA4B2gHgYB4gHg4B3gHhYB6rsh8u7gCiK0uAIgGgIA4gH0zAIgIg4gKgHhFBgBSAghLAKBwgZAJBABnAFBxhTSEgngGgEgcAHAgA9CNASAEhgAiAJAYgggJh4ghgKA4gggKAoglgKgYgkgKgIgogKg4gmACAojXgYgvgLAogwgLA4g"
s = s + "2gLBYg4k3A6gLB4g7gLgYg8gLh4g+khg9gMA4hAgMBIhCgKB4gvgKhIhJgMgIgqgMhInB1uAIh1AjgJAggUBh1egOgYBlgGBwhUBPgQBfMQgVAIBQBKACAggWAFAgAnAJBgBUgOBYhkgOA4hogOx8WXBngOhYhwgOh4hygOhoh0gPAYh1gPA4h2gPgYh4gPg4h3gPhYh6gPhoxyB5ACgQAZAEgQAJAGgQO7AQBYhqgQg4hpxFhvgQhohrgNAogRgJA4gVgJB4gZgNg0gcAGAwA4CNAJVkgnAJgwBZACg5AgACgwgcgSAZAlgSBJAmgSgZAogSg5AngShZAqgShpAsgSh5AygTAZA0gTAJA2gTA5A3gTBZA4gTg5A6gThZA5gTh5A8gUAJA0W9hX3DhFgSA5AwgUBJArgUgpAn3ahOgSgpASgNBIhWAAAIgYB7hYgaANAgBngJhQgQWUArAKAgBdAChpBegWAABdADA5BhgWBZBfgWBpBigWgZBogWg5BngWhZBqgWhpBsgWh5BygXAZB0gXAJB2gXOwgXBZB4gXg5B6gXhZB532BkgWA5B1ADAwghgYApgAgVhpgBkZgzgVAYgTgVA4hYgGBnAxl5hrAEAAVlhQW+hggoAGBQA1AKgZganOg4gZgQA1gaAJgigZgpgjgaAZgkgaB5gm4Wglgag5gogahJgqgahZgwgah5gygahpg0gbAZgIgbB5BfALAAB4AFAAg9AIsRAMggjvAAhUALAwgfANgwhBAKhgh"
s = s + "eAMBgg3ANhghFALBQhXALgggmYrB3AFAJ3jhZgJ4Zg4gYgZg6gbhJg+gcAJhCgcBJhGgcgJhKgchJhOgdAJhSgdBJBjgdBpBhgZhphs4oAegYhIgUgJBnBTgNgZgRgRgAhSAHAABCACBwgci5gvAGkQAfhQA9YrBqggAZh+ALAKAFggB6AEgggaAGgggqAIggoZAghaAQgghKASggh6ATghAaAUghB6AWghgQA9nO4VBZgTALAgB1AEhAg8WRKggQgAAGBQgGAGVZAGBzg0AFBAA4ACBwBjAE1igIBgByZ2g3AKBQgaAOBEgPAMBwgbAHhqAeAEAJgg5lgcgjh6AggiAqAkgiBqAogigqAsADgKAugjAKAygjDngjgKA6AMAqA8gjhpgTgkAaADggAph/gfhqAAgghqADgfAJAVgfA5gQA1LDN8BIXAghYUQiBph4gmhABCALBgBygmh6BxgnAKBygnBaB0gnB6BzgngaB2gngqB4gng6B+gnhagAgnhKgCgnh6gDgoAagE6sBaALAQBtAEAArzggBIAJhgBrZ9h3VksdBABQADgAgDLlg9AIAwBVADhQB0AEhAA1AGAABAACnWsQ2VBAB/K5haAMAwg2DmgfAIAaOGhKgJgog6gNgoh6gRgpA6gVgpB64bA6gdgph6ghgqA6glgqB6gpgqg6gtgqh6gxgnhKBtgmhaB6gmAJhygVBYhaWOh4AEhJz7mtALhAbAgAg9gtBwg9AHBqhY7hBegthahggtgahhg"
s = s + "th6higuBahkguB6hjgugahmgugqhogug6huguhahwguAAgw1zrFgQgvViBKAKBQBwAEhggtN8BUALhQB/MABIAIBwBfgwAwcMImAKa7bIh6WUA7AFBQA7ZYATAHhABwAOAwhGY5BBgwBKhigvAwBAgvBZpOgKh6gvhKh+10ZahrAIgwgrAMgwhrAQgxArAUgxBrAYgxgqhagt8YgtBqhp6eBTAOBwheANgqhPBJhAZhhAAzAKgga7hAhBcUBOAMArERA7BEg0BgBMg0grBMAHhLBLg0hrBNg0h7BSg1AbBUg1ALBWg1A7BXg1BbBYg1g7Bag1hbBZg1h7BbAKAABma8ArZWhKAMhQgOMXhQAIhwBnYzAXAGhghnAJhwB0AOhAgiAHBwhsAKAwB3g3AQB1ANgQgWFSg0AHhQBaAHhwBZAEAKgaXAg1aHlUgQgyAJgLBKg2ArBkg2BrBoMXqX51gOBgg2aHhuALhAgeAOhwgxAIhLgcdwgZAJhwhkALBggZAMAAgRAHBLgCg4BAA9g4Br1WgrgMg0B7BJg7AbBFg7AABOgshB8rhmBGBQU+7wBSAKa/AEGaddnDBwlEArhEg8BrhFg8B7hKg8gbhM17BOg8g7hPg8hbhQg9A7hSg9BbhRg9B7hUg9gLhWw+dPdebDBGAIgQBjdvApAHhQ9XhwB8AO4Teehxcxh/APAQgrg+h7hxg/AAB/AOi6AHhghdW9h0AKuog8g1AtAIggBuMABcALBAgZ+Mheg+ALhig+B"
s = s + "ATxgghCAKBAgIAFgQA7hAhwA7APBQhEAKBsAUe9gShBAghnALgQgeg/hLh+ADg8AAhAAsAET9gBg9grhRY9BwAGgmAgCFhqAOAQm3hpBXcLBlcGAeAGBwBCAMAgB/AFVaAIBABVhDg8A9hDhMA+hEAcBAhEA8A/hEBcBChEBsBEhEB8BKhEgcBMhEgMBO+KhPhEhce8hwbphgHfgAgrUFB0ALgAgTe8A/AJhgh3T9gshGekhGBMBmAMgMBlhGAghwfBgXDmgUA9hMLzgjhPYzAuAJAcA+hFBcBXhFgcBbhAEWuF+jBCWUGOBCkAAd0e2GujVw3gimHGjjw60OYFSiHClUOmQ8ClCoAktnAsyiIEiNn0CyIkg4ayCKlalEmgRgDzA0gkYGAB1CfSkwUwEFAq0qOSulSyWUq+S6lhyW0seTClkyZUsuTilnydUs2Tylxye0ueT6llA0gQgCsHkCj0YYUUFHC8g0ITikCynUgOBAHnCmAsIV0FFCBAooHsDAA5gUoEIGxCSAgeSymDyi0w4XemRC7AuoRkHwCmgsQW0GBCT0gQXgznypNU5gswQ+mlyr02OVum1yv0wOTIGmDl1kJAqQR0E8gDFAugAAUoGDCgxi6UQGmalgqwRcESCBMkcAsdCEGSqOU+2T+o10OVG+UCpB0PVIWiCo1ySgEOEvGkFJpykBcQTyBsASJJk+AjJoGhmAcYTwBoARuBwoRiBE4RqBEYDkBIgDgAsISqBMIDlJUmhPKUOhWBoYR3K"
s = s + "Y4RuYMoSZLoaV9JcqShI4FQaHUpyaH0qAaIUqCaEoGxhGwEzqMAvBoFoEjgPAcCAAAkzhKQHRhMQGzOMoGRBHIFgAOgCTAGoEz4GwGB4HMpC6PEpCaPUpB6Pkrw6Pslx1ESABoBMgQWB8QS8BkgT0k0jgfGEsgYIFeThH6iCsBc2wkBcwV5MEeyyEEegfCFqQhNIFwXBiKD8aoBgMGEngRIAvyoMAgIAm0oQYB4wS0BkAT2BwNjWY8iSCFsKyyLkBSyLsPy0DsRy0LsTy1DkZSHNkWAZMEFALKEwiGMwHgaGsbAUMEMASGEMARMEEnUecoRmB0gTIBwATRGcNx0TgIgPAAzyHIB5y3HkoxaP8vD6P0vQ6PcvRbM4DTAIwBTBAADQgLSiDOBsWxmXo9AaOEgKlJ4FhhPIGRhFsvzhFipSVMAfABzEXAeEFdjBKhzAgaQCgMAEjAQCAqSVJs3S+AA1S+Hs6gfIEzIKPgHBhKakC6mXJRhHUxChHKkC0BgoT2k0jdhHcwRct43AhMIXApVwIyVIErLqA4szLEAGTIHo6gBCS8AWCowTcBwwTHIUoS7KE7SWBcgRUBQADWAkABmlYxAIAEek7JwGR5FUyxYHslRBJIEBAKkyz8MMzAcMUzC8MkzD8MczQ8M0zRcNEzBcLkzT8Lczg8Lszh8OEzicOUzi8PEzj8OQFiXHgChAGoBBBEwEihBSkDa1iwzhLKkC+BkmwYBgQT2Bo+wzLMHQfLImwwohtTBIxzzwBVEY"
s = s + "CQAh/CkNwXIzxACZGeN0AI0AugJGgN0CI0QugYA2D0Do0gNg1GkHuDY3QYjTC6DkaY3QgiHE4MQDAtxFAYGCAoBaiX2hkG+GkHwGQkBuHUAcRAHxwjIA2OEXYuwAjDF2GEWrjxSASY0A4OoHQWAZEMBgCwiRCCcGmHgS4hgIAdF2NsfouRuA9F6NwLriA+jNG4L0X4zQ+jVGaL0bIzROjdG6H0b4zQMB8AkLUIgCwgCEAMGF7w4QMKIG8BwcI+AOihGI1ODIgVhjBFYpAZIxAQjHF+BwI4nQAgCSsM4BAwQsANHAJEQ43BuiHE6OgBAHR2jfA6PUb4nR+jgA8AUcAngGjhA8BUcIgRKjhG8CEcQXgUiHGuI8bYABQAXBqKJbwTAIisBVEAVQGgUBmZWGBdQRRsDhC0BVygHRwjQA4LoagG1yjZDCKJ9odAHhAGAAoAA7wzjBCUA2QAFxQD0AS/sB44BQAYEAPwBI3hajrE8LcdYvhgjrH8MUdY3hkjsB8MsdgfhdjcE8NUbg/hrjdA8Nsdo/hsjbGC6sMAqAMBgH4AoAIJgFjgD2IoYARAHiAGkuEMgFBAg0iAKRMo8EvjCX0Jx9obgKUyAiMAcgCxcDwAmGAZQCAPDsAU7MbYnhzjuF8O8d4Ph7AGD8Psd4/wBjwD+AseA/wJjxD+BseI/wRjyD+CseQ/BiAXEqKICwFQOGkBAA4P4FAMTVMqJ8bAiQNATBCCoCQfRHAqECM4DgQRfjIHCMYco+QfIxEEYY"
s = s + "KTFhUFuTUEALgExvgqAuAAdgCQgiEAeL4Z47BAiLHaB8Xo+w/PEB+L8fgXxgj8D+8QX40Q8DhEaNweo7gEgXD8AUPoSR3ieHyNRFg6hQBnHsEASI/Q+i/H+F4aY1w/jYAgAMSIIBrBEAqJQQwogRBwGcBMBYgxECMAGNEHI6gKCwECDESABQDA8DEC4KAUwNCICWBQEInRYDCC2DkbYrRMg7DKMwbYaxagZBYFYCQ5Q2AAAAD8cwsw8jEHCDgTYTReAdCcHcNYlRiDoDeDYTgrRLCjEaK4aQYAWAVAMPIXIIBnBCAqKMRYQxChZFoIgXQOxJCYAOKIMYBB7BMDCB524ExyiUHwE5l4LRrDbD6MocYdBcBdFcHcPYrRxD3D0L4bwbx7jMAKPsAYhBgjhFgFcBYTRLDPDGLELIFxTiCCkNgdASAqAaGQEkPAghSgGDUGoGAFhJCtAaBoLA1w0qSDSDQPQPg6g2E0OsOo7x7BDAqIoeIdRdAdEcEcBoFhHhJFKLQbI7AC1WG4GIFgjgCDnBkEAXIJAuAcBSOMdYUxIgZDsHYEgLx2A9DkFcM4tg9DtzeJ0d4DxBjHG+PIfAvBvBPB+KsaY7B6B7F6H4f4bxhjnGyF8MgehCCOESBkLQbgRAoCMGEAAkQrAIECGgHoKxEgRHwNsGQzAbCFBQG4bYsxMDcBsAsYQ4QaBs0iF0WAbRHB2GoOgKAlAigYHKDYRoUxIDYBoNQWYSBaApoALQK4EhChAHACIKoAg4j8Cg"
s = s + "AwZA9QwiZAcMkSgQgeAPDGOkAQPRIH0AcEESIJA8gaCSJEMguQRBMEkKQbIQgniUFIOkKQURKhjGAOxyQwxcDgISEUIA1A8ATAEOEcAUAGhJFiPgNoMRFgil2EoKgZQKDbB0E0eYbB0CdAcEMPGHAJiZHiK4T4YRJj8HWFAB4IxYDpB2I4MYjB0g4AaMgIg1wcgbGwJoFAMBFgyFgIgDoxhYiMCYBADgoA4BMAYMEYgKhQCnHUBoSQoxUiqBUKIUoqg1B6FUK0VYKh9CuFiKv7AwhZ/XC0OIWgqgIDhDoEABYhwQhUCICIY4MRGCrBKEgSYNBehoAkIYRA2hOinAqAsDqA4BNDbBIDdA5BOADB2B7C2CaD6ACDbA/DMCTAYDFChAOCjDADpA5CbCDCCBzA2DoDYCKAkA2AUClAmAlA0DuDbDSAjC9BNBbDeD5C9CvC7DiD8C+CvDcACD/DACvDsATABDBBwA8AbAJDCAwC8AfAFCjBOB4BLAQA2AOBzB4DZBuDufPDUA4CNDzCsDjA4AOCsBsDFAwALD7B7AlDJCnD5DwCcBPAuBjCODjA7DuBlAIDhC1BnBjBrAUBKBxATB3ATDOBSB8DrA9DPAzD8DvBBDPC0AtADBDDRC0BdAjBEDSC0B9AvBJDTA0D9A7BRDTB1A8D3A0DGAtATCIDdDHBND2DgDhCHDODaAgDjA3CNDCBsCZAmAyB8CaDdDaCyCCC8CtArAOCDCQDiA8CODTCsDxA6COCDC8DogIDjC"
s = s + "cDkixDDCUd9A4AuAHCDDhC4BeAjCEDiC4B+AvCJhgD+A7CRDjB5A+BDCUDkC5BeBjCXDmC5BuBzCDDYAOAqAcDjChDOBNDkDlDeBOBsC8DmA5ANDzB4TVCKCtCjBrCGAyCODHC0BsALCSDgC4T6EIDLAyBuA/WvA6hLAPDCDxA8VyDJDxB8C/AjDMDyC8DfBDDPD0C8DvBTDRD1B9A/BbDZD2A8BjC0DqA6iCA4DKAyAhAjBdAzCFC7BvCjC1AAAQAQEBA=="

Dim s as String
s = "gBFLBTJYCAEHhEJAABhABNQHg6AABACAxWgKBADQKAAyDQKkEQGGQbRjhGIwABOFIXRKMUIxVAcDABDyMg7QTBwABkGoSZJkeSYJDUMAlR4NYCSDKkLw5EyEY6kCKJFiqKI+TBCIzyLJ1AwuBqcZpAADoJAuSYDAJCL71FLkNx/KyjAAGahJPpGF5MRzCJYRQZUEghJ4AK6ACo4DqyFJAXBLMr1n5cDJoAbGBTQTbMLw9Ny3J5hEYRRDiHgyWoMIyRdhcMTvMKBQQjAJoJhbEIUYBVMBjIKobw8GDEcZzOyoTw+H4JErGBZxXZEJ4zC64YbqeA6FrSJalWgEMYDBpmL5dKjYKw2EAKFh4NQFUpyMzzPLVFYFWS6ZKlDhrUh3AOM5viEIp9mgAJDGiNRrm2fAqkcUpkCWUhCHcWRyk8agSguBJ3jKfgOAeC4hkOWp5jafIYkcLpRlYfRAAcDQrGgXRUGADxeB6VAMDkfAaleURuESYAkiIBB5h6BAOAcZZahQDZbECR5YDGcoDhmJxJlESpbGeZgGG4YIQAAQ4HhodBdmGBAeDcQZlG0Ep3nwCh+lCdxxk0TRcniCZ3FcUYwkkMxFmMdxlhEdwCkcfggHAXxokWRIQBANgpkgdhIAAAhFgsURAgGXAUiCVY1nSDAklmBhPHQX4JBIXQACEcAABIQhBnmHgvEkJJki4M4YmEUABE6DgflYXZ/hgIAZkWM4dCQGQNBSHZlgeMQDF8QABmUCYWiQZYuF+HAmCiEg"
s = s + "UGCQxJE6AxaCgYFYnuEIRE4SoXioCAChKGImFmDZ6ECaBEHqGR2AAB49AMCQmmoPQDgQZhFk4Jhlk+epmFgR4pGAdQJBUEIQjYOBNCsRZRGoDIkCQYh1EgZ4ZGGSRImsOZ5mcYJDgsGQYAUFoBBUCY0AAAZdAkDgmHcJo0GIbRaE0FxahGaxylyOAQDuMpOFKI4wAAMBnmgIJEDAS5vFuXAlEgQIViAKY2lCFoum2OBcmsSpkjWLh1iKFo3AGKx/AQX4WguTQJAwL4bmGA4+hIFhJhcBZwAQDAoVsTA+kRdAmgmRBKgMMJd8MahwAIVRlm7lIZiKcgkgUJRhAOFB5AUQhDEyLh7gIEA7HMMxAkGbJWkoSxZmQJA2jkM5tB2F5GhJlI6kOKJUgacdJDwUwXkWJQcGIIY6HGUACj4QJvj0VpwFoNQBigYQdgYEI4GIGxHAQeJmgKQABAgTZclEOEWQExHigDEPYPApBBgIFCGEXQWA1CRBwDIRgfAfgTGIHELgbwMjHHiHwR4FAzgTCIOcFIyw5C8F+DUZg8xODHB6M0eY/B3hBGiPQLoLwhjTHoJ0I7Cx6idPKNUOwHQ3hjGuPUHgdwSjIDsN0Z4cRiBUA6NcN43x7jcCuAscI+BPPNHGPkDwTxKjlFAH4B4dxwB5H6PcTY6B9CeEOK0c4eh/CvFiO0fYXh3izHePsT4BxejwH4J8D4zR4h9A8J8aI8h+h/B+Nke4/RviPG2PkfwHxTjlH0P4X4VxYhcH+J8d"
s = s + "4/B/ukACIAKADgBBACwA0AI4AiAJECFAFwBggDYA6AMb4Cx9B6FgD4BQQQsAtAKOAYgGRBhQDcAUYIEAAD4DAOQEIhAoCOAkEILATZXj0BAIQeArgLBCGwF1yIDAUh7GgMIDQQwsBtAaOAQY3hBBPC0BwIY2A+gPHCOwGQex4gCBEEQLAjQEDiAmPsRA8QXAmCINgCoEgwCcCcIoKITgVAPHwKEB4IhWBZEWFEAQKxcg3BUOJIIYRGBQGiN8HIdxCgHG4IEBIjBnAiBiMYbA3QEhdfUIsdw8gaA5AwOQE4IwCBvEeFEdwCxjgSAOBoYYHAdiOHiOYHwSAsgNAEGMeAABIASAUD8Y4MBjghHIIQSIgApAmCKMcLAzwRCkDoJISYUg3BKCQOkDIJgRjEDYJMOQjghjJGyEMEAZBaB0EoBICQUglDYG+CkUYPBYCUCkLoLQRgchlBUCUXgtRLhREMFsZI+QASXF4MEPw0wHBgCYEkQoMQzBEGOHkeQDgdBLEiJ4GYhx+DPE0DMIQaQmhZFSDUcwnBsiaGmGoNgTRci9BuGcAg3BOBTD8HEZwGRkg5HODQdInBZiuDoE4ZI1QdhnEIO8TwUwnBeGUJkKIKhxhkHiJ0aY7g+hPGyOcH4pxyD/FAFQAwggoAKAaEAdAPB6iZGoCIQwUAtAbCCOgOoERRAUCcIcaIWgSg8FQFQNIkRZCeEWNEbQKQjioFqB8UgVF0hSAUB0IwYxakkAoI4SYTxUAdCWCYbgGxTAUBsB"
s = s + "eiYUQSjkAKC0UgsxQCEF8McfYTB0jsGUJEd48hMjQA0IMGIogOhEE6DQbwVQpiaEWFMYwdQjiSHIF4KwVAEB3BEEkUoVRTh0AUKkJQpxMgdDSP0JYowpjiC4FYHQnQrDpGoNwVA9RDBpGsLoSoThVDrEiK0SYWhbgrE0KEHYqwugfFSFUawdwqDJHeFkdYTQoCvEqNEeoVwdBJCiOsRohhYB1FEHga4mRXhWFMOQVgVwrAWFuM0fQ/QZgkD6HcVQ1RBAYFyAsBoSAVitESK8OwUhdhYGSOUMYrQJj9DuNUWw0grjaGaCcU4tRMCwBsJoawTwzj3DAK0NgzxaguG0M8bIqRX7jFYCAWAlg5DSGcFsF+fRmi0FmG8CQbBgC6DyG4No/QrizGsFYcoTgFiBDgO0Lo1BYh3A0NcZQeQfhvBaPUWYoRqjGHYNwLIvwvggAaOQSwcxEj/G2IoYIZRRCNHMKoG4Qh3BSE2GMNong+jiF4DMfQ9QnhyFKGMNwkx5h/HsPIdUWQFg1E8JQHYrAbhuHwD0fgAw8AuFaPoVYmADDeGcJoX4gQRC1GmL4LAGh70sHaFoWAVRdC+EwDUdgYB9g9D8PARozxHC2FOAkJwWx9hkBYN0FYugSivAqGIBYiQ167HwHcfAtwKBXEWEkRYMR2iTrcjMMAehbiGpuCWtwQwPBiE4CwMwLhjAnF0LgX4DQwgsFSFIGIhBwCLFuOcDw5RtAZD+PIOozBbjVD6GEaAHBbiOHkPYJozQsinB"
s = s + "sGQdgzQHCyC8FIZoeRdg2HODwdonQ4BGDgKcbI4wdAzhuB3hPhYghh2BiBsgxBQgmBOgEhQh6AbBEkaIcB0AchFB2BaBBhaBpAnBnglA0gOgVhSB6BbBMhpgNA3glh0gmgKB6haA5h5BmBNGMg1AugmhUhvArBPhkgtBVgjA1BmgIhVg6hDBXhrAtBdBWAwhOgzhWA6hTBcBrgtBvgvA1hLg/BUAEAECAg=="

Dim s as String
s = "gBFLBTJYCAEHhEJAABhABBALg6AABACAxWgKBADQKAAyDQKkEQGGQbRjhGIwABOFIXRKMUIxVAcDABDyMg7QTBwABkGoSZJkeSYJDUMAlR4NYCSDKkLw5EyEY6kCKJFiqKI+TBCIzyLJ1AwuBqcZpAADoJAuSYDAJCL71FLkNx/KyjAAGahJPpGF5MRzCJYRQZUEghJ4AK6ACo4DqyFJAXBLMr1n5cDJoAbGBTQTbMLw9Ny3J5hEYRRDiHgyWoMIyRdhcMTvMKBQQjAJoJhbEJpVRbNSwGKgahvDwYMRxXLLKhPD4fQiScYFXDdUTVQDNZKqeD9TACRZ0STpVoBDDAYZbS7XcxteqLRgORYeDSBNJcXK8bx1JTBNouXYqZBrHSHZAmyeR4hiPx+AAMJrjgVpoh8F4pkiOhpGEO5MjkZgTl2AYimEPgOAeCxjCucptm4XQ+FyB4bGgdgcDQDZlEqWgnF0GADleB45AkDhfCeBYagOYAXFEQIBF+J4lAOAgZHaKQDHuQABnYDR9CEB4NCQcQiEcGRzH6G4UCYGBqBAN4sACBwEDgfgsGYIgXlmNRKl4d5qAAAofkQPZeHOUxXEYEoJFsZR1BsDITDQXg8HaUIWEoPhAkKSA5GscIeEkEZ3gUWAwlGSoTAgAACEuDJRDCAZeBSJQmkEF4AlsV5mCYfpQhkfgAgqQQkCQH4ZGUSINlIUAjhmLgWAAFJonWfhlmACRWAKFYmhkGQPhIEYJnYMx7FANZ0AAHhQhmCg"
s = s + "ghSYQKAoQ4dmWBANgqFpREoKQeiMhYFAkfBQDETh0iUZxqF6KoaiQWYxAOJ4QhqAZaAAKiJCSKZpEgRhXiYJo2mEaA/mwCJNB6JwBlQJBUEIQpYnUNIaB0NQVGoDIogQXh7H8Y57CkI4gmuRxRx6HoEGAFBaAQVAmlcAAHLMOBaCyIACkyNptlsSRoicLgwl6Zo6BSKSDgwGgJCQAAMEMBI+nqPwSnSBAJFoAobgkCQOlCGoKEyDxujYDpciYURFiqQ5BhAMBqnOQpTEuWp4EIQwLn6fQJHGbAFBiRIQhuQQJGVwhynQTRxiuZYDkecgQhUIYTiMMBfBQAAlBQDr2ByNIUDEDIaDaWQqAyQx2CQMYKFAOR1heOJuDAZoRkqX5MngMQOFGZAVAkDQ0GoBgJECdOSB6VAcjWKYelUbY9GcIxaDMS4MDqRZmAuVRokaUA8HcL4/jcPJJjER40kQE4OwAA3DbDYHsPYNBxhYHUDcBwYxQDeBmAwYIcBiA2EcAgeIzQDAAAEBATYxxRDhFkBICgIQRD2FcKQQYCBQhhGQF0FYaAijRHoJ0F4TRpj1A6E8Ko1R6idDeF0a49gOiPDKNkewnRXtSHuBAP4cRtjBHWGcPo3h8AUFOH8cIeAfAfEaOIfIHgTiVHGPkPwTxMjnHyN4R4mx0j6A8BcO42AQB+F+GUaA+xPDvF6O8fgHwHjFHiKYTw1wxjsH4N8J8Ph+ifDeN0e4/gOgfGiPgfwnxXjtH2P8D4zwoj5HqLYA"
s = s + "4/B/jgAIAEQAUAHACCAFgBoARwBEASIEKALgDBAGwB0AY4BCARD2QsbAQQMAtAKOAYgGRBhQDcA4II2ANgEHAKwDwhAoCOAkEILATQEyxBAHUeAogLBCGwF0BY4RCAEEKjYDAwwsBtAaOEYgEg6jvHiNYIYmA+gPHEAQHwhg3j2BAMQLAjQIjhA4EMQ4sQRAmCINgToAwRBTFKHQJwjgTjFCwK0Co1gBiqEUGARQHkPAmB+N0EgWBGBREcCIXQcgUgYA+JQCgdBoieBgMYJA3QNjhEYGYRY7hJAuGMMgVIHARjEDyIQWNRAjhIGqBQUYnA7iPCkA4IQQRED5AsOMVggQCBSAsEYJA2AfgaHIFQRIjxZAKCOEkLILSdvgEeNIMwNAkC5BeCccg/BOCTDkEIJIyR0rnHIGwUQjQZCqCmEoRIXQPClDIJIRYchfBaCOJkMYHxxj0FKAIWQ7gvBLGyH0F45gCDBEwFMBwYgmBZEaDEcwRBkiZCmC4MwTBsidBmKUXgrAMDCFQFYZoORVg1BMLQbImwJhuDWM0bItQbimHIN8TgUxDByCcAkZoOBzg8HKJ0CYrg6hOGyNMHY5wyDwE6NMYwegng5HaDcMwjBSCLDGBgK4Cwsj5B+Kcdg/xQBUAMIIKACgGhAHQD0AooQKAuEKFAbQEwhjoDKBAUI1AjCKCiDoFoRBUDFAqKMGgXhGhRG0DkI46AaD5EgBISgZwFghDWEkNIPQTClAoK4SoUhtEEHSGUGApRqDGE0F"
s = s + "MHQbQmCpGKDUU4NBvCdCmNoPITx0jdCCKcaoCsAg6xKGoIoLxSBSHMC0kobQkjqD6E4VQFQnCpCqFoUYVR1ClCwKoaoZhXBVF0L0KwqwChdFYDUPwsQrBaGSFkdYHQ0isGqKoWgVhdDdC2GsQoWBUhxFMFIRoYQ6AvDWLUPArh6jmF8FcXQ/QvLSD6LAGo/hghYC0O8G4xhYDXA0NYEwxRsCrAzIcOoihPCzE1q8RYIwxhsGKJAWYNgvDGCeBsBoYB2gFE+LIawbhpBZFWE0M4LQiiLFgJUfwuRijqHWGodoDRYCzHsM4bIWwEj+CEGYLA3gNhjD0I8KA+wVg/DaMQZ4lxbDqG8FEPYaQ2BuCKLcEAdwFBkG4EsR4awxiwBEBsYQ+AxhdB2KsOoLhajZF2BcNw6xujbFqHcVw5Rvi8CuFISgWxAA5BcO8HINABC3E4HMRwMZPDpGLy0W4Lh5jeF2NEPozguj2F6LcXwoAvA7GCH8d49R5gAAuNofYPghAnD8K8Oo/hdDXCEEWd4hw6hwD8A4YQGAngJDCFwEYhR4Cmt+NgM4DgwgqHmHkQAqBzjECsAsCAYgQjPDiOwfwGxhj3GkPsb4rAjhsBiC4F4uQMBvA0GEVgbRCDxC8qofAohtCLG4E0RwcQ4DnGMLgJ4BglBRGcDEYwdgjjJByCMEvEBMiTHkF4KIyRshLBQGUHgrRJAGFgL4C4uBAB3HKNwWYXgZDWC4MsbIa7ShctmPMAwPhlAZD/4UBY7RLhHD"
s = s + "8GYZYeBZg4DOCwcolR5CmDyM8DIswLfvG+JgeYTgvhnh8hgA7hzAQhvhPAZArNvgxhOAyhyBOgNsRA7BIhpANAngjh0gugShShaHEhpgtAhgEgxAAh3AeBjhfBPhqAdBBgBAvA+gihIB6gjAHhpgdA7gLA1AWBuhUhagDBWBjggArgphxg+AShTA6hjBMBrrLAsgvg2g9g+g6hDBRgPB9BLB9h1h+g0hUAahnBIhogpA0hohHB4hPAahbA7BoBsh9gjg1A2gehWhaBbBjBqhtgdwmg2huhPhJBEAkARABhHBHg4h3AWhkhch7gbBEBlBdhWAzg2hWhgB7A7gMJOAxh/g7hggmhlheA7hPBzBuBthlg9A3BmBKhbhbBvpYANhrg6BygGhhheh7gjgEBlA+KRB3gfAAhaA7AuBOhwh9g5hFA4AXAVhiB8BYBrBpAHg/gkAgBugQhdhaA3BwhIAtAzhIgdBbh+hZA8B/gLhyguAzhGhfgehJhkgugfgThpBuBKh/g4hGBFB0hjg8BphtAOB1hOB5hfA+hng9ADgeB0AuB/hQh6APBEhoh9ADgVhxgCASFdg4Arhpg9A/gnB1AOghhNB2gfBFhZh9AzgnBAB+gzhUB6hvBVhbAQAHgjB2AugLhZA5h/BYAgB9BDgAM0AlhbABBfBfhaA9Bzgah2GaAfAjgTgwhsB9Ajg5h3guhzhfA7hHB+hvByhwAZgDBQBnhgg8AngDgXpNgfB4AfAHuMhvgMhxh+AbhIh4BYA"
s = s + "DhjgBgfOWA9hvg8B4gwBnhRg8gvgFhzB+BNBgSmA3hlh7hEBRB1BDg+hFB6gdghhqg9BvtEB+gvhYySBlhsA9t/B2AeBng9g6BAgEJpgXg8o+B3hSh0BfBnhOgfA3uqBvh7hjh8SNBth9gnhOh5g/AVhRh7h+hph0y4BThoB+hvhrB7hfgoAIg+BHhMh2g+g/hTg6gfBSA3ozhmAah/gXh0JSBTh7I7Buh9BfhDh2h/AfhPh4A+B/hgIJA4AZgEgggQASg/hHh6B/hHh7AEgnA1B7BnhyB/BXhNgABwhWB/hoC1CdB/hIADB/AoAQB+h4ARBYgoAKT4g0B/hnh2B6g4AYB6hoAVgAI0ABAwheB+AjgoAOh1g7gCBHhlgCBYAogCB4AqgCBoAsgCgYAtgCg4AugDAYArB/A4A0gCAAA4ADhQA4AFAgBVK2B+gDB4A5gDg4A6gDhIAfgCh4ASgEBYA1B+BIA9gDgIBBgEg4A7BzBYAygEBIBPgChnhogDhoIVhoAggBAoBMgEAgh/gFAIUXAnA4gFAYAwgGAYBcgGA4BggGBIBigGAIAMAEgoAvgAAQBjAFhQBjgG1IAGBoRWgHh8gHAIN0hoB3VABOgGB4B81KBsgHgIgAgGh4gBgHgYgEgIA41VA4BcgFhjgmgHA4B9gGBYgOgHhQhfB+KFAOh4gTgJBYlBh4gUgJgIgWgJgYgZgFBYgbgChogbgKAYm7A4BZgKBYBAgDg4gcgIh4gMgJhYgnAFAogmgKhog"
s = s + "tgKh4gygKgIgTgGAIqZhYgcgKAog5gKA4g7gLhYg6gLh4gXAPBwhfAOB4hCgMBIhDgMBYhIgMB4hKgMBohMgMgYhNgMg4hFgLg4hOgNA4hQgNBYhPgNB4iYh4g+gLhIhA1mBZgNh4hWgOAIhYgMA4hb1mA3A6BIhigOgYhhgOg4hjgOhYhqgOhohs1ghygPAYh0gPAIh2gPA4h3gPBYh4gNgYhnA6BnAoBrg4h/Bpg5AAgQA5ACgQBZABgQB5AEgQgJAGgQgZAMgQg5AOgQgpAQgQhZAKA7A0BdA/gpAWgRB5AYgRgZAaMXh6A9AjhVgRh5AegSAThUgSApAggSA5AmgSBZAogSBDhOA/BpAVA/AGAGgSh5AwgTAZAygTAzhfA/gZAtgRg5A4gTgZA6gTgzg0BIgpA8gTh5BAgUAZA5AghxABCAg"


property MinHeight

property MsgBox.MinHeight as Long
Specifies the minimum height of the message box.

Type | Description
Long | A long expression that indicates the minimum height of the message box.
By default, the MinHeight property is 72 pixels. Use the MinHeight and MinWidth properties to define the minimum size of your message or input box.


property MinWidth

property MsgBox.MinWidth as Long
Specifies the minimum width of the message box.

Type | Description
Long | A long expression that defines the minimum width of the message box.
By default, the MinWidth property is 96 pixels. Use the MinHeight and MinWidth properties to define the minimum size of your message or input box.


method Out

method MsgBox.Out (Prompt as String, [Buttons as Variant], [Title as Variant], [Image as Variant], [X as Variant], [Y as Variant])
Displays a message in a dialog box, waits for the user to click a button, and then returns an integer indicating which button the user clicked.

Type | Description
Prompt as String | A String expression displayed as the message in the dialog box. The Prompt parameter may includes HTML format like explained bellow.
Buttons as Variant | A long expression that is the sum of values specifying the number and type of buttons to display, the icon style to use, the identity of the default button, and the modality of the message box. If you omit Buttons, the default value is exOKOnly. The Buttons parameter is a combination of values in the OutStyle enumeration.
Title as Variant | A String expression displayed in the title bar of the dialog box. The Title parameter may includes HTML format like explained bellow. The FitTitle property specifies whether the MessageBox or InputBox ensures that its title/caption fits the dialog's title
Image as Variant | A string expression that indicates the path to a picture file being displayed, or a string expression that stores a picture in encoded base64 format. Use the eximages tool to save your picture as base64 encoded format.
X as Variant The X parameter could be a numeric or a string expression like follows:
  • If missing/omit, the dialog box is horizontally centered relative to active screen/monitor.
  • If -1, the dialog is shown at the current cursor position ( x-coordinate ).
  • A Numeric expression that specifies, in pixels, the distance of the left edge of the dialog box from the left edge of the screen.
  • A String expression that indicates the handle of the window to center relative to. You need to pass the handle of the window ( hWnd for /COM or Handle or hWnd for /NET ) as a string.

The FitToScreen property specifies whether the MessageBox ensures that it fits the screen ( current monitor ).

Y as Variant The Y parameter could be a numeric or a string expression like follows:
  • If missing/omit, the dialog box is vertically centered relative to active screen/monitor.
  • If -1, the dialog is shown at the current cursor position ( y-coordinate ).
  • A Numeric expression that specifies, in pixels, the distance of the upper edge of the dialog box from the top of the screen.
  • A String expression that indicates the handle of the window to center relative to. You need to pass the handle of the window ( hWnd for /COM or Handle or hWnd for /NET ) as a string.

The FitToScreen property specifies whether the InputBox ensures that it fits the screen ( current monitor ).

Return | Description
OutResult | An OutResult expression that indicates the identifier of button being clicked.
Use the Out method to display a message box. Use the Load method to apply a new skin to your message box. Use the Image parameter to assign a custom image to your message box. Use the Button and Image properties to change the caption/image of predefined buttons/icons. Use the Input method to let your users input text using a dialog box. Use the AutoClose property to specify the number of seconds to let the message box being visible.

The following samples aligns the message box as follow ( using /COM version ):

  • MsgBox1.Out "Your message", displays the message box centered in the active screen.
  • MsgBox1.Out "Your message", , , , , 0, displays the message box on top, horizontally centered in the active screen.
  • MsgBox1.Out "Your message", , , , Str(Me.hWnd), Str(Me.hWnd), displays the message box centered relative to the parent form.
  • MsgBox1.Out "Your message", , , , 0, Str(Me.hWnd), displays the message box on the left of the active screen, vertically centered relative to the form.
  • MsgBox1.Out "Your message", , , , 100, 100, displays the message box at specified position
  • MsgBox1.Input "Your message", , , , -1, -1, displays the message box at cursor position

The following samples aligns the message box as follow ( using /NET version ):

  • MsgBox1.Out("Your message"), displays the message box centered in the active screen.
  • MsgBox1.Out("Your message", Nothing, Nothing, Nothing, Nothing, 0), displays the message box on top, horizontally centered in the active screen.
  • MsgBox1.Out("Your message", Nothing, Nothing, Nothing, Me.Handle.ToString(), Me.Handle.ToString()), displays the message box centered relative to the parent form.
  • MsgBox1.Out("Your message", Nothing, Nothing, Nothing, 0, Me.Handle.ToString()), displays the message box on the left of the active screen, vertically centered relative to the form.
  • MsgBox1.Out("Your message", Nothing, Nothing, Nothing, 100, 100), displays the message box at specified position
  • MsgBox1.Out("Your message", Nothing, Nothing, Nothing, -1, -1), displays the message box at cursor position

The Prompt and Title arguments accepts the following HTML tags:

  • <b> ... </b> displays the text in bold
  • <i> ... </i> displays the text in italics
  • <u> ... </u> underlines the text
  • <s> ... </s> Strike-through text
  • <a id;options> ... </a> displays an anchor element that can be clicked. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link.The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick(AnchorID, Options) event when the user clicks the anchor element. The FormatAnchor property customizes the visual effect for anchor elements.
  • <font face;size> ... </font> displays portions of text with a different font and/or different size. For instance, the <font Tahoma;12>bit</font> draws the bit text using the Tahoma font, on size 12 pt. If the name of the font is missing, and instead size is present, the current font is used with a different size. For instance, <font ;12>bit</font> displays the bit text using the current font, but with a different size.
  • <fgcolor rrggbb> ... </fgcolor> or <fgcolor=rrggbb> ... </fgcolor> displays text with a specified foreground color. The rr/gg/bb represents the red/green/blue values of the color in hexa values.
  • <bgcolor rrggbb> ... </bgcolor> or <bgcolor=rrggbb> ... </bgcolor> displays text with a specified background color. The rr/gg/bb represents the red/green/blue values of the color in hexa values.
  • <solidline rrggbb> ... </solidline> or <solidline=rrggbb> ... </solidline> draws a solid-line on the bottom side of the current text-line, of specified RGB color. The <solidline> ... </solidline> draws a black solid-line on the bottom side of the current text-line. The rr/gg/bb represents the red/green/blue values of the color in hexa values.
  • <dotline rrggbb> ... </dotline> or <dotline=rrggbb> ... </dotline> draws a dot-line on the bottom side of the current text-line, of specified RGB color. The <dotline> ... </dotline> draws a black dot-line on the bottom side of the current text-line. The rr/gg/bb represents the red/green/blue values of the color in hexa values.
  • <upline> ... </upline> draws the line on the top side of the current text-line (requires <solidline> or <dotline>).
  • <r> right aligns the text
  • <c> centers the text
  • <br> forces a line-break
  • <img>number[:width]</img> inserts an icon inside the text. The number indicates the index of the icon being inserted. Use the Images method to assign a list of icons to your chart. The last 7 bits in the high significant byte of the number expression indicates the identifier of the skin being used to paint the object. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the part. The width is optional and indicates the width of the icon being inserted. Using the width option you can overwrite multiple icons getting a nice effect. By default, if the width field is missing, the width is 18 pixels.
  • <img>key[:width]</img> inserts a custom size picture into the text being previously loaded using the HTMLPicture property. The Key parameter indicates the key of the picture being displayed. The Width parameter indicates a custom size, if you require to stretch the picture, else the original size of the picture is used.
  • & glyph characters as &amp; ( & ), &lt; ( < ), &gt; ( > ), &qout; ( " ) and &#number; ( the character with specified code ), For instance, the &#8364; displays the EUR character. The & ampersand is only recognized as markup when it is followed by a known letter or a #character and a digit. For instance if you want to display <b>bold</b> in HTML caption you can use &lt;b&gt;bold&lt;/b&gt;
  • <off offset> ... </off> defines the vertical offset to display the text/element. The offset parameter defines the offset to display the element. This tag is inheritable, so the offset is keep while the associated </off> tag is found. You can use the <off offset> HTML tag in combination with the <font face;size> to define a smaller or a larger font to be displayed. For instance: Text with <font ;7><off 6>subscript displays the text such as: Text with subscript The Text with <font ;7><off -6>superscript displays the text such as: Text with subscript
  • <gra rrggbb;mode;blend> ... </gra> defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the rr/gg/bb represents the red/green/blue values of the ending color, 808080 if missing as gray. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The <font> HTML tag can be used to define the height of the font. Any of the rrggbb, mode or blend field may not be specified. The <gra> with no fields, shows a vertical gradient color from the current text color to gray (808080). For instance the <font ;18><gra FFFFFF;1;1>gradient-center</gra></font> generates the following picture:
  • <out rrggbb;width> ... </out> shows the text with outlined characters, where rr/gg/bb represents the red/green/blue values of the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><out 000000><fgcolor=FFFFFF>outlined</fgcolor></out></font> generates the following picture:
  • <sha rrggbb;width;offset> ... </sha> define a text with a shadow, where rr/gg/bb represents the red/green/blue values of the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><sha>shadow</sha></font> generates the following picture:

    or <font ;31><sha 404040;5;0><fgcolor=FFFFFF>outline anti-aliasing</fgcolor></sha></font> gets:

The following sample displays a critical-error message in a dialog box with Yes and No buttons:

If MsgBox1.Out("<b>Do you want to continue?</b>", OutStyle.exCritical Or OutStyle.exYesNo, "Error") = OutResult.exYes Then
    ' Performs some action
Else
    ' Performs some other action
End If


method ReplaceIcon

method MsgBox.ReplaceIcon ([Icon as Variant], [Index as Variant])
Adds a new icon, replaces an icon or clears the control's image list.

Type | Description
Icon as Variant | A long expression that indicates the icon's handle.
Index as Variant | A long expression that indicates the index where icon is inserted
Return | Description
Long | A long expression that indicates the index of the icon in the images collection.
Use the ReplaceIcon property to add, remove or replace an icon in the control's images collection. Also, the ReplaceIcon property can clear the images collection. Use the Images method to attach an image list to the control.

The following sample shows how to add a new icon to control's images list:

i = MsgBox1.ReplaceIcon( LoadPicture("d:\icons\help.ico").Handle), in this case the i specifies the index where the icon was added

The following sample shows how to replace an icon into control's images list::

i = MsgBox1.ReplaceIcon( LoadPicture("d:\icons\help.ico").Handle, 0), in this case the i is zero, because the first icon was replaced.

The following sample shows how to remove an icon from control's images list:

MsgBox1.ReplaceIcon 0, i, in this case the i must be the index of the icon that follows to be removed

The following sample shows how to clear the control's icons collection:

MsgBox1.ReplaceIcon 0, -1


property Version

property MsgBox.Version as String
Retrieves the control's version.

Type | Description
String | A string expression that indicates the control's version.
The Version property is read only and specifies the control's version.


ExSkinBox events
Tip The /COM object can be placed on a HTML page (with usage of the HTML object tag: <object classid="clsid:...">) using the class identifier: {6BBB0912-B723-4B47-A806-B529336D81B9}. The object's program identifier is: "Exontrol.MsgBox". The /COM object module is: "ExSkinBox.dll"
The component supports the following events:

Name | Description
AnchorClick | Occurs when an anchor element is clicked.


event AnchorClick

event AnchorClick (AnchorID as String, Options as String)
Occurs when an anchor element is clicked.

Type | Description
AnchorID as String | A string expression that indicates the identifier of the anchor
Options as String | Reserved.

The control fires the AnchorClick event to notify that the user clicks an anchor element. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link. The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The AnchorClick event is fired only if prior clicking the control it shows the hand cursor. For instance, if the cell is disabled, the hand cursor is not shown when hovers the anchor element, and so the AnchorClick event is not fired. Use the FormatAnchor property to specify the visual effect for anchor elements. For instance, if the user clicks the anchor <a1>anchor</a>, the control fires the AnchorClick event, where the AnchorID parameter is 1.

Syntax for AnchorClick event, /NET version, on:

private void AnchorClick(object sender,string AnchorID,string Options)
{
}

Private Sub AnchorClick(ByVal sender As System.Object,ByVal AnchorID As String,ByVal Options As String) Handles AnchorClick
End Sub

Syntax for AnchorClick event, /COM version, on:

private void AnchorClick(object sender, AxEXSKINBOXLib._IMsgBoxEvents_AnchorClickEvent e)
{
}

void OnAnchorClick(LPCTSTR AnchorID,LPCTSTR Options)
{
}

void __fastcall AnchorClick(TObject *Sender,BSTR AnchorID,BSTR Options)
{
}

procedure AnchorClick(ASender: TObject; AnchorID : WideString;Options : WideString);
begin
end;

procedure AnchorClick(sender: System.Object; e: AxEXSKINBOXLib._IMsgBoxEvents_AnchorClickEvent);
begin
end;

begin event AnchorClick(string AnchorID,string Options)
end event AnchorClick

Private Sub AnchorClick(ByVal sender As System.Object, ByVal e As AxEXSKINBOXLib._IMsgBoxEvents_AnchorClickEvent) Handles AnchorClick
End Sub

Private Sub AnchorClick(ByVal AnchorID As String,ByVal Options As String)
End Sub

Private Sub AnchorClick(ByVal AnchorID As String,ByVal Options As String)
End Sub

LPARAMETERS AnchorID,Options

PROCEDURE OnAnchorClick(oMsgBox,AnchorID,Options)
RETURN

Syntax for AnchorClick event, /COM version (others), on:

<SCRIPT EVENT="AnchorClick(AnchorID,Options)" LANGUAGE="JScript">
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function AnchorClick(AnchorID,Options)
End Function
</SCRIPT>

Procedure OnComAnchorClick String llAnchorID String llOptions
    Forward Send OnComAnchorClick llAnchorID llOptions
End_Procedure

METHOD OCX_AnchorClick(AnchorID,Options) CLASS MainDialog
RETURN NIL

void onEvent_AnchorClick(str _AnchorID,str _Options)
{
}

function AnchorClick as v (AnchorID as C,Options as C)
end function

function nativeObject_AnchorClick(AnchorID,Options)
return