Jump to content

File to Base64 String Code Generator v1.20 Build 2020-06-05 (embed your files easily)


UEZ
 Share

Recommended Posts

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

  • 3 weeks later...

What was the original font file format in the example? 

*.TTF  ?

use a font ... see the third example from the author here

On 29. 10. 2011 at 11:22 PM, UEZ said:

Display Font from Memory:

 

Edited by R_P
Link to comment
Share on other sites

24 minutes ago, R_P said:

What was the original font file format in the example? 

*.TTF  ?

use a font ... see the third example from the author here

 

Probably yes. Save the binary string to a file and check it out. ;)

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

  • 7 months later...

Wonderful tool!

Your examples might need updating.

I'm using AutoIt 3.3.14.5 and the concurrent SciTE to see your examples available in your original post. When I use SyntaxCheck or F5 Go, two errors frequently appear for the examples I've tried thus far:

1. #include <WinAPISysWin.au3> needs to be added

2. #ULW_ALPHA must need another include but haven't figured out yet what it is.  In the past few days I've just substituted the number 2 in place of it but I'd love to know the real fix.

Link to comment
Share on other sites

8 hours ago, timmy2 said:

Your examples might need updating.

all you need to change to make it "newer" is

#include <WinAPIProc.au3>
Global Const $WH_CBT = 5
;~ Global Const $SND_ASYNC = 0x00000001
;~ Global Const $SND_MEMORY = 0x00000004
;~ Global Const $SND_NOSTOP = 0x00000010

to change/add those =)

Follow the link to my code contribution ( and other things too ).
FAQ - Please Read Before Posting.
autoit_scripter_blue_userbar.png

Link to comment
Share on other sites

  • 1 month later...

Hi UEZ, I'm trying to use an embbeded icon in a TreeView control without success, any help will be appreciated.

#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <GuiTreeView.au3>
#include <Staticconstants.au3>
#include <WinAPI.au3>
#include <WinAPIEx.au3>
#include <WinAPIHObj.au3>
#include <WindowsConstants.au3>
;----------------------------------------------------------------------------------------------------------------------
_GDIPlus_Startup()
Global $Icon = Load_BMP_From_Mem(Exit24X24png(), True)



GUICreate("TreeView Set Icon", 400, 300)

Global $idTreeView = GUICtrlCreateTreeView(2, 2, 396, 268, BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS, $TVS_CHECKBOXES))

Global $TVRoot = GUICtrlCreateTreeViewItem("Internet", $idTreeView)
_GUICtrlTreeView_SetImageIndex($idTreeView, $Icon, 6)

GUICtrlCreateTreeViewItem("Item 1", $TVRoot)
GUICtrlCreateTreeViewItem("Item 2", $TVRoot)
GUICtrlSetState($TVRoot, BitOR($GUI_EXPAND, $GUI_DEFBUTTON))

GUISetState(@SW_SHOW)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

GUIDelete()
_GDIPlus_Shutdown()


Func Load_BMP_From_Mem($bImage, $hHBITMAP = False) ;UEZ
    If Not IsBinary($bImage) Then Return
    Local $declared = True
    If Not $__g_hGDIPDll Then
        _GDIPlus_Startup()
        $declared = False
    EndIf
    Local Const $memBitmap = Binary($bImage) ;load image  saved in variable (memory) and convert it to binary
    Local Const $len = BinaryLen($memBitmap) ;get length of image
    Local Const $hData = _MemGlobalAlloc($len, $GMEM_MOVEABLE) ;allocates movable memory  ($GMEM_MOVEABLE = 0x0002)
    Local Const $pData = _MemGlobalLock($hData) ;translate the handle into a pointer
    Local $tMem = DllStructCreate("byte[" & $len & "]", $pData) ;create struct
    DllStructSetData($tMem, 1, $memBitmap) ;fill struct with image data
    _MemGlobalUnlock($hData) ;decrements the lock count  associated with a memory object that was allocated with GMEM_MOVEABLE
    Local $hStream = DllCall("ole32.dll", "int", "CreateStreamOnHGlobal", "handle", $pData, "int", True, "ptr*", 0)
    $hStream = $hStream[3]
    Local $hBitmap = DllCall($__g_hGDIPDll, "uint", "GdipCreateBitmapFromStream", "ptr", $hStream, "int*", 0) ;Creates a Bitmap object based on an IStream COM interface
    $hBitmap = $hBitmap[2]
    Local Const $tVARIANT = DllStructCreate("word vt;word r1;word r2;word r3;ptr data; ptr")
    DllCall("oleaut32.dll", "long", "DispCallFunc", "ptr", $hStream, "dword", 8 + 8 * @AutoItX64, "dword", 4, "dword", 23, "dword", 0, "ptr", 0, "ptr", 0, "ptr", DllStructGetPtr($tVARIANT)) ;release memory from $hStream to avoid memory leak
    $tMem = 0
    If $hHBITMAP Then
        Local Const $hHBmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
        _GDIPlus_BitmapDispose($hBitmap)
        If Not $declared Then _GDIPlus_Shutdown()
        Return $hHBmp
    EndIf
    If Not $declared Then _GDIPlus_Shutdown()
    Return $hBitmap
EndFunc   ;==>Load_BMP_From_Mem

Func WinAPI_Base64Decode($sB64String);UEZ
    Local $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(1, 0, "")
    Local $bBuffer = DllStructCreate("byte[" & $aCrypt[5] & "]")
    $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $bBuffer, "dword*", $aCrypt[5], "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(2, 0, "")
    Return DllStructGetData($bBuffer, 1)
EndFunc   ;==>WinAPI_Base64Decode

Func _WinAPI_LZNTDecompress(ByRef $tInput, ByRef $tOutput, $iBufferSize = 0x800000);UEZ
    Local $tBuffer, $Ret
    $tOutput = 0
    $tBuffer = DllStructCreate('byte[' & $iBufferSize & ']')
    If @error Then Return SetError(1, 0, 0)
    $Ret = DllCall('ntdll.dll', 'uint', 'RtlDecompressBuffer', 'ushort', 0x0002, 'ptr', DllStructGetPtr($tBuffer), 'ulong', $iBufferSize, 'ptr', DllStructGetPtr($tInput), 'ulong', DllStructGetSize($tInput), 'ulong*', 0)
    If @error Then Return SetError(2, 0, 0)
    If $Ret[0] Then Return SetError(3, $Ret[0], 0)
    $tOutput = DllStructCreate('byte[' & $Ret[6] & ']')
    If Not _WinAPI_MoveMemory(DllStructGetPtr($tOutput), DllStructGetPtr($tBuffer), $Ret[6]) Then
        $tOutput = 0
        Return SetError(4, 0, 0)
    EndIf
    Return $Ret[6]
EndFunc   ;==>_WinAPI_LZNTDecompress

Func Exit24X24png()
    Local $ExitPNG24X24png = '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'
    $ExitPNG24X24png &= '/zlbuDOlxaWFn06dWf/e6dPVjxqZd4r2p+eeswZ7utLpzs60Hk8kha6bALLRqNfz+UJhdTX79vxC4fMvv+z8P0P/A5IyTXF4aEjtaG5WLV1XvCAAKYPlbDb47fS0H9yRjv8m/wZF7Zsuu2STYgAAAABJRU5ErkJggg=='
    Return Binary(WinAPI_Base64Decode($ExitPNG24X24png))
EndFunc   ;==>Exit24X24png

 

Link to comment
Share on other sites

Hi,

this is an amazing tool. Exactly what I'm looking for.

But I have a small question, is there a simpler way to use a embedded font? I mean without GDI+?

I would like to use something like this:

Local $bFont_RobotoRegular = _Font_RobotoRegular() ;binary function from file to base64 string code generator
_WinAPI_AddFontResourceEx($bFont_RobotoRegular, $FR_PRIVATE)

Global Const $sFontname = "Roboto-Regular"

Local $hLabel = GUICtrlCreateLabel($sString, $iPosx, $iPosy)
GUICtrlSetFont($hLabel, $iTextSize, $iTextWeight, $iTextAttribute, $sFontname)

Just one simple function call to "use" or privatly install the binary string font.

Thanks in advance :3

With best regards,

borsTiHD

Link to comment
Share on other sites

Hi,

these are some lines from one of my projects where a base 64 encoded font is installed "from memory"

;****************** FONT *************
Global $_DBG_Fontname = "AssembleItDBG"                           ;modifiziert aus DejaVu Sans Mono
Global $_DBG_Fontsize = 8.5
Global Const $_DBG_bFont = _bfont()                               ;base64encoded font
Global $_DBG_tFont = DllStructCreate('byte[' & BinaryLen($_DBG_bFont) & ']')
DllStructSetData($_DBG_tFont, 1, $_DBG_bFont)
Global $_DBG_hFont = _DBG_WinAPI_AddFontMemResourceEx(DllStructGetPtr($_DBG_tFont), DllStructGetSize($_DBG_tFont))

;****************** G U I *************
Global $_DBG_GUI = GUICreate("AssembleIt2 Debug-Info 2.0", 730, 660, 10, 10, 0, $WS_EX_DLGMODALFRAME)
GUISetFont($_DBG_Fontsize, 400, 0, $_DBG_Fontname)

 

Link to comment
Share on other sites

Hi borsTiHD

here and example of embbeded font with UEZ script.

#include-once
#include <GUIConstantsEx.au3>
#include <SendMessage.au3>
#include <StaticConstants.au3>
#include <WinAPI.au3>
#include <WinAPIGdi.au3>
#include <WindowsConstants.au3>
;----------------------------------------------------------------------------------------------------------------------
Opt('GUICloseOnESC', 0)
Opt("GUIOnEventMode", 1)

Global $WWidth = @DesktopWidth - 200, $WHeight = @DesktopHeight - 200;- Main Window size ------------------------------
Global $BOK

Global $bGUICtrlClockFont = AstronautIII() ;------------------------ font name: Astronaut III --------------------------

Global $tGUICtrlClockFont = DllStructCreate('byte[' & BinaryLen($bGUICtrlClockFont) & ']')
DllStructSetData($tGUICtrlClockFont, 1, $bGUICtrlClockFont)
Global $hGUICtrlClockFont = _WinAPI_AddFontMemResourceEx(DllStructGetPtr($tGUICtrlClockFont), DllStructGetSize($tGUICtrlClockFont))

;*********************************************************** Main Window **********************************************
GUICreate("Digital Font from Memory", $WWidth, $WHeight)
GUICtrlCreateLabel("The numbers are: 0 1 2 3 4 5 6 7 8 9 10 11 12", 10, 10, 1000, 200)
GUICtrlSetFont(-1, 24, 400, 0, 'Astronaut III')
GUICtrlSetColor(-1, 0x66AAFF)
GUISetOnEvent($GUI_EVENT_CLOSE, "EventsCtrl")

GUISetState()
;*********************************************************** Main Window **********************************************


While 1
WEnd

Func EventsCtrl()
    Local $Msg = @GUI_CtrlId
    Switch $Msg
        Case $GUI_EVENT_CLOSE ;------------------------------ Main GUI cose -------------------------------------------
            GUIDelete()
            _WinAPI_RemoveFontMemResourceEx($hGUICtrlClockFont)
            Exit
    EndSwitch
EndFunc   ;==>EventsCtrl

;----------------------------------------------------------- Font embeded ---------------------------------------------
;Code below was generated by: 'File to Base64 String' Code Generator v1.20 Build 2015-01-20
Func AstronautIII()
    Local $Base64String = 'AAEAAAAOADAAAwCwT1MvMoLNP68AAImcAAAATmNtYXDgu9K2AAB2AAAABJJjdnQg+HZcmQAAA+gAAAAwZnBnbYMzwk8AAAPUAAAAFGdseWYgIkjsAAAEXAAAaDBoZG14aed+FgAAepQAAA8IaGVhZNDDwsEAAInsAAAANmhoZWEG6QNPAACKJAAAACRobXR4sf5DXQAAcEgAAAO4bG9jYQA8jdAAAGyMAAADvG1heHABmQHhAACKSAAAACBuYW1lD2D1NgAAAOwAAALocG9zdDfSNt4AAHQAAAAB/nByZXDOo7iKAAAEGAAAAEMAAAAVAQIAAAAAAAAAAABMACYAAAAAAAAAAQAaAH8AAAAAAAAAAgAOAKAAAAAAAAAAAwBWAQAAAAAAAAAABAAaALsAAAAAAAAABQBIAXoAAAAAAAAABgAYAc4AAQAAAAAAAAAmAAAAAQAAAAAAAQANAHIAAQAAAAAAAgAHAJkAAQAAAAAAAwArANUAAQAAAAAABAANAK4AAQAAAAAABQAkAVYAAQAAAAAABgAMAcIAAwABBAkAAABMACYAAwABBAkAAQAaAH8AAwABBAkAAgAOAKAAAwABBAkAAwBWAQAAAwABBAkABAAaALsAAwABBAkABQBIAXoAAwABBAkABgAYAc5Bc3Ryb25hdXQgqTIwMDEsIEZvbnSlYaVsaWNpb3VzIEZvbnRzLgBBAHMAdAByAG8AbgBhAHUAdAAgAKkAMgAwADAAMQAsACAARgBvAG4AdCAiAGEgIgBsAGkAYwBpAG8AdQBzACAARgBvAG4AdABzAC5Bc3Ryb25hdXQgSUlJAEEAcwB0AHIAbwBuAGEAdQB0ACAASQBJAElSZWd1bGFyAFIAZQBnAHUAbABhAHJBc3Ryb25hdXQgSUlJAEEAcwB0AHIAbwBuAGEAdQB0ACAASQBJAElNYWNyb21lZGlhIEZvbnRvZ3JhcGhlciA0LjEuMyBBc3Ryb25hdXQgSUlJAE0AYQBjAHIAbwBtAGUAZABpAGEAIABGAG8AbgB0AG8AZwByAGEAcABoAGUAcgAgADQALgAxAC4AMwAgAEEAcwB0AHIAbwBuAGEAdQB0ACAASQBJAElNYWNyb21lZGlhIEZvbnRvZ3JhcGhlciA0LjEuMyA1LzEvMDEATQBhAGMAcgBvAG0AZQBkAGkAYQAgAEYAbwBuAHQAbwBnAHIAYQBwAGgAZQByACAANAAuADEALgAzACAANQAvADEALwAwADFBc3Ryb25hdXRJSUkAQQBzAHQAcgBvAG4AYQB1AHQASQBJAElAAQAsdkUgsAMlRSNhaBgjaGBELQAAAhYAXgBuAF4AbgE6AagBOgGoAVpaZxIG0rhqGPgqYaMOQO7SgDonVaKHAAEADUAPCgoJCQgIBwcGBgEBAAABjbgB/4VFaERFaERFaERFaERFaERFaERFaESzAwJGACuzBQRGACuxAgJFaESxBARFaEQAAAIAPwAAAbYDIAADAAcAVkAgAQgIQAkCBwQCAQAGBQIDAgUEBAAHBgQBAgEDAAABAEZ2LzcYAD88LzwQ/TwQ/TwBLzz9PC88/TwAMTABSWi5AAAACEloYbBAUlg4ETe5AAj/wDhZMxEhESUzESM/AXf+x/r6AyD84D8CowAKAEoAAAEWAhYAAwAHAAsAEgAWABoAHgAiACkALQAAEyM1MxUjNTMVIzUzFSMiJj0BMxUjNTMTMzUjFTM1IxUzNSMVMzI2PQEjFTM1I6heXl5eXl4OIS9eXl4QXl5eXl5eDiEvXl5eAbhezF7MXswvIQ7MXgFaXsxezF7MLyEOzF4ABABKAUoBFgIWAAMABwAOABUAdkA4ARYWQBcADQwCAwECDggDAwAVDwcDBAIUEwYDBQUEAQMABAIVFA4DDQQIEA8JAwgHBgMDAgEBBUZ2LzcYAD8XPC8XPBD9FzwQ/Rc8AS8XPP0XPC8XPP0XPAAxMAFJaLkABQAWSWhhsEBSWDgR'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= 'Xl5uXl7+tl5ebl5e3C8hDl7+tl5e3F5e3F5ebl5ebg4hL15uXl5eXgG4Xl5eXl7+xl4vIc4OIS/+xl7MXn5ezF7qIS9efl7+xl4QXsxeXi8hDuxe/sZeAAAIAEoAAAHyAhYABgAKAA4AEgAWABoAHgAiAKhAWgEjI0AkACEgHRwVFA0MAgkBAiIfHhsWEw4LBgkACQgCCgcSDwIREBoXAhkYGBcQDwgHAQcABAIMCwQODRYVBBQTHh0EHBsiIQQfIB8AGhkSEQoJAwcCAQEYRnYvNxgAPxc8PzwQ/TwvPP08Lzz9PC88/TwQ/Rc8AS88/TwvPP08Lzz9PC8XPP0XPAAxMAFJaLkAGAAjSWhhsEBSWDgRN7kAI//AOFkBIzUzMhYVByM1MxcjNTMnIzUzEyM1MyUjNTMBIzUzFSM1MwHyXg4hL25eXm5eXtxeXtxeXv62Xl4BSl5eXl4BuF4vIQ5ezF4QXv7GXn5e/lhezF4AEgBKAAAB8gIWAAYACgAOABIAGQAgACcAKwAyADYAOgBBAEUATABQAFcAWwBfAAABIzUzMhYVByM1MxcjNTMnIzUzFxQGKwE1MyUjNTQ2OwEBIzUzMhYVJyM1MxcUBisBNTMlIzUzFyM1MwcjIiY9ATMTIzUzJyM1NDY7ARcjNTMHIyImPQEzNyM1MxEjNTMB8l4OIS9uXl5uXl7cXl7cLyEOXv62Xi8hDgFKXg4hL25eXm4vIQ5e/rZeXm5eXm4OIS9e3F5e3F4vIQ5uXl5uDiEvXm5eXl5eAbheLyEOXsxeEF7qIS9efg4hL/5YXi8hYF7qIS9e7F7MXl4vIQ7+xl4QDiEvzF5eLyEO7F7+xl4AABAASgAAAfICFgAGAAoADgASABYAHQAhACUALAAwADQAOwA/AEMARwBLAAABIzUzMhYVByM1MxcjNTMnIzUzEyM1MyUjNTQ2OwETIzUzFyM1MxUUBisBNTMlIzUzFyM1MwcjIiY9ATMTIzUzByM1MwcjNTM3IzUzAfJeDiEvbl5ebl5e3F5e3F5e/rZeLyEO3F5ebl5eLyEOXv62Xl5uXl5uDiEvXtxeXm5eXm5eXm5eXgG4Xi8hDl7MXhBe/sZefg4hL/7GXsxefCEvXuxezF5eLyEO/sZeXl5eXuxeAAQASgAAARYBOgADAAcACwAPAHZAOAEQEEARCAcEAwMAAgYFAgMBDg0KAwkCDwwLAwgJCAEDAAQCDw4HAwYEBAsKAwMCDQwFAwQAAQFGdi83GAA/FzwvFzwQ/Rc8EP0XPAEvFzz9FzwvFzz9FzwAMTABSWi5AAEAEEloYbBAUlg4ETe5ABD/wDhZNyM1MxEjNTM3IzUzESM1M6heXl5ebl5eXl7cXv7GXn5e/sZeAAYASv+SARYBOgADAAcADgASABYAHQCRQEwBHh5AHw8NDAcEAwUAAg4IBgUCBQEcGxUUEQUQAh0XFhMSBQ8QDwEDAAQCFhUHAwYEBB0cDgMNBAsSEQMDAhsaDAMLFBMFAwQAAQFGdi83GAA/FzwvFzwvFzwQ/Rc8EP0XPBD9FzwBLxc8/Rc8Lxc8/Rc8ADEwAUlouQABAB5JaGGwQFJYOBE3uQAe/8A4WTcjNTMRIzUzBxQWOwE1IzcjNTMRIzUzFRQGKwE1M6heXl5eXi8hDl7MXl5eXi8hDl7cXv7GXnwhL17sXv7GXnwhL14ABABKAG4BFgE6AAYACgAOABUAdUA3ARYWQBcHFQ8GAwACFBMCAwENDAkDCAIOCwoDBwgHAQMABAUVFA4DDQQLCgkGAwUQDwwDCwEBRnYvNxgALxc8Lxc8EP0XPBD9FzwBLxc8/Rc8Lxc8/Rc8ADEwAUlouQABABZJaGGwQFJYOBE3uQAW/8A4WTcjNTQ2OwEXIzUzFSM1MwcjIiY9ATOoXi8hDm5eXl5ebg4hL17cDiEvXl7MXl4vIQ4ACABKAAAB8gE6AAMABwALAA8AEwAXABsAHwCoQF4BICBAIQAODQID'
    $Base64String &= 'AQIPDAMDABYVBgMFAhcUBwMEGxgLAwgCGhkKAwkfHBMDEAIeHRIDEREQCQgFBAEHAAQCHx4bGhcWDwcOBAwTEgsKBwYDBwIdHBkYFRQNBwwAARFGdi83GAA/FzwvFzwQ/Rc8EP0XPAEvFzz9FzwvFzz9FzwvFzz9FzwvFzz9FzwAMTABSWi5ABEAIEloYbBAUlg4ETe5ACD/wDhZJSM1MwcjNTMHIzUzEyM1MyUjNTMTIzUzByM1MwcjNTMB8l5ebl5ebl5e3F5e/rZeXtxeXm5eXm5eXtxeXl5eXv7GXn5e/sZeXl5eXgAEAEoAbgEWAToABgAKAA4AFQBvQDEBFhZAFwEUEw4LCgcCARUPBgMAAg0MCQMICAcBAwAEFRQOAw0KCQYDBRAPDAMLAQdGdi83GAAvFzwvFzwvFzz9FzwBLxc8/Rc8Li4uLi4uLi4AMTABSWi5AAcAFkloYbBAUlg4ETe5ABb/wDhZNzM1NCYrAQczNSMVMzUjFzMyNj0BI7heLyEObl5eXl5uDiEvXtwOIS9eXsxeXi8hDgANAEoAAAHyAhYABgAKAA4AEgAZAB0AIQAlACwAMwA3ADsAPwAAASM1MzIWFQcjNTMXIzUzJyM1MxcUBisBNTMlIzUzEyM1MwcjNTMHIzU0NjsBFSMiJj0BMxUjNTM3IzUzFSM1MwHyXg4hL25eXm5eXtxeXtwvIQ5e/rZeXtxeXm5eXm5eLyEODiEvXl5ebl5eXl4BuF4vIQ5ezF4QXuohL15+Xv7GXl5eXg4hL8wvIQ7MXhBezF4AFABKAAACYAIWAAYACgAOABIAFgAaACEAJQApAC0AMQA1ADkAPQBEAEgATABQAFQAWAAAASM1MzIWFQcjNTMXIzUzJyM1MxcjNTMXIzUzJSM1NDY7AQEjNTMlIzUzASM1MyUjNTMBIzUzJSM1MxcjNTMHIyImPQEzNyM1MxUjNTMVIzUzNSM1MxEjNTMCYF4OIS9uXl5uXl7cXl5uXl5uXl7+SF4vIQ4BSl5e/rZeXgG4Xl7+SF5eAUpeXv62Xl7cXl7cDiEvXm5eXl5eXl5eXl5eAbheLyEOXsxeEF7MXsxefg4hL/7GXhBe/lhefl7+xl4QXsxeXi8hDuxezF7MXuxe/epeABEASgAAAfICFgAGAAoADgASABkAHQAhACUAKQAtADEANQA5AD0AQQBFAEkAAAEjNTMyFh0BIzUzJyM1MxMjNTMlIzU0NjsBASM1MyUjNTMBIzUzJSM1MxcjNTMHIzUzFSM1MzcjNTMVIzUzFSM1MxUjNTMRIzUzAfJeDiEvXl5uXl5uXl7+tl4vIQ4BSl5e/rZeXgFKXl7+tl5e3F5e3F5eXl5uXl5eXl5eXl5eXgG4Xi8hfF4QXv7GXn4OIS/+WF5+Xv5YXn5ezF5eXsxe7F7MXsxezF4BWl4AEgBKAAAB8gIWAAYACgAOABUAGQAgACQAKAAvADMANwA7AD8AQwBHAEsATwBTAAABIzUzMhYdASM1MycjNTMXFAYrATUzJSM1MwEjNTMyFhUlIzUzFyM1MxcUBisBNTMlIzUzFSM1MxcjNTMHIzUzNyM1MxUjNTMVIzUzFSM1MxEjNTMB8l4OIS9eXm5eXm4vIQ5e/rZeXgFKXg4hL/62Xl7cXl5uLyEOXv62Xl5eXtxeXtxeXm5eXl5eXl5eXl5eAbheLyF8XhBe6iEvXn5e/lheLyHOXsxe6iEvXn5ezF7MXl5e7F7MXsxezF4BWl4AEABKAAAB8gIWAAYACgAOABUAGQAdACQAKAAsADAANwA7AD8AQwBHAEsAAAEjNTMyFh0BIzUzJyM1MwcjNTQ2OwEBIzUzJSM1MwEUBisBNTMlIzUzFSM1MxcjNTMHIyImPQEzNyM1MxUjNTMVIzUzFSM1MxEjNTMB8l4OIS9eXm5eXtxeLyEOAUpeXv62Xl4BSi8hDl7+tl5eXl7cXl7cDiEvXm5eXl5eXl5eXl5eAbheLyF8XhBe'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= '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'
    $Base64String &= 'AABcPgAAXFQAAFxqAABcgAAAXJYAAFysAABcwgAAXNgAAFzuAABdBAAAXRoAAF0wAABdRgAAXVwAAF1yAABdiAAAXZ4AAF2uAABeugAAX9gAAGCwAABgwAAAYNAAAGDgAABg8AAAYQAAAGEQAABhIAAAYcIAAGJiAABi7AAAZAgAAGS8AABkzAAAZNwAAGTsAABk/AAAZPwAAGUSAABlKAAAZT4AAGVOAABl/AAAZhIAAGYoAABmPgAAZlQAAGZqAABmgAAAZpYAAGasAABmwgAAZtgAAGbuAABnBAAAZxoAAGfYAABn7gAAaAQAAGgaAABoMAH0AD8AAAAAAT8AAAE/AAABFgBKARYASgHyAEoBhABKAmAASgHyAEoAqABKARYASgEWAEoBFgBKAYQASgCoAEoBhABKAKgASgJgAEoB8gBKAYQASgHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgHyAEoB8gBKARYASgEWAEoBFgBKAfIASgEWAEoB8gBKAmAASgHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgJgAEoB8gBKARcASgHyAEoB8gBKAfIASgLOAEoCYABKAfIASgHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgHyAEoCzgBKAfIASgHyAEoB8gBKARYASgJgAEoBFgBKARcASgHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgHyAEoBFgBKAfIASgHyAEoB8gBKAs4ASgHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgLOAEoB8gBKAfIASgHyAEoBFgBKAKgASgEWAEoBhABKAfIASgHyAEoB8gBKAfIASgEXAEoCYABKAfIASgHyAEoB8gBKAzsASgHyAEoB8gBKAfIASgHyAEoDOwBKAfIASgHyAEoAqP/cAYQASgHyAEoB8gBKAl8ASgM7AEoDOwBKARYASgHyAEoBFgBKARYASgCoAEoAqABKAmAASgHyAEoBFgBKARYASgIkAEoCJABKAfIASgHyAEoB8gBKAfIASgHyAEoBFgBKAfIAuAHyAEoB8gBKAfIAuAHyAEoB8gC4AfIASgHyAEoB8gBKAfIASgHyAEoB8gBKAmAASgHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgEWAEoBFgBKARYASgEWAA4B8gBKAfIASgHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgJgAEoCYABKA6oASgHyAEoB8gBKAfIASgEWAEoBFgBKAfIASgHyAEoB8gBKAmAASgJgAEoBhABKAfIASgHyAEoB8gBKAfIASgHyAEoBPwAAAfIASgHyAEoB8gBKAfIASgJgAEoB8gBKAfIASgHyAEoB8gBKAfIASgHyAEoB8gBKAKgASgCoAEoAqP/cAKj/3AHyAEoB8gBKAfIASgHyAEoB8gBKAfIASgHyAEoAAgAAAAAAAP97ABQAAAAAAAAAAAAAAAAAAAAAAAAAAADuAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQCCAIQAhQCGAIcAiACJAI0AjgCQAJEAlgCdAJ4AoAChAKIAowCmAKkAqgCrALAAsQCyALMAtAC1ALYAtwC8AL0AvgC/AMAAwQDC'
    $Base64String &= 'AMMAxADFAMYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDpAOoA5ADlAOsA7ADtAO4A5gDnAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgB/AIAAgQCDAIoAiwCMAI8AkgCTAJQAlQCXAJgAmQCaAJsAnACfAKQApQCnAKgArACtAK4ArwC4ALkAugC7AMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYAAAAAAAMAAAAAAAABJAABAAAAAAAcAAMAAQAAASQAAAEGAAABAAAAAAAAAAEDAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAMEBQYHCAl/CwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJ+REVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHNjZIBtdGWBCnx1goOEhQB6YoaHAGdmiIl9dneKAHIAQ2mMjY6PkGoAkZIAk5SVewAAAAAAAAAAAAAAAAAAAABrAG4AAAAAlmx4bwAAAAAAcAAAAIsAAJdxeWiYmZqbAAAABANuAAAAXgBAAAUAHgB+AKUArACxALgAuwDWAP8BMQFCAVMBYQF4AX4BkgLHAskC3QOUA6kDvAPAIBAgFCAaIB4gIiAmIDAgOiBEISIhJiICIgYiDyIRIhoiHiIrIkgiYCJlIvIlyvAC//8AAAAgAKAApwCuALQAugC/ANgBMQFBAVIBYAF4AX0BkgLGAskC2AOUA6kDvAPAIBAgEyAYIBwgICAmIDAgOSBEISIhJiICIgYiDyIRIhkiHiIrIkgiYCJkIvIlyvAA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAF4BGgEkAS4BNAE8AT4BbAG6AboBvAG+AcABwAHCAcIBxAHEAc4BzgHOAc4BzgHOAdAB1AHYAdwB3AHcAd4B3gHeAd4B3gHeAd4B3gHgAeAB4AHgAeAB4gHiAeL//wADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEA1gBzAGMAZACBAG0AZQBqAMQAbgB1ANIAwwCOAMIAyABpAMsAZwCHAJIAbwB2AHIA1wDgAN4A2ACiAKMAawCkAOIApQDfAOEA5gDjAOQA5QCYAKYA6gDnAOgA2QCnAGwA7QDrAOwAqACcAJ4AaACqAKkAqwCtAKwArgBwAK8AsQCwALIAswC1ALQAtgC3AJkAuAC6ALkAuwC9ALwA2gBxAL8AvgDAAMEAnQCfANwAiwCWAJcAeAB5AJoAmwDdAKAAoQB0AIwAlQCOAI8AkACRAJQAjQCTANUA0QDLAM8AEAB6AHsAfgB/AIgAfAB9AIkAYgCGAGYAdwCKAIIAgwCAAMUA0QDMANUAzgDNAIcA0wDHANAA1ADGAMkAygDUANsA6QCEAIUAAAAAAAAAEAAAAPAJCAUAAwMDAwQDBQQCAwMDAwIDAgUEAwQEBAQEBAQEAwMDBAMEBQQEBAQEBAUEAwQEBAYFBAQEBAQEBAQGBAQEAwUDAwQEBAQEBAQEBAQDBAQEBgQEBAQEBAQEBAYEBAQDAgMDBAQEBAMFBAQEBwQE'
    $Base64String &= 'BAQHBAQCAwQEBQcHAwQDAwICBQQDAwUFBAQEBAQDBAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAMDAwMEBAQEBAQEBAQEBAUFCAQEBAMDBAQEBQUDBAQEBAQDBAQEBAUEBAQEBAQEAgICAgQEBAQEBAQKCQUAAwMDAwUEBgUCAwMDBAIEAgYFBAUFBQUFBQUFAwMDBQMFBgUFBQUFBQYFAwUFBQcGBQUFBQUFBQUHBQUFAwYDAwUFBQUFBQUFBQUDBQUFBwUFBQUFBQUFBQcFBQUDAgMEBQUFBQMGBQUFCAUFBQUIBQUCBAUFBggIAwUDAwICBgUDAwUFBQUFBQUDBQUFBQUFBQUFBQUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQMDAwMFBQUFBQUFBQUFBQYGCQUFBQMDBQUFBgYEBQUFBQUDBQUFBQYFBQUFBQUFAgICAgUFBQUFBQULCgYABAQDAwUEBwUCAwMDBAIEAgcFBAUFBQUFBQUFAwMDBQMFBwUFBQUFBQcFAwUFBQgHBQUFBQUFBQUIBQUFAwcDAwUFBQUFBQUFBQUDBQUFCAUFBQUFBQUFBQgFBQUDAgMEBQUFBQMHBQUFCQUFBQUJBQUCBAUFBwkJAwUDAwICBwUDAwYGBQUFBQUDBQUFBQUFBQUFBQUFBwUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQMDAwMFBQUFBQUFBQUFBQcHCgUFBQMDBQUFBwcEBQUFBQUEBQUFBQcFBQUFBQUFAgICAgUFBQUFBQUMCwYABAQDAwYFBwYCAwMDBQIFAgcGBQYGBgYGBgYGAwMDBgMGBwYGBgYGBgcGAwYGBgkHBgYGBgYGBgYJBgYGAwcDAwYGBgYGBgYGBgYDBgYGCQYGBgYGBgYGBgkGBgYDAgMFBgYGBgMHBgYGCgYGBgYKBgYCBQYGBwoKAwYDAwICBwYDAwcHBgYGBgYDBgYGBgYGBgYGBgYGBwYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgMDAwMGBgYGBgYGBgYGBgcHCwYGBgMDBgYGBwcFBgYGBgYEBgYGBgcGBgYGBgYGAgICAgYGBgYGBgYNDAcABAQEBAYFCAYCBAQEBQIFAggGBQYGBgYGBgYGBAQEBgQGCAYGBgYGBggGBAYGBgkIBgYGBgYGBgYJBgYGBAgEBAYGBgYGBgYGBgYEBgYGCQYGBgYGBgYGBgkGBgYEAgQFBgYGBgQIBgYGCwYGBgYLBgYCBQYGCAsLBAYEBAICCAYEBAcHBgYGBgYEBgYGBgYGBgYGBgYGCAYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgQEBAQGBgYGBgYGBgYGBggIDAYGBgQEBgYGCAgFBgYGBgYEBgYGBggGBgYGBgYGAgICAgYGBgYGBgYODQcABAQEBAcFCQcCBAQEBQIFAgkHBQcHBwcHBwcHBAQEBwQHCQcHBwcHBwkHBAcHBwoJBwcHBwcHBwcKBwcHBAkEBAcHBwcHBwcHBwcEBwcHCgcHBwcHBwcHBwoHBwcEAgQFBwcHBwQJBwcHDAcHBwcMBwcCBQcHCAwMBAcEBAICCQcEBAgIBwcHBwcEBwcHBwcHBwcHBwcHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwQEBAQHBwcHBwcHBwcHBwkJDQcHBwQEBwcHCQkFBwcHBwcEBwcHBwkHBwcHBwcHAgICAgcHBwcHBwcPDggABQUEBAcGCQcDBAQEBgMGAwkHBgcHBwcHBwcHBAQEBwQHCQcHBwcHBwkHBAcHBwsJBwcHBwcHBwcLBwcHBAkEBAcHBwcHBwcHBwcEBwcHCwcHBwcHBwcHBwsHBwcEAwQGBwcHBwQJBwcHDAcHBwcMBwcDBgcHCQwMBAcEBAMDCQcEBAgIBwcHBwcEBwcHBwcHBwcHBwcHCQcHBwcHBwcHBwcHBwcHBwcH'
    $Base64String &= 'BwcHBwcHBwcHBwQEBAQHBwcHBwcHBwcHBwkJDgcHBwQEBwcHCQkGBwcHBwcFBwcHBwkHBwcHBwcHAwMDAwcHBwcHBwcQDwgABQUEBAgGCggDBAQEBgMGAwoIBggICAgICAgIBAQECAQICggICAgICAoIBAgICAsKCAgICAgICAgLCAgIBAoEBAgICAgICAgICAgECAgICwgICAgICAgICAsICAgEAwQGCAgICAQKCAgIDQgICAgNCAgDBggICg0NBAgEBAMDCggEBAkJCAgICAgECAgICAgICAgICAgICggICAgICAgICAgICAgICAgICAgICAgICAgICAQEBAQICAgICAgICAgICAoKDwgICAQECAgICgoGCAgICAgFCAgICAoICAgICAgIAwMDAwgICAgICAgREAkABQUFBQgHCggDBQUFBwMHAwoIBwgICAgICAgIBQUFCAUICggICAgICAoIBQgICAwKCAgICAgICAgMCAgIBQoFBQgICAgICAgICAgFCAgIDAgICAgICAgICAwICAgFAwUHCAgICAUKCAgIDggICAgOCAgDBwgICg4OBQgFBQMDCggFBQkJCAgICAgFCAgICAgICAgICAgICggICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUICAgICAgICAgICAoKEAgICAUFCAgICgoHCAgICAgFCAgICAoICAgICAgIAwMDAwgICAgICAgSEQkABgYFBQkHCwkDBQUFBwMHAwsJBwkJCQkJCQkJBQUFCQUJCwkJCQkJCQsJBQkJCQ0LCQkJCQkJCQkNCQkJBQsFBQkJCQkJCQkJCQkFCQkJDQkJCQkJCQkJCQ0JCQkFAwUHCQkJCQULCQkJDwkJCQkPCQkDBwkJCw8PBQkFBQMDCwkFBQoKCQkJCQkFCQkJCQkJCQkJCQkJCwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQUFBQUJCQkJCQkJCQkJCQsLEQkJCQUFCQkJCwsHCQkJCQkGCQkJCQsJCQkJCQkJAwMDAwkJCQkJCQkTEgoABgYFBQkHDAkDBQUFBwMHAwwJBwkJCQkJCQkJBQUFCQUJDAkJCQkJCQwJBQkJCQ4MCQkJCQkJCQkOCQkJBQwFBQkJCQkJCQkJCQkFCQkJDgkJCQkJCQkJCQ4JCQkFAwUHCQkJCQUMCQkJEAkJCQkQCQkDBwkJDBAQBQkFBQMDDAkFBQoKCQkJCQkFCQkJCQkJCQkJCQkJDAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQUFBQUJCQkJCQkJCQkJCQwMEgkJCQUFCQkJDAwHCQkJCQkGCQkJCQwJCQkJCQkJAwMDAwkJCQkJCQkUEwoABgYGBgoIDAoDBgYGCAMIAwwKCAoKCgoKCgoKBgYGCgYKDAoKCgoKCgwKBgoKCg4MCgoKCgoKCgoOCgoKBgwGBgoKCgoKCgoKCgoGCgoKDgoKCgoKCgoKCg4KCgoGAwYICgoKCgYMCgoKEQoKCgoRCgoDCAoKDBERBgoGBgMDDAoGBgsLCgoKCgoGCgoKCgoKCgoKCgoKDAoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYKCgoKCgoKCgoKCgwMEwoKCgYGCgoKDAwICgoKCgoGCgoKCgwKCgoKCgoKAwMDAwoKCgoKCgoVFAsABwcGBgoIDQoEBgYGCAQIBA0KCAoKCgoKCgoKBgYGCgYKDQoKCgoKCg0KBgoKCg8NCgoKCgoKCgoPCgoKBg0GBgoKCgoKCgoKCgoGCgoKDwoKCgoKCgoKCg8KCgoGBAYICgoKCgYNCgoKEQoKCgoRCgoECAoKDRERBgoGBgQEDQoGBgwMCgoKCgoGCgoKCgoKCgoKCgoKDQoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYKCgoKCgoKCgoKCg0NFAoKCgYGCgoKDQ0ICgoKCgoHCgoKCg0KCgoKCgoKBAQE'
    $Base64String &= 'BAoKCgoKCgoWFQsABwcGBgsJDQsEBgYGCQQJBA0LCQsLCwsLCwsLBgYGCwYLDQsLCwsLCw0LBgsLCxANCwsLCwsLCwsQCwsLBg0GBgsLCwsLCwsLCwsGCwsLEAsLCwsLCwsLCxALCwsGBAYJCwsLCwYNCwsLEgsLCwsSCwsECQsLDRISBgsGBgQEDQsGBgwMCwsLCwsGCwsLCwsLCwsLCwsLDQsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwYGBgYLCwsLCwsLCwsLCw0NFQsLCwYGCwsLDQ0JCwsLCwsHCwsLCw0LCwsLCwsLBAQEBAsLCwsLCwsXFgwABwcGBgsJDgsEBgYGCQQJBA4LCQsLCwsLCwsLBgYGCwYLDgsLCwsLCw4LBgsLCxEOCwsLCwsLCwsRCwsLBg4GBgsLCwsLCwsLCwsGCwsLEQsLCwsLCwsLCxELCwsGBAYJCwsLCwYOCwsLEwsLCwsTCwsECQsLDhMTBgsGBgQEDgsGBg0NCwsLCwsGCwsLCwsLCwsLCwsLDgsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwYGBgYLCwsLCwsLCwsLCw4OFgsLCwYGCwsLDg4JCwsLCwsHCwsLCw4LCwsLCwsLBAQEBAsLCwsLCwsYFwwACAgHBwwJDwwEBwcHCQQJBA8MCQwMDAwMDAwMBwcHDAcMDwwMDAwMDA8MBwwMDBEPDAwMDAwMDAwRDAwMBw8HBwwMDAwMDAwMDAwHDAwMEQwMDAwMDAwMDBEMDAwHBAcJDAwMDAcPDAwMFAwMDAwUDAwECQwMDxQUBwwHBwQEDwwHBw0NDAwMDAwHDAwMDAwMDAwMDAwMDwwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAcHBwcMDAwMDAwMDAwMDA8PFwwMDAcHDAwMDw8JDAwMDAwIDAwMDA8MDAwMDAwMBAQEBAwMDAwMDAwAAAHOAZAABQABArwCigAAAI8CvAKKAAABxQAyAQMAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQWx0cwBAACDwAgNg/yQAAANgANwAAAABAAAAAQAA7akOdV8PPPUAAAPoAAAAALcUv64AAAAAtxS/rv/c/yQDqgNgAAAAAwACAAEAAAAAAAEAAANg/yQAAAOq/9z/kgOqAAEAAAAAAAAAAAAAAAAAAADuAAEAAADuAIoAHQBoABcAAgAIAEAACgAAAGIAqgACAAM='
    Return Binary(_WinAPI_Base64Decode($Base64String))
EndFunc   ;==>AstronautIII

Func _WinAPI_LZNTDecompress(ByRef $tInput, ByRef $tOutput, $iBufferSize);UEZ
    $tOutput = DllStructCreate("byte[" & $iBufferSize & "]")
    If @error Then Return SetError(1, 0, 0)
    Local $aRet = DllCall("ntdll.dll", "uint", "RtlDecompressBuffer", "ushort", 0x0002, "struct*", $tOutput, "ulong", $iBufferSize, "struct*", $tInput, "ulong", DllStructGetSize($tInput), "ulong*", 0)
    If @error Then Return SetError(2, 0, 0)
    If $aRet[0] Then Return SetError(3, $aRet[0], 0)
    Return $aRet[6]
EndFunc   ;==>_WinAPI_LZNTDecompress

Func _WinAPI_Base64Decode($sB64String);UEZ
    Local $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(1, 0, "")
    Local $bBuffer = DllStructCreate("byte[" & $aCrypt[5] & "]")
    $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $bBuffer, "dword*", $aCrypt[5], "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(2, 0, "")
    Return DllStructGetData($bBuffer, 1)
EndFunc   ;==>_WinAPI_Base64Decode

 

Link to comment
Share on other sites

21 hours ago, jcpetu said:

Hi UEZ, I'm trying to use an embbeded icon in a TreeView control without success, any help will be appreciated.

#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <GuiTreeView.au3>
#include <Staticconstants.au3>
#include <WinAPI.au3>
#include <WinAPIEx.au3>
#include <WinAPIHObj.au3>
#include <WindowsConstants.au3>
;----------------------------------------------------------------------------------------------------------------------
_GDIPlus_Startup()
Global $Icon = Load_BMP_From_Mem(Exit24X24png(), True)



GUICreate("TreeView Set Icon", 400, 300)

Global $idTreeView = GUICtrlCreateTreeView(2, 2, 396, 268, BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS, $TVS_CHECKBOXES))

Global $TVRoot = GUICtrlCreateTreeViewItem("Internet", $idTreeView)
_GUICtrlTreeView_SetImageIndex($idTreeView, $Icon, 6)

GUICtrlCreateTreeViewItem("Item 1", $TVRoot)
GUICtrlCreateTreeViewItem("Item 2", $TVRoot)
GUICtrlSetState($TVRoot, BitOR($GUI_EXPAND, $GUI_DEFBUTTON))

GUISetState(@SW_SHOW)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

GUIDelete()
_GDIPlus_Shutdown()


Func Load_BMP_From_Mem($bImage, $hHBITMAP = False) ;UEZ
    If Not IsBinary($bImage) Then Return
    Local $declared = True
    If Not $__g_hGDIPDll Then
        _GDIPlus_Startup()
        $declared = False
    EndIf
    Local Const $memBitmap = Binary($bImage) ;load image  saved in variable (memory) and convert it to binary
    Local Const $len = BinaryLen($memBitmap) ;get length of image
    Local Const $hData = _MemGlobalAlloc($len, $GMEM_MOVEABLE) ;allocates movable memory  ($GMEM_MOVEABLE = 0x0002)
    Local Const $pData = _MemGlobalLock($hData) ;translate the handle into a pointer
    Local $tMem = DllStructCreate("byte[" & $len & "]", $pData) ;create struct
    DllStructSetData($tMem, 1, $memBitmap) ;fill struct with image data
    _MemGlobalUnlock($hData) ;decrements the lock count  associated with a memory object that was allocated with GMEM_MOVEABLE
    Local $hStream = DllCall("ole32.dll", "int", "CreateStreamOnHGlobal", "handle", $pData, "int", True, "ptr*", 0)
    $hStream = $hStream[3]
    Local $hBitmap = DllCall($__g_hGDIPDll, "uint", "GdipCreateBitmapFromStream", "ptr", $hStream, "int*", 0) ;Creates a Bitmap object based on an IStream COM interface
    $hBitmap = $hBitmap[2]
    Local Const $tVARIANT = DllStructCreate("word vt;word r1;word r2;word r3;ptr data; ptr")
    DllCall("oleaut32.dll", "long", "DispCallFunc", "ptr", $hStream, "dword", 8 + 8 * @AutoItX64, "dword", 4, "dword", 23, "dword", 0, "ptr", 0, "ptr", 0, "ptr", DllStructGetPtr($tVARIANT)) ;release memory from $hStream to avoid memory leak
    $tMem = 0
    If $hHBITMAP Then
        Local Const $hHBmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
        _GDIPlus_BitmapDispose($hBitmap)
        If Not $declared Then _GDIPlus_Shutdown()
        Return $hHBmp
    EndIf
    If Not $declared Then _GDIPlus_Shutdown()
    Return $hBitmap
EndFunc   ;==>Load_BMP_From_Mem

Func WinAPI_Base64Decode($sB64String);UEZ
    Local $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(1, 0, "")
    Local $bBuffer = DllStructCreate("byte[" & $aCrypt[5] & "]")
    $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $bBuffer, "dword*", $aCrypt[5], "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(2, 0, "")
    Return DllStructGetData($bBuffer, 1)
EndFunc   ;==>WinAPI_Base64Decode

Func _WinAPI_LZNTDecompress(ByRef $tInput, ByRef $tOutput, $iBufferSize = 0x800000);UEZ
    Local $tBuffer, $Ret
    $tOutput = 0
    $tBuffer = DllStructCreate('byte[' & $iBufferSize & ']')
    If @error Then Return SetError(1, 0, 0)
    $Ret = DllCall('ntdll.dll', 'uint', 'RtlDecompressBuffer', 'ushort', 0x0002, 'ptr', DllStructGetPtr($tBuffer), 'ulong', $iBufferSize, 'ptr', DllStructGetPtr($tInput), 'ulong', DllStructGetSize($tInput), 'ulong*', 0)
    If @error Then Return SetError(2, 0, 0)
    If $Ret[0] Then Return SetError(3, $Ret[0], 0)
    $tOutput = DllStructCreate('byte[' & $Ret[6] & ']')
    If Not _WinAPI_MoveMemory(DllStructGetPtr($tOutput), DllStructGetPtr($tBuffer), $Ret[6]) Then
        $tOutput = 0
        Return SetError(4, 0, 0)
    EndIf
    Return $Ret[6]
EndFunc   ;==>_WinAPI_LZNTDecompress

Func Exit24X24png()
    Local $ExitPNG24X24png = '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'
    $ExitPNG24X24png &= '/zlbuDOlxaWFn06dWf/e6dPVjxqZd4r2p+eeswZ7utLpzs60Hk8kha6bALLRqNfz+UJhdTX79vxC4fMvv+z8P0P/A5IyTXF4aEjtaG5WLV1XvCAAKYPlbDb47fS0H9yRjv8m/wZF7Zsuu2STYgAAAABJRU5ErkJggg=='
    Return Binary(WinAPI_Base64Decode($ExitPNG24X24png))
EndFunc   ;==>Exit24X24png

 

 

Try this:

#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <GuiTreeView.au3>
#include <Staticconstants.au3>
#include <WinAPI.au3>
#include <WinAPIEx.au3>
#include <WinAPIHObj.au3>
#include <WindowsConstants.au3>
;----------------------------------------------------------------------------------------------------------------------
_GDIPlus_Startup()
Global $Icon = _GDIPlus_BitmapCreateFromMemory(Exit24X24png())
Global $hIcon_16x16 = _GDIPlus_ImageResize($Icon, 16, 16)
Global $hIcon_16x16_GDI = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hIcon_16x16)
Global $hImage = _GUIImageList_Create(16, 16, 5, 3)
_GUIImageList_Add($hImage, $hIcon_16x16_GDI)

GUICreate("TreeView Set Icon", 400, 300)

Global $idTreeView = GUICtrlCreateTreeView(2, 2, 396, 268, BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS, $TVS_CHECKBOXES))

Global $TVRoot = GUICtrlCreateTreeViewItem("Internet", $idTreeView)
GUICtrlCreateTreeViewItem("Item 1", $TVRoot)
GUICtrlCreateTreeViewItem("Item 2", $TVRoot)
GUICtrlSetState($TVRoot, BitOR($GUI_EXPAND, $GUI_DEFBUTTON))

_GUICtrlTreeView_SetNormalImageList($idTreeView, $hImage)
GUISetState(@SW_SHOW)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

GUIDelete()
_GDIPlus_ImageDispose($Icon)
_GDIPlus_ImageDispose($hIcon_16x16)
_WinAPI_DeleteObject($hIcon_16x16_GDI)
_GDIPlus_Shutdown()

Func WinAPI_Base64Decode($sB64String);UEZ
    Local $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(1, 0, "")
    Local $bBuffer = DllStructCreate("byte[" & $aCrypt[5] & "]")
    $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $bBuffer, "dword*", $aCrypt[5], "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(2, 0, "")
    Return DllStructGetData($bBuffer, 1)
EndFunc   ;==>WinAPI_Base64Decode

Func _WinAPI_LZNTDecompress(ByRef $tInput, ByRef $tOutput, $iBufferSize = 0x800000);UEZ
    Local $tBuffer, $Ret
    $tOutput = 0
    $tBuffer = DllStructCreate('byte[' & $iBufferSize & ']')
    If @error Then Return SetError(1, 0, 0)
    $Ret = DllCall('ntdll.dll', 'uint', 'RtlDecompressBuffer', 'ushort', 0x0002, 'ptr', DllStructGetPtr($tBuffer), 'ulong', $iBufferSize, 'ptr', DllStructGetPtr($tInput), 'ulong', DllStructGetSize($tInput), 'ulong*', 0)
    If @error Then Return SetError(2, 0, 0)
    If $Ret[0] Then Return SetError(3, $Ret[0], 0)
    $tOutput = DllStructCreate('byte[' & $Ret[6] & ']')
    If Not _WinAPI_MoveMemory(DllStructGetPtr($tOutput), DllStructGetPtr($tBuffer), $Ret[6]) Then
        $tOutput = 0
        Return SetError(4, 0, 0)
    EndIf
    Return $Ret[6]
EndFunc   ;==>_WinAPI_LZNTDecompress

Func Exit24X24png()
    Local $ExitPNG24X24png = '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'
    $ExitPNG24X24png &= '/zlbuDOlxaWFn06dWf/e6dPVjxqZd4r2p+eeswZ7utLpzs60Hk8kha6bALLRqNfz+UJhdTX79vxC4fMvv+z8P0P/A5IyTXF4aEjtaG5WLV1XvCAAKYPlbDb47fS0H9yRjv8m/wZF7Zsuu2STYgAAAABJRU5ErkJggg=='
    Return Binary(WinAPI_Base64Decode($ExitPNG24X24png))
EndFunc   ;==>Exit24X24png

 

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

  • 5 months later...

I'm trying to place some icons to right side of the the menu-bar (below close and other buttons) but setting $top coordinate to zero places it just below it... it seems menu bar not counted as client area?..

also - for some reason in code below pics (jpeg, 24x24) not visible...

#AutoIt3Wrapper_UseX64=Y
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>

#include <GuiMenu.au3>
#include <GDIPlus.au3>

Opt("GUIOnEventMode", 1)

$hDLL_Crypt32 = DllOpen("Crypt32.dll")
$hDLL_ntdll = DllOpen("ntdll.dll")
$hDLL_User32 = DllOpen("user32.dll")


$iWidth = 555
$iIconSize = 24

#Region ### START Koda GUI section ### Form=
Local $Form1 = GUICreate("Form1", $iWidth, 333, (@DesktopWidth - $iWidth)/2, (@DesktopHeight - 333)/2)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")

Global Enum $e_idNew = 1000, $e_idOpen, $e_idSave, $e_idExit, $e_idCut, $e_idCopy, $e_idPaste, $e_idAbout

; Create File menu
$hFile = _GUICtrlMenu_CreateMenu()
_GUICtrlMenu_InsertMenuItem($hFile, 0, "&New", $e_idNew)
_GUICtrlMenu_InsertMenuItem($hFile, 1, "&Open", $e_idOpen)
_GUICtrlMenu_InsertMenuItem($hFile, 2, "&Save", $e_idSave)
_GUICtrlMenu_InsertMenuItem($hFile, 3, "", 0)
_GUICtrlMenu_InsertMenuItem($hFile, 4, "E&xit", $e_idExit)

; Create Edit menu
$hEdit = _GUICtrlMenu_CreateMenu()
_GUICtrlMenu_InsertMenuItem($hEdit, 0, "&Cut", $e_idCut)
_GUICtrlMenu_InsertMenuItem($hEdit, 1, "C&opy", $e_idCopy)
_GUICtrlMenu_InsertMenuItem($hEdit, 2, "&Paste", $e_idPaste)

; Create Help menu
$hHelp = _GUICtrlMenu_CreateMenu()
_GUICtrlMenu_InsertMenuItem($hHelp, 0, "&About", $e_idAbout)

; Create Main menu
$hMain = _GUICtrlMenu_CreateMenu()
_GUICtrlMenu_InsertMenuItem($hMain, 0, "&File", 0, $hFile)
_GUICtrlMenu_InsertMenuItem($hMain, 1, "&Edit", 0, $hEdit)
_GUICtrlMenu_InsertMenuItem($hMain, 2, "&Help", 0, $hHelp)

; Set window menu
_GUICtrlMenu_SetMenu($Form1, $hMain)


Local $Icon1 = GUICtrlCreatePic("", $iWidth - $iIconSize - 8, 0, $iIconSize, $iIconSize)
$Logo1 = _GDIPlus_BitmapCreateFromMemory(_Base64String1(), True)
_WinAPI_DeleteObject(GUICtrlSendMsg($Icon1, $STM_SETIMAGE, $IMAGE_BITMAP, $Logo1))

Local $Icon2 = GUICtrlCreatePic("", $iWidth - 2*$iIconSize-2 - 8, 0, $iIconSize, $iIconSize)
$Logo2 = _GDIPlus_BitmapCreateFromMemory(_Base64String2(), True)
_WinAPI_DeleteObject(GUICtrlSendMsg($Icon2, $STM_SETIMAGE, $IMAGE_BITMAP, $Logo2))

Local $Icon3 = GUICtrlCreatePic("", $iWidth - 3*$iIconSize-4 - 8, 0, $iIconSize, $iIconSize)
$Logo3 = _GDIPlus_BitmapCreateFromMemory(_Base64String3(), True)
_WinAPI_DeleteObject(GUICtrlSendMsg($Icon3, $STM_SETIMAGE, $IMAGE_BITMAP, $Logo3))

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    Sleep(100)
WEnd

Func Form1Close()
    GUIDelete()
    exit
EndFunc

;==============================================================================================================================================================================================
Func SharpReaderEX_SetIcon($hWnd,$bMemoryBitmap, ByRef $hIcon)
    Local $hBitmap = _GDIPlus_BitmapCreateFromMemory($bMemoryBitmap)
    $hIcon = _GDIPlus_HICONCreateFromBitmap($hBitmap)
    _SendMessageEX($hWnd, 0x0080, 1, $hIcon); 0x0080 = $WM_SETICON, 0 = icon small -> 1 = icon big
    ;_WinAPI_SetClassLongEx($hWnd, $GCL_HICONSM, $hIcon)
    ;_GDIPlus_BitmapDispose($hBitmap)
EndFunc
;==============================================================================================================================================================================================
Func _SendMessageEX($hWnd, $iMsg, $wParam = 0, $lParam = 0, $iReturn = 0, $wParamType = "wparam", $lParamType = "lparam", $sReturnType = "lresult")
    Local $aResult = DllCall($hDLL_User32, $sReturnType, "SendMessageW", "hwnd", $hWnd, "uint", $iMsg, $wParamType, $wParam, $lParamType, $lParam)
    If @error Then Return SetError(@error, @extended, "")
    If $iReturn >= 0 And $iReturn <= 4 Then Return $aResult[$iReturn]
    Return $aResult
EndFunc   ;==>_SendMessage



Func _Base64String1()
    Local $Base64String1
    $Base64String1 &= 'lLIA/9j/4AAQSkYASUYAAQEBAEgBABAA/9sAQwAHQAUGBgYFBwAgCAAIBwkLEgwLCgAKCxcQEQ0SGwAXHBwaFxoZHQAhKiQdHyggGQAaJTIlKCwtLwAwLx0jNDg0LiA3Ki4vLgGIAQgACAgLCgsWDAxAFi4eGh4uLgD/AMIAEQgAGAAYAAMBEQACEQEDEBEB/8QADwEAAwQBAAgAAwACBAYdABkXAMMAxQkABAIBEP/aAAwALwIQAwAQAAAB7eGmBgAhgtmtHS2ehqTzlAA0GxCAHwMJGwABAgMREiIABAUAHAiACwEFAnc7AHeN2Hhg0nb6AAVrQb05Y2KhNAF2AR0RAUSJRQECwBEAEBIhMgIdACoAPwFEEw6WZ0EAMTE84HxkcTGgCW5mE3+AHByAZwYCCzoAYhESIRATBQIdAgEdY220P1AAMxbbbSoBb3wAOCzkYu20rZmgjEWu20+BIBCOIAACABEDITEjsQGEWwY/AjuXuXcANxceZfTISQoAeKBGrkIbUKjAax8gVRc/AnwBloOJEEBZITFBUWEFPgA/IWgIBzNGNQAl+PPuKbAvvgDqnWAPykO9AQDLmXKN7MvSYQDmhD7i4kvLOAYNhVhAUgAAEKb95BQfwBcZEYJjSSjAFwNEF8FGEI6luT4GAK6EmYfjWahDAOZJFkyuhjIHRYFHHYEOAAAHiA4AIhGBJpGxwcZHENgABwIcQYgF0ZUAa6vuQedkPd8AYyQ0YKQ+JAU8MC8CSAAkgBmJNyEAIDFBcVGRxjcQWAAEAHC4EQKsbwDn3eBopdSoOgBHncOhDYW00QCENFDOKKao+gDw1MYyfaBbWwC/OeGGnBZBlADUOmtnMWi5GwDwcA7IBWrV0QBfuf/Z'
    $Base64String1 = _WinAPI_Base64Decode($Base64String1)
    Local $tSource = DllStructCreate('byte[' & BinaryLen($Base64String1) & ']')
    DllStructSetData($tSource, 1, $Base64String1)
    Local $tDecompress
    _WinAPI_LZNTDecompress($tSource, $tDecompress, 837)
    $tSource = 0
    Local Const $bString = Binary(DllStructGetData($tDecompress, 1))
    Return $bString
EndFunc   ;==>_Base64String1

Func _Base64String2()
    Local $Base64String2
    $Base64String2 &= 'srIA/9j/4AAQSkYASUYAAQEBAEgBABAA/9sAQwAHQAUGBgYFBwAgCAAIBwkLEgwLCgAKCxcQEQ0SGwAXHBwaFxoZHQAhKiQdHyggGQAaJTIlKCwtLwAwLx0jNDg0LiA3Ki4vLgGIAQgACAgLCgsWDAxAFi4eGh4uLgD/AMIAEQgAGAAYAAMBEQACEQEDMBEB/8QADwCpAwBBCAAGAwIEBwAZFwcAwwAbCAAEAwIA/wDaAAwDAQACEAADEAAAAWVZUwCjfNOetKtmfADxbWm42kSsymGAHB4QAAIAAIgqAQACAwQABRESExQUIgAgCAArAQUCAJ7QWYNziP8AAFdcjZ15B0MpAPPs9f7BEVwPUEKrJn+AIhuAUgOJikABA4BbBBITAiEBAA0/AWM8z7bKADdPkzqB2LvkAF2JYAIxYvLcoHYxCAqfACAcACBHgSCIYIBDERIhBEICAYEghXlZNRx5kgCOwJx6NfLZXcCuB6IFlu4BPwBiDAEEAB+KHhEhAxMQEjEyQQRiBj8CANKLaeihGO+9ABml0WNuaMTUAE7U2445kOSY0K7NuX0CIRAAS4oRAAEAESFhMUFRAsFFQj8hqCAFeQB9QvbfcfcLfACDjXLkwlVL9wAnQm4JiWgJhQAuWy8Ayj99rQxxP4VegmsQHyFseYEpHRHBF8pawBeAF2EEgZHGSRAcIBYnAJk16lwkAlvHAFDeoyvyCUxXIHBrMrzPQBAZESMCeksoMWEhxkgQSgA47cywMyoxjwCTPkY8m+AwLy1ADR/CNYlXAYEdAGEgUZGhcYGGNhBNAD4rejpVr2RmAK6WFMhdzngpAKUJ7lLfR+PCAFYIQgAZLcRjAFzVMMv5fIeOAAF4CpNNfyuAAKE70KNj8ZdsAFHlMqAg77gOAErZ5hh+A0HuAEMRf//Z'
    $Base64String2 = _WinAPI_Base64Decode($Base64String2)
    Local $tSource = DllStructCreate('byte[' & BinaryLen($Base64String2) & ']')
    DllStructSetData($tSource, 1, $Base64String2)
    Local $tDecompress
    _WinAPI_LZNTDecompress($tSource, $tDecompress, 866)
    $tSource = 0
    Local Const $bString = Binary(DllStructGetData($tDecompress, 1))
    Return $bString
EndFunc   ;==>_Base64String2

Func _Base64String3()
    Local $Base64String3
    $Base64String3 &= 'ybIA/9j/4AAQSkYASUYAAQEBAEgBABAA/9sAQwAHQAUGBgYFBwAgCAAIBwkLEgwLCgAKCxcQEQ0SGwAXHBwaFxoZHQAhKiQdHyggGQAaJTIlKCwtLwAwLx0jNDg0LiA3Ki4vLgGIAQgACAgLCgsWDAxAFi4eGh4uLgD/AMIAEQgAGAAYAAMBEQACEQEDABEB/8QAFwAACAMBAAkAAwQGBSEAGBkBAAIMGQIDgAQFAf/aAAwAFwACEAMQAAABowDJrEdlkUUK0QDrWYnOg1QB0UQ5W4AdGxABgSoDAQgqAQIEExIUIQWAHggAjQEFAtDpANZpo5FoSLp9AGtSfUOfBNFLgFWRVkc4oi+BHw4RAh+JPgBYEiEiMgGCHwMBAT8Bd9oARpaK+0b6J5gAZnY6bTOUgq6q04AcHgBtAwpcAQAHgBIRIxMhYXECHgICAR5777IBnjcA43qIfcXAJjAAcsP7BXqz8lYAvYI9F9kgSpeAZxx6ilW0JwEnDQBkAgAoh2QBABECgBITITEDQWKEZQAGPwLIMkBnLwAvVX7B3UmZ+gCPx9XpU1uy/gCmVj29TiF1mJCGD77UgBIaEMCEAwEAhxIRIQAxcVEBhUQ/IVQTAOA1AJ51ZL2wi0W0AOOoFWv3lUU3ALnnKMsl8dluAEVMTvhWTU/OYPA9KsB3BWECJhDwOYW3H0JNQRdAKwkrIBBxITGBRk0Q0wAHjBSLDV3C+ABeD3aaEvUcsSQUv0AOHxHADQEDAgVKDiFBcbExYQiBkaGGTRBdQBoAxBNDV9WLWRYAsyp3WXMUGrAA+QtlOYNgi3gA7wNi8H1tHsl0QZnAExzAOgFhyToAYCExUWFxgyJBOxAAbKJmcMri9d0A+IOOcabopCkAv9y+SusDbnAAM2lOTW3r3NQADNFTZR6yC4oArUKke+zG+wUAafQ68yEIIgEAO1XP/9k='
    $Base64String3 = _WinAPI_Base64Decode($Base64String3)
    Local $tSource = DllStructCreate('byte[' & BinaryLen($Base64String3) & ']')
    DllStructSetData($tSource, 1, $Base64String3)
    Local $tDecompress
    _WinAPI_LZNTDecompress($tSource, $tDecompress, 875)
    $tSource = 0
    Local Const $bString = Binary(DllStructGetData($tDecompress, 1))
    Return $bString
EndFunc   ;==>_Base64String3

Func _WinAPI_Base64Decode($sB64String)
    Local $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(1, 0, "")
    Local $bBuffer = DllStructCreate("byte[" & $aCrypt[5] & "]")
    $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $bBuffer, "dword*", $aCrypt[5], "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(2, 0, "")
    Return DllStructGetData($bBuffer, 1)
EndFunc   ;==>_WinAPI_Base64Decode

Func _WinAPI_LZNTDecompress(ByRef $tInput, ByRef $tOutput, $iBufferSize)
    $tOutput = DllStructCreate("byte[" & $iBufferSize & "]")
    If @error Then Return SetError(1, 0, 0)
    Local $aRet = DllCall("ntdll.dll", "uint", "RtlDecompressBuffer", "ushort", 0x0002, "struct*", $tOutput, "ulong", $iBufferSize, "struct*", $tInput, "ulong", DllStructGetSize($tInput), "ulong*", 0)
    If @error Then Return SetError(2, 0, 0)
    If $aRet[0] Then Return SetError(3, $aRet[0], 0)
    Return $aRet[6]
EndFunc   ;==>_WinAPI_LZNTDecompress

 

Link to comment
Share on other sites

You must call _GDIPlus_Startup() before you can use any GDI+ function. ;)

 

Regarding the icon in the menu maybe this will help

 

 

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...