[Library] Fast Image2Ascii-Art (Image to String) Lib - Windows only!

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
User avatar
Mijikai
Addict
Addict
Posts: 1360
Joined: Sun Sep 11, 2016 2:17 pm

[Library] Fast Image2Ascii-Art (Image to String) Lib - Windows only!

Post by Mijikai »

i2a is a fast and simple Image2Ascii-Art conversion Library.
i2a uses a dedicated subset of ascii chars to represent the grayscale values of an image.

Example:

Code: Select all

EnableExplicit

;i2a (image2ascii) Libs (i2a32 & i2a64)
;Author:  Mijikai
;Version: Alpha
;License: Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)

CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
  Import "i2a32.lib"
    i2aAlloc.i(Handle.i,Factor.i = #Null);<- returns a ptr to a string structure / the factor sets how many pixels are skipped (0 - 8) 8 is the max!
    i2aFree.i(*String)
  EndImport
CompilerElse
  Import "i2a64.lib"
    i2aAlloc.i(Handle.i,Factor.i = #Null)
    i2aFree.i(*String)
  EndImport
CompilerEndIf

UseJPEGImageDecoder()

Procedure.i Main()
  Protected img.i
  Protected *str.String
  img = LoadImage(#PB_Any,"test.jpg")
  If img
    *str = i2aAlloc(ImageID(img))
    If *str
      Debug *str\s
      i2aFree(*str)
    EndIf
    FreeImage(img)
  EndIf
  ProcedureReturn #Null
EndProcedure

Main()

End
Have fun :)

Download:
https://www.dropbox.com/s/g5iaxtrovq1gl ... a.zip?dl=0
Last edited by Mijikai on Fri Apr 16, 2021 6:24 pm, edited 3 times in total.
devox
User
User
Posts: 32
Joined: Thu Apr 01, 2021 7:25 pm

Re: [Library] Fast Image2Ascii-Art (Image to String) Lib - Windows only!

Post by devox »

I'm not able to get the example working as the linker needs the "i2a64.lib" file, and it does not seem to be part of the download? Is this something we are to generate from the DLL?
User avatar
Saki
Addict
Addict
Posts: 830
Joined: Sun Apr 05, 2020 11:28 am
Location: Pandora

Re: [Library] Fast Image2Ascii-Art (Image to String) Lib - Windows only!

Post by Saki »

No offense, but Lib are stillborn children on PB
地球上の平和
User avatar
Mijikai
Addict
Addict
Posts: 1360
Joined: Sun Sep 11, 2016 2:17 pm

Re: [Library] Fast Image2Ascii-Art (Image to String) Lib - Windows only!

Post by Mijikai »

Added the missing lib files pls try again.
User avatar
Mijikai
Addict
Addict
Posts: 1360
Joined: Sun Sep 11, 2016 2:17 pm

Re: [Library] Fast Image2Ascii-Art (Image to String) Lib - Windows only!

Post by Mijikai »

Saki wrote: Fri Apr 16, 2021 4:37 pm No offense, but Lib are stillborn children on PB
What do you mean walbus?
Libraries are common in most languages and PB is no exception.
User avatar
Saki
Addict
Addict
Posts: 830
Joined: Sun Apr 05, 2020 11:28 am
Location: Pandora

Re: [Library] Fast Image2Ascii-Art (Image to String) Lib - Windows only!

Post by Saki »

It's a matter of long-term compatibility.
This was not the case with PB and to what extent it will be in the future I don't know.
This is not a criticism of PB, but an effect of evolution.
And now it's a significant step forward again.
The discussions about this were already endless and since Gnozal has left the forum,
people are crying after his no longer functioning Lib, but you know that yourself.
地球上の平和
User avatar
Mijikai
Addict
Addict
Posts: 1360
Joined: Sun Sep 11, 2016 2:17 pm

Re: [Library] Fast Image2Ascii-Art (Image to String) Lib - Windows only!

Post by Mijikai »

Saki wrote: Fri Apr 16, 2021 5:34 pm It's a matter of long-term compatibility.
This was not the case with PB and to what extent it will be in the future I don't know.
This is not a criticism of PB, but an effect of evolution.
And now it's a significant step forward again.
....
Software by default gets distributed in compiled form, updates are the standard its totally normal.
If you want to make a issue out of nothing go ahead but pls take your complaining to a different thread.
This has nothing to do with i2a.
devox
User
User
Posts: 32
Joined: Thu Apr 01, 2021 7:25 pm

Re: [Library] Fast Image2Ascii-Art (Image to String) Lib - Windows only!

Post by devox »

Mijikai wrote: Fri Apr 16, 2021 4:38 pm Added the missing lib files pls try again.
Can confirm it is working now, maybe it would worth adding the test.jpg to the download? Am I right in thinking that each ascii character is for each pixel? With large image dimensions the amount of ascii it generates is very large and the image only becomes apparent when zoomed out.
User avatar
Mijikai
Addict
Addict
Posts: 1360
Joined: Sun Sep 11, 2016 2:17 pm

Re: [Library] Fast Image2Ascii-Art (Image to String) Lib - Windows only!

Post by Mijikai »

Thx, i forgot to add the desctiption for the a2iAlloc() Factor parameter (i updated the first post).
The factor parameter dictates how many pixels are 'skipped' in order to generate smaller output.
I hope that helps.
RASHAD
PureBasic Expert
PureBasic Expert
Posts: 4661
Joined: Sun Apr 12, 2009 6:27 am

Re: [Library] Fast Image2Ascii-Art (Image to String) Lib - Windows only!

Post by RASHAD »

Hi Mijikai
Good as a start but it need more work to convert the text to image

Code: Select all


;i2a (image2ascii) Libs (i2a32 & i2a64)
;Author:  Mijikai
;Version: Alpha
;License: Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)

CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
  lib = OpenLibrary(0,"i2a32.dll")
CompilerElse
  lib = OpenLibrary(0,"i2a32.dll")
CompilerEndIf

UseJPEGImageDecoder()
UsePNGImageDecoder()
LoadFont(0,"consolas",10)

Procedure.s Main()
  Protected *str.String
  CatchImage(10,?index22)
  ;LoadImage(10,"g:\mmedia\pic_test\index10.jpg")
  ;LoadImage(10,"g:\mmedia\pic_test\index.jpg")
  ;LoadImage(10,"g:\mmedia\pic_test\images3.png")
  ;LoadImage(10,"g:\mmedia\pic_test\images4.jpg")
  ;LoadImage(10,"g:\mmedia\pic_test\images14.jpg")
  If IsImage(10)
    result = GetFunction(0,"i2aAlloc")
    *str = CallFunctionFast(result,ImageID(10),0)  
    text$ = *str\s
    result = GetFunction(0,"i2aFree")
    CallFunctionFast(result,*str) 
  EndIf  
  ProcedureReturn text$
EndProcedure

text$ =  Main()
w = ImageWidth(10)
h = ImageHeight(10)

CreateImage(0,w*7,h*7,24)
StartDrawing(ImageOutput(0))
DrawingFont(FontID(0))
DrawingMode(#PB_2DDrawing_AlphaBlend|#PB_2DDrawing_Transparent)
For i = 0 To h-1
  tx$ = PeekS(@text$+inc,w)  
  DrawText(0,y,tx$,$FFFFFF|$FF000000)
  inc + w*2+2
  y+7
Next
StopDrawing()
ResizeImage(0,w*7/3,h*9/3)
SaveImage(0,"test.bmp")
OpenWindow(0,0,0,ImageWidth(0),ImageHeight(0),"Image to ASCII",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ImageGadget(0,0,0,ImageWidth(0),ImageHeight(0),ImageID(0))
Repeat
  event = WaitWindowEvent(1)
  
Until event = #PB_Event_CloseWindow
If IsLibrary(lib)
  CloseLibrary(lib)
EndIf
End

DataSection
  index22:
  Data.q $0A1A0A0D474E5089,$524448490D000000,$E1000000E1000000,$CF9DCC0000000304,$544C503000000049
  Data.q $3F1A0B1D06000045,$D791F9796D6E4534,$AFA8C4AFAAB4A3A1,$C5CAB1A8C8B1ABC8,$FEFEFFD9C9C5D5C2
  Data.q $FFFFFFFFFFFDFDFD,$0000009AA4E8BBFF,$FFFFFF534E527410,$FFFFFFFFFFFFFFFF,$949FCD000000FFFF
  Data.q $4144490020000086,$1B6FDB9DBDDA7854,$24CE0502EBE099D9,$0CF4DEDEA3915403,$724500B7C342A450
  Data.q $79E5B6C58DC5D5E8,$8DCA2C514C9127E8,$62C5994B22C3DBA4,$D25ADA53F6291017,$8758AA36D3609CA4
  Data.q $4C69922CA15B497E,$DA7646526D655ADA,$008245A855441030,$1A0EC585FF045C41,$88BC53BF7025C418
  Data.q $DBBA733396496592,$AEF9CEFC7F26A596,$D87B5F744C73BEA7,$BD755F9C30C3A1BA,$1FDEA9F83180DF03
  Data.q $844F4E25FFF57AAF,$7136BFEEE21D76FF,$621C76B6D746A6F0,$4D20E8859FC208F7,$10E932244EF6F9EB
  Data.q $B9B69B688E9C635F,$6DFE608239780D5B,$C15C251BBBBB1D88,$969A21B7F8989E09,$7BE716FA8DE8611D
  Data.q $D6DA3AFABFF68982,$93F4F26CD0BDC64D,$FB7ABB36D13EBFF6,$BAF24DCD9BC74129,$6ADD2DD6D34DB6DD
  Data.q $65AEDDED36DC7EF7,$8859FF6ED77617C2,$56895DF8EFABA766,$D374B113039FC5AB,$00BBA7F83BB632C6
  Data.q $B31DB636DD3A76EA,$FDD4DD559E37BDF7,$056F77E5B8F5A254,$D3AF626E82E0DE03,$EADD1DCC836A0476
  Data.q $CFFB768D30D77AD8,$D8FEF849B33F0441,$C208248794326C68,$88B0762626D90815,$DEF7FEBF381F4B6D
  Data.q $346CDD3F0DB1D898,$3D042A23EC127E1A,$02C6D5AEABF1310C,$7779B889DB002FC1,$629E4221F6EC375C
  Data.q $8FC78D0B98AFCD56,$66AD9AB5ADC20937,$80CE90BC3E93F54D,$07C609C9001F7E2F,$DE6AB314F2087FD3
  Data.q $1A854FC366F55AA4,$3994668D900356AD,$475FF4B40C0DD1D7,$71997A0C18227208,$30BFEEC41CFE3753
  Data.q $36699F8B46CD1B33,$2BC806820A815F41,$2B4B543B8467E203,$E3A268F7789462E9,$6BB76F9408317B9D
  Data.q $7F6A14419D47F674,$B66B8387F56EDD41,$68DB75D28466ADEA,$907A907BE926D65B,$1D16814FD56909CD
  Data.q $D3FC2D783C05EC43,$AB1FEE7C421DBFC6,$DE0C1A305D20880F,$8D18E18DC47ADDBE,$484355BF5F3C835D
  Data.q $35D8963A3F10ACAE,$69865BA1AEED2FF1,$7B73894F88C3DDEA,$226A08218663D6C4,$2CB0DB3DF526E4FE
  Data.q $A880A72C9C9ADD58,$03078232F1CAFE22,$BCE0DBE96ED3B157,$EC6C551CE210EB6C,$9258040C82419B11
  Data.q $42A11596E8EF320C,$CC992843973531EB,$1B56DA21274BE1CB,$BC0363F8226B893C,$8D6F9FCBB112F594
  Data.q $181ED89391D5C110,$A4976F319EB6CC72,$D5D236962B484234,$8C34431CEA836F3B,$849A9226B1D0FEAE
  Data.q $BE6EA6098FEF6DB9,$06E6CD7846542EF0,$C673C2707A9B6D47,$8C404AD04154FD32,$58EC7774490B437A
  Data.q $40402013B3A30D19,$623DA4F9310C97F0,$0A8F49B8800678C1,$0AFD8DC1B9DD00D8,$2631711DFAC660FF
  Data.q $5BAC90CA254A7367,$09DD5D02733DDE29,$009A6B114964E430,$E787E64C1120E49E,$D5A347588DEEB51E
  Data.q $996DBB75345C4878,$C00425A0A0B25473,$6E86F9DE4F1B2F09,$193C3A305B04451E,$3904AD2304B4D514
  Data.q $2FB8EBBD22C7016A,$75BD9A17C4E0C53C,$AD6D5AD1B16CF66C,$B904253EA283FD81,$6777C4C4AAD72A50
  Data.q $248E973BB5E33D67,$9698BE3117839042,$4825A92B365248CC,$D6D8F71C4AC06665,$9D130E27FDAED6DB
  Data.q $CDE783F2B909EF51,$909778E340774F16,$767EFF21188A6A2E,$DDCD57408D3EF676,$22D779345B046423
  Data.q $8AD49B30012995BA,$3AB238D8CE4B28D5,$9BB713B3F73F6AC3,$EDCAD412ACD8CB23,$CC467EDD8CCC67AD
  Data.q $001F58563D4A1248,$471D60FDE7723F67,$D94A84457E862111,$4A5935555678422C,$68CF31F2CE171947
  Data.q $9E01A372F64DF6EB,$209346CC4035A1DB,$0BF5AEF1913071D8,$BF611E29254AA62A,$F5803D81B8C8EB3B
  Data.q $A62CB49BF8B6226A,$CACB289113096832,$2D567F55FA13D462,$546E6E3CABE319F3,$875096C6AD18759A
  Data.q $9C856844C410F559,$B262996B8F9CF1D9,$DCF3A464759899EA,$8D771911AE324395,$6DA0B2829242267F
  Data.q $06E364B1C9116430,$EE87F6F43443ABCC,$46FAC52AD5AE5356,$A1D0415DFA2958B1,$D2F0864821E50F2D
  Data.q $11D233E929490142,$52E3AE65DF4C3671,$E015643F355988E1,$5894D5C461150848,$B6ACCEDAA388B256
  Data.q $4A81B8B9BC5C678D,$88279D4AA27F115A,$E00210936376EB60,$2990B164F5B1895C,$42BE3236700EDDF9
  Data.q $FE96892BD45B0AFE,$50AA422A298E9B82,$7E452CB61A4395BC,$9F1861D6392E6790,$C65A07C32455F5D1
  Data.q $7C23804AC1FD456E,$26051EB4CEE79010,$2E34905D316A6A38,$44D1D42B7DFA23D6,$C72A928BCA8AFF5D
  Data.q $CAAEE082BAC03D51,$EC6DE984A4A2EAE5,$A10D23CE607FDA8E,$F1311C0AC0207F6C,$7AB6AD76F24DAD0F
  Data.q $EA8D7E62CAAF1897,$99D1F49BC9996701,$ADEA6BCBE67FAE95,$44E4B2F2E90B6838,$39FE9E1488B24B08
  Data.q $121CE99DA6119CE8,$4D12A5947C8D0FE1,$09D84500F6B37CFE,$A64ABD49FD736824,$A69197F2238E97FD
  Data.q $A366C60D9E5DC24A,$4A22CC84550D821E,$9F9D0C7635DE25DC,$F5EA9765C111F652,$75A16E82FEDF4718
  Data.q $F6FB8155C567EF2D,$4FFD9D9B3FFBECEC,$0C6C37F11C7322F4,$21FC2193F71730DE,$2DCE5421F5960193
  Data.q $30B89734338D3C8B,$D2055096ACC22C4A,$C2C4D75F5526DF56,$311EE9C9462BE316,$25F8863F5C45B63C
  Data.q $57F52F5043989305,$37E25589E371EA22,$B3E6AF8D9FDBCD41,$98C58BA52890DCD9,$F5A173E108F56A8C
  Data.q $F1D16121162278E5,$8FB6837CBFE8812B,$F90C8CD45694FE21,$6EEB08D9C4FB77D0,$EAEEDFFAAC508A28
  Data.q $224347F601FA74FC,$A79D41FA3C209120,$E631E25559637958,$DC4DE6BC47BC7FBC,$B2E527FA218F331C
  Data.q $8F78E1D9C9D9272C,$F92EE24A29CBDDF1,$2234927324251CC1,$AD7CA543517BB823,$1E5EFE54B5D391C4
  Data.q $DD578881C3C70845,$8B8771347BA57F0A,$8F777D7514AE4A29,$AB134E52C4A7EB38,$483A913578FCDBFC
  Data.q $427FC6ACAF188A44,$8912C92A96F5805C,$EFB9C632CE67E827,$8483978579DAB641,$0D20A56515467CCA
  Data.q $03725471AE37BBB4,$5AA5632661857626,$68CD9308E2ACDF6A,$7758CB165E4A235A,$B1D47F03757E3095
  Data.q $F575243898ECC235,$BBE9DE5C5DD8698E,$4A79D41D4223D1B6,$128DF79934A71F2B,$3028B890172F2961
  Data.q $484421FCD6FD6C44,$4D906BCCA8454432,$293E15558506ED21,$410071B8ED11F333,$257606FAE8AA7754
  Data.q $5A9AFCBF77A5A27D,$5E23EEDFFCE3A5CE,$B661F282AAA4B80B,$A4A61D100F652C9A,$2AA105860454F70A
  Data.q $FB8AEFF67B67FC86,$0BFA7145486DD8CF,$3D330F111869ABF5,$B939E1FDDE264224,$D60C0F667A4E5B9A
  Data.q $A2F2E24D95962B17,$729796518444BEA4,$61F291A62024FCE0,$1C15DC2B743E516F,$0BC69AEEB1C76D72
  Data.q $19FFE420920EE93F,$B9972B70B4FC3B10,$6284A959FA241D41,$366251A94B4BE30A,$30D65419CAE627D3
  Data.q $CD1CCE90AD8C5A51,$21C61A82BF126F8D,$90DC67BF30943A5A,$C19542EC407CFC9D,$F112F2BB395C95C5
  Data.q $04A7E29196A7C79A,$9CB2CA40E3DA8E24,$107F0C1763CDCC5A,$FBA99E45F857FF11,$7562EEACF099AE34
  Data.q $65773EA342D4C3D5,$CB65111EEAECEC48,$A3CD71177F899799,$31287EB5311AD27B,$B898AB2A1A2B66A5
  Data.q $F15CD7017630B48E,$D72E2EE23DDA5FF0,$D1FFE29242122176,$95314561DDDDD890,$2D12110F66B8ACCB
  Data.q $11187A98B1F916E5,$5130952DCD93342C,$FED87BE42F145114,$EBC06AEC32D11ECD,$2203E9CDBDCAA1A1
  Data.q $4E51929AAA33D528,$52225C9FFB389979,$8E5280152AB4BBA4,$196962B396362095,$1E60258C3F396196
  Data.q $7C203E03D258D5C9,$DB5618CEB0B48576,$6CDDAC62B2E3F2DA,$6B4D11EEC766D0AD,$E2ACE485292E4FF7
  Data.q $4554CCABC44BEEF9,$65998980B8DEAA95,$0E58C33054873390,$1E698E92A251E949,$D429DA110BFE5708
  Data.q $F394B40239366740,$9F5699673E1D3241,$29CD45715C2F5B68,$C51C6E0CE8F603A5,$89CA22634C9F8892
  Data.q $6572DF20E25489BD,$83EFE59805CA888F,$69A260EF73D3B0EA,$64FDBEB98CA0D777,$D55875D10905BB6B
  Data.q $3962027FDB63B11E,$BD7EF39F43C314A3,$39C5D612343C703E,$0C84C41093025177,$0B15AFDF832A1EF9
  Data.q $5C94B13366BADEDA,$117F38AE22374878,$F5E5E00FF35DF017,$027A9E47F0D54EE7,$356E67EC3AC0C525
  Data.q $C55FA1A3E82B2B9F,$BAE321267740E949,$18E5165D7130C543,$A4A0CE4A6CE50A4A,$A9369604909F6A3C
  Data.q $C8DC9D7799E74B28,$A970D66AD196A9E6,$884777776EBC9372,$3AA7B8B9753E1574,$3C32FBD67FD6FE90
  Data.q $6DE0A6213C95E68E,$2F2D1A5A444D09A3,$944447545262D4C5,$6F8CB2C8BA42B9F2,$90FBBD7C5200F88D
  Data.q $68D6AADAAD5BD199,$CD7D9A54C2CE796E,$72A12F2A33F65AE9,$17D88476FF6494B9,$E999E64C45773DF2
  Data.q $78D493543F849814,$2B2F3C50D9651931,$74804AC92C52B6A3,$F5BDD83AF6119373,$5E357368CC0CE607
  Data.q $3210863F331F356A,$5C0C58D89FFADA24,$ECD880D1A9C71C8B,$39E0B22B8D8D790B,$8900827BD719DF8F
  Data.q $4C450F2B14098C17,$0CCC90089D122241,$5A90F8985A2E6413,$356EDE08DD096200,$5347B039863A0FF9
  Data.q $D4E5197885B0EEEF,$4CB8FBC7DBEE9842,$70254A12173D23EC,$3C7972C08B16CA4E,$24B27C54865F8490
  Data.q $DBE1452E4969800E,$BC6D8FC452CBC7AC,$35C443B785BFC271,$775FE9FA3C69988E,$A202D911FBB2D0A0
  Data.q $EE46B0A65CA1C850,$90A92EEC35E6F623,$A1830426A9626146,$0D0A515DF06DF639,$4847410AD28B5465
  Data.q $6C01416BD1282182,$39E4AD39803F526E,$472FF0F1B8F33B8A,$959898627BA9B689,$D6D5407581EDFF10
  Data.q $CB955903DDE3F7AC,$4F2EE16550945898,$1B90ACE7E2CA08FC,$0DF85C8772929510,$F07FB63CF1D98747
  Data.q $F921FD2953983EA5,$2118DF8E608BCDEE,$CD3B0949B9456076,$E2431E687B8EFC4C,$3189853545E7232C
  Data.q $02DB7491CBBB1F21,$2CABF986674FC617,$6CE3748138A0C7FB,$6125BF9BC4905BF4,$F6FC60B99E522A96
  Data.q $B884730DF9B5A362,$E260E6822EE7766B,$7227DDE1715A70CA,$5C5A513051533662,$6DA12B3BE0AE3C17
  Data.q $B2CA2030BC62FACB,$C42BD03FED345DC8,$D63FDB2D8E281DD4,$F589F2018B423D6A,$C88E6FDBF5B34CF0
  Data.q $98A929DE2F9D3388,$B27ADEB914C388A8,$CB573A7F8EA9ECD3,$A15C65EA2B713126,$D477E37484493487
  Data.q $F4F8C0165C6203C7,$C61C0E38C88FAE17,$7B2AD485AB42EC57,$FE2F8DEBA4BE3756,$398EDFF576251AC6
  Data.q $3ED0D74EB2065385,$5D4E7C311EADE89E,$58A0A867E898692E,$CF11CA0E09A92398,$B73C8215B5FED0FC
  Data.q $6D47EE23E493FBA3,$7F2A86183CF879EB,$FCC130D7FD0CB6E4,$8E9EE6485DC423BB,$6781D8D71451D6F5
  Data.q $CB1BDF5A6F4EE205,$C5978204E68E72A4,$DC186504D7197024,$2E13EFD69710187F,$76E4F3BD97FDC3A8
  Data.q $94D0D1BD713DFADB,$D33116C9881DFF04,$23FDD8C9F7B76CF2,$1AF373A1E0332625,$F5A6F7AEA428767F
  Data.q $4387C3BC67CA1B9A,$B97A4304992432C4,$590535F624FCDA0F,$45EF2E11CE483F8D,$87EDB75A35A81783
  Data.q $9F892526AD56F3F4,$F6F423A13F302F83,$53313196999C9CC1,$4DEC47BF7FD008DA,$A21DC1E00AB9DFEB
  Data.q $2EFE943C4BA6CE56,$9407939CFFB6A5CF,$36EBC649E45D2873,$C6FEEACC7F7528F8,$6D00B592966CD333
  Data.q $AEF188653DB9C074,$5CE32B3B9F2AA075,$1B24C0CF148F236D,$F462383242FEADDB,$42E707884BB35464
  Data.q $9294B1312A286805,$BF74B976E41A6495,$770BF9AEE2F0FAE0,$0E95DC0B24A8F1AB,$CB0424D6EEC6FCA4
  Data.q $7E593B44FF567B03,$DDBEA052C3465CA1,$EA989F54E527101E,$65DCF6EC67E98911,$9E22AE50B967EF67
  Data.q $FFE28101DBF16F1C,$A95C1E00B715FEA3,$4DD0619DBD3B21DE,$65BC14A4A4483ECB,$8B010041D18ACE46
  Data.q $EA5A54CF1D53DE7C,$C4AB308C8829CB11,$C4C7BFE1FF5FCEB6,$8AE29F04AD52D2E5,$6EBB9A79BDCFFDF5
  Data.q $78628AA520819DCF,$8BF669B63B14EBAC,$4A4C4CFF0167919E,$A1EE3C844592AE32,$42D9E419ECDE7D6F
  Data.q $744C5465E088755A,$EB396FFBE57F1D41,$6BBC4C3D7075A908,$253FA3342B5CB5CD,$BA07F7AC2ACB75C1
  Data.q $3D67135DF474EDDD,$202A5E7736C7EA07,$C40797B064C0415C,$89833955941FB376,$C8208E693564E290
  Data.q $987D0FCEFB9EFD1F,$2253F92E1BE5A728,$C3B5349BEE9AE514,$E9E5026AC51AB78F,$F65CFFA766AC6436
  Data.q $20D3A7753F9AACC0,$23DB1FEA8A405E64,$FBE756531E190B3A,$9042C109F85A8CC4,$5A8ECEEBEE737EF0
  Data.q $71011ADCE64BF52E,$9EC7874DDF7D11EC,$26FE1C8ACB2C1EB4,$F285DF57652056D4,$21322BF1EF7073AA
  Data.q $AF6EF171713C79A9,$3834ABF33A1D987E,$EF068AA945988741,$5C79FC9BF7AC904E,$242B53C1A95268E1
  Data.q $208F89F63B7EE2E9,$22D533103D1F37AF,$E17F53325D88E977,$CAB14751D945149F,$282F60E32C415FB9
  Data.q $67C3AFF784128590,$DD24DC4C657297E7,$465EFDC6CFBEB804,$B86E84B4231E356C,$3E739B672FB51C9E
  Data.q $2CF6F408DEA02D05,$EAE9EC552AE3E187,$2433C4BFC5032D72,$4E54C5D3F12E7AC3,$C37C30ADEA9525B9
  Data.q $CDE7D088E19F9675,$C8FA3989A9066AFA,$EB63129F7BB347BD,$6FDE05EFA120018E,$6AE8E4BE6D4407B5
  Data.q $12C3DFAAC2B5E516,$16EA62E50AC13B2C,$373E7808ADEB5710,$B123E6ADDB4225E3,$D4451D633F11539C
  Data.q $958156A16790DFAD,$CD89F5447D040A82,$F1920B7887318C81,$0492761F830095D5,$98940C99CB925C55
  Data.q $226B7C00D5DBDB8D,$A1594243310EA4F1,$B9DA3211948E754A,$DE2A09194A8CB931,$E6AC37EF02F1C525
  Data.q $CE57671921CD59FE,$2D591B4324863F13,$9AB66CD6A88AA527,$43700DEFF3843042,$A218FB75F2314CB9
  Data.q $2CA4B7434C577BFE,$FC438EE8E7BA07A8,$68288F42E939A399,$2FF1BC2AC2E309F8,$16F13094A5311CF3
  Data.q $404F3BDB1AB4A8DA,$54CA9335256A36D5,$4697DE0D12C74BB9,$EC355096E4AB2905,$8ACA27D5BD0F3272
  Data.q $AD0A86512A96AD13,$4328BDC6C245C23E,$B56A4DF5024C5197,$748D1AB58B9C23E2,$75B6E42B1BCBA512
  Data.q $307B41494F19D114,$F2058FC5429320FF,$CD28D78871D72F72,$ECE13326FC506A29,$27CE677E05EAE393
  Data.q $ECE8AAFABDC7F611,$17F22F24204ADF2F,$34FBCEB688E3DDBB,$EE20CB5252835E75,$0B82A8CBED692F6C
  Data.q $18880DA53CAADBC7,$86F6203D71712119,$04E8FE46B0AE1502,$FC1175206017EEC4,$23DF5501B3809816
  Data.q $E46FA42B461B38AA,$12185CC5BEB34789,$4A2AC94BAD878F1D,$C2FF9A689E3F4C78,$E56519BE04691BD1
  Data.q $71BDE734F621CBA8,$CAA90FD0A3AE16E5,$DB217423B781A7BE,$62CB2D2AA21D6627,$6D868809C3FC4AB9
  Data.q $96A37786A4A110AF,$93C7447B6FE7B8C5,$7DBA12310E0A559F,$5745B94B0914F86F,$1D71601C5E9DFDB3
  Data.q $1CDFC701C98C5E59,$5C29C84669A639AB,$74B378CB52B74B5C,$5561621C94AF3C48,$315D1621C3FBD5AD
  Data.q $9283A70962A227D4,$4F1E6E09406E54AA,$32731DDE32F3F1D4,$EC5FBF7C85E11909,$C5A1C36F080AA7F8
  Data.q $3D2FEB201BDF5884,$A54D9ABAC59880D2,$D4A2774C7F8AC98A,$4B671233C65A32F1,$7417EC8B1CD44D29
  Data.q $41724064D9C929FE,$0EB57162BA52755E,$78440795EEA36635,$90284A515A691659,$1247567BC7D842B9
  Data.q $3DCF1AB473127D7B,$5FB777783BD9E390,$682BBF0A62B17241,$1F102AEA1CE6CF55,$9216FC6AF388F6B9
  Data.q $2707DDFBA7916934,$D5D797303FEDEA20,$BFAB11C15D973979,$B6621CE754C2C015,$3710103675CFC447
  Data.q $4E626B9549C347E9,$ED0FD15EC2281350,$D01DDA45088C3995,$6E1E9B9E49BC0ABE,$FC2401E7A934B995
  Data.q $CD39AC55D4C3456C,$D9B2B7CBD2B8DCC6,$926A32D79C526C8D,$BEF0E48BAC3F477C,$DE2CCE48FFD4CB0E
  Data.q $D2AE93B70DC6A202,$A2019528880E2A48,$02E784EEF1346F56,$0EC2194367654894,$7EC4FD3CBB897C94
  Data.q $E7B6EF6DA210F005,$6B7F8324855152DC,$B5844868880054F8,$6853EF938F7B1104,$2DE4C52C9F84406B
  Data.q $64F32D1102DD750F,$454524BFD5DF5344,$E78870BD3DE94505,$0BEF390E6788A935,$B9CF355BA0ABD8D3
  Data.q $6C6DCA9AA2030BC7,$787493D38CCC03E4,$E7ADD4DD44CBD97F,$EDBDA8202116B7DC,$4C4068CB1471BED9
  Data.q $13CD884258A73C21,$01AA57CE4C40710D,$790EB171E9CF752F,$84FEC0EF11387814,$86B7FCC7D952974E
  Data.q $220368CA18A5E5BB,$A81147D29E22D1B8,$CB10EE6B00B718E9,$0AEDB80B8867EA28,$53ECCCE8909CBEF7
  Data.q $07D6BEE715EB0F2A,$0CDF61BF157931AE,$F8117C6F1D62204A,$62A3C2084EC321B9,$2EE6A08641082F3C
  Data.q $0F9DE36A4DDFAF99,$5728D089CD431EF0,$A7A0EAD35121A12E,$4EDE2F597A45D27E,$41504977DC41BD62
  Data.q $BB344FAFBA779DF7,$87C6E6D648418C5F,$F04487101425D71B,$B10C1128AD47F564,$D501430F2EB2F440
  Data.q $6C67FBE856141135,$5D4F5AEE24D7B0B0,$5644FBA39B5674A5,$A1C9360CA8BF6594,$1EE9A41C5B37AF2E
  Data.q $49F3BAF5FF85C7AF,$DDAFD7FE4D5F1121,$31D8935FB69B031F,$C4FB85A92D71905F,$809380BC89155735
  Data.q $D3126D6F5423A3FE,$4D4AE913EAEFD572,$6DCD617F02ABEB43,$A53336EA689B5FB7,$54D5FD83D0EE9726
  Data.q $23303EE54A17EF2A,$10BA44EE87A3FAA3,$993A17E07AF54985,$941BB133CA24C556,$F7FA39ADAFDAEEDD
  Data.q $635C7E9FF6A48A7D,$9494A4240A2CC4A6,$150CDCDEA85311EA,$EE898ACA0FDE5CD4,$24A52894144E92BC
  Data.q $4C62FCDD4D1053C9,$547BEB79EF4AAA29,$4406C6CE7B8B94BE,$4BABD7D6F7EAF5C8,$AE3D102A4C1CE2DA
  Data.q $521F7ED314A0A145,$874C752890FB4ED8,$928B97EA3FFFAE9E,$1F6A1C7FB95C71EA,$A5E41B9CB97951C4
  Data.q $9E31F4B729052A60,$614565E40B188756,$FAF3B77D7F22FCC5,$E2C6A0AA53F6B31D,$4842703BCF7AB7E1
  Data.q $70715F42F9D41732,$EE8112073DE482B4,$4221793103110B60,$C6C22BC1FF1A0B15,$19CAC4457F68EB91
  Data.q $82B8A986B29C33E5,$A94C85469FB8E884,$F8AE572E621CD487,$62948C4611360F29,$DB77B9A5D3B04815
  Data.q $E6DB765A270F2047,$05668646B8AA52A6,$BEBF4FE541C859CF,$A0F1D06D696A85C2,$20BBDA5063E662A1
  Data.q $04A1240F132BE824,$047DB17C2925178A,$3A7E0D77763215F2,$B63B8A9C1E34E6A5,$12A11459FC8BA9A4
  Data.q $CE0CCE981CD1C24A,$5E206C7E4048323D,$4A557739E42FDC4F,$AEDDC414E2FF37CA,$F5DCA29CE55BC9F9
  Data.q $3124B1422485AE10,$3672F726BB9C6AAD,$B98A28886E322188,$0C50326E5E1C6C15,$E67FBE5942D53310
  Data.q $4E72E90F33884414,$4A11C6AB14210944,$4A93508C4958A947,$D45A54A88875989F,$63947F446480926E
  Data.q $9F5E77A3E177207C,$5F4A42477F5BF788,$273103D8F16B5616,$894FD17A42FAE985,$7107E51AD714BC83
  Data.q $22A965967E29CA45,$87CF1629490FD1CF,$C6213ACC1DC4414F,$ACE5ADE41CA5E58A,$3954A92554F845B6
  Data.q $44D282320BCC50B7,$515520213C92D316,$BFBBE4F2AE3104BC,$7EDEB9947C954266,$C85508844C760EFD
  Data.q $B88A0F07A8C414A1,$04B8CA217CA5511A,$9D2972AB082B1EB9,$585E3364D719578E,$DF431DE784C5B88D
  Data.q $E4494F32865E0324,$B21E51972EAE2569,$8A4B26926B71850C,$516C19211390F518,$A9AE3D4523814188
  Data.q $A8FFFC2AC0155C5A,$A7D8CE4904022F1B,$49859AB885243E24,$348AA4C49B12C4CB,$9AE11CBBB14AD511
  Data.q $E2B5A9A475EA9508,$943757AA9C8E0DC6,$909DECB74AFDCC98,$BF398346569F65AF,$BCF2135965D21521
  Data.q $AA908A72E52A5D5B,$50215C2F4841AA24,$1FC21F352AD4A562,$6D87FE7B4A24C982,$B1253AC7816E96D8
  Data.q $89AAAA63D716977B,$2174D4D3562B8895,$669C137F83CE4B57,$C129A83E58EBD253,$87BF49EA41BC044C
  Data.q $A26E0DD4D1253AD9,$22EB7C6444151E00,$5149CBA4CE53C702,$10C0C31446F26B95,$21825E12C090C103
  Data.q $3D4CB8D38DC0D369,$0B9728282FFA8CAD,$7CC1E0F6324DF485,$08D3521AC497650C,$84D450DBDF20BDC2
  Data.q $3446CCCC916F2553,$5DD7A40EF4B0DD7A,$AECC3BE714E479A7,$708A2A6A27739CFD,$A517483BED1C5AB4
  Data.q $9B1B1AB568ECBF74,$CDFB41FCE70DF70C,$1E77E7775618944E,$1F468A930900CB50,$35A9202844A34B17
  Data.q $DA6EA2537F3DE9CA,$A2545C25921E5B3B,$0903569D19CF8680,$17A7F673A0C6AB52,$AAFA43F433DF711E
  Data.q $F413B5C33BD88F5F,$E791A593174B7E86,$C6D86D25480190FE,$3F5523781A17E0DE,$B396BB190D7F0ABC
  Data.q $9CAC520B8BFE9638,$6D4991C54034E91E,$D5EADA115B56BA6D,$E1680671101BFAC4,$3CAAC92CBF8B6156
  Data.q $30C44F61CF78AB32,$DE743E4F803702DD,$7AD4C1FC8EF5688C,$898A9323C82A14E5,$3CAD9BE70193BD8D
  Data.q $ECD111BD402F41F3,$115792069DB99F13,$AF6EFF340770A13F,$5A03DDB5668DEF1B,$20D0CCA5672D8E5F
  Data.q $B074195D2ABFB8CB,$1727CB1CF833906F,$4776D5D337ED7EC1,$CADDAF8BE34F2A77,$F3832B900FB1128C
  Data.q $6C77FDC5F3B7611D,$E3353A8ECAC764FB,$34B8E9B9F4B3C53C,$F8CBED5A58984442,$8E6C6D4984D33911
  Data.q $7074E731DB18F49D,$AFB132FAAE770F4B,$78D9BFEF67098FAA,$935FFB2D0F77774C,$BCA4E430DFDDEA68
  Data.q $BD471BEE990B088F,$DF5CB66A0C9DEA15,$0C9E73EEC42CFFD3,$99B3108DA492CB69,$E8DE7951B91B7F74
  Data.q $BF69A633B837EB75,$224DEEF6DB3397A9,$E0E241D4A4C5AC94,$2C064CDE31E345B4,$EDABF637DDCD36EF
  Data.q $4B2D514BFDC633CE,$0479C1C4A3727D23,$8DE35DF3F239D898,$13BBCE7AC9CB7888,$9A35AAA201DFDF4E
  Data.q $1C6D92E653E3FDAD,$F3E36DDC471F1995,$3469A74912A3BF5E,$9BC483AD40589FB7,$3CF8884DE7663BC4
  Data.q $F6888744D6220D9A,$27DC7075AD25B311,$3AEE24A7B3FB7AC6,$EBDCBCA9C94F873B,$72801FF7144FDC6D
  Data.q $9D101BF6EB491662,$3DC65909F82F8563,$6BD2AF844A3429A2,$DE5FFBCA2DC883A1,$4D512E87ED00E880
  Data.q $8997A94F8588C3A1,$EEA6822137F49773,$83B9DBF1C1236FF0,$C4D714757243DCC4,$1DFC486F3A6787C4
  Data.q $72C4CBF2D96B2531,$2889120E16615576,$78789B8DA27A7DB5,$2B8A5A401CF4757A,$E25CE43DC54CA729
  Data.q $195F057702B0EAA0,$0C8CFEB6CD194A70,$80F2E058B1894725,$0E9B9120E66E2488,$1F327112D3ACB19F
  Data.q $7F220EB3BED2AB76,$132F8BF957144076,$BCEEDB44D4E328D7,$1D922251A96AA6E0,$BC2F4FC5D599D962
  Data.q $13D3F40FB8529C44,$65128EAC55449BBB,$57EC79AEE14C9B89,$FE651965FB7FDF4B,$63F16BB1D7A9F6ED
  Data.q $2A6E4939A7DC4909,$ED7E1F2B9711E995,$39AD4EA514A4E225,$A9F28429D9AFCE9D,$D3B778CB9E931951
  Data.q $4CF4483B1CDC5191,$D344FAF6443E1A49,$31B0B4A34A7C83E9,$C25102290A12A51A,$0B56797B1F9C98C4
  Data.q $51DEC414FB0DFF12,$5DE4C5C60EFA9FED,$BB92C8A8985C89CA,$11F37262F63468D5,$C208CC8284628A23
  Data.q $907CBF9B0D13EBC0,$6202E04E4BA7DEA8,$8B63F1FD8DBC5519,$494F9FF10A73A789,$A7FF629785519FD4
  Data.q $8551971D7F528B63,$C29CA9622440385B,$07EB6317F12D395F,$919880F8F1B9A589,$C649B1E27F667E65
  Data.q $04EF438BF912B2CB,$DF94BC2EE6D89E38,$2F1023287979FCC8,$D9120A4DCD894656,$F1053D861F1A5DF4
  Data.q $A9F916241F4B1919,$CD33B995439880D2,$3651103AADDEC391,$3A43E21A71F6C159,$7DE2A89C8EB4BEAE
  Data.q $9EC7372A952C4C55,$AE5CB8B49B578BEF,$DF0BF88E9CEFF2AE,$80FCC4E79AB34BFA,$8C6CD6AA3585C8A8
  Data.q $116512C74FBE849C,$E0C375344FAF5C45,$73951C22BED2C4A7,$D1C42D9A967E2320,$FF7382C4692A4D2D
  Data.q $20277AC9BF3720C1,$65C1CE1AEF33CCD5,$93F4B6DBBE86AD7C,$28D4A912B83FF510,$7023CFE71C9D9C11
  Data.q $1A4A65A3760459AB,$253F3903FD8E2B28,$61BFF82C485A8648,$B1193D8C03ED9DB5,$00F672D5D25FE86B
  Data.q $533658E4C7E25531,$DAD33F11925130D1,$BDD2010B401541E3,$CEE96207031CDCA1,$FADA2027DA2023F9
  Data.q $B386DEC8CAE367EE,$0A8C94730948529D,$34A4B7B28CB0ACA9,$541CC6C8351C5FF2,$61A65D3687C651AE
  Data.q $FA8989DF5EA354ED,$111F6E42E4FBC9AE,$2AA9003E73CE4849,$0FAFFDD1919D787E,$AEAF4FCC7E3C2A92
  Data.q $056DF7817BA4A2B6,$AEC4C4FC66498661,$E6ACE8F2E5A54CC5,$909777817252B90A,$5A34C0D3F096D526
  Data.q $E0D75743BC07CB19,$83CB84E91411B762,$23E143D6482061EF,$F8C5227F9A2227DE,$A3264B49C677B11E
  Data.q $052862C60C11333C,$4AE82777708D21DE,$8B5DB95A9447C65F,$BDC6511328B5CE72,$8889CC297C2D6558
  Data.q $35128F1F2A24294F,$742B8430740EF509,$01BD20806261037B,$CE8D63469377A266,$027D2184548413E3
  Data.q $EB6DB8959DDF530A,$25F9868843C42690,$65A52894D906969D,$61040C97C45F94B5,$BCC5698842725804
  Data.q $09000085392A251F,$FEF1BE54414449DE,$BBCAE9CB74CC02CF,$778244E8B4509E39,$FFABF34E9B0BAF9D
  Data.q $E763221C5A3687E7,$3145559A947FDD21,$158651A3262E4C9B,$E78A1501266CD51C,$AFF7F13C9CE10423
  Data.q $E14549465E7FB90B,$8FCEDDF9294571DC,$165D24F77ECCE3AE,$278D972D4407B99F,$9AB4AC817417A8A4
  Data.q $78C300AD1B317075,$BAFE9DEBE3DC6E05,$2CAE7731A340A90C,$04B48094D77837A7,$7D1F695F0E2F1CEB
  Data.q $06FB0F4E3F70C927,$24900D1ABCAC58C4,$517080844E628449,$3AF4AD4124BDE56C,$2D47927C1403676A
  Data.q $6597108C5A4142FE,$3A5F0A3F7AD65154,$B1D103CEE7D75121,$506EB2C938FCB4C7,$F5AB4758E3D3BABD
  Data.q $1C1BE1049BDBAD7B,$708F1AB4CCC6B890,$2328BE5F799658EE,$89D2EF7E286BD231,$D99CE1A0E2CFE465
  Data.q $5D0F4942B9C1BF98,$E1E0D633E26A3E69,$6B6707C44E000DEA,$B8C88F9260632366,$931881E139A2945A
  Data.q $ACE93BDF67BB8F7A,$11D2E6203CB8E442,$AF4C953511F4BA62,$638D6A9553BD4BD6,$D649B510D87258C8
  Data.q $5720BD636A4DAD9B,$E97DFBA5CB25EE96,$6E7346509D62BBDF,$E724D57C44CC486A,$5C0BD4AC95A62C7B
  Data.q $1E1DDC2F1D92118B,$E90F9AF7333C933D,$B084EEE771425E6A,$0C31B33E368975FB,$CB1FE89521E15956
  Data.q $970131AC8620A6CD,$7FE1B350FD86E688,$65CA4E56F67FAAD7,$227070688B122A73,$27ED63B56709EEFC
  Data.q $E6AE5101F963FC56,$1C8F2A5E3FDA7EE2,$F059FC5A378F0C5A,$70737545957850F5,$CEA68909C1FC2602
  Data.q $3106E3FB49BA765D,$572DF1CBC6203EBD,$A55E23D9EE5605D4,$287EE34A32EE0D1B,$7FF0D49C1C3C2D25
  Data.q $542313F6B0EB527E,$E6FFE59913101C51,$F603BD94C7CE84FB,$1151559D46E8D7B3,$BE60E9F8B22AA15E
  Data.q $28E2F161D6A4E339,$54A44407C5AB3F91,$C8F4BBC555F78119,$98CAB7A556AF5011,$09C6B0D99ED24658
  Data.q $6E44A3D3F1619CBD,$996845054406D04A,$E2FD128CEFA44A9B,$CC94B96323BAF8E6,$A8949D735EC20E0F
  Data.q $29514188F673581B,$25CD6A6444C9880C,$373B3B3AAA239326,$EC724A21CB7B3919,$1293F5BAAF1960EE
  Data.q $A44E988F67DA7C4D,$C73733D42CA49987,$4F0C4235BF852454,$E5D5C817E9F1A7FB,$272DE8F967C19DF8
  Data.q $DD0AADE2268F3481,$58B8DABDB949CFE2,$22CA73E118153118,$9E0BE579E8F6FB9A,$872C9A7A5DC65898
  Data.q $F83BF843D17FAAFF,$A2069D388F8B8ECD,$CC07DF919E8DCA4F,$46AFEE7131294DCE,$5110E33129B9EF88
  Data.q $EC29D88FB838A7BC,$9CD6E42436C88F8E,$11EF939FD99E1F0F,$578947E6557929F9,$B0931898ECE71A59
  Data.q $7E1F9FD9131F7DBF,$4F1B9ED8EB21E4D3,$7F4BE0EC3D1947A7,$B5295F19100F1048,$ACC3EFF0F1D193DC
  Data.q $5AF6C78F7D7BA55E,$D2E98BA13EE86BE3,$AAEAA0AF2CC8E27E,$953239DC632FDFE8,$CFEF71F63CF18A95
  Data.q $849F65BF0FD9CFFE,$8AA43C67BE416BB8,$64D7591D5981D2C5,$391FEC8D3DC3925E,$B4A5131E6551E775
  Data.q $B0978CBC7DFEF673,$1CCFC67CEF8FB6A2,$AC2201DCC4A3B29E,$7D87D7A735F51171,$94ACEFB9F0E4ADD5
  Data.q $9C1F3D16FA0C6E91,$22190A31FEE9D888,$9CA23287201C4A31,$E290D447DADEE682,$52AF13E910A663AC
  Data.q $FA3875F7A1ECC74E,$A538BD54EFAA6CE4,$D2D41CCE3ED3E186,$BBBEA3201E407F62,$8C8B93714641DF7E
  Data.q $003BEC3E84B2D972,$8447A2076ABE5FFF,$30490423CFDB33D5,$FFEAC9B3B983485E,$F74DE2C92331257A
  Data.q $E05154A36C6D7108,$31DFFC2FB9552623,$B3B9BA3A34491EEF,$4855B52A9B4BE1C9,$39A503C7FCDAE9C0
  Data.q $470E920CA89841A8,$F178FAE28F1A3E75,$F014E7ACE3B8C7C1,$CFC2FBBB4451F60E,$0961105C6AD0AE92
  Data.q $1187AB55EEA63205,$832123DE19CBD185,$2FFB27289295589E,$69B6C491F682F3F7,$F31526A244D71847
  Data.q $BEA45318BB830092,$5444DC7C0C0F64D2,$D06F2EC219CB91D8,$C5EB1463EA62F8CB,$B34451C62B9E6BAA
  Data.q $4520B1F13E10AF6D,$C26AF13B70A26B9D,$A2974F7110874F89,$74315F08672E47F9,$1EC5A3CD6F749363
  Data.q $CDF11357ACB6E231,$506B92516E315F28,$E21961EBCBAC1138,$C0589076A1D07542,$83AF8640247844C4
  Data.q $1C57CE262A7DD640,$8AB311FA3BEE35E2,$EBBE98A4E427FF0D,$180FC030CB50C821,$E2241E42FA904A7E
  Data.q $1BD2E47F729AF367,$6EFBC3FC36F5CFFF,$75A3FCC888EBD521,$8B549D3C9AEED114,$DB5FFE36AC37413C
  Data.q $2196962C64CC57E6,$CECD1920A21A5F0D,$A88E4F9F81A4B73B,$7513FFA2B279C78E,$3B198D73145CE72F
  Data.q $667FED1951B076E4,$E0627A15DE494B2F,$3D4253EFCBCE1DE3,$3919EF666C85952F,$628A92573F786AD2
  Data.q $9F38620EF685C931,$D5678A9ADDE1DF52,$12C2208FB56E7E43,$D03F21DE26BA6FFC,$9E0BEEE69F75C1AD
  Data.q $565E4734469267C2,$9D2076F784A92496,$7A36EABD69C3F34C,$F6FE12A84C9BCEFB,$4411C6F803F661FB
  Data.q $EB1F956568E632DD,$B29F36CB4C388DB5,$15DEDEC20A813C54,$9D0339D272CC16A8,$B8DEF497DE1A3E96
  Data.q $7E13908E2F0535B3,$80C5A4F2BDF59057,$EDC5406448530ED8,$E77A86C309D47E36,$6BB7B8B9312B4B2E
  Data.q $B1CDB9C151278C9D,$C23EC0C4F3E52EBC,$EFA1B6F5B44D2067,$FBC5DEDE8609ADE0,$4694FD65AACC47DE
  Data.q $76DB11B83EAEF302,$7B1BA36022B22DEE,$E0A807F155C88037,$70D0B7F3972AAD1C,$F6708840637F3D5A
  Data.q $DBB03F23D0A0B6E1,$211B93FE3AE47F18,$6B8E25E7EADD45FF,$0E4A10A824DE1307,$69674485709FB93D
  Data.q $E69FEB5E5C8CA9CB,$346BDBDDA762C6BD,$6DA30DB71FD15BDA,$292F8C30C02E751D,$BC06FBEB6D447D15
  Data.q $9E02AAB987201CC3,$AA9BAE3BD2813E1E,$ED5562AFB2E7FA25,$58507C3A18904EF4,$E14F6E2208EFF826
  Data.q $DA690F56FB81697C,$F7F36DD4DB0B6AF8,$45E729280AF48241,$A90C878085442E25,$C3545A664322BCF1
  Data.q $2FEB468E77BFE5E4,$153B8BA3BD1F08ED,$6F4F70977ABC54FD,$6DBB50BBE0FAD73B,$56C572C7DF6568DC
  Data.q $47AEAE2894AD352B,$4654D45524A8443D,$138EFFAE106FA42A,$C653E27D78C3199A,$9F884EF55783489D
  Data.q $F4E381B4A97B776F,$180DB1F12080568B,$263C60D8218AC778,$B3E20D562B7469AB,$23D7DD8D1FF2412B
  Data.q $F5084329F23DB85A,$D03F13B24923BC24,$FD189C564076B4F1,$064B20638723B7B1,$2E94AA4A16E30085
  Data.q $63B2CB0CBB95292C,$E31DB6278F17F607,$2050554213904FBD,$106E74DA6FACB1D0,$EA276B6DD8FC97C0
  Data.q $EBA930A0C67DE0F5,$5696AEB941B2A03B,$1D2F619658B7E41F,$B360E582278E9F28,$68A1084E34381288
  Data.q $D4E58982D7092390,$E7DBD06D660DF177,$719FB6DB6D52AC4D,$F0E7C31CC10C1E18,$EB9D136BE69AED81
  Data.q $4F20A8EA6F5CF37A,$C3BA76DB797504B0,$D8D749E173BB3EF0,$9801679D1BE177B5,$83AC4FDC26E05EDF
  Data.q $9C65FB34404F8E47,$C396412357162AD1,$64132DD72FA07EFB,$B5DAD6CC04D1FAB4,$A08358D1BD897C6C
  Data.q $E32DB7B782267A4D,$ACF0757409DAD760,$083710E74D1A3FAA,$5F63FBD73674CE70,$13CDB6262CD3BEDE
  Data.q $61128F939E1CAAF5,$315ECA181B3BDAFD,$F5B9EBC38843DDBB,$CF4B389327110F3F,$E07B9D5F01760847
  Data.q $11233F8C51E81C6F,$9B8C193BE2EF293F,$6C2D3E879A60BD04,$51822737CA40D65B,$31AD0AB7C5D9BB80
  Data.q $F758BBBD691DCBF4,$DBB95FFB88E9FE3C,$7587D26F66608B4B,$479B27B8F696F5A4,$077BDF159F03ED12
  Data.q $B4736DCF8BFAE9C2,$9D407E7C5E1F584B,$777C0582FF8888DE,$C4D07D4C23FBFE2E,$E9DEFCE8EBFA37BA
  Data.q $19777657D59CA7DA,$9807FFE268E312A7,$0073BC23E6184444,$AE444E4549000000,$826042
  index22end:
EndDataSection

Edit : Code Modified
Egypt my love
Post Reply