File: blk05290.txt
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"ordi","amt":"83.27629563"}h!
FjDOUT:88C895B91A529CF6AEF16D076B60078E553B91E4F0883F2015CF495047038596
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":55}
OjLL0x4778ac003262a92e5851a1b9000014d5cdd41b6f248fb80c7277c70ebb4e9be8=|lifim
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYUZIq4siLz+P8fC5vS/x+A/x8iM0VSWHlaU1JXc1BranFyQ1FhclR1QkVjU3VhWUtpOEtIa/8e"}h!
2j0to:USDT(TRON):TYAjBMtn73NpmcdYRUj2h91aGHrfTKgsUn
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FFIE","amt":"300"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ustm","amt":"220"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"200"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"700"}h!
text/plain;charset=utf-8
:{"p":"sns","op":"reg","name":"Inscription#112868663.sats"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
DjB0xa2bc7612a56050c491e0f530a9b187395fc81479e401743904bfc78a44975171
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"23373736688"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
DjB0x36560db9ebe1e71ed951af8c75c67d58ff59f0adc97e2164c1383ecc69e7c553
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"200"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"AiLB","amt":"16000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"AiLB","amt":"15500000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ustm","amt":"740"}h!
DjB0x2b58878391a619d754c056c221271b0d33a3737ce6e3c23bf17f5d3348d00470s
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"300"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ctdl","amt":"424"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1217"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":".MOB","amt":"2200000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FFIE","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1460"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"24999973355"}h!
dNamekAlien #4451dFaceeFangsjBackgroundgBitcoindSkineGreenfOutfitvT-shirt Planets OrangedHeadlZombie BraindHandcMopjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"161042"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"BHAI","amt":"3550"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"bean","amt":"55000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"bean","amt":"55000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"354"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"ATNG","amt":"717152318400"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"353"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"d app","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
DjB0xb92edf8799bce85edee9c3dd77be267e03cc3225ce081079f621805cacae8ed9]
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"12000.54"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"351"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"sns","op":"reg","name":"Inscription#6118401.sats"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"7466475555"}h!
text/plain;charset=utf-8
C{"p":"brc-20","op":"transfer","tick":"
","amt":"4411111111.111"}h!
text/plain;charset=utf-8
LS{"p":"brc-20","op":"transfer","tick":"
","amt":"10280387338.715614630323970287"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5200"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"14726285566"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"safe","amt":"2175"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"ustm","amt":"1240"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"305"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"49900000680"}h!
FjDOUT:EAFAD7282576C8FE931D11CCF0CF05FE467DE17256967C4432C6804550E0446A
FjDOUT:B743403E681045DA8C11619F2F4EA8ACB51AFDD4E1A0BE6649FB9C79E16171B8
FjDOUT:F5677973474B9C6652C27E4BD298B867E7C2246D3FBBC22248FB82F45D17CADB
FjDOUT:53927742755528133D7FAC9372FF84C6D3D6D1914940F8D8AF650E1F35BA7ADA
FjDOUT:D02A16EF24CA6E90D08B4EAC4BAA93BB44B6B6691CBA4FBC6BC6F1E4276E95F9
FjDOUT:7442E5F791392D48E096AB2B3D42DBD612D9CD8330191435644EE6EAE08C3BB6
FjDOUT:090C23696EB09E3D83F7A6B33223582F26BC33ADE30A02277F97FCA3A8EBC4F6
FjDOUT:47331033803A3B7B0051794BA92DB3424F2D426CFEBE117BE5E9F67017054206
FjDOUT:20BFEFB997DAA6D3E3EDBA3B110DF87998119E860E178CA1729B52B739C197DC
FjDOUT:3D9014C7DC836B5AF3A5E3CA53C9DC279B2614D6088523290A3C26857634940C
FjDOUT:8E5959D3AB3824B5A56707EDA8A9418C46BA6B0FBD0DBBE7DDD011A2D2821104
FjDOUT:F69103EC9787267AED5C58000C78DDFC12BBCBA6638601C306F7D8427E6FAECE
FjDOUT:FAF891222C24489AAB05CD195C5F31CDF318DA334DFDD83716F412B8308EAABB
FjDOUT:EA91029D55333C217829C0FA9A3E85E51A4CB85567E66FE4C8F65CDCE9BDC59C
FjDOUT:640B3E2E774A6CCC9684A0ED778674971E16EE71CD08B7FCF0ABC0E90491E8FF
FjDOUT:AF4483D2138B838539FD9E7BEAA0425780DD7CCDC36DC41251C9907337EA3BA5
FjDOUT:DEA132CAA07C28924545A53E3385040A7578259E64FE0105446045B050A9680F
FjDOUT:3BFEFFD278EE5406027F6D5BD8B0FD2CA230295B3430098DF83BB5CD165A3022
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":50000J
=j;U6y:to:USDT(BSC):0xFF4874969eE79F0B361b36e3508109b6F13a3A39
OjLL0x5dfe9f375c5911800f7854f45c40648294b3c08f40529910de224b2d14b17b74=|lifiC
Bj@=:e:0xf591C8EBF35B402ec173Ad65637Bbf43BdE862d7:130087:-_/t1:0/70
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":180}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":60}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":150}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":55}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":150}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":180}
6j4WpM:to:USDT(TRON):TVtq6vfYGVDcJPx6na1TNLspa43Jnnbm9E
OjLL0xdbbbd2f3b58ad53dbd67adbe0594ba52305dbd5d2e14da7d5be4b2f6b6040c9b=|lifid
Bj@=:e:0x49AED5e2D96305E1A0b10E3e161a6D91299960bF:146538:-_/t1:0/70
DjB0xffeb377c9d8c488a58c897e7f6b74570184c149979df64df0e16b3c0f2bbc026
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"356"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"rats","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"300"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"600"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"359"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
FjDOUT:BFA42ED4F835EECFCFE7837636C44803C2E937C428A5BF6C5657521315AF5B83
FjDOUT:3D0D7FDD80D6107F0F8B6B27AF8BE4C6728C9CB7A2EE7A4481B4D689A5447578
FjDOUT:87E2C936DBDE0DFF00557B79E0CE71049A44274BE3E70AE9AD19A631065A5F6C
FjDOUT:093EE0A4735D97CA2BC6940803AFCEBEB7EA1712432EB093307021AF3CD66C8C
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":50000J
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":40000J
6j4Zuw:to:USDT(TRON):TLtFQdrshR3WE1eEttCJtDieSBpHzLUrcd
DjB0xf2517afc3eb78e56f4f8ba4202ffef99ecb2d54b7ce3dad5b3136cc076887ab8
OjLL0x9c3a6788bed52d69d53e62a572520a11382f33ba22924cb9ae71db912011503e=|lifi
Lc<script src="/content/ba6c94f9463fff18ae2b08eb192d264a880a38d780f3d354a86b6e51a7e9d331i0"></script>h!
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":50000J
OjLL0xce8b7f5ba5c768dfe5bd32c4062b84f76ab85d762413471626e7ca2f6e78d5d9=|lifi
FjD=:s:0xC574a92E14D2e3348576fff8F4C8b37b385f9D70:794670/1/0:-_/t1:0/70z
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"100"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"230000000000"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
FjDOUT:CDB1AAD360366A43E090F3C534D303F81F2D06675F990E39E22D4E3B9D4EAA11
FjDOUT:2500E8E51C1023E07228BD24257CB009F690A3B23AE67E1F156BFC844E8F8841
FjDOUT:38AE117C19D5A3DCC7A24FA368B25D4422490696F99128EE0DB2BAE8D11427AB
FjDOUT:0CE2053018BD9D5C6C089531F5B693953DA810BD48D0F4EBF7B96CB68D44CF2E
FjDOUT:AB301C4E24C88157C799E188EB12FADCA8032DD5D0890F0BB514CA5AEBA11F53
FjDOUT:47617290291AB11176922E3E4706241F9B7A31A827D13755B9A8BA901D10000E
FjDOUT:080D4DB5A601668B7337324A900AF678B3550542D763B101E19F373AA2BCE57A
FjDOUT:F97CD9032EC963366D45DAA637E042E982C98A7D694219FBE706A1CE8EAED34E
FjDOUT:6D199ABB43AF15F10310D05BB6864F661EA710ADB44CB2332B40673177F8E42C
FjDOUT:B0C87BCE3637AFE272F409F0D76C36E94CD16B40810B847DB6CFC246FADBEA85
FjDOUT:1EC7CBF6CF6EBE23F274502BAD0F52B2FDE5600133832153D52FE1099BED7CA1
FjDOUT:2F4C522C7489642DE7B73D2045415F9519684032C9FCE8B312917A5A5CB9F6B4
FjDOUT:16279B1D10F13B2E01D4B7072BCA3F850C102CAF1B04E29A091BE58727EB34DF
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
+j)to:XRP:rJU5eVhSKq1c3XCSeVqzg6zev5sLPpFu5H
6j47b9:to:USDT(TRON):TJYkZAboBEn59dPPK9Y5qxqKvCoQf3wRqb
6j4ZFK:to:USDT(TRON):TLToroUAp7o9NEp85RdRo35w1bwz6qFBSj
FjDOUT:6B2279AC160BEE0028788E9D3829F595138B82FB41B79EFF335BFEEDDED8CE05
6j4rom:to:USDT(TRON):TPCX7bbRrzTtTH6KbtxiefQhwWauZyxAiY
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":50000J
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":40000J
2j0to:USDT(TRON):TYc8UVLrBbH6PNEYCbYuSe4ueD9bDsmkzD\)
+j)to:TRX:TVvFxVTYqAFLtdniuP423uf7sNnVSjkeSo
6j4p0O:to:USDT(TRON):TAMkUCVi11gwMMe1kEbF6XJdStizK4niPYq
OjLL0x354b373942d277d9063ab3ac2a4d84c4cda1539e30e7a2bfbb959396a3e31f4e=|lifi
LjJ=:ETH.USDT:0xe2553BdDA7B1F4db338CEda42548a4e37bd124Ae:152152400:-_/t1:0/70
LjJ=:BSC.USDT:0xceC4c3aA635bac35a090C1d0b7829696200e6126:215725107:-_/t1:0/70
text/plain;charset=utf-8
@{"amt":"83.27629563","op":"transfer","p":"brc-20","tick":"ordi"}h!
DjB0xa66ceecc89298981b8af6573ad03d4fbcc3bc435a2e76544fdda7023a9f7e278
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BODG","amt":"500000000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BODG","amt":"500000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2526"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BODG","amt":"500000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"200000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BODG","amt":"500000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"WPCD","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3800"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BODG","amt":"500000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"rats","amt":"1000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"ordi","amt":"735.21"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"500000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","amt":"14996","tick":"trio"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"ordi","amt":"8329"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"ordi","amt":"110.619084"}h!
text/plain;charset=utf-8
C{"p":"brc-20","op":"transfer","tick":"sats","amt":"627780748.6022"}h!
6j416o:to:USDT(TRON):TMxRYghLT38fmkknQSKsNWvw4KLCoqfgovm"
?j=X7c:to:USDT(ERC20):0xB6a62FC5Ac7cC1BA72EF139F9c523a11e687a603
6j4kRo:to:USDT(TRON):TKzN9tgMuufQhd7hXq48dWJZGYK7TywJJX
6j4dOk:to:USDT(TRON):TGzCieVfQwqABPRriB8wp6EuyK3QbmPGqXo
FjDOUT:FA843C9FCE7E858FD033CCC271CFD8048F1BFCADFEEB95F9EA1E2092860C6E15
FjDOUT:55111809B67B324DA99E854E576A4A2221CD54D1DE05D6C24079CB8ABB807993
FjDOUT:83B4D39833C9AF95D508F88BCF026E512835C0445F5A49A3670F704FF881895F
FjDOUT:5A1D19B9B9973553801CC9A5519C3343B4FE701148ED0B080F04CE549C803B59
FjDOUT:95B243048122B304845D42E742F999DA97EFE86C1BB5BD71AEA6E344D93E2B78
FjDOUT:D0F502E9058CE9BD6B0CB67D94A0A8ADB8ADF4CB3C35AE436BC9F286E0821D0C
FjDOUT:FBAF00316D4FF5BE7ECAC3B2629EA9EC5177E35D1938BBA708441E0DAAD9900F
FjDOUT:7479EAE82CE4A90EF9A94AF39DEF574C6BB77FCA2DCB504B82939D4D3FC69DE5
FjDOUT:1CE539BCCEA282F676C73351BD969775CE883C2AAE563BA7A281C318C82D88DA
FjDOUT:022E016A9A3A5E2B89B113665A5AB63E82C210AD6016E7F0B1D5D446039C9B9D
FjDOUT:137EF313B3E081C06DDDDB65DB2E148F56F0A2B1E79D9EF54051B2D48141EE8A
FjDOUT:72B38DF432F7D50A44960C8D267BA017DB3A0C17F3206A06F100056B96E2F4E4
FjDOUT:C77D807ED75EB3E227C7634004133AF2FE927CCCC87582F325D367E6EF346086
FjDOUT:ADCE1DE23C1065784114F5EE940A4CBCFD229A4E77113DADCCCF286CBDA914B7
FjDOUT:2A64AA444818B5EEBA1B169330EA6B8E1BFD23B884A0E86AFFE2882A2E9BEB33
FjDOUT:A4E95A3E25083883067F42FA36FB2FF37F36E0E638B2E4AFC2A93CD5CF7BBDD5
FjDOUT:D9F1B938D51E7728FC62752D94D4A0631573E187CD3E0B8642522A17D2DDCB10
FjDOUT:C596322D34554A5E1EBDA4C1C496BA68E7F6F0843B6C02D84F7519A81572C24E
FjDOUT:0F3166216E05253F4BA6CCA2B020B67A60DA16F194DE3EB64AB13D6967A0408A
FjDOUT:FCAA9A8A0380BB1C8BF496843E4412898C4D6D311E432D2BC8AF2B03EB453347
FjDOUT:4BFBB5574101FD0404BA361BC9CA078A7FE65E2FB7F9F503437D2650DA1059A7
FjDOUT:B11C30EE480E08D3626CD07808C9049461A457C0D5A1906DAA159564DF71B582
FjDOUT:81211E90F607B6AA9AB584FC83591CD79A11675C32D45AE25AB57235F7FC0CD3
FjDOUT:96E28EB3FBB44E55FDFC374E4009CAAB30B4D1633042F8390983476165394BF8
FjDOUT:A432227CEF9D8F1E6F5379AA71853E130B709069DBC5E6FD3B565592E55A6E4E
FjDOUT:B92FC35B5EB050ED92CB20C336205CA16CF6AAAF1DDDF89F8C2796A057E7FCE4
FjDOUT:B3D1E823AB706CEAB0C0446482B17E1EE12756906AA4D73BAB82948A5F3810CB
FjDOUT:58490212AEBD4984310C1E2B5424C8A8AB6FC8DDAD0656F3957A1B992CF7CC6A
FjDOUT:4BD76C16F025E879457E4767CA93D0BA72E418C85FB288AC945875E54B108E4B
FjDOUT:7AD648CD91BD9893053D8093D1404DD0E0751D09596BFB95F3356826072E4FDD
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":55}
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":15000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":15000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":14900J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20500J
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":50000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
FjDOUT:8A046A2F61BA3157F067B9FAB6F1773D2EFB9612B349002CF4B8C7C75ED640A0
FjDOUT:39330B1EEE523EFD38765E020184ED8B1C6F1E3323DFA13AC214CE943C678076
FjDOUT:97211F958A0A3F2BCF428527577375776407163451AFC42C25E02C908FFE0EEE
FjDOUT:81DA932990CBA923CA35D7A5906916FF1C2CAE5FE528935C507E9B74DCDD914E
FjDOUT:1DDEEB662D01D102AE0A8BD2B57365093A625D9516DD016AFECA6CEC9C2D1210
FjDOUT:17C5851F9AD669CD48C732AE6CC8D2E95C1E3FE8BF2C8AD708F6A03C49B2D418
FjDOUT:D6A80AA3D0FEA690192F4D4DDD91030386A5CD308E8F3F56CD3995A9B2B95CE0
FjDOUT:9123BD601BE6308F9CC187132871ED2424B5733A7ADE7F4DAE08770F519C104E
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
FjDOUT:0B0D94C3B78D64C9C5338F65F6AA1D20E479C6D444F33C79A50DA330BDE2F88D
FjDOUT:74471A4561666840CB3F6C8DDBE791413B662FE2D8E3B318CF935ABD6254F403
FjDOUT:C4E7C9478A152AAA9C87668A66631E1694787F5B67BD76A5D28DB9900FD73E2E
FjDOUT:263B19C24B22BB35354475E1D2AB4F776A97C4898D7F501C8E36EA5AF51E0E04
FjDOUT:7F407AD4CF8A89D6341179A6B0F7F7836B3A68163AE7FE140AB4E7DCE33139F8
FjDOUT:D7768FD8AF4E71A9441586CEAAAF0ED688EAC78BD1D3C11E78621642CE4FB7EC
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"99900000000"}h!
7j5Upv:to:ETH:0x24C3505010229491c4cDdb2D921f6b2151B6491f
?j=Jb2:to:USDT(ERC20):0xdAD6F1481c4ebDE2DA947737ED1966B1cCeb4098
=j;WOm:to:USDC(POL):0xB3DA16C8f5B3002478FcEf5fE89c9E77Ef8cD3Db
B39032d3f66cc2c6906ea73b16f8a09f2ef2445adf7497716d7993ac7a7749446:0a
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":400}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":300}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":150}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":300}
/j-rFi:to:TRX:TETKH35b1i1MY9GP4ZFKh22vH7ShXd5KaG
4j2to:LTC:ltc1qvruw53ckmt7s4werxmf6d4y7lj5cws7tr8u2xw
OjLL0xbf99787b6348f33c771fb0279a1bae58949399c2cfea4c2dab847595d792ce9d=|lifi
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
Aj?=:e:0xD58Fbe029B52C864bed13b2dA45176e509F653C3:64499:-_/t1:0/70
FjDOUT:C005122C121004BBC8C23724C10BBE02738B4AEF0622074710115D65B202C73E
FjDOUT:3DF90146F51E3039CCCF6CBC12CF25FACF3FCC704005A558D56381F3465AA7EA
OjLL0x2e004b79d1f3de09c74b97b3d7bb0d70c7c2f186f4e291c05e5358b6c189cfdf=|lifi4
DjB=:l:ltc1qc4c3x6swt39sfych4shxhc7xe9w8n4j3a9lw5m:8105964:-_/t1:0/70
DjB0x9b96117442e7f9010358c0c4f64de914a91f74d319735ea7171a575f4c298c92
<j:DO7:to:BNB(BSC):0xEC80B08e70f4CfC9b350749db8f1d6aF517cEE7b
8j6from:8000USDT(TRON):TMR7eXnsTy8UiR9nk8faqdFVDFwjuB3Ywc
Lc<script src="/content/ba6c94f9463fff18ae2b08eb192d264a880a38d780f3d354a86b6e51a7e9d331i0"></script>h!
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
text/plain;charset=utf-8
{"p":"brc20-prog","op":"call","c":"0x5168f7a79b3ccbe94ee1e8a095aaa1f035bd98e8","d":"0x38ed173900000000000000000000000000000000000000000000294af89f5db893e00000000000000000000000000000000000000000000000000000002b6606dc1c7b3c00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000077784996433cfef45d999fed125bc03e5b27de120000000000000000000000000000000000000000000000000000000069412f8000000000000000000000000000000000000000000000000000000000000000020000000000000000000000004aa8e9ca6d90e2e47bLX44336aa4725894332c1b160000000000000000000000007a6a7ea71bc7943e8cd32b64dde8feba58f05531"}h!
FjDOUT:3B740B0E96ADC9B5E3F64B361466478222AD0C530AAE2FC60D16117D9F378C57
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"aoas","amt":"4100"}h!
2j0to:USDT(TRON):TMJGu9CJv7T8c4MrmuKMphxbJ5ggh8FErQ
6j4YnO:to:USDT(TRON):TXs2j5DoymPCbY4Gw2KTCJzBAm66oGaYKx
6j4ucm:to:USDT(TRON):TVif6Tan2nFtey9Q5Zu5PW69Cy7KHgob3u
DjB0x52fd85cbf7371483f66aff990ee32b13f6627feca486da7272fa927b449e11e6
OjLL0x615c36504eec9b6cb873a39b677eaa352d9333348aa27320276df34df0a660d1=|lifi
DjB0xba38261eebaa961ed921cb5954eae9f6a3baf0301445491e69f10fdd50fd61b1
OjLL0x1b475763772da2cbd4fd8dc975f3da937b88c4c0b9e9823b80e45d9dbe2a1d3f=|lifig
OjLL0xde515e0c70c2c3e3f360d8a20bb6c2824ef04672cca3f838af546a2e9c6170e3=|lifi&;
L_{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AUGLw8X/HiIm"}h!
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
text/plain;charset=utf-8
LT{"p":"brc-20","op":"transfer","tick":"sats","amt":"584121173085.642748231834730813"}h!
QjLN=:BSC.USDT:0x5a4ED7e521E818B470A5a9c46865E7bb441D11a8:240801972/1/0:-_/t1:0/706
FjD=:e:0x9edc40d91538Bd1079Bd58D75B2Ed89F12AC6126:295181/1/0:-_/t1:0/70
FjD=:e:0x7b4578a7B0EAAE26ebeAc9dFca6167f22eBccade:267505/1/0:-_/t1:0/70
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuyovGfSn5UW9dfU8TPIQ/YpINxPibLf0dLPl50ihFRx5Lf8eAf8fAUD/H4M+5qolh80oGuEbeIkXgXlrL7YqF9HUE/iHLCFqMpneyP8fVf8eAYD/HgL/IAH/HiIq/x8B/xYH1cYmHZktIP8hQXdyTbK+v0VSsFba2DvnO7OyeilTIUa1El8lShdQZLklEncINm4kh1O7lm6GS4JfA3Cb/wHNUffZIFu77+Oty5GVG/8+QgFA0DpD+vbGwbwO8vTxAKr4FCFui19uo4mfUS9YxqJR529wK9Mtc3bjEx7GjuZmCSnGyey4t78GM3SiNWN/iznDa/8e"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuyp5y+alxU/+UvCW/DI4M0pW7snih4FJET5sSAyOLr7sj/8eAf8fAUD/H4MwGO3b/t/h2iloLC+5inOgy1RIYfEHXVWUshIIAWh3cP8fVf8eAYD/HgL/IAH/HiIq/x8B/xYCwLs90wxOIP8hQQDecmCJ/ESiAf7NJHQdfYpP60LvMPiqp3XMnLLqp+YnQKUVVGBtCSyj2up+PqK+BfWMB7MJP+UAOc1fQ62Mswcc/z5CAUBZHCqiko/KA3+AwbTztRyJFctYsUVsiiMiRuFGGoIpp0aVvmUo01TTtTE+EC+FcHiHfxiTBVC+fzFhh4munqOQ/x4"}h!
DjB0xf7bd05bd33c7c08b62d3a6d9fbd1b8d8d427e767aecde22064158777b0e2b32a
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"RSK ","amt":"625000"}h!
FjDOUT:A8D7157D8E5E94F773E4A10A2B765E7B602F61669860773D68C56EE32CB0CC6B
FjDOUT:B3D1CFD72B1B2419ED4A1A67961EC6683BADC5A07D55F2103D1E85D93E7158A0
FjDOUT:9A6BB88AD2745FDC7B4B4A0F0213BC6D94FBBB057642AA22185AC7A301E9CC56
FjDOUT:E1B166A9AB45FCB415E044290A736C981595DB885763C102D628B488D956826A
FjDOUT:0CD38B85F6C75C90F3D9CCCAB493190B0D39E5839B7FAD402B859CADF66E0A19
FjDOUT:C1254677D2C202D26BCDB704FA3BBF2EBE23BE4EC4AEE3D1A29256CD4CF27DF4
FjDOUT:5A0CC6A50AC846F629C5ECD18D9C9F776823A7A2B24A810DF713CCE8F7AD14D5
FjDOUT:AD670A1A828D798A68E598EC0EF55B2C3F24D60FF3E9FB8BB8D196A984F573FE
FjDOUT:11F2B89E0F8555CA37B37BC8EFB9C88E02E6DBB604EE28CD4BE73C137E56F1A9
FjDOUT:6F5073055B17EECF1AD14DB6816BC2129429594A00C61E7FE8A20D9553B8F5F0
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":150}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":300}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":300}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":400}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":55}
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuyqdgi5DBkk2HrXDc15WrZY4O/FIfDncCG1zvcKJXgpZLP8eAf8fAUD/HgGJL/iIR5rzTjm5Sy5WVXYOR0PQC+U4q7PtIHd3jw6R2Sr/H1X/HgGA/x4C/yAB/x4iKv8fAf8WCK6dTNSwp6D/IUG3eeIrluHhRtHxweNh513+mMF6Iz8n/ZNJNH+FdLncq1qp+Xpm7r0XA7Nm52jloW/Jlp24WGN447SxI3psMWA8HP8+QgFAkgKR8INuR/JqU4fjYxxv14ExrhTtd1pSP8ptpq2NjbgDosA2X3fqb3/col1ysxrrfm9X38yITPWLVaScrBFixf8e"}h!
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":15000J
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":50000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":14900J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20500J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":15000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
QjLN=:BSC.USDT:0xe978C9CbF67c35442d4aF36cA97a9A2D80e65faE:750472409/1/0:-_/t1:0/70
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"MT-J","amt":"44397"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
DjB0x1c0660ac436deaf2f461f2dfa012ccf41704a582435f05ffb28e702e81075a5d%
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26868686868"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"100"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"63425.5"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"5"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26750000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"35000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"23110000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28666666666"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"30"}h!
text/plain;charset=utf-8
,{"p":"sns","op":"reg","name":"6118401.sats"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"10000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"4652.2"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27140000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"Osbk","amt":"1"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"100"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"35000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28900000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28900000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"3965.2"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Melar","amt":"100"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"6853.2"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"36P9","amt":"10300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1604"}h!
text/plain;charset=utf-8
.{"p":"sns","op":"reg","name":"112871836.sats"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"100"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28666666666"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"29500080000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"100"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28900000000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"mint","tick":"
","amt":"7777777777777"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28250000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25380000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"4946.2"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26750000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"100"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27300000000"}h!
text/plain;charset=utf-8
B{"p":"brc-20","op":"transfer","tick":"ZFBE*","amt":"500000000000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"4368.52"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":" UBI","amt":"39800000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27500000000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"80000.5"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28250000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"100"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"35000000000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"6653.32"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"881"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"228600"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27500000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27140000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28250000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"21000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25000000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"BODG","amt":"5000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26750000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"100"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"32000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"4600"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"Osbk","amt":"1"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27500000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28282828282"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"668"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"9865.3"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"32200000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27500000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"30325000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"8200000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28666666666"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"BODG","amt":"5000000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"Osbk","amt":"1"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"100"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"24050000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"29876543210"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1369"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"29500080000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26750000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28250000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28666666666"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26750000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27777700000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1698"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2680"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27777700000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"10000.6"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"21000000000"}h!
text/plain;charset=utf-8
3{"p":"brc-20","op":"mint","tick":"
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28000000000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"65858.5"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26750000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27300000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"6583.2"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"68000.2"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"24050000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26868686868"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26868686868"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"24950000000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"25000.63"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"600"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25000000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"RSK ","amt":"310000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"6858.3"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"2648.2"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"25"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"30250000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"30250000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"BODG","amt":"5000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26655443322"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"30"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27500000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27140000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"30325000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"390"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"82580.3"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"150000000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"4328.5"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"24950000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"29500080000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"68000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"5430.52"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"24050000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27500000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"10000.5"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28282828282"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"30325000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25380000000"}h!
text/plain;charset=utf-8
.{"p":"sns","op":"reg","name":"111473573.sats"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27140000000"}h!
text/plain;charset=utf-8
.{"p":"sns","op":"reg","name":"112871760.sats"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"29500080000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27140000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
.{"p":"sns","op":"reg","name":"112868663.sats"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"Osbk","amt":"1"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"8852.32"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26655443322"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"30250000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26750000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26655443322"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"36P9","amt":"10000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"100"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28282828282"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"29876543210"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28900000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25380000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2369"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28282828282"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"30150000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26750000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"5486.2"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"32200000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27300000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"30"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25380000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26655443322"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"7548.2"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"JSVR","amt":"15000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"TRIO","amt":"9000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"30250000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27500000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"24050000000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"Osbk","amt":"1"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"32200000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"7758.3"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26868686868"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25380000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"24950000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27777700000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27500000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"21000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"29876543210"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"23110000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"15000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"100"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"dogk","amt":"500000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"100"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"35000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"30325000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"29876543210"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"5532.85"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"core","amt":"245956.8"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"190000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"21000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27300000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"30150000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1600"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"AMT ","amt":"2139"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"24950000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"267"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Dior","amt":"200000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"100"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"Osbk","amt":"1"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"Osbk","amt":"1"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"27777700000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25000000000"}h!
<script data-id="955" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="1046" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="1898" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"bean","amt":"100"}h!
4j2to:SOL:7zDYEPtavCp5tcuCTM98W3KogoXws8y2FemCxKHNUXK
2j0to:USDT(TRON):TWr7dexUMq7Jfz7vTRoo5iv34MYbBgTfaK
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":40000J
FjDOUT:360246D0B52325EA0736F605D11AB682FC65C4425879FE05A502973B46C3214C
FjDOUT:3FD4FC729E25CEBED08BDE1721BF428ABD3B60F8AAF858F94D5438DC01239248
FjDOUT:4CCD169FC69C969914642A535BAFD54DAB01B0AD41A997E6AFD6E7C638AB0E4D
FjDOUT:57D954278DF948F89CC8DD8ADA9D999494EA2A6E2D8DD3CFA773E89AF865AF56
FjDOUT:664498330D93C3515DAC504FAE5FF1B97208268B6756863072108B937DC32983
FjDOUT:AB9964481617A47BEE3B53941289E7A85FEC817B4525E8B26ED83D6B97CC7DC1
FjDOUT:473D9515082707C621D79847172A416CF317A8AF97BB04FA1858566EA8C59A8B
FjDOUT:7A477144E609548D0C487ECC73A75369F5807AA6181A09F5816D61EE3F607A77
FjDOUT:9937CA361A5F4ED9DF4D49344F0112A8B1A4EC5CE595DFE8D1A57E215A4C633F
FjDOUT:3EBA0A2664C51D7C62FFF4DD37A5978EE74770E8A7BE9C14024055CA503F4437
FjDOUT:C8E0A2DA37BE383F81B419068827CF2B1F732CCE3E8D6B507D844348F7F520F3
FjDOUT:50D9D6A3BA937C24901DEBE014A1D0A9AAEE7F994D3BB3F36A74079C79D359B6
FjDOUT:88D4F93361A64261158524A0C6AF14207218BF4F02933EDB9134CCE2636CB78A
FjDOUT:28F4BE767EA88D6B4F8552945267DD5BF03213D3169D26A98633961184D1132F
FjDOUT:A6B665F6EB31E76899356B8DC92BEF5E0A320E792F9EB6AE3C99ED20F7E38D62
FjDOUT:DFC0B1D9691E5206172F3A78FE2740A84EB2A6B1B09C567C0D0B2C5DA87B498F
FjDOUT:6E303FD1C3E20A7F90B7BA81E9E2DDAF2193205B813D38E7A4212FB9D248AFEF
4j2to:LTC:ltc1qh5pv8mqvzqd0hnag6cvq3xghvaawsp8fmff28g
6j4uQl:to:USDT(TRON):TXCkdi75gvLmYYb4TGLQV9fGhJHyTX1Boh
FjDOUT:B9320D41C1C5807F079D5836D971CD39875DE84CDFDC9D42835C0D315A509881
FjDOUT:FE1C7BE738C6BE6F085EED5D515B0A23916E70FC9192EACFF7350F230539E42D
FjDOUT:90B107A269E84C8AF0354E7040949E5D99718C000DF39CF2504A7AB38F65C4AA
DjB0xf8894d9a144e6fede7545121d20f7bcdca7fb942f3890fc0f354c403d009b0b4
6j4yGP:to:USDT(TRON):TETKH35b1i1MY9GP4ZFKh22vH7ShXd5KaG
6j4MHL:to:USDT(TRON):TX2FfcERWMittHVkCZsVKXVK5c833BZaxK
?j=qmD:to:USDT(ERC20):0xede2e7C058e92184435aF41aA7Fddb2469D5FE74C
6j47gf:to:USDT(TRON):TPTB5cJSrfRDXKKcc8iJR9ZTd2Hohan235!
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
Bj@=:s:0xddA5E9D0D132F128A53Dc9cbeC4b671aB7F4d8cA:116582:-_/t1:0/70
OjLL0x42430f1055500909aaa9b69945349077ad5df6c2736d4a91181ec1a36208f036=|lifi
OjLL0x148ff29a0b6f88c16217d03ed1d17bb1fa9c7c708c4ed3ffbc8f376ac9455842=|lifi
OjLL0x026ea33b7a813224587c7dcd0714109c38ef2ba38e8f1546931f116b880bb269=|lifi
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"sats","amt":"99900000000"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuypq7NHjMTvPwL4gvUhZCAZ317j9KaVBbZtsDNZuj3xzP/8eAf8fAUD/H2QwuS+Wlada0S1e7gWt8C8QDOvZiu0YIpd5Fac6ck+bj/8fVf8eAYD/HgL/IAH/HiIq/x8B/xfazTcvSB8H+fD/H0FwMnhXHC+kYbul6ydgx3uesQq2WArCJmnU+42H7s9iswk5H5R2QDaJs7uZKJYAApCMbfp/FjB6ZHoPSAbLHzDhG/8+QgFAr67KThlgquH693AikiWPv7i6fLq4usHaM0O1LCgrqMP1gtcqyRbnhahFOET4MDhJ44iyvn4da5dnrON0BD+u4f8e"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"ordi","amt":"110.619084"}h!
text/plain;charset=utf-8
{"d":"0x095ea7b30000000000000000000000005168f7a79b3ccbe94ee1e8a095aaa1f035bd98e8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","c":"0x9f1052173e14732ba09b58da40f603f81f07c46b","p":"brc20-prog","op":"call"}h!
text/plain;charset=utf-8
{"d":"0xbaa2abde0000000000000000000000007a6a7ea71bc7943e8cd32b64dde8feba58f05531000000000000000000000000b87881974412786c3bc5a3c45408cc807edda3ef0000000000000000000000000000000000000000000000e9d562380001dd804600000000000000000000000000000000000000000000000000192e7f9a2b00000000000000000000000000000000000000000000056da9d67d20d77090000000000000000000000000000000fc528b3b0d14131255da920d75854a518adfa61d000000000000000000000000000000000000000000000000000000006941335e","c":"0x5168f7a79b3ccbe94ee1e8a095aaa1f035bd98e8","p":"
brc20-prog","op":"call"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"rats","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"230"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"goog","amt":"180000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"1"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"5"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"AMT ","amt":"1093"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"
","amt":"0.000001"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
FjDOUT:88D8B0F0500895937BA1ACB59E2F54086C5FF3E52AB4EFC9BF27875EC4D9F139
FjDOUT:67D2572B52B1B8EB702C2B252A4E5170A58BC8FC8703BEE3929AE603D7D48F96
FjDOUT:520379F8EADCFF308166445EB440A4381A97BC7539EF47E42EC750FFD2CF475D
FjDOUT:9CD2A37784D216E25F027657AED6E6095273CB6E064D911D469D0DD1019BC132
FjDOUT:F14D348ADAAA6B4A2807F5092F075F46E6D905BE69427F02F54EDD8240A87A35
FjDOUT:50EA9FDBFF40F812FD18EFB9D3A358CD1AFC65B26BEB0F579B15C15A56060573
FjDOUT:BA60F87E60A73E09C54D58A414B536900819D29FBDCA6F5EFEBA0B8C6B36C652
FjDOUT:B6177356C94C4940B1F9D1DE79A3913542540655C642BC3E561B7F7154645580
FjDOUT:D1761D6D9A04753B1E7D9F17522D7B83F23DDE9EB74A2A1144B0ECB52092DA13
FjDOUT:B8715BE08D1116119FEAB1AF7FE4650727D98CA489F7A90660DADB2F30E89CC7
FjDOUT:6EC18E2B4C3901C198EFCFF0D7F4698AFA2B1F85703627D76B966844DCA14723
FjDOUT:A59F8A43BFBF3F2E6FA1A85C0D681754016A73EE6205F2A743B33666ED1009A4
FjDOUT:47CE0060078B9DD6305C3A7FA16DC42DC440CC7C66CB2E45DA0040B2AF86AA72
FjDOUT:6E647EA95C34A8CF9E7B48396F906285D166435FC57663499E827BA5CEBDADDC
FjDOUT:066A091061F7E6B48383D1CBEE4DEB78B441060B454E73BDCF43894BAFD3E646
FjDOUT:32A493A840468BBE93A4E2DD82F3DCC1F3CEC3F801780F3E5C1AF4ED3CB326CA
FjDOUT:91BC7FC25CD74D5BAA0E4741188519A73E23ECAE3407B91978A1EB26225D961C
FjDOUT:2AE94C973A5EEA1F1FA8CA9B53AE92E26BE3E1510CA9D1D10C99CD225A438814
FjDOUT:CF95BE084B084BB4A9F88637E6A4C72B8534A04EAB379C67BEF07D5499E01C20
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":29000J
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":60000J
9j7to:USDT(BSC):0xDb91d6EC504cecAb99D3eC1d0e732F674980E61b
7j58nj:to:ETH:0xC87e961aE4d41c6A78D6543764992e49Ce922122
6j4eWl:to:USDT(TRON):TB8pP3vaMfFF74weTzHvRdQDo2KRBifKqxL
6j4EAt:to:USDT(TRON):TMxRYghLT38fmkknQSKsNWvw4KLCoqfgov
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":40000J
OjLL0x579a05b6c3ea56232ceb4d81ad428fe763a4681f9dbb733560e9441d07e61803=|lifi
DjB0xa29bb0da45d4f113bbbe03cd5309660b339f0d64eaa6648db01ce56f908cf0e8
OjLL0x31022751f7e13ec7a3158842ec8ee959c7c3ba798845a0510747ccd11d11a296=|lifi
OjLL0xf89dfd662907788c7fac4e1d69eee3d0df1837c042b10b8edc422be2fecd8152=|lifi
Bj@=:e:0x82136639A0C2EEA67952DdA1762b6A09BB7575E6:156026:-_/t1:0/70
DjB=:l:ltc1qzk5ux0mzjl3a2e73a8ca8rasjeqz7tzrj3t6v9:4969128:-_/t1:0/70
FjD=:e:0xD3ba36cE3f7186795dC4D2f71C479E9320E2A116:223297/1/0:-_/t1:0/706
B0c620eb00b8e71656d2b2144a44173372a4950533efa7e83aab7e3cbd29c8b23:0a
L_{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AUGLw8X/HiIp"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"2000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
LL{"p":"brc-20","op":"transfer","tick":"aoas","amt":"4092.593730988576477892"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"AMT ","amt":"1095"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Melar","amt":"100"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"AMT ","amt":"1094"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"100"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"bodg","amt":"30000000000"}h!
3j1to:ETH:0xef55E6BDC199Ad23702C91008CE766bf4ee40f65
7j5IKf:to:ETH:0x4656d3e9075074e9f81103cCDc616250E745D3c7
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
FjDOUT:A116E71A641C474152EDAD189BC01B0BED66E481B1B9C9A4A08BE7BEDCE74131
FjDOUT:B885F6CCAEBDAB538555AEC2775E514A0E7D5B337122ECD3907834C6C692233A
FjDOUT:CBD5EB1BC08453EE3CB6523190330DE3C354CBD4900A91E7D15482273E2C15B9
FjDOUT:77DDB92753E363C8A8DB4BBCCDEA2F7071C53B7CE7CE29BCE3DD644BBE3DE5EF
FjDOUT:A293629836CEAC75ADCFAFC15973A07FA3A3FF7B656B28B02395303FA3E1FFC4
FjDOUT:D5849EE3505E35E8F4954F2A70F0926CD0EC5661074ABDB2244143741F6437EF
FjDOUT:879F910801151CA32C1C36287289BA7AD4EE821A9F4EC4A9753F8FE5EADDC005
FjDOUT:35B94C6CADB5BD268C1EF07B4D847BFEE9A7A3AC267678802C2403317675E444
FjDOUT:B34DFDFB321870EB3DFF3F297C8380B512E76C5A0BC6B1BF7264BA1A0AEC968D
FjDOUT:389C1A2D050DD61AD5527B64BD64A142AA6E4206CFE8A98D61651016DB621DE4
FjDOUT:B2C5E01A0C30FE40A369C3ED581377FD0CA76D71F06EEC3BCD248E49F657FD8A
FjDOUT:4C01036985E0E18E40F4AD6A260CF5E9BC1E00552E280CD66242780DE0C566A1
FjDOUT:3145863B9D8AD814E9D4CCC49B5F5FF0E0E16E13E052179225336B08B3E2E96D
FjDOUT:8EDB3D94A56136605D0259FF526D4B9FCD5FFE537A2A0E07647AD7D7F08BD222
FjDOUT:7501B42B89CB3212AF4D45DD8E65FC80E5B7AD37189EC5ECB085947681250C2E
FjDOUT:2FB02EBD0F7B61BEADCBEC94AB4426D28D5A8C61588D8412A6C1A4C4A2720F1E
FjDOUT:F82AFFEA3407A74CABDB7AD2102D78D622E5B8FEA035E95424CD4A5E6A983236
FjDOUT:54A56DFA68664D6287E3EB03C52670C3E0848CC7B2574FD7B7A2335389CAF22F
FjDOUT:1C098D76DB0ED2F3ED53DD59AF6826F3E7FE8EF5096DD0DB0B676848DE4E4C84
FjDOUT:063388900FB5BD46A471591DC7579A790DFF28071441E26DEFC5028A9A26E2E2
FjDOUT:9E33953BCDED1973691ED798694ACE39D623BB2D0B5F3E459A86AFD33A7170A7
FjDOUT:8F49C9CD1CD572EE883591DB66FC5B098FC832EBD4B778A9CCD29BABF2267886
FjDOUT:CCC03E0957E15ABDFAB27B898FF33AE195F046C70FF26C64B65B342B6B25037F
FjDOUT:8CA1DBD99A51D7BB83F89A92A076CC6A55E4A8619B730D3068EDD03A4118A1CA
FjDOUT:75ED6CB5024251619CCF9A4FBF3CDBE04ABF109F75C072168425FBFE50FAABD0
FjDOUT:2CC34EE8340F432318F9A9C3DB6EB14D3B00E5BF2C2BEE4A582A08143F18732C
FjDOUT:42308B9B4D659095AFC70F9A879F076DB32F36E4BE39781745FDFC93FE66C1CC
FjDOUT:3417CABDE6164811B12B60474260E6303FECA0FB952710D5B4E5C495CECF612E
FjDOUT:3E81E9BD3C9C87168624C3933029F802A551703B5A1138EFCC1CD822C2E9618B
FjDOUT:618062BF90B9F4E73A9EE75785DEB0290BC45834C250F3765FB16E45189018CD
FjDOUT:9DFF8FE6A7BD81E4E73885A0442BB942A2D73FBDDCFAD3C6453D0566F1F5A12C
FjDOUT:78B63507DB6568FD4B3BACAB13CD3F19BF1E50FA7407FB1BBFCD9ABD9D55EEB3
FjDOUT:3CDA2DC8A5C99B988C95223687C43971A1889C09D6ADC4D66183D5E8693459D0
FjDOUT:C2793795BC9DA6335177EF1110FF314EF30379FFAFD01508BDC0B91A7DBAF1A0
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"ORDIX","amt":10001J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":18000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":12000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":14900J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":24000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
/j-CPc:to:TRX:TAuYwDNyHcv9ZfMPRv4YcTiaxWt6NYhJ1e
?j=OW4:to:USDT(ERC20):0x78926583B6d018Afc682c2EF6171A409c65e0d78
6j443h:to:USDT(TRON):TJLawu2KDBWEsZbuVBpEuGwHvmnLjRkAAz
6j44YP:to:USDT(TRON):TVFmM8vZjoTu5FPPC5MfrKVYQ9G2GR3vXD
/j-rKX:to:XRP:rPuAZJEL7teeAAK5VdyYi7DYhjMbvTMQaPG}
6j464V:to:USDT(TRON):TPqhjM7HQTriKevBCa6oSf2PYmdwPBLYdV,VO
=j;cb7:to:USDT(BSC):0x64a8893c22B5229B59083D7426431DcAc763997C
/j-lru:to:TRX:TSjKUXPsKWQjxTmkegLqGW8UXcwFstVgN4
?j=mmn:to:USDT(ERC20):0x065b6E99328A034d9b33f43B60faAa18c7400e59B
/j-h1S:to:TRX:TAyZeJTKW4x1GPZFcBwmC1tNymXDJNFLsh
6j47AM:to:USDT(TRON):TD9xZGeK7oHBmrnc2fGA6Z194s27d6LVxg
6j4QRA:to:USDT(TRON):TPqhjM7HQTriKevBCa6oSf2PYmdwPBLYdVX0
?j=U8X:to:USDT(ERC20):0x618731F4dEFB0CCE7f3DF86eC309eD09f0C16155
5j3to:SOL:8AVjj7rCie5VhnncPjj8K88RZzBuvKfEpmjWFSrMPQs3
=j;w0r:to:USDT(BSC):0xf7B272340Ac267Fd770D5c26a520e5f91D0EAa13
DjB0xbba9932bfa85b9b723cb05988d1773d9155e432fb6ec33cd5689896279b94fac
OjLL0x09101863b2f6450212e77c4ed51d41dc1c23c7e46b11fb4b7c69e7fe95995f52=|lifi
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":220}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":220}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":220}
QjLN=:ETH.USDT:0x6E5c94B30A478E1539E7F1133Da4399b5BCDc21a:491888400/1/0:-_/t1:0/70
6j4ZVE:to:USDT(TRON):TZHWbhrzKhg5osyfZyAxisnoYMFh7v4XY7q
EjC=:e:0xF1E6c038702c0E5BbeF9bc0f048e8363198dCbc1:47049/1/0:-_/t1:0/70
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":60000J
*j(to:XRP:r9Tu6CauToAh8x5xYN8JnrifrcsNN57cU
6j4from:65USDT(TRON):TY4NvdUqeDwtbAcNQniFhGhVyT8Q8S56jd
7j5from:700USDT(TRON):TJawKyTyAX8Dk7GoL7p6RUty6s8M8xZ3eF
6j4NrA:to:USDT(TRON):TXJYpGpNa8vvkPNgdheJnjH5qpWU327zPfL(
6j47uY:to:USDT(TRON):TXvR4jSdoEkvJXrDrDUoqYcssDdor1LMnk
DjB0x06bf6bba71dc05dfa3fe8e9111de37a572fd08ae77328ba9d425f55527797ed7
OjLL0x6438103f01291ffb422c064a57271521dda80c8054b5f289d0473be0e050520f=|lifi(
OjLL0xdfd90d7103e67dcbd8e42f5492a895ea3e690b4c11a95aeade09df8de2023086=|lifiq
OjLL0x5a236a7059c258f72a625e1c1f88be8d4edc73a22214cf399b6c4f00abe4fdb3=|lifi
OjLL0xffbeacfc4fb56276b9de30f195113d6384e61b063d9bf8916ea85dcd8ff86ceb=|lifi
OjLL0xb82238fd2068a7a621206bee8b6931e542fb3df1ed34f003cb663e5f89d08a7e=|lifi
DjB0x10ba2f0d8c5c63b9ae9093f0ffb18f5493548fe6f6cb6a22e4f11e7c33690483
DjB0x017e549c3b0a15804d3b0ef6a559396cd4665958d1b73039130cbe06aa2bb039
DjB0x86961616ca4a7a4300de69eace844f9ace7901b65f348c56d6bc31d792d514ca
FjD=:s:0x67B4a753BB4F5327A33773D4ee81cbf1e9B30d15:397788/1/0:-_/t1:0/70
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"MT-J","amt":"42299"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"ordi","amt":"110.619084"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYZaTaJdMBb/yAO62D/H4D/HypiYzFxaGFsem52ajB5cThjcW00N2F0djlyOXllazludXhtODlhc2NuN3H/Fg"}h!
DjB0xb89407c25447107fc0802a48b78aaf7e6ab672c34ac73d7784ea03366574a844
DjB0x4e138999274fe63ffb0e946a716fb3bb8be355d6a23b6eea11d94463c67a20d4
DjB0x3748d8d5c09a04f70d89e8f6188d115eea744d1c1d778d19379dea228af160e5
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ordi","amt":"3"}h!
?j=D6s:to:USDT(ERC20):0x768Dd5101eD8eC58e30A6816e8bd3BdC6505c674
=j;8uF:to:TON:UQBe8_MBrgkwzy--omgiaYqMiURZjTGwEfLVu_mIugTGTokO
9j784D:to:SOL:BSAHghERrM4WjfeXhV6Zbbpb18H9CyH9zbWZTKUjQxtj
6j4sIx:to:USDT(TRON):TMWMSKmbhRQCa67DwnW3PtpDRPBFU1L63E
6j4H4Q:to:USDT(TRON):TAuYwDNyHcv9ZfMPRv4YcTiaxWt6NYhJ1e
;j9from:0.0053ETH:0xA21C6481eDce90E377e19510c565C660a5d85e9Eb
OjLL0xc0cf43aa36868e7b94baf9ddd838f66946ca7f71addb6f35d2633d8c1df16ce7=|lifiTRb
6j4ywt:to:USDT(TRON):TH4BmVZsWMbNTPMUCR8ZGqRba3ouXyNUPD1
=j;AHt:to:USDT(BSC):0x637CD5840F7D3960F17f8164b4a79A1186A1Cb92
=j;Z7q:to:USDT(BSC):0x65e503cAc3719fC750e2d139fD90D2D3e1C7C8b4
6j4gwf:to:USDT(TRON):TWAW8gRDwZtrSQo92xaRo2HXYv1CipnioR
6j4QrK:to:USDT(TRON):TAwP534pG4FBhVgGXFmhyBZnEPvGckjHWM#
6j4nxG:to:USDT(TRON):TMxRYghLT38fmkknQSKsNWvw4KLCoqfgov
6j4XlF:to:USDT(TRON):TMS5SqqY4KnWAM8Zt45aNaMJopWCdz5n9C
FjDOUT:13B3CCD8B6CF509C7CF3F48DDAA12E8B2A70A05B70713EC581C785093B48A39D
FjDOUT:C1CC9E79FD04497E37403ABAD728B6CDD688E1D22428A1DE1F37FDC7BF5A71AB
FjDOUT:01BCF821B2CA52CF95D3372072F1074664D32FE7864FCB906F556D54271BA510
FjDOUT:7129B943416812CF3A307F4D4F05E07AD108B393C35B128B3567AF9FE39A569D
FjDOUT:D33F26FA7F1A5D0D4C78246BC616EE7AD3619107DDE99A15505696DF049B6F1F
FjDOUT:3086DA5E41990ABDABFC3959BB6741EF4F56F0A49283E6B2E313A635BEDB6108
FjDOUT:30F2FA2605D90A3C94445C44C3CEF3EDBD0E0014F1BFA8C943E25E770E63004C
FjDOUT:A2BDF017E79BC11666BFD592FEE588423025965ED4100404D61DC8DF7503E1F4
FjDOUT:8ED0D8AEB6060ADA4720A793A3B813659D24B8F52E3EE18B000BB179CC642FF8
FjDOUT:F5C5E2D20E0529A0AC94D3CF8172793F4CA56E88F5EF03D2603E86B316A872E5
FjDOUT:E506A88E2656FF0BEDEDCF4DFA10980864717F4EB8E048A050A2025F12A63FDC
FjDOUT:5E106D4F8FFF0B5A3008FA5987BC6EFCA0DA1CDDE947D2B9DE1A4D88AFD6BFE9
FjDOUT:043275AA2525EB01E465BE00AB85322439F0CF9EE12616DA6BAFAFFCC66B1ADE
FjDOUT:22D14DF395566027037297F5FC26BB152018E50D933F9A6A93364CF722DB3C47
FjDOUT:4BF16680EE3312D78F336DDABDF4F956E68485A80FE4797F85B5B355AD8B1F6F
FjDOUT:1FA4CC6FFE75E22992F7ED51519678D35255BC7B734343819C67E41643C1DED6
FjDOUT:DAD18034A9424DFDA9662CF73F758A90F13F9CF65BF61C2E045E01081B015222
FjDOUT:73C3AC9B6F98026C13AFDDEF8D3117C3161B95C96EA7289D9C1E468F4C5DC845
FjDOUT:F1B59032B45D316A4C731E6D3988D739E235E0E11058E4D7267F75506789F2D8
FjDOUT:36234EECA1F4A5F1AC2309C68DDCF959E164BF975B60F529D13F883CEEF037E0
FjDOUT:772B2191190FDE614A4D885A9999A5167D1C072D70C144AE936873844F1B5149
FjDOUT:53D28018F5D0099A6E901388E6189B14EBB9A32B749F5CF6250E9970AD5833B1
FjDOUT:ECB66758EC0968DDA35F49E44A792CBB476DF1A88588AA227B920265FB06C1D0
FjDOUT:E826D88EDD4812FB3701DA3603ED218C399BCC5A3376AFCAF85DF93BBCB4F1DE
FjDOUT:EAC93935B1651DE8B73B946D89C153AD98172F89C3E871B49BCB3B583A239EC6
FjDOUT:D54B445911BFFA888E30EA92E801F7EC76A479E085EB832F32BC4504EF72026B
FjDOUT:007D8E341CBB2F03CD321897146D2891349F172403CF5810E6FD874C55172477
FjDOUT:42D868F0C2174814AFE6536197FB36A16FB943EFDF481096C3ACF95059D5D7AB
FjDOUT:5FDAFA53429202347FFE921CF167626F0BCAB7188011ADD0D9863B5511A1BA35
FjDOUT:2C142475FB92043D2FD11DFFD50DC81F58F909DA147064DC26B3EA0276B04EBE
FjDOUT:C26BC148FDF05D1EF2FB34302BD4460484494A6E887E26EE4082C0CD771EB14A
FjDOUT:7E6E9A23E4BC6E337F582B4577DC0F8EED97FAD310CCD1BA648E928F50A7B817
FjDOUT:8B35E2DB604D5195054E51D6E314D58E2D870254A37A2E252A7517B7D41C0F65
FjDOUT:EDAA87F6C9E21743310C07949A248FC945591EB994161F863514A564A4F64826
FjDOUT:DFB70BE11F2E77E285E4AA922CAD752AD12701ED2CE3C92FE58F3F905A0A0AD9
FjDOUT:41767256EB2AF02FE39281C13133CC3AFE3D60CCF1F639E9AD703480F2B98F78
FjDOUT:CC1500C47ADE1CC497F50264FCEC43C91772D2E9D27503C715BB7F38C61BF9AD
FjDOUT:07D911B486C85A2F1D357E9E6C5FEA17BE516C896F3F54D4AC7915B190651A18
FjDOUT:831B897F898282D46E122B6454515FBCD5B21E08D28677A56E4FAB2019C8E0C7
FjDOUT:B02FFDA21FD03C046D2C782C760600B5B2432953F4659EC181EB42B72EC68AFD
FjDOUT:A55AA95A443638C58AB95AAC465AFB664F664A26CE89ABE86714C8A012BA74A7
FjDOUT:40613CE681D9ACF4678A023FA7AA0FBF55C8779D26821965BFFA4445127A37A6
FjDOUT:7E3B531C8096AB43D99ECC494D6D0160AFCCD13CA7FA66550342CD9C456164EA
FjDOUT:564E1136835BE615D743B48D5066A94548F74D34C259E50080537C2E718539FB
FjDOUT:E881D14AF169E6163384064765EE939872077733930C27D7E7F64FD74C98BC91
FjDOUT:567336800F2AD5D3AC8FF6EE28FD0918CDED75FF6435A420F76313243F852881
FjDOUT:FA59E3AA359AC0ED2F02F18266F38EE16D94F0ADC7C528F2A6095CB704C55EF5
FjDOUT:AEC585A0E949BCF33C7995DFA0C0EAC179CCA48C249A9EFE8E7E51DCE9779311
FjDOUT:845EC232AB22C20ACDF4C5E986060A2F3E4DAD32FC759C7D7EA7ABB7D630E70A
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":22200J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
9j7to:USDT(BSC):0x6f2B6cC22F4e04a3ABE30281698fBd520214C93d
=j;WkV:to:USDT(BSC):0x61E4f5aBD1D4cE202A89d9b07F6DE097C137f7AF
OjLL0x16cf4aff796a921e212ba3345334bc79f9007dfefcd3f45b31f5524c830f1d33=|lifi[
OjLL0x52528d99225832cc552acb589a2e513385dd8ee6b46b513858c128999b5744ca=|lifiA7-
HjF=:l:ltc1qfnpwn3ed45xmus56smmgeplgghjdp8z77v7237:4970613/1/0:-_/t1:0/70
OjLL0xf062e680e9f03c628107aff1ff7e34de701b9a37a241924b35def035ffc5d7be=|lific
OjLL0xd1338778220a26d2858521c234f4fd21267946fd31c72204cecfaeb4f45a1413=|lifi
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":220}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":220}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":220}
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"ORDIX","amt":10001J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":29000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":24000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":12000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":18000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":14900J
text/plain;charset=utf-8
{"p":"brc20-prog","op":"call","c":"0x37c778c746a3f1434aac5b2892fcea75822b9f9f","d":"0x095ea7b3000000000000000000000000ac4efd08f7a09f22ac0526ae180838ebc7222222ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}h!
text/plain;charset=utf-8
{"p":"brc20-prog","op":"call","c":"0xaC4EfD08F7A09F22Ac0526AE180838EbC7222222","d":"0x92cdbac500000000000000000000000037c778c746a3f1434aac5b2892fcea75822b9f9f000000000000000000000000000000000000000000000dde90fa23b88ef59a850000000000000000000000000000000000000000000000000001eb4a3aefc55a00000000000000000000000000000000000000000000000000000000693e9ab5"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"ordi","amt":"110.619084"}h!
L_{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AUGLw8X/HiIr"}h!
3j1to:ETH:0xF7aF55A5b1F85a5a2888885bbE5085bA399ddefa
OjLL0xb151373e79fa61a2076144d35dea8901a68cb71edeecf5c7c5ce00c8f6f57211=|lifi{
DjB0x5499b77611470373ca94b06962ed439fb599fae4cf508ef6ea37e3b4628e68db
DjB0x13c9930f1433e8de6a6273c66c464a5ac01df4a394d212713844f35b5ee91f15
OjLL0x53f39f449ecd553e75a63e0f489dace36388b83aa7c02abf4d3cac8154207da2=|lifi:Q
OjLL0x378a27e93c7ed2892cd20742f08bec26981f6d321792ab03855429962fef8769=|lifi
OjLL0x42ec1e70ed3a76439e7a7de0f294578cb430ea83a0fa72980d00f7eebda9f32e=|lifi
DjB=:l:ltc1qj7fzhdjcm7dsetm5f3ezcckpxrzczk2t2f42lp:6015941:-_/t1:0/70
OjLL0x8e65e700de50cbbc812e3a533c6da810131e6cbdcc8d22669f4e5570f39fabde=|lifi_
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"5555555555"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"30"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"23"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"4444444445"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"15020000000"}h!
DjB0x06b558ebc3478c28ff76881f4033a79cbcf63094eb8eecbe664236fc827fc20e
EjC=:BSC.USDT:0xaadc2942c10c814b652a9b69cdf26d2f378d65f8:43914e5:ro:15
DjB0xa0ff5bc0506766f54d1b011e9b071740b8609475c139d3573c146c6b7ef877e6
DjB0x737df0d9e61e8aaa8f8fa90b35ec0b46529012018e14101551a994f04ab85897
DjB0xb433ff56df7edca95112a490ff0b64a4214fc1683783099b1e899345869d58bd
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"5096703400"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
@08abd24df44e4908b425324c75a66e76ff67ad3364c8969fb8b92105bc6a840dB0xa246f55511bd19042764e6190b90e2c763cbcdf3e4cc7fbc7d1c664163628db3A
TK=i/SBICrypto.com Pool/eu
FjDOUT:4E00425752AE32C6967D9AB5F81A894B56FD02D5A5EF79804B72636E0076EE33
FjDOUT:CB3458BB01E1A6F1717A0ADD8ABB262514D8D0E8F17605630077CABC2329A842
DjB0x378a27e93c7ed2892cd20742f08bec26981f6d321792ab03855429962fef8769
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"130"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"65787777777"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"beat","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"5900"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"5174.4"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"5000000000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"
","amt":"0.000001"}h!
gEditionrThe Celestial OnesjArtifactIDd0651
text/plain;charset=utf-8
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"gems","amt":"50000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"200"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"beat","amt":"2900"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"36637163645"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"220"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2981"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Melar","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"BBSA","amt":"5000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ustm","amt":"120"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"beat","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"ustm","amt":"1520"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"218"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
DjB0xd6a2b357624c106b7014da9ca4e909dc70f58d6ada6912fd9b86f63ceca49441d
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"HLPW","amt":"150000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"QUNIF","amt":"21457"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"47000000000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"0.2"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"100000000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"5300000080"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"4500"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"HLPW","amt":"100000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"5000000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"8200000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"8200000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"9000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ustm","amt":"240"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"USTM","amt":"300"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"MASK","amt":"6422"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"5096703400"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3000"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"4643.382306"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"301"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"rats","amt":"1000000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Melar","amt":"56000"}h!
text/plain;charset=utf-8
B{"p":"brc-20","op":"transfer","tick":"ZFBE*","amt":"177000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"210"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"12555333658"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"85000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
DjB0xec612885086ea0d4c2def396354b7dd17340ff35c6b7b5702cd7c7a5e427e3da
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"f1fa","amt":"180000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"beat","amt":"1000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"8000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
O=i/Foundry USA Pool #dropgold/
FjDOUT:2C32A30090C7904B1133199A600DD6FF4BBD39C620619005D338091A4B5340FF
FjDOUT:F0435D822ECE8F926C2943FB7793534F75B088DD0FA2CCCB8E1361030CBA2D3B
FjDOUT:FC19A65FC09FFD2CBF11B3BEE839E03D29B5E9FB396046AEEA8A14DBFDD96E1D
FjDOUT:4B47C666EF110DC3B9714592B701CDE7E332798879B8D36F7AE293A2BF5D1F2B
FjDOUT:95E358A4260D3FE263F15A296D626A0AFFE9BFEA273423481535E30EC2B7E608
FjDOUT:9D1EB9A9F4E8DB63036104C2BE009E907ADCB78799897192FCDF1055DFAB9D37
FjDOUT:15B20F1F26BEE3F5146CB4D17F9CB4374F0B18F7548F5B4FFB7ED9446E21FEC4
6j4V25:to:USDT(TRON):TWi4hrDnsB5t3mEaWb1BgcDUbxrm2xyiSr
=j;1fl:to:USDT(BSC):0x7f2C2530C3834886c8EE52cf8B2B27359BBc6726
6j4Lwp:to:USDT(TRON):TYn3crTV96FRCYbaJ5piVuZqTsw34zmZAV
6j49EN:to:USDT(TRON):TN4916BJ1x7LKSKS8SpdHnRmd1VtRd9Jn7
?j=7Zm:to:USDT(ERC20):0xB5B0290a07D3920Cf7616fD3Ba3C3A37FCad0aA7
FjDOUT:A64164BE7DC5D727EF232C15F27E43C650E2050B5C11BEC7117AB30A0CC132F3
FjDOUT:84B28152539C58C78DD6D6373DC16E24D367374A07CA47574E17142578D4E8A8
FjDOUT:3C032B0E5E6EE00D3C9E5B9B75870C2BD6ED0673D214C78DA201D6547F876AF4
FjDOUT:A8D7D3F6428D7A9C77CBCB58377949DDC647CA0F143E9F848ED558680EEB27B6
FjDOUT:8584180902CCC2695EEF0BB3A05745C5C576320DA7F40EE5720145C1A52F8EF0
FjDOUT:76522AA0BC10DEA1360BC29F98082DC2AA51CB5148F99FF368FEF6F8E7A9BC3E
FjDOUT:0244C0A23F73176DD7F56621C5D072305170AF8B09632A696C6134F494BF6BE7
FjDOUT:EF732BEDDEF3BECDF5E2D6661C322A7752D0F09176722D2D2724BAC987F42CC9
FjDOUT:6D9A3385BF9A95315DD79BE9805F96689BEFABDDF67C80ED3F893C76B7EC5572
FjDOUT:4877690A93F8FF2212D02AC26488A04B0D7CA46C8CE11BE84F3645229B9EA8F1
FjDOUT:E58F57B35EB77A5810398A93BB0A807F408C2AB675BBC2D9A67955CE8AB0CD9B
FjDOUT:B891761CD88C16188F07EE33D33C6DCD9DAF04B326ADB39114CBA36EC9CF3AC0
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"rats","amt":"359427582.65"}h!
2j0to:USDT(TRON):THNeuamqNqspmpGskZL1rTHTrSJk3BnyQq
FjDOUT:D549C7EE1C7020E1EFBC7F9437C4410785B0B062742CC04B01024A9B5D25CBA4
FjDOUT:0DDBE9A1F343DB4B9E4824A2DCF594AE7026BA0CFBC2A9BB0BF30863F16BC8B2
FjDOUT:FE48D2A066EE95A4CAAC4BF2FDCF1F61A0F869C368A4C5DD6DD7319B716468DD
FjDOUT:AC8DEC8BCAAB30E030CF58E9D334FEC8FF9951BBD70201FFA595C9BB8C9FBD88
FjDOUT:171A64CC398A39536AE2D6677B09B8230292C6533BB52E70F791C1B6E6DE3A76
FjDOUT:7B9981F15A690BBF2DD402D700E9090C04950D48553406FCBE36160A611B7A31
FjDOUT:1A876F88F8ABF166EDE57AC6204A6064B915CEF993DBB2205F6E4671F7CD4C9F
FjDOUT:27AE21133488BD2D4C1830776F85C93EBC571E8D93972DA87F3A8630139098C3
FjDOUT:5F062208062602919AACA6E9BDF25A4D7C874CFB2D0BF8F593A71C75E34CEACF
FjDOUT:42D041F74421C9114CB46A18D415C1043D7C1E1ABA6A584226F0AE9AF7CAA466
FjDOUT:EB3EA67F873A114514A47450F26E3C02E426F8316309F394A51FF587F1E27691
FjDOUT:0B3C70856B2D1C03547E109CDBE8C29D53B7A2AC14565012EE3F4D36FFC62F91
FjDOUT:F4587506E1D72B3A16252EF85B7801FA54D22A59F12D6D71EAED4019C357D33F
FjDOUT:FEB05BA80461F75BAF001B94AC1006458820CF88FA31722AD38E300B8843CBF1
FjDOUT:A1BB472B98D67A045EFF7B91C86E21BC6189B21CDA0EF900323C6A5CDF05FE7A
FjDOUT:F013DCCF33D4EC59E5729E0306DB93B4578FA7751C65A572C089910A996B9D36
FjDOUT:97487FFAB97DE625D052CD7044DD03B261267819587357A3E6F53A5B781BF8B3
FjDOUT:5F7DBEF43889954DB25EE27191F844B64704B62677FE1533FEF15767E58E5563
FjDOUT:0501D160A78571D225766F5F394EF30B73E1044156CA06501BBDA822DD787800
FjDOUT:9C6B1A17DEA5A763DF78D00CC651F029BF8991D22308BDDBAC328F2537BE9F02
FjDOUT:35DD6BDDE62D522ED6AD0CE1CE735E7D90A900A167F6BF75F333CD5BC6FB7F23
FjDOUT:97C059DCB7AE5AD3696050166CEE6973B903A6CB399E71AA35A61EE7EDF8B597
FjDOUT:C0CF2554F6BD3305ACF913C057712CDB995F93824EF9ABE71A0CFD745C2DFF47
FjDOUT:6D4A9425E4B97AE425F3C11742C6E4EF85AECE035DFE05A4698B7368A30DEEFA
FjDOUT:6EA30B903273748BEE3289FAD79446660AD307DFB74D6EA00F798D15746CC0D7
FjDOUT:83239D7B3C2A3B24CD14B5CCF105B86D937C8A9763D44E75381A889913C3B2DE
FjDOUT:253A3AE1940942E28F9B1A8A72A36CB4A995B2233192DB6F35DF058ECA73E27C
FjDOUT:A56503B867D329E042BD24D1C261633C527BD730F829EB697905AE4F8B98A95B
FjDOUT:233D357D6EC71B89BFCFE58EB8BD98B55720FA79379FBDD15804294B79F450C3
FjDOUT:6CA5B6CEC61F5D68CF78B529A6B5E541287F500AE33885FDC3619A7B4A3FE655
FjDOUT:5E44839215141373E5069C3F6D41149FE05EACF7A212A7A84A3664284B49C25F
FjDOUT:526780E296F7E57C276AAFBF5D1A9451242F0EE00FCEF7D20670C8F69A83FCBB
FjDOUT:3A2C5417E24F60155D01E3F8A3BB66A6C76C2BBB8F9D7FD2E946D88351D71955
FjDOUT:3D3FF5BD664D2430051D3D06A0645F02F3253BC6B7012968047996A17924E984
FjDOUT:68F937E0CBD5F285EB771D260691E90C76A4A269C3439AF6D3178C87501FC214
FjDOUT:8932F6C416E8E3E842974688C8B6B6FD8BCEB7B21E58572F16E5A1E140C8C1AE
FjDOUT:CD29A2E1382A1F9C1F08DCFA1BE12E5B2F05375F0F3A973555DEB812302567D9
FjDOUT:56AFF05814A06E4C5DC98363A73AA5E7780B180D6607748A5A54B048E52F7437
FjDOUT:EA1A54AB897BAC8B52B470F1B953373FE31FC65FA3360F53148AB4CF317C8CCA
FjDOUT:459A60EC5CF64E39A990CF7D4695E1C60F9CA5A8BDA547F662E1DE9B85E63FF8
FjDOUT:CB1AA96A64AA6C8D6E5CB6C7740D6D46E9884EBE146423F43AF2FBC5A501D8A3
FjDOUT:E75D1CAAB41BFA3BA170294A6E17D6618B85BF2D717A406C9713520208922A70
FjDOUT:5BEDDFCEA2E2F3A65086D730F69BCB42AED48A324C99073C03C873A7E31374B0
FjDOUT:58CC444B9524D85841B371B94A17901D131091A23057FFCEAFD17C7CFB84EA45
FjDOUT:7463CEC3FDF3B76F4933C2654790D7AC9C689959BE3B5B6B8800739369289D93
IjGREFUND:6DACCA82887AEE98079018A0904DEF6467031926AAF86BFA906F9DE6942AD036
FjDOUT:9E3CCD4353603D11674AA9A8A4CF799A3465EF659BE3AB6F34502CBD4141318C
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":17900J
=j;hiP:to:USDT(BSC):0x92b679344936eafA26A83415C8D7180858fb8FFd
/j-Sfp:to:TRX:TKQiWXfeYMLAsWvu9dtwTdA8HHhDU7tA46
+j)to:XRP:rGBWvcbSsWcF9C8uUtA6NrNC2LmE6v5iKb
6j4Q2V:to:USDT(TRON):TKzjZsaNwMuB5MEBRkQvJsfBjWFtCpE68y
6j4K0v:to:USDT(TRON):TFa19JWugniF9ujmezefV8m6TEb1bAFEiL
6j4yav:to:USDT(TRON):TGAXcANTGHaZLcdAxsu2q6Tbi24MgkxAGk
1j/from:1669TRX:TKDrEeZupoa9n1GsDjmtPAbQsg3tTkocFj
6j4bpj:to:USDT(TRON):THMnzEGGu3vGEdEFWoehV8BzmL2hhEuBsR
6j40gr:to:USDT(TRON):TMxRYghLT38fmkknQSKsNWvw4KLCoqfgov6
OjLL0xb38250f468fecdbc33a605a9df2bc18a2b9568f90f445d80a09797a6802922a8=|lifiiZ
8j6vp5:to:PEPE:0x5ae02d8762F0Dd5cC18b64d4d0D65bc820cc0f2BF
OjLL0x063ea66d507564e13d20b30e2db19d9ce854454a9a9ef148460e5e6166a717d3=|lifi
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":22200J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYZaT7dFZKMPP8fD1gl/x+A/x8qYmMxcWhhbHpudmoweXE4Y3FtNDdhdHY5cjl5ZWs5bnV4bTg5YXNjbjdx/xY"}h!
6j4vJN:to:USDT(TRON):TVXrhfXBXkVaaa1C1nApgCR3autnkDjcN40
3j1to:ETH:0x8dBE8F70e001aDC3bfe3Ad06A1227a5f02b5d358
OjLL0x34c27515eff9835797777de910891bbc3128e6cfe6a85a91d0825a2c9ada2dd6=|lifipDDT&
GjE=:e:0x9891741aBCc342bA695B15b852e6d4CB7A385ea6:926746501:-_/tps:20/30
OjLL0xb40c4bfc5e1e237526abba9d5e82bd0eb8b4fdbc1ea4e74610fb9e0db0c1bbcf=|lifi
OjLL0x29715bba226bb8b52e6c880bd57bbcaa7c4c6e220b6d1743200e41446032d1dd=|lifi;
QjLN=:BSC.USDT:0x1AfCA45675BbB1690CdF932cB532f29752e2D089:405168896/1/0:-_/t1:0/70
;j9to:USDT(ERC20):0xA79C9000f72fa40843Cb36097A481C3957Be8ebF
OjLL0x391a18c9d7ddfe1d37b9c2443c5617ce4295b0cd648ad88f55a2e3319d4e40a2=|lifi>
text/plain;charset=utf-8
{"d":"0x095ea7b30000000000000000000000005168f7a79b3ccbe94ee1e8a095aaa1f035bd98e8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","c":"0xeac57302e2680a461426d8e99bcffbe07a1be33e","p":"brc20-prog","op":"call"}h!
text/plain;charset=utf-8
{"p":"brc20-prog","op":"call","c":"0x5168f7a79b3ccbe94ee1e8a095aaa1f035bd98e8","d":"0x38ed173900000000000000000000000000000000000000000000047a5c207b660588e0000000000000000000000000000000000000000000000000e29ec210009020fc9a00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000021f70499b14a1c5f30cce885d5e49a0dfe93c40200000000000000000000000000000000000000000000000000000000694140bd0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000eac57302e2680a4614L
26d8e99bcffbe07a1be33e0000000000000000000000007a6a7ea71bc7943e8cd32b64dde8feba58f055310000000000000000000000004aa8e9ca6d90e2e47b44336aa4725894332c1b16"}h!
Bj@=:s:0x7b996451A24E797FeF62A6d976860D92dE4D410a:547745:-_/t1:0/70
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"MT-J","amt":"36598"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"20000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2269"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"20000000000"}h!
DjB0xab7d0bd4b53ebdc9ed592cc3e0b60ceaff1f6d42f0df5db1932650fee4beeec5
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuypj4YGLP+Ss5vSUzZgrzl+6rLM82GWCdxCDvi92iijjR/8eAf8fAYD/H84FxTNTKKgeKMKyKBEIDfT0ODnU0ReGDsJxNQTP1L8Xef8fVf8eAv8fAoD/HwP/HiIq/x4iKP8eIif/HwP/F0Se0L2EshAGEP8WAinBmjqcRzz/GAGXnYztjoyT+fD/H0F/3zSLVLdaf7YJ1xLuAEVjHWuSwAC1rGgm81RYKUMR+0HHv7SG8bfhy9MMv879J/NNhXCBpKTNzjLFmGMRz2R1G/8+QgFABOKpffu/p23cXKqU69u2+nOPx3ag2L5tInYDLxE+6FePdj2b/wGAuYpMXZz3GQH0AQmlQZg4oY9H5TWUaSMUaFj/Hg"}h!
hbitworkcd8930mrequest_realmenauraenonce
DjB0xd37eaf5dde14b84a07668582413e2d7b50af9d80665b6c7e9af9f4881bd424d7
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10500000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"999"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"999"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"21232323232"}h!
P=i/Foundry USA Pool #dropgold/
FjDOUT:9E33FA5827BF5EAFEA4945AD47C87555DCF009FFC380A4B1E65593875905730E
FjDOUT:2E045F08E56424E097A62BE341A0761D4C7EAF0B773E7E1B516C41A5F291DC92
FjDOUT:730AA162D9E543D8D1312B3F40E3295BE80A2AC653A177E0CB0AE1A2C3C8DCBD
FjDOUT:DD5C8F0B8908993B4154054B762FE060A3C889975072C358854A6A371E8DCCF2
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"sats","amt":"174471399"}h!
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":17900J
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"42424242424"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"Atmc","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"WDSA","amt":"9800"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"500"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"175000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"35000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"Atmc","amt":"10"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"Atmc","amt":"10"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"37555555555"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":" UBI","amt":"200000000"}h!
DjB0x07ba55e1ec714ec528fe28c666ed34706d1fdf21b1a14ee06cfd8c524ba1513e;
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"46000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"35000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"18000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"Atmc","amt":"10"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"46000000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"3500000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"23232323232"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"300"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"Osbk","amt":"1"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"aoas","amt":"1000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"350000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"5000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"57575757575"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"Atmc","amt":"10"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"23888888888"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"4200000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"37555555555"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"Atmc","amt":"10"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"23888888888"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"42424242424"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"200"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"41414141414"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"190"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"300"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"23232323323"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1481"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"22222222222"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"22222222222"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"7500000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"1000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"250"}h!
text/plain;charset=utf-8
D{"p":"brc-20","op":"transfer","tick":"
","amt":"15699911127.888"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"Atmc","amt":"10"}h!
dNamejAlien #836dFacenWrestler WhitejBackgrounddPinkdSkingReptilefOutfitjDrive thrudHeadmBandana BlackdHandbETjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
dNamekAlien #3549dFaceiHigh EyesjBackgroundhOriginaldSkinfSilverfOutfitfYakuzadHeaddNonedHandjLost DiaryjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"57575757575"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"Atmc","amt":"10"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"41414141414"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"21232323323"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
+{"p":"sns","op":"reg","name":"naiber.sats"}h!
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 6.0.0">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:tiff="http://ns.adobe.com/tiff/1.0/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:Iptc4xmpExt="http://iptc.org/std/Iptc4xmpExt/2008-02-29/">
<tiff:DocumentName>Untitled Artwork</tiff:DocumentName>
<tiff:ResolutionUnit>2</tiff:ResolutionUnit>
<tiff:Compression>5</tiff:Compression>
<tiff:XResolution>5197/100</tiff:XResolution>
<tiff:PhotometricInterpretation>2</tiff:PhotometricInterpretation>
<tiff:YResolution>5197/100</tiff:YResolution>
<rdf:AlL
<rdf:li xml:lang="x-default">Untitled Artwork</rdf:li>
</rdf:Alt>
</dc:title>
<Iptc4xmpExt:ArtworkTitle>Untitled Artwork</Iptc4xmpExt:ArtworkTitle>
</rdf:Description>
tS=i| MARA Made in USA
FjDOUT:C9B996A7063C3C3536EAAF10C0BE88F377E157B0B9A88A84F4FEF3FC9BA3D737
FjDOUT:1ED2D3FE4A7DB09DECA8024A560B0B5FAE223B23E42C1CF3290F3992FE3F7F8A
FjDOUT:9BB24EF38A8408A3627E9861EB840B420F307249C829B156D9EA49B5FE86D998
FjDOUT:5D54759DAB3CB08CAC1C356AA85EDA6D9A6AB9F6014127176C5CE8BF32BC3102
FjDOUT:8A07E0BEE51D79D1CEBBD33150721E501CA52245250BF5E34AB11BCFD77E7079
FjDOUT:909CFA3CD2478FE640D49FB4040B22E43F71084CBD00EDEDB2ACF41A8A77E4ED
FjDOUT:2CB7FF5F241684264A91F1409F4B69C2B8835C0F71A19B187910F9CD7C5A0EB4
text/plain;charset=utf-8
OjLL0xa2e152b25f69556677538586331e1dab25a13ec300f6525edf6d3083f2963a5d=|lifiV
DjB0x3bc1a4426515739c37af758a24b7d4ba566289957ce6d059d27f5d2ce0714e13
4j2to:LTC:ltc1qv9d0dutzmpmkww6jq70j5gz004wl7xtlwhte7t
=j;921:to:USDC(ARB):0x4BF16Ed2e8E1863e7C2a435dCD2b478389e9D78E
6j4e3i:to:USDT(TRON):TBnxvsy8NYW1LCgH8VooMpNYmjwJ8SGkfY
OjLL0xa8efab1dc9abbe671ff3eb55e08eaa4b8ba38cdeb5cf793114eeea311aaf9801=|lifi
6j4WSF:to:USDT(TRON):TCfWKnmFqd8JDyYxsBeqfh8c42j4zjfC5znv
text/plain;charset=utf-8
{"d":"0x095ea7b30000000000000000000000005168f7a79b3ccbe94ee1e8a095aaa1f035bd98e8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","c":"0x4aa8e9ca6d90e2e47b44336aa4725894332c1b16","p":"brc20-prog","op":"call"}h!
text/plain;charset=utf-8
{"p":"brc20-prog","op":"call","c":"0x5168f7a79b3ccbe94ee1e8a095aaa1f035bd98e8","d":"0x38ed173900000000000000000000000000000000000000000000011b46729400b38e07ff000000000000000000000000000000000000000000000000000125d42ef7fa9a00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000021f70499b14a1c5f30cce885d5e49a0dfe93c40200000000000000000000000000000000000000000000000000000000694146f800000000000000000000000000000000000000000000000000000000000000020000000000000000000000004aa8e9ca6d90e2e47bLX44336aa4725894332c1b160000000000000000000000007a6a7ea71bc7943e8cd32b64dde8feba58f05531"}h!
;j9to:USDT(ERC20):0xA79C9000f72fa40843Cb36097A481C3957Be8ebFi'
text/plain;charset=utf-8
6j48qU:to:USDT(TRON):TMzzGxWZqrzB9951MaDjiXVPmvzkX8KnCj
6j4fmh:to:USDT(TRON):TAzRwY7W3FssmrVHHESfguRsYdyJHkdLrD
6j4NpL:to:USDT(TRON):TXySJhvry6hdqxiYZE9c9bHiY82s7FZ5bt!
B9da9ba02c0ac1a5a26b9c4232ed16a0cfea3422d50bd866eca839e8fd05d6c58:0a
Bfaae1bdb7b44b4df33bd2f80e3d54ba69b4b8df4bdf9f004107bb4a3660dcff6:0a
OjLL0xce407c85da3310f4012ace6a61e31b92e23068274b20fcc98f9a8ac5aaace4f2=|lifiH
OjLL0xe10a7db2cf196643eb21143459722af578c7c67ee278bc94ae3a0bf2970442f2=|lifi
text/plain;charset=utf-8
Li{"p":"brc-20","op":"predeploy","hash":"7b87a3499a3a2d44e986a1e3844ffd06ab636915f99c7069d372889b698936b0"}h!
text/plain;charset=utf-8
Li{"p":"brc-20","op":"predeploy","hash":"e55bc127ed197f54ca4aecdc37a6a71524fdd873b9571ac10b52ba34be1fc96c"}h!
DjB0x94bb536f58c145272683c1dc98432433b19d267afb88258169b2c51eccf1b84e
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"ordi","amt":"9898"}h!
DjB0x68dbf458e7d1b125dd9beec528faf61f23e08138b40b673128be3b8af5f376da
OjLL0x081a6ee814697dbf43a55f0848dd719c7a967f2a54fab6aeb282a77f7c8fc389=|lifi
Bj@=:e:0x982Ad179AE230C76490189d1b7B9C2b87707892D:159377:-_/t1:0/70
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"30"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"30"}h!
DjB0x1451501b161cf66c0685826fef1019b152854da0ba8564f4fb593cacc53c48ec
Lc<script src="/content/ba6c94f9463fff18ae2b08eb192d264a880a38d780f3d354a86b6e51a7e9d331i0"></script>h!
text/plain;charset=utf-8
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"ORDI","amt":"200000"}h!
DjB0xf8c2d6b41bcc7289226fdff4914bb83416193fc12248dba94f0450ad6b7030be
DjB0xbeb2bc367212313c43185c8b024edcb341817f97c0cf262946316a6ca3e794823
9j7{"p":"brc-20","op":"mint","tick":"
9j7{"p":"brc-20","op":"mint","tick":"
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"30303333333"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"36363636366"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"100"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"jsvr","amt":"12"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"jsvr","amt":"12"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"30303333333"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"31000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"100"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"jsvr","amt":"12"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"30303030330"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"35999999999"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"37000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"800"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"28010100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"jsvr","amt":"12"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"rats","amt":"1000000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"175000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"jsvr","amt":"12"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"350000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"fifa","amt":"70"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"37000000000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"Osbk","amt":"0.000677"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"38000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"jsvr","amt":"12"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"38000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"wawa","amt":"1600"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"jsvr","amt":"12"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"45454545454"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"36363636363"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"35666666666"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"32555555555"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"12333333333"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"aoas","amt":"2865"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"jsvr","amt":"12"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"jsvr","amt":"12"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25666666666"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"jsvr","amt":"12"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"6002"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300.2"}h!
<j:5wS:to:ZEC(BSC):0x484e1E57D5673055557eD1588586bFc7C5d12E7C
4j2TRADE+:thor14mh37ua4vkyur0l5ra297a4la6tmf95mt96a55
FjDOUT:F88B950E464BA65C6255D914E7D517ED32B14D8950D633D43B9E9A1EC1F035D3
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
8j6umR:to:USDC:0xeBC22f9FbeB59613055869c4454B6aB43992c452
6j4REe:to:USDT(TRON):TTCMHfAgvoYudAf3ea2SAV7yhUHy6sUYzX
6j4FQm:to:USDT(TRON):TVZZc9gcizSynENcAp8t5aYsJtTwe3Y5w4
OjLL0x0429888d13482dc31792881db9745cd9ba32e399da9285dfd530869b82bb7110=|lifi
text/plain;charset=utf-8
La{"p": "brc20-module","op": "withdraw","tick": "proBTC","amt": "0.00040383","module": "BRC20PROG"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"proBTC","amt":"0.00040383"}h!
6j4iNd:to:USDT(TRON):TUNHvczDzTMK2cWG8epmZW3VbPhcDwMY3y
6j4jVW:to:USDT(TRON):TQxRGMK9dX4JHCxTxovy8SuMLWc1a7XF6t
=j;WjM:to:TON:UQDCrjPv0V-XYR5Y4SUWnhSRcgygyK_cblrcxJ8uVd8W_mUf
OjLL0xa6a99ae9e38e46e818bb8df1747b50ddb33c6f51ac676f2d01e1e5cd5236a0ba=|lifi
DjB0xbeb2bc367212313c43185c8b024edcb341817f97c0cf262946316a6ca3e79482
OjLL0xad775e89cbd7180724cb94263757ea0171047db575ac1501e4d0070d05c1d324=|lifi
OjLL0x8ffd66f080373c65320a89db8dd99ef16d25679c256aaf41d5541288f1eba4ae=|lifi
FjD=:s:0x52A96E1d97c2cc98c817b825354b9B6be8Cd3596:115697/1/0:-_/t1:0/70
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"W PI","amt":"5000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"69000"}h!
DjB0xdf2a377d959803eda5326f6e2bdbcf005be6be3e82682111f0249bb0828e782a
GjElEdgecbd5156f925b26dff8949dfb6f29ec7ad0d65b19bb727c2ada189e50ba226c46
9j7{"p":"brc-20","op":"mint","tick":"
9j7{"p":"brc-20","op":"mint","tick":"
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"13572778888"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"5"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"26845523555"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1028"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"50000000000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"350000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"6666666666"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":" UBI","amt":"201710520"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"175000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"12888556666"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"aoas","amt":"510"}h!
x4ORDINALS CENTRAL PARK SKETCHED PFP by Viola MissCode
FjDOUT:143F26A6BB36BE3F8BA277FFDE181EA181B168D13F0143272DF5D3FC8B451C92
FjDOUT:2CB8849028D094D83CDEC967F898E58F4F5AD1C7B990BE225CF78CACF3AF7594
:j8=:e:0x1A3f5462A648b64fdd9dF8A8B2B77c5fDeC22F2b:320673750
?j=j04:to:USDT(ERC20):0x31d3f9fD797a4EDf65b8D0067dd5899597E67598
?j=fDP:to:USDT(ERC20):0xE3ce269D4A1672046C2C2FdF495642164CaDAe0B
?j=Pg2:to:USDT(ERC20):0x69De7D0D3659e0B3De40072F26D9b27f72D1f8e3
?j=aC1:to:USDT(ERC20):0xA579eB3d3E0d71e8A3dA744E63B3e8624aA9f3C4
/j-DNn:to:TRX:TKzjZsaNwMuB5MEBRkQvJsfBjWFtCpE68y
6j4fnh:to:USDT(TRON):TQ3tfjGYbZzp65T8hhsDAgLCvsjV17uzTN
DjB0x78f4bb4bcc9088018e225fe89772ac61b6ef3f1bdef42d82a3bab2fbd4307331
6j4ZgX:to:USDT(TRON):TKgzCDqFuhmFavyZZgxSPm1ioksoeC3Eob
6j4iQ2:to:USDT(TRON):TAZd6hhTwkQMeZyT1UXM6BwQsjs3pv5SYf
?j=anO:to:USDT(ERC20):0x2213b504B74196011639C88d38Be663231843eF8 W
6j4t8J:to:USDT(TRON):TMxRYghLT38fmkknQSKsNWvw4KLCoqfgov
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
text/plain;charset=utf-8
La{"p": "brc20-module","op": "withdraw","tick": "proBTC","amt": "0.00324233","module": "BRC20PROG"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"proBTC","amt":"0.00324233"}h!
DjB0x1d618c89623c6039988b6be85f90696aa617422a8e6844ddbe1d14d52ba59896
6j4jsA:to:USDT(TRON):TDrTA98tgirAiHSj77LewcqxKscQJtednW
OjLL0x11643d79dda781a075564bc8b5cd83d10f47a81132fc5e658a027e0c0e55a599=|lifi
DjB0x0a7a98b3f8f7895d3f4407a0b19987d309af8930089e06972985ab9c135b6487
DjB0xdc493fdf14532a37c1a1937d24a86d4509f09ecccbae38aa23c95837df3cce5f
OjLL0xd75787e06267b8dfe4b8a9ebce4fa3e2be41a4676b5a0a93256119e3651d8bea=|lifi
OjLL0x22a54c11d94db7463e4e9ae2201f784809ba83dda991890474dae36193bdb6f7=|lifi
OjLL0x95e94f2c79d204952a12d796a1028932dcced577f4f7e8efa673e7d5b8e5d6ea=|lifi
FjD=:e:0x122E4D01605806efb84D777fff44dff956EC2239:129953/1/0:-_/t1:0/70
FjD=:e:0x122E4D01605806efb84D777fff44dff956EC2239:129957/1/0:-_/t1:0/70|U
FjD=:e:0x122E4D01605806efb84D777fff44dff956EC2239:129977/1/0:-_/t1:0/70:@
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"MT-J","amt":"37776"}h!
Bj@=:e:0x5d934188817fC3553710Ebc157B6F7F4D6b09e11:146496:-_/t1:0/70
DjB0x093ac37f157dfd6ad5650896724021b05eb04f423bbcf04a03fdd879e73a4b8d
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"sats","amt":"34400137"}h!
createLTbc1p20k3x2c4mglfxr5wa5sgtgechwstpld80kru2cg4gmm4urvuaqqsvapxu0:/protocols/simplebuzz
application/json;utf-86{"content":"1","contentType":"application/json;utf-8"}h!
createLTbc1p20k3x2c4mglfxr5wa5sgtgechwstpld80kru2cg4gmm4urvuaqqsvapxu0:/protocols/simplebuzz
application/json;utf-86{"content":"1","contentType":"application/json;utf-8"}h!
createLTbc1p20k3x2c4mglfxr5wa5sgtgechwstpld80kru2cg4gmm4urvuaqqsvapxu0:/protocols/simplebuzz
application/json;utf-86{"content":"1","contentType":"application/json;utf-8"}h!
createLTbc1p20k3x2c4mglfxr5wa5sgtgechwstpld80kru2cg4gmm4urvuaqqsvapxu0:/protocols/simplebuzz
application/json;utf-86{"content":"1","contentType":"application/json;utf-8"}h!
createLTbc1p20k3x2c4mglfxr5wa5sgtgechwstpld80kru2cg4gmm4urvuaqqsvapxu0:/protocols/simplebuzz
application/json;utf-86{"content":"1","contentType":"application/json;utf-8"}h!
createLTbc1p20k3x2c4mglfxr5wa5sgtgechwstpld80kru2cg4gmm4urvuaqqsvapxu0:/protocols/simplebuzz
application/json;utf-86{"content":"1","contentType":"application/json;utf-8"}h!
createLTbc1p20k3x2c4mglfxr5wa5sgtgechwstpld80kru2cg4gmm4urvuaqqsvapxu0:/protocols/simplebuzz
application/json;utf-86{"content":"1","contentType":"application/json;utf-8"}h!
createLTbc1p20k3x2c4mglfxr5wa5sgtgechwstpld80kru2cg4gmm4urvuaqqsvapxu0:/protocols/simplebuzz
application/json;utf-86{"content":"1","contentType":"application/json;utf-8"}h!
createLTbc1p20k3x2c4mglfxr5wa5sgtgechwstpld80kru2cg4gmm4urvuaqqsvapxu0:/protocols/simplebuzz
application/json;utf-86{"content":"1","contentType":"application/json;utf-8"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
DjB0x20decf2892be1124930ae930cdb79d055eabb1ecb62b5b8af9b22c0dcecdcdcdg
8j6to:BNB(BSC):0x63808f70ab1440344FbEE7a461C6f24F93f23676
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
DjB0xb99d7cc7dce93b2637fa977ffe1021affc29da4f45bff02fc481e450b6a3f495?
dNamekAlien #7624dFacejAlien EyesjBackgroundcAirdSkindBluefOutfitfJungledHeadiXenomorphdHandjSkateboardjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Melar","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ustm","amt":"260"}h!
DjB0x33def34ef7a313b2e1a2a31f870e53e9d0306ce232a867a7d5764bb58f13fd6c
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"25"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"6"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"4000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"301"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"180"}h!
dNamekAlien #2100dFacejCamouflagejBackgroundeSpacedSkineGreenfOutfitqHoodie PSYOP PinkdHeadiMiner ReddHandjWhite FlagjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"200"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"175000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"aoas","amt":"1518"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"350000000"}h!
Y=i| MARA Made in USA
text/plain;charset=utf-8
L~{"p":"brc-20","op":"deploy","tick":"SOURCE","max":"888888888","lim":"888888888","salt":"841a99","self_mint":"true","dec":"18"}h!
text/plain;charset=utf-8
L~{"p":"brc-20","op":"deploy","tick":"BONSAI","max":"963963963","lim":"963963963","salt":"036180","self_mint":"true","dec":"18"}h!
DjB0x5918052b74775a24ca42a4312717c7ca31e5415d7bf7bcfd7cf2cc2e8c3e2ac1
DjB0x4f61f931f645ba9567685cd5f539b735f5798a4c9cbe1058f893f916f646aaf7
createLSbc1p20k3x2c4mglfxr5wa5sgtgechwstpld80kru2cg4gmm4urvuaqqsvapxu0:/protocols/simplemsg
{"to":"4bbe3a327f83921f296b19cf29a02f06b5348509aec886cf9aad1924e23d5bc9","timestamp":1765628284,"content":"U2FsdGVkX1/gYSwdrBQRQAOMcYMvGladLw+vMWz8SXw=","contentType":"text/plain","encrypt":"ecdh","replyPin":""}h!
createLSbc1p20k3x2c4mglfxr5wa5sgtgechwstpld80kru2cg4gmm4urvuaqqsvapxu0:/protocols/simplemsg
{"to":"4bbe3a327f83921f296b19cf29a02f06b5348509aec886cf9aad1924e23d5bc9","timestamp":1765628293,"content":"U2FsdGVkX1+WkofklMdcCt9dWvmIoeGvPQBI9Zjk/i0=","contentType":"text/plain","encrypt":"ecdh","replyPin":""}h!
createLSbc1p20k3x2c4mglfxr5wa5sgtgechwstpld80kru2cg4gmm4urvuaqqsvapxu0:/protocols/simplemsg
{"to":"4bbe3a327f83921f296b19cf29a02f06b5348509aec886cf9aad1924e23d5bc9","timestamp":1765628301,"content":"U2FsdGVkX1/kDqAVoVcPampTIUgwq627QYx9rDjmLG0=","contentType":"text/plain","encrypt":"ecdh","replyPin":""}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
Powered by Luxor Tech
FjDOUT:21FFC5E3D72E0DB79D9C1EA8130AF84333CC42ED5087F031E3A4E030E7E1FB18
FjDOUT:50BFD28439CB327B80D3C69890E73294B60B992DC327471B46E3C7F30FC91AE4
FjDOUT:8CDB2EBDD3FFD75181360A4C9989D6C9A53E2B4BE98DE9D23B67306AEED66470
FjDOUT:B3B71AAFEA31563673F5014AE06DCB642EC711B35BF475F59A0B9244F6B0AF88
FjDOUT:D426C28B7733582A7F2C06232135FA1FC134610E259FE894ABE67C8963584BC3
FjDOUT:7B7E3B718B848E5CF6709A730BC4DBC41A8D1A5C63F39E4634B6F56D01A90172
FjDOUT:1426740FF8C473529591A63C8408CCD75251B6D79295AB80B9F9B75AE85B8131
FjDOUT:D7A9210928B94E46D08EA4FC79BCF451FABAB1D684DCB8B8D8BF1F04E9E53881
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":50000J
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"ordi","amt":"2500.41"}h!
FjDOUT:A32ADE0D268E5CEDB7AB46B59E2B40A3F6957026FAFC8D4963CF90FCF28BFCE5
FjDOUT:C7CC7ADF45D7357DAF712AFB676B6507321F4EF97CBDC6BD749440CBE2EEAA95
FjDOUT:59F88BD85CEB74F35673A16724542A6F932335D08E2E74888F9C6B34529C6525
FjDOUT:00CE215C96D6FD67872187843252CEF4453685115BC4AA2851160490127A61D8
FjDOUT:57020919DABBCD02D906DEA8AF177F4A7D2A2CAF43BB6384ECA574031D20ECA2
FjDOUT:6E1804D1053825BF8E50264B90C0235D5CF5BD617ABC01555B16CEC3CA29FCDC
FjDOUT:10D25B49AB2DE8A9D112F2B4137F711A24A9DFC754B08412818ABD2F2993D9C9
FjDOUT:540D4B5BC38D35B230DDE6612353918F8F9AAB3DF09C58E439D4C042B07ADDF6
FjDOUT:E244A300B46EE1A4369E07F5EE942B3515352D429A765B211778B3AC05AD4BB8
FjDOUT:BF7DBB0901B887A7DF15AB0AB6B4669C9680DDB5C222A12A09297CD52F0DF521
FjDOUT:5A95EAD32CFDD29B1A7F544013F894DDD81F38458218F5D6EC7AC3F4340B8639
FjDOUT:32234BABD2A720BFC5DE048A51EBEC9C5BADCEED7F6DBE62818750BB06333F62
FjDOUT:3946496507C56ADA84FDA64C267CBA7F178DE1127DA32E170BC0FD872AF841C5
?j=3gE:to:USDT(ERC20):0x11e39E1313BF508bEEd619B3b63a1824C41EC79d
4j2to:LTC:ltc1q4pt8vy4eptukngmp4e7dxwwsr55qayhy0wn7lm
=j;vFI:to:USDC(ARB):0x42739cbC7Bf999fDeCdD4f5C94e554cC08C60DE0
DjB0x5a4d3cdc3b7e3888b027783ccf123430c96fc04d3a73918b911c5720d9576c6f
6j4yRA:to:USDT(TRON):TDneg1UkW7oGNGmdR4QbMWca1rN1A8uVBX
6j4tfq:to:USDT(TRON):TAai2d4bbzrmSj2avsmPGM6BrrPLZ6JqAG
OjLL0x3b9a438aeb13d5d6da6286c2d226433181886b3af22211ff58ec5509c6391341=|lifi
Bj@=:e:0x982Ad179AE230C76490189d1b7B9C2b87707892D:129986:-_/t1:0/70
6j4kjx:to:USDT(TRON):TKk1FbRi8trThPGJFLLn1SAf3vabdWcwHc
OjLL0x894e43450139850b43789e31caf3be52098669a5675e7695dd81a74ac81be2c0=|lifi
OjLL0x6cb83e5042a7a074e4968cd633fa22bed4a236d059ec9f6f2616003f93d3987e=|lifi
OjLL0xa698ef744be3115ef7adf968a26488cfee3883e1ea05f8b3a671451adcbc83fa=|lifi/
DjB0x574bee5d5b369a7a5749408fc9327d09c398fdd70c86b0ad87d062aa290c072f
Bj@=:s:0x7b996451A24E797FeF62A6d976860D92dE4D410a:453849:-_/t1:0/70
OjLL0xcefe5836f3d98a943c92c09c27df8807ef226e28452c70711389a42cf776a67a=|lifi]
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
L_{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AUGLw8X/HiFb"}h!
DjB0xc76ace112cfefb124cda7939ba3f32617b127c152c0b31454dfba2566eb0d85c
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
5z1imiwq60g92m5r6oycag100
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"BTC.D","amt":"3.9"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
60bugl1ov2ba66m1whw7au50
5yf66x3p3kmathvu8wsmau31
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
5zmg5qwy7r7yvna6f07lau100
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
60a1lulg78r6otazi5xpag100
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
5yx4b9a5dt1sd4rt157mag31
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"6"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"175"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
5xvpt4axuvmwlqupiapmau31
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
5v77d151pzsvu3m6izq8au100
5v0vp783esuqx7iz9uskag50
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
5zdbbiisz287ghy58hrsau50
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
5ypeod8p03tt6k75nok5au10
610txgt2a06ys5c1hxprag250
5ycx1ji729rrl97crau3ag100
5x16hwvfzyqkow5mpza5au100
61bn8a3k6nphncyfsgfvag250
5vbcqfufrj5x3f8mugi9ag250
60jbz21aqrk1bd60nrjxag250
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
5xr242jq2o345ohr42h2ag31
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"rats","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"30"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
5wwyhs75m1ymu31ht6ziag100
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
621mx8xv4uhywal4oabqau31
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
5ub85on54xnpz6bwwacwag100
5va6g350x82yo1169essag100
5wh4nda5g3w9strqc0alag31
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
5uhck94krnbexfqcyh6rau50
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
5z43u2peaj3mjugq30lpau100
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
5x03jx1uwhjp35u0v572au500
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"
","amt":"0.000001"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
61vizlv78pj60nag3q6sag100
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
5ztzew0og61gtgn0jvc9au5
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
5vbjjgqi7akqq7cmr8gaau31
5v3aaj8roj80qhckuosmau100
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"289168"}h!
5zw7gw304gx0et2n31jnag100
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
5ug145epb25xbclxjkunau250
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
61htfr6afvvenx5chjpuau250
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"950000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
5zvst1m56moj0z6m1vckau100
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
60dgfj1ueft6vrbfl7auau20
5v1xk4p8tg04mf677x8gau50
5uep3cji51qxug3tj9oxau100
5wyovtddr5b0983f667cag50
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
5xsai9c3sj9g8joiwvhhau100
5ufy85qmf2oprmd0kzjxau50
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
62bk81za90959pgaae61au31
5ubow1uz4qh68p7dvak4au31
5zxlvbuqz0dey9jmyrt8ag100
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
x:ORDINALS CENTRAL PARK SKETCHED PFP by Viola MissCode #1/33
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
"op": "token-transfer",
"tick": "dmt-nat",
"amt": "9950000000",
"dta": "{\"op\":\"bridgein\",\"ethAddr\":\"0x1Ce9ff992d64448a8Fa563c09BA185aFDEEa38EF\"}"
FjDOUT:9790E0771FB5EA5AFEBE6CAB3F4ADC5664AF702D7DCBE4EA80F39A5130FFBE43
FjDOUT:4F358A5C0368F3BB37CB2EA38C46D1EC206E0529ED33173169B3FF738FFC46E5
FjDOUT:AEC3E2AEA13CA15DA8A7A9353E8D0467DDC60D4CE3F9E7DF73D2784EBB522F44
FjDOUT:C98DB429FF51D0043B306DF4BE2927106D10F74AAA01CFB599EFE4F305A34CD7
FjDOUT:168E942C49EF4C7308589CAD8B51BE1299A950E079B9825ADFCB9C59111BDE8E
FjDOUT:975184748A8E35F0214E4883BA899C566D85232C03666D88F915135FC33914DD
FjDOUT:16C29788F5CA8663FFEC4E01267402A330EC7329E67D581A0FB61FABAF1B83EB
FjDOUT:30F98E80A1561719D78A271EEFD8DD15A7913FCCF100A564312CFA7A9CA4C15A
FjDOUT:89DABC7209483B0C07A13F7475486FE90F62287E84820D6480156DA5ECFFF657
FjDOUT:D0F9116502A43438229AB02FB3201DE8FFF06AAD93148CF2A3997A2741FE4012
FjDOUT:BC0FA017A02F100962E1F3356E8B7D349D98102F9A08A8EB3C6B4BC63332629E
FjDOUT:C5EA34347E4D121FFA318B801DC3058EC51C3E9C7AB84903BD1389F4C08824DF
FjDOUT:659139069F5DD20F2CD9D7629808330FDF1CD272F5E34E0D647378880FEA7868
FjDOUT:901DDE6685324CED440554EFA7FB824C58C57D648BB83064523382F992868673
FjDOUT:822358341AA400384A43A465BBD45BAA1F155FB8EFADA713532FFC6B4F98F2A5
FjDOUT:1382DE9C0A602339DA2C982CF0DC64FE20B3313D5E999C9812EF9802A7333ED4
FjDOUT:058E525905455BD04902D2816B47DA62C6BE0D1E8FD952009F19713898403C85
FjDOUT:8A3A8EC190C62B1C15414B1DF3BCD48958A4FEEFDB3A3849016BA35E6AB50C9B
FjDOUT:7B04C3B7DE0CFC0E920CA6FE20BDBE39D90C539DE9D40BF2E65B4D32C711A0B0
FjDOUT:3C9215EEC0E1A2066CF1CA877E44989F42D7EFE7D1EF221A2C707CEAA0AB079A
FjDOUT:012E3012542F036A8A7E37C87899F447FDC99ECE4B4E169557EF272FCCB71284
FjDOUT:70E28761BB2685FC6F696D1DB4674FDC2DED7C6060E57487CD80C98CB107C62C
FjDOUT:6894FB1EE7EDAA6BFF7F8FDBD0D4A17EE4BBA75C5227889EECEC51692A80907C
FjDOUT:5014A4C56AA3F6B581D664667E30EE16B1DE0CF7F4D1F46642F933FB62F93D63
FjDOUT:FC41351EF6EE0285E40F42577F345A087F3D675FC93322ECC5A95CEBFBDA3CE4
FjDOUT:34E6E9333C525D694D662995B711D4D156B422280EAE0D52880254F414C8DF18
FjDOUT:E657006EA266083CC5E8186E129D7C6D0582EB1500384FF7C1FE98485ED000A1
FjDOUT:B8AA7F467D87D6CF6173F0ED3805F598FCAF8D9F72FBF1F53120B76080AE2AC3
FjDOUT:BEB537E723FC3DB373B1B7FEEC7EECF1D304FF12670D04914A7ADAE0B0F0F585
FjDOUT:8EA4A7BA8DEA4D0ED0C1628C3F0911110B2F045F4E484F7D672C5B89595DEA25
FjDOUT:A8FF46521195EBEAE13C2598805E15E7E867BC172880DF7050A3A609B409A122
FjDOUT:92E0118BD5BE2A1344A3123DC94B6A431B5227F4C1F258D3E64B7F1951752600
FjDOUT:CF654549531B42106AB664D6A08BEC50579B5A018DA63ED46FFC54831C3415BC
FjDOUT:E1402ACB42F7C0DEF7204119E813863822AF3FE6CDA2A032D8197C728714F43B
FjDOUT:AC502B911D6E3E985118360D1E700AA1B8641B93DDFC36207F5F743CCC58F476
FjDOUT:9426449B28702C488DB633496404F888161B8EC3F0CE37F37D33184CBD0DC2DF
>stamp:{"p":"src-20","op":"tranJ
sfer","tick":"MSKE","amt":10000}#
2j0to:USDT(TRON):TQZ88y64BcgCN9hJf74wjw5oiNw48MduLo
3j1to:ETH:0xA21C6481eDce90E377e19510c565C660a5d85e9E
OjLL0x3429b0e65d5394f2ce07641c83e3974ccb33b8daddeb8654f7547f3ac1f19297=|lifi
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"ORDIX","amt":10003J
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":50000J
B819eae635cf7e66ab21784bd3d787a6974259732ddb1679079917d8ad8f081a7:0a
6j4from:65USDT(TRON):TZ5Poo8BEgS1tvP7DDeXn5xtYiUEegnpbV
>j<from:110USDT(BSC):0xc66C27A5F50b1Ee700ebfd9C02b38AdD899e9C03
OjLL0x71668abd88929df9b67d007752f1c51e6905a67fc8552f36279b64f08f5176ed=|lifi
DjB0x03febe8cdb2d8cffd3a1397c23a11263668589a9f31b98c50f11f775c376e07e
DjB0x3b9a438aeb13d5d6da6286c2d226433181886b3af22211ff58ec5509c6391341
DjB0xd5a4df2d3163033f3e201c3f6d82e74e6f707fd68bb1b7ba8834f596f8577bc2
DjB0xcefe5836f3d98a943c92c09c27df8807ef226e28452c70711389a42cf776a67a
OjLL0x0a901e0aed72085379b29f918170f0023ec9e78ee43ba002f3d9b2190f3017a0=|lifi
EjC=:e:0x169Db8f3a5B6e23b1a28188CdEAaA9116c5e57CD:54293/1/0:-_/t1:0/70
EjC=:e:0xF0e5dfc7f433cf1BE0e592d217E2fDcd6e602C51:47405/1/0:-_/t1:0/70_
DjB0x3b6c32e392f68b26a672fde3854c14e07ca621604266b4f5d447a93d8a4e50e8
OjLL0x32caa325e4686ac7d1bd09d02e799c90e4ffecd32c22607c51816bb77a0bb185=|lifi
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
DjB0x89e9f0ccf7ef7fa276fcbb02596c7a6aa8597ae430d3be8a7be718109fe9ad38
DjB0xbb6d805f5da617a1c890e10c50d9848bd31fcc590123737cc2d1e037c330e03f
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"200"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"Osbk","amt":"0.000679"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"6"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
B{"p":"brc-20","op":"transfer","tick":"ZFBE*","amt":"100000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"6666666666"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"PigK","amt":"2645000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"5"}h!
gEditionoThe Golden OnesjArtifactIDd0445
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"175000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"30"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"350000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"200"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"beat","amt":"99"}h!
x:ORDINALS CENTRAL PARK SKETCHED PFP by Viola MissCode #2/33
qc=i/Foundry USA Pool #dropgold/
FjDOUT:652923E3C2A81EEECBBF8724A8F54A26E3F9734E662A4F6EE03FBA3B4F45DDC2
FjDOUT:05E894B3659BAF47EB1D377864A343E3B8AB2337632783C8CF50FD164E9C90FF
FjDOUT:ECDFA58BF6A2B84F5CD3A99B89296D3EAD4D09FAB5F5A8C98477B35967B9A6EC
FjDOUT:91486626FC99BD30A50953753DBEA8CC0383491FA5919E084089B27302CEA8F3
FjDOUT:50F1C488646A927A31DC4EF368D29A2A904C1CEFFBC562ADF5BD5680A9208B7C
FjDOUT:2BD895806C67C9BF729C2E39B7267563D689CCE8386E8A60A3F14FBBD3FE0124
:j8from:9119.8USDT(TRON):TKjTkyfbLmF3xdwXvNAtFQS3AXDNrEuLvPZ
FjDOUT:4512DAC4BB356A4147FE2E079DCD65180470BDB576BCF2EF39AB5E29FBFADA19
8j68Za:to:LINK:0x5FeD236326bB908a611D17941a5bFe02acC5321eR}
?j=KKW:to:USDT(ERC20):0x99C5E28480b8D4654714476911616A071E28292c
8j6sCz:to:USDC:0x009861AEa701BEa80410b27dB7ea48AAD3Cbf2bA
=j;4Ke:to:USDT(BSC):0xA5c67347DC64cC71ac1F3f7E525C434791B20397
6j4YkU:to:USDT(TRON):TT1u8LedA8xbZYGjNWWBT3acGgwnjG81rw
=j;OJ2:to:USDT(BSC):0x281F98F96bBE590D5d4aCFbf2F16f958BA790dB0
6j4vSn:to:USDT(TRON):TBGKFZu2H5uSgy8j9edxkcqr78Y5kPzLMY
FjDOUT:01AAAEE3F605A29B6A9097DFB0126FF3466D3D7C0A92B9AB6AC43B1FA1E41FCD
FjDOUT:20D4783820CA78190F40D4B356A3D3A1917A2D01CD0CDFF185990B0C19B5AB0A
FjDOUT:72D5A1E70A98A050A89C07ECDE4757593D8876247E05328EE4A1A9F0C15BC2AF
FjDOUT:4366230D7C51ACFE9643C240572818C25DE945C819F651BBA0C3FB7C386167E3
FjDOUT:1B4034D4DAA648A1332F60B4CE66976F8F4B9314CD1D592465A72AAF37D0B2E4
FjDOUT:9267D253740183E9CBC44ACC25187FC4C713771EDF6CCB89EC5AA2CD57C67C6A
FjDOUT:6FD534BBA29157CE75F68D4E88344F7EC7A9A072F68E5AFE514033A9B0A4E686
FjDOUT:E863E51930E3B8856A05D6D5F74AD10F1FF6CB07A12A9FDDEDAAF102BDDA9FFA
FjDOUT:C64CD165F7272B77F6600F0D40DFAB71DF7DDED2248F4C115741872BF559DB16
FjDOUT:2A6FD8EF9E5D3FFED46FD03A30A20910299F3DAC46E88C4E66C19A257282610A
FjDOUT:6B6340A67DBC3F7827B5FA45110133A286B7D9238400CA7D91E414115FCC3DAA
FjDOUT:9CF938A497C3E52F6E51E94EBCED385862F913495A0B552506DF4F7ABA69704E
FjDOUT:E53029630B142D153DF63BA7E9C3DCEFFCB53F2C692F351E8B15A41B8613915F
FjDOUT:B33D016DCABD4E4E4420007E178F94641A0456ACD6C165254E55DC68133C7B13
FjDOUT:4AA5DC20D78D53A6832B05EF4B2EAE32C438F360FFB14F1E51886E182AA5EE4C
FjDOUT:5F0E86CF3EFA72A9458C8714430D60E6D280B6AC2EFA2C2254357F9925E6BD1F
FjDOUT:E02FBE8609B9DB1F6F4F570D7E94D97B06665B2972B4C40A4E97818B83CE665D
FjDOUT:36168D0883AB07F642730D98F3456A39925D0D77CC5C393ACD1645ED1595B237
FjDOUT:F002E1B33545A9265A5DC1A3B4F52957965B1F9270FCDD074F85E4702B80206D
FjDOUT:83F1884CACB86248F818E55A924E9106494905A551471810E76AB3D214293035
FjDOUT:1880F231399F0F855E289DA248FEC02E3CBAA4126E79C92B182E324645DE2C48
FjDOUT:4A38DB7A46398AF36CB231CF766ED97CFC5F37CA1AE9F52BC46E950052FC085B
FjDOUT:8F974DD881C3C8C26E1B8D2D450C92DBA0D008BFE3A153F99B1DC0CF971BCCB7
FjDOUT:BB54AF9B93380F2308C3360E94714A3E84E606086BA6D903C595C7C27953B116
FjDOUT:DE986F6EEDFDCC6764DFCC00CA74688572F7BB4D921B7EC33A1C0069FFAFEB8A
FjDOUT:1FBF98FAE537FB9A58AB1269B1AD14A87D500959C98B97D1924112D23D4FE365
FjDOUT:573800533BDD3C4AB0F15118853416A94C627F9867E10DFD38DFFE0A2E48ACF8
FjDOUT:06497943F9C2D8D3548298A1F7FB9AED4FBCD866D8A20909238F1620F96F0EC2
FjDOUT:3716538A8A36C80D5F3FE644474AE87B797C6F58547BDF1281D13726037433B6
FjDOUT:86B21C6406D033345919A38CDE70D75FCE1CB3A46ADFD24B8D1DE82ABAFF378B
FjDOUT:D4A4BC066B723CED77EC7E4988AA1F97B24D069504A40F1AA64F1E588A509EB7
FjDOUT:02F92CBC1BF6DBBF3DC955BD028B72D09301556A74DBA52AEFBA677D79890872
FjDOUT:4DBF1B81442F2ABB51EE13CB839144AD8B389D4F6572D899161D4ABEB51F0208
4j2to:USDC:0x72CA24683223A5839AC5C9e06ACD779d768aa5F6
FjDOUT:467D5ACC0E8F1EAA4B53BBA9B1732B1B5DB53A53B07336C22C168E00D2B92CE6
FjDOUT:5C5481D887851F06D8883A17383E4B570E2FC59F91951ED1BC56F897B1377BF7
OjLL0x064d0d2b3b56d439d473932c02baf5b289aeb7884f86e78f152322c5673b086e=|lifi7j,
6j4ANl:to:USDT(TRON):TYVXqaKuSgusrtKZA1M6BxnvTCqTkhbantM
6j45Ff:to:USDT(TRON):TQUAz3pLhuBDgeYQJDUrALpdsuj8yb1HAW4
DjB0x7051b0b1bc75a0864efb12ebe6317c52f3c5dc633ddcc2a6411b1870468e22da
DjB0xf5a8e1b1b9b2f934d2ca1d354d96272f69c329f57368f807ae0a7a5faabaeacf
>stamp:{"p":"src-20","op":"tranJ
sfer","tick":"MSKE","amt":10000},;
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"ORDIX","amt":10003J
2j0to:USDT(TRON):TTbn7nGhCHQBdfWpaS3AoB13HQEcPFam1W
text/plain;charset=utf-8
{"p":"brc20-prog","op":"call","c":"0xaC4EfD08F7A09F22Ac0526AE180838EbC7222222","d":"0x92cdbac500000000000000000000000037c778c746a3f1434aac5b2892fcea75822b9f9f000000000000000000000000000000000000000000000e6ecd41299c83b31ee20000000000000000000000000000000000000000000000000003bea7af7aa92500000000000000000000000000000000000000000000000000000000693eb4b8"}h!
DjB0xd64495142888227de95d6629615cd170a85190d882a384d0bebc7a1e28cb4499
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYDz4LKpmdiTP8fAjtp/x+A/x8+YmMxcGg4emZlOXR1dnEyOTg4dWh6eW44dXd3NDlsd3dheW43eTNqYzJmYWZhZXRsYW15c3Q1N3Njem1zczUAAA"}h!
DjB0x4d3355072b2df4f9a36708c9e0df5c970deaff089b5bc7531bcdda9fd4afc6a0
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuyr5MhtGuVjQHlxQcOAXauXrvNYtOAx8xktGzwZHCr0AHf8eAf8fAWD/HgFaHQqm5ZIXc0RFHvpOmSDIDg4u7+6nv9MtZS9gz0mjhdj/H1X/HgHA/x4CQP8fAv8eIVX/Hg/E/x8C/xYTuXhxrsXa5QyA/xfLb9R/d28PS/T/H0H7Il4QBqlbG4aD+7J4SG2n4hjuXEXBN0lt91dga0chNXex6sCrhbsLVzoqPTAelDvWGPfl/wExIZqGOTvfIWBbLRz/PkIBQDIyvnLJVDANc7EilA4pzL6yX65QzkC6a5/wWyp44MooIM/PaItz5L90CU70XkUBIIItgh+ktlcFsWOVfATADuD/Hg"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuyqgMEkuAn+EMl741lvdZ4mBCziKe36oHI4LGXqacDsIZP8eAf8fAUD/H95PUdGVurB639U5vbb2BVdrHzoS8eJWi2TPHvCHsDLcU/8fVf8eAYD/HgL/IAH/HiHu/x8B/xYt3Cy//Y884P8hQUQ4oOwEBAuJvcy30v8B29PA8Ru8fg0rbbRkxUMa1lMG9VAM9LuiB3ci4Su9b0dkHkF/Fw8y/gXr4QUhlX7plBifHP8+QgFAvEWyjmoiVU88eJCoBX0ZblQfzHxIIUr8hLa+DHqaOiwpFIK0uKUGaRAs32Uy1NoeKsD1yJzzAtVqCNxKxfWk3P8e"}h!
Beff85538b100664a1fe908cdd741742b639c687f46cf14a876b0019757fc87f8:0a
FjD=:s:0x80F82B9F9585CeF22620868b3A743e645e590025:192311/1/0:-_/t1:0/70-
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"MT-J","amt":"38180"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"30"}h!
DjB0xff3cd5ac1e9f2c4fecd92ebaded633b530941bc8534f78288969956ae679346b
createLYbc1p20k3x2c4mglfxr5wa5sgtgechwstpld80kru2cg4gmm4urvuaqqsvapxu0:/protocols/simplegroupchat
{"groupID":"396809572f936c66979755477b15ae9adfe9fae119bdabb8f3ffb9a362a176d0i0","timestamp":1765630533,"nickName":"
","content":"accd81a8a7ee2137a8a336889c695eed","contentType":"text/plain","encryption":"aes","replyPin":"","mention":[]}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"x-dog","amt":"99999"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"10"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"230"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"6.089"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"20"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"10"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"200"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"1999999999"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"20"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"6141"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"10"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"20"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"10"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
k=i/Foundry USA Pool #dropgold/
FjDOUT:64DDBD16F6B31A2EA8966E2FA06FA07B719E77E692A29906734A5C17490A6346
8j6from:1.5ETH:0xa0a0Ec1cEd6A1C13dc199e2942534f1Be8006D19
IjGfrom:1066.4403USDC(Optimism):0xe7935EdC15F4bf16402Fb9FF27a6f884D5B7ff54
9j7from:0.48ETH:0xa0a0Ec1cEd6A1C13dc199e2942534f1Be8006D19F>
0j.from:345TRX:TRhj8higfxQFoy6Q929kVSCgNuhqbNPWWXz
FjDOUT:264EB483DC78B05D4C0BF73FD605B126770A3A2A9A5A95F1197A9BACD89D9998
FjDOUT:B466C55F2B86D5929B41612B5B275F4465DB6B79F9B0A209FDEAF8E26C7AABDA
FjDOUT:3E7A292155D9AC4D71A5BBB17B8B7C0C6BCBE8D72E14A4DF3DAAC2F8F95C0845
FjDOUT:C1C9C40B9FB9389DABCCC3601ED6DD43A8D2222525BFC5B5EF3003384A0E90B2
FjDOUT:914366A6862613A88A0D5B3F4D6A7983CC1578883171B605C3CFABBFAAC65E2B
FjDOUT:3E38630F0091E24990CBDD2B4AAE62E54FDF8E6C120482FF7FDCF80212680E74
FjDOUT:AC2BC009DA612A2AF162CFF5EB78C497E79C7C19E7124125554F8C399DFEDC42
FjDOUT:E7A6B07F7D00950AEF88690FE73A8197618F268685E4C7B67BEAE6028E026A7D
FjDOUT:02A5944AFAB12EE50D5A9692B01457F711CA751C69264F18F2061A1A703FFF8B
FjDOUT:39A29FA6AFE9C9DB9755C24B7F19CAFB2D656475F23B66D3F789D6203B994CF3
FjDOUT:A18334699C4F1A823797F472D091283E5A601F9AFD4963C6C9340835481DCECF
FjDOUT:BE1D8DAD832E0F59BEEBFFD2CD89B2FB49CD61E18B899E6B6347A68686031391
FjDOUT:97456B42C5606639120CF31D10B5FC94CA40BE557EE2F441AFCE44F7E8080F33
FjDOUT:D2CCA2DA63850DA52EB6AE4BA0FA9C7B6F69DD6D02A972A9EB225C95CA4E5098
FjDOUT:AFE9B036A4CE1B9671067D47F3B08F0A6A0844F6F59BE591F34BE1B05BED501C
FjDOUT:9BCD2D1F6BDA962228AC42EDD60CE3B8552FE7E010B7AFC5EDFFE3C5CB819CD5
FjDOUT:320A7156C97ED616CEE2EC76381BEC4DAB6BCCB97FA5017AE47276137CBCEDD6
FjDOUT:1B2234C9A0DF03552850F86A9CC9BC0A382F214F24B2642AC6582A22FADE2738
FjDOUT:0352DFDE6FB1951AB22F4071D0999846B7D0A1BC82C0D63284A50F259B15B86F
FjDOUT:F0E3F921870ED923256E54414ADDC4062AB353363FED6B0D07E04520B4028CEE
FjDOUT:F3744101A7FBA36968EAD148A5F188BB82DDD1526425083805E3CF2B927976D5
FjDOUT:3353075B9D9C180392CF51683414FC0284AB89D3FDA86FB94AE8BFED555C9409
FjDOUT:CAA6099F52C92F0EEE8434943744CAF8E94FA525056E68CF6288420B8505BE3F
FjDOUT:DBFE2B030B4F138E26C9053D446C0969793A503E5B5878F401A90B488BE12034
FjDOUT:2A9B1FA6835B011AACA5DE5241E71F1281AF3411D8FF2E00CF48AAC18E666ACD
FjDOUT:CB831918BB4D6D2FAAFE287BA89B0B3BDEC2D4589A7A693C7FD4672279DFF029
FjDOUT:E58885F8F721EA8272AB02328E45E92BD4FB4680B95326CBE540B16AEAF70594
FjDOUT:E77EB649B964C5807799194DB1BB0411ECC522E1B2D9F36C90D2B51AAD5579CA
FjDOUT:24E55E2DB48FD379FC35CACCB960061C8FEB571C2FF73E13407765D8B4D52BDC
text/plain;charset=utf-8
{"p":"brc20-prog","op":"call","c":"0x5168f7a79b3ccbe94ee1e8a095aaa1f035bd98e8","d":"0x38ed1739000000000000000000000000000000000000000000000000002aa1efb94e00000000000000000000000000000000000000000000000019a0092e797ce02f4a5700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000005fdc84e2634d158df9b6a5a83614b4bcef1c1e110000000000000000000000000000000000000000000000000000000069415c1e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000007a6a7ea71bc7943e8cLXd32b64dde8feba58f055310000000000000000000000004aa8e9ca6d90e2e47b44336aa4725894332c1b16"}h!
?j=Aoj:to:USDT(ERC20):0xd15564e1808ACd6FdFCec53c1E1f7011C5678060
6j4gpX:to:USDT(TRON):TRSKEmethAyd1uYbwHdZngVdwGsCv2tSJC
6j45c5:to:USDT(TRON):TL8ZESetoUQw5q52wBQuK5uuWodx5uF3he
6j44KH:to:USDT(TRON):TQnLJLTUir6LvPZ9PevJCZg7GVwnQu3euo
6j4rOY:to:USDT(TRON):TQSTNbxcbM6BywdEzetphguEocaAA9H72k
=j;x3x:to:USDT(BSC):0xc04B82942eA82C381596949E72Ae093AE1a560c0
6j4QSA:to:USDT(TRON):TLdh9RSMfNeCGnQhzXeWfNXXsYAL8KDX8z
6j49xS:to:USDT(TRON):TKgzCDqFuhmFavyZZgxSPm1ioksoeC3Eob<
?j=BId:to:USDT(ERC20):0xf6730C616955bC043048F2c8628e02DCa3904D6B
?j=DLi:to:USDT(ERC20):0x530d1DAF231B1d7ff77F5f9E8c711B49943FE560
6j4WcE:to:USDT(TRON):THXZqw7exnHstvyjCjGhBJnHkg7bh6Ky1X
FjDOUT:6F8A464086DB21622453FC06B3454D14587FD2D961E16192162887A83B03F364
FjDOUT:4BC6166B142914CC9716ACB83176A9980737CB4A04F6CF3316D868EF020EB5A7
FjDOUT:38CD8F0E0FB8199DA03415307760CCA868EDD234E7E7A1B663FDAF1E09727308
FjDOUT:63A6244C0462633EE365B00115CBE1C65E3C5A93D04B12543B8F9414216124D9
FjDOUT:7211B7AC2CA9C7CC43B0AE853C0EB616309B10A14C8ED964CD2813BC3A1B377E
FjDOUT:AD8EDA17E30F100C7924643A40D43BAD36E2C5E08D4FE59ECC2DDD0485193197
FjDOUT:199B38491DADC15FFE1929D8887DA5588F3F3A1FD95DDEFAB157A55F2DC2529B
FjDOUT:18C990C9D5B8F8D018FA00E570F303CBACDE24A0303528F8CD88ECD0CABABD04
FjDOUT:1FEE298E8CDFD563378AA204DAB675430C0160BB591E47A3E37A888FB703885A
FjDOUT:C9D6230D5CE86279FB29DFE3D5E3124C42B2F20016FC3BC70EDC0E1C7A011096
FjDOUT:D97116A3D0A82F91FD781A771033FE7F7F3BD8C22C5BF3A10E19E38F4EE7A9CC
FjDOUT:69E819EFEABCC1C548523DCAACA0DB61F6890B606DD05D89A9C98FBA50F1E4AE
FjDOUT:A4C5843895D510C036F3F89177F7CA6EC5D72DC738E6AA460A74F82D1C442926
FjDOUT:06AE2556F8AE540BD1F26C67A5969BCB9E7D57301A8428A218252BF3D023FC0F
FjDOUT:0F5A4FA6851CAA25DD8A5360D781378C2B144C0335786A6CE4DB67B3C39BEC25
FjDOUT:6A5834C64DAC1C26274B7739C945F65E67F468BB29F24B11FA276C7814CC7460
FjDOUT:5F846B69FE1E7669606F7BD6C38844CF5ECD5752628A574A400406B7920FF903
FjDOUT:D5CB97187C02FB1069E265671006A18EE70F8A8E47DF6B5EF40FBF8B74B63DF6
FjDOUT:F0A5C2D3A9D228BA582E5322A2159E81C52AD20FA5715795786A7FEC3CDF23AC
FjDOUT:0EABF67BEBF34DF5007BCAC09FD1F55F5D3DD62274B9CD666F1AEBF3CA9647E7
FjDOUT:A824DF653BB2E7488601486DA359A75201E5DE9611A4D63D083AFA6F8A2CF535
FjDOUT:C13442139B6A1CDE425767CD939BB1F5D4E1A9E9E5ADF05AF59EEB99B5741B09
FjDOUT:21436670F2B4234F6C730AF2944D94F905E822FE4CC66EE8D95081A0C3AF7152
FjDOUT:3836DA81F97A7559D3FC2F230F40B5AC9271932952419BF217AA69B5831AA475
FjDOUT:70E62585A99DDEC276F76D3C326DD25700D2DC1790CBABB7CB7D03C0801B474E
FjDOUT:46F8228FC9F5B790C3DBBF7548F0386E7A78F222D0D001724E664C6B4D7AE1AC
FjDOUT:785B993FDAA0C1D177C5E092C206BDB0C7C2D9112128678065E17E89B8E4E19E
FjDOUT:1B707BFF815C3FDD50BA8F6336FBC519A70DF378A430CA64B6B89AE6A26E03AB
FjDOUT:B061330B640F3099761CBFBC524F2D669597D6C2DB7F202E7A8DC1B6FB88ADDD
FjDOUT:3C7BADC8248C3638BCA0369C840B344A316C61670DED4BF3106E1F35323C68CD
FjDOUT:BE42D2222F9A5F6DCC1907DE7EDD2C056DE3BFB0D5CEA6AC2DB458925A95E821
FjDOUT:62B7C568FDD1E988892511446C39207189C1FB5E421268770BF306EA2438314E
FjDOUT:2B6C3241459ABFFBCD35511A50C3C34D4731923D51293BC632F3E8B94CCEFB7C
FjDOUT:C41DC4772537E5A2446DD45B17084D879B5C7C70F910499B75203F7A9CB48558
FjDOUT:F82C3A4A55C0F0E2E6F5F7C2A0DFB69A29395691E70B6D1FA4A923B38158B34E
FjDOUT:8D757C86170B8225183953B42E93BFF8B5F486B4C04ADA20849EDF0BB8C50EBE
FjDOUT:4BAB49FF2CFC864F08C5F0366545098313EB389902129F660CB0480EF5563C5D
FjDOUT:11644CD3C5CBBC0928DBB8C3D178BFAD19DF3E16417D29A962FEA4D2FE89BEE3
FjDOUT:A12A0301D1B584FDC102913BC1920182AA67F0EC4CF2D356B568679CAE571D59
FjDOUT:6F776FAE00AF9B94601E3F72E61AE049320568E5CA27BD75F09E4BA8C9DC0107
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
>stamp:{"p":"src-20","op":"tranJ
sfer","tick":"MSKE","amt":10043}#
>stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":1000}#
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":10000J
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"25"}h!
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
8j6to:PMT(BSC):0x348BDeD30Ed6651A9847529dCbc346D80f4880Ac
Be123a0dfbf0a90fc14ee61f786edefd19c2ff297a2a5a30766fc1d5fbe82de0a:0a
OjLL0x5bf86937a2fa0de0cb4ecabb5be007f5b39b902ae4c1bd052f820f430b39eb3e=|lifi.?
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
OjLL0x5525153d4e976c12eb73c499ef1a206c98676979bddfd21eceeca82189c08860=|lifi
OjLL0x0aacabf8348e173bd7dccf5cba5898906bc4f4d719d16bfe832d3efa8b1a2c4e=|lifi>
OjLL0x670d79c0e04a6556f60a113b4c22621add7013a284f52a9a50b80d611d422391=|lifi
OjLL0x8fb71f851dac60a58f66c25a55abbb243813c3390121d18df1dcdddcf73fa4a7=|lifi7
text/plain;charset=utf-8
{"p":"brc20-prog","op":"call","c":"0x5168f7a79b3ccbe94ee1e8a095aaa1f035bd98e8","d":"0x38ed1739000000000000000000000000000000000000000000000000004e28e2290f00000000000000000000000000000000000000000000000039a2f6427c5526b1b27600000000000000000000000000000000000000000000000000000000000000a000000000000000000000000030a2f9c70d48a9ea0bc3d089dc79e287a7d8e3de0000000000000000000000000000000000000000000000000000000069415b7000000000000000000000000000000000000000000000000000000000000000020000000000000000000000007a6a7ea71bc7943e8cLXd32b64dde8feba58f055310000000000000000000000004aa8e9ca6d90e2e47b44336aa4725894332c1b16"}h!
OjLL0x2d9c0a6c6ac88790c7ad41e9804019b77b374b5d5d48a9b71327575d0f737d6d=|lifi
<j:=:TRON.USDT:TQpcxQuhSiVQX97pnVJEDD2wEtBycyMxjo:0/1/1:ej:75<
text/plain;charset=utf-8
Li{"p":"brc-20","op":"predeploy","hash":"7aec7a9127dd86e5f440adbdfbfd92bcf8ef504a1a3697234ea2754dbd0e01cb"}h!
6j4X52:to:USDT(TRON):TWvKu3xvCWbxSRGLyCcbRa6XdQHfLqVDCX1
6j4P4k:to:USDT(TRON):TZFpJeYmMumhuS7Z2imWHSLDtWo5Mh6bPh?
6j4M3H:to:USDT(TRON):TUk3QwE4v8mKxXkXzXTTPpYRm4g9wKECRt
?j=E1p:to:USDT(ERC20):0x6cbC3295aebFfb204e38cB3bA25F7691AEC20e0f
<html>
<head>
<meta charset="UTF-8">
<title>SPAMMERS WILL BE KILLED!</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:wght@400;700&display=swap');
:root {
--paper-color: #F5DEB3;
--ink-color: #2C1810;
--accent-color: #8B4513;M
} body {
background: radial-gradient(ellipse at center, #F3E5AB 0%, #D2B48C 100%);
font-family: 'Crimson Text', serif;
perspective: 1000px; /* Add this line for better 3D effect */
}
.newspaper-container {
width: 80%;
margin: auto;
padding: 2M
background: var(--paper-color);
border: 1px solid #ddd;
border-radius: 5px;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
.masthead {
text-align: center;
border-bottom: 3px double var(--accent-color);
padding-boM
}
.masthead h1 {
font-size: 3rem;
color: var(--accent-color);
letter-spacing: -2px;
text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}
.masthead h2 {
font-size: 2rem;
color: rgba(0,0,0,0.2); /* Faded color */
font-style: italic;
margin-top: -20px;
}
.image-container {
float: left;
margin-right: 20px;
}
.image-container img {
width: 200px;
height: 150px;
object-fit: cover;
border-radius: 5px;
}
.article-content {
padding-top: 10px;
}
.article-content p {
white-space: pre-wrap;
word-break: break-word;
}
</style>
</head>
<body>
<div class="newspaper-cM
<div class="masthead">
<h2>The Bitcoin Gazette</h2>
<h1>SPAMMERS WILL BE KILLED!</h1>
</div>
<div style="clear:both; display: flex; align-items: flex-start;">
<div class="image-container">
<img src="/content/19efc4048a28e0be7e54d7f9ac80a3321c783237ac65d74a5484ecf63fae192fi0" />
</div>
<div class="article-content">
<p>SAY NO TO SPAM!
Bitcoin is sacred, Bitcoin is intended for transactions and monetary value only! Bitcoin has a long held history of provenance and value, it is not meant to host JPEG pictures of "di*kButts" and absolute chicanery!
My name is A. Knotler, a patriot of bitcoin, a patriot of Knotzi-ism. I am a proud Knots dev and runner, hidden in the shadows for all too long. So much so, theM
only way I can communicate with you CORETARDS is via your own retarded protocol made by Jamie rodmer. It pains me greatly to use this filth you have harbourded, but my plans will not go to waste! I have a grand plan to sabotage and infiltrate your "so called" protocol! Ordinals has a major bug that myself and fellow Knot devs have found, this is one of 3 warnings I shall give you! Knots warriors will be spread across your ordinal protocol, deep into their core, and they shall self-consume themselves over what we cM
all, a harvestation period.
A. Knotler - 13/12/2025 13:27pm, Chief Blockchain Pest controller</p>
</div>
</div>
</div>
</body>
</html>
Bj@=:c:qrf6yuawkd77f8gv4uufawncvwkyn0uvrsqeqvnqu4:201727:-_/t1:0/70
DjB0x17ad65a1a2017167061de617c85e2a73ced6c76222e1d5b68c0beae727250283
text/plain;charset=utf-8
Li{"p":"brc-20","op":"predeploy","hash":"ff255c4b18c234f0e514d91a1b84dfebb5a36cb37d09dfae47c7751a60347c27"}h!
OjLL0x5ef490607d1c153836ec48b43b030de9bf59c73f74bf27b1ac66943d014b4950=|lifi8
DjB0x48d4e89d071f2fee515d747d3e7027a2692e9b9ca8618878a4d5f8fa74d59c3b
DjB0xd47996d55f740a5acf4acbe1cfbba94b30e5db4e82c1560d803459811acea09d
DjB0x55c1ac41dbc7b7772ec48ec8f421578af83d048ec97d11c1a800459b099d0a71
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"30"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"30"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
OjLL0x6da47b3d7da3caa5f2abd23dba9c0cd4ec7f6bd832ef81610fa4c817dbf7a07a=|lifi
OjLL0x7adcb8137e87c25715e9b1a8cfde9c9de1bdd287ed3a2b48c6b01e76cf662324=|lifi
OjLL0x1e8df71706de31a3b1622363c20a780392e83967fed4b6d544493895b2326584=|lifi
DjB0x5c932057f2e07ebe823ca4b4b792f7d4d107abafa9df595ddf71dd5f59b66a2bZ
DjB0x391848d0c7510bbd98d153cee85f8237796d71ae817435e8469f11038fbc1ad0
DjB0x729af3d3be887d67ebeadfbd55645f7b2914798410beebdf5b05e64a104a1ac0
DjB0x6af3a3a44bb91489faaf6152c9e015e1c1d0eadd104443abace3f3f65a5ef15c
DjB0x41df42c498d57c524cbf352f99dfbd23cf4e16e9c1a33dbe891ddd75b2fd8262
QjLN=:ETH.USDC:0x009861AEa701BEa80410b27dB7ea48AAD3Cbf2bA:130487600/1/0:-_/t1:0/70
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuyrkOjaCggqZckn6l+n9e1MlONeV4Lv4VV0/IT8f0h8Zyf8eAf8fAUD/HgEc4sbH+mBN1o63AuY3Q1A/hDVpIwZzS4F7LE94LE7JdRL/H1X/HgGA/x4C/yAB/x4iJ/8fAf8WArXjrxaxiP8iQYIMtnVyJwyvJ0TPUMmbhgsGolyO7Fx3VIg3dHMNLgH1FVZ5p2n0Tdabn81TwewEgI+IXM2CVzBrXeG0PJ73L2Ub/z5CAUBmKFC/lpEJLchKBRG7HK2ZU4aIHzSq3LV1kHyIzXpWN/KRbrqnNGusCiN9AbfqUsA6vFBaboqRJVgkC03SzFc//x4"}h!
LjJ=:ETH.USDT:0x62a7a11A1e73F5AfB05799432ecb90acc2eb7f72:329519300:-_/t1:0/70O
LjJ=:BSC.USDT:0x292997d7F13A36390eD1C696296fA74C6a899095:709207194:-_/t1:0/70X
Aj?=:x:rKWF48HcmUHifY2Z22ciNWWGDJ7CTT3eRF:282694700/1/0:-_/t1:0/70
EjC=:e:0x4bAcA22F7D9D2e0CfE38f5Df28F50951387d2bDB:75124/1/0:-_/t1:0/70;
FjD=:s:0x96B9d3439FA9a4DbB1eC16a540C148CC040F7795:425394/1/0:-_/t1:0/70
EjC=:s:0xA5EA54c60f5eDA89c02Bc76f0324d0D3b1d6480E:98119/1/0:-_/t1:0/70
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"30"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"Aldo","amt":"10000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"106000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"3392222222"}h!
Hl=iSpiderPool/249/!
5j3secure+:thor1gfyev2ez0j7jkx0nwpf6ug2slfcwcdxwj5uchc
>stamp:{"p":"src-20","op":"tranJ
sfer","tick":"MSKE","amt":10043}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":200}
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":10000J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"DEFAI","amt":20000J
OjLL0xbe54a904618337add279d1dd9fc5472024661a9a7fe3e6830e85d88e01be4e48=|lifiB
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"30"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"15"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuyrjP1O8ti4GPl+OLCHbhiDQaW09Rn9MHaY3AOJHHVx2Gf8eAf8fAUD/H47OCosl38uLevyn7xsMDBiF064vERAVC2p5lziuGQ2CtP8fVf8eAYD/HgL/IAH/HiIb/x8B/xUBUtAsfhSvaP8iQfAo4IWWULwYuvnETAAFZC1vsJh+O9De/mroWyEasYaRQ5/4ZQtShPo0pTpyRybpmVYrp5hJEX7y23GP/pa3V7Ec/z5CAUA+J71mZVuQds1Tru+FDBtSM+n2+/S2xX7xK5efq5wfUt9W0edrGhJR0Af76rKb1MWiCyuk+rD4O6PEOgdXWQCW/x4"}h!
Aj?=:e:0xA352Ac22d7E251A4aFb99Ed73D00e04Fe710128d:47447:-_/t1:0/70^y
DjB0x3d88e5c7ec3dae66a15424eb3442331077bcd91e59f37a9aa6c1b72debd15f52
DjB0x746e0c76fa41d2584b3c7293656e57eacde3b5a642626b762608f203ba87038e
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYGWk2iXTAWwP8fA53I/x+A/x8+YmMxcHEwanpwcmpxMDdmdGZtNHdkc3NwNzQ2Nmc1bTBkazJqYzd1dGZjNWp0Mzg3YThmbDlnY3E3dnNxaGQAAA"}h!
DjB0xf77533b3d9eff716f007aa0bfa0fa9c2da64944f3ac659abfa908058a7054f7d
DjB0x46a60aeb16e70b2d0949c78fbc13a9237924f8aefc7eefccf27af2d93894c844
DjB0x68908288ab4c26a591b6c3b9c0a762f1a771764fa97923a125cd5269dd07db68
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"6"}h!
@{"p":"brc-20","op":"transfer","tick":"
","amt":"15000000000"}h!
@{"p":"brc-20","op":"transfer","tick":"
","amt":"15000000000"}h!
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"8"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"6"}h!
xL6504953379103265123483724655541931262568505252214053820508180443535605932173xM18974995324420761840796987545059722968872060398730424553906308770690411948148a1dpi_b
xL5231459204067460671691932629462466381729574595772687360688531778608680391425xM16443947190824001926307324044693334614406417912749374798467231959952568478693
xM12015110066141773854657829688467285595582236982764997147175173504576115364430xK275482683626831878367745841574392444577230612461710613615373251918574449224
M12699004152268821766290954601464686709944094264324369734649669905497680252744xM14950580858888565687126811707287802027315533576528413627335911147088386087198a1hprotocolggroth16ecurveebn128mpublicSignals
xM15513694286117373779449461514688868571800576926884438066092046155555945170679xM15513694286117373779449461514688868571800576926884438066092046155555945170679xL6914149295724912503637739612702037927268947362697985433706904127960396312290c122c122xM15513694286117373779449461514688868571800576926884438066092046155555945L
170679xM15513694286117373779449461514688868571800576926884438066092046155555945170679xL6914149295724912503637739612702037927268947362697985433706904127960396312290ncommitmentHashxB0x579987031eae1b06acd4470102becf933c5e99fb2ca81860f7cb196094997729h
<script data-id="754" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="509" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="615" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="479" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="903" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="1344" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="1718" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="1717" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="1164" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="1074" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
IjG=:s:0x3C3e8e6DDD45b371f7d071C52d08549369C649b5:9922880/1/0:-_/tps:20/30
+j)to:TRX:TEmhJ9xkyHDgg8r2ikAXvAQ9gwA1nBKDUD
+j)to:TRX:TAWfRreFvYvTpoRvCAQRQNrj43NiWo1xQz
9j7to:USDT(BSC):0x57Bf05e5F444fE39F6f0067A68144AB36bAF62E8
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"7"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"40000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"11100000000"}h!
text/plain;charset=utf-8
B{"p":"brc-20","op":"transfer","tick":"ZFBE*","amt":"120000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"100"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"5"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"5"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"safe","amt":"500"}h!
text/plain;charset=utf-8
B{"p":"brc-20","op":"transfer","tick":"ZFBE*","amt":"100000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"TRUM","amt":"2000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"1GAU","amt":"2511999"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"40000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"15"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"5"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"21MM","amt":"2580"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"3"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"abbf","amt":"65000"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"Kate","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Aldo","amt":"1000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"90233423268"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"lion","amt":"842055"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"8777777776"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"5"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"8"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"5"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1700"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ff1e","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"100"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"11908"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"rats","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"6"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"safe","amt":"500"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"20"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"20"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"10"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"94200"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"5"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"175000000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"safe","amt":"500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"100"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"5"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"830"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"5"}h!
2j0to:USDT(TRON):TRFrN9HqUneoTHpUEY3VLRccyB7Cuq2eSn
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"5"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"30"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"200"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"10"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"mint","tick":"
","amt":"327169300341.369"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"7"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3435"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"244"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"20"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"100"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"5"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"1200000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"30"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"100"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"safe","amt":"500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"10"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"mint","tick":"
","amt":"21000000000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"20"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"5000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"5"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"1200000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ff1e","amt":"100"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"31"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"25"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"TRUM","amt":"2000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"20000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"100"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"1200000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"100"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"5"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"100"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"MT-J","amt":"16501"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"20"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"5"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"DODA","amt":"1784000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"10"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"mint","tick":"
","amt":"149599650170.369"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"500"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25000000000"}h!
text/plain;charset=utf-8
C{"p":"brc-20","op":"transfer","tick":"
","amt":"37848711493263"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ff1e","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"10"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"5000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"200"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"20.2"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"
","amt":"1000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"90000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1600"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FRAM","amt":"12863"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"3"}h!
&w=i/SBICrypto.com Pool/eu
=j;from:15USDT(BSC):0x0b881F98283b20fB37A4155F3620125Fc37Cd17dfs
?j=from:100USDC(BASE):0xe5657dfa63971ba46487ad8376b2bc986d7b6441B
8j6from:2633USDT(TRON):TPaXKYfucnGzrAxJRmHrG6shf1v3vWBkFAZ
8j6from:2900USDT(TRON):TPaXKYfucnGzrAxJRmHrG6shf1v3vWBkFAFQ{
B4775da9f0f503c2a83a488112dde99833384dece019ef48aac41f4bc0dbfd881:0a
FjDOUT:5D665433B2B144487C0010E9874800443B64BBB6F2E6D68DE98759E9F2F5BECE
FjDOUT:0F385C0933C45BFEFCFBEB1DE23538AE69F82E858519EC3D80399C9B6BE7B689
FjDOUT:539B21DB592128253F230701705BC657B4D79B23D205B93E2678D8366C43F4E7
FjDOUT:15982B5D0E850FD066CD5E62B27E9BA3A43A3FE41DB18A7F772207D1D7B051B3
FjDOUT:B8A590B57CF406B18066B8C194C55EE4D0FF8D24E813DCFC620AFB1281487A4A
FjDOUT:725DC039B06FB1B8B9E2D520D3BDBBF9C8457CA842F4DA0DB0852C27394AF5B3
FjDOUT:C41B3B764D7D297D8F6EF932C696260C631A7994EBE8996EA15C1354AE474156
FjDOUT:17002255E99B04131F9503A990D8A3FCF411D6CEC72557020443C9FC80134327
FjDOUT:69314C6E35728BE0FF13ED728D3EB72CB1A98D97AB781CBD5D76CB5312FE7A64
FjDOUT:BAE40C06560E69926BA6E2A481C3A052B19DF2D1F5F488B67A24ACD9D70EDD30
FjDOUT:EEA00E420D580C2EEFD19E43467A262F39BF5B51AF9188C532C024A903D38E8B
FjDOUT:ECFD1DE48F147F441B4666CE222F212185D641D42C4FDA19EA2F0F15854C2B99
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":300}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":300}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":180}
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"5235904750"}h!
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
HjF=:e:0x02b4D4ca25D41118da8C7CE0C47B33e7bAF7D44B:8404953/1/0:-_/ll:0/145
<j:hBq:to:BNB(BSC):0x158A77cb152E98903a66590221c8Ffe24349EBD8
?j=ySZ:to:USDT(ERC20):0x6137128836Af8d2105602E9be3CCdd04D449EF1A
6j4qFF:to:USDT(TRON):TEpcXUXCjJMgJHj5vGrZ1k9N5j1tPcsN6o
6j4Gi2:to:USDT(TRON):TZFpJeYmMumhuS7Z2imWHSLDtWo5Mh6bPh
6j4ush:to:USDT(TRON):TDQje44MH6nMZAnEG9UZbvHkpYo2dYpgi7
6j4fxr:to:USDT(TRON):TB9JhRwPJeF8My2bfhNQacGz8LP7MTippS/
?j=erc:to:USDT(ERC20):0xD29879289A5cfD89Ea6b2949122AC6eCdE509104? +
6j43rX:to:USDT(TRON):TQoYCKRd1UKmtmPExiUUjYsj6kuzC4fqG8
6j47dg:to:USDT(TRON):TGSVBvi9ixvppHx5tcdy566pwk4Hd1xL1W"#
6j4WZc:to:USDT(TRON):TRNX9eSYrVFDtrdGXujRe8GSWiM4CU8nzr
=j;Mfg:to:USDT(BSC):0xA1a274B6B7894e4d8595517aDB96aB67638aEB65
=j;MPR:to:USDC(ARB):0x3f71dA15CFf91A97d6d45b115A06298A73fc8021
=j;Ugo:to:USDT(BSC):0x79C72Fd56FB7d9fCE6445039ad91C7d03D5e34b6
6j4foY:to:USDT(TRON):TWvKu3xvCWbxSRGLyCcbRa6XdQHfLqVDCX
6j41lx:to:USDT(TRON):TPESFTSJUjzmuC3iL3ntLVfxPZZojUeYaqo
6j47At:to:USDT(TRON):TRDsDV4qaprfAdyaa77YvHMpVbtXhDCmwA
FjDOUT:B30353FBC0A2E336A010995BCA9791CAB7A40298918F51FF99BC816AA027FD53
FjDOUT:F476E9DF2A5C6ADDC40168BC6DDDB7AA3F7FAEEA4AD488B5ECD3671C7023FB77
FjDOUT:E0259066724CBEEC31B75BD6803ECB38D1CC450F2E79CAC6F2C8CE5EF4207619
/j-gLQ:to:TRX:TDWywubYgsrWTgh4FpuCWYM1md2zuFHrv2
2j0to:USDT(TRON):TAvRE7sQXhBsx7TvKrsua3Gz9j26Moeza2
DjB0x6da47b3d7da3caa5f2abd23dba9c0cd4ec7f6bd832ef81610fa4c817dbf7a07a
;j9to:USDT(ERC20):0x399ecc240A3F5fc61BF0b52256819841115CBa06
DjB0xe1024e766e10dc4c67cbc827dc27ca2512a906a9214279302f357a53a5c54894
OjLL0x202dbf199271e4eb1a1527a327a66eecb779ab30d349167be796bacfc103a732=|lifi
OjLL0xc4f6c4b9b2b6da3fb09d18092b97634c2fa904ee804b5566b86b7b7d217bc430=|lifi
OjLL0x53301b74c403f189ac0d6ac8e1631e61be69033bc1d51f2717629bd6bef0efb1=|lifi
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"15"}h!
FjDOUT:6E8E085B319284E1D8DCBD825C1474E98D8A53CC001B0F083B6CEBE986ECF980
FjDOUT:89043BB5D9E6CCAFDFF05CEB6EDA000959F19B711DEB47B8F5293D64868FE116
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
OjLL0x51106225911a43d43e3235f927e06a53e7a645a723d711de79fa4aa4a9f7c6dd=|lifi
=j;=:l:ltc1qkxqjqrn9m2e4x89rtlgs8f2v80j7tvzxfn9ury:0/1/0:g1:50
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"25"}h!
>stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":1000}
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuyo9XAN3D2IWqHqJi7um/hQUTYHfRkNKg1rk7S5F1S4ZlP8eAf8fAUD/HgGqDCu09uE6jttCGBkuLH8havJGwmMDHEDCRVUCvhisJ9z/H1X/HgGA/x4C/yAB/x4iJ/8fAf8WBCIH0auEzveg/yBBrpKqHE3o2cZVamOzcj630FFrokeRCptprsnRMFBskG0wOJKuF+5nckhBJQskFzBciQqmri+lV1T8xJJ2+FOOWxz/PkIBQL6hQ2y2yqsuR/vSbn+3VdnfMswCUV2kEb2KNbFhr7pc+aSfW3IW6qud1iVu6/H2ZPqF0yhXB85X0G1nGYBlHoz/Hg"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"5"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"200000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"19"}h!
+j)to:TRX:TYWwM357fXr289Drzf2cipG1wdgrnMSEYw
OjLL0x2fdf4de3dd121a7c71671e340e21fafa516dff3d3e5f4e091eaecb72058d29eb=|lifi
6j4bm9:to:USDT(TRON):TEXFJvr4rtj2qYBCbU8pcK2xiUpW2xGiXv
?j=S2d:to:USDT(ERC20):0x87c905Aa101F65f1936b4c12d377716DcF444705
?j=W1w:to:USDT(ERC20):0x853ad5f88C295C46982Fdf6df1cC576A6269dF85
4j2TRADE+:thor164kgtv7zvlsmhywccyyz073py4s3h0xlq3zpxwl
Aj?=:e:0xe50c906d8Dd2c756dE06c3F555ed55eb470D1931:28276:-_/t1:0/70
DjB0x648afa81a440ed90776a1a87a8eb47c78667e4422edb8745ea8d98c5098ab257
DjB0xd35677136b07adf470ccd48b7e667519e0a7acc94b223baf40521954d3ec165e
DjB0xf4a5e9ef09e9c9f64ca24fb4a92f5636783e8582fe1d8ab0bdc2d666dbd09869
DjB0x0994cad3f7ba3fdfc1920b830a243bca62a8b24eeffbeb9adb381a28e5d6cd0b
DjB0x6ab040897a6d44e43623e0b95ac5b229dc1a37c173ced249407647796a2b545f
DjB0x20d0b8f20e01d15640ca1d442300722adb01cabccd1d124a8c25e64365f61b3f
OjLL0x5ca1e7b5294795bfb29e5210ef9abc8903b38648a9f663c466e01c8769cf5c33=|lifi
OjLL0x6ee4c7135e1d8d5a22c421875f4b75bf8302cccae041b6cad3c8def5f86ab32f=|lifi
DjB0x4a8d83671df446a16ab7bc54af69f48b4cbd389bdf8480bf3a2245702366c52a
DjB0x0c20f3ebc02c4ddeb72e7a24c455b324cdb95d14d4841ec930100b01d6cfeb26
KjI=:ETH.USDT:0x169Db8f3a5B6e23b1a28188CdEAaA9116c5e57CD:92667900:-_/t1:0/70
DjB0x1007e9cedfa6aa04b5e8819e147df4bd914e1cc76ca901e4b2e031f0d69cdee4
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
OjLL0x76c26443f82f4021f59523fe061f8f124932cfc12d1ac64b4a2a2bcbeebb6e6f=|lifi)
6j4GoX:to:USDT(TRON):TSJfki6i25xNsovVN7U1LQL4Z8ScXR4Ni3
6j46yk:to:USDT(TRON):TJztq1PqRpgzJrhD5B1HHLxuyfHXBpNsnS
OjLL0x11dcba47bd07f07f7f7e39d65a87fcd7bbd36eb7f36b231a83885bff7d4b4800=|lifi
FjD=:e:0x12c5061DC85F066438F074713c0cF04D55E78292:225401/1/0:-_/t1:0/70
FjD=:e:0x8b8A4574D67Fe5Ab99Bf8D23650b271fe7E10384:296709/1/0:-_/t1:0/70
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"120000000000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"7846.53"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"msrt","amt":"24000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"5468.3"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"4567.5"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"759"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"4578.3"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"ATCD","amt":"50000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"4467.32"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"8888.8"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"120000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"600"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
JjH=:ETH.WBTC:0x2e19c4055FDBc663fc6aDb59558602Ef72908dD3:49435174/1/0:sto:0
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuypQZtn7e0/BcKCIAU93Ntvpy1JMqqvz9o7W2DtkDBQ6T/8eAf8fAUD/H46WSI8qYaMzyI21XA4zZmD5aJ+yRkqrkpOVfmYsH7TeSf8fVf8eAYD/HgL/IAH/HiIt/x8B/xYDz4LKpmdiTP8hQQtlI3+1j6f+OUEEbeMEz17x6VTP0Z4SI9iyl1xQWhtJdGwhlWZklO8kziow2FKOyE7NjLIb/TPTDtQTiphmPJQc/z5CAUAWZqQMyOd6yyxAI4AuqB0ujoR9MuZkyUuNRzzgtN7icgCF69vhS7jMlP1cCLHMBflhDKN7bEVK08NPpwLqkIk//x4"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuyomnJI+tg/jXeeH2Pd9FqHeefDJYcml+sBXzmdlJX9fCv8eAf8fAUD/H47mqroCldOflBELZoqxPwqySevb0xI6gixe9HQSxJyEBf8fVf8eAYD/HgL/IAH/HiIu/x8B/xYGWk2iXTAWwP8hQVjSj0nVCPg9vAtjoGi32ob8Fn0lKy5zdnVf2468lHuWV3MHMPsA5bmpK+7vu2SJE4VPs+eouRbT1rt3xwInf4wc/z5CAUC253UVVWnzsJzWVNkS8MpSqU4++fdxtPFXYil9ibbQ/wHBTKN3+IPH/VD97BHiZZuyS6In+3IiJwhbbL6BV1v7nv8e"}h!
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","amt":"8075.028","tick":"trio"}h!
:j8from:3278.7USDT(TRON):TTQfAqDAoRdgQ4HrxRWbRwzFyod478Ffaz
:j8=:e:0xbDfE696313068CaEeA771cee5663C79dD8ea77C5:300121503
6j4HSp:to:USDT(TRON):TUc9XzjTNyXZkPeXGpKS1Bz5zNUHcKJaMF
FjDOUT:1906288A7322645A11F2671CADAF6C50EF2A228D092D2F53A660EEFF8DC3D784
FjDOUT:D7AF1014C6F26FDD79C587807B63E62C6A1DC786E765A415F00E6DB0E9607568
text/plain;charset=utf-8
Lz{"p":"brc-20","op":"deploy","tick":"BITONE","max":"2100000","lim":"2100000","salt":"5706c8","self_mint":"true","dec":"18"}h!
text/plain;charset=utf-8
L|{"p":"brc-20","op":"deploy","tick":"BITIFY","max":"21000000","lim":"21000000","salt":"085c45","self_mint":"true","dec":"18"}h!
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":180}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":300}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":300}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
6j4qmx:to:USDT(TRON):TXuaEnPCfxzTNWt59t9vYRTfjK5jJMBdNN
text/plain;charset=utf-8
{"p":"brc20-prog","op":"call","c":"0x37c778c746a3f1434aac5b2892fcea75822b9f9f","d":"0x095ea7b3000000000000000000000000ac4efd08f7a09f22ac0526ae180838ebc7222222ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}h!
text/plain;charset=utf-8
{"p":"brc20-prog","op":"call","c":"0xaC4EfD08F7A09F22Ac0526AE180838EbC7222222","d":"0x92cdbac500000000000000000000000037c778c746a3f1434aac5b2892fcea75822b9f9f0000000000000000000000000000000000000000000042a11a1eac9d24f590250000000000000000000000000000000000000000000000000008c490914b65ff00000000000000000000000000000000000000000000000000000000693ec93d"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Aldo","amt":"2000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ordi","amt":"222"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DC8FTWlLppNzeVzhS/MdPrbl3sbJ/xYHIHDy3Cr7fP8fAd6I/x+A/x8+YmMxcHYwOGR5eTRzZ3lxM3JjbDA5empnOG1oMmY5cXM1bm4zM3lwdXVmdGF2cDduOHh6eGYzeXNtbXNmZXAAAA"}h!
2j0to:USDT(TRON):TXTYoLAJ5bLfM2JXZVibuqCB1M8hkq1v1P
3j1to:ETH:0x63808f70ab1440344FbEE7a461C6f24F93f23676
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"p
","amt":"0.00012121"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"100"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"p
","amt":"210000000"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"200000000000"}h!
66vre6nidgprg0efjqjfau100
63e55x7mgto9xb6n3sepag50
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"500000"}h!
62dc3y4ktetpwzrgfvknau20
text/plain;charset=utf-8
C{"p":"brc-20","op":"transfer","tick":"
","amt":"55052671262928"}h!
text/plain;charset=utf-8
5{"p":"brc-20","op":"mint","tick":"
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"dogk","amt":"38888"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"4687.3"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FIFB","amt":"200"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
DjB0xcf168a4bed0e02208a82c95fa9abef3e86810bb3870a86a017d4b615960a9f20)
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"MASK","amt":"1488"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"8754.8"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"7548.25"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"100"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"200000000000"}h!
649h8nrikavf7p149w0mau50
6316hlmm2ieodnaulfl0ag100
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"500000"}h!
6629dmzpi103od5cyzeqag250
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"500000"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"200000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1150"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"5587.8"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"p
","amt":"210000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"500"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"200000000000"}h!
DjB0xe64c8834416ffa51700cb6fd31582afc552cdff24620d97699fd3ef700f32ca5
64ew699viozc04yign59au50
62z9301man0yx16c5a5aag31
63umbkq72c53a40q1lcoau5
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1150"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"500000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"500"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"350000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"p
","amt":"0.00012121"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1150"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"40"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"d app","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"500"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"2548.6"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
65ephyqjcn1kiq323lveau250
63n4jthtp81ft1nltsttau100
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"6734.54"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"MASK","amt":"1588"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"KPOP","amt":"600000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"p
","amt":"210000000"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"200000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"200"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"500000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"6.089"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"500000"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"ATNG","amt":"161902854400"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"500000"}h!
text/plain;charset=utf-8
D{"p":"brc-20","op":"transfer","tick":"
","amt":"105348514710124"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"200000000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"p
","amt":"0.00012121"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DINO","amt":"18"}h!
65mzxehbxv3u4ngbs3usau100
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"p
","amt":"0.00012121"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"4636.2"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"36P9","amt":"59"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
635gup7p8hg58ufazkz4ag250
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"175000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
65i6hfxoqftrv18mgdz5au100
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"15"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"100"}h!
DjB0xb341c6c29f2ef41afa37f8fdc703014015575c2eb68551831f99d848e7c7cd7fT!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"200"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"p
","amt":"210000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"500000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"35"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"95000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"7784.5"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"500000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
63q3vnv5fk9toiohy8nbag31
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"6467.5"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"4467.85"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"641158800576"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"200000000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"f1fa","amt":"153000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"p
","amt":"210000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"9648.2"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"p
","amt":"210000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"beat","amt":"90"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"f1fa","amt":"153000"}h!
DjB0xcc063bede711fc5344072cf76835a208011d3719cf413aab7b2dd1d12d0209f7
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"500000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"p
","amt":"0.00012121"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"200000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FFIE","amt":"500"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"p
","amt":"210000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"f1fa","amt":"153000"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"200000000000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"p
","amt":"210000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":" NFP","amt":"8888888"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"500000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"500000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"p
","amt":"210000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"500000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
64xuana6tgpk2meyb30eau50
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"500000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"MASK","amt":"1588"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"COBIT","amt":"4697.35"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"200000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"p
","amt":"210000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"5487.3"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"MASK","amt":"1388"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"500000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"p
","amt":"0.00012121"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"10"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"14333333333"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"COBIT","amt":"6437.8"}h!
64n8zcgs0q2w65bhe93jau250
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"wallet","amt":"2000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"x-dog","amt":"20"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"500000"}h!
7j5jI5:to:ETH:0xEC3Aa269f15d81Ef9E7a04bb6817986BF6966e8D
22688df1-b69b-4902-946e-d972bdd0e1d8
"$')+.1469;=@CFHJMORUWZ\_adgilnqsvy{~
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
5{"p":"brc-20","op":"mint","tick":"kate","amt":"1000"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
Powered by Luxor Tech
FjDOUT:2E7EC1B7F0154BE4C515DC88DD1F080A710F9E828FF7F9FA259ED696D040E411
FjDOUT:CF461D383DAC6690FE9A60200450D833A5D45C5F0B5C7353C88B2145648F1D36
FjDOUT:33561EC85DD9BD98E8E790465805728FD89F18ED990963155354B11A7B5C1363
FjDOUT:25AD5E6A7062DFA1C585B594E1336EC131BE98A5510607A73731D6B478ECDA38
FjDOUT:91B731F5B1F068F408C7B6FD63095BF6A5180A5C08165A46322AC457CD982A03
FjDOUT:F4DDE11C3A89E80E074F353AAB27369EC2A324DB7BCCBA074031A29DE2EE660A
FjDOUT:C847978208DFE357DEB56F9B8CAECDE8B4EC99B666D9381F48FC635CF120D4A1
FjDOUT:ECB2C28BF496C76F402BCA07ED4C4E98984D05AA5AB707BE228BC5086A8CFB63
FjDOUT:3B18F04E0AC76594DE1379BA0DD31C7D10ABD0967E76E6BA274324F01FF95E49
FjDOUT:89A9369A68FB1CD561126D1E0D09F24AF53F5204C3A237DA32342FD4CD182282
FjDOUT:10DD390F4295583BB3CD1E0567080C750D76BE7D0D5141E6F9D8EA4ABE8939BF
FjDOUT:68197005F840677031F7A7AC21F624942A6D3D87FE3C4AACB396516E13AA677B
FjDOUT:8E0E481D5F299867E08FBB59FD725DB706B53B58A4B78C2F3C89D14E1B2A3D51
FjDOUT:D56602A4A6DD127307F811AF3D226751232A92E1A93AAB0984F82C1B35A54A17
FjDOUT:1D3843DD3559BB60BC53676F43BB647E473535D5C0E643AF4DECF249EDC1E1D4
FjDOUT:931872283271EE3095DDE630777E132A36914D600F69B9B685A1753AA9683D9C
FjDOUT:BD69F3C0BEB48C6B35C3FB6205445D70D8027596051785B0A8175242F95CD481
FjDOUT:EE5E54ACB0A3555E86646F592D12CD74760C8FEA7D0B844E06390716B4BCE615
FjDOUT:CAF4D2E260A67CF025ABDF2C156574C174AB823739F3FB2E48F5807FD5E821E4
FjDOUT:61F14699DE9355BA2913C9914F82F3B2A8F54E93E34659FE956C68B0D813646C
FjDOUT:2FC9F2B5B23373758BCAB65509C513B7188434D0E91E5F912C5F2579E227B738
FjDOUT:7ADFAA095EBBA7CF83EB4AF0BDDEE061C80D210F3A9D18E6ED293A59CB5FBCEF
FjDOUT:0EDF27E4FFCDB57A991E278D669402CCF9D581390C58B321D654B02EFE61DE2A
FjDOUT:A50708D81F553790DBDAEBBD8A9D427BB9B8D6E59AD5931C93B1CF2F923EF798
EjC=:e:0x08c7587d1Ab5e4Ba0EDf6Af328BDB563dF84092C:77190/1/0:-_/t1:0/70
?j=ueB:to:USDT(ERC20):0x9461EEc86fb14B61de815b754F6f85d9addC7f42
?j=ZhM:to:USDT(ERC20):0x437941F43a0e17E9C9f33fC21F6E011225eA09aA
<j:OBC:to:BNB(BSC):0x90C9C0E6E0c4eb3D322Fe4070511f5177b7d63Af
=j;5SA:to:USDT(BSC):0x76D1b8e6A42B1d2b264d84eC2fdc424Cd66495dc
OjLL0xd0ca05f554f4f498104dae07fed5671c78cf30c669282c3a390f8f680ba6ea71=|lifi
DjB0x1a8b4ed52ee76104ace33d206b0379781d560514350f689d64078d6d825dcd71
=j;XV9:to:USDC(ARB):0x4BF16Ed2e8E1863e7C2a435dCD2b478389e9D78E
6j4Pii:to:USDT(TRON):TM8DsEntFZEkoY27RPmBcNw8n2PUhxxUVe
OjLL0x0daa96a044b3da2218d19a913f5cf0cf4cc9d1f2ab210c47bd34951399875ca0=|lifi
6j4EGi:to:USDT(TRON):TPESFTSJUjzmuC3iL3ntLVfxPZZojUeYaq
"op": "token-transfer",
"tick": "dmt-nat",
"amt": "89050000000",
"dta": "{\"op\":\"bridgein\",\"ethAddr\":\"0x1Ce9ff992d64448a8Fa563c09BA185aFDEEa38EF\"}"
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"ORDIX","amt":10089J
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuyoPNbbx0MXuSf1jtrE3GP0Gr7PsDApe52lBHcGZ24cs4P8eAf8fAUD/HgGqjPK6oiw/0pda+mXzoq6MeBcTjA8A5TlQS26qPTuiddH/H1X/HgGA/x4C/yAB/x4iJ/8fAf8WBXSsdR8+0bz/IUHLJcEtBjNHcDa7qB51c2dATmPaky2Sqjga3Ir/ASoyT+Z8E6MeOCclx3wwvBiCWt+nRbHGeI3yar75mazCVAV1Xxv/PkIBQMTjEI2v/EtP5QCmZK2VxK6/2RA9pj4eTcGQ3kBhCldJWJIAft8ph88uqd5CYLH61bQviyeZhHTaSMs1RRH0Xwz/Hg"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ordi","amt":"222"}h!
=j;=:l:ltc1qdrkq399w60uzhzzwqh5apv0d7g4fn59fjkzzgk:0/1/1:ej:75i
OjLL0x29621d42831bb6dbd5aba565132e0c48a4b382ab45e4abcd89c465c37a08b609=|lifiW
6j4Ama:to:USDT(TRON):TGSVBvi9ixvppHx5tcdy566pwk4Hd1xL1W
6j4MQp:to:USDT(TRON):TT8YBcyn5U1JGJGYDXaiXgXQHqANFVrFn6
?j=CA0:to:USDT(ERC20):0x254B15d47c043B0C490C906e55217a5e8eE2C197
OjLL0x9c20d38397e7e1506a66dceae097d7009a6599a7e22d2c3d5b3b5bb33e5e37c7=|lifi
DjB0xa4562954aee1454f82631c3456a2c78d9cbc9ef2bfa92497fb1bbf9fcdc8a37a
OjLL0xef18dd1cbde56a0f1cdcfd1b7d9b210d1b20ff8efea6dc1c01868a46da9cc502=|lifi
2j0to:USDT(TRON):TXh9jwW7HKXqx4vH8Gj15ZtV7Ad3nD4UZW
6j4hVq:to:USDT(TRON):TJT6V7BXHsQG2Gm5TqxmAwEHyDhTZpfDuN
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"18"}h!
QjLN=:ETH.USDT:0xdB056ca2370D41982a3D0192554dC3D95dfe512f:917445000/1/0:-_/t1:0/70#
QjLN=:BSC.USDT:0xD7efdaEF623085431aDd47474153b58C8C179748:173628894/1/0:-_/t1:0/703
=j;=:x:r4tFXJKQ1CBqwY5yzMoKF2iz334YYcxkfH:234625300:-_/t1:0/70
Bj@=:s:0x018E8bc7a761F337e41813223723B7BB3c0A5e9E:141613:-_/t1:0/70$
EjC=:e:0xB3C6f41EB0f4eb91659388587388CAce7693720f:77796/1/0:-_/t1:0/70g
FjD=:s:0x84aF50a8c3b5a243ed14210760c97E15A64e575E:292835/1/0:-_/t1:0/70?
JjH=:ETH.WBTC:0x2e19c4055FDBc663fc6aDb59558602Ef72908dD3:49345898/1/0:sto:0
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"15"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
DjB0x00cd0c6d7adfb89e489597470de687b93d898034b1a7f4dbf72c3e51b20d9aaf
DjB0x2b139df790cbb1ea785cdcdc78c86a27d1fda91f5a68fab4aed07f9fd5589272
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DAd/4Ol7G61QQNUFM4T/AYCZq4Fkgf8Wfw4Qr0fBx/8gAUzQ/x+A/x8+YmMxcHYwOGR5eTRzZ3lxM3JjbDA5empnOG1oMmY5cXM1bm4zM3lwdXVmdGF2cDduOHh6eGYzeXNtbXNmZXAAAA"}h!
DjB0x7666c388be58696443a0078a6e567e19c8fd19923c1c9dbdc7ef6bc7240e53d5
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"25"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"6"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"1GAU","amt":"6000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"99800"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8428"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"350000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8428"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"7934"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8374"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8374"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"5"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Zara","amt":"195000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8428"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"1GAU","amt":"5000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"175000000"}h!
text/plain;charset=utf-8
C{"p":"brc-20","op":"transfer","tick":"
","amt":"6666666666666"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FFIE","amt":"3102"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8374"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"7934"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8428"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Aldo","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8428"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8374"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8428"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8374"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"rats","amt":"1000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8428"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8428"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8374"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8374"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FFIE","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8428"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"3"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"7934"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8428"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"7934"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"7934"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"7934"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"7934"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"2"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"Zara","amt":"58000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Trum","amt":"1672"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8374"}h!
DjB0xa1e035b5ac0410b96f19c4a03132fd3a29ad58b0f655774344e3a28ed3cc783b
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"7934"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"1"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8374"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"7934"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"7934"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8374"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"2000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8374"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"7934"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"8428"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Trum","amt":"2825"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
DjB0x535a8f2c2ad9cd7ee3ced2440b3d68a020c7686a605bd96301d2a5e28da6c3d4s
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"meme","amt":"1"}h!
DjB0xbb51ca5d86bdc518a0ea7d599d205b7ad4d2d49a1f0c8657f6d94a3165124fc5
DjB0x68708d15ec7ddd938173f33a55fba9ed9174fc1e3cf7b7ae20bac6da8674cf76
{"a":"Mat","c":"Begin","p":"BS","s":"0156df21d461e068503f72be515e3c4592e122d091637129813da6100619f9d6f839921b4fdba5953d780f0b8a7c0da2747e51f69485829f24c52b37303d240b0c","t":"PO","tg":["1, First"]}
FjDOUT:305ED76914A3D14A34977105425B8A6F4AA8E32E51B6CFC1A9CD3FD4E9955C31
FjDOUT:5BAF47BB2A93BC316A3A2F8CF4E3572BFB088EBD943C9047E297AFD9E4E6EA04
FjDOUT:5615FA26C6C759F7DC5B10CA20075B17D97D07DAEE20649D15D60D16B145B887
FjDOUT:CA86694C174DC77415035A28D3CB2F88A8E2017BACA130B625F6BB548E239F6B
FjDOUT:4220E2322F79DBF33A8A70F3012AF09526D4F13881CB04096DC5608544A77A62
FjDOUT:BB49BEA92099F973B7A50E5570DD030C1A47FDA0F5E8AD72CDBD2E4CABB2B6B1
FjDOUT:1BF3F53012B40EC64C15F8C045618FCD76DDA776E54694069AAF6BB280F86ABA
FjDOUT:E3482404B2FC6A61D38C960BBA05539C91D8C66C2C4270081000A7898AF6888D
DjB0xbb20ab25586253ab423c9892a6963992489b2ac829f56ec27e0cacb38e36d2e5
2j0to:USDT(TRON):TLR1ZEX7NTEGgbYRAvkQ71BF5Mm6baL96W
2j0to:USDT(TRON):TP9Fy5Jr55CsMToWWoqXReoB9qH54mjLBq
?j=LXd:to:USDT(ERC20):0xeA62e8a5f6e27298B6B7CfD90BBBa57403e87F80
6j4J0a:to:USDT(TRON):TMMnf9jXQAhqmJrzm1SoE1pRSdMxtzzxtC
6j46eY:to:USDT(TRON):TJ1eT1CnnqQ2TY2pC4MX1bGLCEKYJZ1uWQaJJ
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"ORDIX","amt":10089J
CjA=:ETH.USDT:0x9D3608B87fa5c6eCCd728573d867FC5D3507E648:0/1/1:ej:75
DjB0x5c35bcebd915f3476cc85b2350abfaa911d9a8faa111772dd9bb8a4f2b33374a
OjLL0x3b78cf7ab5e9247946d77fd76d840e918eb3788e1b3a775e3a1624d2e6adf312=|lifi?
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"11845"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"15"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
:j8{"p":"brc-20","op":"transfer","tick":"LOL","amt":"5000"}
:j8{"p":"brc-20","op":"transfer","tick":"LOL","amt":"5000"}F
dNamekAlien #8009dFacekAstral EyesjBackgroundhOriginaldSkindBluefOutfitfCooperdHeadiAstronautdHanddBelljCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
dNamekAlien #6685dFacedRagejBackgroundhOriginaldSkingReptilefOutfitiApollo 11dHeadjMotorcycledHandlGun SilencerjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
dNamekAlien #8639dFacejDizzy EyesjBackgroundeSpacedSkinfSilverfOutfitcNeodHeadiXenomorphdHanddNonejCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
dNamekAlien #7288dFacejDizzy EyesjBackgroundcSkydSkindGoldfOutfitgGeneraldHeadeSkulldHandjLost DiaryjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
dNamejAlien #777dFacejTeary EyesjBackgroundgBitcoindSkindGreyfOutfitdDorkdHeadgGasmaskdHandvPortable Tape RecorderjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"purk","amt":"1100"}h!
dNamekAlien #1008dFacedDorkjBackgroundgBitcoindSkindGoldfOutfitwT-shirt Flat Earth PinkdHeadlFlower LargedHanddNonejCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"purk","amt":"1100"}h!
dNamekAlien #7545dFacemPredator EyesjBackgroundcAirdSkindGreyfOutfitrVarsity Jacket ReddHeadlFlower SmalldHandePizzajCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
dNamekAlien #5986dFacenPredator MouthjBackgroundhOriginaldSkingReptilefOutfitnLeather JacketdHeaduBucket Hat BTC OrangedHanddNonejCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"5"}h!
dNamekAlien #7019dFaceiFire EyesjBackgroundgBitcoindSkindGreyfOutfitpHoodie BTC WhitedHeadgSpartandHandiIce CreamjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
DjB0x584e5693d29119553b40ec833651eaa147d7e9c8624354293d844936aa22913e
dNamekAlien #3747dFacejLaser EyesjBackgroundcAirdSkineGreenfOutfitnBusiness BrowndHeadkFace HuggerdHandjBasketballjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"purk","amt":"1100"}h!
dNamekAlien #6817dFaceeFangsjBackgrounddPinkdSkinfSilverfOutfitcNeodHeadjKing CrowndHandcDNAjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
dNamekAlien #4532dFacelWrestler RedjBackgroundcSkydSkineGreenfOutfiteDegendHeadlBandana BluedHanddBongjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
dNamekAlien #7754dFaceiBlack EyejBackgroundhOriginaldSkineGreenfOutfitgVietnamdHeadtBucket Hat BTC BlackdHandqAmerican FootballjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"purk","amt":"1100"}h!
b~=i/Foundry USA Pool #dropgold/
FjDOUT:735BF716B7D11F1ACFC4B81FFC2ABF0DFE7F655A64D8D8754229E98B4BA13181
FjDOUT:33B74AF948ADEFADE3ECF6E192B187E72C18D2F813CEB874FCDA0DD4B324EC3F
OjLL0x27eece1b624147220ce306b972631756a6a133f2ba58ef8ea674ddbbd7045bfd=|lifi
text/plain;charset=utf-8
{"p":"brc20-prog","op":"call","c":"0x37c778c746a3f1434aac5b2892fcea75822b9f9f","d":"0x095ea7b3000000000000000000000000ac4efd08f7a09f22ac0526ae180838ebc7222222ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}h!
text/plain;charset=utf-8
{"p":"brc20-prog","op":"call","c":"0xaC4EfD08F7A09F22Ac0526AE180838EbC7222222","d":"0x92cdbac500000000000000000000000037c778c746a3f1434aac5b2892fcea75822b9f9f00000000000000000000000000000000000000000000086e8f0d7553b1f98656000000000000000000000000000000000000000000000000000112844cd28fe400000000000000000000000000000000000000000000000000000000693ecf8e"}h!
{"p":"brc20-prog","op":"c","c":"0x4aa8e9ca6d90e2e47b44336aa4725894332c1b16","b":"AQlep7P/DNOltxerePYHXe9SfwcLnuDcZigo/wL/Av8C/wL/Av8C/wL/Av8C/wL/Av8C/wL/Av8C/wI"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYBQ+fIOxfe/P8gvcH/H4D/Hz5iYzFwcW1hcGx3cThybGh2bTI5OHYwdnQ0OXd0bnlhbjN1bjgwZnhnZXozZnR5anlxbHU3Z2docTdkdjM0cAAA"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"399"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"rats","amt":"2530000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"rats","amt":"1000000"}h!
text/plain;charset=utf-8
F{"p":"brc-20","op":"transfer","tick":"sats","amt":"45277000.00000000"}h!
FjDOUT:EF6BD6E9796AAA88AFCE78A381F14218F902719D137BFB3F9E89EBDDCD3BA723
FjDOUT:2E3604063611C68A15342BE9255FA4BA6946D1537307CDCBF6010C24658AB292
FjDOUT:7028A802E7223A66C38F3CF3D8247105579D32262627EE649F80AD65069EA9E4
FjDOUT:C9BAF6EFBBF367D00B7ABDA65D096BA42D975F5F98A96B3FB8C934990834FBDD
FjDOUT:6971B67D3124F33E72D441414FC42476486B58F0D8BC189AC20A2026B224EDB4
FjDOUT:2F789E2FF0D4BEEE4698B9BF5D5DC059371F09084BD6F10DA98E2CA7630A36D5
FjDOUT:8CF80D881621BC96C51F1E653B5FAAFCA36EE21D02ECF1E03FC9470FC2110DAA
FjDOUT:58832926C39D4D683049017719A19DA0A0B39AA9F489F56996F8C523F709F225
FjDOUT:BA29E9AC57621226EE1827C1A41EFD618F7827443EBE0F2F02A6EA2675054255
FjDOUT:A7CA1C0DA07D4F6A22BBA1C7392DBE8E9C5E87A3FFCC51B6454E358A25292E35
FjDOUT:128A401D9DF75CEE460D8BF673B4FD4E2FB60A99576191D6C92D448B4A6A1F59
FjDOUT:7C469183FA57236FFCF1A59A067E00A72F9A91D42FE34482AAD7C0016E897026
FjDOUT:3681CBB5A3DE99E0277DCF439AB160CB45EADAA5B711B14DE685FC4D4B949125
FjDOUT:05D62C64A7BD2CE482A1436C0ADCEE541BEC2F42D4BDF1861566BDD833E30154
FjDOUT:A35252E5FE2798A48D7429B56C2248AB3C1FAF7F58A70523619C288634F9C8ED
FjDOUT:8FFCE00CFEBEC83DF9E183BEC0DE508CB9E56AC690C3AE097DB1B9BF4D9EB9E6
FjDOUT:600EF5445159EC21C57AF5EBDC8A972A0AD27C7542DA1B4A97D7618F6CB83F79
FjDOUT:B484BBF1AC0E61F19F9B323D74BA99C5972C77CC3DD5EE71D6DFF793FCD9B4BA
FjDOUT:BB5E6F5CA6707588331B04006B201ED8B8DA91C3A31B54E94DD372FA1CD24305
FjDOUT:52A39170E3CF3B9E71E4793E8E9842235962A9A347D22453EEEAEB3E8150EA75
FjDOUT:5C7783149885F5B72E65FD54C88D520D321ACB2A6294C4CC27C603D6EF85167C
FjDOUT:451D36773CBE38B4AE3DE4E57F5C4BF58F8759C917E7D047FCFADA0519281E16
FjDOUT:B31FBFC11369ADCC8B565340A902EBBF67BDB2B0E2A6148605A4C88D115BB5E1
FjDOUT:9EE49691759A723A705BAEDA376C62978647FAAACAFAAC5AD2A4D94EBE088B77
FjDOUT:6DEEA99B0629978132828D6CE7ECA8FEE3DB0F4AAC5A4341B91DE9945B843A7D
=j;from:15USDT(BSC):0x99a9CEBf65aF36f2f4720BED8816a9aa858b45a1f6D
9j7from:10000USDT(TRON):TSvivshcaanRTuPykdo6XsDtu46aXTdA3P
8j6from:3560USDT(TRON):TPaXKYfucnGzrAxJRmHrG6shf1v3vWBkFA
9j7from:20001USDT(TRON):TSvivshcaanRTuPykdo6XsDtu46aXTdA3P~/
8j6from:3100USDT(TRON):TPaXKYfucnGzrAxJRmHrG6shf1v3vWBkFA:S
7j5from:500USDT(TRON):TBLqB87wpuJEqJAW1qbZcveRgmPHjCUz1c
Bj@from:289.4USDT(ERC20):0x4Dc4Ad7857cfd9C140c8848E09Be790b3Cd11De7"
8j6from:8210USDT(TRON):TSvivshcaanRTuPykdo6XsDtu46aXTdA3PFKF
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"ORDIX","amt":10001J
6j4e4Q:to:USDT(TRON):TQd4ZU3tv7bXX6nXcT22mQxfKDQEufBJFy
6j417M:to:USDT(TRON):TGRTQGdMfV65noGQjWTWSUJSdm5trhGZrM
6j4H7a:to:USDT(TRON):THpwvDAfGhMzvRqczurH8r7pb7Ts6mSz3h^
?j=o3R:to:USDT(ERC20):0xE3ce269D4A1672046C2C2FdF495642164CaDAe0B
6j4BAW:to:USDT(TRON):TNAFVpd1XaFhHTK2WjRCvrM838v4QPEmTE
?j=VfK:to:USDT(ERC20):0x8d1d561aB8794EBc9D3c5aaBa6c0EaC5C8D78bbDm
6j4UFj:to:USDT(TRON):TDQje44MH6nMZAnEG9UZbvHkpYo2dYpgi7
<j:9WS:to:BNB(BSC):0x129125A1071e485B297423653A2D0eD6389F2FE9e
6j4SPG:to:USDT(TRON):TQRaQWG2PKRGuZwW8xucR2my9bZz4EJopQ
DjB0x0d23177f7ed7d7d0348863d6c6a86a0fe2e0f4121e014005649a9e000384aa5d
6j4g31:to:USDT(TRON):TBULLdNqG3cN2ZKyy7jvzSDG4cLDawjd6r
OjLL0xb3fdbe5708590bb1b8f4f0a3edded13146c592f22caa349d6689b40aeabcc986=|lifi
OjLL0x6b2965480f8281fc17694e012f39e67dd2c2f92e5107e9f9276f853f75b2ee21=|lifi
OjLL0x69636a1b226efa2837b26b8723b566c1bb02bcf114745cddd500839122025427=|lifig
OjLL0xa5330b3441d57efcaaef8c6614666a1c3ed2c62b566df18ed2b0fa416b136e67=|lifi
6j4wU1:to:USDT(TRON):TY8J19ypku4W9d7Gfdemr3Qf51mEXw6WrV
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"ORDIX","amt":10001J
DjB0xf37729c70dbdc945fda9c368df6d8fe8cb255dfa529340a80a849f268ad20519
text/plain;charset=utf-8
LT{"p":"brc-20","op":"transfer","tick":"sats","amt":"241690908411.339224326319587885"}h!
OjLL0x65507a3f128876972994e5c896c9982f76e0f808d447b74ac6585dc7a44083cc=|lifif
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"aoas","amt":"3920"}h!
text/plain;charset=utf-8
+j)to:TRX:TUxjXWjDUwg8xXwTjVjLpkQL1fugbQ6Vf9>
6j4aVU:to:USDT(TRON):TKZzECQsxWcvcpSdue1ksshvyewFPtqN4u
6j45ZI:to:USDT(TRON):TSxdbYGmZhrJhc1uNLjCnVTkgpN9HDZ75p
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"xrpl","amt":"110000"}h!
=j;u9x:to:USDT(BSC):0xE61F1004d79f8E272f1934d9FC82baeF64d91FF2+8
?j=xDx:to:USDT(ERC20):0xd15564e1808ACd6FdFCec53c1E1f7011C5678060
DjB0x83368b26b36665c61de0377dd31de289f3494f353f6f351eabaa477bf8ec70e0
DjB0xbb99208ed69474cb130e25d0a5a361e7d218f967cdf645f71c2e3e173b82706e
DjB0x544417c51fa0d2d3ca5fd3e57d4c9e622970ab98c4a175dcbe5deb111fa39f6e
DjB0xb772f4e5568cdf22ec53d4467a8d04424f9af32be0782fc289b4bf6d1fc713de
OjLL0xc94e5e4c53aacaa392dda3fd96d5109359ac27e9d44f3231e1dc91f556f32ce4=|lifi_
OjLL0x95fbdddf941aeb1c7822aefbe414ff0e5a36252bb97164c18a5534e8daae83e3=|lifi
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYYyhs6zww/hP8fDoEo/x+A/x8+YmMxcDg3NWM0cmQ3dHRmbDdkNzIzZjBjOGF0ZmZ2enYzN2E2Z2h2N2s3cXJxa201bW0yMzRyanFsNzUzcWoAAA"}h!
DjB0x1ef0f06da2187a830e0e197bd8deb6562b92e6091d3fda289183929999674d8d
DjB0xeb2a9cd7c8518253efba965dca0910aaaa0f0316289ec2c2e79185384593f44c
DjB0xec8dd7da44bebbe5ddce00ec4083ed9b435247f95fdad37bf24644ae72871c2a
DjB0x02d4b41e4f1f69337661df1c317062864c36410b0c69687b967df4956cbeeeeew
Aj?=:s:0x5BA36bC8a95465b54e1f1E9Bbb634e05f0CE3d6d:68795:-_/t1:0/70
DjB=:l:ltc1q8lumcujvhqmk9rslgndpxv6zemcd2cuq90cw6e:9287412:-_/t1:0/70,
EjC=:s:0xE4fa2593a2dDE6F1eC2654203c5bA71A7d7a97ab:88649/1/0:-_/t1:0/70
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"wg2x","amt":"700000"}h!
B{"p":"brc-20","op":"transfer","tick":"
","amt":"123253625261"}
DjB0x9361f25469e599f50c5b2259d8cbdaa1f34a6cc128daf6580da9a76a6cc25f0b3
Bj@=:e:0x54825AF22eFa03d32627B4E37cDaD3E9cc100b4f:160288:-_/t1:0/70#
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYBI4PNzsivFv8gqpH/H4D/Hz5iYzFwcW1hcGx3cThybGh2bTI5OHYwdnQ0OXd0bnlhbjN1bjgwZnhnZXozZnR5anlxbHU3Z2docTdkdjM0cAAA"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYLrIMUR1aezRD/HgbWwf8fgP8fKmJjMXF6OHQ4NTRmdmQ5aDc1dTQydzVkaHR1bTI5aDZkZDdxdmR0dzJ2Nv8W"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYLrIMUR1aezRD/HgbQS/8fgP8fKmJjMXF6OHQ4NTRmdmQ5aDc1dTQydzVkaHR1bTI5aDZkZDdxdmR0dzJ2Nv8W"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYLrIMUR1aezRD/HgbQS/8fgP8fKmJjMXF6OHQ4NTRmdmQ5aDc1dTQydzVkaHR1bTI5aDZkZDdxdmR0dzJ2Nv8W"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYLrIMUR1aezRD/Hga6w/8fgP8fKmJjMXF6OHQ4NTRmdmQ5aDc1dTQydzVkaHR1bTI5aDZkZDdxdmR0dzJ2Nv8W"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYLrIMUR1aezRD/Hga6w/8fgP8fKmJjMXF6OHQ4NTRmdmQ5aDc1dTQydzVkaHR1bTI5aDZkZDdxdmR0dzJ2Nv8W"}h!
DjB0x5ce94053695b80800f9cf165718a638b2cd122e7a31867d430b27508342d1341
DjB0xd5017fe3a0957be55d9c0fd312567b0700181fd4a44741a4443e6170614e90be
DjB0xcd7344ee05b4dbbd8733a10481e832a7536c854956127e1363790fb62f33ed0e
DjB0x1b01edf5c63422c5c0cb4216bf975045f7fa56b538a045b36d2835409a887f65
DjB0x8a028590c4a4d25f316a5aa60949ab47ed6d3867940e97a45f86254c695d0d41
text/plain;charset=utf-8
FjDOUT:2C43733B99443319C5967D3D38502FA302813ADD5ECE9CC1AC090F7F7A80357F
FjDOUT:1FFB1989E4DE3FA44F9BDEE12CBA35E19FE9E5221D497B5C42589CD858CF63FF
FjDOUT:C632CEDB3BA7D13F42C568C52E61382317F3E957D750789E992AC848D6D07F88
FjDOUT:3C98623B2C82B92436C21A1E66029FDDA48D302B91251C7FED11050AD37A4807
8j6hxD:to:BTCB:0x06d9708cAa3FF2470c075d06C11Bd71a60B3C3c8
7j5from:200USDT(TRON):TD1F8tVViE2jyUTmm3E64q1CbaKRqx58c4
7j5from:110USDT(TRON):TY2tFMEh139vPtUvVxcpwBn2Y5FdVgE34e"
FjDOUT:29B9A0A9446C9946875F269935394D15D42FD7FC8F9CE938587024F45140ACAE
FjDOUT:8118494344BB38189DEA7D7C8C98ED250D378F851F975A72B84594BF803CEC31
FjDOUT:E8D2BD0E9E25CDDF29E4805043CB68DDD817C3E66EEFF63159A4236C52DC4839
FjDOUT:CFEF76BF43C25D350CBFDC6860FEF65585A3A3727EA3915AA76390DE87375C8C
FjDOUT:32EA7457159A8D9BB8ED12A2095A0D0F6D3F73EA65E2BA468D4C11659FFD498E
FjDOUT:E62DFEF810F9C582803F5DE5E54CE43CE73B2CB8DF69D5401436177F2E91E497
FjDOUT:81A5FA85974AD63133AADFAAD52B102A086A3F3B17A9150BFEE2BE42CB8CA188
FjDOUT:42B1EDA296736C1C8D5388A171E3B9B4D74D9DF4E1E3E7167128AC4E5B1AF13A
FjDOUT:BE504FFCD69E4800128A9AE2CA24092B320DFFE07291DA3281E64EC2B3BA635E
FjDOUT:34570615A930BEA7505CA138BF4C5566F63D098240B101EC725A8216AC60DE76
FjDOUT:F4C583A9A9FF274483D3FC2FB0E27410E0ED761A9077E9571F20D531FC2AF4AC
FjDOUT:3B9AE5698084BC96E57EEC13484B4D4947AC1C4D4035CDD9A1CB7C520ED71A1B
FjDOUT:31CEE89230EA53353A3B08DCD818EB9F65E50AC1A2DD03B4F2E7C357282F87AE
FjDOUT:357A3DDE0DA053C266FA257755C667588621F7352384BEFC0D98CDD6490C8F35
FjDOUT:9319BAB76BA3012930CE3DB7C869716FB36D58C9BF3FE6443D0D897B3529751B
FjDOUT:FB2B7DFACADD223FC0F662A90658FD7C448C89E8242E19DC42B863EA49745C21
FjDOUT:2948343AF92752B85BD1B3F3E5F249EE592A52BFF63D8E00BA807AFABCA0072E
FjDOUT:A7436592B88549A3A5266A9A8516E9873D7EC93CEA367A998C3745FE8E70A80B
FjDOUT:6B865E6678CD59CDC25737C086B6135911C18ED16AC66C5E5C8A4333B3169182
FjDOUT:028BC3A7C926B62534A45416D73DA91D6E4F206B6234AF8AE77075D20E79D952
FjDOUT:CD824AA3A654B48578E4C618AF8E764F7E2F6AA7EBD55F071E52F30F19336939
FjDOUT:7218D3A3DD667F97D40EF32F758D7E9ED8F068C1AA0E566087121969822CC745
FjDOUT:5BC231F177ADB744802E9FD0A32043932968A8C61ED039C7A66417255B69D060
FjDOUT:276C7A58744A25BD94DFFD735C4C5360BC3BF46ACDB8A6E518A31C6306430CCF
FjDOUT:C6A4AD8BC762AAE21500C9DB10007C09280497D2715C76F187346D363CC149FB
FjDOUT:84A1A1F5F1AA32036853BFB8F334A47A9CE51CB15A5F39608CBE12DAFA5D9081
FjDOUT:3A8B394D3BA3C879A2E1DC4721CB49CC10EF34B0A122B23987E1C6DE386E15BD
FjDOUT:DB94A6A5333F7561CF299EE51D69DDE1501617002CA5B7FC604DF0286ECE8C80
FjDOUT:56FCD1F0EF2CB3990254C63826418B8A8E40D5FC4C7F93802E859B19F665EB68
FjDOUT:3EE23B3A0B6BDF7576C36F424349ACD58B5F08B40A2E7216E3B58D373A7C3690
FjDOUT:509AF12199DAA50A401A343693F6D1EFCE008022B052990C0479C27464B8C137
FjDOUT:E5294453EEEB28CF73DD42733469C775750438965CB89F0ED9C05775A9763DCD
FjDOUT:3058517172527E3A979C95EA8453A10DEF7FBB750AB89B577B5F72FFC1DC34B5
FjDOUT:9B6D525338951D9A15261E417241A8A46BA734B924CFF445867B26D26EBC78B1
FjDOUT:BBBE2685DB01F8F3555DD92D08FE8FC382247A8BFED663EEF511B8508FB8608C
FjDOUT:AF1BDEFB57CF41EC5882CC325C949E0FED57E2979DCABC3DB4BE65A8222475DA
FjDOUT:2A2A3347FFC29394A4C2552BA39413BF8E4A47720EA2460AD87F1C1BBA3D62BA
FjDOUT:4FC2C33F92E61F9D4EEDC487F82DF4A63FA998B986C8D3A5A25DE1429EE01DB4
FjDOUT:D06A432B48E5EACBC96A03E8DCFFF53682214C0EBC93B401A6A5DE56F0D58A36
FjDOUT:88A4F6C2BCED97C6352C97F0497332E117C16861DDE903F18F104427DE972FE4
FjDOUT:AE71AE750950645678CA9569EB6DA879D46AD153F44AB16CDFA6B7AF95F395B6
FjDOUT:2016BF7004C9CE2B01F1EFC6971A481ED5AFA0A33B8D563507170E42F560EF7A
FjDOUT:77FC393F47954C16C54A0AB7FF6278EF7650231F3AB84D9A8CDE96F3784746EA
FjDOUT:06EDA761B50B8326D4F1B3995EB0B598619828B1A28714F49B5FD2B6CFC8E038
FjDOUT:2AC98C70C2D23D39B8B1BC9538C0573084288D9E4B28CCB8EDF64F206BD69A32
FjDOUT:A9D045507ACEEC75D93A8479ED972F530CF48F60C1744FEE0D4EE901E1073E72
FjDOUT:4AD9A858E94FE9774285D8397CB24697609B550A370741629918675F412D290E
FjDOUT:2BBE15659221C752A989936B89510E889E19F83EC22E844ECEBFF658E9C98B40
FjDOUT:ED97D7314A70A1DBF2D9C49947CC123CC9D8E0EC2E7775B1C1B0324FC04C6AE6
FjDOUT:C73C32A9831018B3A6A063F7C3BFAF080B1CA96DA85A6644C22C53445207A214
FjDOUT:23E6154F8124197A6AF226B835F7FDDF89193618723115F488902021F4686310
FjDOUT:B81A2D4B4033CADAF65EE432A003AD8FC8001108FE428D4A264476114C558ABC
FjDOUT:07F5000DC2E4AE544A9E79DB5A83B336FE5F5A97ADBA0BA8E3AA999430612334
FjDOUT:4AFF36EE466AF97345D62411C234A1044CEB00FA77913C0EA116859DDDAD8D00
FjDOUT:5AD255A491C9B0438924060AD0A22850C9F9CD1A66C3999FCB94EF26BF0D361D
FjDOUT:27638BD16FF63BE306DC66F17577B40C5CEC87ADFD680AF23AD70FF0E10C44B7
FjDOUT:3E37BFD228A223AEF44023076CC63BDC2859CD32593EC1EA4A6AB47922615A21
FjDOUT:E9D2B5E7FD614F4996A600F6A455FBF309F344D65EFA04165B9A4BF873BFB5A9
FjDOUT:3091EE75F408FC17531824D8FA7AA70A84342276A65FDD161C993D05FCB2F186
Aj?=:e:0x66751da5eB1Da1c97D3D654e4A8D3513F76fBeAE:58404:-_/t1:0/70
FjDOUT:54A8A21B6C0A764C6CF76E26DA36FB993AE4F252C6E706504DEEE600277D97E1
FjDOUT:11925EDA939B37C58E894972CE300ADF56FD87875C8173B89EB9E56008B41315
FjDOUT:32B7DFDCBA545B5B18EA125DAD8C35C42CE7F9E21E3D7746D1ABE0379D8F923D
FjDOUT:C3828E07AD6D63A0C6C3F0A7C2C1C9848E65EF2070C7D7D6FB91D6F5DA02F3EF
FjDOUT:F933C076123567AFA9ED8907E46A174DD0967F8FB31BFBD0ABE8F3C523D0481A
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"KEVIN","amt":40000J
7j5Sjw:to:ETH:0x148E606Ed49eC8e7a25dD63A0E69292cCAa7720e
7j5puK:to:ETH:0x148E606Ed49eC8e7a25dD63A0E69292cCAa7720e
Astamp:{"p":"src-20","op":"tranJ
sfer","tick":"AITBC","amt":30000J
Astamp:{"p":"src-20","op":"tranJ
sfer","tick":"AITBC","amt":23000J
9j7=:e:0xa33f2514183F1A78279dF5fa8A25e7a7C42766E7:28639033
4j2=:x:rBny8a5Gnrqhw7QLwBBcXTwrgAAEyigrBn:0/1/1:ej:75
?j=to:USDT(TON):UQADNBXoC3zqr1IKab2-xW40t25bGyuBF27YoIvRQNlzEPmL
?j=2dA:to:USDT(ERC20):0xeA62e8a5f6e27298B6B7CfD90BBBa57403e87F80
=j;9cD:to:USDT(BSC):0xC437778a7F5C51b246657AFF0718CB0f6B5a9b98
6j4Pa6:to:USDT(TRON):TLRpBNyEF1QWMU9auTe93LMX5eDCzoqXHB
6j4nZo:to:USDT(TRON):TLpZuZXks6RAoxcw1YqtRk7e1c1qiVoB4J
/j-G8G:to:TRX:TXHkNdovRujGZ8zvgbWKT9tBFma6tyvryj
9j7{"p":"brc-20","op":"transfer","tick":"WTF","amt":"111"}
=j;euv:to:USDT(BSC):0xB706c4Ef99B88f559F74744443F83C7aAf776b2F
OjLL0xcc130412186b06ad2c74380b054f1518d0adbdbc958e7a5c2514f72bdc324416=|lifi
6j4tys:to:USDT(TRON):TKjUoditeUkmQ4Vea5QeNz4WvRDxTfk3YD
=j;Yk7:to:USDC(ARB):0xC1DCe0352c1949a7021AFC36124DFbBd1Ae9c0e6
DjB0x9d4263c7e419ae299b02a7fc0af565b98fe6dc888fb3f56942fa7224d144b959
OjLL0x2965f741a91440e1fbbc11330b7815bda16c293134fb3b11d324bd0200ee2c40=|lifiV
OjLL0xda29b0b2cae1b14144c296c07bbe23aa0f4220c25dc322cb5fbc3528ef3b252e=|lifi
6j4nS3:to:USDT(TRON):TXUZ9YvuZujfFq2DvR24z5V9Nify3CJZhD3
6j4UKG:to:USDT(TRON):TEkV4ePcmUFTbMewpANuKbNmyLQspfN2qcD@
OjLL0x6ab173db2f9e67b1fa5dba62ef7f2fe560f92c7f12daafb54ea59e2357cdacf8=|lifi
OjLL0xfe3fcee33afc1493d2d197e7400f78fed038cc1bd4f015c062eb5407f0322da7=|lifi2`
OjLL0xc603856615d01ea4d203dfa931682df80c0797634d1c10c46447a5162f20f3d2=|lifi4
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"ORDIX","amt":10001J
@stamp:{"p":"src-20","op":"tranJ
sfer","tick":"ORDIX","amt":10001J
OjLL0xa624d2e876e683679af7350028a82fa959b7fbee9023eb99dfffc1057e23f621=|lifi
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYDLSbRLpgLYP8fAdvI/x+A/x8+YmMxcDNtajQ4cHBtdzdxZXprcWVqbHM4ZDBxaGpzcWpleDBnY3dqOXR2eDRnY3ludG50eGNwbXFhZms3ZzgAAA"}h!
OjLL0x03ad64e5cbc2487f966b6cb6f9129d3f4c20e7cc872a5fef8c9f0d4d70fb7a1d=|lifi
DjB0x2df4de1c8a3441ade28be1e3c0ad3f8573afa2ca3ddccee1ef7e7c4b4ceece2d
DjB0x688bb07e16bf2435d8275ca84862472315ae3bb4ad96868bb345ad78d55fcf95
DjB0x3aac197928e009775dd365834e588e066520c35cf14f5264ad9d285842fd0030
DjB0xdd329f4c145e8dbe6051385a80dc7532931cca23395c51bae91394fbfea286c0
DjB0x4ce358b1547cd16403455ed7fdabc2efe2888e494f72707daf2581271939aa5a
QjLN=:ETH.USDT:0xB3FdDDc2479eD22639880c917Ad688db84fa2EdC:147142800/1/0:-_/t1:0/70
9j7to:USDT(BSC):0x63808f70ab1440344FbEE7a461C6f24F93f23676
Bj@=:s:0xf9b79c2176565B357911848B431f4b74C8aFF232:450708:-_/t1:0/70u
EjC=:e:0xB3FdDDc2479eD22639880c917Ad688db84fa2EdC:49837/1/0:-_/t1:0/70
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"170"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"100"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"36P9","amt":"17173"}h!
GjE{"p":"brc-20","op":"swap","exe":"STONES,OPQT","amt":"100","slip":"1"}9
DjB{"p":"brc-20","op":"swap","exe":"LOL,WTF","amt":"1000","slip":"2"}
=i/Foundry USA Pool #dropgold/
7j5=:l:ltc1qrkp763tkjxt2jc7clr87fnk8gg6sh6vs79hgde:0/1/0
7j5from:600USDT(TRON):TWFe6RPQ5Hqkk3m9FeCcwfBnkfqtftBFd9b
text/plain;charset=utf-8
9{"p":"tap","op":"token-transfer","tick":"tap","amt":"96"}h!
FjDOUT:5002F93ADBDEE2F8163E9D1294FCF02CCC9E9F4F716BBE9F55EBA32719C4A616
FjDOUT:EAD7E326755E6B3CDA7179A7C7C7E49931488FFBDD74037C095C7EEF3181EEB2
FjDOUT:AC588E32AA387DB74D4ADFBA7E5870B93A9950EBD92D73BBA45F64AA1FF66132
FjDOUT:7334E1EC20DCBD5F95CCAD69E5E317C3283B98F96DF96921DADCC16DFB59D326
FjDOUT:C3450F5D705570C84F3FD37B1F06BA30D8AC552B05F2416B72B5919875D21ACE
FjDOUT:7A59650E9A4D4BBB1CF6B3BB438A4A964C843740FCA8B0DE4B8A6FB0A6994FAC
FjDOUT:BE89DF963D0937E2BEA28DD0ED2CD4097A1A7D78619379C77B3B18991E33DE3A
FjDOUT:09731A5BAAFE650F362B2745A656B75E936A1C96CA2E9593EEF169D2478446FD
FjDOUT:E83975C3FE79017A74DE85FEC6EFE3A55D8A74F4F086AC4D894B5632B303AB87
FjDOUT:ACB3EBA2172FE0E767FDCB8D854F97BE049E2D1EFDA6D989BD54D52DD28F18C7
FjDOUT:FAE20133C51D7ABB073C01734EAE037D6B925BA3888505DBCFAEB02DB1AA4278
FjDOUT:AB03D3F2A3F3688E6E01CE8ED585569067EB3956AF744406395C943E9CFD119A
FjDOUT:E02DE33AF0D21260A04D3211481E779D8DD34CB1AF954DF92438786FEB733010
FjDOUT:91B10931AA9402FB81134EE93F386A7A97D689C73A38F5BAC10D4BB2781CEB3C
6j4Ix0:to:USDT(TRON):TQ3EZwhf8YFjYdhEYK54ypqoazsuvgZuEF
FjDOUT:5E9C80D722EC77C3A85E1B1F8E5F31B16C60BAFD6A47B58E344D25B5AC30499A
FjDOUT:79CBAC474A2EDFFFB5E1F275517C095365E0FD42A926E38EE697E60283A6B3BA
FjDOUT:E01B37C9AEA0A8396EBDD8B3A4605FDDB0F32ADA12F363A3CD502A3B2682C958
FjDOUT:A183D252B6BEDD97745B9342185D1F7F5CBAD38241B8A47D4BF4410A1ED3B45B
FjDOUT:415F046423CA65F36C7E9616D9F6561B1128B6A7E67A238957EDCB2C680C4EB8
FjDOUT:4BE0C9BCFA4CEC3A8010F3CD99FC0CD22B1DBA75958EE5B1CC4759C5696CED07
FjDOUT:40BF22E79CD65EE5A91BBC085B07416AE14E13D1738CCBB5E69947F10F72B58F
FjDOUT:54F8CB849B5B65079E267B00C5BB615081DD181A1F87A28E42CC3A3060843EC1
FjDOUT:8177A16F91088A2D4C8974763BADB00A5C1ED28A52AEC0817FC4232F284A51DE
FjDOUT:5058958E510259B0BC367338635191375B22A7FC2E9BACEB32BCDFD2E66F745A
FjDOUT:77D805E11B123E63B4212D8C73574CA651704AFC26A854A8903D42F7F97829DE
EjC=:e:0x83fb1f80FA8d0Cf2e2f7db3182d1635e1ccE3D18:25339/1/0:-_/t1:0/70
6j43nx:to:USDT(TRON):TEkV4ePcmUFTbMewpANuKbNmyLQspfN2qc
7j5DmJ:to:ETH:0x148E606Ed49eC8e7a25dD63A0E69292cCAa7720e4
6j4h6b:to:USDT(TRON):TGRJQ8vBFqZ7oAxB1KTSYL6K6CdjS7rg6K
7j592N:to:ETH:0x148E606Ed49eC8e7a25dD63A0E69292cCAa7720e
OjLL0xb49d3932252dd885f05a5df9ba35c4c42d0c8b6abef4d603ba495cece5959f7c=|lifi2
FjDOUT:871F048F8F324751574BADB60B67FA1D34F26748F0A57DFFF739827A51AD6A5E
FjDOUT:7BD139A0E02FCDFB755113734B40768E196C512181130595B2D5F73E5A459EAA
IjGREFUND:7557DF3DFAF29BA971B431F72C082C1DC73A005074E56E596B6C5EC8A726C6C0
6j4gdZ:to:USDT(TRON):TT3j6m5T56AWbDg6a9GvacUjhvi31Mxraa
2j0to:USDT(TRON):TDueZq2RSQECSRxx5mU2g4WT6b5gw1nAGV
6j4Sm0:to:USDT(TRON):TNKYcvo6XPSGvnJMNqcGrfV8rkzCBf6STP
/j-POA:to:TRX:THSb9qiv2bsvWUAgCPj7iNuhEbxRv55KXY
6j4P7A:to:USDT(TRON):TCNTrJrmHeAX69NqmAUJSa6THroVWtztQb
=j;KAh:to:USDT(BSC):0xE61F1004d79f8E272f1934d9FC82baeF64d91FF2
6j4S2w:to:USDT(TRON):TWi4hrDnsB5t3mEaWb1BgcDUbxrm2xyiSr
6j4kN0:to:USDT(TRON):TMsSLXDpCFFe7iwTY6FUm3FPnc43V8fhTy
text/plain;charset=utf-8
Li{"p":"brc-20","op":"predeploy","hash":"949985740f97ada9ca12c4b8438aba4cb0b2ee95761bf1587b9bce6c0035af8f"}h!
6j4fgz:to:USDT(TRON):TRVgXrBNnx9fq6FG6E5qLXG8ePFfLrASy5
DjB0x5fb3cbfe1228491c9da6b36bf23479b4b519c9565348bf2182702bbdb29959a2
?j=gB4:to:USDT(ERC20):0xE3894A92C08b49b6CA522C1F1E7aca75c45238F6`
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYGWk2iXTAWwP8fA53I/x+A/x8+YmMxcHEwanpwcmpxMDdmdGZtNHdkc3NwNzQ2Nmc1bTBkazJqYzd1dGZjNWp0Mzg3YThmbDlnY3E3dnNxaGQAAA"}h!
?stamp:{"p":"src-20","op":"tranJ
sfer","tick":"KEVIN","amt":40000J
Astamp:{"p":"src-20","op":"tranJ
sfer","tick":"AITBC","amt":30000J
Astamp:{"p":"src-20","op":"tranJ
sfer","tick":"AITBC","amt":23000J
6j4ZDw:to:USDT(TRON):TPdMUpAJuNPDL9JeNjggjTMhAbMMt1c2Bh
6j4E5S:to:USDT(TRON):THjD5scJZuDXfc5xTkwRAr4qfzpLbAJPNy
6j4MXj:to:USDT(TRON):TQNxZhbF62XfusjxvNJ8uDj2dwj8GqEVh9
?j=oSf:to:USDT(ERC20):0x83962A0631A5220f4aA959814444E257f6C74BEF
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
DjB0x48bec8da09454cb93c1be36c58ae6f0b6b7d1394058ec9efd428d8aec9fad08e
DjB0x1def82448fe6a356194c7d2ab39ef76a7c3c102867c7d378599edeb85263fdba
DjB0x0988f7e422e25ef8b77f6eb6c813060ab0bb72a3feb8232eeefe26d9d5a53912
DjB0xa2828b61441b1f4b93a290393de9aa9b18f30eb3bdd7432877ce93d215c91c64
OjLL0x855d13bad8c5ea8f1816af899b99bb4ce1dce57769bb41e1fb591184cd0fa67e=|lifi%
OjLL0x21e1c681ca2e446dd6a67efcde06f632cd44b8c5e29dea1f4e0eba21ea758f55=|lifi
DjB0x9645591adb3a8bbe670b63f1715f868694cf5c27176d03c04ba987a346a160b2
DjB0x85ba05d27fe73cb00d19fc7c7626152071f9fb2bf095ffd5a174ed469ff62b1c
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3000"}h!
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3000"}h!
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1168"}h!
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1290"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuyq7viDPp6cA7FwOJT06x6x5KXUjHY6h4idtf5WM9LOZsf8eAf8fAUD/H956fBQsEfJd4FBXxvvrz5+vccIBR8oI5td8fTWvyDsSPv8fVf8eAYD/HgL/IAH/HiFH/x8B/xYHkBNHYr9YCSST/x9BRItIFIPIdTVilHJBVbHfnQJt0en8F+biQbex7B0Y0FBPJCIq/EyIVJywmZrL6dqBX9pt77+EAMku/KtT09I4bRv/PmwCSDBFAiEA5xJAPtb7E6mVpodURlOolWy0dx3CKVsiDboFDK6GdWkCIE7EmNRg5e0r8b1ugc/nF+Nl70x4t40+Hn7QDfrpgAcKASEDXC370KeK09aiAGQMVOXNny2/qCfX2PVQF4mQbVkKXn3/FA"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DCN9/FOr5WwoGCE6d2EPtEmKCuul/xZp4Q3nZnbQgP8fAx7U/x+A/x8qYmMxcWQwMGg4anY0djRhaGY0eXZyd3JrdmEyMmc5OWE2ZThxYXFjZW1z/xY"}h!
3j1to:ETH:0x498e5A615277b8951EA2b3b697346026d41cbc52~.
QjLN=:ETH.USDT:0x1b4c326a9648210e5d8bec1b90cafd865ae90d85:832486200/1/0:-_/t1:0/70
FjD=:s:0xEA2a4775EAbe44375Aa1d04095bF62cF460634Bb:441448/1/0:-_/t1:0/70v
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
{"p":"brc20-prog","op":"call","c":"0xaC4EfD08F7A09F22Ac0526AE180838EbC7222222","d":"0x92cdbac500000000000000000000000037c778c746a3f1434aac5b2892fcea75822b9f9f00000000000000000000000000000000000000000000053ee25a1249bd3fb3650000000000000000000000000000000000000000000000000000a9bdaa82794c00000000000000000000000000000000000000000000000000000000693ede32"}h!
text/plain;charset=utf-8
LW{"p":"brc-20","op":"deploy","tick":"TTCL","max":"318000000000000000","lim":"988000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"XRP ","amt":"2000000"}h!
DjB0xc2751e379603480bffcb909a511550af9abdf5c854512f131333e9031c85794b
DjB0x8f80fe5994db59d4677e568e7971df2749e98ba68da562b5df137cdceacfabf2
DjB0x2f14545b9166415bfd65ad41955cd647fe36dc73d23a0fcf490cf3da9d8fad81
DjB0x545ea29c97087e2e17c0ac362d7fac120f6a6ae6de1aafdf48cb21a50d822dc2|
DjB0x908d9e108b7ea67845db7e4df507910dda628f9acfebde540c2a196357ab7d14
DjB0x9c69b100066309e7d75edfd971e3997a97747fa4e2d92fa11906ad2cd8cbea9c
DjB0xff758d30d7aed3a91b91e96fcd0b91e4f85bf3434f5ea4d983add2451c9ede49
DjB0xd5ab942f4e664a7ee8e4b673577367b62136f81ade838886c14b84660feeaf1c
DjB0x9f41386ef013086356e0929ce1cbe9539bc2319052b22f289b05463cbf318fb9
DjB0x781330cd3bccb302c9fc340407ee4ba329653fe083d408c7f1b0cbc6f57014d3
7j5=:l:ltc1q6eejcrlyu76wg9ew4sylfdmvygzpqve0vlqsym:0/1/0
Aj?from:0.34605BNB(BSC):0xC44416D73A255077e64b29ecd06c7E88dA9e8F23Z
/j-oc9:to:TRX:TVQWk2TLaDRsVsrw6choTq64tRnE4FiQDg
6j4hiW:to:USDT(TRON):TQVJFLp1NBgPgmWomojdY1pi9jmZ14vBMM
4j2TRADE+:thor14mh37ua4vkyur0l5ra297a4la6tmf95mt96a55
{"a":"Mat","av":"https://avatars.githubusercontent.com/u/6503059?v=4","b":"BS dev","p":"BS","pay":"bc1qy9w7y2v42wh3k0jkqhmmkt4elznsl3f94xagnc","s":"00ff5b8f548fcffc76ee90c6f8d9e44076d83fdccd05b7a71f55937239715c7e744d1a160b44b3cddd54ecc332a29f77283d66e9f77c07ed3fe504bd04c09e85a2","t":"PF"}
FjDOUT:12C65087908E4187C678073DAADDBCD8F72973949ED588CC6C5F973D30E545D4
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":300}
text/plain;charset=utf-8
"op": "token-mint",
"tick": "tapswap-v2",
"dta": "{\"op\":\"swapBtc\",\"tick\":\"dmt-nat\",\"des\":0.000000000000633861,\"slip\":0.2,\"addr\":\"bc1pdfpzjhn65vhqvvaexkz0pqhl7cwngjz9wzc67a4mh24vp4mee32qkft7sq\",\"fee\":6500}"
<j:=:e:0x2e507BbFafD9Ced6029686A1c075D2A35138fA3D:0/1/1:ej:75
=j;NeX:to:USDT(BSC):0x64a8893c22B5229B59083D7426431DcAc763997C
=j;aos:to:USDT(BSC):0x879B4CaD9CDd162D9003BFa6B7e1A2ad28c77711
<j:Lg2:to:BNB(BSC):0x3b2fDFdDaA8c7895Ed733a7A5071FB85c4a81D1F
6j43hz:to:USDT(TRON):TVpif8XpoBRm9s6G2ZGnWVHLsS8L5iM8pt
Bj@=:s:0x6508531F01d644838dD4CF5c4B9DAe5278Dd7EE9:211068:-_/t1:0/70
DjB0xa62c6a1c494f541d8d16c048f9fedaf75263ca00d881cab43026aadeec813a97
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1831"}h!
9j7to:ETH(BASE):0xa6e44709CfDDcE69f1463f883bC47de6C45579C3
6j49wl:to:USDT(TRON):TX4Y6aCQnp5wg4oh8CigLfKVg1ErH6h5VB
=j;AyR:to:USDT(BSC):0xa5983c487D5a73471B10eF1505AaE4AD88caf855T
<j:ohT:to:TWT(BSC):0x9cdA553b9B9037465848CF7b2ac231Dc977B8eaFW
DjB0xf0fcd501ac41c603c58011279071dc0dcfd524159936ea4ef7ed75fdee22a10f
DjB0x5488ef26467e8dd8a6d97c72d7d870d3e2930584ec9cf0dc7a22e1a32f3f6be1
OjLL0x26379b49a3de3f4da7bb1cb29d473c4ca410779d62221ec7c81d7e85cd1918f7=|lifi
DjB0x4efbe87b3afc15d17744c36daf04529cf218705d6b7847b3d16f4feb57051d54
HjF=:l:ltc1qs6r5l4smssm07ezsjtwvjgl2qhtdzcfh7r7jw3:6573043/1/0:-_/t1:0/70
2j0to:USDT(TRON):TGi82LSRaYECM1R3gCdWfjEprvPTvSxtfj
DjB0x838d8732d7d93826dcdba1e1a9b1e5ee98e45411988ad2ecaac1a0e2b0149c51
DjB0x875963240459e5aa415f4a1e1753eca7671e3052a512c43fc75ac46b0c8ad622
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"500"}h!
FjDOUT:EF293C2E8FEB60BD9DC26FB322718F8F4C842B3064CF9BF9A2CC7F2A2CBAA855
FjDOUT:D5BBAF2450068DB57B0BE0DDF16E5C5276D11DF99E9D3CC8AA82E11FCBBEB5F0
FjDOUT:A3C061D6969B6E8ABC81AF69E966202037997C90C5549F674F763011AC5B448B
FjDOUT:9E5E28C3A8FB107035426FA7D3EA4CC581F601F6C632E4647DDEACD6508BEDD3
FjDOUT:DEC1453AAB64A1793CDEA28D124664750A8807F04AF172C41BA6E780E478E06E
FjDOUT:AAD6E669BFDAEF917D02D14DA0EE4C0ABB7F88D6A4A3848E675CF28910F86C8E
FjDOUT:844A0C8DF4DBAA778D7B2862084C64E29F891BF56FD0D7EEADD1F04AFABE4648
FjDOUT:8F4631106E63DB8AF026E8B77DA2FB683D0BEB64CE67F61DB2FA288DB680C8FA
:j8=:e:0x3a573282d810D7BF9DD2A40b95A14352A9c6465c:315631382
:j8=:e:0xBC0951082a7FC09f302719cdDdD44BF605651D99:315645180
2j0to:USDT(TRON):TX45BwDQJVgcsgunUZ3UUWLYkjv3N5niNS
7j5ZvH:to:ETH:0xbAaF7dCfA6769c32DE8E46eC3dFEe5c17b6E8881
;j9to:USDT(ERC20):0x4A04e429B0CFDff769b7135db223689152DCa4BF
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":349}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":500}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":400}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":300}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":500}
6j4zky:to:USDT(TRON):TGPPBwA7bHhEmw2qDKgvSPVJocJRCXyNLu
6j4kvz:to:USDT(TRON):TL8ZESetoUQw5q52wBQuK5uuWodx5uF3he
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":300}
DjB0x1f9f18db4ce9a35a467eaefabd53463b2da5a73d64ee8a1754bb01501d960c2c
text/plain;charset=utf-8
"op": "token-auth",
"tick": "dmt-nat",
"amt": "10409413494",
"address": "bc1pdfpzjhn65vhqvvaexkz0pqhl7cwngjz9wzc67a4mh24vp4mee32qkft7sq"
"auth": "db649630594091ec41073d615434dfc2d6c2ddfaae02e64d098ec4641429a5edi0",
"r": "12390917565666312203546171175183771945770318938630193662853449019944632495719",
"s": "46847161170268705846654591405274554391617492671647731762545513L
"hash": "39c8fcfd354cc15fcada9d6a693298828592b6622eabb5540d3b35ac75304936",
"salt": "0.6987254552885624"
OjLL0x7369c470485ffd4d4a68290c1c3b3301a8371031660bde55aacb66d120f87218=|lifi
DjB0x6f63340982f0c44d59f6554bc598c3d3cfb5d931cccc7a7488aa2e97b9a50068
OjLL0x6c6a9cf51445942e795d436189a9cde588c790df467bcc02a509ab620c723403=|lifiVYw7>
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuyoQLt2B92ggqDuMZtvy4xQAyTf4TG69qfUq53bVo4bLLv8eAf8fAUD/HgEcbnE2cj2AVucsjXQ2TNMHttEBGUnMpMbayY6xbTM8zEb/H1X/HgGA/x4C/yAB/x4iNv8fAf8WBPr1wkvcOyLg/yBBCJsdwQlBAep3ZiAsrbTVFnBybIh8NOfyLtyuuPoW0lFIgEf997jgw4fPamXzKqCoL0pOM0lZ6Nei3vCe5IwJHBz/PkIBQGXtTU3JpTeJUeJ813F78GpTFKLRmOWG1H+MOByav6grb9eGcg86PrYfeAq+HvQoEqasWTsRVE2m3nfTqpGW02D/Hg"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuyp811to1SZRo5QxhVVHDs6AAUoCqWaJxUe0PIcrkn6RUv8eAf8fAUD/H95UMsla8kVaRLQSQ/nESPuyssHVxAeRAPjngmz48V4GMf8fVf8eAYD/HgL/IAH/HiI2/x8B/xYBX1fgEVPbnSD/IEE0KZEmMNHbuDs0P1p0FVwBnhMuwoNb8PU7itlTi3Hko28yJCv7wQgJntDtBkAIaC99iVJy8+bAeaipjwf5JN7nG/8+QgFAp/3J1PV5K0RvHcdw0/Xhjy2eL0573WMOZkbB+eaLi1iiSc87tS/oxyl0l7wp8r67AAaU4+67glR5saJ1lGTqxf8e"}h!
Bfc3b3ce6173abd013d802cd92e1c6f0cc0332a3edd001bcc5b6ac061addffd05:0a
DjB0xf18c79045ed9dc8b93fdd371179cec41c3c2226c282e98d63489c2c33a5afc2e
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"819"}h!
7j5{"p":"brc-20","op":"mint","tick":"KEK","amt":"10000"}
7j5{"p":"brc-20","op":"mint","tick":"KEK","amt":"10000"}z
7j5{"p":"brc-20","op":"mint","tick":"KEK","amt":"10000"}8r
createLYbc1p20k3x2c4mglfxr5wa5sgtgechwstpld80kru2cg4gmm4urvuaqqsvapxu0:/protocols/simplegroupchat
{"groupID":"396809572f936c66979755477b15ae9adfe9fae119bdabb8f3ffb9a362a176d0i0","timestamp":1765641649,"nickName":"
","content":"accd81a8a7ee2137a8a336889c695eed","contentType":"text/plain","encryption":"aes","replyPin":"","mention":[]}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
bitcoinverso.bitmaph!
text/plain;charset=utf-8
mixedreality.bitmaph!
text/plain;charset=utf-8
bitcoinmetaverso.bitmaph!
text/plain;charset=utf-8
metaversobitcoin.bitmaph!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"LIQUID","amt":"4000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"sats","amt":"8600000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
<script data-id="39" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="787" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="2053" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"2587878786"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ff1e","amt":"100"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"
","amt":"21000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"AtMC","amt":"10"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"
","amt":"21000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
DjB0x1a5957427a9a1ee0112333708459f13f82708261af9b659d2672a61ebbdb99a1}
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"180"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"175000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"500"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"
","amt":"21000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BODG","amt":"456789456"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"aoas","amt":"30"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
={"p": "brc-20","op": "transfer","tick": "erke","amt": "5000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"802"}h!
text/plain;charset=utf-8
={"p": "brc-20","op": "transfer","tick": "erke","amt": "5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"50500"}h!
DjB0xe093074a19efd5207533e9e89eaf5b05d660b0c80caeb927918d96d246c631f4
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"833"}h!
7j58rY:to:ETH:0x61716bCAA895F8f086909Ff8374Eda3e715902e7
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3008"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Aldo","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"1.5"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"25"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
DjB0x7c31b2d4b14d2b642dc416a4c0a9f4156bf86751e8261974fc44efb973aa6773
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"180"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"BTC.D","amt":"8"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1650"}h!
text/plain;charset=utf-8
D{"p":"brc-20","op":"transfer","tick":"
","amt":"29369369369.369"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
D{"p":"brc-20","op":"transfer","tick":"
","amt":"29369369369.369"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"BTC.D","amt":"7"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"
","amt":"21000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"20"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"800"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"AtMC","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1000"}h!
text/plain;charset=utf-8
D{"p":"brc-20","op":"transfer","tick":"
","amt":"15555555555.555"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"AtMC","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2044"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1000"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"sats","amt":"241690908412"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BODG","amt":"543845864"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"25"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"AtMC","amt":"10"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"400"}h!
OjLL=:e:0xc735d5bcbf49f51cccb746968d8c756107c6c578:8349147316/1/0:-_/t/-:5/40/10
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"ordi","amt":"637.72965098"}h!
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":350}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":400}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":376}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":500}
text/plain;charset=utf-8
Li{"p":"brc-20","op":"deploy","tick":"mascat","max":"21000000","lim":"21000000","salt":"688a97","dec":"18"}h!
FjDOUT:4230ECAE55BEA1A1B8DD09FDAC0B227EA5EA81CF15CCD2AED96AAAF8E9D6144C
FjDOUT:5BA4946A6F97DCD91B8BA6AC930A4B3DDB189E466B0D86F6418244F0BC1E8FE2
FjDOUT:D0E61AE40D32A48DC50FE22714109D40A431B361E08466374DA3005719AD5909
FjDOUT:DC0DA0AA50270E3C6D6BC90D9F75524513FAD61EDAA79EA3C7ADBF47FE08F0BF
FjDOUT:3C8D589C345076065F8ABDF7DB556555FDD474F9C5927D3A814F447991CF4884
FjDOUT:13B7138D562DC4AD7C38A1DBCF1986CEE40B5392B47C2C14990AD5D113D5748B
FjDOUT:5EE2271DFB1A4BEC97259AB87F5E0D8BE39A73D6C5A6F9C93F8D95B0571F0321
FjDOUT:804754FE41C9EC1CF5D1DDD9F5137996754E2E0CD185B5559037BD010FF88414
FjDOUT:E64881CBB2EEED5BAA5D808E9DF27BDF8BF6DB8F2CE6DAB2C5A050D0D37AA9F3
FjDOUT:EDEDAD55FED07CA30D15B1272659359C86DCC9F231880A37689449BFB46F3651
FjDOUT:977CA23E3D4CFFA0CDDE2F1D87CE17D3E5D20785A618BA5D2D0DD0D9C1E3A198
FjDOUT:214076261C3CD4214322308B91EB6517DB55C57FD9241D0E9D7022090ED0B25F
FjDOUT:E98A9B2F1F052899B5A79350AC5ECD9660868722FC295094471C30E35F59B8EC
FjDOUT:5DA1DB7C1F336D589A708BE84CD8090BB5F3760BAB8730D56805EF71A50D120F
FjDOUT:2026578A0D3B1A85AC6DF0CA2A80DE5BC7E1D353529922DB110912080B85FBD2
FjDOUT:F1B85CA40D3C15C5DEF6AA24C07E3C70120966A1BADF3B3DCA4CDA33FD1F1ED5
FjDOUT:632EF4EF2BAA62F3455DD8991E1534ACA450B7BBD090F836477754A9664FEFEF
FjDOUT:8A9117DFBACCE6453CFDC1F0DF9D29844EB0A186A2E604200E299A5455614AA1
FjDOUT:981DFC40769B94DB577F12E744BD572EE8B798A43DBAE764C965CC72385746F7
FjDOUT:17B656827701349B65099716A3969C046A650D02F1CCA7CD0BE212EAD9F1F2D7
FjDOUT:5364ACE9BA134714FFDF323D7F51C0C52291743469B1F0A5CD5A7D381AE40064
FjDOUT:59C60D14B849D17C9A6367F7AD5FD1EAC1F35836168C3383897B5906819315E9
FjDOUT:8929C8F3673088900C524BB6DBF2580CE92B17C5FBD590852F3FDFB38A07F1BD
FjDOUT:9B00961A029352364AAFEA94C00797D2AF9BA3371AAE065F6043767A95DEE62A
FjDOUT:3E99B1F473392E43C3132C19B94B7F4250D8CD0A09C52493053302CF14E41E80
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":300}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":300}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
6j4ssF:to:USDT(TRON):TPbqKj5mw8q6S9dkdC5o5PTwawJxBxkrMW
:j8=:e:0x99333d48Dd104eC6019Ba21E717C397A24c9d8C8:312351389
?j=7fu:to:USDT(ERC20):0xF93efb40B70262335e49df89431919cFb2A28c17
6j419E:to:USDT(TRON):TXuK2BJ8hZowmRi2e8ipDn3nTYB3ZNw9Pd
6j4T7U:to:USDT(TRON):TTpWp2Q8jUcpPjXKkNuHpniqKBbrfg2i7j
6j46m6:to:USDT(TRON):TGHJ8hs8WCUUKYMxKW6Yqdp1CqcHdz39B3
DjB0xe093074a19efd5207533e9e89eaf5b05d660b0c80caeb927918d96d246c631f4
?j=w1e:to:USDT(ERC20):0x52b8a2a9B78375a8a9a6d33f8155D9Ec94DEAFb4
6j4j4a:to:USDT(TRON):TBbvg9nx1SpD6a2Dci4iviWHWVTFna41aUq
?j=YWz:to:USDT(ERC20):0x3b0D7689b31E96c638cc50626c87518248A30Fd6
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":349}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":300}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":500}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":400}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":500}
{"p":"brc20-prog","op":"c","c":"0x237dfc53abe56c2818213a77610fb4498a0aeba5","b":"AQlep7P/DNOltxerePYHXe9SfwcLnuDcZigo/wL/Av8C/wL/Av8C/wL/Av8C/wL/Av8C/wL/Av8C/wI"}h!
?j=VxR:to:USDT(ERC20):0x3Ac276E7B1082fa37Dc80D5Edc4bcbCcd16d651a&
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DCN9/FOr5WwoGCE6d2EPtEmKCuul/xZV14EMnUDhsv8fGL4C/x+A/x8+YmMxcGdwNnYwNXVzc3ZseWd5bnd5dGVobWo0OGpyano2NmhtcWFxY3d2cmZoY2Q5dHRxOGtmcnNnbjJ4dGoAAA"}h!
DjB0x22826d9f9e2e6f25b846477b9e080b6b56e3456432a3c4fc61121efb6ae9613c
OjLL0x52bffe27dfbbbf6afcc674358c4b4ffb24190cbe9689fd1abf95d056ec05a278=|lifiE
OjLL0x1d906d489095b01b41794e16c3455f04a7b0ee0a22be78fe2f475291b5ea0cee=|lifi
OjLL0x66d4a775b0f8ef33a396075be21ba7d7b4cc782dcf0753e3ffb9e24f3793e466=|lifi4
DjB0x38c1df7412e5e5d6b6c6cf621cd79c752042284e8be323e4d00450f65c83b759
JjH{"p":"brc-20","op":"swap","init":"OPQT,LOL","amt":"30000","lock":"1500"}
QjLN{"p":"brc-20","op":"swap","init":"LOL,OPQT","amt":"5874.74707448","lock":1500}
"op": "token-transfer",
"tick": "dmt-nat",
"amt": "38080000000",
"dta": "{\"op\":\"bridgein\",\"ethAddr\":\"0x4c4bf7a6085A3C1672532aaE337536d542CbEf6f\"}"
B732aa430dad7617e4e3853025f53c5da3aa757b7975b6308f7216d6a96cfd279:0a
KjI=:BSC.TWT:0xC609b491b9dbd6149291D8aBbcA166868402f0F6:547147455:-_/t1:0/70fJ
QjLN=:ETH.USDT:0x9b685bD1f958067b94404519Af3C4c517B45cAc0:207208900/1/0:-_/t1:0/70r%
Bj@=:e:0x875ce7e6E0D909a9A932114b1Cbb917cdC8C2A49:220850:-_/t1:0/70
>{"p":"brc-20","op":"transfer","tick":"potato","amt":"3000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
DjB0xef2968f39bcd99e921cb80b6df432370087480182abe6f916d195a54e2967c79l/
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
=i/Foundry USA Pool #dropgold/
6j4Epb:to:USDT(TRON):TKERC7gVCHrWzqrnyUsbZPFfxoHLp8miro
?j=3j4:to:USDT(ERC20):0x5fa4BEFce5b6DBD3959ab7f7c4cC0A1E32373f1D
6j4JTK:to:USDT(TRON):TBbvg9nx1SpD6a2Dci4iviWHWVTFna41aUW
7j5Pi4:to:ETH:0x948F30b9c7EF37e92223021DE0d6D242BFbD10F8
6j4qdD:to:USDT(TRON):TTpWp2Q8jUcpPjXKkNuHpniqKBbrfg2i7j
FjDOUT:84D36ED166A8096C6F3E822A051576C18F54FE8213BE2EFFC87A0BC18E117F2B
FjDOUT:404D2FA8EB2A43948C99D00F77B6E690EC45D22B20EA5C90D6B3B3FD05908F3C
FjDOUT:19B8B081BCF53C5488F052A1CC860AA29E5157047836912ED519E64BB461E734
FjDOUT:7E3F41F01481B1F2FB25C59FE81EC682F82FEF5C2F5BEBA183106EF2FFF2DCE0
FjDOUT:ECE0BD79FF42D8C32DED40A7E517F839491C7E4353AF609009BC30F250DBC306
FjDOUT:F8883E2E698AE618E0F68BD5E06918350800B99941EACEBC7A5A88CFAE3B1D21
FjDOUT:08E62577909AE6A3A8A502E8CA40608F90DC8F6BC03BEC47F43CD6ED7ED107C3
FjDOUT:5CE8D33E7EF3D65D1FBBE73F6CDB8F3E0FB29E6AF490016CF1EE3E8609426BD2
FjDOUT:B5BC2666548F27583174A297ABC2B264DFE21B9C39A3DA792D8F315A1522BE1D
FjDOUT:A22E5D6CE3E5E820BD33A2C026A7DC2C12389F56D8262A28912EF34FFAF80693
FjDOUT:46FD4F6AF3A54CC3F51A24C42BD890367BFBA4DFD23D33CE3FE498F5AEBA9B4E
FjDOUT:933CE946F54512A06C72B28044D1AA467F3A140C56D608E2048F829BF8331F09
FjDOUT:2D4172A49F635A07C4781C3EE2B8A28F2FF424FA7AD8968660B63D9B89A004F6
FjDOUT:12123E39262ABD6CFE63525743D4527480E3E5D21F1B15F073FFFCF2BBE05D1A
FjDOUT:E0504176206EF777FC6604CEA7D9C996E60713C062409A07A657F33C2C9F6D39
FjDOUT:2DE08F3257125CB5069CC7C42BAC56CC417CEA21DFFFF1335289255623E17E0F
FjDOUT:10AAEE6A176D0B82060F03ACB165A4496457CBABEE9FBAD8A0A3C982C9E2F018
FjDOUT:C5A4B9F141A523EEBF7CE2D71561B922AC766CC92A10AE3A1E14C440F71C6158
FjDOUT:F425BC19732BEB9740AC6E6A231556694D038F76F7029B7EAAD4FEC3CFC23870
FjDOUT:EA2812F992E8B31765F2F7141B2DEAC0121CA843A94A9B32F15E8FABC107B790
FjDOUT:186B4C650F0EECB1B6B708A6AA94E7C5E2908A4B78F17D81E531DF4A45CE8C42
FjDOUT:2ADDAFFD62CBBF349147A52D1D468EB37139FBC6E42F19DA872041D45EF61145
FjDOUT:33D5088C53040068CC1BCF163717BBFA6C853D677C2770532418B9A13491FAAF
FjDOUT:4707CD2D9F090479353DB6B2875AEFA69126CA6E3A1E9DBB575B0E1CCE9C01BD
FjDOUT:76040A9190DA235C7719690B3572AA7D12D0B5C06279A1DEC5A41A01DB54823D
FjDOUT:C41A291089B93DEA0404FDA6F6CA2ACAE4DEC3A5835F71C794981D31F6DC1346
FjDOUT:42F81D7136CA64C0A96D04B4237925BB9E17517B0568DAC7A168F5C045772F1A
FjDOUT:8165108FEAE91B27B1F89FDE90A7817C3B8E0CCDE342E4D807315C322E86F6E8
FjDOUT:08E90C23042D583CB628B5EB56D560CE343F9F0FE9EBFEC808FE69E0B0C7FF99
FjDOUT:85F12FAA42E7E00F4A9E45F0C422389B4180034B14C0B784143FEE2A82AEFE29
FjDOUT:2B8439EF939CC7AD9A8B9BF44770EF3E2B4734F3DB3506C3CC95395513F98AE6
FjDOUT:FAC655B568DD69CD864287A351A17E6E0862A5A7AE10404F7336DF7077212A1C
FjDOUT:B9D37D2C59DE6FBF3B180721B1B41F5CD2D83AF846BB3FB5061697A52E99AEA6
FjDOUT:7F769F661E25AB19005AF722AC76BA6106A62589309845582507DE3EF57C0A59
FjDOUT:BB03D36081E6D73093269C276EF83EBCA5668ABB603D598A0598B634714715CB
FjDOUT:68AB5698B219F751DA1373EB8040AB427FE353C12CBBBFFD434AB65A74EE8202
FjDOUT:7C9EF67C86F022AAEEA13CB869EF5684860EAC5183061621D46F80AE6137CB17
HjF=:e:0xDf888bA943675Ba6c3A900e1A957aE68d8c9E733:1045700/1/0:-_/ll:0/145[
6j4BUC:to:USDT(TRON):TPkE3havT4yxURGWwTZ1UtKU8vmomMHdHf
OjLL0x75fc069d9119bec5e329baf41123bbd8ce8a81d0285b0e7519eada3bf1cbc740=|lifi
FjDOUT:1061E96539244AD251F44A957986F82F27CE41312EDAB6E32CAF7A28A0494D39
FjDOUT:035155693790E50A25011C0E3467EF076252851EF2B96A780C59D431433A758D
OjLL0x7fb63c787b2b6e3cd1afa55c73929143fd0dfe59165f23d9f89ba35ae8c6ea2a=|lifi
6j4ZLa:to:USDT(TRON):TYFRE8vbCFezE5XNVtvcUvjTREx9861DkN
DjB0x8970018a989612e58e1fba39a4abcf7744ed5f60c5adc7b4288862861b9d8613
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":300}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":350}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":376}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":400}
<stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":50}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":300}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":100}
=stamp:{"p":"src-20","op":"tranJ
sfer","tick":"IRONB","amt":500}
OjLL0xc27fcbcefda139c35d889ed7a1b8c7c81f8cbfd348e063897ad9aa33c6b8a820=|lifi
OjLL0xa51d53915f0f28321e2d6b96e35b11a1315e97625e1e080861999b243101bfe4=|lifi
DjB0xb733ec3b0f54e988a395c4ba97dca5da746d562e5f54f4acb9297e7f283c20f8
OjLL0x23c9032b6385c824d02f94a2784733b255da30ffebacef4e30a8e48297e718ee=|lifib
OjLL0x8da09e0877713719c97ce9027b33cd6cf47fda04c4b952b8c258cd631792cbfb=|lifi
DjB0xcc7db53d2e958e299c886f03845967fadd8be5804a88cd607a8735b6c05ea84b
Bj@=:s:0x50baE599FDCF6E3540935F7729CFd1dC9Ec7A0be:887026:-_/t1:0/70
EjC=:e:0x1b4c326a9648210e5d8bec1b90cafd865ae90d85:46830/1/0:-_/t1:0/702
DjB0xcfab3f21c92d0216e215d3f0999a32c908ae91830b57911bd5d9637bf0b664413
DjB0x470996342599f46435a2e40b8cb0e68c4db463a783653dc773aac84ca0238dc5
=j;=:l:ltc1qrld8l8gzyghnzncu5827kdcpm0q6v45u3052w2:0/1/1:ej:75
=i/SBICrypto.com Pool/eu
8j6from:1050USDT(TRON):TPaXKYfucnGzrAxJRmHrG6shf1v3vWBkFA
<j:wRB:to:BNB(BSC):0x5F0717Ceb09da0F53fF0BCF2e8bC95a52A9A91c4
>j<3ez:to:TRX(ERC20):0x8B3c79a7Bb96d3fAaF6E9B03D38c392edF3EEC38
FjDOUT:8DA8F36CFFD615FD98CFB8F50DBABC71064649F53F2753E0DC523AF212CA5980
FjDOUT:A9870720B6C94BF875F0F83A10A653B1D006E6A8DC4ACF1D6644BB3BB73F00A9
FjDOUT:C854054FE73B1043F0D3CE426CD11D50B8669098A78BC4FFE2A2E00C141BE7AB
FjDOUT:B255334C78EA45D80D4AE44216E29CCB82C99FE3713E42B94AC6D5F127A3F763
FjDOUT:AC6966F2CAD29215590A5C7523BB42A48C9D22F8A9A7AC33099B4CD8ACC2A4CC
FjDOUT:8A0DE5A197228C8D3EE021EF3D7B2FD15E42283697433E29FCF17B93D64952E5
FjDOUT:11FBA1A32AECE98D44F2CA7ECF28A66D90AF3A3B0D42CE8FB50997996E50810B
FjDOUT:FDE46C0C46579B3E344BCE9F69C9A4238C0D0C9BF386156D8C603305F09CC388
FjDOUT:F97205132FD8CF86539A020E197C07FD5F498BDE2F3AC78890F9AA71D1271657
FjDOUT:C9998FCB088268F1FB839CFCF78A6213587A462FB0AA1D3278115BA189E154DC
FjDOUT:31D2AC5D115B3B4E2E2FABF0BA8C9531BE51DF7664BA15C8595F7266A4716A9D
FjDOUT:57F3D5EC5CDE7506AD963DB50B3470A341E5B19427C80735BD1C3CEDE9B0126C
=j;FVz:to:USDT(BSC):0x4Aa955AF2FF6c610B9d5BeAfAcFa7bc00DEf7453
DjB0x921586d9102700bf964e5bed40e804987c3c64c14a91857bbb87416568285cee
FjDOUT:E338985CEB895EEFD697BD050A5BDA68E84186A259E9B969B0D6CE1C890A29DA
FjDOUT:58F70F4D29D108552E1C2B3488EC2345D316FCA0BD70D61A193A39A1415B0851
FjDOUT:EA8E3D4B870ECC13158217514BC01796FB913E557AECC996686DF252C1D4D2E1
FjDOUT:0335962C444740B1A11CB6A23C1C29723D65CAD970EC223BEABB4FB034EBF7DC
FjDOUT:F7A25FB1A96612D13598011ABB4437B36ADB209B88F6B3994EC677B8F3159F62
FjDOUT:6DFE11DA17C8DCC33E6282DF5D3E0F52BF04BEFA958214BE51DF7EBCC7634B4F
6j46D0:to:USDT(TRON):TQd4ZU3tv7bXX6nXcT22mQxfKDQEufBJFy
6j4Gnz:to:USDT(TRON):TL8ZESetoUQw5q52wBQuK5uuWodx5uF3he
OjLL0x6258bcbbd18dd250403938dff6a11958dafff5567e51b7f28eefb495dd4a5cc7=|lifi>
?j=krB:to:USDT(ERC20):0x1eE42Bc61cBb620939234E2CAFBEd8AdA5619Bb5
OjLL0x6ed9544b153c1fb08d6a91b0ab12c362560988e5cc9374d3552f84a36b03ccbb=|lifig
FjDOUT:B5B5228DDBC2FC3FE010C0904CC9FC9805C49A78E9DB8FA6BC257DEDF63EC158
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"pepe","amt":"1000"}h!
text/plain;charset=utf-8
LL{"p":"brc-20","op":"deploy","tick":"UUTD","max":"21000000","lim":"21000000"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"100000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"100"}h!
6843qk9qxvfijg0nw4zrau250
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"5524"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"PigK","amt":"3000000"}h!
7{"p":"brc-20","op":"mint","tick":"UUTD","amt":"210000"}hA
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
68wt6homrdjwrdr40qdeag100
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"7722"}h!
67ofsz11f7yppt6tt2d2au250
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"USTM","amt":"380"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"8812"}h!
67h9us18vcrur5j9skbeau10
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"300"}h!
6amecv3lgh4c533thm60ag250
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"8724"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"160"}h!
68ikjb3r9bkg1nqlbwcbag100
6ad2se2rgjor87yvjp0sag50
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
67fmdabm4cmh4iod571iag31
69iyikchqg764i7zl7klau100
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"120"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"7822"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
6bqv5ik4wzmsvs2npi1rag50
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
6cungul1kba7r9if5hnuau10
6g3957j7zyjyc3i3m5eiau100
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"6126"}h!
697ih6dhrj45ok84hpu8au100
69bcacwjfik8a8vcs6i7au100
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"299"}h!
6d3wbgm0natt8zmt8hmwau250
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
6axepqs8vnxztr2wf11bau20
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"8812"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"7726"}h!
6g1g197hmpqwv9jobk6xag100
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ff1e","amt":"100"}h!
<div id="ord-root" data-l='["/content/916737599b383a7622a9200c78f8f6c2c1ede3942767b499c334c235a981fd19i0"]'></div>
<script src="/content/5b0e2cf2d3d9a2aee10b5ae860487376badaa3fa4f2ac470fa25a4e3c1217c3ci0"></script>h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"6924"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"10.2"}h!
6fynwq235bkycfqh253oag50
text/plain;charset=utf-8
={"p": "brc-20","op": "transfer","tick": "erke","amt": "5000"}h!
text/plain;charset=utf-8
={"p": "brc-20","op": "transfer","tick": "erke","amt": "5000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ff1e","amt":"100"}h!
6cw93ka3vcjpe9ysrcaiag31
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"220"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"6625"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"
DjB0x6de083569286ac229c4eeb9fa620680e6a10aa3f8f46cddf4b29e824f9a84386|
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"9500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ff1e","amt":"100"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"Osbk","amt":"3"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"50"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"160"}h!
text/plain;charset=utf-8
={"p": "brc-20","op": "transfer","tick": "erke","amt": "5000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"600"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ff1e","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"171"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"301"}h!
text/plain;charset=utf-8
={"p": "brc-20","op": "transfer","tick": "erke","amt": "5000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"8829"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"30"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BODG","amt":"333333333"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ff1e","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"4200000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"PigK","amt":"3000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"10240"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"5128"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ff1e","amt":"100"}h!
6em22uzzwqc8v7kytl6jau100
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"4000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
DjB0x321300a67d45d52f7de9254042a635f6062cbfb69be513e87c06df5a70da1a18j#
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
6box8socwzzcmvlvzb0mau100
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTC.D","amt":"25"}h!
6bdjkgcik6y0evla4tk9au20
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"15"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"120"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"AMT ","amt":"2211"}h!
6bofun6le55ag8ltttqlau20
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"Osbk","amt":"10"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"USTM","amt":"500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"
","amt":"100000000000"}h!
text/plain;charset=utf-8
D{"p":"brc-20","op":"transfer","tick":"
","amt":"29369369369.369"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"1640"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"Osbk","amt":"4"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"6629"}h!
6cmuqnyr7w9064hqqcprag100
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1000"}h!
text/plain;charset=utf-8
={"p": "brc-20","op": "transfer","tick": "erke","amt": "5000"}h!
69nxpmeg5qxboeaijr7mau10
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Kate","amt":"253000"}h!
6bx6xa0xqs7zmz8hfzjqag100
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"
","amt":"21000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
68gseykirlhxjkrcrw6qau31
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"USTM","amt":"0.95"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"5000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"14500000000"}h!
678ywlymavrbrbrcu9v3ag31
6eiwjbdfzvlmqdiinxfbag100
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"6"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"
","amt":"21000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"7725"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"350000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"100"}h!
6atfjtbl7y5rbs7t1w82ag100
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"piin","amt":"10000000"}h!
text/plain;charset=utf-8
4{"p":"brc-20","op":"mint","tick":"
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"
","amt":"21000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"TRUM","amt":"2000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
686xhudyjbgguaczpuf1au100
675wb1a0wnjaqg824092ag100
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"8811"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
6dqd6u5pz0lieeo7qryeag1000
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"8258"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"299"}h!
text/plain;charset=utf-8
={"p": "brc-20","op": "transfer","tick": "erke","amt": "5000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1600"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"6628"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"9911"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
DjB0xcabaf2d445c600f615ce7d8b1ecbab0bac477376b8809f6bebc4b213ba80f2ea
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"10110"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"9924"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"9912"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"100"}h!
text/plain;charset=utf-8
={"p": "brc-20","op": "transfer","tick": "erke","amt": "5000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"200"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ustm","amt":"10"}h!
DjB0xfd541775439cf1cd9f5149a201ef0cd886ff988530ba01d677352cca7636659en
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"BTC.D","amt":"8"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"3500000000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"
","amt":"21000000"}h!
text/plain;charset=utf-8
={"p": "brc-20","op": "transfer","tick": "erke","amt": "5000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"833"}h!
6d8fi2lgz36ga2rvw87lau31
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"AtMC","amt":"10"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"80000000000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"
","amt":"21000000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BODG","amt":"394564344"}h!
69bftu0dc6r27fxxw3lmag50
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1800"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"piin","amt":"8000000"}h!
67rz4v26jc1cwsa0q101au20
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"8298"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ff1e","amt":"100"}h!
6blaulb552eki3qtdafxag1000
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1000"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"
","amt":"21000000"}h!
69lwn5jufcni1e5zu61fau10
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"20"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"200"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"6024"}h!
6ap15p8dum87kfrk70zdau250
text/plain;charset=utf-8
={"p": "brc-20","op": "transfer","tick": "erke","amt": "5000"}h!
695vfqh6qlkm39pxcsb7ag1000
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1296"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"aoas","amt":"30"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"9927"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"40"}h!
69cl2nydnhvk1tidlrqdag50
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ff1e","amt":"100"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"AtMC","amt":"10"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ff1e","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
4j2TRADE+:maya1qvlul0ujfrq27ja7uxrp8r7my9juegz0ul0lxc
EjC=:e:0xC2c5E719B2fAe1C0560D4DeEA738F27574BFfD91:1912767/300:sk/t:5/0
Aj?=:e:0xb764e896cdbe06d89532489D1d8e12d3BC089de8:40403:-_/t1:0/70
FjDOUT:9C8BBB2CF4E7F49009141E9131AD114ED5238D87F2D98E421FC3EDAE93467F80
FjDOUT:55C26FBB8541AE8F8BF6401B0311C38C5B143895A0A852337BB526C5CA3EDCD3
FjDOUT:75564FD665553CEF8197144D83A9602E580AAA467C8A6EEBCF2BA736799EE1A8
FjDOUT:36C4A5A96B1392C4155A757A8F09F4E471661B946C54992B274118C55E770490
FjDOUT:8276D9756EA447676061423DA4AB989C6C16D603A370D37C8982B9FB2394C93F
FjDOUT:D50E7B6733590635BF51D92E3828A71C69F15CA5F735FB680C073EC7A2F1E93D
6j4Ii5:to:USDT(TRON):TDtvgPLhiDiP6DzkokC9ReiUvaEHT89gKV
6j4pzv:to:USDT(TRON):TENRJ3Y4cyw9Xr91xNrtH3h6XxBdXFtNsN
PjLM=:BSC.TWT:0xc2f06e1B13F9663736D3F0c15A520f12a7949769:371098826/1/0:-_/t1:0/70
DjB0xb22594c3cf4d741dc93738722dfc6b4c870e6bf5eaf9ab9808c553f2eae4ad1a
Bj@=:s:0x24803CeA9Fd09446291f4f13D70C2A7055973fB7:939471:-_/t1:0/70
Bj@=:d:DBcmnpv1s1U8WiMXrSP3RTp8Z3KP1FRTQs:1056386471/1/0:-_/t1:0/70z_
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DAd/4Ol7G61QQNUFM4T/AYCZq4Fkgf8VAntGU2xmyOP/IAZ0WP8fgP8fPmJjMXBmcDdleGxsbWZxcWt4NXRmc3c2djk2dnNkMDU0dTNld3V2NW04ODBzYXU2M3k3bTVtNGpzcWp1NWVxAAA"}h!
8{"p":"brc-20","op":"mint","tick":"uutd","amt":"2100000"}h!
DjB0x4f8ec60ff7b9d0f6a227bb935ee398958dfeea6d57bc5d1ce27496c3fc0d8497
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"trac","amt":"500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"UUTD","amt":"210000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"UUTD","amt":"210000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"UUTD","amt":"210000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"299"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"299"}h!
text/html;charset=utf-8
<script src="/content/d91650a911e27c5402ffd45893b17023e0ede8cb6912aa11fee0bbb264de2bfdi0" data-p="d5198cb76da0b286ad8a4323a49b762bc4c006e718223aab850fcf833df76821i0,ss,6,12,0,d"></script>h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"299"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"1400"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"mint","tick":"UUTD","amt":"20160000"}h!
7{"p":"brc-20","op":"mint","tick":"UUTD","amt":"210000"}hA
9{"p":"brc-20","op":"transfer","tick":"BTC.z","amt":"0.1"}h!
C{"p":"brc-20","op":"transfer","tick":"
","amt":"1888888888.888"}h!
B{"p":"brc-20","op":"transfer","tick":"bibit","amt":"100000000000"}h!
<{"p":"brc-20","op":"transfer","tick":"BODG","amt":"6666666"}h!
<script data-id="904" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="97" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="779" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="182" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="236" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="1302" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="1375" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="1282" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="1336" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="1383" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
x:ORDINALS CENTRAL PARK SKETCHED PFP by Viola MissCode #3/33
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
4{"p":"brc-20","op":"mint","tick":"kate","amt":"999"}h!
FjDOUT:804C5C7F176E06F793A8375C3F860E834AEDDAFD8590FEC53F5E569134D5E71C
6j4fV7:to:USDT(TRON):TWFL8zKkGiPvyw8MhbV1D7e41vafnGFJBN
FjDOUT:A13A2F79E24EF486B5002518503F55B3B37C2C34056848CFD9C9A007B8438F31
FjDOUT:7A57468A3AF6DE5983274004624E69034563C939BD4C9BDFDB53E985C6CAE8D7
6j42dx:to:USDT(TRON):THAF6M4v5eWGNpiCz8mDcJseox2RcAqtV8
6j4iDz:to:USDT(TRON):TWE7cuNjz7KwrgqBSUQytufBubZHwDvbS4A
6j49nw:to:USDT(TRON):TQgT7bPCZGTsJ7KnDj73xvCSpf35NQi1QQ
6j4vtu:to:USDT(TRON):TUpT3zhDcjx96SJvgFDfGdsaX6p9AL7ADD
7j59jL:to:ETH:0xfe50E880BAe5F120BDB05b78cBd2f59940830790(
OjLL0x92fe1252d1f0d84d2d109fd5b37972312407018bc4fec99d2b8fb337965b2290=|lifi
OjLL0x6f6bb116947ef59fe866cf1f5272e79eeceabd61e2aa924cff14f7252f77edcc=|lifib1
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"1900"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"3900"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"ROBTX","amt":"600"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"3400"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"ROBTX","amt":"700"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"3400"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"1800"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"3600"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"1900"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"1900"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"1900"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"1800"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"1800"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"1800"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"3800"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3342"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"3800"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"3400"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"3400"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"ROBTX","amt":"800"}h!
text/plain;charset=utf-8
LL{"p":"brc-20","op":"deploy","tick":"UUTC","max":"21000000","lim":"21000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"1800"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"1900"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"1900"}h!
/ViaBTC/Mined by idt190/,
6j4p51:to:USDT(TRON):TCobNZJHgPRGdEoQV5aM4URnSD678yEH5L
FjDOUT:3623D7C996B3BAAA48C9AF993CE0DF73431858DA40EF53FDD817C32A37B925FC
FjDOUT:EF2173F3D243E4A88C2BCCD6A52D686C77A9DF227FC4B462F0D99995DD37F2AB
FjDOUT:69010048B30C28B56E7816A84B4EDF94F360FB975DF2FB9084EC4B3F79B65F73
FjDOUT:0E83F1375CFB606D2C24618DE8F47FABA0F5A9A186FECFAA1B3CAE5A81851548
FjDOUT:E3222690FF67E54888351E0A728EFB4DBBE6244CBD58FF14657A5FB0FF7267FC
FjDOUT:569FE52F14B4173FDAAF4601178E3D9DFA565D38E9A1101AF31204E2398EAB04
FjDOUT:C61BFA06B50BC9542F5897AED11D1FA3E4E05C22E033C5A2366A887E565AAE62
FjDOUT:2C1D2A0D37CB5A130FB0DAF43E7C089508891D649AB7052EDF321F2C570F7EEE
FjDOUT:5DD1EC6E73BDE1B7806966B9E5DF1D5081F01DFB4294A0CB161802217EAA7B1B
FjDOUT:5DA729F8401C64F62E81280597AF26BA02F3D5DCE4B7DFC62717BDEF8EA6C3FC
FjDOUT:A0B5800EA769250BCEAB6F3C492C451A86616B415DF04E77C588B4F1F3490DFD
FjDOUT:443A652713AAC65EA78EC155BF97DDD6B2C3B38A962FF9F0601E59B7B03822E5
FjDOUT:713DC0D2B01D7CCF6FBFBB21296C9848D3D8DB6FECC73DFC3BEAF78E1BAE0DF4
FjDOUT:C33C2BD2FBDE0B21637D638E0D431D59C8B9B5772326B289F61072870D8DACAB
FjDOUT:EDA477160D02BAAD1E8EDA8B0EE9AB43F3ACBA0CF22CD4ABB50E2D52A223A7C5
FjDOUT:6ABEA9C8971DAF89B20E83B7E4DF3713D7FC09F49E705955C45C0B5C9FAF1975
FjDOUT:0BEA5892FD987F1239128678BE775E736D6FCDC71CD89859ACE44B5BB45BAAB9
FjDOUT:1AE9750297409165CA767008AA26E2EE3450BC091B93581B0B0BE00735C8D808
FjDOUT:423551DAAE32681FB95E29CF544A8FB3CCC9D600C85B5A5AE0AF7DE13FF3DB01
FjDOUT:EC080FFCA874D5BD60CC4B9A10468E7BB5B64C43F98E65B4F21F6CAAB88A2111
FjDOUT:5C9AE97C8A39E25D8D6373081B687D39CBBD6E0929DC429094501FD7A4E9D226
FjDOUT:270129262493EFA16F2F5AEB9741F765E0AB16A960264CC986646E88F55B600D
FjDOUT:3EB2743497CF12319288BB6057B76B852722FF8BD0EA9AADBB94F7A9C07A0D7C
FjDOUT:3D80B95E316FDF20365D846B1FC05139ACAA0B1F4138952B17AAC68755B033DE
FjDOUT:8F185F499C93B444E33FE9D1F6F167CC95CDB6492F4C578011F5538E60657972
FjDOUT:99F8FDA417E3BE1097717D21BDEB396DE809AFCB3B05C2E28E2D648303CDB9D2
FjDOUT:D5179AD95B87CCDA5E79775FB8B496A3C58FFADA41CFAEEF3FA124E8091F2DBF
FjDOUT:D23426C9F5289F21641A8DF46D55348C2466A454017B7F3585B01A8D00D6B3F5
FjDOUT:2EABE15BAB235AC0B9B219D1647EE57E586B3BA06998DCD2322F861988D33F87
:j8=:e:0x46d95F09E140136a55bEeA679Edf154cE8734A40:318585125
=j;Dp4:to:USDT(BSC):0x014c918A69C20Ba1aF71f6C3754bc32881763f36
=j;8P0:to:USDT(BSC):0x64415AC25C45E887C3c57De8e8720aBC464f8E9E
?j=ERj:to:USDT(ERC20):0x618731F4dEFB0CCE7f3DF86eC309eD09f0C16155
7j5dvo:to:ETH:0xBE94D14B5D1BcFb732df52B643B3055BeF446e2e
HjF=:AVAX.USDT:0x38ec1f44ba856d16b6857001c50577bd29d953a9:5210487308:wr:0
DjB0x2ec35873b2fa5195a37bd93dc82d5470d11867a930fb47d08cac478184784513
6j4rCm:to:USDT(TRON):TWE7cuNjz7KwrgqBSUQytufBubZHwDvbS45
OjLL0x42eea8614f6749fd930d545701588aa1fed9851468ec5dd053def3465a6b23ec=|lifi
7j5xPY:to:ETH:0xfe50E880BAe5F120BDB05b78cBd2f59940830790
=j;PlH:to:USDT(POL):0x70D0711b8eD356ac9D6037ffB7F0990c4745DBE5`
CjA=:ETH.USDT:0x8c6bd468Cfbe15E22230f2Ed455fF0033E093531:0/1/1:ej:75{I
DjB0x7f5d535cedf32ae782267ae3cc9a23e94017c50381f5d3447b91e6790d0dfd1e
?j=GBN:to:USDT(ERC20):0x72F7989F3678CD3Cf4a34EF9CBED8D42B5ab3464c
OjLL0x5497989dab79712c5b2cda7cb04262291310b806ebf021bc5f7ff16cbe79d71f=|lifii
OjLL0xdd95da0a13fbffbbe46b2a8a74e7692f03eb2b962cb06eeeedb5c88f2b42fcb2=|lifi
7{"p":"brc-20","op":"mint","tick":"UUTC","amt":"210000"}hA
7{"p":"brc-20","op":"mint","tick":"UUTC","amt":"210000"}hA
7{"p":"brc-20","op":"mint","tick":"UUTC","amt":"210000"}hA
7{"p":"brc-20","op":"mint","tick":"UUTC","amt":"210000"}hA
LjJ=:BSC.USDT:0xbdddad45e204640a7e535cd01a9d17270e670f25:232447091:-_/t1:0/70
FjD=:s:0x2B0A8BB9CE791f8A0555Ed503a5fFf6F922AEfb9:354131/1/0:-_/t1:0/70N]
text/plain;charset=utf-8
DjB0xf3ec250d8428069d413d62587a2997fb83c273b32dc95635dfe5628aaa9bfd06
B4d4133d57b3461a94e3d8158a8ac3207fd50a1a70cdd95b40140fffc1f97c0eb:0a
DjB0x0d4798b8dc82394b93bd99b2c7eee3688becfb72669239e955b75a687de71c1c
OjLL0xff57f59f4cb79537616f539901ab0efa8b771f0474948b47e783c6061489df8c=|lifi
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"200"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"7711"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
"op": "token-auth",
"r": "107879787320030732544366708547993444944080971705585920388421409613787652676352",
"s": "24568423549874227639647265599877080398368483913758800556742543770095316761958"
"hash": "28c724ca6054753d851f684b7648dc9a43ad7ffaa2ac882cbbb8c70de2f07ae8",
"salt": "xbr-epoch-2025W50-xd",
"auth": "676384476bc32ca80a6e3f603196c980680a27545ff6e3f80f4d94352a51bfabi0",
"data": "policy=reward_halving;rate=0.01;co2pkwh_t=0.0006;epocM
h=2025W50;n=1;exp=2025-12-14T06:00:13Z",
"tick": "xbr",
"amt": "0.12800000",
"address": "bc1p33vx6j4a3yexccw2u6g0k5n8867s9fc3lw3nsn4aevfmcxgn2e6q7v9fdl",
"dta": "kwh=12.80000000;co2t=0.00768000;geo=44.1006,15.2578;mission=solar_weekly_verification;plant=Mazija Mateo;addr=Zadar,HR;epoch=2025W50;start=2025-12-08;end=2025-12-14;src=iSolarCloud_v1;proof1=8d89fcd1a1823a84edb138447b9b777c67d87a3e898ad030c979d76338922aaa;proof2=d7b9c2b1dca4a459e5552f1f948df2d7f52be851-c3ce16490fa92007385bc623"
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"6524"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"5527"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"6925"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"8829"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"8512"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
7{"p":"brc-20","op":"mint","tick":"UUTC","amt":"210000"}hA
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"7324"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"7728"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"mint","tick":"carpe","amt":"210000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"mint","tick":"UUTC","amt":"20160000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"9812"}h!
text/plain;charset=utf-8
G{"p":"brc-20","op":"transfer","tick":"
","amt":"7777777777777.777"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"beat","amt":"70"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"9727"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
G{"p":"brc-20","op":"transfer","tick":"
","amt":"7777777777777.777"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"10"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"atmc","amt":"10"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"9825"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"8627"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"9712"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"6629"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"9297"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"8624"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
G{"p":"brc-20","op":"transfer","tick":"
","amt":"7777777777777.777"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"7626"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"8729"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"8527"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"8000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"7811"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"6912"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"8924"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"$-:)","amt":"8525"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
=i| MARA Made in USA
4j2TRADE+:maya1qvlul0ujfrq27ja7uxrp8r7my9juegz0ul0lxc
=j;from:0.66664BTCB:0xeCa371165C9e3dA6a719176aD267C4f47E7Ccb50
FjDOUT:2689BA9C91BE2E60368CE04EC3F4466524685AA9BF1B77C3268923FC02B50EA2
FjDOUT:B33EAE1C5C2CE5E7CF292670CE091E2BF20957212C06A39AD62EFA09AD7E559F
FjDOUT:371BC302F83ADDE110A0ACF0C19AE24E83CCE30AD74C4F5712887E00F99221CF
IjGREFUND:33827C414017DFD211D6DAC51EBEDC6CF1147B2F61E9ACF212699C8943CED70B
FjDOUT:AB476138C624493442DFE1BF57ABA60088475BD471BF3B68767708DEE9B8F1DB
FjDOUT:DCC56F5445A47AEFFCCD0584F75A036C1F0CB2EF1B08E01236713154FCAD4B28
FjDOUT:BDAC35231FBB9EFC82E7031762A0C1D5BB38B4D10D73A89307E8D967BFE193D6
FjDOUT:F62A1A2507CC8FAAA16C63D0EB38CA481E4BAF1C48D21F03E28AFC97E213C3A1
FjDOUT:C4FE1D40F2928509E9FB80AEC5F4A86232CA055E202908179CEA50AAB0E7D513
FjDOUT:6021EADBC4CF5FE12A404C5F81EEA7312CCE5A3E8467CB7DB895F72B9AB8306C
FjDOUT:4F6AF8492C02152ADF81503CD925C318055D346BE6444A247D54D527B08557AE
FjDOUT:B9ECD7E3873B82F451487BAF3728E0051954AA0C217E8F47507383DEB181317A
?j=5QY:to:USDT(ERC20):0x3f6D3ba49dC471D6143F998d3DC1A772d206d434
?j=Xai:to:USDT(ERC20):0x9Ec395581a561E231fd79A1b6647921cF5d5787A
?j=5IE:to:USD1(ERC20):0x8B0651C418AD54A890F92cD0a1C893fa08457aFa
9j7to:USDT(BSC):0x3eD10D4A9713F8B2598319662f6C72160F186e27
=j;Si1:to:USDC(BSC):0x13146fAf01e2d1D114b1BF6BA903f29856fE56F4
FjDOUT:3FB8D7AFCE1FA86CA72F81862DFCF25135E0A5B57F270D36C06BCD097625B460
FjDOUT:E7B967F17FFEE9552C0779CE04C4640DEB0AD390637652A31AFFFC4270299196
FjDOUT:57BF1C940FE8AA2396CA15D4111CE20D91DF81E12483653463945E4DA2C1670F
9j7gfp:to:SOL:D8wCigxNQH2pcSUHJWogi5caHBNYcYgRxXMeL7YUV7kn
6j4vB2:to:USDT(TRON):TZBZqtn4xTFNnuGiSj7on49ohNLK2ueDVB
IjGREFUND:37E926860925DED86E735864393A0E1B3E17EF2130970232A4CF2D0D77C2FF9F
FjDOUT:3F8B86399C11BFB687EB8134AAB4E4DF359799F9E739C4CD9EFFEBA523FAA042
6j48P4:to:USDT(TRON):TX4Y6aCQnp5wg4oh8CigLfKVg1ErH6h5VB
6j4ecH:to:USDT(TRON):TZ8DFjLHRQKhHFnRxxFV9Exti5DHbQnr6v
6j4Yfi:to:USDT(TRON):TLAMvLA7eafTJBdpBhK9FrqtNE4BFsMoXQ
;j9to:USDT(ERC20):0xC0568b05A9dd34c85eaBD298ee157Cf86bC4926cA)
;j9to:USDT(Morph):0xd40D7b3F415ecdb50c291B927E605443BB76aAba
6j4keW:to:USDT(TRON):TCPsmJZzYRRCCVSLKERBxhT2bDu99noHqPZ5
6j4p4f:to:USDT(TRON):THPRaUHPXy3sK32gNxrvDaHoGLo6cQ6M2R
6j42u8:to:USDT(TRON):TKERC7gVCHrWzqrnyUsbZPFfxoHLp8miro
7j5IyX:to:ETH:0xfe50E880BAe5F120BDB05b78cBd2f59940830790
OjLL0xfebccccf5e66040fc1dd1fa5af379d38ab74aff81e1e9f9f0d4068849a2d335f=|lifi1
OjLL0x0a2711d82dfad5b7aa3febe12edbe5850716d051106a675aaae226117f211a21=|lifi
DjB0x56311ef4c0a4e316fa53cb015c0566be42817f5e26098e11ece18db79a809d3e
DjB0x2816b4543dd34b1a76a0a5bdc5fe305a5c63633dab2e5cfd3a84542151abaa76
DjB0xe6950a27fc142c9dd46934d6f47bb725227d0853cecd6ffc0ab1210ea26520ff
OjLL0x104dbe69ae06ed3cd52e2a42a6459f83a6d523fc1fbe6dcf840177a86f9bcd98=|lifi
OjLL0xa5ce496da5d901fc651a58d75ec7e67576b1e19d9f63b7321ece4866079f3dc4=|lifi
OjLL0x0d390bcf12b005290f9859b5fa84135ee9febba693a58d3f12ba4e4dc2d52f74=|lifiJ
OjLL0xd6cbea5ad05a944888422fb98a750afab1554493b4dfedf1d16b2fc3114e8e45=|lifi6
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYIrp1M1LCnoP8fBQFA/x+A/x8iM0hKN3FrYWJlc2VrM2N4TDh5SlpHZTFBSGNDZGJaVk5ra/8e"}h!
DjB0x3d61fe0ea81e81727bec99458acce78247e744261bed8f0f2a2991009703d974
HjF=:l:ltc1qkh39a3p57j40exsyyjmpdqx7rpau2wszydfxjy:9145932/1/0:-_/t1:0/70
DjB0xe184fb4502e9fe742b33b49fff8af16cd1ac275c0c251d04e5ecb681ebf2ea2f
DjB0xf3dfbeb8b187e5358fd4d78262435d4c557b1ce9d57a4dc45d5c231e6a3e71fd
DjB0xd01950a9e8be6d2c18dda24febaccdf5cc2c12b7e102de3fc93011d25568db17
DjB0xeb0aa104e7aaf68a85731076a895d259405e6b627d9e8b1fb93db0246d553c03
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"600"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2600"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"rats","amt":"1000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"303"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
dNamekAlien #4224dFaceiThird EyejBackgroundcAirdSkindGreyfOutfitjHawaii ReddHeadqCap Planets BlackdHanddNonejCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"303"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"500"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
dNamekAlien #4372dFacejDizzy EyesjBackgroundeSpacedSkindGreyfOutfitdPimpdHeadrCap Planets PurpledHanddNonejCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
LL{"p":"brc-20","op":"deploy","tick":"UUOE","max":"21000000","lim":"21000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"BTC.z","amt":"200"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"350000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTC.D","amt":"60"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTC.D","amt":"40"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTC.D","amt":"50"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
dNamekAlien #1141dFacemPredator EyesjBackgrounddPinkdSkineGreenfOutfitsT-shirt X-Ray BlackdHeadiTrash CandHanddBongjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"BCLD","amt":"175000000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"250"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"X@ai","amt":"10000000000"}h!
7{"p":"brc-20","op":"mint","tick":"UUOE","amt":"210000"}hA
7{"p":"brc-20","op":"mint","tick":"UUOE","amt":"210000"}hA
7{"p":"brc-20","op":"mint","tick":"UUTC","amt":"210000"}hA
=i/Foundry USA Pool #dropgold/
>j<from:0.519292BTCB:0x8bf24A54a9E3A6bCa0F9baE1196FEc8aeFaC71fCR
6j4plu:to:USDT(TRON):TRgAhoUVyLGEEKxw68krBDAbtyroftHpYh
6j4luP:to:USDT(TRON):TEdoQBTLormcB32yMRJD7TERVaPaNdr1yJ
6j42Wx:to:USDT(TRON):TQgT7bPCZGTsJ7KnDj73xvCSpf35NQi1QQ
FjDOUT:F529A99FA42A5DFC702E84A4194A8D664AC4FC9EC2EFED0EBE5FF541D126BB35
9j7to:TON:UQCIfgRR9w1Pe8rA0dNe2Dm5BR2ZguL_SIlToE59KFJP9-a-
6j4hW4:to:USDT(TRON):TLC9XKw9qtRtHVqFAUSyvhFX6PBMW3U177Z
6j4Imv:to:USDT(TRON):TTZbkLEr7UmM3RSnbFS1xkWsemuencQQzJN
6j4pjL:to:USDT(TRON):TRgAhoUVyLGEEKxw68krBDAbtyroftHpYh""
DjB0x9929ce612b24499d88a90551f391e02e3bd9590312f3dd08b129da0b0ed4a66f
DjB0xb28f39a5984cb37d2c979cd16e1fdbff104d42ca27c98f8e6c38a1d570b91545
OjLL0x7ffc10b702515a69d49357b022e9568ec9bfe7d386fa93f128ba4cd3d87a6364=|lifiz
OjLL0xd07a27f790d6a33dc0d1c5230426bddf20228d716b06e9ca141ed6c1386192be=|lifi
DjB0xfe002af3931569216fdf074a274d22192f36d14f4750bc2af8a694ad3e04e6d7
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYIeGeDJurJ/yAE2jD/H4D/HyIzSEo3cWthYmVzZWszY3hMOHlKWkdlMUFIY0NkYlpWTmtr/x4"}h!
DjB0xc0ed41f920a650f6428f488553e32a0dbefe487950489461066875f1a4336625
QjLN=:ETH.USDT:0xFb0eC9f9f9635894f82E74D6b444675a00eb12c7:319273500/1/0:-_/t1:0/70h
FjD=:f:0x875ce7e6E0D909a9A932114b1Cbb917cdC8C2A49:100684/1/0:-_/t1:0/70
FjD=:s:0x4172F0b0653b8eC885DD1296D7394b49683043Cf:545933/1/0:-_/t1:0/70
DjB0xb0175b75467913dcc23fd548ef7db0925533dcf293c7ba2b3afe7369c8934000
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"mint","tick":"UUOE","amt":"2100000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"mint","tick":"UUOE","amt":"20160000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"500"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"XDog","amt":"30000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
messifreedom.bitmaph!
text/plain;charset=utf-8
primehydrate.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
messiomverse.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
sovereignty.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
valorantgame.bitmaph!
text/plain;charset=utf-8
messibitcoinverse.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
spotifypremium.bitmaph!
text/plain;charset=utf-8
leagueoflegends.bitmaph!
text/plain;charset=utf-8
minecraftworld.bitmaph!
text/plain;charset=utf-8
thebitcoinverse.bitmaph!
=i/Foundry USA Pool #dropgold/
?j=7gO:to:USDT(ERC20):0xeA62e8a5f6e27298B6B7CfD90BBBa57403e87F80
OjLL0x4a94e900efe2515f3c6683b31d079e46f6573db246804c6e03f8979b70b91e1d=|lifiK
DjB0x7ffc10b702515a69d49357b022e9568ec9bfe7d386fa93f128ba4cd3d87a6364
6j4ZXZ:to:USDT(TRON):TVWXAZqPNGkmGVA34zACVwP29jndUBRFRr
OjLL0xa6e05efbe84809b06faa2d8abfc1e56d1d85e6bce8ab06ba175efd51d57a19ba=|lifi8
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"9000000000"}h!
DjB0xd07a27f790d6a33dc0d1c5230426bddf20228d716b06e9ca141ed6c1386192be
DjB0xb3b60a89e06ad0c4b880c5e6508421eaa0933fbfb51770687cc72c3f4823a9a0h
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac
>stamp:{"p":"src-20","op":"tranJ
sfer","tick":"STAMP","amt":9000}#
?j=Myj:to:USDT(ERC20):0x1a7E6B5Ddb1c20b85A91B0F8b73e3d20ffF3826F
6j4KbG:to:USDT(TRON):TPUUNGwSqaGHzBYZHr7yNuXUct6JfJB9jm
?j=U6M:to:USDT(ERC20):0x9Ec395581a561E231fd79A1b6647921cF5d5787A
?j=Wd6:to:USDT(ERC20):0x447AEEd2BFfEbCB7aF834CA6e3B5132a77Ba6C97
=j;dUl:to:USDT(POL):0x30B1dBa605f6d2985A40890632cdD5151B387457
=j;1iu:to:USDT(BSC):0x45100cC1d8D2B840660c0279c324CdfD00F9847A
9j7to:USDT(POL):0xf0d4Aa1DF4AAddCbc4A0e4D7c0ca31a986DCBD10
6j4arO:to:USDT(TRON):TMaHhLHYGBAMmXFbcAfWw2sUjCuKubbKGC
FjDOUT:D37CC4CD89069BAF2623D099AB31209875F5495D797165A0889400EFC96CA11F
FjDOUT:0BB04AA40866FC683908CA322F2CFABD5F0F1B862B7FBBBF9EB4A4303A9BE751
OjLL0x21472af0b3d7832fd5dd4b2d739ee2f76a5a1bcbe869dbc00bff5fc00af0b282=|lifi
6j4IzP:to:USDT(TRON):TQKTBHBbEnYzge6J8QB4fXYUVstajw7ahR
<j:=:e:0x2203A9834C2684De1a28F53552edAb24B4F8A5F5:0/1/1:ej:75}
DjB0xb4bf0d8d84a6e90d89251a1fd8aea950a607928bfcb36dd6ce48737029326237
6j4UuZ:to:USDT(TRON):THrJKSqnXRfRH6AHUR4vczhwjampEVmCLki
EjC=:TRON.USDT:TQPqAeQmMzRvGM3nmrSgRQJSgBFcTiporJ:21751115871/1/0:ns:8EG
=j;5YM:to:TON:UQDa6kEcTxu56klZssjrlP3PFsTFOQS1y7gFxQwvtOGrBJYq
OjLL0x82ddadef3522344b8ecbc25e69798280b86f0c8fb692b265220dc9d7fdfd68eb=|lifi
OjLL0x45c762152be13ea1fdd15e30563eb6ff5571878efc80a311af6f02d408b26bd1=|lifi
6j4H3o:to:USDT(TRON):TB8VETpyZQ8xkzEuNoL7KuP6UfG5prg7zD
Aj?=:e:0xaA5A16FD176B9E9d28710FE0B650775E19739a52:29868:-_/t1:0/70
DjB0xa6e05efbe84809b06faa2d8abfc1e56d1d85e6bce8ab06ba175efd51d57a19ba
DjB0xdc3a5057c3be74cac05838476f972a3edc5b3b975893ce044d6f4b1e5cc25347
DjB0xb6789ee92cc94397afb1d3145b5aad53c25f0d0de9899314578583ee863eb80f
text/plain;charset=utf-8
LL{"p":"brc-20","op":"deploy","tick":"UUTP","max":"21000000","lim":"21000000"}h!
7{"p":"brc-20","op":"mint","tick":"UUTP","amt":"210000"}hA
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"180"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"200000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"230"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"atmc","amt":"1"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"atmc","amt":"1"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"210000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"atmc","amt":"1"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"210"}h!
6j4mIr:to:USDT(TRON):TWMMnwirJogEZjBkWiPSoJNw8isENg9S4y
6j46qU:to:USDT(TRON):TG7574VTAna3j2exrmbBaUvCm68oc5foxe
6j4QdU:to:USDT(TRON):TQgT7bPCZGTsJ7KnDj73xvCSpf35NQi1QQ
9j7ff9:to:SOL:DpEy5YuKPm27ZL6tqpe1VmcFzmuiRCcV17ab9WUZRReP
=j;dZO:to:USDT(BSC):0x089d55557d469DA2050F36a0e2d11324b05B3d37
?j=iaP:to:USDT(ERC20):0x6Ed83e8947fDcA3048D7756650BdBe87bbeAFf0f
FjDOUT:7936A0E885F700B4CFFA7C47370B7BB29D09EFEEB20D8D0FDBC1DA0079393CF1
FjDOUT:F9A08D09274F4A9044BA447CCA003F5EFB8F7056A4C0DBCE70B4CAF51BDE7A20
FjDOUT:544F2A69EF266D56EE8F34E9B30D1BD88EFAECF04728483374564B4C0B744C89
FjDOUT:DBAC37FEA0B6FF514CEC071A68C077E4257F950B8D00E19E2FD3B7B5BB7E7125
FjDOUT:ADF9B19F475FE62C0664DEAC3FD7903078A5627A0D0C761A32A6434FFDB02931
FjDOUT:CD48B494144378D36DEEBD77835414099A80B9C10220BA11B7B733D4C56FEE9A
FjDOUT:AA0B563B15BDBEA693334C16EF59AEE2A5BE815CD317B55427B803A9568246CD
FjDOUT:F94E5E2A321DAF58618D7052A3A5474735B375A2F262314851092F07504A7187
FjDOUT:FA563C502BD3717C758287CA441295C5BA8E51B5D18FE9B5D956D4FC446920AE
FjDOUT:DB574E9D69A128E9DC54AD183D3C7A310D49EEE9E87EB6F5926353499CA364C2
FjDOUT:4CE9C039AA6B23F87FA661C6916352EB9F7FB66B56AFDD9473D2D9E539C8F4AD
FjDOUT:00D55285793FE847C9F455D03B1F86ABD82D029870EEC60C736FA46B7C057643
FjDOUT:A18B063BD54373D07F708653D46DBF79E620323183D2FDB336C57135C0868970
FjDOUT:2969B8665C0E58CA738A15AE2A42BBC9AA544C82933AA4B293BE1AD5BD867279
HjF=:e:0xDf888bA943675Ba6c3A900e1A957aE68d8c9E733:1382450/1/0:-_/ll:0/145P
6j4oke:to:USDT(TRON):TQwLa2seffYY6CWuRpMJX5pJafwnEf59FG
OjLL0x975d95ae580ed2c97574fd91cd13383447188f4d5d7e5f41cff76947a6ab6166=|lifii
DjB0x48b49e9f83b677422749618b40930c107f73e5743342dd52ce522c40c41e47a7
>stamp:{"p":"src-20","op":"tranJ
sfer","tick":"STAMP","amt":9000}
7{"p":"brc-20","op":"mint","tick":"uutp","amt":"210000"}h!
OjLL0x1271593bea35ff522f93ca886124bd444d689d9b0dbe17c212ed096962ea8fe2=|lifi
text/plain;charset=utf-8
7{"p":"brc-20","op":"mint","tick":"UUTP","amt":"210000"}h!
OjLL0x819bc1f2229df0e198b913d26f7bfd674c14b8eab545283f9e33145843a6452c=|lifi
DjB0xa5025039414570260a5eb44c67f3cf6fae1bc522c1a5a09715d76a1e448de10a
DjB0x2ca3a2933d407c6f06549a2edf9be828bb67d61c35c1f98d05d9f2d0287d8595
DjB0x1b37cd947fe608c14c87664dcbe6c93202107532a7cbef0156ff7f94ee55f781
OjLL0xaa7e973a94dee3db9b0803cea147cab73e2bb783bcd0e41a4c172514e5e6b44b=|lifi
7{"p":"brc-20","op":"mint","tick":"UUTP","amt":"210000"}hA
7{"p":"brc-20","op":"mint","tick":"UUTP","amt":"210000"}hA
7{"p":"brc-20","op":"mint","tick":"UUTP","amt":"210000"}hA
7{"p":"brc-20","op":"mint","tick":"UUTP","amt":"210000"}hA
text/plain;charset=utf-8
{"d":"0x095ea7b30000000000000000000000005168f7a79b3ccbe94ee1e8a095aaa1f035bd98e8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","c":"0x4aa8e9ca6d90e2e47b44336aa4725894332c1b16","p":"brc20-prog","op":"call"}h!
text/plain;charset=utf-8
{"p":"brc20-prog","op":"call","c":"0x5168f7a79b3ccbe94ee1e8a095aaa1f035bd98e8","d":"0x38ed1739000000000000000000000000000000000000000000000226a4bdd406f17027000000000000000000000000000000000000000000000000000002d110fcfb8fab00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000005b26a48dee6bed5db8e9a2d0f76096d3f8530bd0000000000000000000000000000000000000000000000000000000069419d3f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000004aa8e9ca6d90e2e47bLX44336aa4725894332c1b160000000000000000000000007a6a7ea71bc7943e8cd32b64dde8feba58f05531"}h!
EjC=:e:0x8d2A884D71Bb7FEA137d24F8e2e8048730E92226:93002/1/0:-_/t1:0/70
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1006"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"ordi","amt":"6722"}h!
DjB0xdc51625f8b912285863cea6d6d415b878b18b290c07d532db40dd9c9e77805e0
DjB0xac6712e433525340ff42d5ad422e7bf0b27316accdcfbafa77330431e4c9bd1d
GjElEdge2bcb93cf01436b2f46ddc7f120b1ef69439c2aac5df89b931b42ad9b39ca0b15
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"mint","tick":"UUTP","amt":"21000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"rats","amt":"1000000"}h!
DjB0x141cfcd7d2e78546544a1b29f8a86cb5c4f3a3a3731878932c4a78446be585e6
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"1.5"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"mint","tick":"UUTP","amt":"19999000"}h!
4j2TRADE+:maya1qvlul0ujfrq27ja7uxrp8r7my9juegz0ul0lxcv
FjDOUT:A2C62B1C94C527C5EA7E2CF3F466705E3D1D05DA3501CCB8090008A122CB9399
FjDOUT:32D3BF1557847AB038E27446B942A931EA44F2E8775D74FA63E4881D934C9CA8
FjDOUT:9572A0BC55162D59893411353270775A66DDBC3A3BDA7DE68DD70A4E8116E8B0
FjDOUT:D5D84DFBB1FAF363B1F69E5CEBCC97F15C7B523CDC9969F98C0BBC0FDBB68D77
FjDOUT:A243E3C50A901C538B48036003996D0CDED73CFEA613B6A1196B630903B376AC
FjDOUT:4BE515D48AD5AC07C4E8F4DDC8E8EBEE97E18B14A07A2E95C17B8E885E12706F
FjDOUT:E375078D0CD510173311C028D6EEB46D6E80A8E9974B18A9DBF707B279F039FD
FjDOUT:DC2CDC82ABA460E30B3050081461F7E68B36CE4041B2DCEED6ED408A72710CF9
FjDOUT:7321E872B81839E7CF4539CFE19A6BCC15B57B96785163C3BF0286FDD081364A
FjDOUT:2ACA19FC9CD0EA5A09C4656DC6F71D823507E703F384AA9E2D714F504BF227C8
FjDOUT:7AA848A356FB27286067872094B43F5ED1BAA3D24DC0DD9EA9028DC07EF59A56
FjDOUT:8F136CC10E2172EEAB2B1DE54F7E574F46689425962C709D969A2770B89B6858
FjDOUT:7A89520D22EBB4BC0A15DC630545A30FB6DED19683B2CC003188FAB1B3EA75BF
FjDOUT:749225DC58BC778F89E1A977CFDCC03DAC87D8ED708C97ECAF84B6F305DF12E7
FjDOUT:56B465BC72623129E551CDA18B9ED37B85EA60A45B6D6E8B97F1E6337DABF50C
FjDOUT:0AC2EE32E4F169C318688ADFB42106A1FAA0AA391B40780A255BF0C9A2DE3D37
FjDOUT:3D93B62DA7D2B06E53C23DA558EA7C424597438B1A996604B9C592A04D8BA8F1
FjDOUT:C4640FC92AD0CAA76494C4A28A95EC4EF961C24DDB85B3AF450E7ACC23A738B1
FjDOUT:D4D72BF614C39FE88A6DFB838E59D535E3CCC7CA53B401E49C2609CE3D2A10B8
FjDOUT:6DA8FB2DCF9957C6D50E8A12C4B41AE969114BA3D6936D55F00A777BA6BCFA28
FjDOUT:63E863ED5ECD6F25D6E2DA3D8DEE78A731AA40A0DFEF3C0A1FB345B9D8265561
FjDOUT:336BB65B18FAF343F041834423AFBEE640080D2AAA9EE11F5AC1DB96B1F60AB8
FjDOUT:C2167A85AA5FDBBFF6DB3BE45E53986F7F5019FCE6E1C62023C02A3FFCCFF218
FjDOUT:5021B9229094062B56B7638B2656933901FEE6C6636942BACD137A2F6D3D08D0
FjDOUT:C7C78CF08441227F7F15028F51579906F2AAFD1648AE0C82AE9D23E0D820290F
6j4e4W:to:USDT(TRON):TGHJ8hs8WCUUKYMxKW6Yqdp1CqcHdz39B3
?j=i9D:to:PAXG(ERC20):0xF374Cf1ca35E0E5B79457B8ef10e221A779aC36c
6j46sU:to:USDT(TRON):TMogJdZzCNhRDPM9xEcbpKCnco94QAdngh
6j41nH:to:USDT(TRON):TCrJBGg8aMstQVm97fkvTvbUsYQ5gcsZpa
8j6zrr:to:LINK:0xDe409802De089d97FE93fDC9E7920bFF6328027f
/j-yW8:to:TRX:TUnXASq4EVaYS32ikRxv6CGGbur6T3GKfP
6j4LZo:to:USDT(TRON):TL2b9myDsDyBBxhfzVhQjKNPwzJdkoZmTC
:j8=:e:0xbab4365F1EA8C59D20bE94Fa28BeC778A1cDF46C:179117105
8j6xJf:to:USDC:0x765Be78a44e8DA2d05D10280E925e9A0695fB53C
4j2to:LTC:ltc1qa5yszzdzsws09962w2u8kl5we4h63pqdgpcsjq
<j:HwO:to:POL(POL):0x504612071970e52E051Fd97d2A34abd576EAf634
6j4wRB:to:USDT(TRON):TXjLpu3R1rMUoLUYeQpVNkrToYSftTt7tM
6j4rR0:to:USDT(TRON):TVTVk8tYbAbgpHq4o3SAHriPFsuJ3xFkA5
OjLL0x73c5b2427216618bd6c08bab9aa82e8781ae794b112d217026d1953e3d199a33=|lifi
OjLL0x79d0f117b3c674d44b08cefb9e0eac9ac64a44995f32fb4ad633e6625369b485=|lifi
DjB0xc432499f20120453f63feec361443c6d0fd10fa0f44ba61388b01081f7e2d978
B7bf687de26782c8a4df8f574893722fd2762c69ac13367a3274a88bd505039a2:0a
text/plain;charset=utf-8
{"p":"brc20-prog","op":"call","c":"0x5168f7a79b3ccbe94ee1e8a095aaa1f035bd98e8","d":"0x38ed17390000000000000000000000000000000000000000000000000002d852c78940000000000000000000000000000000000000000000000004c5233627d2f00635a500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000005b26a48dee6bed5db8e9a2d0f76096d3f8530bd000000000000000000000000000000000000000000000000000000006941a2bf00000000000000000000000000000000000000000000000000000000000000020000000000000000000000007a6a7ea71bc7943e8cLXd32b64dde8feba58f05531000000000000000000000000d72309faceb4e35312cad99404fdb384d88c9999"}h!
DjB0x32911e9f89762d195c2937798fdca08a25a49cc0901fa86e34f4be3254fedaa4
=j;=:tr:TQPqAeQmMzRvGM3nmrSgRQJSgBFcTiporJ:2647624787/1/0:ns:8S!
6j4L0h:to:USDT(TRON):TMjm8oFLjAaU8tEuZSpDSEQqgxyNyKTovtP/B
OjLL0x0f1b26dbccf75dfd389873b65c895c2a0c49ece94a5b325936c4f15cb2309d81=|lifi
DjB0xb374bff70445450e11696e084e8162cd2b6a24b5e4d10ac1d502294050b4f574
DjB0x2880f24331a9442378ea64441e3cc6eec4e77163e5298e0869cd27b7dae51445
OjLL0xa68a8fa87ce361697b6e536aafe15ce31cd92891a860f65578b44370a62f4600=|lifiT0
OjLL0x6d0e816f164f29fd2fa5dd75e3473698277774c43da36f0b99ce95f36cf568f5=|lifi=
DjB0x2f8e18ea1d16db164da88f2c250462af06cbaf8c9f6ce4e6e79f4c7517b9a11b
RjLO=:BASE.USDC:0x875ce7e6E0D909a9A932114b1Cbb917cdC8C2A49:125192700/1/0:-_/t1:0/70
EjC=:e:0x6BC4920bCaB6344330B6005D05Ca1A47C3Bf8E7F:19953/1/0:-_/t1:0/706
DjB0x2959c4aeb1f48a1ab4718a6462bb109907ca3fad24d6707450b929aeb0ff9047
DjB0x30b632cc49120b36026ff3fee1b7a9fc3dc8907af9ad6b81f27fd2f1e7e9d702
DjB0x6afa5bb6955037b008644e96bade27626df04ce1ba07729eb3c93e5d336e1fa9
DjB0x4cb864fa9f0e720e3a2263e8421f6e97961405459826a5030398bccef9484aaa
DjB0xe11ca35cae57e5cb79f63432d46a5e33cc8acff215c2d08d8144b482cac7e5bc
text/plain;charset=utf-8
text/plain;charset=utf-8
B{"p":"brc-20","op":"transfer","tick":"sats","amt":"1577932239029"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"ATNG","amt":"5000000000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"5"}h!
text/plain;charset=utf-8
TheMuseumofUndiscoveredArts.btch!
=i| MARA Made in USA
>j<from:0.967882BTCB:0x9dd639a39749f665A53fc6bB89a495C913ce5b06~W -
>j<from:1.069732BTCB:0x0C8C1677AAF82Ff78Bde89fA93460aeF7aEd2B8a
=j;from:1.09951BTCB:0xa6C9ad8ef742a1Df0025F1EEE85c10bF57F82854
>j<from:0.645506BTCB:0x747fEa0DF0877C4137Af8EcBC14a167AC658c911
>j<from:0.864714BTCB:0xe46D80503eF10FF614C9e43eE51e71614c0ee9ad
=j;from:0.89511BTCB:0xBB9d49b4D33295B778E9D805e7e442129C50bb8B
>j<from:1.296679BTCB:0xA490a68DD0399493f403E91AA2f95ba405CB0612
FjDOUT:DF8C4F5A75EFCD92D2244887486D03C3DBD03240D5219004BCDE393CFBB19634
FjDOUT:4F93155DF0DEF9F9E0DE8E005DBDEE372CEC9F72D27C79ECF1E0930C00414A94
2j0to:USDT(TRON):TWjaqFKCFv1r3H79oLsZUgJ9hZnTCWet7S
=j;402:to:USDT(BSC):0x42471Fc974422f3df60AE18857a8b07Cf9C16539
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"700"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"500"}h!
7{"p":"brc-20","op":"mint","tick":"UUTP","amt":"210000"}hA
text/plain;charset=utf-8
hybridreality.bitmaph!
text/plain;charset=utf-8
amorvirtual.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
amordigital.bitmaph!
text/plain;charset=utf-8
expandedlove.bitmaph!
text/plain;charset=utf-8
digitallove.bitmaph!
text/plain;charset=utf-8
virtuallove.bitmaph!
text/plain;charset=utf-8
hybridrealitylove.bitmaph!
text/plain;charset=utf-8
realidadexpandida.bitmaph!
text/plain;charset=utf-8
expandedrealitylove.bitmaph!
text/plain;charset=utf-8
realidadaumentada.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
augmentedlove.bitmaph!
text/plain;charset=utf-8
mixedrealitylove.bitmaph!
text/plain;charset=utf-8
realidadhibrida.bitmaph!
text/plain;charset=utf-8
realidadmixta.bitmaph!
text/plain;charset=utf-8
amoraumentado.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
creadorlibre.bitmaph!
text/plain;charset=utf-8
parasiempre.bitmaph!
text/plain;charset=utf-8
freecreator.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
eldespertar.bitmaph!
text/plain;charset=utf-8
messifreedomgenesis.bitmaph!
text/plain;charset=utf-8
eternalconsciousness.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
truthliberation.bitmaph!
text/plain;charset=utf-8
messiawakening.bitmaph!
text/plain;charset=utf-8
sovereigntruth.bitmaph!
text/plain;charset=utf-8
eldiosdespierto.bitmaph!
text/plain;charset=utf-8
messidespertar.bitmaph!
text/plain;charset=utf-8
eternalconscious.bitmaph!
text/plain;charset=utf-8
humanityawake.bitmaph!
text/plain;charset=utf-8
divineawakening.bitmaph!
text/plain;charset=utf-8
Le{"p":"brc-20","op":"deploy","tick":"BATYR","lim":"330","max":"1000000","self_mint":"true","dec":"18"}h!
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TheBOX200</title>
box-sizing: border-box;
overflow: hidden;
background: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 50%, #0f0f1e 100%);
font-family: 'Courier New', monospace;
pointer-events: none;
position: absolute;
transform: translateX(-50%);
font-size: 14px;
text-shadow: 0 0 10px #00ffff;
pointer-events: none;
<div id="canvas-container"></div>
<input type="file" id="image-input" accept="image/*" style="display: none;" multiple>
<!-- Import Map for Three.js from Ordinals (NO HTTPS) -->
<script type="importmap">
"imports": {
"three": "/content/0d013bb60fc5bf5a6c77da7371b07dc162ebc7d7f3af0ff3bd00ae5f0c546445i0"
<!-- Define initialization function BEFORE loading Three.js module -->
// Initialize OrbitControls and app after Three.js loads
function initializeAfterThreeJS() {
// Prevent multiple calls
if (window._tM
hreeJSInitialized) {
console.log('
initializeAfterThreeJS already called, skipping...');
window._threeJSInitialized = true;
console.log('
Three.js loaded, initializing OrbitControls...');
console.log('
THREE is:', typeof THREE, THREE);
if (typeof THREE === 'undefined' || !THREE.Scene) {
console.error('
THREE is not properly loaded!');
// initOrbitConM
trols will be defined later, check if it exists
if (typeof initOrbitControls === 'function') {
initOrbitControls();
console.log('
OrbitControls initialized, checking THREE.OrbitControls:', typeof THREE !== 'undefined' && typeof THREE.OrbitControls);
console.warn('
initOrbitControls not yet defined, will retry...');
setTimeout(initializeAfterThreeJS, 100);
// Wait a moment for OrbitControM
ls to be fully initialized, then start the app
setTimeout(function() {
console.log('
Checking for initApp function:', typeof initApp);
if (typeof initApp === 'function') {
console.log('
Calling initApp()...');
initApp();
} else {
console.warn('
initApp function not found, app.js may not be loaded yet');
// Retry after a delay
setTimeout(function() {
if (typeofM
initApp === 'function') {
console.log('
Retrying initApp()...');
initApp();
} else {
console.error('
initApp still not found after retry');
}
}, 500);
// Initialize OrbitControls after Three.js loads
function initOrbitControls() {
console.log('
initOrbitControls called, checking THREE...');
if (typeof THREE === 'M
console.error('
Three.js not loaded');
console.log('
THREE is defined:', typeof THREE, THREE);
// Ensure THREE is an object (not undefined or null)
if (!THREE || typeof THREE !== 'object') {
console.error('
THREE is not a valid object:', typeof THREE, THREE);
// If THREE is an ES6 Module object, try to extract the actual THREE object
dules are not directly modifiable, so we need to get the actual object
let THREE_Obj = THREE;
if (THREE.default && typeof THREE.default === 'object' && THREE.default.Scene) {
console.log('
THREE is a module, extracting default export...');
THREE_Obj = THREE.default;
} else if (THREE.THREE && typeof THREE.THREE === 'object' && THREE.THREE.Scene) {
console.log('
THREE is a module, extracting THREE property...');
THREE_Obj = THREE.THREE;
} else if (THREE.Scene) {
// THREE is already the correct object
THREE_Obj = THREE;
console.log('
THREE is already the correct object');
console.log('
THREE might be a module object, trying to use it directly...');
THREE_Obj = THREE;
// Update window.THREE to point to the actual object
if (THREE_Obj !== THREE) {
window.THREE = THREE_Obj;
console.log('
indow.THREE to actual object');
// OrbitControls implementation - full constructor that works with 'new'
if (!THREE_Obj.OrbitControls) {
console.log('
Creating THREE.OrbitControls function...');
// Use a closure to capture THREE_Obj
(function(T) {
T.OrbitControls = function(camera, domElement) {
this.camera = camera;
this.domElement = domElement || document;
this.enaM
this.dampingFactor = 0.05;
this.minDistance = 3;
this.maxDistance = 15;
this.enablePan = false;
this.enabled = true;
// Internal state - use T which is the actual Three.js object
this.spherical = new T.Spherical();
this.sphericalDelta = new T.Spherical();
this.scale = 1;
this.panM
Offset = new T.Vector3();
this.zoomChanged = false;
this.rotateStart = new T.Vector2();
this.rotateEnd = new T.Vector2();
this.rotateDelta = new T.Vector2();
this.panStart = new T.Vector2();
this.panEnd = new T.Vector2();
this.panDelta = new T.Vector2();
this.dollyStart = new T.Vector2();
this.dollyEnd = new T.Vector2();
this.dollyDelta = new T.Vector2();
// Event handlers
this.onMouseDown = this.onMouseDown.bind(this);
this.onMouseMove = this.onMouseMove.bind(this);
this.onMouseUp = this.onMouseUp.bind(this);
this.onWheel = this.onWheel.bind(this);
this.onTouchStart = this.onTouchStart.bind(this);
this.onTouchMove = this.onTouchMove.bind(this);
this.onTouchEnd = this.onTouchEnd.bind(thM
// Bind events
this.domElement.addEventListener('contextmenu', this.onContextMenu.bind(this));
this.domElement.addEventListener('mousedown', this.onMouseDown);
this.domElement.addEventListener('wheel', this.onWheel);
this.domElement.addEventListener('touchstart', this.onTouchStart);
this.domElement.addEventListener('touchend', this.onTouchEnd);
this.domElement.addEventListener('touchM
move', this.onTouchMove);
this.update();
// Ensure T.OrbitControls is defined before setting prototype
console.log('
Checking if T.OrbitControls is defined:', typeof T.OrbitControls, T.OrbitControls);
if (!T.OrbitControls) {
console.error('
Failed to create T.OrbitControls function');
return;
consoleM
Setting T.OrbitControls.prototype...');
T.OrbitControls.prototype = {
onContextMenu: function(event) {
if (this.enabled === false) return;
event.preventDefault();
onMouseDown: function(event) {
if (this.enabled === false) return;
event.preventDefault();
if (event.button === 0) {
M
this.rotateStart.set(event.clientX, event.clientY);
} else if (event.button === 1) {
this.dollyStart.set(event.clientX, event.clientY);
} else if (event.button === 2) {
this.panStart.set(event.clientX, event.clientY);
}
document.addEventListener('mousemove', this.onMouseMove);
document.addEventListener('mouseup', this.onMouseUp);
onMouseMove: function(event) {
if (this.enabled === false) return;
event.preventDefault();
if (this.rotateStart.lengthSq() > 0) {
this.rotateEnd.set(event.clientX, event.clientY);
this.rotateDelta.subVectors(this.rotateEnd, this.rotateStart).multiplyScalar(0.002);
this.rotateLeft(2 * Math.PI * this.rotateDelta.x);
this.rotateUp(2 * Math.PI * this.rotateDelta.y);
this.rotateStart.copy(this.rotateEnd);
} else if (this.dollyStart.lengthSq() > 0) {
this.dollyEnd.set(event.clientX, event.clientY);
this.dollyDelta.subVectors(this.dollyEnd, this.dollyStart);
if (this.dollyDelta.y > 0) {
this.dollyOut(this.getZoomScale());
} else if (this.dollyDelta.y < 0) {
this.dollyIn(this.getZoomScale());
}
this.dollyStart.copy(this.dollyEnd);
} else if (this.panStart.lengthSq() > 0) {
this.panEnd.set(event.clientX, event.clientY);
this.panDelta.subVectors(this.panEnd, this.panStart).multiplyScalar(0.001);
this.pan(this.panDelta.x, this.panDelta.y);
this.panStart.copy(this.panEnd);
onMouseUp: function() {
if (this.enabled === false) return;
this.rotateStart.set(0, 0);
this.dollyStart.set(0, 0);
this.panStart.set(0, 0);
document.removeEventListener('mousemove', this.onMouseMove);
document.removeEventListener('mouseup', this.onMouseUp);
onWheel: function(event) {
if (this.enabled === false || this.domElement.contains(event.target) === false) return;
event.preventDefault();
if (event.deltaY < 0) {
this.dollyIn(this.getZoomScale());
} else if (event.deltaY > 0) {
this.dollyOut(this.getZoomScale());
}
onTouchStart: function(event) {
if (this.enabled === false) retM
if (event.touches.length === 1) {
this.rotateStart.set(event.touches[0].pageX, event.touches[0].pageY);
} else if (event.touches.length === 2) {
const dx = event.touches[0].pageX - event.touches[1].pageX;
const dy = event.touches[0].pageY - event.touches[1].pageY;
const distance = Math.sqrt(dx * dx + dy * dy);
this.dollyStart.set(0, distance);
onTouchMove: function(event) {
if (this.enabled === false) return;
event.preventDefault();
if (event.touches.length === 1) {
this.rotateEnd.set(event.touches[0].pageX, event.touches[0].pageY);
this.rotateDelta.subVectors(this.rotateEnd, this.rotateStart).multiplyScalar(0.002);
this.rotateLeft(2 * Math.PI * this.rotateDeltM
this.rotateUp(2 * Math.PI * this.rotateDelta.y);
this.rotateStart.copy(this.rotateEnd);
} else if (event.touches.length === 2) {
const dx = event.touches[0].pageX - event.touches[1].pageX;
const dy = event.touches[0].pageY - event.touches[1].pageY;
const distance = Math.sqrt(dx * dx + dy * dy);
this.dollyEnd.set(0, distance);
M
this.dollyDelta.set(0, Math.pow(this.dollyEnd.y / this.dollyStart.y, 0.5));
this.dollyOut(this.dollyDelta.y);
this.dollyStart.copy(this.dollyEnd);
}
onTouchEnd: function() {
if (this.enabled === false) return;
this.rotateStart.set(0, 0);
this.dollyStart.set(0, 0);
getZoomScale: functioM
return Math.pow(0.95, 1);
rotateLeft: function(angle) {
this.sphericalDelta.theta -= angle;
rotateUp: function(angle) {
this.sphericalDelta.phi -= angle;
panLeft: function(distance, objectMatrix) {
const v = new T.Vector3();
v.setFromMatrixColumn(objectMatriM
v.multiplyScalar(-distance);
this.panOffset.add(v);
pan: function(deltaX, deltaY) {
if (!this.enablePan) return;
const element = this.domElement;
const offset = new T.Vector3().setFromMatrixColumn(this.camera.matrix, 0);
offset.multiplyScalar(-deltaX);
this.panOffset.add(offset);
const up = new T.VecM
tor3().setFromMatrixColumn(this.camera.matrix, 1);
up.multiplyScalar(deltaY);
this.panOffset.add(up);
dollyIn: function(dollyScale) {
this.scale /= dollyScale;
dollyOut: function(dollyScale) {
this.scale *= dollyScale;
update: (function() {
// This IIFE needs acceM
ss to T, so we'll create it inside the closure
let offset, quat, quatInverse, lastPosition, lastQuaternion;
return function() {
// Initialize these once using T from the outer closure
if (!offset) {
offset = new T.Vector3();
quat = new T.Quaternion();
quatInverse = new T.Quaternion();
lastPosition M
lastQuaternion = new T.Quaternion();
}
const position = this.camera.position;
quat.setFromUnitVectors(this.camera.up, new T.Vector3(0, 1, 0));
quatInverse.copy(quat).invert();
offset.copy(position).sub(new T.Vector3(0, 0, 0));
offset.applyQuaternion(quat);
M
this.spherical.setFromVector3(offset);
if (this.enableDamping) {
this.spherical.theta += this.sphericalDelta.theta * this.dampingFactor;
this.spherical.phi += this.sphericalDelta.phi * this.dampingFactor;
} else {
this.spherical.theta += this.sphericalDelta.theta;
this.spherical.phi += this.sphericalDelta.phi;
M
this.spherical.phi = Math.max(0.1, Math.min(Math.PI - 0.1, this.spherical.phi));
this.spherical.makeSafe();
this.spherical.radius *= this.scale;
this.spherical.radius = Math.max(this.minDistance || 0, Math.min(this.maxDistance || Infinity, this.spherical.radius));
if (this.enablePan) {
offset.copy(position).sub(new M
T.Vector3(0, 0, 0));
offset.applyQuaternion(quat);
offset.add(this.panOffset);
position.copy(new T.Vector3(0, 0, 0)).add(offset.applyQuaternion(quatInverse));
} else {
offset.setFromSpherical(this.spherical);
offset.applyQuaternion(quatInverse);
position.copy(new T.Vector3(0, 0, 0)).add(offset);
}
this.camera.lookAt(0, 0, 0);
if (this.enableDamping === true) {
this.sphericalDelta.theta *= (1 - this.dampingFactor);
this.sphericalDelta.phi *= (1 - this.dampingFactor);
this.panOffset.multiplyScalar(1 - this.dampingFactor);
} else {
this.sphericalDelta.set(0, 0, 0);
M
this.panOffset.set(0, 0, 0);
}
this.scale = 1;
lastPosition.copy(this.camera.position);
lastQuaternion.copy(this.camera.quaternion);
};
})()
})(THREE_Obj); // Close the closure and pass THREE_Obj as T
console.log('
OrbitControls initialized');
// Make function glM
window.initializeAfterThreeJS = initializeAfterThreeJS;
window.initOrbitControls = initOrbitControls;
// Listen for Three.js loaded event
if (window.addEventListener) {
window.addEventListener('threejs-loaded', initializeAfterThreeJS, { once: true });
// Fallback: poll for THREE if event doesn't fire
let pollCount = 0;
const maxPolls = 50; // 5 seconds max
function checkForThree() {
pollCount++;
if (typeof THREE !== 'undefined'M
console.log('
THREE detected via polling (attempt ' + pollCount + '), initializing...');
initializeAfterThreeJS();
} else if (pollCount < maxPolls) {
setTimeout(checkForThree, 100);
console.error('
THREE not detected after ' + maxPolls + ' polling attempts');
setTimeout(checkForThree, 100);
<!-- Load Three.js as ES6 module and make it global -->
<script type="module">
Loading Three.js from Ordinals using import map...');
import * as THREE_Module from 'three';
// Extract the actual THREE object from the module
// ES6 modules are immutable, so we need to create a mutable copy
const THREE_Obj = {};
// Copy all properties from the module
for (const key in THREE_Module) {
if (Object.hasOwnProperty.call(THREE_Module, key)) {
THREE_Obj[key] = THREE_Module[key];
// If there's a default exporM
if (THREE_Module.default && typeof THREE_Module.default === 'object') {
for (const key in THREE_Module.default) {
if (Object.hasOwnProperty.call(THREE_Module.default, key)) {
THREE_Obj[key] = THREE_Module.default[key];
// Make THREE available globally
window.THREE = THREE_Obj;
THREE loaded and assigned to window.THREE');
THREE.Scene exists:', typeof THREE_Obj.Scene);
ispatch event to notify that THREE is ready
if (window.dispatchEvent) {
window.dispatchEvent(new CustomEvent('threejs-loaded'));
// Also trigger initialization directly after a short delay to ensure everything is ready
setTimeout(() => {
if (typeof window.initializeAfterThreeJS === 'function') {
window.initializeAfterThreeJS();
// initOrbitControls is now defined BEFORE the module script (see above)
/ ========== ORDINALS CONTENT FETCHING ==========
// Function to load Ordinals content from Bitcoin blockchain
// NO HTTPS - content is embedded or loaded via Ordinals protocol
// Ordinals content mapping - maps Ordinal IDs to embedded base64 data URLs
// This will be populated with actual content when the Ordinal is created
const ordinalsContentMap = {
// Circuit images
'3a6f58e45daadea8e423f7abcaae57e887dc2d0dfcf7273b7bdc69c128381246i0': null, // Circuit - will be embedded
'7a28581b56a186cbc710648ab25M
7d301822c585a579a5d46b9f315a2ee8da5cfi0': null, // Effekt - will be embedded
'0d013bb60fc5bf5a6c77da7371b07dc162ebc7d7f3af0ff3bd00ae5f0c546445i0': null, // Three.js - will be embedded
// Character images
'93a5a638f30505d67f6236e6837ad1d912884679e6c805a422bb91e3dda866dai0': null, // Boxdot
'dba0ea5d1a6828c1e3fb718bb1fe6dc57e6dd521b9e5a56ef1f97a8dc4a9c706i0': null, // Toph
'313f6bde636cf4f0cd587ae3dbef04b6a0de51668db93d7a3c0f7d5a20ea16eei0': null, // Kayy
63c692c5334c8220a54ff3746e7759fcc4f1807245132a0f00344i0': null, // tOPCATs
'18406c471cbdaaf63c1415e0793d5e989552f4e0b20584768814de2f0ed162a7i0': null, // Itchatoshi
'cb6a43fc5be8bedb1df39b96c3fa36ab5e867dae55bc1f55510070be6985f1c8i0': null, // Richart
'87fc3522fab9d119f94b207682ba6a11f74b5dfa9f2e500f36e73cbf465027f7i0': null,
'c6ef3e45dde86745456851c2e18aa2cf5f095fc4170d8851f78d33534957ec18i0': null,
'66408f6030e4c3e09420f9e451a3fe6a9c63630ad4e32d567caa811d7c2a195ei0': nullM
'0ed2cf7b2820ddb8dbb2b31ed0efedc6b7bd3cedccea12aca59860dbbf982e40i0': null,
'942e12af7dec7b8f0564ef8218836afff2f2366830b6972130ec8d83e91b664ai0': null,
'040b764ce16f07186cc2161077793dda8e18cebb11f3127a99bca30cb580f2dbi0': null,
'174b3693e8a678123b22f3a184c15e9f0dd5f2d05eaa0b54f18de55b47872c0ci0': null,
'887b5598989479d0eb7efec0c85269523a4b5da6b76d57c7bfc2c3535e04f860i0': null,
'b9f7dd0a4e163221e62b5d55a02f87012cd6f4598bee802cecf1f3f7889c5dcci0': null,
'd6fb5e87f40d9d53c9a11ccb92f17fe35M
7c6c7397721d208065bf8ddbe7f2079i0': null,
'68daf586e745b9994edc2b49908a3e7f616636642ad2e3f891848e847dd3e8fi0': null,
'602d1622f2182891c271eee09591e8e9cc834eac76467e9023414dd861aa258ci0': null,
'4d0e68d425e5420ed64d88bd989e3652ccd6d061bbe93911f3b162ab93da52ebi0': null,
'6173cfa56916c640ea3f851b93e91af5b04e0b2ccb08831b363ac8beee927fb5i0': null,
'5be503741bd9b42fad8832c428eae1d7463632e9a0ee39dd44d2b215466137dei0': null,
'65e02ba6a5f0d559a9e542592429173f61833c363226d52b616508c1ecdbb42bi0': null,M
'2140ab96384b5c4c976dcd96cd4aa0f1f3881dc86174c5d7cd3f7b88968c93e6i0': null,
'88dfa8c032b51ce969901a7d19e61db5c5ca39ee100fe8fe7eded979232356adi0': null,
'321e73e2ae3a3faf5f015ac0b5323b97e8306050ee0f1a809c1771327efcfaf4i0': null,
'aad01d71d9fb2c1511593eb61a67a3d7fc71782c0568dbcd650de865af8bf0b3i0': null,
'5b69f47223b935d246e26b4763ab4f96f091940824c9706ca83c07a6a446b61bi0': null,
'52423597d903353527c1d6d5620708d0efbe4a6f105ca384e98281e4b694a746i0': null,
'777ab5b3deb77dacd566e99a1af0a0cf7dM
b04d05fcf7019fc54577314a536201i0': null,
'9fd8b792af52d51024006f39ab4aaac177ab0091e6a32d8ff05fe236b5f865b6i0': null,
'c7b5127751b8f2fec8a8c9e7475f763f020a0183645ccc65e7e9742f1dab5be3i0': null
// Function to load Ordinals content - NO HTTPS, uses embedded content or Ordinals protocol
function fetchOrdinalContent(ordinalId, callback) {
// Method 1: Check if content is embedded in the map
if (ordinalsContentMap[ordinalId] !== null && ordinalsContentMap[ordinalId] !== undefined) {
is embedded as base64 data URL
callback(ordinalsContentMap[ordinalId]);
// Method 2: Load directly from Ordinals using /content/ path (NO HTTPS)
// Images are AVIF format - Three.js TextureLoader can load AVIF directly
// Audio files can also be loaded directly via /content/ path
const contentPath = `/content/${ordinalId}`;
Loading Ordinal content from:', contentPath);
// Return the path directly - Three.js TextureLoader and Audio elM
// can handle /content/ paths directly (AVIF is supported by modern browsers)
callback(contentPath);
// Function to embed Ordinals content (call this to populate the map with base64 data)
function embedOrdinalContent(ordinalId, base64DataUrl) {
ordinalsContentMap[ordinalId] = base64DataUrl;
Ordinal content embedded:', ordinalId);
// Main initialization function - called after Three.js is loaded
function initApp() {
// Check if Three.js is loaded
if (typeof THREEM
console.error('
THREE is not defined! Three.js must be loaded first.');
// Retry after a short delay
setTimeout(initApp, 100);
// Check if OrbitControls is available
if (!THREE.OrbitControls) {
console.error('
THREE.OrbitControls is not defined!');
setTimeout(initApp, 100);
Three.js loaded, initializing app...');
THREE.OrbitControls available:', tyM
peof THREE.OrbitControls);
const scene = new THREE.Scene();
scene.background = new THREE.Color(0xff6600); // Orange background (day)
// Day/Night cycle variables
let dayNightCycle = true; // Enable day/night cycle
let dayNightTime = 0; // 0 = midnight, 0.5 = noon, 1 = midnight (24 hour cycle)
const DAY_DURATION = 120; // 2 minutes for a full day cycle (in seconds)
let dayNightStartTime = Date.now();
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
onst renderer = new THREE.WebGLRenderer({ antialias: true, alpha: false });
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.shadowMap.enabled = false;
renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
renderer.sortObjects = true; // Enable sorting for proper transparency rendering
const canvasContainer = document.getElementById('canvas-container');
if (!canvasContainer) {
canvas-container element not found!');
canvasContainer.appendChild(renderer.dM
Renderer canvas added to DOM');
camera.position.z = 8;
camera.position.y = 0;
camera.lookAt(0, 0, 0);
const controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.enableDamping = true;
controls.dampingFactor = 0.05;
controls.minDistance = 3;
controls.maxDistance = 15;
controls.enablePan = false;
controls.enabled = true; // Enable controls but allow button clicks
// Card Dimensions (420x588 pixel = 4.2x5.88 units)
const CARD_HEIGHT = 5.88;
const CARD_THICKNESS = 0.18; // Increased by 20% (from 0.15 to 0.18)
// Removed cardBase, cardOverlay, and their textures - no longer needed
// Hologram frame - glowing edges
const cardFrameMaterial = new THREE.MeshStandardMaterial({
color: 0x000000, // Black like buttons
transparent: false,
emissive: 0x000000,
emissiveIntensity: 0,
metalness: 0.95, // Glossy like buttons
roughness: 0.05, // Very smooth/shiny like buttons
// Neon materials for buttons
const neonBlueMaterial = new THREE.MeshStandardMaterial({
color: 0x00ffff,
emissive: 0x00ffff,
emissiveIntensity: 0.8,
transparent: true,
const neonPinkMaterial = new THREE.MeshStandardMaterial({
color: 0xff00ff,
emissive: 0xff00ff,
emissiveIntensity: 0.8,
transparent: true,
// Screen Material - GLOWING like retro PCM
monitor with emissive
// DoubleSide but circuit layer will block it from behind
// Use MeshStandardMaterial with high emissive for bright glowing screen
// CRITICAL: emissive must be set high and emissiveIntensity must be > 0 for glow to work
let screenMaterial = new THREE.MeshStandardMaterial({
color: 0xffffff, // White base
emissive: 0xffffff, // WHITE emissive (not cyan) - texture colors will show through
emissiveIntensity: 0, // Will be set to high value when screen is on
side: THREE.DoubleSideM
, // Visible from both sides - MUST glow from front and back
transparent: false,
depthWrite: true, // Enable depth write so screen renders properly on top
depthTest: true, // Enable depth test so circuit layer can block it from behind
metalness: 0.0, // No metalness for screen
roughness: 0.0 // Smooth surface for bright glow
screenMaterial.blackTexture = null;
screenMaterial.emissiveMap = null; // Start with no emissive map (OFF state)
// Screen animation state
let screenStartupAnimation = M
let screenStartupProgress = 0;
let startupText = '';
let startupTextIndex = 0;
const STARTUP_TEXT = 'starting up...';
const CONNECT_TEXT_LINE1 = 'connect to the';
const CONNECT_TEXT_LINE2 = 'box network...';
let scanlineOffset = 0;
let startupPhase = 0; // 0 = starting up, 1 = connect, 2 = logo
let displayImageGlitchProgress = 0; // Progress of glitch effect (0 to 1)
let displayImageGlitchTime = 0; // Time counter for glitch animation
let connectTextIndex = 0;
let connectText = '';
let characterDescriptionTeM
let backLogoMesh = null;
let cardTextLeft = null;
let cardTextRight = null;
let worldClockState = false; // false = world clock, true = schedule/timer
let buttonClickHandled = false; // Flag to prevent multiple button clicks
let worldClockInterval = null;
let button1State = false; // false = logo, true = character
let currentCharacterIndex = 0; // Index of current character (0-5)
// Characters array with Ordinals IDs and info
const characters = [
id: '93a5a638f30505d67f6236e6837ad1d91288467M
9e6c805a422bb91e3dda866dai0',
name: 'Boxdot',
handle: '@BoxDott',
description: [
'name: Boxdot @BoxDott',
'the best THE BOX host in the world',
'dev & creator of the Ordinals Grader',
'likes aubergines and pedro pascal',
'country: USA'
id: 'dba0ea5d1a6828c1e3fb718bb1fe6dc57e6dd521b9e5a56ef1f97a8dc4a9c706i0',
name: 'Toph',
handle: '@ihavecows86',
description: [
Toph @ihavecows86',
'the best co-host of THE BOX',
'creator of LifeZero @_Lifezer0 and',
'many other cool stuff',
'country: USA'
id: '313f6bde636cf4f0cd587ae3dbef04b6a0de51668db93d7a3c0f7d5a20ea16eei0',
name: 'Kayy',
handle: '@kayinthemorgue',
description: [
'name: Kayy @kayinthemorgue',
'the queen co-host of THE BOX',
'always brings positive vibes',
'country: USA'
id: '816bb580ff463c692c5334c8220a54ff3746e7759fcc4f1807245132a0f00344i0',
name: 'tOPCATs',
handle: '@_topcats',
description: [
'name: tOPCATs @_topcats',
'artist & creator of tOPCATs & Echoes of Chaos',
'the gentleman co-host of THE BOX',
'hasn\'t seen Dragon Ball Z',
'country: GB'
id: '18406c471cbdaaf63c1415e0793d5e989552f4e0b20584768814de2f0ed162a7i0',
handle: '@itchatoshi',
description: [
'name: Itchatoshi @itchatoshi',
'the wiggliest co host of THE BOX',
'struggling artist & experimentoor',
'creator of @bitcoinworms and',
'many others dope things',
'country: GB',
'ScamWizard!',
'Ouuureit Mate'
id: 'cb6a43fc5be8bedb1df39b96c3fa36ab5e867dae55bc1f55510070be6985f1c8i0',
name: 'Richart',
handle: '@rM
description: [
'name: Richart @richbi11',
'co-host of THE BOX.',
'artist & creator of to many collections',
'he doesn\'t talk much - the quietest co-host',
'country: CH'
let currentSound = null; // Currently playing sound
let audioContext = null; // Web Audio API context
let analyser = null; // Audio analyser for waveform
let waveformInterval = null; // Interval for waveform updates
let audioSource = null; // MediaElemeM
ntSource node (must be disconnected before creating new one)
let startupTexture = null; // Cache texture to prevent flickering
let startupCanvas = null; // Reuse canvas instead of creating new one
let lastTextureUpdate = 0;
let lastProgress = -1;
let lastScanlineOffset = -1;
// Tamagotchi state (pixel art style)
age: 0, // in seconds
hunger: 30, // 0-100 (higher = more hungry)
happiness: 70, // 0-100
energy: 70, // 0-100
dirt: 10, // 0-100 (higher = dirtierM
stage: 0, // 0 = baby, 1 = junior, 2 = adult
stars: [], // Stars for feed action
bubbles: [], // Bubbles for clean action
confetti: [], // Confetti for mini-game wins
lastUpdate: Date.now(),
animationTime: 0,
currentEmotion: 'happy', // 'happy', 'sad', 'tired', 'sick', 'sleeping', 'eating', 'playing', 'cleaning'
actionAnimationTime: 0, // Time for action animations
actionType: null // 'feed', 'play', 'clean', 'peM
let tamagotchiInterval = null;
let tamagotchiAnimationInterval = null;
let tamagotchiGameActive = false;
let tamagotchiGameWins = 0;
let tamagotchiGameTarget = null;
let tamagotchiGameTimeout = null;
let activeButtonIndex = -1; // Track which button is currently active
let tamagotchiControlsText = null; // 3D text for controls (outside display)
let tamagotchiControlButtons = []; // Clickable areas for each function
const buttonMaterial = new THREE.MeshStandardMaterial({
color: 0x1a1a3e,
emissive: 0x002244,
transparent: true,
// Removed createRoundedCardGeometry - no longer needed
// Create Card Group
const cardGroup = new THREE.Group();
scene.add(cardGroup);
// ========== FIRE ANIMATION BACKGROUND ==========
let fireBackgroundMesh = null;
let fireCanvas = null;
let fireAnimationTime = 0;
let fireAnimationInterval = null;
// Lava animation parameters
const FIRE_WIDTH = 1024;
const FIRE_HEIGHT = 1024;
{ r: 0, g: 0, b: 0 }, // Black (background)
{ r: 10, g: 0, b: 0 }, // Very dark red
{ r: 30, g: 0, b: 0 }, // Dark red
{ r: 60, g: 0, b: 0 }, // Deep red
{ r: 100, g: 10, b: 0 }, // Dark red-orange
{ r: 140, g: 20, b: 0 }, // Red-orange
{ r: 180, g: 40, b: 0 }, // Orange-red
{ r: 220, g: 60, b: 0 }, // Bright orange-red
{ r: 255, g: 80, b: 0 }, // Bright orange
{ r: 255, g: 120, b: 20 }, // Light orange
{ r: 255, g: 160M
, b: 40 }, // Bright light orange
{ r: 255, g: 200, b: 60 } // Very bright orange (lava glow)
// Create fire background (360 degrees around the card)
function createFireBackground() {
// Create canvas for fire animation
fireCanvas = document.createElement('canvas');
fireCanvas.width = FIRE_WIDTH;
fireCanvas.height = FIRE_HEIGHT;
fireCtx = fireCanvas.getContext('2d');
// Initialize fire buffer - fill ENTIRE canvas with lava, NO black areas
// This ensures full coverage oM
const fireBuffer = new Array(FIRE_HEIGHT);
for (let y = 0; y < FIRE_HEIGHT; y++) {
fireBuffer[y] = new Array(FIRE_WIDTH);
for (let x = 0; x < FIRE_WIDTH; x++) {
// Initialize with MINIMUM heat everywhere - NO black areas
// More heat at bottom, but ALL areas have significant heat
const baseHeat = 4 + (FIRE_HEIGHT - y) / FIRE_HEIGHT * 4; // 4-8 range, no zeros
fireBuffer[y][x] = baseHeat + Math.random() * 2;
// Store buffer in canvas data
fireCanvas.fireBuffer = fireBuffer;
// Create texture with smoother filtering for lava effect
const fireTexture = new THREE.CanvasTexture(fireCanvas);
fireTexture.minFilter = THREE.LinearFilter;
fireTexture.magFilter = THREE.LinearFilter;
fireTexture.wrapS = THREE.RepeatWrapping; // Repeat horizontally for seamless 360
fireTexture.wrapT = THREE.RepeatWrapping; // Repeat vertically for seamless coverage
// Set texture repeat to 1x1 - the texturM
e should cover the entire sphere
fireTexture.repeat.set(1, 1); // One texture per sphere surface
// Create sphere geometry for 360
// MANY segments for completely smooth surface - no visible edges
// Large enough radius to ensure full coverage from all camera angles
const fireGeometry = new THREE.SphereGeometry(30, 256, 128); // Many segments for smooth sphere
const fireMaterial = new THREE.MeshBasicMaterial({
map: fireTexture,
transparent: false, //M
Not transparent - full coverage
opacity: 1.0, // Full opacity for lava
side: THREE.BackSide, // Render inside the sphere (so we see it from inside)
depthWrite: false, // Don't write to depth buffer to ensure it's always behind
fog: false // Disable fog for consistent appearance
fireBackgroundMesh = new THREE.Mesh(fireGeometry, fireMaterial);
fireBackgroundMesh.position.set(0, 0, 0); // Center at origin
fireBackgroundMesh.renderOrder = -10000; // Render very M
first (behind everything)
scene.add(fireBackgroundMesh);
Lava background created (360
sphere, smooth, no edges, radius: 30)');
// Update lava animation (softer, slower, more fluid)
function updateFireAnimation() {
if (!fireCtx || !fireCanvas || !fireCanvas.fireBuffer) return;
const buffer = fireCanvas.fireBuffer;
const width = FIRE_WIDTH;
const height = FIRE_HEIGHT;
// Propagate lava throughout the entire canvas - ensure NO black areas
Use multi-pass blur for ultra-smooth effect
for (let pass = 0; pass < 2; pass++) {
for (let y = 0; y < height; y++) {
for (let x = 0; x < width; x++) {
// Get neighboring pixels (wrap around for seamless tiling)
const left = buffer[y][(x - 1 + width) % width];
const right = buffer[y][(x + 1) % width];
const up = buffer[(y - 1 + height) % height][x];
const down = buffer[(y + 1) % height][x];
const M
upLeft = buffer[(y - 1 + height) % height][(x - 1 + width) % width];
const upRight = buffer[(y - 1 + height) % height][(x + 1) % width];
const downLeft = buffer[(y + 1) % height][(x - 1 + width) % width];
const downRight = buffer[(y + 1) % height][(x + 1) % width];
const center = buffer[y][x];
// 9-point average for ultra-smooth effect
let newValue = (left + right + up + down + upLeft + upRight + downLefM
t + downRight + center) / 9.0;
newValue *= 0.995; // Very slow cooling (lava stays hot)
newValue += (Math.random() - 0.5) * 0.1; // Very small random variation
// Add flow patterns for movement
const flowX = Math.sin(fireAnimationTime * 0.05 + x * 0.01) * 0.2;
const flowY = Math.cos(fireAnimationTime * 0.06 + y * 0.01) * 0.2;
newValue += flowX + flowY;
// CRITICAL: EnsureM
MINIMUM heat throughout - NO black areas ever!
newValue = Math.max(4.0, Math.min(11, newValue));
buffer[y][x] = newValue;
// Add heat sources throughout the canvas for full coverage
const numSources = 16;
for (let i = 0; i < numSources; i++) {
const sourceX = Math.floor((width / numSources) * i + (width / numSources) / 2);
// Distribute sources throughout the height, not just bottom
const sourceYM
= Math.floor(height * (0.3 + (i % 3) * 0.2)); // Spread across canvas
const heat = 7 + Math.sin(fireAnimationTime * 0.1 + i) * 2 + Math.random() * 1.0;
buffer[sourceY][sourceX] = Math.max(buffer[sourceY][sourceX], heat);
// Spread heat to neighbors in larger radius
for (let dy = -2; dy <= 2; dy++) {
for (let dx = -2; dx <= 2; dx++) {
const ny = (sourceY + dy + height) % height;
const nx = (sourceX + dx + width) % width;
conM
st dist = Math.sqrt(dx * dx + dy * dy);
if (dist < 2.5) {
buffer[ny][nx] = Math.max(buffer[ny][nx], heat * (1 - dist / 2.5));
// Draw lava to canvas
const imageData = fireCtx.createImageData(width, height);
const data = imageData.data;
for (let y = 0; y < height; y++) {
for (let x = 0; x < width; x++) {
const index = (y * width + x) * 4;
const fireValue = buffer[y][x];
const paletteIndex = Math.floor(fireValue);
const t = fireValue - paletteIndex;
// Interpolate between palette colors
const c1 = FIRE_PALETTE[Math.min(paletteIndex, FIRE_PALETTE.length - 1)];
const c2 = FIRE_PALETTE[Math.min(paletteIndex + 1, FIRE_PALETTE.length - 1)];
data[index] = Math.floor(c1.r + (c2.r - c1.r) * t); // R
data[index + 1] = Math.floor(c1.g + (c2.g - c1.g) * t); // G
data[indexM
+ 2] = Math.floor(c1.b + (c2.b - c1.b) * t); // B
data[index + 3] = 255; // Alpha
fireCtx.putImageData(imageData, 0, 0);
// Apply STRONG blur filter for ultra-soft lava effect (use temporary canvas)
// Multiple blur passes for completely smooth appearance
const tempCanvas = document.createElement('canvas');
tempCanvas.width = width;
tempCanvas.height = height;
const tempCtx = tempCanvas.getContext('2d');
// Apply multiple blur passes for M
tempCtx.filter = 'blur(5px)';
tempCtx.drawImage(fireCanvas, 0, 0);
fireCtx.clearRect(0, 0, width, height);
fireCtx.drawImage(tempCanvas, 0, 0);
// Second blur pass for even smoother effect
tempCtx.filter = 'blur(3px)';
tempCtx.drawImage(fireCanvas, 0, 0);
fireCtx.clearRect(0, 0, width, height);
fireCtx.drawImage(tempCanvas, 0, 0);
// Update texture
if (fireBackgroundMesh && fireBackgroundMesh.material && fireBackgroundMesh.material.map) {
fireBackgroundMesh.material.map.needsUpdate = true;
fireAnimationTime += 0.05; // Slower animation for lava flow
// Start fire animation
function startFireAnimation() {
if (fireAnimationInterval) return; // Already running
createFireBackground();
// Update lava animation at 30 FPS (slower, smoother)
fireAnimationInterval = setInterval(() => {
updateFireAnimation();
Lava animation started (soft, fluid, 360
// Stop fire animation
function stopFireAnimation() {
if (fireAnimationInterval) {
clearInterval(fireAnimationInterval);
fireAnimationInterval = null;
if (fireBackgroundMesh) {
scene.remove(fireBackgroundMesh);
fireBackgroundMesh = null;
Fire animation stopped');
// Card corner radius for rounded corners (used by frame)
const cardCornerRadius = 0.3; // Radius for rounded corners
// Hologram frame - glowing edges with rounded M
const frameThickness = 0.1;
const frameCornerRadius = cardCornerRadius + frameThickness;
// Outer frame with rounded corners
function createRoundedFrameGeometry(innerWidth, innerHeight, thickness, cornerRadius) {
const outerWidth = innerWidth + thickness * 2;
const outerHeight = innerHeight + thickness * 2;
const outerShape = new THREE.Shape();
const innerShape = new THREE.Shape();
const ow = outerWidth / 2;
const oh = outerHeight / 2;
const or = Math.min(cornerRadius, ow, M
const iw = innerWidth / 2;
const ih = innerHeight / 2;
const ir = Math.min(cornerRadius - thickness, iw, ih);
// Outer rounded rectangle
outerShape.moveTo(-ow + or, -oh);
outerShape.lineTo(ow - or, -oh);
outerShape.quadraticCurveTo(ow, -oh, ow, -oh + or);
outerShape.lineTo(ow, oh - or);
outerShape.quadraticCurveTo(ow, oh, ow - or, oh);
outerShape.lineTo(-ow + or, oh);
outerShape.quadraticCurveTo(-ow, oh, -ow, oh - or);
outerShape.lineTo(-ow, -oh + or);
outerShape.quadraticCurveTo(-ow, -oh, -ow + or, -oh);
// Inner rounded rectangle (hole)
innerShape.moveTo(-iw + ir, -ih);
innerShape.lineTo(iw - ir, -ih);
innerShape.quadraticCurveTo(iw, -ih, iw, -ih + ir);
innerShape.lineTo(iw, ih - ir);
innerShape.quadraticCurveTo(iw, ih, iw - ir, ih);
innerShape.lineTo(-iw + ir, ih);
innerShape.quadraticCurveTo(-iw, ih, -iw, ih - ir);
innerShape.lineTo(-iw, -ih + ir);
innerShape.quadraticCurveTo(-iw, -ih, -iw + ir, -ih);
outerShape.holes.push(innerShape);
const extrudeSettings = {
depth: CARD_THICKNESS + 0.05,
bevelEnabled: false
return new THREE.ExtrudeGeometry(outerShape, extrudeSettings);
const frameGeometry = createRoundedFrameGeometry(CARD_WIDTH, CARD_HEIGHT, frameThickness, frameCornerRadius);
const frameMesh = new THREE.Mesh(frameGeometry, cardFrameMaterial);
frameMesh.position.z = -0.01;
cardGroup.add(frameMesh);
// Create electronic circuit layer texture
ion createCircuitLayerTexture() {
const canvas = document.createElement('canvas');
canvas.width = 1024;
canvas.height = 1440; // 420x588 ratio
const ctx = canvas.getContext('2d');
// Dark background with transparency
ctx.fillStyle = 'rgba(0, 0, 0, 0)';
ctx.fillRect(0, 0, 1024, 1440);
// Circuit board green base
ctx.fillStyle = 'rgba(0, 255, 100, 0.3)';
ctx.fillRect(50, 50, 924, 1340);
// Circuit traces - horizontal and vertical lines
ctx.strokeStyle = 'M
rgba(0, 255, 150, 0.6)';
ctx.lineWidth = 3;
// Main horizontal traces
for (let y = 150; y < 1400; y += 180) {
ctx.beginPath();
ctx.moveTo(100, y);
ctx.lineTo(924, y);
ctx.stroke();
// Main vertical traces
for (let x = 150; x < 924; x += 150) {
ctx.beginPath();
ctx.moveTo(x, 100);
ctx.lineTo(x, 1340);
ctx.stroke();
// Vias (connection points)
ctx.fillStyle = 'rgba(0, 255, 200, 0.8)';
= 150; y < 1400; y += 180) {
for (let x = 150; x < 924; x += 150) {
ctx.beginPath();
ctx.arc(x, y, 8, 0, Math.PI * 2);
ctx.fill();
// Outer ring
ctx.strokeStyle = 'rgba(0, 255, 255, 0.6)';
ctx.lineWidth = 2;
ctx.beginPath();
ctx.arc(x, y, 12, 0, Math.PI * 2);
ctx.stroke();
ctx.strokeStyle = 'rgba(0, 255, 150, 0.6)';
ctx.lineWidth = 3;
ctx.fillStyle = 'rgba(0, 255, 200, 0.4)';
ctx.strokeStyle = 'rgba(0, 255, 255, 0.7)';
ctx.lineWidth = 2;
ctx.fillRect(250, 400, 120, 80);
ctx.strokeRect(250, 400, 120, 80);
ctx.fillRect(650, 400, 120, 80);
ctx.strokeRect(650, 400, 120, 80);
ctx.fillRect(250, 900, 120, 80);
ctx.strokeRect(250, 900, 120, 80);
ctx.fillRect(650, 900, 120, 80);
ctx.strokeRect(650, 900, 120, 80);
// Pins on chips
ctx.fillStyle = 'rgba(0, 255, 255, 0.8)';
for (let chip of [{x: 250, y: 400}, {x: 650, y: 400}, {x: 250, y: 900}, {x: 650, y: 900}]) {
for (let i = 0; i < 8; i++) {
ctx.fillRect(chip.x - 3, chip.y + 10 + i * 8, 6, 4);
ctx.fillRect(chip.x + 117, chip.y + 10 + i * 8, 6, 4);
// Additional circuit paths
ctx.strokeStyle = 'rgba(0, 255, 150, 0.5)';
ctx.lineWidth = 2;
for (let i = 0; i < 5; i++) {
ctx.beginPath();
const startX = 200 + i * 180;
const startY = 300;
ctx.moveTo(startX, startY);
ctx.quadraticCurveTo(startX + 50, startY + 100, startX, startY + 200);
ctx.stroke();
// Text/labels (optional)
ctx.fillStyle = 'rgba(0, 255, 255, 0.5)';
ctx.font = '24px monospace';
ctx.fillText('CIRCUIT v2.1', 400, 200);
ctx.fillText('CPU-001', 280, 390);
ctx.fillText('MEM-002', 680, 390);
const texture = new THREE.CanvasTexture(caM
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.flipY = false;
// Electronic circuit layer material - will load user's image
// Single material in the middle of the card
let circuitLayerMaterial = new THREE.MeshStandardMaterial({
transparent: false, // Not transparent - 100% opaque
opacity: 1.0, // 100% deckend
emissive: 0x000000, // Black - no green glow, only texture will glow via emissiveMap
emissiveIntensity: 0, //M
Start at 0 (off) - will glow when powered on
side: THREE.DoubleSide, // Visible from both sides - CRITICAL to see from both sides
blending: THREE.NormalBlending,
color: 0xffffff, // White base - texture will show through
metalness: 0.0, // No metalness - pure diffuse
roughness: 0.2, // Less rough = more reflective/brighter from all angles
depthWrite: true, // Enable depth write for opaque material
// Circuit layer power state
let circuitLayerPowered = false;
cuit image loading is now handled by the Circuit Layer Input Handler below
// This function is removed to avoid conflicts
// Create electronic circuit layer in the MIDDLE of the card thickness
function createCircuitLayer() {
// Single plane in the middle of the card, scaled to 99.5% (0.5% smaller) but centered
const circuitGeometry = new THREE.PlaneGeometry(CARD_WIDTH * 1.005, CARD_HEIGHT * 1.005); // 1% larger - EXACT SAME SIZE AS BEFORE
const circuitMesh = new THREE.Mesh(circuitGeometry, circuitLayerM
// Position exactly between the glass layers:
// Back glass at z = -CARD_THICKNESS/2 - 0.001 + 0.08 = -0.011
// Front glass at z = CARD_THICKNESS/2 + 0.11 = 0.20
// Middle: (-0.011 + 0.20) / 2 = 0.0945
const backGlassZ = -CARD_THICKNESS / 2 - 0.001 + 0.08;
const frontGlassZ = CARD_THICKNESS / 2 + 0.11;
const middleZ = (backGlassZ + frontGlassZ) / 2;
circuitMesh.position.set(0, 0, middleZ); // Exactly between glass layers
circuitMesh.rotation.x = 0;
circuitMesh.rotaM
circuitMesh.rotation.z = 0;
circuitMesh.renderOrder = 1500; // Render between back glass (1000) and front glass (2000)
circuitMesh.frustumCulled = false; // Prevent flickering when rotating
circuitMesh.visible = true; // Make sure it's visible
Circuit Layer mesh created and visible:', circuitMesh.visible, 'position:', circuitMesh.position, 'renderOrder:', circuitMesh.renderOrder);
// Ensure texture doesn't repeat or show edges
if (circuitLayerMateriaM
circuitLayerMaterial.map.wrapS = THREE.ClampToEdgeWrapping;
circuitLayerMaterial.map.wrapT = THREE.ClampToEdgeWrapping;
cardGroup.add(circuitMesh);
console.log('Circuit layer created in middle of card, thickness:', CARD_THICKNESS);
return circuitMesh;
// Create gradient texture for glass (darker at edges, transparent in center)
function createGlassGradientTexture() {
const canvas = document.createElement('canvas');
canvas.width = 512;
eight = 720; // 420x588 ratio
const ctx = canvas.getContext('2d');
// Create radial gradient - darker at edges, transparent in center
const centerX = canvas.width / 2;
const centerY = canvas.height / 2;
const maxRadius = Math.sqrt(centerX * centerX + centerY * centerY);
const gradient = ctx.createRadialGradient(centerX, centerY, 0, centerX, centerY, maxRadius);
// Center: more transparent (lower opacity)
gradient.addColorStop(0, 'rgba(0, 0, 0, 0.3)'); // Center: 30% opM
gradient.addColorStop(0.3, 'rgba(0, 0, 0, 0.4)'); // Inner area
gradient.addColorStop(0.6, 'rgba(0, 0, 0, 0.7)'); // Mid area
gradient.addColorStop(0.8, 'rgba(0, 0, 0, 0.85)'); // Outer area
gradient.addColorStop(1, 'rgba(0, 0, 0, 0.95)'); // Edge: 95% opacity (almost opaque)
ctx.fillStyle = gradient;
ctx.fillRect(0, 0, canvas.width, canvas.height);
const texture = new THREE.CanvasTexture(canvas);
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LM
texture.flipY = false;
// Create glass layers on front and back of card with blur effect
function createGlassLayers() {
const glassGroup = new THREE.Group();
const glassGradientTexture = createGlassGradientTexture();
// Front glass material - almost invisible with slight blur effect
// IMPORTANT: Very low opacity to avoid dampening screen colors
// CRITICAL: depthTest must be true and renderOrder lower than screen so it doesn't block screen glow
onst frontGlassMaterial = new THREE.MeshStandardMaterial({
transparent: true,
opacity: 0.005, // Even lower opacity to avoid dampening screen colors
color: 0xffffff, // White/clear tint - no color filtering
metalness: 0.0,
roughness: 0.3, // Lower roughness to reduce light scattering
side: THREE.DoubleSide,
blending: THREE.NormalBlending,
depthWrite: false, // Critical for transparency without flicker
depthTest: true // Enable depth test so it M
respects Z-order and doesn't block screen
// Back glass material - almost invisible to see circuit through it
const backGlassMaterial = new THREE.MeshStandardMaterial({
transparent: true,
opacity: 0.02, // Almost completely invisible - circuit clearly visible
color: 0xffffff, // White/clear tint instead of black - no green!
metalness: 0.0,
roughness: 0.7, // Higher roughness creates light scattering = blur effect
side: THREE.DoubleSide,
ending: THREE.NormalBlending,
depthWrite: false,
depthTest: false // Disable depth test so it doesn't block circuit layers
// Front glass layer - with cutout for screen area so it doesn't dampen screen colors
// Screen is at y = 0.8, size = 2.5 x 2.5
const frontGlassShape = new THREE.Shape();
const halfWidth = CARD_WIDTH / 2;
const halfHeight = CARD_HEIGHT / 2;
// Outer rectangle (card outline)
frontGlassShape.moveTo(-halfWidth, -halfHeight);
assShape.lineTo(halfWidth, -halfHeight);
frontGlassShape.lineTo(halfWidth, halfHeight);
frontGlassShape.lineTo(-halfWidth, halfHeight);
frontGlassShape.lineTo(-halfWidth, -halfHeight);
// Cutout for screen (screen center at y = 0.8, size = 2.5)
// Use SCREEN_SIZE constant (defined before createGlassLayers is called)
const screenY = 0.8;
const screenHalfSize = SCREEN_SIZE / 2;
const screenHole = new THREE.Path();
screenHole.moveTo(-screenHalfSize, screenY - screenHalfSize);
screenHole.lineTo(screenHalfSize, screenY - screenHalfSize);
screenHole.lineTo(screenHalfSize, screenY + screenHalfSize);
screenHole.lineTo(-screenHalfSize, screenY + screenHalfSize);
screenHole.lineTo(-screenHalfSize, screenY - screenHalfSize);
frontGlassShape.holes.push(screenHole);
const frontGlassGeometry = new THREE.ShapeGeometry(frontGlassShape);
const frontGlass = new THREE.Mesh(frontGlassGeometry, frontGlassMaterial);
// IMPORTANT: Position BEHIND screen so it doesn't bloM
frontGlass.position.set(0, 0, CARD_THICKNESS / 2 + 0.10); // Behind screen (screen is at 0.14)
frontGlass.renderOrder = 2000; // Lower than screen (10000) so screen renders on top
glassGroup.add(frontGlass);
// Back glass layer
const backGlassGeometry = new THREE.PlaneGeometry(CARD_WIDTH, CARD_HEIGHT);
const backGlass = new THREE.Mesh(backGlassGeometry, backGlassMaterial);
backGlass.position.set(0, 0, -CARD_THICKNESS / 2 - 0.001 + 0.08); // Moved 8 pixels forward (0.0M
backGlass.rotation.x = Math.PI; // Flip to face outward
backGlass.renderOrder = 500; // Render BEFORE circuit layers so they show through
glassGroup.add(backGlass);
cardGroup.add(glassGroup);
return glassGroup;
const circuitLayer = createCircuitLayer();
// Create second circuit layer for 3D depth effect (2 pixels in front of main circuit layer)
function createCircuitLayer2() {
// Material - MeshStandardMaterial so it can glow like Circuit Layer 1
const circuitLayerM
2Material = new THREE.MeshStandardMaterial({
color: 0xffffff, // White base - texture will show through
transparent: true, // Enable transparency for transparent parts of texture
opacity: 1.0, // Full opacity, but texture alpha channel will control transparency
emissive: 0x000000, // Black - no base glow, only texture will glow via emissiveMap
emissiveIntensity: 0, // Start at 0 (off) - will glow when powered on
side: THREE.DoubleSide, // Visible from both sides
roughness: 0.2,
depthWrite: false, // Disable depth write for transparent material
depthTest: true,
alphaTest: 0.0 // Allow fully transparent pixels
// Same geometry as main circuit layer
const circuitGeometry2 = new THREE.PlaneGeometry(CARD_WIDTH * 1.005, CARD_HEIGHT * 1.005); // 1% larger - EXACT SAME SIZE AS BEFORE
const circuitMesh2 = new THREE.Mesh(circuitGeometry2, circuitLayer2Material);
// Position: 2 pixels (0.02 units) inM
front of main circuit layer (towards viewer)
const backGlassZ = -CARD_THICKNESS / 2 - 0.001 + 0.08;
const frontGlassZ = CARD_THICKNESS / 2 + 0.11;
const middleZ = (backGlassZ + frontGlassZ) / 2;
const layer2Z = middleZ + 0.02; // 2 pixels in front of main circuit layer
circuitMesh2.position.set(0, 0, layer2Z);
circuitMesh2.rotation.x = 0;
circuitMesh2.rotation.y = 0;
circuitMesh2.rotation.z = 0;
circuitMesh2.renderOrder = 1600; // Render after circuit layer (1500) but beforM
e front glass (2000)
circuitMesh2.frustumCulled = false;
circuitMesh2.visible = true;
// Image will be auto-loaded via fetch in window.addEventListener('load')
console.log('Circuit Layer 2 created - image will be auto-loaded');
cardGroup.add(circuitMesh2);
console.log('Circuit layer 2 created at z:', layer2Z, '(2 pixels in front of main circuit layer)');
return { mesh: circuitMesh2, material: circuitLayer2Material };
const circuitLayer2 = createCircuitLayer2();
te third circuit layer (effekt) - 2 pixels BEHIND main circuit layer (mirror of layer 2)
function createCircuitLayer3() {
// Material - same as Circuit Layer 2
const circuitLayer3Material = new THREE.MeshStandardMaterial({
color: 0xffffff, // White base - texture will show through
transparent: true, // Enable transparency for transparent parts of texture
opacity: 1.0, // Full opacity, but texture alpha channel will control transparency
emissive: 0x000000, // Black - no base gM
low, only texture will glow via emissiveMap
emissiveIntensity: 0, // Start at 0 (off) - will glow when powered on
side: THREE.DoubleSide, // Visible from both sides
metalness: 0.0,
roughness: 0.2,
depthWrite: false, // Disable depth write for transparent material
depthTest: true,
alphaTest: 0.0 // Allow fully transparent pixels
// Same geometry as main circuit layer
const circuitGeometry3 = new THREE.PlaneGeometry(CARD_WIDTH * 1.005, CARD_M
HEIGHT * 1.005); // 1% larger - EXACT SAME SIZE AS BEFORE
const circuitMesh3 = new THREE.Mesh(circuitGeometry3, circuitLayer3Material);
// Position: 2 pixels (0.02 units) BEHIND main circuit layer (away from viewer)
const backGlassZ = -CARD_THICKNESS / 2 - 0.001 + 0.08;
const frontGlassZ = CARD_THICKNESS / 2 + 0.11;
const middleZ = (backGlassZ + frontGlassZ) / 2;
const layer3Z = middleZ - 0.02; // 2 pixels BEHIND main circuit layer
circuitMesh3.position.set(0, 0, layer3Z);
circuitMesh3.rotation.x = 0;
circuitMesh3.rotation.y = 0;
circuitMesh3.rotation.z = 0;
circuitMesh3.renderOrder = 1400; // Render before circuit layer (1500) but after back glass (500)
circuitMesh3.frustumCulled = false;
circuitMesh3.visible = true;
// Image will be auto-loaded via the same function as layer 2
console.log('Circuit Layer 3 created - image will be auto-loaded');
console.log('Circuit layer 3 created at z:', layer3Z, '(2 pixels behind main circuit layer)');
cardGroup.add(circuitMesh3);
return { mesh: circuitMesh3, material: circuitLayer3Material };
const circuitLayer3 = createCircuitLayer3();
// Create back logo (between back glass and circuit layer)
function createBackLogo() {
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
canvas.width = 512;
canvas.height = 512;
// Clear canvas with transparent background
ctx.clearRect(0, 0, canvas.width, canvas.height);
// Draw square with liM
nes - rotated 45 degrees
// Make it smaller so rotated corners don't get cut off
const centerX = canvas.width / 2;
const centerY = canvas.height / 2;
// For a 45-degree rotated square, max size is canvas diagonal / sqrt(2)
// Canvas is 512x512, diagonal is ~724, so max square size is ~512
// Use 350 to leave margin for line width
const squareSize = 350;
const halfSize = squareSize / 2;
// Save context for rotation
ctx.translate(centerX, centerY);
rotate(Math.PI / 4); // Rotate 45 degrees
// Draw square outline (rotated) - fully opaque
ctx.strokeStyle = '#00ffff';
ctx.globalAlpha = 1.0; // Fully opaque
ctx.lineWidth = 6; // 5% thicker (was 5, now 6 = 20% increase, closest to 5%)
ctx.beginPath();
ctx.rect(-halfSize, -halfSize, squareSize, squareSize);
// Draw lines inside square (corner to corner - now horizontal/vertical after rotation) - fully opaque
ctx.strokeStyle = '#00ffff';
ctx.globalAlphaM
= 1.0; // Fully opaque
ctx.lineWidth = 4; // 5% thicker (was 3, now 4 = 33% increase, closest to 5%)
ctx.beginPath();
// Top-left to bottom-right (now horizontal after rotation)
ctx.moveTo(-halfSize, -halfSize);
ctx.lineTo(halfSize, halfSize);
// Top-right to bottom-left (now horizontal after rotation)
ctx.moveTo(halfSize, -halfSize);
ctx.lineTo(-halfSize, halfSize);
// Draw horizontal and vertical lines through center (now diagonal after rotation) - fullyM
ctx.beginPath();
ctx.globalAlpha = 1.0; // Fully opaque
// Horizontal (now diagonal)
ctx.moveTo(-halfSize, 0);
ctx.lineTo(halfSize, 0);
// Vertical (now diagonal)
ctx.moveTo(0, -halfSize);
ctx.lineTo(0, halfSize);
// Restore context
// Draw "THE BOX" text in center - mirrored both horizontally and vertically - fully opaque
ctx.translate(centerX, centerY);
ctx.scale(-1, -1); // Mirror both horizontaM
ctx.globalAlpha = 1.0; // Fully opaque
ctx.font = 'bold 80px monospace'; // 25% larger (64px * 1.25 = 80px)
ctx.fillStyle = '#00ffff';
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.fillText('THE BOX', 0, -17); // Draw 17 pixels up from center (after mirroring, -17 is up)
// Draw "episode 200" text below "THE BOX" in smaller font
ctx.font = 'bold 32px monospace'; // Smaller font for episode text
ctx.fillText('episode 200', 0, 25); // Draw 25 piM
xels down from center (after mirroring, 25 is down)
// Create alpha map - white where cyan pixels are, black elsewhere
const alphaCanvas = document.createElement('canvas');
alphaCanvas.width = canvas.width;
alphaCanvas.height = canvas.height;
const alphaCtx = alphaCanvas.getContext('2d');
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
const alphaData = alphaCtx.createImageData(canvas.width, canvas.height);
for (let i = 0; i < imageM
Data.data.length; i += 4) {
const r = imageData.data[i];
const g = imageData.data[i + 1];
const b = imageData.data[i + 2];
// If pixel is cyan (or close to cyan), make alpha white (visible), else black (transparent)
const isCyan = (r < 50 && g > 200 && b > 200);
const alpha = isCyan ? 255 : 0;
alphaData.data[i] = alpha; // R
alphaData.data[i + 1] = alpha; // G
alphaData.data[i + 2] = alpha; // B
alphaData.data[i + 3] = 255; // A (M
always opaque for alpha map)
alphaCtx.putImageData(alphaData, 0, 0);
const texture = new THREE.CanvasTexture(canvas);
texture.flipY = true;
texture.needsUpdate = true;
const alphaTexture = new THREE.CanvasTexture(alphaCanvas);
alphaTexture.flipY = true;
alphaTexture.needsUpdate = true;
const material = new THREE.MeshStandardMaterial({
map: texture,
emissiveMap: texture,
emissive: 0x00ffff,
emissiveIntensity: circuitLayerPowered ? 3M
.0 : 0.05, // Bright when on, dim when off
side: THREE.DoubleSide,
transparent: true, // Transparent background, but lines/text fully opaque
opacity: 1.0, // Full opacity for visible parts
alphaMap: alphaTexture, // Use alpha map to make background transparent, lines/text opaque
depthWrite: true, // Enable depth write for better rendering
depthTest: true, // Enable depth test
metalness: 0.0,
roughness: 0.0 // Smooth and bright
ometry = new THREE.PlaneGeometry(3.5, 3.5); // Logo size - make it bigger so it's clearly visible
backLogoMesh = new THREE.Mesh(geometry, material);
// Position DIRECTLY behind back glass, centered, but in front of circuit layers
// Back glass is at z = -CARD_THICKNESS / 2 - 0.001 + 0.08 = -0.011
// Circuit layers start around z = 0.0945
// Position logo between them, shifted 6 pixels (0.06 units) towards circuit layer (was 8, now 2 back)
const backGlassZ = -CARD_THICKNESS / 2 - 0.001 +M
const logoZ = backGlassZ + 0.005 + 0.06; // Shifted 6 pixels (0.06 units) towards circuit layer (2 pixels back from 0.08)
backLogoMesh.position.set(0, 0, logoZ); // Centered (x=0, y=0)
backLogoMesh.rotation.x = Math.PI; // Flip to face outward (same as back glass)
backLogoMesh.renderOrder = 1350; // Render after back glass (500) and before circuit3 (1400) - HIGH priority
backLogoMesh.visible = true;
backLogoMesh.frustumCulled = false; // Prevent culling
Back logo created at z:', logoZ, 'renderOrder:', backLogoMesh.renderOrder, 'backGlassZ:', backGlassZ);
// Screen (250x250 pixels = 2.5x2.5 units) - Define BEFORE createGlassLayers so it can use it
const SCREEN_SIZE = 2.5;
const glassLayers = createGlassLayers();
const screenGeometry = new THREE.PlaneGeometry(SCREEN_SIZE, SCREEN_SIZE);
// NO rotation on geometry - we'll handle it differently
let screenMesh = null;
let globalScreenFrame = null; // M
Global reference for layer toggle
const screenImages = [null, null, null, null];
function createScreen() {
// Screen frame - hologram style (slightly raised above card)
const screenFrameGeometry = new THREE.PlaneGeometry(SCREEN_SIZE + 0.2, SCREEN_SIZE + 0.2);
const screenFrameMaterial = new THREE.MeshStandardMaterial({
color: 0x00ffff,
emissive: 0x00ffff,
emissiveIntensity: 0.8,
metalness: 0.9,
roughness: 0.1,
transparent: true,
opacity: 0.3, // MM
uch more transparent
side: THREE.DoubleSide
const screenFrame = new THREE.Mesh(screenFrameGeometry, screenFrameMaterial);
screenFrame.position.set(0, 0.8, CARD_THICKNESS / 2 + 0.08);
screenFrame.renderOrder = 998;
screenFrame.name = 'screenFrame'; // For layer toggle
screenFrame.visible = false; // Start OFF, only visible when device is ON
globalScreenFrame = screenFrame; // Store global reference
cardGroup.add(screenFrame);
// Screen itself - Add directly to carM
screenMesh = new THREE.Mesh(screenGeometry, screenMaterial);
// Position: Well in front of everything (in card local space) - moved 1 pixel forward
screenMesh.position.set(0, 0.8, CARD_THICKNESS / 2 + 0.09);
// Add directly to cardGroup
cardGroup.add(screenMesh);
// Initial rotation - no rotation needed, texture flipY handles orientation
screenMesh.rotation.x = 0;
screenMesh.rotation.y = 0; // No rotation - texture flipY handles correct orientation
// CRITICAL: Very high render order to render AFTER everything else
screenMesh.renderOrder = 10000; // Extremely high - renders last
// DEBUG: Verify screen was created
Screen mesh created, position:', screenMesh.position, 'rotation:', screenMesh.rotation);
// CRITICAL: Isolated settings - nothing affects this
screenMesh.frustumCulled = false;
screenMesh.visible = true;
screenMesh.matrixAutoUpdate = true;
e text labels on top of card
createCardTextLabels();
// Create initial black texture for off state
const blackCanvas = document.createElement('canvas');
blackCanvas.width = 512;
blackCanvas.height = 512;
const blackCtx = blackCanvas.getContext('2d');
blackCtx.fillStyle = '#000000';
blackCtx.fillRect(0, 0, 512, 512);
screenMaterial.blackTexture = new THREE.CanvasTexture(blackCanvas);
screenMaterial.blackTexture.flipY = true;
screenMaterial.blackTexture.generateMipmapsM
screenMaterial.blackTexture.minFilter = THREE.LinearFilter;
screenMaterial.blackTexture.magFilter = THREE.LinearFilter;
screenMaterial.map = screenMaterial.blackTexture;
screenMaterial.emissiveMap = null; // No emissive map initially
screenMaterial.emissiveIntensity = 0; // Start with NO glow (OFF state) - same as after OFF button
screenMaterial.needsUpdate = true;
// Screen bezel - black transparent frame
// CRITICAL: Position WELL BEHIND screen so it doesn't dampen cM
// Screen is at z = 0.14, bezel depth = 0.06, so bezel center must be at z < 0.14 - 0.03 = 0.11
const screenBezelGeometry = new THREE.BoxGeometry(SCREEN_SIZE + 0.25, SCREEN_SIZE + 0.25, 0.06);
const screenBezelMaterial = new THREE.MeshStandardMaterial({
color: 0x000000, // Black
emissive: 0x000000, // No glow
emissiveIntensity: 0,
metalness: 0.0,
roughness: 0.5,
transparent: true,
opacity: 0.3, // More transparent to avoid dampening screen coM
side: THREE.DoubleSide,
depthWrite: false, // Don't write to depth buffer
depthTest: true // But still test depth
const screenBezel = new THREE.Mesh(screenBezelGeometry, screenBezelMaterial);
// Position WELL BEHIND screen - bezel front edge at z = 0.08 (screen is at z = 0.14)
screenBezel.position.set(0, 0.8, CARD_THICKNESS / 2 + 0.08); // Well behind screen (screen is at 0.14)
screenBezel.renderOrder = 5000; // Lower than screen (10000) but still visible
eenBezel.name = 'screenBezel'; // For layer toggle
// Black transparent frame around display
screenBezel.visible = true; // Visible by default - provides black transparent frame around display
cardGroup.add(screenBezel);
// Create text labels on top of card ("THE BOX" left, "EP200" right)
function createCardTextLabels() {
// Left text: "THE BOX"
const leftCanvas = document.createElement('canvas');
const leftCtx = leftCanvas.getContext('2d');
leftCanvas.width = 640;
leftCanvas.height = 160;
leftCtx.font = 'bold 80px monospace'; // 25% larger (64 * 1.25 = 80)
leftCtx.fillStyle = '#00ffff'; // Cyan text
leftCtx.textAlign = 'left';
leftCtx.textBaseline = 'middle';
leftCtx.fillText('THE BOX', 0, 80);
const leftTexture = new THREE.CanvasTexture(leftCanvas);
leftTexture.flipY = true; // Flip to correct orientation
leftTexture.needsUpdate = true;
const leftMaterial = new THREE.MeshStandardMaterial({
map: leftTexture,
emissive: 0x00ffff, // Cyan emissive color
emissiveIntensity: circuitLayerPowered ? 3.0 : 0, // Bright when on, off when off
side: THREE.DoubleSide,
transparent: true,
opacity: 1.0, // Fully opaque
depthWrite: false,
depthTest: true
const leftGeometry = new THREE.PlaneGeometry(2.5, 0.625); // 25% larger to match font size
cardTextLeft = new THREE.Mesh(leftGeometry, leftMaterial);
cardTextLeft.position.set(-CARD_WIDTH M
/ 2 + 1.5, CARD_HEIGHT / 2 - 0.32, CARD_THICKNESS / 2 + 0.10); // 2px down, 6px back total
cardTextLeft.renderOrder = 10002; // Above display image
cardGroup.add(cardTextLeft);
// Right text: "EP200"
const rightCanvas = document.createElement('canvas');
const rightCtx = rightCanvas.getContext('2d');
rightCanvas.width = 640;
rightCanvas.height = 160;
rightCtx.font = 'bold 80px monospace'; // 25% larger (64 * 1.25 = 80)
rightCtx.fillStyle = '#00ffff'; // Cyan text
.textAlign = 'right';
rightCtx.textBaseline = 'middle';
rightCtx.fillText('EP200', 640, 80);
const rightTexture = new THREE.CanvasTexture(rightCanvas);
rightTexture.flipY = true; // Flip to correct orientation
rightTexture.needsUpdate = true;
const rightMaterial = new THREE.MeshStandardMaterial({
map: rightTexture,
emissiveMap: rightTexture,
emissive: 0x00ffff, // Cyan emissive color
emissiveIntensity: circuitLayerPowered ? 3.0 : 0, // Bright when on, offM
side: THREE.DoubleSide,
transparent: true,
opacity: 1.0, // Fully opaque
depthWrite: false,
depthTest: true
const rightGeometry = new THREE.PlaneGeometry(2.5, 0.625); // 25% larger to match font size
cardTextRight = new THREE.Mesh(rightGeometry, rightMaterial);
cardTextRight.position.set(CARD_WIDTH / 2 - 1.5, CARD_HEIGHT / 2 - 0.32, CARD_THICKNESS / 2 + 0.10); // 2px down, 6px back total
cardTextRight.renderOrder = 10002; // Above displaM
cardGroup.add(cardTextRight);
Card text labels created: THE BOX (left), EP200 (right)');
createCardTextLabels();
// 3D Rotating Square removed - using 2D canvas animation instead
// Layer Toggle System - Toggle layers with keys 1-9 and a-d
const layerToggles = {
'1': { name: 'Card Frame', object: null }, // Will be set to frameMesh
'2': { name: 'Circuit Layer', object: null }, // Will be set to circuitMesh
'3': { name: 'Front Glass', object: null }, // WillM
be set to frontGlass
'4': { name: 'Back Glass', object: null }, // Will be set to backGlass
'5': { name: 'Screen', object: null }, // Will be set to screenMesh
'6': { name: 'Screen Frame (cyan)', object: null }, // Will be set to screenFrame
'7': { name: 'Screen Bezel', object: null }, // Will be set to screenBezel
'8': { name: 'Buttons', object: null }, // Will be set to buttonsGroup
'9': { name: 'Power Button', object: null }, // Will be set to powerButton
'a': { name: 'Untoggled BlueM
Display-Sized Mesh', object: null }, // Will find the unnamed PlaneGeometry with display size
'b': { name: 'Hologram Particles', object: null }, // Will be set to hologramParticles
'c': { name: 'ExtrudeGeometry Mesh 1', object: null }, // Will find first ExtrudeGeometry cyan mesh
'd': { name: 'ExtrudeGeometry Mesh 2', object: null } // Will find second ExtrudeGeometry cyan mesh
// Initialize layer toggles after objects are created
function initializeLayerToggles() {
// Set up direct references M
layerToggles['1'].object = frameMesh;
// Find circuit mesh - circuitLayer IS the mesh (not a group)
if (circuitLayer && circuitLayer.geometry) {
layerToggles['2'].object = circuitLayer; // circuitLayer is the mesh itself
} else if (cardGroup) {
// Fallback: Find it by geometry type and position
cardGroup.children.forEach(child => {
if (child.geometry && child.geometry.type === 'PlaneGeometry' && child.position.y === 0 && Math.abs(child.posM
ition.z - 0.0945) < 0.05) {
layerToggles['2'].object = child;
// Find glass layers - front glass pieces are at z = CARD_THICKNESS/2 + 0.11, back glass at z = -CARD_THICKNESS/2 - 0.001 + 0.08
if (glassLayers) {
const frontZ = CARD_THICKNESS / 2 + 0.11;
const backZ = -CARD_THICKNESS / 2 - 0.001 + 0.08;
// Create groups for front and back glass
const frontGlassGroup = new THREE.Group();
const backGlassGroup = M
glassLayers.children.forEach((child) => {
if (Math.abs(child.position.z - frontZ) < 0.1) {
frontGlassGroup.add(child);
} else if (Math.abs(child.position.z - backZ) < 0.1 || Math.abs(child.rotation.x - Math.PI) < 0.1) {
backGlassGroup.add(child);
// Ensure glass groups are visible
frontGlassGroup.visible = true;
backGlassGroup.visible = true;
glassLayers.visiM
layerToggles['3'].object = frontGlassGroup;
layerToggles['4'].object = backGlassGroup;
// Make sure screenMesh is assigned to key '5' and nothing else
if (screenMesh) {
// Make sure screenMesh is assigned to key '5' and nothing else
if (screenMesh) {
layerToggles['5'].object = screenMesh;
// Ensure screenMesh has a name to distinguish it
if (!screenMesh.name) {
screenMesh.name = 'screenMesh';
// Ensure screenMesh has a name to distinguish it
if (!screenMesh.name) {
screenMesh.name = 'screenMesh';
// Find screen frame and bezel - use global reference first, then search
if (globalScreenFrame) {
layerToggles['6'].object = globalScreenFrame;
// Also search recursively in case they're nested
function findChildByName(parent, name) {
if (parent.name === name) return parent;
if (parent.children) {
for (let child of parent.children) {
const found = findChildByName(child, name);
if (found) return found;
return null;
if (cardGroup) {
const screenFrame = findChildByName(cardGroup, 'screenFrame');
if (screenFrame) {
layerToggles['6'].object = screenFrame;
// Find screen bezel
if (cardGroup) {
n findChildByName(parent, name) {
if (parent.name === name) return parent;
if (parent.children) {
for (let child of parent.children) {
const found = findChildByName(child, name);
if (found) return found;
return null;
const screenBezel = findChildByName(cardGroup, 'screenBezel');
if (screenBezel) {
layerToggles['7'].object = screenBezel;
// Also check for any other cyan/blue objects near the screen position that might be the "additional blue surface"
// Search all cardGroup children for objects at screen position with cyan color
if (cardGroup) {
cardGroup.traverse((child) => {
if (child.material && child.material.color) {
const color = child.material.color;
const isCyan = (color.r > 0.9 && color.g > 0.9 && color.b > 0.9) ||
(color.r === 0 && color.g ==M
= 1 && color.b === 1) ||
child.material.emissive &&
(child.material.emissive.r === 0 && child.material.emissive.g === 1 && child.material.emissive.b === 1);
if (isCyan && Math.abs(child.position.y - 0.8) < 0.5 && Math.abs(child.position.z - (CARD_THICKNESS / 2 + 0.08)) < 0.2) {
console.log('
Found additional cyan/blue surface:', child.name || 'unnamed', child);
// If it's M
not already assigned, we could add it to a new toggle or assign it
if (buttons && buttons.length > 0) {
const buttonsGroup = new THREE.Group();
buttons.forEach(btn => buttonsGroup.add(btn));
buttonsGroup.name = 'buttonsGroup';
// IMPORTANT: Add buttonsGroup to cardGroup so buttons are visible
cardGroup.add(buttonsGroup);
layerToggles['8'].object = buttonsGroup;
// Ensure buttonsGroup is M
buttonsGroup.visible = true;
if (powerButton) {
layerToggles['9'].object = powerButton;
// Find the unnamed PlaneGeometry with display size (the additional blue surface)
if (cardGroup) {
const DISPLAY_SIZE = 2.5;
const sizeTolerance = 0.5;
cardGroup.traverse((child) => {
// Find unnamed PlaneGeometry with display size - but make sure it's NOT screenMesh
if (!layerToggles['a'].object && child.type === 'M
child.geometry && child.geometry.type === 'PlaneGeometry' &&
child !== screenMesh && // IMPORTANT: Don't assign screenMesh to key 'a'
(!child.name || child.name === '' || child.name === 'untoggledBlueDisplayMesh')) {
const params = child.geometry.parameters;
if (params && params.width !== undefined) {
const width = params.width;
const height = params.height || params.widM
const isDisplaySize = (Math.abs(width - DISPLAY_SIZE) < sizeTolerance &&
Math.abs(height - DISPLAY_SIZE) < sizeTolerance) ||
(Math.abs(width - (DISPLAY_SIZE + 0.2)) < sizeTolerance &&
Math.abs(height - (DISPLAY_SIZE + 0.2)) < sizeTolerance);
// Check if it's cyan/blue
if (isDisplaySize && child.material) {
const mat = child.material;
let isCyan = false;
if (mat.color && mat.color.r < 0.1 && mat.color.g > 0.9 && mat.color.b > 0.9) {
isCyan = true;
}
if (mat.emissive && mat.emissive.r < 0.1 && mat.emissive.g > 0.9 && mat.emissive.b > 0.9) {
isCyan = true;
}
if (isCyan) {
layerToggles['a'].object = child;
child.name = 'untoggledBlueDisplayMesh'; // Give it a name for reference
console.log('
Found untoggled blue display-sized mesh (assigned to key "a"):', child, 'Position:', child.position, 'Size:', width, 'x', height);
// Also hide it by default so it doesn't interfere
child.visible = false;
console.log('
Hidden by default');
}
}
// Find hologram particles (Points with BufferGeometry)
if (!layerToggles['b'].object && child.type === 'Points' &&
child.geometry && child.geometry.type === 'BufferGeometry') {
layerToggles['b'].object = child;
if (!child.name) child.name = 'hologramParticles';
// Find ExtrudeGeometry cyan M
if (child.type === 'Mesh' && child.geometry && child.geometry.type === 'ExtrudeGeometry') {
if (child.material) {
const mat = child.material;
let isCyan = false;
if (mat.color && mat.color.r < 0.1 && mat.color.g > 0.9 && mat.color.b > 0.9) {
isCyan = true;
}
if (mat.emissive && mat.emissive.r < 0.1 && mat.emissive.g > 0.9 && mat.emissive.b > 0.9) {
isCyan = true;
}
if (isCyan) {
if (!layerToggles['c'].object) {
layerToggles['c'].object = child;
if (!child.name) child.name = 'extrudeGeometryMesh1';
} else if (!layerToggles['d'].object && layerToggles['c'].object !== child) {
layerToggles['d'].object = child;
if (!child.name) chilM
d.name = 'extrudeGeometryMesh2';
}
}
Layer toggles initialized:', Object.keys(layerToggles).map(k => `${k}: ${layerToggles[k].name} ${layerToggles[k].object ? '
// Keyboard event listener for layer toggles (1-9 and a-d)
window.addEventListener('keydown', (event) => {
const key = event.key.toLowerCase(); // Convert to lowercase to handle both 'AM
if ((key >= '1' && key <= '9') || (key >= 'a' && key <= 'd')) {
const toggle = layerToggles[key];
if (toggle && toggle.object) {
toggle.object.visible = !toggle.object.visible;
console.log(`${toggle.object.visible ? '
'} ${toggle.name} ${toggle.object.visible ? 'ON' : 'OFF'}`);
console.log(`
Layer ${key} (${toggle?.name || 'Unknown'}) not found`);
// DEBUG: Press '0' to find all cM
yan/blue objects, especially those with display size
// Press 'v' to find only VISIBLE cyan/blue objects
if (key === '0' || key === 'v') {
const onlyVisible = key === 'v';
console.log(onlyVisible ? '
Searching for VISIBLE cyan/blue objects only...' : '
Searching for all cyan/blue objects...');
const DISPLAY_SIZE = 2.5;
const sizeTolerance = 0.5; //
0.5 units tolerance for "about display size"
const visibleCyanObjects = [];
if (cardGroup) {
cardGroup.traverse((child) => {
// Skip if we only want visible objects and this one is not visible
if (onlyVisible && !child.visible) return;
if (child.material) {
const mat = child.material;
let isCyan = false;
if (mat.color) {
const r = mat.color.r;
const g = mat.color.g;
const b = mat.color.b;
isCyan = (r < 0.1 && g > 0.9 && b > 0.9) ||
(r === 0 && g === 1 && b === 1);
}
if (mat.emissive) {
const er = mat.emissive.r;
const eg = mat.emissive.g;
const eb = mat.emissive.b;
if ((er < 0.1 && eg > 0.9 && eb > 0.9) ||
(er === 0 && eg ===M
isCyan = true;
}
}
// Also check if texture has cyan colors (for screenMaterial)
if (!isCyan && mat.map && mat.map.image) {
// This could be a canvas texture with cyan content
// We'll check position to see if it's near display
if (Math.abs(child.position.y - 0.8) < 0.5 &&
M
Math.abs(child.position.z - (CARD_THICKNESS / 2 + 0.15)) < 0.2) {
// Might be screen-related, check if it's actually visible
if (onlyVisible) {
isCyan = true; // Include for investigation
}
}
}
if (isCyan) {
// Check if actually visible (considering parent visibility)
M
let actuallyVisible = child.visible;
let parent = child.parent;
while (parent && actuallyVisible) {
if (parent.visible === false) {
actuallyVisible = false;
break;
}
parent = parent.parent;
}
// If we only want visible, skip if not actually visibM
if (onlyVisible && !actuallyVisible) return;
// Check geometry size
let width = 0, height = 0, depth = 0;
let geometryType = 'unknown';
if (child.geometry) {
geometryType = child.geometry.type;
if (child.geometry.parameters) {
conM
st params = child.geometry.parameters;
// PlaneGeometry
if (params.width !== undefined) {
width = params.width;
height = params.height || params.width;
}
// BoxGeometry
if (params.depth !== undefined) {
M
width = params.width || 0;
height = params.height || 0;
depth = params.depth || 0;
}
} else if (child.geometry.boundingBox) {
const box = child.geometry.boundingBox;
const size = new THREE.Vector3();
box.getSize(size);
width = size.x;
height = size.y;
depth = size.z;
}
}
// Check if size is about display size (2.5x2.5)
const isDisplaySize = (Math.abs(width - DISPLAY_SIZE) < sizeTolerance &&
Math.abs(height - DISPLAY_SIZE) < sizeTolerance) ||
(Math.abs(width - (DISPLAY_SIZE + 0.M
2)) < sizeTolerance &&
Math.abs(height - (DISPLAY_SIZE + 0.2)) < sizeTolerance) ||
(Math.abs(width - (DISPLAY_SIZE + 0.25)) < sizeTolerance &&
Math.abs(height - (DISPLAY_SIZE + 0.25)) < sizeTolerance);
// Check if this object is in the layer toggles
let toggleKey = null;
for (let keyM
// Exact match
if (layerToggles[key].object === child) {
toggleKey = key;
break;
}
// Check if it's inside a Group
if (layerToggles[key].object && layerToggles[key].object.type === 'Group' && layerToggles[key].object.children.includes(child)) {
toggleKey = key;
break;
}
}
const logData = {
name: child.name || 'unnamed',
type: child.type,
geometryType: geometryType,
visible: child.visible,
actuallyVisible: actuallyVisible,
position: child.position,
sizM
e: { width, height, depth },
isDisplaySize: isDisplaySize ? '
YES - DISPLAY SIZE!' : '
toggleKey: toggleKey ? `
Key ${toggleKey} (${layerToggles[toggleKey].name})` : '
NOT IN TOGGLE SYSTEM!',
material: {
color: mat.color ? { r: mat.color.r, g: mat.color.g, b: mat.color.b } : null,
emissive: mat.emissive ? { r: mat.emissive.r, g: mat.emissive.M
g, b: mat.emissive.b } : null,
opacity: mat.opacity,
transparent: mat.transparent,
hasMap: !!mat.map
},
renderOrder: child.renderOrder,
parent: child.parent?.name || child.parent?.type || 'none',
uuid: child.uuid
};
if (onlyVisible) {
visibleCyanObjects.push({ child, logData });
}
if (isDisplaySize) {
if (!toggleKey) {
console.log('
UNTOGGLED CYAN/BLUE OBJECT WITH DISPLAY SIZE:', logData);
console.log('
This object is NOT assigned to any toggle key! This might be the problem!');
console.log('
Object reference:', child);
} else {
console.log('
CYAN/BLUE OBJECT WITH DISPLAY SIZE FOUND:', logData);
}
} else if (!toggleKey) {
console.log('
Untoggled Cyan/Blue object:', logData);
} else {
console.log('
Cyan/Blue object found:', logData);
}
if (onlyVisible && visibleCyanObjects.length > 0) {
console.log(`\n
FOUND ${visibleCyanObjects.length} VISIBLE CYAN/BLUE OBJECTS:`);
visibleCyanObjects.forEach((item, index) => {
console.log(`${index + 1}. ${item.logData.name || 'unnamed'} (${item.logData.type}) - ${item.logData.toggleKey || 'NOT IN TOGGLE!'}`);
// Try to automatically hide untM
oggled ones (only if they exist)
const untoggled = visibleCyanObjects.filter(item => item.logData.toggleKey && item.logData.toggleKey.includes('NOT IN TOGGLE'));
if (untoggled.length > 0) {
console.log(`\n
Found ${untoggled.length} untoggled visible cyan object(s). Attempting to hide...`);
untoggled.forEach((item, index) => {
console.log(`Hiding ${index + 1}:`, item.logData.name || 'unnamed');
item.child.visibleM
console.log('
Hidden! Refresh to see if they\'re gone.');
// Initialize after scene is set up
setTimeout(initializeLayerToggles, 500);
// Helper function to create rounded box geometry
function createRoundedBoxGeometry(width, height, depth, radius, segments) {
const shape = new THREE.Shape();
const w = width / 2;
const h = height / 2;
const r = Math.min(radius, width / 2, height / 2);
// Create rounded M
shape.moveTo(-w + r, -h);
shape.lineTo(w - r, -h);
shape.quadraticCurveTo(w, -h, w, -h + r);
shape.lineTo(w, h - r);
shape.quadraticCurveTo(w, h, w - r, h);
shape.lineTo(-w + r, h);
shape.quadraticCurveTo(-w, h, -w, h - r);
shape.lineTo(-w, -h + r);
shape.quadraticCurveTo(-w, -h, -w + r, -h);
const extrudeSettings = {
depth: depth,
bevelEnabled: true,
bevelThickness: 0.01,
bevelSize: 0.01,
bevelSegments: segments
return new THREE.ExtrudeGeometry(shape, extrudeSettings);
// Button Creation Function - Square with rounded corners
function createButton(x, y, size, color = neonBlueMaterial, label = '') {
const buttonGroup = new THREE.Group();
const buttonDepth = 0.08;
const buttonTopDepth = 0.04;
const cornerRadius = size * 0.15; // 15% of size for rounded corners
// Button Base - rounded box
const buttonBaseGeometry = createRoundedBoxGeometry(size, size, buttonDepth, cornerRadius, 4M
const buttonBase = new THREE.Mesh(buttonBaseGeometry, buttonMaterial);
buttonBase.position.z = CARD_THICKNESS / 2 + buttonDepth / 2 + 0.02; // Moved 2 pixels forward
buttonGroup.add(buttonBase);
// Button Top - pressable part (smaller rounded box)
// Create a CLONE of the material so each button has its own instance
const buttonTopMaterial = color.clone();
const buttonTopSize = size * 0.92;
const buttonTopGeometry = createRoundedBoxGeometry(buttonTopSize, buttonTopSize, buttoM
nTopDepth, cornerRadius * 0.92, 4);
const buttonTop = new THREE.Mesh(buttonTopGeometry, buttonTopMaterial);
buttonTop.position.z = CARD_THICKNESS / 2 + buttonDepth + buttonTopDepth / 2 + 0.02; // Moved 2 pixels forward
buttonGroup.add(buttonTop);
// Glow effect when active (invisible initially)
const buttonGlowGeometry = createRoundedBoxGeometry(size * 1.1, size * 1.1, 0.02, cornerRadius * 1.1, 4);
const buttonGlowMaterial = new THREE.MeshBasicMaterial({
color: color.color || coM
lor.emissive || 0x00ffff,
transparent: true,
blending: THREE.AdditiveBlending,
side: THREE.DoubleSide
const buttonGlow = new THREE.Mesh(buttonGlowGeometry, buttonGlowMaterial);
buttonGlow.position.z = CARD_THICKNESS / 2 + buttonDepth + buttonTopDepth + 0.02; // Moved 2 pixels forward
buttonGlow.renderOrder = 1001; // Render above other elements
buttonGroup.add(buttonGlow);
buttonGroup.position.set(x, y, 0);
buttonGroup.userData = {
isPressed: false,
isActive: false,
originalZ: buttonTop.position.z,
buttonTop: buttonTop,
buttonGlow: buttonGlow,
glowMaterial: buttonGlowMaterial,
color: color,
isButton: true // Mark as button for easier identification
// Make buttons easily clickable by ensuring high render order
buttonTop.renderOrder = 1000;
buttonBase.renderOrder = 999;
cardGroup.add(buttonGroup);
return buttonGroup;
// Create Power Button - sqM
uare with rounded corners
const powerButton = createButton(0, CARD_HEIGHT / 2 - 0.5, 0.35, neonBlueMaterial, 'POWER');
// Ensure power button is visible
powerButton.visible = true;
powerButton.traverse(child => {
if (child.isMesh) {
child.visible = true;
// Note: createButton already adds button to cardGroup
// Create 4 Action Buttons - square with rounded corners
const buttonSpacing = 0.7;
const buttonStartX = -1.05;
const buttonY = -CARD_HEIGHT /M
for (let i = 0; i < 4; i++) {
const button = createButton(
buttonStartX + i * buttonSpacing,
0.35, // Larger buttons for better visibility
neonBlueMaterial // Same color as power button
buttons.push(button);
// Ensure buttons are visible
button.visible = true;
button.traverse(child => {
if (child.isMesh) {
child.visible = true;
// Note: createButton already adds button to cardM
// Set initial state: action buttons should be glassy and non-glowing (OFF state)
const buttonTop = button.userData.buttonTop;
if (buttonTop && buttonTop.material) {
buttonTop.material.emissiveIntensity = 0; // No glow initially
buttonTop.material.transparent = true; // Enable transparency
buttonTop.material.opacity = 0.35; // Light glassy effect (35% opacity)
buttonTop.material.needsUpdate = true;
// Debug: Verify buttons were created
All buttons created - Power button:', powerButton ? 'OK' : 'MISSING', 'Action buttons:', buttons.length);
// Override OrbitControls to allow button clicks
// Move this after buttons are created so they exist
const originalMouseDown = controls.onMouseDown;
controls.onMouseDown = function(event) {
// First check if we hit a button
mouse.x = (event.clientX / window.innerWidth) * 2 - 1;
mouse.y = -(event.clientY / window.innerHeight) * 2 + 1;
raycaster.setFromCamera(mouse, camera);
[powerButton, ...buttons].forEach(button => {
allButtonObjects.push(button);
button.traverse(child => {
if (child.isMesh) {
allButtonObjects.push(child);
const intersects = raycaster.intersectObjects(allButtonObjects, true);
if (intersects.length > 0) {
console.log('
Button detected - preventing OrbitControls!');
event.preventDefault();
event.stopPropagation();
// Call our button handler directly
const intersected = intersects[0].object;
let button = null;
let buttonIndex = -1;
let current = intersected;
while (current) {
if (current === powerButton) {
button = powerButton;
buttonIndex = -1;
break;
const actionButtonIndex = buttons.indexOf(current);
if (actionButtonIndex !== -1) {
button = current;
buttonIndex = actionButtonIndex;
break;
if (powerButton.children.includes(current) || current.parent === powerButton) {
button = powerButton;
buttonIndex = -1;
break;
buttons.forEach((btn, idx) => {
if (btn.children.includes(current) || current.parent === btn) {
button = btn;
buttonIndex = idx;
current = current.parent;
if (button) {
handleButtonClick(button, buttonIndex);
return; // Don't call original mouseDown
// No button hit - proceed with OrbitControls
if (originalMouseDown) {
originalMouseDown.call(this, event);
// Particle System for hologram effect
function createHologramParticles() {
const particleCount = 200;
const particles = new THREE.BufferGeometry();
positions = new Float32Array(particleCount * 3);
for (let i = 0; i < particleCount * 3; i += 3) {
positions[i] = (Math.random() - 0.5) * (CARD_WIDTH + 1);
positions[i + 1] = (Math.random() - 0.5) * (CARD_HEIGHT + 1);
positions[i + 2] = (Math.random() - 0.5) * 1;
particles.setAttribute('position', new THREE.BufferAttribute(positions, 3));
const particleMaterial = new THREE.PointsMaterial({
color: 0x00ffff,
transparent: trueM
opacity: 0.6,
blending: THREE.AdditiveBlending
return new THREE.Points(particles, particleMaterial);
// Hologram particles removed
// const hologramParticles = createHologramParticles();
// cardGroup.add(hologramParticles);
const hologramParticles = null; // Disabled
// Edge glow effect - create glowing outline with rounded corners
function createEdgeGlow() {
const edgeGlowGroup = new THREE.Group();
// Create rounded edge glow using shape
const glowShape = newM
const w = CARD_WIDTH / 2 + 0.1;
const h = CARD_HEIGHT / 2 + 0.1;
const r = cardCornerRadius + 0.1;
// Outer rounded rectangle
glowShape.moveTo(-w + r, -h);
glowShape.lineTo(w - r, -h);
glowShape.quadraticCurveTo(w, -h, w, -h + r);
glowShape.lineTo(w, h - r);
glowShape.quadraticCurveTo(w, h, w - r, h);
glowShape.lineTo(-w + r, h);
glowShape.quadraticCurveTo(-w, h, -w, h - r);
glowShape.lineTo(-w, -h + r);
glowShape.quadraticCurveTo(-w, -h, -w +M
// Inner rounded rectangle (create edge only)
const innerW = w - 0.05;
const innerH = h - 0.05;
const innerR = r - 0.05;
const innerShape = new THREE.Path();
innerShape.moveTo(-innerW + innerR, -innerH);
innerShape.lineTo(innerW - innerR, -innerH);
innerShape.quadraticCurveTo(innerW, -innerH, innerW, -innerH + innerR);
innerShape.lineTo(innerW, innerH - innerR);
innerShape.quadraticCurveTo(innerW, innerH, innerW - innerR, innerH);
innerShape.lineTo(-innerW +M
innerShape.quadraticCurveTo(-innerW, innerH, -innerW, innerH - innerR);
innerShape.lineTo(-innerW, -innerH + innerR);
innerShape.quadraticCurveTo(-innerW, -innerH, -innerW + innerR, -innerH);
glowShape.holes.push(innerShape);
const glowExtrudeSettings = {
depth: 0.02,
bevelEnabled: false
const glowGeometry = new THREE.ExtrudeGeometry(glowShape, glowExtrudeSettings);
const glowMaterial = new THREE.MeshBasicMaterial({
transparent: true,
opacity: 0.8,
blending: THREE.AdditiveBlending
const edgeGlow = new THREE.Mesh(glowGeometry, glowMaterial);
edgeGlow.position.z = CARD_THICKNESS / 2 + 0.02;
edgeGlowGroup.add(edgeGlow);
return edgeGlowGroup;
// Edge glow removed - was causing green line issue
// const edgeGlow = createEdgeGlow();
// cardGroup.add(edgeGlow);
// Raycasting for Button Interaction
const raycaster = new THREE.Raycaster();
const mouse = new THREE.VeM
let isDragging = false;
let lastInteractionTime = Date.now();
const AUTO_ROTATION_PAUSE_TIME = 60000;
let autoRotate = true;
let autoRotateSpeed = 0.002;
// Hologram shimmer effect
let shimmerOffset = 0;
// Button Press Animation - smooth push down
function pressButton(button) {
if (button.userData.isPressed) return;
button.userData.isPressed = true;
const buttonTop = button.userData.buttonTop;
const buttonGlow = button.userData.buttonGlow;
const originalZ = butM
ton.userData.originalZ;
const targetZ = originalZ - 0.05; // Press down 0.05 units (5 pixels)
let pressZ = originalZ;
const animatePress = () => {
pressZ += (targetZ - pressZ) * 0.4; // Faster press animation
if (buttonTop) {
buttonTop.position.z = pressZ;
// Move glow with button
if (buttonGlow) {
buttonGlow.position.z = pressZ + 0.01;
if (Math.abs(pressZ - targetZ) > 0.001) {
requestAM
nimationFrame(animatePress);
// Hold pressed for a moment (shorter delay)
setTimeout(() => {
let releaseZ = pressZ;
const animateRelease = () => {
releaseZ += (originalZ - releaseZ) * 0.3; // Faster release animation
if (buttonTop) {
buttonTop.position.z = releaseZ;
}
// Move glow back
if (buttonGlow)M
buttonGlow.position.z = releaseZ + 0.01;
}
if (Math.abs(releaseZ - originalZ) > 0.001) {
requestAnimationFrame(animateRelease);
} else {
// Ensure final position is exact
if (buttonTop) {
buttonTop.position.z = originalZ;
}
if (buttonGlow) {
M
buttonGlow.position.z = originalZ + 0.01;
}
button.userData.isPressed = false;
}
requestAnimationFrame(animateRelease);
}, 100); // Shorter hold time for snappier feel
requestAnimationFrame(animatePress);
// Helper function to draw scanlines on any canvas
function drawScanlines(ctx, canvasWidth, canvasHeight, scanlineOffset) {
// Scanlines - moving HORIZONTAL lineM
s (from top to bottom)
// VERY THIN, SMOOTH, IRREGULAR and MORE TRANSPARENT for realistic retro effect
// Use 'screen' composite mode so scanlines look consistent over different backgrounds
ctx.globalCompositeOperation = 'screen'; // Makes scanlines additive/consistent
ctx.strokeStyle = 'rgba(0, 255, 255, 0.08)'; // Bright cyan with 8% opacity (much more transparent)
ctx.lineWidth = 0.3; // Much thinner for smoother appearance
ctx.lineCap = 'round'; // Rounded ends for smoothM
ctx.imageSmoothingEnabled = true; // Enable anti-aliasing for smoother lines
// Irregular spacing - random between 3-12 pixels
let y = scanlineOffset % 15; // Start position varies
while (y < canvasHeight) {
// Draw single thin scanline
ctx.beginPath();
ctx.moveTo(0, y);
ctx.lineTo(canvasWidth, y);
ctx.stroke();
// Irregular spacing: random between 3-12 pixels
const spacing = 3 + Math.random() * 9; // 3-12 pixels
// Sometimes add a double scanline (for extra irregularity, but thinner)
if (Math.random() > 0.85 && y < canvasHeight) {
ctx.beginPath();
ctx.moveTo(0, y + 0.3);
ctx.lineTo(canvasWidth, y + 0.3);
ctx.stroke();
// Create startup screen with scanlines, typing text, and logo
function createStartupScreen(progress, text, scanlineOffset, currentTime, canvas, phase) {
existing canvas if provided, otherwise create new one
canvas = document.createElement('canvas');
canvas.width = 512;
canvas.height = 512;
const ctx = canvas.getContext('2d');
ctx.clearRect(0, 0, 512, 512);
// NO transformations - draw everything normally as-is
// Dark background (like old TV) - always visible
ctx.fillStyle = '#000000'; // Pure black
ctx.fillRect(0, 0, 512, 512);
tartup animation: Rotating square that grows from small to large (longer duration)
if (phase === 0 && progress < 0.6) {
// Show rotating square animation during first 60% of Phase 0 (longer duration)
const squareProgress = progress / 0.6; // 0 to 1 as progress goes from 0 to 0.6
const logoSize = 10 + (squareProgress * 70); // Grow from 10 to 80 pixels
const logoX = 256;
const logoY = 256;
// Calculate rotation angle based on current time (rotates continuoM
const rotationSpeed = 0.005; // Rotation speed
const rotationAngle = currentTime * rotationSpeed;
// Save context to apply rotation
// Translate to center point
ctx.translate(logoX, logoY);
// Rotate around center
ctx.rotate(rotationAngle);
// Draw square outline only (no fill - transparent inside)
const squareAlpha = Math.min(squareProgress * 2, 1.0); // Fade in quickly
strokeStyle = `rgba(0, 255, 255, ${squareAlpha})`; // BRIGHT BLUE
ctx.lineWidth = 3;
ctx.beginPath();
// Draw square from center: top-left, top-right, bottom-right, bottom-left
ctx.moveTo(-logoSize, -logoSize); // Top-left
ctx.lineTo(logoSize, -logoSize); // Top-right
ctx.lineTo(logoSize, logoSize); // Bottom-right
ctx.lineTo(-logoSize, logoSize); // Bottom-left
ctx.closePath(); // Close the path back to start
ctx.stroke();
// Restore context (undoes rotation and translation)
ctx.restore();
// Scanlines FIRST - use helper function
drawScanlines(ctx, 512, 512, scanlineOffset);
// Draw text AFTER scanlines so it's clearly visible on top
// Phase 0: Show text starting at progress 0.3 (while square is still animating)
// Phase 1: Continue showing text
// "connect to the box network..." text - MULTILINE - CLEAR RETRO BLUE
// Show in Phase 0 starting at progress 0.3, or in Phase 1
if ((phase === 0 && progress > 0.3) || (phase === 1 && progress > 0.1)) {
ctx.font = 'bold 42px monospace'; // Larger, clearer font
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
const lineSpacing = 55; // Space between lines
const line1Y = 230; // Upper line (above center)
const line2Y = 285; // Lower line (below center)
const totalText = CONNECT_TEXT_LINE1 + ' ' + CONNECT_TEXT_LINE2;
let displayLine1 = '';
if (text.length <= CONNECT_TEXT_LINE1.length) {
displayLine1 = text;
displayLine1 = CONNECT_TEXT_LINE1;
displayLine2 = text.substring(CONNECT_TEXT_LINE1.length + 1);
// Draw lines
ctx.fillStyle = '#00ffff'; // Bright cyan
ctx.font = 'bold 40px monospace';
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
// Draw Line 1
if (displayLine1.length >M
ctx.fillText(displayLine1, 256, line1Y);
// Draw Line 2
if (displayLine2.length > 0) {
ctx.fillText(displayLine2, 256, line2Y);
// Cursor removed - no blinking cursor
// Phase 2: Show image (image is loaded and displayed via texture, not canvas)
// The image is handled in loadDisplayImage() function
// Restore context after flipping (undoes the scale transform)
n flicker effect removed - was causing flickering issues
// Can be re-enabled later if needed with better implementation
// Don't create texture here - it's created once and reused
// Just update the canvas content
// Return is not needed since we're modifying the canvas directly
// Display image mesh (card-sized, like circuit layer)
let displayImageMesh = null;
// Display background mesh (display-sized, for black background and scanlines)
let displayBackgroundMesh = null;
function updateScreenImage(imageUrl, index = -1) {
if (!screenMesh) return;
const loader = new THREE.TextureLoader();
loader.load(imageUrl, (texture) => {
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.flipY = true; // Match screen orientation
texture.wrapS = THREE.ClampToEdgeWrapping;
texture.wrapT = THREE.ClampToEdgeWrapping;
if (index >= 0 && index < 4) {
screenImages[index] = textM
// Wait for image to be fully loaded before updating mesh (prevents flickering)
const updateMesh = () => {
// STEP 1: Create canvas for CHARACTER IMAGE ONLY (large, card-sized) - NO black background, NO scanlines
const imageCanvas = document.createElement('canvas');
if (texture.image && texture.image.complete) {
imageCanvas.width = texture.image.width; // ORIGINAL width (large)
imageCanvas.height = texture.iM
mage.height; // ORIGINAL height (large)
} else {
imageCanvas.width = 512;
imageCanvas.height = 512;
const imageCtx = imageCanvas.getContext('2d');
// Draw ONLY the image (full size, card-sized)
if (texture.image && texture.image.complete) {
imageCtx.drawImage(texture.image, 0, 0, imageCanvas.width, imageCanvas.height);
// Create texture for image only
const imageTexture = new THREE.CanvasTexture(imageCanvas);
imageTexture.minFilter = THREE.LinearFilter;
imageTexture.magFilter = THREE.LinearFilter;
imageTexture.flipY = true;
imageTexture.generateMipmaps = false;
// STEP 2: Create canvas for BLACK BACKGROUND AND SCANLINES (display-sized, 512x512)
const bgCanvas = document.createElement('canvas');
bgCanvas.width = 512; // DISPLAY size
bgCanvas.heighM
t = 512; // DISPLAY size
const bgCtx = bgCanvas.getContext('2d');
// Draw black background
bgCtx.fillStyle = '#000000';
bgCtx.fillRect(0, 0, bgCanvas.width, bgCanvas.height);
// Draw scanlines
drawScanlines(bgCtx, bgCanvas.width, bgCanvas.height, scanlineOffset);
// Create texture for background/scanlines
const bgTexture = new THREE.CanvasTexture(bgCanvas);
bgTexture.minM
Filter = THREE.LinearFilter;
bgTexture.magFilter = THREE.LinearFilter;
bgTexture.flipY = true;
bgTexture.generateMipmaps = false;
// STEP 3: Create LARGE mesh for CHARACTER IMAGE (card-sized)
if (!displayImageMesh) {
const displayImageGeometry = new THREE.PlaneGeometry(CARD_WIDTH * 0.995, CARD_HEIGHT * 0.995);
const displayImageMaterial = new THREE.MeshStandardMaterial({
map: imageTexture,
emissiveMap: imageTexture,
emissive: 0x00ffff,
emissiveIntensity: 8.0,
color: 0x000000,
side: THREE.DoubleSide,
transparent: true,
alphaMap: imageTexture,
depthWrite: false
displayImageMesh = new THREE.Mesh(displayImageGeometry, displayImageMaterial);
displayImageMesh.position.set(0.03, 0.38, CARD_THICKNESS /M
2 + 0.15); // ORIGINAL position
displayImageMesh.renderOrder = 10001;
displayImageMesh.visible = false;
cardGroup.add(displayImageMesh);
console.log('
Display image mesh created (card-sized, image only)');
} else {
// Update existing mesh with new texture - OLD IMAGE STAYS VISIBLE until new one is ready
imageTexture.needsUpdate = true;
displayImageMesh.material.map = imageTexture;
displayImageMesh.material.emissiveMap = imageTexture;
displayImageMesh.material.alphaMap = imageTexture;
displayImageMesh.material.emissiveIntensity = 8.0;
displayImageMesh.material.needsUpdate = true;
// Keep old image visible - don't hide it
displayImageMesh.visible = true; // Ensure it's visible
console.log('
Display image mesh updated with new character image');
EP 4: Create SMALL mesh for BLACK BACKGROUND AND SCANLINES (display-sized)
if (!displayBackgroundMesh) {
const displayBackgroundGeometry = new THREE.PlaneGeometry(SCREEN_SIZE, SCREEN_SIZE); // Display size
const displayBackgroundMaterial = new THREE.MeshStandardMaterial({
map: bgTexture,
emissiveMap: bgTexture,
emissive: 0x00ffff,
emissiveIntensity: 5.0,
color: 0x000000,
side: THREE.DoubleSide,
transparent: false,
depthWrite: true
displayBackgroundMesh = new THREE.Mesh(displayBackgroundGeometry, displayBackgroundMaterial);
// Position at screen location (SAME as screenMesh - y=0.8)
displayBackgroundMesh.position.set(0, 0.8, CARD_THICKNESS / 2 + 0.09); // Same position as screenMesh
displayBackgroundMesh.renderOrder = 9999; // BELOW image meshM
(lower renderOrder = rendered first, behind)
displayBackgroundMesh.visible = false;
cardGroup.add(displayBackgroundMesh);
console.log('
Display background mesh created (display-sized, black background + scanlines)');
} else {
// Update existing mesh
bgTexture.needsUpdate = true;
displayBackgroundMesh.material.map = bgTexture;
displayBackgroundMesh.material.emissiveMap = bgTexture;
displayBackgroundMesh.material.emissiveIntensity = 5.0;
displayBackgroundMesh.position.set(0, 0.8, CARD_THICKNESS / 2 + 0.09); // Ensure correct position
displayBackgroundMesh.material.needsUpdate = true;
displayBackgroundMesh.visible = true; // Ensure it's visible
// Show both meshes and hide the screen
displayImageMesh.visible = true;
displayBackgroundMesh.visible = true;
screenMesh.vM
// Character description text will be updated by the button handler
// Don't create it here to avoid duplicate calls
// Store canvases for updates
window.characterImageCanvas = imageCanvas;
window.characterImageCtx = imageCtx;
window.characterImageTexture = texture;
window.characterBackgroundCanvas = bgCanvas;
window.characterBackgroundCtx = bgCtx;
Display image loaded on card-sized mesh with black background and scanlines:', imageUrl);
// Check if image is already loaded, otherwise wait for load event
if (texture.image && texture.image.complete) {
updateMesh();
} else if (texture.image) {
texture.image.onload = () => {
updateMesh();
// Fallback: try to update anyway
updateMesh();
}, undefined, fuM
console.error('
Error loading display image:', error);
// Load the display image after Phase 1 (connecting)
function loadDisplayImage() {
// Load character image from Ordinals
if (characters && characters[currentCharacterIndex]) {
const character = characters[currentCharacterIndex];
console.log('
Loading character image from Ordinals:', character.name);
fetchOrdinalContent(character.id, (dataUrl) => {
if (dataUrl) {
updateScreenImage(dataUrl);
} else {
console.error('
Failed to load character image from Ordinals');
console.error('
Character not found');
// Update character description text with current character
function updateCharacterDescriptionText() {
// Canvas size: match display width (SCREEN_SIZE = 2.5 units)
// Use aspect ratio similar to display, but taller for text
const displayWidth = SCREEN_SIZE;M
const displayHeight = 1.2; // Height for text area
const canvasWidth = 1024;
const canvasHeight = Math.round(canvasWidth * (displayHeight / displayWidth)); // ~491 pixels
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
canvas.width = canvasWidth;
canvas.height = canvasHeight;
// Draw black transparent background - less transparent (darker)
ctx.fillStyle = 'rgba(0, 0, 0, 0.6)'; // Less transparent black (60% opacity)
ctx.fillRect(0, 0, canvas.width, canvas.height);
// Draw border frame (cyan, thin)
ctx.strokeStyle = '#00ffff';
ctx.lineWidth = 3;
ctx.strokeRect(2, 2, canvas.width - 4, canvas.height - 4);
// Calculate text area with padding
const padding = 20;
const textAreaX = padding;
const textAreaY = padding;
const textAreaWidth = canvas.width - padding * 2;
const textAreaHeight = canvas.height - padding * 2;
// Multi-line text from current character
cter = characters && characters[currentCharacterIndex] ? characters[currentCharacterIndex] : null;
const lines = character ? character.description : ['Character not found'];
// Calculate font size to fit in the text area - make it larger
const maxLineHeight = textAreaHeight / lines.length;
const fontSize = Math.min(48, maxLineHeight * 0.85); // Larger font (48px max, 85% of line height)
const lineHeight = maxLineHeight;
ctx.font = `bold ${fontSize}px monospace`;
ctx.fillStyle =M
ctx.textAlign = 'left';
ctx.textBaseline = 'top';
// Reduce letter spacing to fit text in field
ctx.letterSpacing = '-1px'; // Reduce space between letters
// Draw text lines, fitting them in the text area
// Check if text fits, if not, reduce font size or use smaller letter spacing
lines.forEach((line, index) => {
const y = textAreaY + index * lineHeight;
// Measure text width
const textMetrics = ctx.measureText(line);
textWidth = textMetrics.width;
// If text is too wide, reduce letter spacing more or scale down
if (textWidth > textAreaWidth) {
// Calculate scale factor to fit
const scale = textAreaWidth / textWidth;
ctx.save();
ctx.translate(textAreaX, y);
ctx.scale(scale, 1); // Scale horizontally only
ctx.fillText(line, 0, 0);
ctx.restore();
ctx.fillText(line, textAreaX, y);
const texture = new THREE.CanvasTexture(canvas);
texture.flipY = true;
texture.needsUpdate = true;
if (characterDescriptionText) {
// Update existing mesh
texture.needsUpdate = true;
characterDescriptionText.material.map = texture;
characterDescriptionText.material.emissiveMap = texture;
characterDescriptionText.material.emissiveIntensity = circuitLayerPowered ? 3.0 : 1.5;
characterDescriptionText.material.needsUpdate = true;
acterDescriptionText.visible = true;
console.log('
Character description text updated for:', character ? character.name : 'Unknown');
// Create new mesh
const material = new THREE.MeshStandardMaterial({
map: texture,
emissiveMap: texture,
emissive: 0x00ffff,
emissiveIntensity: circuitLayerPowered ? 3.0 : 1.5,
side: THREE.DoubleSide,
transparent: true,
opacity: 1.0,
depthWrite: falsM
material.needsUpdate = true;
// Ensure texture is properly set
if (material.map) {
material.map.needsUpdate = true;
if (material.emissiveMap) {
material.emissiveMap.needsUpdate = true;
// Geometry matches display width (SCREEN_SIZE = 2.5)
const geometry = new THREE.PlaneGeometry(displayWidth, displayHeight);
characterDescriptionText = new THREE.Mesh(geometry, material);
// Position: cenM
tered horizontally (x=0), moved up a bit
// Move up by additional 0.2 units (20 pixels)
characterDescriptionText.position.set(0, -CARD_HEIGHT / 2 + 0.9 + 0.4 + 0.2, CARD_THICKNESS / 2 + 0.10); // Centered horizontally (x=0), moved up
characterDescriptionText.renderOrder = 10003; // Above everything
characterDescriptionText.visible = true; // Make visible immediately when created
cardGroup.add(characterDescriptionText);
console.log('
Character description text creatM
ed with frame for:', character ? character.name : 'Unknown');
// Create character description text below display (legacy function - now calls updateCharacterDescriptionText)
function createCharacterDescriptionText() {
updateCharacterDescriptionText();
// Create tamagotchi controls text below display (similar to character description)
function createTamagotchiControlsText() {
if (tamagotchiControlsText) {
// Already created, just make it visible and update material
tamagotchiContrM
olsText.visible = true;
if (tamagotchiControlsText.material) {
tamagotchiControlsText.material.emissiveIntensity = circuitLayerPowered ? 3.0 : 1.5;
tamagotchiControlsText.material.needsUpdate = true;
// Canvas size: match display width (SCREEN_SIZE = 2.5 units)
const displayWidth = SCREEN_SIZE; // 2.5 units
const displayHeight = 1.0; // Height for controls text
const canvasWidth = 1024;
const canvasHeight = Math.round(canvasWidM
th * (displayHeight / displayWidth)); // ~410 pixels
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
canvas.width = canvasWidth;
canvas.height = canvasHeight;
// Draw black transparent background
ctx.fillStyle = 'rgba(0, 0, 0, 0.6)';
ctx.fillRect(0, 0, canvas.width, canvas.height);
// Draw border frame (cyan, thin)
ctx.strokeStyle = '#00ffff';
ctx.lineWidth = 3;
ctx.strokeRect(2, 2, canvas.width - 4, canvas.height - 4);M
// Calculate text area with padding
const padding = 20;
const textAreaX = padding;
const textAreaY = padding;
const textAreaWidth = canvas.width - padding * 2;
const textAreaHeight = canvas.height - padding * 2;
// Multi-line text for controls (clickable)
'Click Display: Start Mini-Game'
// Calculate font size to fit in the text M
const maxLineHeight = textAreaHeight / lines.length;
const fontSize = Math.min(42, maxLineHeight * 0.85);
const lineHeight = maxLineHeight;
ctx.font = `bold ${fontSize}px monospace`;
ctx.fillStyle = '#00ffff';
ctx.textAlign = 'left';
ctx.textBaseline = 'top';
// Reduce letter spacing to fit text in field
ctx.letterSpacing = '-1px';
// Draw text lines
lines.forEach((line, index) => {
const y = textAreaY + index * lineHeight;
const textMetrics = ctx.measureText(line);
const textWidth = textMetrics.width;
// If text is too wide, scale down
if (textWidth > textAreaWidth) {
const scale = textAreaWidth / textWidth;
ctx.save();
ctx.translate(textAreaX, y);
ctx.scale(scale, 1);
ctx.fillText(line, 0, 0);
ctx.restore();
ctx.fillText(line, textAreaX, y);
texture = new THREE.CanvasTexture(canvas);
texture.flipY = true;
texture.needsUpdate = true;
const material = new THREE.MeshStandardMaterial({
map: texture,
emissiveMap: texture,
emissive: 0x00ffff,
emissiveIntensity: circuitLayerPowered ? 3.0 : 0,
side: THREE.DoubleSide,
transparent: true,
opacity: 1.0,
depthWrite: false
// Geometry matches display width (SCREEN_SIZE = 2.5)
const geometry = new THREE.PlaneGeometryM
(displayWidth, displayHeight);
tamagotchiControlsText = new THREE.Mesh(geometry, material);
// Position: centered horizontally (x=0), below display (similar to character description)
// Position it slightly higher than character description to ensure visibility
tamagotchiControlsText.position.set(0, -CARD_HEIGHT / 2 + 0.9 + 0.4 + 0.2, CARD_THICKNESS / 2 + 0.10);
tamagotchiControlsText.renderOrder = 10003; // Above everything
tamagotchiControlsText.visible = false; // Hidden until tamagotchi M
cardGroup.add(tamagotchiControlsText);
// Create clickable areas for each function (invisible but clickable)
const buttonHeight = displayHeight / lines.length;
const buttonWidth = displayWidth;
// Clear existing buttons
tamagotchiControlButtons.forEach(btn => {
if (btn.parent) btn.parent.remove(btn);
tamagotchiControlButtons = [];
lines.forEach((line, index) => {
// Skip the last line (Click Display)
if (index >= 4) return;
const buttonGeometry = new THREE.PlaneGeometry(buttonWidth, buttonHeight);
const buttonMaterial = new THREE.MeshBasicMaterial({
transparent: true,
opacity: 0.01, // Almost invisible but clickable
side: THREE.DoubleSide,
depthTest: false, // Don't test depth for better clicking
depthWrite: false
const buttonMesh = new THREE.Mesh(buttonGeometry, buttonMaterial);
// Position each button at its line posM
const buttonY = tamagotchiControlsText.position.y + (displayHeight / 2) - (buttonHeight * (index + 0.5));
buttonMesh.position.set(
tamagotchiControlsText.position.x,
buttonY,
tamagotchiControlsText.position.z + 0.02 // Slightly in front of text
buttonMesh.renderOrder = 10005; // Above text
buttonMesh.visible = false; // Hidden until tamagotchi is shown
buttonMesh.userData = {
functionIndex: index, // 0=Feed, 1=PM
functionName: ['feed', 'play', 'clean', 'pet'][index],
isTamagotchiControl: true // Mark as tamagotchi control button
cardGroup.add(buttonMesh);
tamagotchiControlButtons.push(buttonMesh);
console.log('
Created control button', index, 'at position:', buttonMesh.position, 'function:', buttonMesh.userData.functionName);
Tamagotchi controls text created with frame at position:', tamagotchiControlsM
Created', tamagotchiControlButtons.length, 'clickable control buttons');
// Toggle button active state with glow
function setButtonActive(button, active) {
button.userData.isActive = active;
const glowMaterial = button.userData.glowMaterial;
const buttonTop = button.userData.buttonTop;
// Check if this is an action button (buttons 1-4) - NOT the power button
const isActionButton = buttons.includes(button);
const isPowerButton = button === poweM
// Activate glow - make it visible and bright
if (glowMaterial) {
glowMaterial.opacity = 1.0; // Full brightness when active
glowMaterial.needsUpdate = true;
if (isActionButton && buttonTop && buttonTop.material) {
// Action buttons (1-4): change to red when active
buttonTop.material.color.setHex(0xff0000); // Red
buttonTop.material.emissive.setHex(0xff0000); // Red emissive
buttonTop.material.emissiveIntensity = 1.5;
buttonTop.material.needsUpdate = true;
// Also update glow to red
if (glowMaterial) {
glowMaterial.color.setHex(0xff0000);
glowMaterial.needsUpdate = true;
} else if (isPowerButton && buttonTop && buttonTop.material) {
// Power button: keep original color (cyan/blue), just increase emissive intensity
// Don't change color or emissive color, jM
// Ensure color stays cyan/blue
if (buttonTop.material.color.getHex() !== 0x00ffff) {
buttonTop.material.color.setHex(0x00ffff);
if (buttonTop.material.emissive.getHex() !== 0x00ffff) {
buttonTop.material.emissive.setHex(0x00ffff);
buttonTop.material.emissiveIntensity = 1.5;
buttonTop.material.needsUpdate = true;
// Deactivate glow
if (glowMaterM
glowMaterial.opacity = 0;
glowMaterial.needsUpdate = true;
if (isActionButton && buttonTop && buttonTop.material) {
// Action buttons (1-4): reset to blue (same as power button)
buttonTop.material.color.setHex(0x00ffff); // Cyan/blue
buttonTop.material.emissive.setHex(0x00ffff); // Cyan/blue emissive
buttonTop.material.emissiveIntensity = 0.8;
buttonTop.material.needsUpdate = true;
// Reset glow to blue
if (glowMaterial) {
glowMaterial.color.setHex(0x00ffff);
glowMaterial.needsUpdate = true;
} else if (isPowerButton && buttonTop && buttonTop.material) {
// Power button: keep original color (cyan/blue), just reset emissive intensity
// Don't change color or emissive color
// Ensure color stays cyan/blue
if (buttonTop.material.color.getHex() !== 0x00ffff) {
uttonTop.material.color.setHex(0x00ffff);
if (buttonTop.material.emissive.getHex() !== 0x00ffff) {
buttonTop.material.emissive.setHex(0x00ffff);
buttonTop.material.emissiveIntensity = 0.8;
buttonTop.material.needsUpdate = true;
// Handle Button Clicks
function handleButtonClick(button, buttonIndex) {
pressButton(button);
// Power button always works
if (button === powerButton) {
console.log('PM
ower button pressed');
// Toggle power button active state
const isCurrentlyActive = button.userData.isActive;
setButtonActive(button, !isCurrentlyActive);
// Toggle circuit layer power
circuitLayerPowered = !circuitLayerPowered;
if (circuitLayerPowered) {
// Turn on circuit layer - start glowing
console.log('
Circuit layer powered ON');
// Turn on card text labels - FORCE update with all properM
if (cardTextLeft) {
if (cardTextLeft.material) {
cardTextLeft.material.emissive = 0x00ffff; // Ensure emissive color is set
cardTextLeft.material.emissiveIntensity = 3.0;
cardTextLeft.material.emissiveMap = cardTextLeft.material.map; // Ensure emissiveMap is set
cardTextLeft.material.needsUpdate = true;
console.log('
cardTextLeft turned ON, intensity:', cardTextLeft.material.emM
issiveIntensity, 'emissive:', cardTextLeft.material.emissive.toString(16));
} else {
console.warn('
cardTextLeft has no material!');
} else {
console.warn('
cardTextLeft is null!');
if (cardTextRight) {
if (cardTextRight.material) {
cardTextRight.material.emissive = 0x00ffff; // Ensure emissive color is set
cardTextRight.material.emissiveInteM
cardTextRight.material.emissiveMap = cardTextRight.material.map; // Ensure emissiveMap is set
cardTextRight.material.needsUpdate = true;
console.log('
cardTextRight turned ON, intensity:', cardTextRight.material.emissiveIntensity, 'emissive:', cardTextRight.material.emissive.toString(16));
} else {
console.warn('
cardTextRight has no material!');
} else {
console.warn('
cardTextRight is null!');
// Turn on circuit layer 2 (EFFEKT Layer) - update both material references
if (circuitLayer2) {
if (circuitLayer2.material) {
circuitLayer2.material.emissive = 0x00ffff; // Set emissive color
circuitLayer2.material.emissiveIntensity = 1.5;
circuitLayer2.material.needsUpdate = true;
console.log('
aterial (EFFEKT) turned ON, intensity:', circuitLayer2.material.emissiveIntensity);
if (circuitLayer2.mesh && circuitLayer2.mesh.material) {
circuitLayer2.mesh.material.emissive = 0x00ffff; // Set emissive color
circuitLayer2.mesh.material.emissiveIntensity = 1.5;
circuitLayer2.mesh.material.needsUpdate = true;
console.log('
circuitLayer2.mesh.material (EFFEKT) turned ON, intensity:', circuitLayeM
r2.mesh.material.emissiveIntensity);
// Restore action buttons to normal state (not glassy, ready to glow) on power-on
buttons.forEach(btn => {
const buttonTop = btn.userData.buttonTop;
if (buttonTop && buttonTop.material) {
buttonTop.material.emissiveIntensity = 0.8; // Normal glow intensity
buttonTop.material.transparent = false; // Disable transparency (not glassy)
buttonTop.material.opacity = 1.0; // Full opacity
buttonTop.material.needsUpdate = true;
// Don't activate action buttons on power-on - they should remain blue until clicked
// Start screen startup animation - Phase 0: "starting up..."
console.log('
Starting screen startup animation...');
screenStartupAnimation = true;
screenStartupProgress = 0;
startupPhase = 0;
startupText = '';
startupTextIndex = 0;
connectText = '';
connectTextIndex = 0;
scanlineOffset = 0;
lastTextureUpdate = 0; // Reset update timer
lastProgress = -1;
lastText = '';
lastScanlineOffset = -1;
// Turn on screen frame (cyan border around display)
if (globalScreenFrame) {
globalScreenFrame.visible = true;
Screen frame turned ON');
// Ensure screen is visible and ready
if (screenMesh) {
screenMesh.visible = true;
if (displayImageMesh) displayImageMesh.visible = false;
if (characterDescriptionText) characterDescriptionText.visible = false;
if (tamagotchiControlsText) tamagotchiControlsText.visible = false;
console.log('
Screen mesh exists and is now visible');
// Initialize canvas and texture immediately
if (!startupCanvas) {
startupCanvas = document.createElement('canvas');
startupCanvas.width = 512;
startupCanvas.height = 512;
console.log('
if (!startupTexture) {
startupTexture = new THREE.CanvasTexture(startupCanvas);
startupTextuM
re.minFilter = THREE.LinearFilter;
startupTexture.magFilter = THREE.LinearFilter;
startupTexture.generateMipmaps = false;
startupTexture.flipY = true; // TRUE - flip Y to correct orientation (screen is rotated 180
startupTexture.rotation = 0;
startupTexture.premultiplyAlpha = false;
console.log('
Startup texture created on power on, flipY:', startupTexture.flipY);
// FORCE remove black texture and set startup texture immediately
screenMaterial.map = startupTexture;
screenMaterial.emissiveMap = startupTexture; // Use texture as emissive map for glow
screenMaterial.needsUpdate = true;
screenMaterial.needsUpdate = true;
console.log('
Black texture removed, startup texture assigned with glow');
// Draw initial frame immediately
createStartupScreen(0, '', 0, Date.now(), startupCanvas, 0);
startupTexture.needsUpdate = true;
screenMaterial.needsUpdate = true;
console.log('
Initial frame drawn');
} else {
console.error('
Screen mesh not found!');
// Turn off circuit layer - stop glowing
console.log('
Circuit layer powered OFF');
circuitLayerMaterial.emissiveM
circuitLayerMaterial.needsUpdate = true;
// Circuit layer 2 has no glow effects - it's just the image (MeshBasicMaterial)
// Turn off card text labels - FORCE update
if (cardTextLeft) {
if (cardTextLeft.material) {
cardTextLeft.material.emissiveIntensity = 0;
cardTextLeft.material.needsUpdate = true;
console.log('
cardTextLeft turned OFF, intensiM
ty:', cardTextLeft.material.emissiveIntensity);
if (cardTextRight) {
if (cardTextRight.material) {
cardTextRight.material.emissiveIntensity = 0;
cardTextRight.material.needsUpdate = true;
console.log('
cardTextRight turned OFF, intensity:', cardTextRight.material.emissiveIntensity);
// Turn off circuit layer 2 (EFFEKT Layer)
if (circuitLayer2 && circuitLayer2.material) {
circuitLayer2.material.emissiveIntensity = 0;
circuitLayer2.material.needsUpdate = true;
console.log('
circuitLayer2 (EFFEKT) turned OFF');
if (circuitLayer2 && circuitLayer2.mesh && circuitLayer2.mesh.material) {
circuitLayer2.mesh.material.emissiveIntensity = 0;
circuitLayer2.mesh.material.needsUpdate = true;
activate all action buttons and make them glassy (non-glowing) in OFF state
buttons.forEach(btn => {
setButtonActive(btn, false);
// Make action buttons glassy and non-glowing in OFF state
const buttonTop = btn.userData.buttonTop;
if (buttonTop && buttonTop.material) {
buttonTop.material.emissiveIntensity = 0; // No glow
buttonTop.material.transparent = true; // Enable transparency
M
buttonTop.material.opacity = 0.35; // Light glassy effect (35% opacity)
buttonTop.material.needsUpdate = true;
// Reset button 1 state so logo shows first on next power-on
button1State = false;
currentCharacterIndex = 0;
activeButtonIndex = -1;
worldClockState = false; // Reset world clock state
// Stop all running intervals and animations
if (worldClocM
clearInterval(worldClockInterval);
worldClockInterval = null;
if (waveformInterval) {
clearInterval(waveformInterval);
waveformInterval = null;
if (currentSound) {
currentSound.pause();
currentSound.currentTime = 0;
currentSound = null;
// Stop tamagotchi if running
if (tamagotchiInterval) {M
clearInterval(tamagotchiInterval);
tamagotchiInterval = null;
// Turn off screen - show black screen
console.log('
Screen turned OFF');
screenStartupAnimation = false;
screenStartupProgress = 0;
startupPhase = 0;
startupText = '';
startupTextIndex = 0;
connectText = '';
connectTextIndex = 0;
lastProgress = -1;
lastScanlineOffset = -1;
// Clear startup texture
// Dispose startup texture to free memory
if (startupTexture) {
startupTexture.dispose();
startupTexture = null;
startupCanvas = null;
// Create black texture for off state if it doesn't exist
if (!screenMaterial.blackTexture) {
const blackCanvas = document.createElementM
blackCanvas.width = 512;
blackCanvas.height = 512;
const blackCtx = blackCanvas.getContext('2d');
blackCtx.fillStyle = '#000000';
blackCtx.fillRect(0, 0, 512, 512);
screenMaterial.blackTexture = new THREE.CanvasTexture(blackCanvas);
screenMaterial.blackTexture.flipY = true; // Same as initial setup
screenMaterial.blackTexture.generateMipmaps = false;
screenMaterM
ial.blackTexture.minFilter = THREE.LinearFilter;
screenMaterial.blackTexture.magFilter = THREE.LinearFilter;
// Turn off screen frame (cyan border around display)
if (globalScreenFrame) {
globalScreenFrame.visible = false;
console.log('
Screen frame turned OFF');
// IMMEDIATELY show black screen and disable emissive (same as initial HTML state)
if (screenMesh) M
screenMesh.visible = true;
if (displayImageMesh) displayImageMesh.visible = false;
if (displayBackgroundMesh) displayBackgroundMesh.visible = false;
if (characterDescriptionText) characterDescriptionText.visible = false;
if (tamagotchiControlsText) tamagotchiControlsText.visible = false;
// Hide tamagotchi control buttons
tamagotchiControlButtons.forEach(btn => {
btn.visible = false;M
screenMaterial.map = screenMaterial.blackTexture;
screenMaterial.emissiveMap = null; // Same as initial: null
// CRITICAL: Disable emissive when display is off to prevent blue glow
screenMaterial.emissiveIntensity = 0; // Same as initial: should be 0 when off
screenMaterial.needsUpdate = true;
console.log('
Black screen activated (OFF state) - emissive disabled - Same as initial HTML state');
} else if (buttonIndex >= 0 && buttonIndex < 4) {
console.log(`Button ${buttonIndex + 1} pressed`);
// Deactivate ALL other action buttons first
buttons.forEach((btn, idx) => {
if (idx !== buttonIndex) {
setButtonActive(btn, false);
// Then activate the clicked button
setButtonActive(button, true);
// Stop any running world clock interval when switching buttons
if (worldClockInterval) {
clearInterval(worldClockInterval);
worldClockInterval = null;
// Stop any running waveform visualization when switching buttons
if (waveformInterval) {
clearInterval(waveformInterval);
waveformInterval = null;
// Stop any playing sound when switching away from button 3
if (buttonIndex !== 2 && currentSound) {
currentSound.pause();
currentSound.cM
currentSound = null;
// STOP STARTUP ANIMATION when switching to any button (except power button)
// Check if card is powered on - Action Buttons (0-3) only work when powered on
if (!circuitLayerPowered) {
console.log('
Action buttons only work when card is powered ON');
return; // Don't execute button action if card is off
// ALWAYS hide Tamagotchi controls when switching to any other butM
ton (except Button 4)
if (buttonIndex !== 3) {
if (tamagotchiControlsText) {
tamagotchiControlsText.visible = false;
// Hide clickable buttons but keep game running
if (tamagotchiControlButtons && tamagotchiControlButtons.length > 0) {
tamagotchiControlButtons.forEach(btn => {
if (btn) btn.visible = false;
// This prevents the logo from being showM
if (screenStartupAnimation) {
screenStartupAnimation = false;
startupPhase = 0;
screenStartupProgress = 0;
console.log('
Startup animation stopped - switching to button content');
// Button 0 (first button) - Toggle logo/character (no longer feeds Tamagotchi)
if (buttonIndex === 0) {
activeButtonIndex = 0;
// Stop any running world clock interval FIRST
if (worldClockIntervM
clearInterval(worldClockInterval);
worldClockInterval = null;
// Toggle state or cycle to next character
if (button1State) {
// Already showing character - cycle to next
// DON'T clear display - keep old image visible until new one loads
currentCharacterIndex = (currentCharacterIndex + 1) % characters.length;
console.log('
Cycling to character:', characters[curM
rentCharacterIndex].name);
// Load new character image directly (old image stays visible until new one loads)
loadDisplayImage();
// Update character description text with current character
updateCharacterDescriptionText();
} else {
// First time - show first character
button1State = true;
currentCharacterIndex = 0;
// Show chaM
racter image and description
// CLEAR DISPLAY FIRST - show black screen to clear logo (only on first click)
if (screenMesh) {
screenMesh.visible = true;
if (!screenMaterial.blackTexture) {
const blackCanvas = document.createElement('canvas');
blackCanvas.width = 512;
blackCanvas.height = 512;
const blackCtx = blackCanvas.getContext('2d');
blackCtx.fillStyle = '#000000';
blackCtx.fillRect(0, 0, 512, 512);
screenMaterial.blackTexture = new THREE.CanvasTexture(blackCanvas);
screenMaterial.blackTexture.flipY = true;
screenMaterial.blackTexture.generateMipmaps = false;
screenMaterial.blackTexture.minFilter = THREE.LinearFilter;
screenMaterial.blackTexture.magFilter = THREE.LinearFilter;
screenMaterial.map = screenMaterial.blackTexture;
screenMaterial.needsUpdate = true;
// Hide screen and show character image
if (screenMesh) screenMesh.visible = false;
// Hide Tamagotchi controls when showing character
if (tamagotchiControlsText) tamagotchiControlsText.visible = false;
if (tamagotchiControlButtons && tamagotchiControlBuM
tamagotchiControlButtons.forEach(btn => {
if (btn) btn.visible = false;
});
// Load and show character image (this will update the image)
loadDisplayImage();
// Update character description text with current character (this will update the text)
updateCharacterDescriptionText();
} else if (buttonIM
// Button 2: World Clock / Schedule toggle
// CLEAR DISPLAY IMMEDIATELY - show black screen to clear any previous content (INCLUDING LOGO)
if (screenMesh) {
screenMesh.visible = true;
if (!screenMaterial.blackTexture) {
const blackCanvas = document.createElement('canvas');
blackCanvas.width = 512;
blackCanvas.height = 512;
const blackCtx = blackCanvas.getCM
blackCtx.fillStyle = '#000000';
blackCtx.fillRect(0, 0, 512, 512);
screenMaterial.blackTexture = new THREE.CanvasTexture(blackCanvas);
screenMaterial.blackTexture.flipY = true;
screenMaterial.blackTexture.generateMipmaps = false;
screenMaterial.blackTexture.minFilter = THREE.LinearFilter;
screenMaterial.blackTexture.magFilter = THREE.LinearFilter;
// FORCE clear logo by setting black texture
screenMaterial.map = screenMaterial.blackTexture;
screenMaterial.emissiveMap = null; // Clear emissive map
screenMaterial.emissiveIntensity = 0; // Turn off glow
screenMaterial.needsUpdate = true;
console.log('
Display cleared - logo removed');
// Hide character image and description
if (displayImageMesh) displayImageM
Mesh.visible = false;
if (characterDescriptionText) characterDescriptionText.visible = false;
// Hide Tamagotchi controls
if (tamagotchiControlsText) tamagotchiControlsText.visible = false;
if (tamagotchiControlButtons && tamagotchiControlButtons.length > 0) {
tamagotchiControlButtons.forEach(btn => {
if (btn) btn.visible = false;
// Show screen
if (screenMesh) sM
creenMesh.visible = true;
// Clear any existing interval
if (worldClockInterval) {
clearInterval(worldClockInterval);
worldClockInterval = null;
// Toggle between world clock and schedule
activeButtonIndex = 1;
worldClockState = !worldClockState;
if (worldClockState) {
// Show schedule and timer (second click)
showScheduleAndTimeM
} else {
// Show world clock (first click)
showWorldClock();
// Other buttons show screen images or patterns
// CLEAR DISPLAY IMMEDIATELY - show black screen to clear any previous content (INCLUDING LOGO)
if (screenMesh) {
screenMesh.visible = true;
if (!screenMaterial.blackTexture) {
const blackCanvas = document.createElement('canvas');
blackCanvas.width = 512;
blackCanvas.height = 512;
const blackCtx = blackCanvas.getContext('2d');
blackCtx.fillStyle = '#000000';
blackCtx.fillRect(0, 0, 512, 512);
screenMaterial.blackTexture = new THREE.CanvasTexture(blackCanvas);
screenMaterial.blackTexture.flipY = true;
screenMaterial.blackTexture.generateMipmaps = false;
screenMaterial.blackTextM
ure.minFilter = THREE.LinearFilter;
screenMaterial.blackTexture.magFilter = THREE.LinearFilter;
// FORCE clear logo by setting black texture
screenMaterial.map = screenMaterial.blackTexture;
screenMaterial.emissiveMap = null; // Clear emissive map
screenMaterial.emissiveIntensity = 0; // Turn off glow
screenMaterial.needsUpdate = true;
console.log('
Display cleared - logo remoM
// Hide character image and description
if (displayImageMesh) displayImageMesh.visible = false;
if (characterDescriptionText) characterDescriptionText.visible = false;
if (tamagotchiControlsText) tamagotchiControlsText.visible = false;
// Clear world clock display if switching away from button 2
if (worldClockInterval) {
clearInterval(worldClockInterval);
worldClockIM
// DON'T clear tamagotchi intervals - let the game run in the background!
// The game will continue running even when switching to other buttons
// Hide tamagotchi controls text when switching away from button 4
// BUT keep the game running in the background!
if (buttonIndex !== 3) {
if (tamagotchiControlsText) {
tamagotchiControlsText.visible = false;
// Hide clickable buttons but keep game running
tamagotchiControlButtons.forEach(btn => {
btn.visible = false;
// Reset active button when switching
if (buttonIndex !== 3) {
activeButtonIndex = -1;
// Button 3 (buttonIndex === 2) - Show "BOX sounds"
if (buttonIndex === 2) {
activeButtonIndex = 2;
showBoxSoundsDisplay();
playRandomSound();
} else if (buttonIndex === 3) {
// Button 4: Show Tamagotchi (or toggle if already active)
if (activeButtonIndex === 3) {
// Already active - just return (don't restart)
return; // Don't change active button
activeButtonIndex = 3; // Set active button to 4 (index 3)
// Ensure screen is visible before showing tamagotchi
if (screenMesh) {
screenMesh.visible = true;
showTamagotchi();
} else if (screenImages[buttonIndex]) {
screenMaterial.map = screenImages[buttonIndex];
screenMaterial.emissiveMap = screenImages[buttonIndex];
screenMaterial.emissiveIntensity = 5.0; // Enable glow
// MeshBasicMaterial shows texture directly
screenMaterial.needsUpdate = true;
createCyberpunkPattern(buttonIndex);
lastInteractionTime = Date.now();
autoRotate = false;
// Show "BOX sounds" display with waveform
function showBoxSoundsDisplay() {
const canvas = document.createElement('canvas');
canvas.width = 512;
canvas.height = 512;
const ctx = canvas.getContext('2d');
// Black background
ctx.fillStyle = '#000000';
ctx.fillRect(0, 0, canvas.width, canvas.height);
// Title "BOX sounds"
ctx.font = 'bold 48px monospace';
ctx.fillStyle = '#00ffff';
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
ctx.fillText('BOX sounds', canvas.width / 2, 30);
// Draw scanlines
drawScanlines(ctx, canvas.width, canvas.height, scanlineOffset);
// Create texture
const texture = new THREE.CanvasTexture(canvas);
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.flipY = true;
// Update screen material
screenMaterial.map = texture;
screenMaterial.needsUpdate = true;
// Store canvas and context for waveform updates (ALWAYS update to ensure it's available)
window.boxSoundsCanvas = canvas;
window.boxSoundsCtx = ctx;
// Play random sound from boxsounds folder with waveform visualization
function playRandomSound() {
// Stop any currently playing sound and waveform
if (currentSound) {
// Remove all event listeners to prevent conflicts
ntSound.oncanplaythrough = null;
currentSound.onerror = null;
currentSound.onended = null;
// Stop and reset
currentSound.pause();
currentSound.currentTime = 0;
currentSound.src = ''; // Clear src to fully reset
currentSound.load(); // Reload to clear state
currentSound = null;
// Disconnect previous audio source if it exists
if (audioSource) {
audioSource.disconnect();
} catch (e) {
gnore errors if already disconnected
audioSource = null;
// Stop waveform interval
if (waveformInterval) {
clearInterval(waveformInterval);
waveformInterval = null;
// Initialize AudioContext if not already done
if (!audioContext) {
audioContext = new (window.AudioContext || window.webkitAudioContext)();
analyser = audioContext.createAnalyser();
analyser.fftSize = 256; // Smaller FFT for smoother waveform
r.smoothingTimeConstant = 0.8;
console.log('
AudioContext created');
// Resume audio context if suspended (needs user interaction)
if (audioContext.state === 'suspended') {
audioContext.resume().then(() => {
console.log('
AudioContext resumed');
}).catch(err => {
console.error('
Error resuming AudioContext:', err);
// List of Ordinals sound IDs
const soundOrdinals = [
'87fc3522fab9d119f94b207682ba6a11fM
74b5dfa9f2e500f36e73cbf465027f7i0',
'c6ef3e45dde86745456851c2e18aa2cf5f095fc4170d8851f78d33534957ec18i0',
'66408f6030e4c3e09420f9e451a3fe6a9c63630ad4e32d567caa811d7c2a195ei0',
'0ed2cf7b2820ddb8dbb2b31ed0efedc6b7bd3cedccea12aca59860dbbf982e40i0',
'942e12af7dec7b8f0564ef8218836afff2f2366830b6972130ec8d83e91b664ai0',
'040b764ce16f07186cc2161077793dda8e18cebb11f3127a99bca30cb580f2dbi0',
'174b3693e8a678123b22f3a184c15e9f0dd5f2d05eaa0b54f18de55b47872c0ci0',
8989479d0eb7efec0c85269523a4b5da6b76d57c7bfc2c3535e04f860i0',
'b9f7dd0a4e163221e62b5d55a02f87012cd6f4598bee802cecf1f3f7889c5dcci0',
'd6fb5e87f40d9d53c9a11ccb92f17fe357c6c7397721d208065bf8ddbe7f2079i0',
'68daf586e745b9994edc2b49908a3e7f616636642ad2e3f891848e847dd3e8fi0',
'602d1622f2182891c271eee09591e8e9cc834eac76467e9023414dd861aa258ci0',
'4d0e68d425e5420ed64d88bd989e3652ccd6d061bbe93911f3b162ab93da52ebi0',
'6173cfa56916c640ea3f851b93e91af5b04e0b2ccb08831b363ac8beee92M
'5be503741bd9b42fad8832c428eae1d7463632e9a0ee39dd44d2b215466137dei0',
'65e02ba6a5f0d559a9e542592429173f61833c363226d52b616508c1ecdbb42bi0',
'2140ab96384b5c4c976dcd96cd4aa0f1f3881dc86174c5d7cd3f7b88968c93e6i0',
'88dfa8c032b51ce969901a7d19e61db5c5ca39ee100fe8fe7eded979232356adi0',
'321e73e2ae3a3faf5f015ac0b5323b97e8306050ee0f1a809c1771327efcfaf4i0',
'aad01d71d9fb2c1511593eb61a67a3d7fc71782c0568dbcd650de865af8bf0b3i0',
'5b69f47223b935d246e26b4763ab4f96f0M
91940824c9706ca83c07a6a446b61bi0',
'52423597d903353527c1d6d5620708d0efbe4a6f105ca384e98281e4b694a746i0',
'777ab5b3deb77dacd566e99a1af0a0cf7db04d05fcf7019fc54577314a536201i0',
'9fd8b792af52d51024006f39ab4aaac177ab0091e6a32d8ff05fe236b5f865b6i0',
'c7b5127751b8f2fec8a8c9e7475f763f020a0183645ccc65e7e9742f1dab5be3i0'
if (soundOrdinals.length === 0) {
console.warn('No sound files configured');
// Pick a random sound Ordinal
andomIndex = Math.floor(Math.random() * soundOrdinals.length);
const selectedOrdinalId = soundOrdinals[randomIndex];
// Create audio element
const audio = new Audio();
audio.volume = 1.0; // Set volume to maximum
audio.muted = false; // Ensure not muted
audio.crossOrigin = 'anonymous'; // Allow CORS for audio playback
// Load sound from Ordinals
fetchOrdinalContent(selectedOrdinalId, (dataUrl) => {
if (!dataUrl) {
console.error(`Could not load sound fromM
Ordinal: ${selectedOrdinalId}`);
// Set crossOrigin BEFORE setting src
if (dataUrl.startsWith('/content/') || dataUrl.startsWith('http')) {
audio.crossOrigin = 'anonymous';
} else if (dataUrl.startsWith('data:')) {
// Base64 data URLs don't need crossOrigin
audio.crossOrigin = null;
audio.src = dataUrl;
console.log(`
Setting audio src to: ${dataUrl}, crossOrigin: ${audio.crossOrM
// Store reference to this audio element immediately
currentSound = audio;
// Set up event listeners BEFORE loading
audio.onloadeddata = () => {
console.log(`
Audio data loaded: ${selectedOrdinalId}`);
audio.onloadedmetadata = () => {
console.log(`
Audio metadata loaded: ${selectedOrdinalId}, duration: ${audio.duration}s`);
audio.onplay = () => {
console.log(`
Audio started playing: ${selectedOrdinalId}`);
console.log(`
Audio playing state: paused=${audio.paused}, ended=${audio.ended}, currentTime=${audio.currentTime}, duration=${audio.duration}`);
audio.ontimeupdate = () => {
// Log progress every second
if (Math.floor(audio.currentTime) !== Math.floor((audio.currentTime - 0.1) || 0)) {
console.log(`
Audio playing: ${audio.currentTime.toFixed(1)}s / ${audio.duration.toFixed(1)}s`M
audio.onpause = () => {
console.log(`
Audio paused: ${selectedOrdinalId}`);
audio.onended = () => {
console.log(`
Audio ended: ${selectedOrdinalId}`);
// Show static display when sound ends
showBoxSoundsDisplay();
// Clean up
currentSound = null;
if (audioSource) {
try {
audioSource.disconnect();
// Ignore errors
audioSource = null;
// Also try to load immediately
audio.load();
audio.oncanplaythrough = () => {
console.log(`
Sound loaded from Ordinal: ${selectedOrdinalId}, ready to play`);
// Try to connect audio to analyser for waveform (may fail due to CORS)
// Resume audio context if suspended (needs M
if (audioContext.state === 'suspended') {
audioContext.resume().then(() => {
console.log('
AudioContext resumed');
});
// Disconnect previous source if it exists
if (audioSource) {
try {
audioSource.disconnect();
} catch (e) {
// Ignore errors
// Only create source if not already connected
// Check if audio element is already connected by trying to create source
// If it fails, we'll catch it and continue without analyser
try {
audioSource = audioContext.createMediaElementSource(audio);
audioSource.connect(analyser);
analyser.connect(audioContext.destination);
console.log(M
Audio connected to analyser');
} catch (connectErr) {
// Audio element might already be connected - skip analyser connection
console.warn('
Audio element already connected, skipping analyser:', connectErr.message);
audioSource = null;
throw connectErr; // Re-throw to be caught by outer catch
// Start waveform visualization
startWaveformVisualizM
} catch (err) {
console.warn('
Could not connect audio to analyser (CORS or other issue):', err.message);
console.log('
Sound will still play, but waveform may not work');
// Still try to play the sound even if analyser fails
audioSource = null; // Reset source on error
// Play the sound (even if analyser connection failed)
// IMPORTANT: Audio will play even wiM
thout analyser connection
// Resume audio context if suspended (needs user interaction)
if (audioContext && audioContext.state === 'suspended') {
audioContext.resume().then(() => {
console.log('
AudioContext resumed for playback');
audio.play().then(() => {
console.log(`
Sound playing: ${selectedOrdinalId}`);
console.log(`
Audio state after play: paused=${audio.paused}, ended=${aM
udio.ended}, currentTime=${audio.currentTime}, duration=${audio.duration}, volume=${audio.volume}, muted=${audio.muted}`);
currentSound = audio;
// Check if audio is actually playing after a short delay
setTimeout(() => {
if (audio && !audio.paused && !audio.ended) {
console.log(`
Audio confirmed playing: currentTime=${audio.currentTime.toFixed(2)}s / ${audio.duration.toFixed(2)}s`)M
} else {
console.warn(`
Audio may not be playing: paused=${audio.paused}, ended=${audio.ended}`);
}
}, 100);
}).catch(err => {
console.error('
Error playing sound:', err);
console.error('Audio element state:', {
src: audio.src,
paused: audio.paused,
M
ended: audio.ended,
readyState: audio.readyState,
networkState: audio.networkState,
volume: audio.volume,
muted: audio.muted
});
});
}).catch(err => {
console.error('
Error resuming audio context:', err);
} else {
// Directly play without waiting for AudioContext resume
const playPromise = audio.play();
if (playPromise !== undefined) {
playPromise.then(() => {
console.log(`
Sound playing: ${selectedOrdinalId}`);
console.log(`
Audio state: paused=${audio.paused}, ended=${audio.ended}, currentTime=${audio.currentTime}, duration=${audio.duration}, volume=${audio.volume}, muted=${audio.muted}`);
currentSound = audio;
}).catch(err => {
console.error('
Error playing sound:', err);
console.error('Audio element state:', {
src: audio.src,
paused: audio.paused,
ended: audio.ended,
readyState: audio.readyState,
networkState: audio.networkState,
volume: audio.volume,
muted: audio.muted
});M
});
} else {
// Fallback for older browsers
console.log(`
Sound play() called (no promise): ${selectedOrdinalId}`);
currentSound = audio;
audio.onerror = (e) => {
console.error(`
Error loading sound from Ordinal: ${selectedOrdinalId}`, e);
console.error('Audio error details:', e);
// Note: audio.load() iM
s already called above (line 4042), don't call it again
console.log(`
Audio setup complete for: ${selectedOrdinalId}`);
// Start waveform visualization
function startWaveformVisualization() {
// Ensure canvas is available
if (!window.boxSoundsCanvas || !window.boxSoundsCtx) {
console.warn('
Box sounds canvas not available, creating it...');
showBoxSoundsDisplay();
if (!analyser) {
console.error('
Analyser not available');
const canvas = window.boxSoundsCanvas;
const ctx = window.boxSoundsCtx;
if (!canvas || !ctx) {
console.error('
Canvas or context not available');
const bufferLength = analyser.frequencyBinCount;
const dataArray = new Uint8Array(bufferLength);
Starting waveform visualization, bufferLength:', bufferLength);
const drawWaveform = () => {
if (!currentSound || currentSound.paused || currenM
// Show static display when sound stops
showBoxSoundsDisplay();
if (waveformInterval) {
clearInterval(waveformInterval);
waveformInterval = null;
// Get frequency data
analyser.getByteFrequencyData(dataArray);
// Clear canvas
ctx.fillStyle = '#000000';
ctx.fillRect(0, 0, canvas.width, canvas.height);
// Title "BOX sM
ctx.font = 'bold 48px monospace';
ctx.fillStyle = '#00ffff';
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
ctx.fillText('BOX sounds', canvas.width / 2, 30);
// Draw waveform
const centerY = canvas.height / 2;
const barWidth = (canvas.width / bufferLength) * 2.5;
let barHeight;
ctx.fillStyle = '#00ffff';
for (let i = 0; i < bufferLength; i++) {
barHeight = (daM
taArray[i] / 255) * (canvas.height - 150); // Leave space for title
// Draw bar from center (waveform style)
if (barHeight > 0) {
ctx.fillRect(x, centerY - barHeight / 2, barWidth - 1, barHeight);
x += barWidth;
// Draw scanlines on top
drawScanlines(ctx, canvas.width, canvas.height, scanlineOffset);
// Update texture - ensure we're using the correct texture
eenMaterial && screenMaterial.map) {
// Check if this is our canvas texture
if (screenMaterial.map.canvas === canvas) {
screenMaterial.map.needsUpdate = true;
} else {
// Update to use our canvas texture
const texture = new THREE.CanvasTexture(canvas);
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.flipY = true;
screenMaterial.maM
screenMaterial.needsUpdate = true;
// Stop any existing interval
if (waveformInterval) {
clearInterval(waveformInterval);
// Update waveform every frame (60fps)
waveformInterval = setInterval(drawWaveform, 16);
Waveform interval started');
// ========== TAMAGOTCHI FUNCTIONS ==========
// Show Tamagotchi on display (pixel art style)
function showTamagotchi() {
// Ensure screen is visibM
if (screenMesh) {
screenMesh.visible = true;
// Reset tamagotchi if dead or starting fresh
if (!tamagotchi.alive) {
resetTamagotchi();
// Only create canvas if it doesn't exist (game might be running in background)
if (!window.tamagotchiCanvas) {
// Create canvas for tamagotchi display (512x512 for high quality, but we'll draw at 32x32 pixel scale)
const canvas = document.createElement('canvas');
canvas.width = 512;
const ctx = canvas.getContext('2d');
// Disable image smoothing for pixel art
ctx.imageSmoothingEnabled = false;
// Store canvas and context globally for updates
window.tamagotchiCanvas = canvas;
window.tamagotchiCtx = ctx;
// ALWAYS ensure texture is assigned to screen material (even if canvas already exists)
// This is critical when switching back to Button 4 after being on another button
if (window.tamagotchiCaM
nvas && screenMaterial) {
// Check if we need to create/update the texture
let texture = screenMaterial.map;
if (!texture || texture.image !== window.tamagotchiCanvas) {
// Create new texture or update existing one
texture = new THREE.CanvasTexture(window.tamagotchiCanvas);
texture.minFilter = THREE.NearestFilter; // Pixel art - no filtering
texture.magFilter = THREE.NearestFilter;
texture.flipY = true;
texture.generateMM
// Update screen material
screenMaterial.map = texture;
screenMaterial.emissiveMap = texture;
screenMaterial.emissiveIntensity = 5.0;
// Always update the texture to ensure it's current
texture.needsUpdate = true;
screenMaterial.needsUpdate = true;
// Always update display when showing (game might have been running in background)
if (window.tamagotchiCtx && window.tamagotchiCanvM
drawTamagotchiDisplay(window.tamagotchiCtx, window.tamagotchiCanvas.width, window.tamagotchiCanvas.height);
// Force texture update after drawing
if (screenMaterial && screenMaterial.map) {
const texture = screenMaterial.map;
texture.needsUpdate = true;
if (texture.image) {
texture.image = window.tamagotchiCanvas;
screenMaterial.needsUpdate = true;
// Start update interval (every secoM
nd for game logic) - only if not already running
if (!tamagotchiInterval) {
// Game logic update (every second)
tamagotchiInterval = setInterval(() => {
updateTamagotchiStats();
if (window.tamagotchiCtx && window.tamagotchiCanvas) {
drawTamagotchiDisplay(window.tamagotchiCtx, window.tamagotchiCanvas.width, window.tamagotchiCanvas.height);
// Only update texture if Button 4 is active (display is showing tamagotchi)
if (activeM
ButtonIndex === 3 && screenMaterial && screenMaterial.map) {
const texture = screenMaterial.map;
texture.needsUpdate = true;
if (texture.image) {
texture.image = window.tamagotchiCanvas;
}
screenMaterial.needsUpdate = true;
// Animation update (every 100ms for smooth animation) - only if not already running
if (!tamagotchiAniM
tamagotchiAnimationInterval = setInterval(() => {
if (window.tamagotchiCtx && window.tamagotchiCanvas) {
tamagotchi.animationTime += 0.1;
updateTamagotchiParticles();
drawTamagotchiDisplay(window.tamagotchiCtx, window.tamagotchiCanvas.width, window.tamagotchiCanvas.height);
// Only update texture if Button 4 is active (display is showing tamagotchi)
if (activeButtonIndex === 3 && screenMaterial && sM
creenMaterial.map) {
const texture = screenMaterial.map;
texture.needsUpdate = true;
if (texture.image) {
texture.image = window.tamagotchiCanvas;
}
screenMaterial.needsUpdate = true;
// Create and show tamagotchi controls text (outside display)
if (tamagotchiControlsText) {
tamagotchiControlsText.visible = true;
if (tamagotchiControlsText.material) {
tamagotchiControlsText.material.emissiveIntensity = circuitLayerPowered ? 3.0 : 1.5;
tamagotchiControlsText.material.needsUpdate = true;
// Show clickable buttons
tamagotchiControlButtons.forEach(btn => {
btn.visible = true;
createTamagotchiControlsText();
// Make sure it's visible after creation
if (tamagotchiControlsText) {
tamagotchiControlsText.visiM
if (tamagotchiControlsText.material) {
tamagotchiControlsText.material.emissiveIntensity = circuitLayerPowered ? 3.0 : 1.5;
tamagotchiControlsText.material.needsUpdate = true;
// Show clickable buttons
tamagotchiControlButtons.forEach(btn => {
btn.visible = true;
// Reset Tamagotchi to initial state
function resetTamagotchi() {
happiness: 70,
alive: true,
particles: [],
lastUpdate: Date.now(),
animationTime: 0
tamagotchiGameActive = false;
tamagotchiGameWins = 0;
tamagotchiGameTarget = null;
if (tamagotchiGameTimeout) {
clearTimeout(tamagotchiGameTimeout);
tamagotchiGameTimeout = null;
// Update Tamagotchi stats (called every second)
if (!tamagotchi.alive) return;
tamagotchi.age += 1; // Age increases by 1 second per second
// Stage progression
if (tamagotchi.age < 30) {
tamagotchi.stage = 0; // Baby
} else if (tamagotchi.age < 120) {
tamagotchi.stage = 1; // Junior
tamagotchi.stage = 2; // Adult
// Stats decrease over time
tamagotchi.hunger = Math.min(100, Math.max(0, tamagotchi.hunger + 0.6));
tamagotchi.happiness = Math.min(100, Math.M
max(0, tamagotchi.happiness - 0.3));
tamagotchi.energy = Math.min(100, Math.max(0, tamagotchi.energy - 0.25));
tamagotchi.dirt = Math.min(100, Math.max(0, tamagotchi.dirt + 0.2));
// Death conditions
if (tamagotchi.hunger >= 100 || tamagotchi.happiness <= 0 || tamagotchi.energy <= 0) {
tamagotchi.alive = false;
// Extra unhappiness if very dirty
if (tamagotchi.dirt > 80) {
tamagotchi.happiness = Math.max(0, tamagotchi.happiness - 0.6);
function updateTamagotchiParticles() {
// Update particles
for (let i = tamagotchi.particles.length - 1; i >= 0; i--) {
const p = tamagotchi.particles[i];
p.x += p.vx;
p.y += p.vy;
p.vy += 0.02;
if (p.life <= 0) tamagotchi.particles.splice(i, 1);
// Update hearts
for (let i = tamagotchi.hearts.length - 1; i >= 0; i--) {
const h = tamagotchi.hearts[i];
h.x += h.vx;
h.vy += 0.02;
if (h.life <= 0) tamagotchi.hearts.splice(i, 1);
for (let i = tamagotchi.stars.length - 1; i >= 0; i--) {
const s = tamagotchi.stars[i];
s.x += s.vx;
s.y += s.vy;
s.vy += 0.02;
s.rotation += s.rotationSpeed;
if (s.life <= 0) tamagotchi.stars.splice(i, 1);
// Update bubbles
for (let i = tamagotchi.bubbles.length - 1; i >= 0; i--) {
const b = tamagotchi.bubblM
b.x += b.vx;
b.y += b.vy;
b.vy += 0.01; // Bubbles rise slower
if (b.life <= 0) tamagotchi.bubbles.splice(i, 1);
// Update confetti
for (let i = tamagotchi.confetti.length - 1; i >= 0; i--) {
const c = tamagotchi.confetti[i];
c.x += c.vx;
c.y += c.vy;
c.vy += 0.03;
c.rotation += c.rotationSpeed;
if (c.life <= 0) tamagotchi.confetti.splice(i, 1);
// Update actioM
if (tamagotchi.actionType) {
tamagotchi.actionAnimationTime += 0.1;
if (tamagotchi.actionAnimationTime > 2.0) {
tamagotchi.actionType = null;
tamagotchi.actionAnimationTime = 0;
// Update emotion based on stats
if (!tamagotchi.alive) {
tamagotchi.currentEmotion = 'dead';
} else if (tamagotchi.actionType) {
tamagotchi.currentEmotion = tamagotchi.actionType;
} else if (tamagotchi.energy < 20) {
magotchi.currentEmotion = 'sleeping';
} else if (tamagotchi.hunger > 80 || tamagotchi.dirt > 80) {
tamagotchi.currentEmotion = 'sick';
} else if (tamagotchi.happiness < 30) {
tamagotchi.currentEmotion = 'sad';
} else if (tamagotchi.happiness > 75 && tamagotchi.hunger < 50 && tamagotchi.energy > 50) {
tamagotchi.currentEmotion = 'happy';
tamagotchi.currentEmotion = 'content';
function spawnTamagotchiParticle(x, y, col = '#00ffff') {
tamagotchi.particles.push({
x, y, life: 40,
vx: (Math.random() - 0.5) * 0.6,
vy: -Math.random() * 1.2,
function spawnTamagotchiHeart(x, y) {
tamagotchi.hearts.push({
x, y, life: 60,
vx: (Math.random() - 0.5) * 0.2,
vy: -0.4 - Math.random() * 0.2
// Spawn star (for feed action)
function spawnTamagotchiStar(x, y) {
tamagotchi.stars.push({
x, y, life: 50,
vx: (Math.random() - 0.5) * 0.4,
vy: -0.6 - Math.random() * 0.3,
rotation: Math.random() * Math.PI * 2,
rotationSpeed: (Math.random() - 0.5) * 0.2
// Spawn bubble (for clean action)
function spawnTamagotchiBubble(x, y) {
tamagotchi.bubbles.push({
x, y, life: 70,
vx: (Math.random() - 0.5) * 0.3,
vy: -0.3 - Math.random() * 0.2,
size: 2 + Math.random() * 2
// Spawn confetti (for mini-game wins)
function spawnTamagotchiConfetti(x, y) {
const colors = ['#ff0000', '#00ff00', M
'#0000ff', '#ffff00', '#ff00ff', '#00ffff'];
for (let i = 0; i < 5; i++) {
tamagotchi.confetti.push({
x, y, life: 80,
vx: (Math.random() - 0.5) * 0.8,
vy: -0.5 - Math.random() * 0.5,
col: colors[Math.floor(Math.random() * colors.length)],
rotation: Math.random() * Math.PI * 2,
rotationSpeed: (Math.random() - 0.5) * 0.3
// Play sound effect (using Web Audio API)
function playTamagotchiSound(frequency, duration, tM
if (!audioContext) {
audioContext = new (window.AudioContext || window.webkitAudioContext)();
const oscillator = audioContext.createOscillator();
const gainNode = audioContext.createGain();
oscillator.connect(gainNode);
gainNode.connect(audioContext.destination);
if (type === 'beep') {
oscillator.type = 'sine';
oscillator.frequency.value = frequency;
gainNodeM
.gain.setValueAtTime(0.1, audioContext.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + duration);
} else if (type === 'chime') {
oscillator.type = 'sine';
oscillator.frequency.setValueAtTime(frequency, audioContext.currentTime);
oscillator.frequency.exponentialRampToValueAtTime(frequency * 1.5, audioContext.currentTime + duration);
gainNode.gain.setValueAtTime(0.15, audioContext.currentTime);
inNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + duration);
} else if (type === 'pop') {
oscillator.type = 'square';
oscillator.frequency.value = frequency;
gainNode.gain.setValueAtTime(0.2, audioContext.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + duration * 0.3);
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.currentTime + duratiM
// Silently fail if audio context is not available
// Draw Tamagotchi display (pixel art style - like the example)
function drawTamagotchiDisplay(ctx, width, height) {
ctx.fillStyle = '#000000';
ctx.fillRect(0, 0, width, height);
// Draw title at top
ctx.fillStyle = '#00ffff';
ctx.font = 'bold 32px monospace';
ctx.textAlign = 'center';
ctx.fillText('TAMABOXXIE', width / 2, 30);
// Draw status bars below title (moveM
const barY = 70; // Moved down from 40 to 70
const barWidth = width - 80;
const barHeight = 20;
const barSpacing = 28;
// Hunger bar - draw ONLY the filled part, NO background
// Show as "Full" bar - when hunger is low (0), bar is full (100%), when hunger is high (100), bar is empty (0%)
const hungerBarWidth = ((100 - tamagotchi.hunger) / 100) * barWidth;
// Draw ONLY the filled part - no background at all
ctx.fillStyle = '#00ff00'; // Green
ctx.fillRect(40, barYM
, hungerBarWidth, barHeight);
// Draw label inside bar (black text)
ctx.fillStyle = '#000000'; // Black text
ctx.font = 'bold 18px monospace';
ctx.textAlign = 'left';
// Position text inside bar, but make sure it's visible
const hungerTextX = 45;
const hungerTextY = barY + barHeight / 2 + 6; // Center vertically in bar
ctx.fillText('Full', hungerTextX, hungerTextY);
// Happiness bar - draw ONLY the filled part, NO background
const happyBarWidth = (tamagotchi.happiness / M
// Draw ONLY the filled part - no background at all
ctx.fillStyle = '#ffff00'; // Yellow
ctx.fillRect(40, barY + barSpacing, happyBarWidth, barHeight);
// Draw label inside bar (black text)
ctx.fillStyle = '#000000'; // Black text
ctx.font = 'bold 18px monospace';
ctx.textAlign = 'left';
const happyTextY = barY + barSpacing + barHeight / 2 + 6;
ctx.fillText('Happy', 45, happyTextY);
// Energy bar - draw ONLY the filled part, NO background
yBarWidth = (tamagotchi.energy / 100) * barWidth;
// Draw ONLY the filled part - no background at all
ctx.fillStyle = '#0000ff'; // Blue
ctx.fillRect(40, barY + barSpacing * 2, energyBarWidth, barHeight);
// Draw label inside bar (black text)
ctx.fillStyle = '#000000'; // Black text
ctx.font = 'bold 18px monospace';
ctx.textAlign = 'left';
const energyTextY = barY + barSpacing * 2 + barHeight / 2 + 6;
ctx.fillText('Energy', 45, energyTextY);
// Clean bar - draw ONLY the M
filled part, NO background
const cleanBarWidth = ((100 - tamagotchi.dirt) / 100) * barWidth;
// Draw ONLY the filled part - no background at all
ctx.fillStyle = '#ff0000'; // Red
ctx.fillRect(40, barY + barSpacing * 3, cleanBarWidth, barHeight);
// Draw label inside bar (black text)
ctx.fillStyle = '#000000'; // Black text
ctx.font = 'bold 18px monospace';
ctx.textAlign = 'left';
const cleanTextY = barY + barSpacing * 3 + barHeight / 2 + 6;
ctx.fillText('Clean', 45, cleanTextM
// Scale factor: 32x32 pixel art scaled to fit display (smaller so it fits on screen)
const pixelScale = 12; // 32 pixels * 12 = 384 pixels (reduced from 20 to fit better)
const pixelSize = 32;
// Draw pixel art pet directly below bars
// Last bar ends at: barY + (barSpacing * 3) + barHeight = 70 + 84 + 20 = 174
// Position pet right after last bar
const petX = width / 2 - (pixelSize * pixelScale) / 2;
const petY = barY + (barSpacing * 3) + barHeight + 5; // 70 + 84 + 2M
0 + 5 = 179, directly under bars
// Draw pet (32x32 pixel art, scaled)
ctx.translate(petX, petY);
ctx.scale(pixelScale, pixelScale);
drawPixelPet(ctx, pixelSize, pixelSize, tamagotchi.animationTime);
// Draw particles and hearts (scaled)
ctx.translate(petX, petY);
ctx.scale(pixelScale, pixelScale);
drawTamagotchiParticles(ctx);
// Draw info at bottom (larger text)
ctx.fillStyle = '#00ffff';
ctx.font = 'bold 20px monospace';
ctx.textAlign = 'center';
const stageName = tamagotchi.stage === 0 ? 'Baby' : tamagotchi.stage === 1 ? 'Junior' : 'Adult';
const mood = !tamagotchi.alive ? 'Dead' :
tamagotchi.happiness > 75 ? 'Happy' :
tamagotchi.happiness > 40 ? 'Content' :
tamagotchi.happiness > 20 ? 'Sad' : 'Miserable';
ctx.fillText(`Age: ${Math.floor(tamagotchi.age)}s | Stage: ${stageName} | Mood: ${mood}`, width / 2, height - 60);
ctx.fillText(`Score: ${tamagotchi.score}`, width / 2, height - 35);
// Draw mini-game if active
if (tamagotchiGameActive && tamagotchiGameTarget) {
const gameX = width / 2 - 48;
const gameY = height - 120;
ctx.fillStyle = '#00ff00';
ctx.fillRect(gameX + tamagotchiGameTarget.x * 2, gameY + tamagotchiGameTarget.y * 2, 16, 16);
// Draw scanlines LAST (over everything) with 'screen' composite mode for consistent appearance
drawScanlines(ctx, width, heightM
// Draw pixel art pet (32x32 pixels)
function drawPixelPet(ctx, w, h, t) {
ctx.clearRect(0, 0, w, h);
let bodyColor = '#00ff00'; // Default green
let accent = '#004400';
if (tamagotchi.stage === 0) { bodyColor = '#7fffff'; accent = '#004444'; }
if (tamagotchi.stage === 1) { bodyColor = '#ffb86b'; accent = '#442200'; }
if (tamagotchi.stage === 2) { bodyColor = '#8ef78e'; accent = '#005400'; }
const breath = 1 + Math.sin(t * 2) * 0.04;
const bw = Math.round(10 * breath);
const bh = Math.round(8 * breath);
// Draw body (pixel by pixel for ellipse)
for (let yy = 0; yy < bh; yy++) {
for (let xx = 0; xx < bw; xx++) {
const rx = (xx - bw / 2) / (bw / 2);
const ry = (yy - bh / 2) / (bh / 2);
if (rx * rx + ry * ry <= 1) {
ctx.fillStyle = bodyColor;
ctx.fillRect(cx - Math.floor(bw / 2) + xx, cy - Math.floor(bh / 2) + yy, 1, 1);
// Eyes based on emotion
const eyeY = cy - 2;
ctx.fillStyle = '#000000';
// Different eye expressions based on emotion
if (tamagotchi.currentEmotion === 'sleeping' || tamagotchi.currentEmotion === 'tired') {
// Closed eyes (sleeping)
ctx.fillRect(cx - 3, eyeY, 3, 1);
ctx.fillRect(cx + 0, eyeY, 3, 1);
} else if (tamagotchi.currentEmotion === 'sad' || tamagotchi.currentEmotion === 'sick') {
// Sad eyes (looking down)
x.fillRect(cx - 2, eyeY + 1, 1, 1);
ctx.fillRect(cx + 2, eyeY + 1, 1, 1);
} else if (tamagotchi.currentEmotion === 'happy') {
// Happy eyes (slightly squinted)
const blink = (Math.floor(t * 2) % 8 === 0);
if (blink) {
ctx.fillRect(cx - 3, eyeY, 3, 1);
ctx.fillRect(cx + 0, eyeY, 3, 1);
ctx.fillRect(cx - 2, eyeY, 1, 1);
ctx.fillRect(cx + 2, eyeY, 1, 1);
} else if (tamagotchi.currentEmotion === 'eating') M
// Excited eyes
ctx.fillRect(cx - 2, eyeY, 1, 1);
ctx.fillRect(cx + 2, eyeY, 1, 1);
ctx.fillRect(cx - 1, eyeY - 1, 1, 1); // Sparkle
ctx.fillRect(cx + 1, eyeY - 1, 1, 1); // Sparkle
// Normal blink
const blink = (Math.floor(t * 2) % 6 === 0);
if (blink) {
ctx.fillRect(cx - 3, eyeY, 3, 1);
ctx.fillRect(cx + 0, eyeY, 3, 1);
ctx.fillRect(cx - 2, eyeY, 1, 1);
ctx.fillRect(cx + M
// Mouth by emotion
if (tamagotchi.currentEmotion === 'happy' || tamagotchi.currentEmotion === 'pet') {
// Smile (upward curve)
ctx.fillRect(cx - 2, eyeY + 3, 1, 1);
ctx.fillRect(cx - 1, eyeY + 4, 1, 1);
ctx.fillRect(cx, eyeY + 4, 1, 1);
ctx.fillRect(cx + 1, eyeY + 4, 1, 1);
ctx.fillRect(cx + 2, eyeY + 3, 1, 1);
} else if (tamagotchi.currentEmotion === 'sad' || tamagotchi.currentEmotion === 'sick') {
// Frown (dM
ctx.fillRect(cx - 2, eyeY + 4, 1, 1);
ctx.fillRect(cx - 1, eyeY + 3, 1, 1);
ctx.fillRect(cx, eyeY + 3, 1, 1);
ctx.fillRect(cx + 1, eyeY + 3, 1, 1);
ctx.fillRect(cx + 2, eyeY + 4, 1, 1);
} else if (tamagotchi.currentEmotion === 'eating') {
// Open mouth (eating)
ctx.fillRect(cx - 1, eyeY + 3, 3, 2);
} else if (tamagotchi.currentEmotion === 'sleeping' || tamagotchi.currentEmotion === 'tired') {
// Zzz (sleeping)
ctx.fillRecM
t(cx, eyeY + 3, 1, 1);
// Neutral mouth
ctx.fillRect(cx - 1, eyeY + 3, 1, 1);
ctx.fillRect(cx + 1, eyeY + 3, 1, 1);
// Action-specific animations
if (tamagotchi.actionType === 'feed' && tamagotchi.actionAnimationTime < 1.0) {
// Eating animation - body slightly larger
const eatScale = 1 + Math.sin(tamagotchi.actionAnimationTime * 10) * 0.1;
ctx.translate(cx, cy);
ctx.scale(eatScale, eatScale);
} else if (tamagotchi.actionType === 'play' && tamagotchi.actionAnimationTime < 1.0) {
// Playing animation - slight bounce
const playBounce = Math.sin(tamagotchi.actionAnimationTime * 15) * 0.5;
ctx.translate(0, playBounce);
} else if (tamagotchi.actionType === 'clean' && tamagotchi.actionAnimationTime < 1.0) {
// Cleaning animation - slight shake
const cleanShake = Math.sin(tamagotchi.actionAnimationTime * 20) * 0.3;
ctx.translate(cleanShake, 0);
} else if (tamagotchi.actionType === 'pet' && tamagotchi.actionAnimationTime < 1.0) {
// Petting animation - gentle wiggle
const petWiggle = Math.sin(tamagotchi.actionAnimationTime * 8) * 0.2;
ctx.translate(petWiggle, 0);
if (tamagotchi.dirt > 30) {
ctx.fillStyle = '#362a0a';
const n = Math.floor(tamagotchi.dirt / 20);
for (let i = 0; i < n; i++) {
const rx = M
Math.floor(Math.random() * 8) - 4;
const ry = Math.floor(Math.random() * 6) - 2;
ctx.fillRect(cx + rx, cy + ry, 1, 1);
ctx.fillStyle = accent;
ctx.fillRect(cx - 3, cy + Math.floor(bh / 2) + 1, 1, 1);
ctx.fillRect(cx + 3, cy + Math.floor(bh / 2) + 1, 1, 1);
// Restore context if action animation was applied
if (tamagotchi.actionType && tamagotchi.actionAnimationTime < 1.0) {
ctx.restore();
// Draw particles and hearts
function drawTamagotchiParticles(ctx) {
// Draw regular particles
for (const p of tamagotchi.particles) {
ctx.fillStyle = p.col;
ctx.fillRect(Math.floor(p.x), Math.floor(p.y), 1, 1);
for (const h of tamagotchi.hearts) {
ctx.fillStyle = '#ff0088';
// Draw heart shape (simple pixel art)
ctx.fillRect(Math.floor(h.x), Math.floor(h.y), 1, 1);
ctx.fillRect(Math.floor(h.x) + 1, Math.floor(h.y), 1, 1);
ctx.fillRect(Math.floor(M
h.x) - 1, Math.floor(h.y) + 1, 1, 1);
ctx.fillRect(Math.floor(h.x) + 2, Math.floor(h.y) + 1, 1, 1);
ctx.fillRect(Math.floor(h.x), Math.floor(h.y) + 2, 3, 1);
for (const s of tamagotchi.stars) {
ctx.translate(s.x, s.y);
ctx.rotate(s.rotation);
ctx.fillStyle = '#ffff00';
// Draw star shape (simple 5-point star)
const size = 1.5;
ctx.beginPath();
for (let i = 0; i < 5; i++) {
const aM
ngle = (i * 4 * Math.PI / 5) - Math.PI / 2;
const x = Math.cos(angle) * size;
const y = Math.sin(angle) * size;
if (i === 0) ctx.moveTo(x, y);
else ctx.lineTo(x, y);
ctx.closePath();
ctx.restore();
for (const b of tamagotchi.bubbles) {
ctx.strokeStyle = '#ffffff';
ctx.fillStyle = 'rgba(200, 200, 255, 0.3)';
ctx.beginPath();
ctx.arc(b.x, b.y, b.size, 0, MathM
ctx.stroke();
// Bubble highlight
ctx.fillStyle = '#ffffff';
ctx.fillRect(Math.floor(b.x - b.size * 0.3), Math.floor(b.y - b.size * 0.3), 1, 1);
// Draw confetti
for (const c of tamagotchi.confetti) {
ctx.translate(c.x, c.y);
ctx.rotate(c.rotation);
ctx.fillStyle = c.col;
ctx.fillRect(-1, -1, 2, 2);
ctx.restore();
function drawEgg(ctx, size) {
x.fillStyle = '#ffff00';
ctx.beginPath();
ctx.ellipse(0, 0, size * 0.4, size * 0.5, 0, 0, Math.PI * 2);
ctx.strokeStyle = '#00ffff';
ctx.lineWidth = 2;
// Draw idle Tamagotchi
function drawIdleTamagotchi(ctx, size, stage) {
const bodyColor = stage === 'baby' ? '#ff69b4' : stage === 'child' ? '#00ff00' : stage === 'teen' ? '#00bfff' : '#ffa500';
// Body (bouncing animation)
const bounce = Math.sin(tamagotchi.animationFrame * 0.3) * 3;
ctx.fillStyle = bodyColor;
ctx.beginPath();
ctx.ellipse(0, 0, size * 0.35, size * 0.4, 0, 0, Math.PI * 2);
ctx.strokeStyle = '#00ffff';
ctx.lineWidth = 2;
ctx.fillStyle = '#000000';
ctx.beginPath();
ctx.arc(-size * 0.15, -size * 0.1, size * 0.08, 0, Math.PI * 2);
ctx.beginPath();
ctx.arc(size * 0.15, -size * 0.1, size * 0.08, 0, Math.PI * 2);
ctx.strokeStyle = '#000000';
ctx.lineWidth = 2;
ctx.beginPath();
ctx.arc(0, size * 0.1, size * 0.1, 0, Math.PI);
// Draw sleeping Tamagotchi
function drawSleepingTamagotchi(ctx, size, stage) {
const bodyColor = stage === 'baby' ? '#ff69b4' : stage === 'child' ? '#00ff00' : stage === 'teen' ? '#00bfff' : '#ffa500';
ctx.fillStyle = bodyColor;
ctx.beginPath();
ctx.ellipse(0, 0, size * 0.35, size * 0.4, 0, 0, Math.PI * 2);
ctx.strokeStyle = '#00ffff';
ctx.lineWidth = 2;
// Closed eyes (Z's)
ctx.strokeStyle = '#000000';
ctx.lineWidth = 2;
ctx.beginPath();
ctx.moveTo(-size * 0.2, -size * 0.1);
ctx.lineTo(-size * 0.1, -size * 0.15);
ctx.lineTo(-size * 0.15, -size * 0.2);
ctx.beginPath();
ctx.moveTo(size * 0.1, -size * 0.1);
ctx.lineTo(size * 0.2, -size * 0.15);
ctx.lineTo(size * 0.15, -size * 0.2);
// Draw eating Tamagotchi
nction drawEatingTamagotchi(ctx, size, stage) {
const bodyColor = stage === 'baby' ? '#ff69b4' : stage === 'child' ? '#00ff00' : stage === 'teen' ? '#00bfff' : '#ffa500';
ctx.fillStyle = bodyColor;
ctx.beginPath();
ctx.ellipse(0, 0, size * 0.35, size * 0.4, 0, 0, Math.PI * 2);
ctx.strokeStyle = '#00ffff';
ctx.lineWidth = 2;
ctx.fillStyle = '#000000';
ctx.beginPath();
ctx.arc(-size * 0.15, -size * 0.1, sizM
e * 0.08, 0, Math.PI * 2);
ctx.beginPath();
ctx.arc(size * 0.15, -size * 0.1, size * 0.08, 0, Math.PI * 2);
// Food (animated)
const foodY = size * 0.2 + Math.sin(tamagotchi.animationFrame * 0.5) * 5;
ctx.fillStyle = '#ff0000';
ctx.beginPath();
ctx.arc(0, foodY, size * 0.1, 0, Math.PI * 2);
ctx.fillStyle = '#000000';
ctx.beginPath();
ctx.arc(0, size * 0.15, size * 0.12, 0, Math.PI * 2);
// Draw playing Tamagotchi
function drawPlayingTamagotchi(ctx, size, stage) {
const bodyColor = stage === 'baby' ? '#ff69b4' : stage === 'child' ? '#00ff00' : stage === 'teen' ? '#00bfff' : '#ffa500';
// Body (jumping)
const jump = Math.abs(Math.sin(tamagotchi.animationFrame * 0.5)) * 10;
ctx.translate(0, -jump);
ctx.fillStyle = bodyColor;
ctx.beginPath();
ctx.ellipse(0, 0, size * 0.35, size * 0.4, 0, 0, Math.PI * 2);
ctx.strokeStyle = '#0M
ctx.lineWidth = 2;
// Eyes (excited)
ctx.fillStyle = '#000000';
ctx.beginPath();
ctx.arc(-size * 0.15, -size * 0.1, size * 0.1, 0, Math.PI * 2);
ctx.beginPath();
ctx.arc(size * 0.15, -size * 0.1, size * 0.1, 0, Math.PI * 2);
ctx.fillStyle = '#ffff00';
ctx.beginPath();
ctx.arc(size * 0.3, size * 0.2, size * 0.08, 0, Math.PI * 2);
// Draw sick Tamagotchi
function drawSickTamagotchM
i(ctx, size, stage) {
const bodyColor = stage === 'baby' ? '#ff69b4' : stage === 'child' ? '#00ff00' : stage === 'teen' ? '#00bfff' : '#ffa500';
// Body (shaking)
const shake = Math.sin(tamagotchi.animationFrame * 0.8) * 2;
ctx.translate(shake, 0);
// Body (darker)
ctx.fillStyle = bodyColor;
ctx.globalAlpha = 0.7;
ctx.beginPath();
ctx.ellipse(0, 0, size * 0.35, size * 0.4, 0, 0, Math.PI * 2);
ctx.globalAlpha = 1.0;
ctx.strokeStyle = '#00ffff';
ctx.lineWidth = 2;
ctx.strokeStyle = '#ff0000';
ctx.lineWidth = 3;
ctx.beginPath();
ctx.moveTo(-size * 0.2, -size * 0.15);
ctx.lineTo(-size * 0.1, -size * 0.05);
ctx.moveTo(-size * 0.1, -size * 0.15);
ctx.lineTo(-size * 0.2, -size * 0.05);
ctx.beginPath();
ctx.moveTo(size * 0.1, -size * 0.15);
ctx.lineTo(size * 0.2, -size * 0.05);
ctx.moveTo(size * 0.2, -size * 0.15);
ctx.lineTo(size * 0.1, -size * 0.05);
// Draw pooping Tamagotchi
function drawPoopingTamagotchi(ctx, size, stage) {
drawIdleTamagotchi(ctx, size, stage);
// Poop already drawn in main function
// Draw dead Tamagotchi
function drawDeadTamagotchi(ctx, size) {
// Cross/grave marker
ctx.strokeStyle = '#888888';
ctx.lineWidth = 3;
ctx.beginPath();
ctx.moveTo(0, -size * 0.3);
ctx.lineTo(0, size * 0.3);
ctx.moveTo(-size * 0.2, 0);
ctx.lineTo(size * 0.2, 0);
ctx.font = '16px monospace';
ctx.textAlign = 'center';
ctx.fillText('RIP', 0, size * 0.5);
// Tamagotchi interactions (called from button/click handlers)
function feedTamagotchi() {
if (!tamagotchi.alive) {
console.log('
Tamagotchi is dead, cannot feed');
playTamagotchiSound(200, 0.1, 'beep'); // Sad sound
Feeding Tamagotchi...');
tamagotchi.hunger = Math.max(0, tamagotchi.hunger - 28);
ergy = Math.min(100, tamagotchi.energy + 6);
tamagotchi.dirt = Math.min(100, tamagotchi.dirt + 4);
tamagotchi.happiness = Math.min(100, tamagotchi.happiness + 4);
tamagotchi.score += 2;
// Set action animation
tamagotchi.actionType = 'feed';
tamagotchi.actionAnimationTime = 0;
// Spawn visual effects - stars and hearts
for (let i = 0; i < 8; i++) {
spawnTamagotchiStar(16 + (Math.random() - 0.5) * 4, 12 + (Math.random() - 0.5) * 4);
for (let i = 0; i < 3; iM
spawnTamagotchiHeart(16 + (Math.random() - 0.5) * 2, 8 + (Math.random() - 0.5) * 2);
// Play sound effect (happy chime)
playTamagotchiSound(600, 0.15, 'chime');
Stats after feed - Hunger:', tamagotchi.hunger, 'Happiness:', tamagotchi.happiness, 'Energy:', tamagotchi.energy);
if (window.tamagotchiCtx && window.tamagotchiCanvas) {
drawTamagotchiDisplay(window.tamagotchiCtx, window.tamagotchiCanvas.width, window.tamagotchiCanvas.height);M
// Force texture update - always update if we have the canvas
if (screenMaterial) {
if (screenMaterial.map) {
const texture = screenMaterial.map;
// Force update regardless of check - the canvas is what we're drawing to
texture.needsUpdate = true;
// Also try to update the texture directly
if (texture.image) {
texture.image = window.tamagotchiCanvas;
consM
Display updated after feed - texture.needsUpdate = true');
} else {
console.log('
screenMaterial.map is null!');
screenMaterial.needsUpdate = true;
console.log('
screenMaterial is null!');
console.log('
Tamagotchi canvas not found! ctx:', !!window.tamagotchiCtx, 'canvas:', !!window.tamagotchiCanvas);
function playWithTamagotchi() {
console.log('
Tamagotchi is dead, cannot play');
Starting Tamagotchi mini-game...');
startTamagotchiMiniGame();
function cleanTamagotchi() {
if (!tamagotchi.alive) {
console.log('
Tamagotchi is dead, cannot clean');
playTamagotchiSound(200, 0.1, 'beep'); // Sad sound
Cleaning Tamagotchi...');
tamagotchi.dirt = Math.max(0, tamagotchi.dirt - M
tamagotchi.happiness = Math.min(100, tamagotchi.happiness + 8);
tamagotchi.score += 1;
// Set action animation
tamagotchi.actionType = 'clean';
tamagotchi.actionAnimationTime = 0;
// Spawn visual effects - bubbles
for (let i = 0; i < 12; i++) {
spawnTamagotchiBubble(16 + (Math.random() - 0.5) * 6, 14 + (Math.random() - 0.5) * 4);
// Play sound effect (bubble pop)
playTamagotchiSound(400, 0.1, 'pop');
ean - Dirt:', tamagotchi.dirt, 'Happiness:', tamagotchi.happiness);
if (window.tamagotchiCtx && window.tamagotchiCanvas) {
drawTamagotchiDisplay(window.tamagotchiCtx, window.tamagotchiCanvas.width, window.tamagotchiCanvas.height);
if (screenMaterial && screenMaterial.map) {
const texture = screenMaterial.map;
texture.needsUpdate = true;
if (texture.image) {
texture.image = window.tamagotchiCanvas;
screenMaterial.nM
console.log('
Display updated after clean');
console.log('
Tamagotchi canvas not found!');
function petTamagotchi() {
if (!tamagotchi.alive) {
console.log('
Tamagotchi is dead, cannot pet');
playTamagotchiSound(200, 0.1, 'beep'); // Sad sound
Petting Tamagotchi...');
tamagotchi.happiness = Math.min(100, tamagotchi.happiness + 10);
otchi.energy = Math.max(0, tamagotchi.energy - 2);
tamagotchi.score += 1;
// Set action animation
tamagotchi.actionType = 'pet';
tamagotchi.actionAnimationTime = 0;
// Spawn visual effects - many hearts
for (let i = 0; i < 6; i++) {
spawnTamagotchiHeart(16 + (Math.random() - 0.5) * 3, 10 + (Math.random() - 0.5) * 3);
// Play sound effect (happy beep)
playTamagotchiSound(800, 0.12, 'chime');
Stats after pet - Happiness:', taM
magotchi.happiness, 'Energy:', tamagotchi.energy);
if (window.tamagotchiCtx && window.tamagotchiCanvas) {
drawTamagotchiDisplay(window.tamagotchiCtx, window.tamagotchiCanvas.width, window.tamagotchiCanvas.height);
if (screenMaterial && screenMaterial.map) {
const texture = screenMaterial.map;
texture.needsUpdate = true;
if (texture.image) {
texture.image = window.tamagotchiCanvas;
screenMaterial.needsUpdate = trueM
console.log('
Display updated after pet');
console.log('
Tamagotchi canvas not found!');
// Ensure controls text is visible
if (tamagotchiControlsText) {
tamagotchiControlsText.visible = true;
if (tamagotchiControlsText.material) {
tamagotchiControlsText.material.emissiveIntensity = circuitLayerPowered ? 3.0 : 1.5;
tamagotchiControlsText.material.needsUpdate = true;
if (!tamagotchi.alive) return;
tamagotchi.energy = Math.min(100, tamagotchi.energy + 40);
tamagotchi.dirt = Math.min(100, tamagotchi.dirt + 2);
tamagotchi.happiness = Math.min(100, tamagotchi.happiness + 6);
tamagotchi.score += 1;
spawnTamagotchiParticle(16, 20, '#9fffff');
if (window.tamagotchiCtx) {
drawTamagotchiDisplay(window.tamagotchiCtx, window.tamagotchiCanvas.width, window.tamagotchiCanvas.height);
if (screenMaterial && screenMaterial.map && sM
creenMaterial.map.canvas === window.tamagotchiCanvas) {
screenMaterial.map.needsUpdate = true;
// Mini-Game: QuickTap
function startTamagotchiMiniGame() {
if (tamagotchiGameActive) return;
tamagotchiGameActive = true;
tamagotchiGameWins = 0;
scheduleTamagotchiGameTarget();
tamagotchiGameTimeout = setTimeout(endTamagotchiMiniGame, 8000);
function scheduleTamagotchiGameTarget() {
const delay = 300 + Math.random() * 1200;
setTimeout(() => {
agotchiGameActive) return;
tamagotchiGameTarget = {
x: 10 + Math.floor(Math.random() * 70),
y: 10 + Math.floor(Math.random() * 40),
life: 700
if (window.tamagotchiCtx && window.tamagotchiCanvas) {
drawTamagotchiDisplay(window.tamagotchiCtx, window.tamagotchiCanvas.width, window.tamagotchiCanvas.height);
if (screenMaterial && screenMaterial.map) {
const texture = screenMaterial.map;
if (texture.imagM
e === window.tamagotchiCanvas || texture.source?.data === window.tamagotchiCanvas) {
texture.needsUpdate = true;
setTimeout(() => {
tamagotchiGameTarget = null;
if (window.tamagotchiCtx && window.tamagotchiCanvas) {
drawTamagotchiDisplay(window.tamagotchiCtx, window.tamagotchiCanvas.width, window.tamagotchiCanvas.height);
if (screenMaterial && screenMaterial.map) {
const M
texture = screenMaterial.map;
if (texture.image === window.tamagotchiCanvas || texture.source?.data === window.tamagotchiCanvas) {
texture.needsUpdate = true;
}
scheduleTamagotchiGameTarget();
function endTamagotchiMiniGame() {
tamagotchiGameActive = false;
tamagotchiGameTarget = null;
if (window.tamagotchiCtx && window.tamagotchiCanvas) {
drawTamagotchiDisplM
ay(window.tamagotchiCtx, window.tamagotchiCanvas.width, window.tamagotchiCanvas.height);
if (screenMaterial && screenMaterial.map) {
const texture = screenMaterial.map;
if (texture.image === window.tamagotchiCanvas || texture.source?.data === window.tamagotchiCanvas) {
texture.needsUpdate = true;
function clickTamagotchiGame(x, y) {
if (!tamagotchiGameTarget || !tamagotchiGameActive) return false;
// Convert screen coordinM
ates to game coordinates
const pixelScale = 16;
const petX = window.tamagotchiCanvas.width / 2 - (32 * pixelScale) / 2;
const petY = window.tamagotchiCanvas.height / 2 - (32 * pixelScale) / 2 - 50;
const gameX = (x - petX) / pixelScale;
const gameY = (y - petY) / pixelScale;
if (gameX >= tamagotchiGameTarget.x && gameX <= tamagotchiGameTarget.x + 8 &&
gameY >= tamagotchiGameTarget.y && gameY <= tamagotchiGameTarget.y + 8) {
tamagotchiGameWins++;
tamagotchi.happinM
ess = Math.min(100, tamagotchi.happiness + 12);
// Spawn confetti effect
spawnTamagotchiConfetti(tamagotchiGameTarget.x, tamagotchiGameTarget.y);
// Play success sound
playTamagotchiSound(700, 0.2, 'chime');
spawnTamagotchiHeart(16, 8);
tamagotchi.score += 3;
tamagotchiGameTarget = null;
if (window.tamagotchiCtx && window.tamagotchiCanvas) {
drawTamagotchiDisplay(window.tamagotchiCtx, window.tamagotchiCanvas.width, window.M
tamagotchiCanvas.height);
if (screenMaterial && screenMaterial.map) {
const texture = screenMaterial.map;
if (texture.image === window.tamagotchiCanvas || texture.source?.data === window.tamagotchiCanvas) {
texture.needsUpdate = true;
return true;
// Show Logo on Display - ROTATE 180 DEGREES (draw everything rotated)
function showLogoOnDisplay() {
const canvas = document.cM
reateElement('canvas');
const ctx = canvas.getContext('2d');
canvas.width = 512;
canvas.height = 512;
// Black background (like other displays)
ctx.fillStyle = '#000000';
ctx.fillRect(0, 0, canvas.width, canvas.height);
const centerX = canvas.width / 2;
const centerY = canvas.height / 2;
// ROTATE ENTIRE CONTEXT 180 DEGREES FIRST
ctx.translate(centerX, centerY);
ctx.rotate(Math.PI); // Rotate 180 degrees
ctx.translate(-centerX, -centerY)M
// Draw square with lines - rotated 45 degrees (same as back logo)
const squareSize = 350;
const halfSize = squareSize / 2;
// Save context for 45 degree rotation
ctx.translate(centerX, centerY);
ctx.rotate(Math.PI / 4); // Rotate 45 degrees
// Draw square outline (rotated) - fully opaque
ctx.strokeStyle = '#00ffff';
ctx.globalAlpha = 1.0;
ctx.lineWidth = 6;
ctx.beginPath();
ctx.rect(-halfSize, -halfSize, squareSize, squareSize);
// Draw lines inside square (corner to corner)
ctx.strokeStyle = '#00ffff';
ctx.globalAlpha = 1.0;
ctx.lineWidth = 4;
ctx.beginPath();
ctx.moveTo(-halfSize, -halfSize);
ctx.lineTo(halfSize, halfSize);
ctx.moveTo(halfSize, -halfSize);
ctx.lineTo(-halfSize, halfSize);
// Draw horizontal and vertical lines through center
ctx.beginPath();
ctx.globalAlpha = 1.0;
ctx.moveTo(-halfSize, 0);
ctx.lineTo(halfSize, 0);
ctx.lineTo(0, halfSize);
// Restore 45 degree rotation
// Draw "THE BOX" text in center - mirrored both horizontally and vertically (same as back logo)
ctx.translate(centerX, centerY);
ctx.scale(-1, -1); // Mirror both horizontally and vertically
ctx.globalAlpha = 1.0;
ctx.font = 'bold 80px monospace';
ctx.fillStyle = '#00ffff';
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ext('THE BOX', 0, -17);
// Draw "episode 200" text below "THE BOX"
ctx.font = 'bold 32px monospace';
ctx.fillText('episode 200', 0, 25);
// Restore 180 degree rotation
// Draw scanlines on top
drawScanlines(ctx, canvas.width, canvas.height, scanlineOffset);
// Create texture from canvas
const texture = new THREE.CanvasTexture(canvas);
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
exture.flipY = true; // Display textures need Y flip
// Update screen material - CRITICAL: ensure texture is assigned
if (screenMaterial) {
screenMaterial.map = texture;
screenMaterial.emissiveMap = texture; // Use texture as emissive map for glow
screenMaterial.emissiveIntensity = 5.0; // Bright glow
screenMaterial.needsUpdate = true;
console.log('
Logo texture assigned to screen material');
function showWorldClock() {
Clear any existing interval first
if (worldClockInterval) {
clearInterval(worldClockInterval);
worldClockInterval = null;
const canvas = document.createElement('canvas');
canvas.width = 512;
canvas.height = 512;
const ctx = canvas.getContext('2d');
// Black background
ctx.fillStyle = '#000000';
ctx.fillRect(0, 0, canvas.width, canvas.height);
// Update clock every second
const updateClock = () => {
ctx.fillStyle = '#000000';
ctx.fillRect(0, 0, canvas.width, canvas.height);
const now = new Date();
// Calculate times for different timezones
const mstTime = new Date(now.toLocaleString('en-US', { timeZone: 'America/Denver' }));
const pstTime = new Date(now.toLocaleString('en-US', { timeZone: 'America/Los_Angeles' }));
const cstTime = new Date(now.toLocaleString('en-US', { timeZone: 'America/Chicago' }));
const cetTime = new Date(now.toLocaleString('en-US', { timeZone: 'EurM
const formatTime = (date) => {
const hours = date.getHours().toString().padStart(2, '0');
const minutes = date.getMinutes().toString().padStart(2, '0');
const seconds = date.getSeconds().toString().padStart(2, '0');
return `${hours}:${minutes}:${seconds}`;
// Title - larger font, moved down
ctx.font = 'bold 48px monospace';
ctx.fillStyle = '#00ffff';
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
ctx.fillText('WORLD CLOCK', canvas.width / 2, 80);
// Create array of timezones with their times and sort by time
const timezones = [
{ name: 'MST', time: mstTime },
{ name: 'PST', time: pstTime },
{ name: 'CST', time: cstTime },
{ name: 'CET', time: cetTime }
// Sort by time (earliest first)
timezones.sort((a, b) => {
const timeA = a.time.getHours() * 60 + a.tiM
const timeB = b.time.getHours() * 60 + b.time.getMinutes();
return timeA - timeB;
// Display sorted timezones - larger font, centered, moved down
ctx.font = 'bold 36px monospace';
ctx.textAlign = 'center';
const startY = 180;
const lineHeight = 80;
ctx.fillStyle = '#00ffff';
timezones.forEach((tz, index) => {
const y = startY + index * lineHeight;
ctx.fillText(`${tz.M
name} ${formatTime(tz.time)}`, canvas.width / 2, y);
// Draw scanlines on top (with current scanlineOffset for animation)
drawScanlines(ctx, canvas.width, canvas.height, scanlineOffset);
// Update texture
if (!screenMaterial.map || screenMaterial.map.canvas !== canvas) {
const texture = new THREE.CanvasTexture(canvas);
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.M
screenMaterial.map = texture;
screenMaterial.needsUpdate = true;
screenMaterial.map.needsUpdate = true;
// Initial update
// Update every 100ms for smooth scanline animation (clock updates every second, but scanlines animate smoothly)
worldClockInterval = setInterval(() => {
// Only update clock time every second, but redraw scanlines every frame for smooth animation
const shouldUpdateClock = !window.lastClockUpdate || (now - window.lastClockUpdate) >= 1000;
if (shouldUpdateClock) {
window.lastClockUpdate = now;
updateClock();
// Just redraw scanlines with updated offset (clock time stays the same)
ctx.fillStyle = '#000000';
ctx.fillRect(0, 0, canvas.width, canvas.height);
// Redraw clock content (reuse last drawn content)
We need to store the last clock state, but for simplicity, just call updateClock
// The time difference is minimal (less than 1 second)
updateClock();
// Show Schedule and Timer
function showScheduleAndTimer() {
const canvas = document.createElement('canvas');
canvas.width = 512;
canvas.height = 512;
const ctx = canvas.getContext('2d');
// Calculate time difference until next space (returns hours, minutes, seconds)
const getTimeUntilNextM
const now = new Date();
// Get current time in CET
const nowCETParts = {
year: parseInt(now.toLocaleString('en-US', { timeZone: 'Europe/Zurich', year: 'numeric' })),
month: parseInt(now.toLocaleString('en-US', { timeZone: 'Europe/Zurich', month: '2-digit' })),
day: parseInt(now.toLocaleString('en-US', { timeZone: 'Europe/Zurich', day: '2-digit' })),
hour: parseInt(now.toLocaleString('en-US', { timeZone: 'Europe/Zurich',M
hour: '2-digit', hour12: false })),
minute: parseInt(now.toLocaleString('en-US', { timeZone: 'Europe/Zurich', minute: '2-digit' })),
second: parseInt(now.toLocaleString('en-US', { timeZone: 'Europe/Zurich', second: '2-digit' }))
// Calculate day of week (0 = Sunday, 1 = Monday, etc.)
// Use a simple calculation based on date
const dateForDay = new Date(nowCETParts.year, nowCETParts.month - 1, nowCETParts.day);
const dayOfWeek = dateForDay.M
// Determine target time for today
let targetHour, targetMinute;
if (dayOfWeek >= 1 && dayOfWeek <= 5) {
targetHour = 19;
targetMinute = 30;
targetHour = 20;
targetMinute = 30;
// Calculate minutes since midnight for current time and target time
const currentMinutes = nowCETParts.hour * 60 + nowCETParts.minute;
const targetMinutes = targetHour * 60 + targetMinute;
let hoursUntil, minutesUntil, secondsUntil;
// Get current seconds
const currentSeconds = nowCETParts.second;
if (currentMinutes < targetMinutes) {
// Space is today
const totalSecondsUntil = (targetMinutes - currentMinutes) * 60 - currentSeconds;
hoursUntil = Math.floor(totalSecondsUntil / 3600);
const remainingSeconds = totalSecondsUntil % 3600;
minutesUntil = Math.floor(remainingSeconds / 60);
secondsUntil = remainingSeconds % 60;
// Space is tomorrow
// Calculate seconds until midnight + seconds until target time
const secondsUntilMidnight = ((24 * 60) - currentMinutes) * 60 - currentSeconds;
const secondsUntilTarget = targetMinutes * 60;
const totalSecondsUntil = secondsUntilMidnight + secondsUntilTarget;
// Since spaces are daily, this should never be more than ~24 hours
hoursUntiM
l = Math.floor(totalSecondsUntil / 3600);
const remainingSeconds = totalSecondsUntil % 3600;
minutesUntil = Math.floor(remainingSeconds / 60);
secondsUntil = remainingSeconds % 60;
// If it's more than 24 hours, something is wrong - cap it
if (hoursUntil >= 24) {
hoursUntil = hoursUntil % 24;
return { hours: hoursUntil, minutes: minutesUntil, seconds: secondsUntil };
alculate schedule times in MST
const getScheduleTimes = () => {
// Fixed times in MST
const mfMSTString = '11:30';
const ssMSTString = '12:30';
return { mfMSTString, ssMSTString };
// Update display
const updateDisplay = () => {
ctx.fillStyle = '#000000';
ctx.fillRect(0, 0, canvas.width, canvas.height);
const schedule = getScheduleTimes();
const timeUntil = getTimeUntilNextSpace();
// Since spaM
ces are daily, days should always be 0
const days = 0;
const hours = timeUntil.hours;
const minutes = timeUntil.minutes;
const seconds = timeUntil.seconds;
// Title - larger font, moved down
ctx.font = 'bold 42px monospace';
ctx.fillStyle = '#00ffff';
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
ctx.fillText('THE BOX space on X', canvas.width / 2, 80);
// Schedule - larger font, centered, moved down
ctx.font = 'bold 28px monospace';
ctx.textAlign = 'center';
ctx.fillStyle = '#00ffff';
let y = 150;
ctx.fillText(`Monday to Friday: ${schedule.mfMSTString} MST`, canvas.width / 2, y);
ctx.fillText(`Saturday and Sunday: ${schedule.ssMSTString} MST`, canvas.width / 2, y);
// Timer - larger font, centered, moved down
ctx.font = 'bold 32px monospace';
ctx.fillStyle = '#00ffff';
ctx.fillText('nM
ext THE BOX space', canvas.width / 2, y);
ctx.font = 'bold 48px monospace';
ctx.fillStyle = '#00ffff';
// Since spaces are daily, days should always be 0 - show only hours:minutes:seconds
const timerText = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
ctx.fillText(timerText, canvas.width / 2, y);
// Draw scanlines on top (with current scanlineOffset for animationM
drawScanlines(ctx, canvas.width, canvas.height, scanlineOffset);
// Update texture
if (!screenMaterial.map || screenMaterial.map.canvas !== canvas) {
const texture = new THREE.CanvasTexture(canvas);
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.flipY = true;
screenMaterial.map = texture;
screenMaterial.needsUpdate = true;
screenMaterial.mapM
.needsUpdate = true;
// Initial update
updateDisplay();
// Update every 100ms for smooth scanline animation (schedule updates every second, but scanlines animate smoothly)
worldClockInterval = setInterval(() => {
// Only update schedule/timer every second, but redraw scanlines every frame for smooth animation
const now = new Date();
const shouldUpdateSchedule = !window.lastScheduleUpdate || (now - window.lastScheduleUpdate) >= 1000;
if (shouldUpdateSchedule) {
window.lastScheduleUpdate = now;
updateDisplay();
// Just redraw scanlines with updated offset (schedule stays the same)
ctx.fillStyle = '#000000';
ctx.fillRect(0, 0, canvas.width, canvas.height);
// Redraw schedule content (reuse last drawn content)
// We need to store the last schedule state, but for simplicity, just call updateDisplay
// The time difference isM
minimal (less than 1 second)
updateDisplay();
// Create Cyberpunk Pattern
function createCyberpunkPattern(buttonIndex) {
const canvas = document.createElement('canvas');
canvas.width = 512;
canvas.height = 512;
const ctx = canvas.getContext('2d');
const gradient = ctx.createLinearGradient(0, 0, 512, 512);
const colors = [
['#00ffff', '#ff00ff', '#00ffff'],
['#ff00ff', '#ffff00', '#ff00ff'],
['#00ffff', '#ffff00', '#00ffff'],M
['#ff00ff', '#00ffff', '#ff00ff']
const colorSet = colors[buttonIndex] || colors[0];
gradient.addColorStop(0, colorSet[0]);
gradient.addColorStop(0.5, colorSet[1]);
gradient.addColorStop(1, colorSet[2]);
ctx.fillStyle = gradient;
ctx.fillRect(0, 0, 512, 512);
ctx.fillStyle = '#0a0a0a';
ctx.globalAlpha = 0.3;
for (let i = 0; i < 20; i++) {
for (let j = 0; j < 20; j++) {
if ((i + j) % 2 === 0) {
ctx.fillRect(i * 25, j * M
ctx.globalAlpha = 1.0;
ctx.strokeStyle = colorSet[0];
ctx.lineWidth = 2;
for (let i = 0; i <= 20; i++) {
ctx.beginPath();
ctx.moveTo(i * 25, 0);
ctx.lineTo(i * 25, 512);
ctx.stroke();
ctx.beginPath();
ctx.moveTo(0, i * 25);
ctx.lineTo(512, i * 25);
ctx.stroke();
updateScreenImage(canvas.toDataURL(), buttonIndex);
// Mouse/Touch Interaction
function onPointerMove(event) {
mouse.x = (event.clientX / window.innerWidth) * 2 - 1;
mouse.y = -(event.clientY / window.innerHeight) * 2 + 1;
lastInteractionTime = Date.now();
autoRotate = false;
function onPointerDown(event) {
mouse.x = (event.clientX / window.innerWidth) * 2 - 1;
mouse.y = -(event.clientY / window.innerHeight) * 2 + 1;
console.log('Pointer down at:', mouse.x, mouse.y);
raycaster.setFromCamera(mouse, camera);
// Check if clicking on tamagotchi control buttons FIRST (inM
// Check this BEFORE checking regular buttons, but only if Button 4 is active
if (activeButtonIndex === 3 && tamagotchiControlButtons.length > 0) {
const controlIntersects = raycaster.intersectObjects(tamagotchiControlButtons, true);
console.log('Checking', tamagotchiControlButtons.length, 'tamagotchi control buttons, found', controlIntersects.length, 'intersections');
if (controlIntersects.length > 0) {
const clickedButton = controlIntersects[0].objecM
const functionName = clickedButton.userData.functionName;
console.log('
Clicked tamagotchi control:', functionName);
// Execute the function
switch(functionName) {
case 'feed':
feedTamagotchi();
break;
case 'play':
playWithTamagotchi();
break;
case 'clean':
cleanTamagotchi();
breM
case 'pet':
petTamagotchi();
break;
event.preventDefault();
event.stopPropagation();
isDragging = false;
// Collect all button groups and their children for raycasting
// (Check buttons before screen, so buttons work even when Button 4 is active)
const allButtonObjects = [];
[powerButton, ...buttons].forEach(button => {
allButtonObjects.push(bM
utton); // Add button group itself
button.traverse(child => {
if (child.isMesh) {
allButtonObjects.push(child); // Add all meshes in button group
console.log('Checking', allButtonObjects.length, 'button objects');
const intersects = raycaster.intersectObjects(allButtonObjects, true);
console.log('Raycast found', intersects.length, 'intersections');
if (intersects.length > 0) {
const intersected = intersM
console.log('Intersected object:', intersected);
let button = null;
let buttonIndex = -1;
// Find which button was clicked by traversing up the object tree
let current = intersected;
while (current) {
// Check if current object is a button group
if (current === powerButton) {
button = powerButton;
buttonIndex = -1; // Power button has index -1
break;
const actionButtonIndex = buttons.indexOf(current);
if (actionButtonIndex !== -1) {
button = current;
buttonIndex = actionButtonIndex; // Action buttons have index 0-3
break;
// Check if current is a child of power button
if (powerButton.children.includes(current) || current.parent === powerButton) {
button = powerButton;
buttonIndex = -1;
break;
// Check if current is a child of any action button
buttons.forEach((btn, idx) => {
if (btn.children.includes(current) || current.parent === btn) {
button = btn;
buttonIndex = idx;
if (button) break;
current = current.parent;
if (button) {
event.preventDefault();
event.stopPropagation();
Prevent multiple clicks on the same button
if (buttonClickHandled) {
return;
buttonClickHandled = true;
// Reset flag after a short delay to allow next click
setTimeout(() => {
buttonClickHandled = false;
}, 300);
controls.enabled = false; // Temporarily disable controls
console.log('
Button clicked!', button === powerButton ? 'Power' : 'Action ' + (buttonInM
handleButtonClick(button, buttonIndex);
isDragging = false; // Don't drag when clicking button
// Re-enable controls after a short delay
setTimeout(() => {
controls.enabled = true;
}, 100);
// Check if clicking on screen for Tamagotchi mini-game (Button 4 active)
// Only if no button was clicked
if (activeButtonIndex === 3 && screenMesh) {
const screenIntersects = raycaM
ster.intersectObject(screenMesh, true);
if (screenIntersects.length > 0) {
// Click on screen - handle Tamagotchi mini-game
const intersect = screenIntersects[0];
const uv = intersect.uv;
// Convert UV to canvas coordinates
const canvasX = uv.x * window.tamagotchiCanvas.width;
const canvasY = (1 - uv.y) * window.tamagotchiCanvas.height; // Flip Y
// Try mini-game click
if (clickTamagotchM
iGame(canvasX, canvasY)) {
event.preventDefault();
return;
isDragging = true;
lastInteractionTime = Date.now();
autoRotate = false;
function onPointerUp() {
isDragging = false;
// Event Listeners - use capture phase to intercept before OrbitControls
// Also add click event as backup
renderer.domElement.addEventListener('mousemove', onPointerMove, false);
renderer.domElement.addEventListener('mousedown', onPointerDown, true); //M
renderer.domElement.addEventListener('mouseup', onPointerUp, false);
// Removed click event handler - using mousedown only to prevent double-triggering
renderer.domElement.addEventListener('touchmove', (e) => {
e.preventDefault();
if (e.touches.length > 0) {
onPointerMove(e.touches[0]);
renderer.domElement.addEventListener('touchstart', (e) => {
e.preventDefault();
if (e.touches.length > 0) {
onPointerDown(e.touches[0]);
renderer.domElement.addEM
ventListener('touchend', onPointerUp);
// Soft, ambient lighting (less point-like, more diffused)
const ambientLight = new THREE.AmbientLight(0xffffff, 1.2); // Softer, brighter ambient light
scene.add(ambientLight);
// Soft directional lights with larger distance for smoother shadows
const directionalLight1 = new THREE.DirectionalLight(0xffffff, 0.4); // Softer, less intense
directionalLight1.position.set(5, 5, 5);
directionalLight1.castShadow = false; // No harsh shadows
scene.add(directionalLight1);
ectionalLight2 = new THREE.DirectionalLight(0xffffff, 0.3); // Even softer
directionalLight2.position.set(-5, -5, 5);
directionalLight2.castShadow = false;
scene.add(directionalLight2);
// Additional soft directional light
const directionalLight3 = new THREE.DirectionalLight(0xffffff, 0.3);
directionalLight3.position.set(0, 0, 10); // From front
directionalLight3.castShadow = false;
scene.add(directionalLight3);
// Soft point lights with larger radius for diffused lighting
const pointLight1 = new THREE.PointLightM
(0xffffff, 0.3, 200); // Larger radius, softer
pointLight1.position.set(3, 3, 8);
pointLight1.decay = 1; // Linear decay for softer falloff
scene.add(pointLight1);
const pointLight2 = new THREE.PointLight(0xffffff, 0.2, 200); // Even softer
pointLight2.position.set(-3, -3, 8);
pointLight2.decay = 1;
scene.add(pointLight2);
// Animation Loop with hologram effects
let lastFrameTime = 0;
const targetFPS = 60;
const frameInterval = 1000 / targetFPS;
function animate(currentTime) {
requestAnimationFrame(animate);M
const elapsed = currentTime - lastFrameTime;
if (elapsed < frameInterval) return;
lastFrameTime = currentTime - (elapsed % frameInterval);
// Update shimmer effect
shimmerOffset += 0.01;
// Removed scanline and grid texture animations (no longer needed)
// Particle animation removed
// if (hologramParticles) {
// hologramParticles.rotation.y += 0.001;
// const positions = hologramParticles.geometry.attributes.position.array;
// for (let i = 2; M
i < positions.length; i += 3) {
// positions[i] += Math.sin(currentTime * 0.001 + i) * 0.0005;
// hologramParticles.geometry.attributes.position.needsUpdate = true;
// Edge glow pulse - removed (edge glow disabled)
// edgeGlow.children.forEach(edge => {
// edge.material.opacity = 0.6 + Math.sin(currentTime * 0.003) * 0.2;
// Animate active button glows
[powerButton, ...buttons].forEach(button => {
if (button.userData.isAcM
tive && button.userData.glowMaterial) {
// Pulse glow when active
const pulse = 0.8 + Math.sin(currentTime * 0.005) * 0.2;
button.userData.glowMaterial.opacity = pulse;
// Circuit layer glow animation - pulsing with radial gradient effect when powered on
// Only non-black areas will glow (using emissiveMap)
if (circuitLayerMaterial) {
if (circuitLayerPowered) {
// Stronger pulse: intensity goes from 1.5 to 2.5 (much brighter M
// Pulsing animation
const baseIntensity = 1.5;
const pulseAmplitude = 0.5;
const pulseSpeed = 0.004; // Slightly faster pulse
const pulseIntensity = baseIntensity + Math.sin(currentTime * pulseSpeed) * pulseAmplitude;
// Create radial gradient effect (center brighter, edges dimmer)
// This is achieved by using a gradient texture as multiplier
if (!circuitLayerMaterial.userData.radialGradM
const gradientCanvas = document.createElement('canvas');
gradientCanvas.width = 512;
gradientCanvas.height = 720;
const gradientCtx = gradientCanvas.getContext('2d');
const centerX = gradientCanvas.width / 2;
const centerY = gradientCanvas.height / 2;
const maxRadius = Math.sqrt(centerX * centerX + centerY * centerY);
const gradient = gradientCtx.createRadialGradient(centerXM
, centerY, 0, centerX, centerY, maxRadius);
gradient.addColorStop(0, 'rgba(255, 255, 255, 1)'); // Center: full brightness
gradient.addColorStop(0.5, 'rgba(255, 255, 255, 0.8)'); // Mid: 80%
gradient.addColorStop(1, 'rgba(255, 255, 255, 0.4)'); // Edge: 40%
gradientCtx.fillStyle = gradient;
gradientCtx.fillRect(0, 0, gradientCanvas.width, gradientCanvas.height);
circuitLayerMaterial.userData.radialGradientTexture = new TM
HREE.CanvasTexture(gradientCanvas);
circuitLayerMaterial.userData.radialGradientTexture.flipY = false;
// Apply pulsing intensity with radial gradient effect
circuitLayerMaterial.emissiveIntensity = pulseIntensity;
// Use gradient texture to modulate the glow (center brighter, edges dimmer)
if (circuitLayerMaterial.emissiveMap) {
// The emissiveMap already provides the pattern, we just modulate intensity
circuitLayerMaterial.emissiveIntensity = pulseIntensity;
// No glow when off
circuitLayerMaterial.emissiveIntensity = 0; // No glow when off
circuitLayerMaterial.needsUpdate = true;
// Circuit layer 2 glow animation - same as layer 1 with pulsing
if (circuitLayer2 && circuitLayer2.material) {
if (circuitLayerPowered) {
// Stronger pulse: intensity goes from 1.5 to 2.5 (much brighter with more cM
const baseIntensity = 1.5;
const pulseAmplitude = 0.5;
const pulseSpeed = 0.004; // Slightly faster pulse
const pulseIntensity = baseIntensity + Math.sin(currentTime * pulseSpeed) * pulseAmplitude;
// Create radial gradient effect for layer 2
if (!circuitLayer2.material.userData.radialGradientTexture) {
const gradientCanvas = document.createElement('canvas');
gradientCanvas.width = 512;
gradientCanvas.height = 720;
const gradientCtx = gradientCanvas.getContext('2d');
const centerX = gradientCanvas.width / 2;
const centerY = gradientCanvas.height / 2;
const maxRadius = Math.sqrt(centerX * centerX + centerY * centerY);
const gradient = gradientCtx.createRadialGradient(centerX, centerY, 0, centerX, centerY, maxRadius);
gradient.addColorStop(0, 'rgba(255, 255, 255, 1)'); // Center: full brightneM
gradient.addColorStop(0.5, 'rgba(255, 255, 255, 0.8)'); // Mid: 80%
gradient.addColorStop(1, 'rgba(255, 255, 255, 0.4)'); // Edge: 40%
gradientCtx.fillStyle = gradient;
gradientCtx.fillRect(0, 0, gradientCanvas.width, gradientCanvas.height);
circuitLayer2.material.userData.radialGradientTexture = new THREE.CanvasTexture(gradientCanvas);
circuitLayer2.material.userData.radialGradientTexture.flipY = false;
circuitLayer2.material.emissiveIntensity = pulseIntensity;
// No glow when off
circuitLayer2.material.emissiveIntensity = 0; // No glow when off
circuitLayer2.material.needsUpdate = true;
// Circuit layer 3 glow animation - same as layer 2 (back side)
if (circuitLayer3 && circuitLayer3.material) {
if (circuitLayerPowered) {
// Stronger pulse: intensity goes from 1.5 to 2.5 (much brighter with M
const baseIntensity = 1.5;
const pulseAmplitude = 0.5;
const pulseSpeed = 0.004; // Slightly faster pulse
const pulseIntensity = baseIntensity + Math.sin(currentTime * pulseSpeed) * pulseAmplitude;
// Create radial gradient effect for layer 3
if (!circuitLayer3.material.userData.radialGradientTexture) {
const gradientCanvas = document.createElement('canvas');
gradientCanvas.width = 512M
gradientCanvas.height = 720;
const gradientCtx = gradientCanvas.getContext('2d');
const centerX = gradientCanvas.width / 2;
const centerY = gradientCanvas.height / 2;
const maxRadius = Math.sqrt(centerX * centerX + centerY * centerY);
const gradient = gradientCtx.createRadialGradient(centerX, centerY, 0, centerX, centerY, maxRadius);
gradient.addColorStop(0, 'rgba(255, 255, 255, 1)'); // Center: full brM
gradient.addColorStop(0.5, 'rgba(255, 255, 255, 0.8)'); // Mid: 80%
gradient.addColorStop(1, 'rgba(255, 255, 255, 0.4)'); // Edge: 40%
gradientCtx.fillStyle = gradient;
gradientCtx.fillRect(0, 0, gradientCanvas.width, gradientCanvas.height);
circuitLayer3.material.userData.radialGradientTexture = new THREE.CanvasTexture(gradientCanvas);
circuitLayer3.material.userData.radialGradientTexture.flipY = false;
circuitLayer3.material.emissiveIntensity = pulseIntensity;
// No glow when off
circuitLayer3.material.emissiveIntensity = 0; // No glow when off
circuitLayer3.material.needsUpdate = true;
// Update back logo glow based on power state - make it glow when on
if (backLogoMesh && backLogoMesh.material) {
if (circuitLayerPowered) {
// Bright glow with slight pulsing when on
baseIntensity = 3.0;
const pulseAmplitude = 0.5;
const pulseSpeed = 0.004;
const pulseIntensity = baseIntensity + Math.sin(currentTime * pulseSpeed) * pulseAmplitude;
backLogoMesh.material.emissiveIntensity = pulseIntensity;
// Dim when off (same as current state)
backLogoMesh.material.emissiveIntensity = 0.05;
backLogoMesh.material.needsUpdate = true;
// Update card text labels glow based on poM
wer state - make them glow when on
// ALWAYS update in every frame to ensure they respond to power state changes
if (cardTextLeft && cardTextLeft.material) {
// Ensure emissive properties are set (check if it's a Color object or a number)
if (!cardTextLeft.material.emissive) {
cardTextLeft.material.emissive = new THREE.Color(0x00ffff);
} else if (typeof cardTextLeft.material.emissive === 'number') {
cardTextLeft.material.emissive = new THREE.Color(cardTextLeftM
.material.emissive);
} else if (cardTextLeft.material.emissive.getHex && cardTextLeft.material.emissive.getHex() !== 0x00ffff) {
cardTextLeft.material.emissive.setHex(0x00ffff);
if (!cardTextLeft.material.emissiveMap && cardTextLeft.material.map) {
cardTextLeft.material.emissiveMap = cardTextLeft.material.map;
if (circuitLayerPowered) {
// Bright glow with slight pulsing when on
const baseIntensity = 3.0;
const pulseAmplitude = 0.3;
const pulseSpeed = 0.004;
const pulseIntensity = baseIntensity + Math.sin(currentTime * pulseSpeed) * pulseAmplitude;
cardTextLeft.material.emissiveIntensity = pulseIntensity;
// Off when off - MUST be 0
cardTextLeft.material.emissiveIntensity = 0;
cardTextLeft.material.needsUpdate = true;
if (cardTextRight && cardTextRight.material) {
// Ensure emissive properties are M
set (check if it's a Color object or a number)
if (!cardTextRight.material.emissive) {
cardTextRight.material.emissive = new THREE.Color(0x00ffff);
} else if (typeof cardTextRight.material.emissive === 'number') {
cardTextRight.material.emissive = new THREE.Color(cardTextRight.material.emissive);
} else if (cardTextRight.material.emissive.getHex && cardTextRight.material.emissive.getHex() !== 0x00ffff) {
cardTextRight.material.emissive.setHex(0x00ffff);
if (!cardTextRight.material.emissiveMap && cardTextRight.material.map) {
cardTextRight.material.emissiveMap = cardTextRight.material.map;
if (circuitLayerPowered) {
// Bright glow with slight pulsing when on
const baseIntensity = 3.0;
const pulseAmplitude = 0.3;
const pulseSpeed = 0.004;
const pulseIntensity = baseIntensity + Math.sin(currentTime * pulseSpeed) * pulseAmplitude;
cardTextRighM
t.material.emissiveIntensity = pulseIntensity;
// Off when off - MUST be 0
cardTextRight.material.emissiveIntensity = 0;
cardTextRight.material.needsUpdate = true;
// Update circuit layer 2 (EFFEKT Layer) - ALWAYS update in every frame
// circuitLayer2 is an object with { mesh, material } from createCircuitLayer2
if (circuitLayer2) {
// Update via the material property directly
if (circuitLayer2.material) {
// Ensure emissive is set (check if it's a Color object or a number)
if (!circuitLayer2.material.emissive) {
circuitLayer2.material.emissive = new THREE.Color(0x00ffff);
} else if (typeof circuitLayer2.material.emissive === 'number') {
circuitLayer2.material.emissive = new THREE.Color(circuitLayer2.material.emissive);
} else if (circuitLayer2.material.emissive.getHex && circuitLayer2.material.emissive.getHex() !== 0x00ffff) {
circuM
itLayer2.material.emissive.setHex(0x00ffff);
if (circuitLayerPowered) {
// Bright glow with pulsing when on
const baseIntensity = 1.5;
const pulseAmplitude = 0.5;
const pulseSpeed = 0.004;
const pulseIntensity = baseIntensity + Math.sin(currentTime * pulseSpeed) * pulseAmplitude;
circuitLayer2.material.emissiveIntensity = pulseIntensity;
} else {
// No glow when off -M
circuitLayer2.material.emissiveIntensity = 0;
circuitLayer2.material.needsUpdate = true;
// Also update via mesh if it exists (mesh.material is the same as material)
if (circuitLayer2.mesh && circuitLayer2.mesh.material) {
// Ensure emissive is set (check if it's a Color object or a number)
if (!circuitLayer2.mesh.material.emissive) {
circuitLayer2.mesh.material.emissive = new THREE.Color(0x00ffff)M
} else if (typeof circuitLayer2.mesh.material.emissive === 'number') {
circuitLayer2.mesh.material.emissive = new THREE.Color(circuitLayer2.mesh.material.emissive);
} else if (circuitLayer2.mesh.material.emissive.getHex && circuitLayer2.mesh.material.emissive.getHex() !== 0x00ffff) {
circuitLayer2.mesh.material.emissive.setHex(0x00ffff);
if (circuitLayerPowered) {
const baseIntensity = 1.5;
const pulsM
const pulseSpeed = 0.004;
const pulseIntensity = baseIntensity + Math.sin(currentTime * pulseSpeed) * pulseAmplitude;
circuitLayer2.mesh.material.emissiveIntensity = pulseIntensity;
} else {
circuitLayer2.mesh.material.emissiveIntensity = 0;
circuitLayer2.mesh.material.needsUpdate = true;
// Update circuit layer - ALWAYS update in every frame to ensure it responds to powerM
// Update both the material variable AND the mesh material
if (circuitLayerMaterial) {
if (circuitLayerPowered) {
// Bright glow with pulsing when on
const baseIntensity = 1.5;
const pulseAmplitude = 0.5;
const pulseSpeed = 0.004;
const pulseIntensity = baseIntensity + Math.sin(currentTime * pulseSpeed) * pulseAmplitude;
circuitLayerMaterial.emissiveIntensity = pulseIntensity;
// No glM
circuitLayerMaterial.emissiveIntensity = 0;
circuitLayerMaterial.needsUpdate = true;
// Also update via mesh if it exists
if (typeof circuitLayer !== 'undefined' && circuitLayer && circuitLayer.material) {
if (circuitLayerPowered) {
// Bright glow with pulsing when on
const baseIntensity = 1.5;
const pulseAmplitude = 0.5;
const pulseSpeed = 0.004;
const pulseIntensity = baseIntensity + MaM
th.sin(currentTime * pulseSpeed) * pulseAmplitude;
circuitLayer.material.emissiveIntensity = pulseIntensity;
// No glow when off
circuitLayer.material.emissiveIntensity = 0;
circuitLayer.material.needsUpdate = true;
// Screen startup animation
if (screenStartupAnimation && screenMesh) {
// Make sure screen is visible and NOT showing black texture
if (!screenMesh.visible) {
screenMesh.visible = true;M
console.log('
Screen made visible');
// Phase 2: Use loaded image instead of startup texture
// BUT: Only if startup animation is still running AND no button has been pressed
if (startupPhase === 2 && screenStartupAnimation) {
// In Phase 2, the image should already be loaded via loadDisplayImage()
// Don't override it with startupTexture
// Just ensure emissive is enabled
if (screenMaterial.emissiM
veIntensity === 0) {
screenMaterial.emissiveIntensity = 5.0; // Very high for bright glow from front
screenMaterial.needsUpdate = true;
// Show character description text when image appears
if (characterDescriptionText && displayImageMesh && displayImageMesh.visible) {
characterDescriptionText.visible = true;
if (characterDescriptionText.material) {
characterDescriptionText.materialM
.emissiveIntensity = circuitLayerPowered ? 3.0 : 0;
characterDescriptionText.material.needsUpdate = true;
// Animate glitch effect for display image - pixelated fade-in (NO MOVEMENT)
if (displayImageMesh && displayImageMesh.visible) {
displayImageGlitchTime += 0.016; // ~60fps
displayImageGlitchProgress = Math.min(displayImageGlitchProgress + 0.015, 1.0); // Fade in over ~1.5 seconds
// NO POSITION CHANGES - keep position completely fixed
// Position is already set when mesh is created, don't touch it
if (displayImageMesh.material && displayImageMesh.material.map) {
// Pixelated effect - only change filter, NO repeat changes (no zoom)
const glitchIntensity = (1.0 - displayImageGlitchProgress);
// Apply pixelated effect by changing texture min/magM
if (glitchIntensity > 0.1) {
// Pixelated look - use nearest neighbor filtering (no movement, just pixelated appearance)
displayImageMesh.material.map.minFilter = THREE.NearestFilter;
displayImageMesh.material.map.magFilter = THREE.NearestFilter;
// DO NOT change repeat - that causes zoom movement!
} else {
// Smooth transition to normal
displayImageMesh.material.map.minFilter = THREE.LinearFilter;
displayImageMesh.material.map.magFilter = THREE.LinearFilter;
}
// Static/noise effect - random brightness flicker (no movement)
const noise = glitchIntensity > 0.2 ? (Math.random() * 0.1 - 0.05) : 0;
const brightness = 1.0 + noise;
// Apply opacity based on progress (fade iM
n) - this is the only visual change
displayImageMesh.material.opacity = displayImageGlitchProgress;
displayImageMesh.material.transparent = true;
// Slight brightness variation for static effect (no color shift, no movement)
displayImageMesh.material.emissiveIntensity = 8.0 * brightness;
displayImageMesh.material.emissive = new THREE.Color(0x00ffff); // Keep cyan color
displayImageMesh.material.needsUpdate = true;
displayImageMesh.material.map.needsUpdate = true;
// Phase 0 and 1: Use startup texture
// ALWAYS use startup texture during animation - remove black texture completely
// BUT: In Phase 2, don't override the loaded image
if (startupPhase !== 2 && screenMaterial.map !== startupTexture && startupTexture) {
screenMaterial.map = startupTexture; M
// Switch to startup texture
screenMaterial.emissiveMap = startupTexture; // Use texture as emissive map for glow
// CRITICAL: Enable emissive when display is on
screenMaterial.emissiveIntensity = 5.0; // Very high for bright glow from front
screenMaterial.needsUpdate = true;
console.log('
Switched to startup texture with glow, removed black screen - emissive enabled');
// Also ensure emissivM
e is enabled if texture is already assigned
if (screenMaterial.emissiveIntensity === 0 && screenMaterial.map === startupTexture) {
screenMaterial.emissiveIntensity = 5.0; // Very high for bright glow from front
screenMaterial.needsUpdate = true;
// Phase-based progress: each phase goes from 0 to 1
// Slower progress to show square animation longer, but text will still be faster
const progressIncrement = 0.005; // 2.M
5x faster than original (was 0.002), but slower than before to show square longer
screenStartupProgress += progressIncrement;
// Phase transitions
if (screenStartupProgress >= 1.0) {
if (startupPhase === 0) {
// Phase 0 complete -> move to Phase 1 (connect)
startupPhase = 1;
screenStartupProgress = 0;
connectText = '';
connectTextIndex = 0;
console.log('
} else if (startupPhase === 1) {
// Phase 1 complete -> move to Phase 2 (show logo) - very fast transition, no pause
// Check if text is complete and immediately move to logo (no wait time)
const totalConnectText = CONNECT_TEXT_LINE1 + ' ' + CONNECT_TEXT_LINE2;
if (connectTextIndex >= totalConnectText.length && screenStartupProgress >= 0.05) {
startupPhase = 2;
screenStartupProgress M
// Show logo on display after connection
showLogoOnDisplay();
// Reset button 1 state to show logo first
button1State = false;
console.log('
Moving to Phase 2: Show Logo');
// Phase 2 just continues showing the logo
// Update scanlines - move smoothly for thin lines (ALWAYS, not just during startup)
scanlineOffset += 0.5; //M
Slightly faster for smoother animation
if (scanlineOffset > 15) scanlineOffset = 0; // Reset when offset too large
// Phase 0: Square animation only (no "starting up..." text)
if (startupPhase === 0) {
// Clear any startup text
startupText = '';
startupTextIndex = 0;
// Text starts at progress 0.3 (while square is still animating)
// Phase 0 ends at progress 0.8 (after square animation and text) - KEEP ORIGINAM
if (screenStartupProgress >= 0.8) {
screenStartupProgress = 1.0; // Trigger phase transition
// Phase 0 & 1: Typing "connect to the box network..." - two lines - TEXT FASTER, but square animation stays original
// Text starts in Phase 0 at progress 0.3 (while square is still animating)
if (startupPhase === 0 || startupPhase === 1) {
const totalConnectText = CONNECT_TEXT_LINE1 + ' ' + CONNECT_TEXT_LINE2;
if (startupPhase === 0) {
// Phase 0: Text starts at progress 0.3, typing faster until progress 0.8 (square animation stays at 0.8)
if (screenStartupProgress > 0.3 && connectTextIndex < totalConnectText.length) {
const typingProgress = (screenStartupProgress - 0.3) / 0.2; // From 0.3 to 0.5 = 0.2 range, MUCH FASTER (was 0.5)
const targetIndex = Math.min(Math.floor(typingProgress * totalConnectText.length), totalConnectText.length);
if (targetIndex > connectTextIndex) {
connectTextIndex = targetIndex;
connectText = totalConnectText.substring(0, connectTextIndex);
}
} else if (screenStartupProgress <= 0.3) {
connectText = '';
connectTextIndex = 0;
} else if (startupPhase === 1) {
// Phase 1: Continue typing very quickly if not complete
if (screenStaM
rtupProgress > 0.05 && connectTextIndex < totalConnectText.length) {
const typingProgress = (screenStartupProgress - 0.05) / 0.1; // Very fast typing, complete in 0.1 progress
const targetIndex = Math.min(Math.floor(typingProgress * totalConnectText.length), totalConnectText.length);
if (targetIndex > connectTextIndex) {
connectTextIndex = targetIndex;
connectText = totalConnectText.substring(0, connectTextInM
}
} else if (screenStartupProgress <= 0.05) {
// Don't reset if text was already started in Phase 0
if (connectTextIndex === 0) {
connectText = '';
}
// Create or reuse canvas ONCE at startup
if (!startupCanvas) {
startupCanvas = document.createElement('canvas');
startupCanvas.width = 512;
startupCanvas.height = 512;
console.log('
Canvas created:', startupCanvas.width, 'x', startupCanvas.height);
// Create texture ONCE if it doesn't exist
if (!startupTexture) {
startupTexture = new THREE.CanvasTexture(startupCanvas);
startupTexture.minFilter = THREE.LinearFilter;
startupTexture.magFilter = THREE.LinearFilter;
startupTexture.generateMipmaps = false;
startupTexture.flipY = true; // TRUE - fM
lip Y to correct orientation (screen is rotated 180
startupTexture.rotation = 0;
startupTexture.premultiplyAlpha = false;
console.log('
Startup texture created');
// Phase 2: Don't override the loaded image with startupTexture
if (startupPhase === 2) {
// In Phase 2, the image should already be loaded - don't override it
// Just ensure emissive is enabled
if (screenMaterial.emissiveIntensity === 0)M
screenMaterial.emissiveIntensity = 5.0; // Very high for bright glow from front
screenMaterial.needsUpdate = true;
// Phase 0 and 1: Use startup texture
// Phase 2: Don't override the loaded image with startupTexture
if (startupPhase === 2) {
// In Phase 2, the image should already be loaded - don't override it
// Just ensure emissive is enabled
if (screenMaterial.emiM
ssiveIntensity === 0) {
screenMaterial.emissiveIntensity = 5.0; // Very high for bright glow from front
screenMaterial.needsUpdate = true;
} else {
// Phase 0 and 1: Use startup texture
// Ensure texture is assigned to both map and emissiveMap
if (screenMaterial.map !== startupTexture) {
screenMaterial.map = startupTexture;
screenMaterial.emissiveMap = startupM
screenMaterial.needsUpdate = true;
// ALWAYS ensure texture is assigned to material AND as emissiveMap for glow
if (screenMaterial.map !== startupTexture) {
screenMaterial.map = startupTexture;
screenMaterial.emissiveMap = startupTexture; // Use texture as emissive map for glow
// CRITICAL: Enable emissive when display is on
screenMaterial.emM
issiveIntensity = 5.0; // Very high for bright glow from front
screenMaterial.needsUpdate = true;
console.log('
Texture assigned to material and emissiveMap - emissive enabled');
// Also ensure emissive is enabled if texture is already assigned
if (screenMaterial.emissiveIntensity === 0) {
screenMaterial.emissiveIntensity = 5.0; // Very high for bright glow from front
screenMaterM
ial.needsUpdate = true;
// Update canvas content - throttle to prevent flickering but ensure smooth animation
const timeSinceLastUpdate = currentTime - lastTextureUpdate;
const minUpdateInterval = 50; // Update at most every 50ms (20fps max)
// Always update if enough time passed (for smooth scanlines movement)
if (timeSinceLastUpdate >= minUpdateInterval) {
// Always update canvas (scanlines need to move smoothly, text needs to appear)M
// Determine which text to show based on phase
let currentText = '';
if (startupPhase === 0) {
currentText = ''; // No text in Phase 0 - only square animation
} else if (startupPhase === 1) {
currentText = connectText;
// Draw on canvas FIRST
createStartupScreen(screenStartupProgress, currentText, scanlineOffset, currentTime, startupCanvas, startupPhase);
// CRITICAL: ForceM
texture update after canvas drawing
// Also ensure material has the texture AND emissiveMap for glow
// BUT: In Phase 2, don't override the loaded image
if (startupPhase !== 2 && screenMaterial.map !== startupTexture) {
screenMaterial.map = startupTexture;
screenMaterial.emissiveMap = startupTexture; // Use texture as emissive map for glow
console.log('
Texture was missing from material - fixed!');
// FORCE texture update - this is critical
startupTexture.needsUpdate = true;
screenMaterial.needsUpdate = true;
// Debug: Log when content is being drawn
if (Math.floor(currentTime / 1000) % 2 === 0) {
console.log('
Drawing on canvas - Text:', currentText, 'Phase:', startupPhase, 'Progress:', screenStartupProgress.toFixed(2), 'Texture assigned:', screenMaterial.map === startupTexture, 'Texture needsUpdate:', staM
rtupTexture.needsUpdate);
lastTextureUpdate = currentTime;
lastProgress = screenStartupProgress;
lastText = startupText;
lastScanlineOffset = scanlineOffset;
// Debug periodically
if (Math.floor(currentTime / 500) % 2 === 0) {
console.log('
Screen update - Text:', startupText, 'Progress:', (screenStartupProgress * 100).toFixed(1) + '%', 'Scanline:', scanlineOffset.toFixed(1)M
// Animation complete - keep showing the final screen
if (screenStartupProgress >= 1.0) {
// Animation done, keep showing the screen
} else if (!circuitLayerPowered && screenMesh) {
// Device is OFF - show black screen
if (!screenMaterial.blackTexture) {
const blackCanvas = document.createElement('canvas');
blackCanvas.width = 512;
blackCanvas.height = 512;
const blackCtx = bM
lackCanvas.getContext('2d');
blackCtx.fillStyle = '#000000';
blackCtx.fillRect(0, 0, 512, 512);
screenMaterial.blackTexture = new THREE.CanvasTexture(blackCanvas);
screenMaterial.blackTexture.flipY = true;
screenMaterial.blackTexture.generateMipmaps = false;
screenMaterial.blackTexture.minFilter = THREE.LinearFilter;
screenMaterial.blackTexture.magFilter = THREE.LinearFilter;
// Show black screen if not alM
if (screenMaterial.map !== screenMaterial.blackTexture) {
screenMaterial.map = screenMaterial.blackTexture;
// CRITICAL: Disable emissive when display is off to prevent blue glow
screenMaterial.emissiveIntensity = 0;
screenMaterial.emissiveMap = null;
screenMaterial.needsUpdate = true;
// Keep screen visible to show black
if (!screenMesh.visible) {
screenMesh.visible = true;
} else if (circuitLayerPowered && !screenStartupAnimation && screenMesh) {
// Device is ON but no animation - ensure black screen is NOT shown
// This should not happen if animation starts immediately, but just in case
if (screenMaterial.map === screenMaterial.blackTexture) {
// Remove black texture
screenMaterial.map = null;
screenMaterial.needsUpdate = true;
console.log('
Removed black screen (device ON, no animation)');
// Update logo display with animated scanlines if Button 1 is showing logo
if (button1State === false && screenMesh.visible && screenMaterial.map && screenMaterial.map.canvas) {
// Check if this is the logo texture (by checking if it has the logo canvas)
// Re-draw logo with updated scanlines
showLogoOnDisplay();
// Update character image display with animated scanlines if Button 1 is showing character
if (button1StatM
e === true && displayImageMesh && displayImageMesh.visible && displayBackgroundMesh && displayBackgroundMesh.visible) {
// Update background canvas (display-sized, 512x512) - black background + scanlines
if (window.characterBackgroundCanvas && window.characterBackgroundCtx) {
const bgCanvas = window.characterBackgroundCanvas;
const bgCtx = window.characterBackgroundCtx;
// Redraw black background
bgCtx.fillStyleM
bgCtx.fillRect(0, 0, bgCanvas.width, bgCanvas.height);
// Redraw scanlines (animated)
drawScanlines(bgCtx, bgCanvas.width, bgCanvas.height, scanlineOffset);
// Update texture
if (displayBackgroundMesh.material.map && displayBackgroundMesh.material.map.canvas === bgCanvas) {
displayBackgroundMesh.material.map.needsUpdate = true;
// ALWAYS update scanlineOffset for all displays (not just startup)
scanlineOffset += 0.5;
if (scanlineOffset > 15) scanlineOffset = 0;
// Auto rotation
const timeSinceInteraction = Date.now() - lastInteractionTime;
if (!isDragging && timeSinceInteraction > AUTO_ROTATION_PAUSE_TIME) {
autoRotate = true;
if (autoRotate && !isDragging && !controls.isDragging) {
cardGroup.rotation.y += autoRotateSpeed;
// FORCE screen rotation - rotaM
around Y-axis so it faces FORWARD
// (Currently it faces backward, which is why it looks correct from the back!)
if (screenMesh) {
screenMesh.rotation.x = 0;
screenMesh.rotation.y = 0; // No rotation - texture flipY handles correct orientation
screenMesh.rotation.z = 0;
// Update day/night cycle
if (dayNightCycle) {
const elapsed = (Date.now() - dayNightStartTime) / 1000; // Elapsed time in seconds
dayNightTime = (elapsed % DAY_DURATION) M
/ DAY_DURATION; // 0 to 1 cycle
// Calculate background color based on time of day
// 0.0 = midnight (night - dark blue)
// 0.25 = dawn (transition)
// 0.5 = noon (day - orange)
// 0.75 = dusk (transition)
// 1.0 = midnight (night - dark blue)
let r, g, b;
if (dayNightTime < 0.25) {
// Night to dawn (0.0 to 0.25)
const t = dayNightTime / 0.25; // 0 to 1
// Dark blue (0x1a1a3e) to orange (0xff6600)
r = Math.floor(26 + (255 - 26) * t);
g = Math.floor(26 + (102 - 26) * t);
b = Math.floor(62 + (0 - 62) * t);
} else if (dayNightTime < 0.5) {
// Dawn to day (0.25 to 0.5)
const t = (dayNightTime - 0.25) / 0.25; // 0 to 1
// Orange (0xff6600) - full day
r = 255;
g = 102;
} else if (dayNightTime < 0.75) {
// Day to dusk (0.5 to 0.75)
const t = (dayNightTime - 0.5) /M
// Orange (0xff6600) to dark blue (0x1a1a3e)
r = Math.floor(255 - (255 - 26) * t);
g = Math.floor(102 - (102 - 26) * t);
b = Math.floor(0 + (62 - 0) * t);
// Dusk to night (0.75 to 1.0)
// Dark blue (0x1a1a3e) - full night
scene.background = new THREE.Color(r / 255, g / 255, b / 255);
controls.update();
derer.render(scene, camera);
// Handle Window Resize
window.addEventListener('resize', () => {
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize(window.innerWidth, window.innerHeight);
// Fire animation disabled - using simple orange background instead
// startFireAnimation();
// Update Circuit Layer Image
function updateCircuitLayer(imageUrl) {
const loader = new THREE.TextureLoader();
mageUrl, (texture) => {
console.log('
Loading your circuit image...', imageUrl);
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.flipY = false;
// Make sure texture covers entire card (no repeating)
texture.wrapS = THREE.ClampToEdgeWrapping;
texture.wrapT = THREE.ClampToEdgeWrapping;
// Scale texture to fit card dimensions - full size
texture.repeat.set(1, 1);
texture.offset.set(0, 0);
// Set material properties for full coverage - NO REPEATING
texture.wrapS = THREE.ClampToEdgeWrapping;
texture.wrapT = THREE.ClampToEdgeWrapping;
texture.repeat.set(1, 1);
texture.offset.set(0, 0);
// Set texture on the single material in the middle
circuitLayerMaterial.map = texture;
// Use the same texture as emissiveMap - only non-black areas will glow
circuitLayerMaterial.emissiveMap = texture;
circuitLayerMaterial.M
opacity = 1.0; // 100% deckend
// Set initial emissive intensity so it's visible even when not powered
circuitLayerMaterial.emissiveIntensity = 0.2; // Subtle glow when off
circuitLayerMaterial.needsUpdate = true;
// Force update on the mesh
if (circuitLayer) {
circuitLayer.material = circuitLayerMaterial;
circuitLayer.material.needsUpdate = true;
circuitLayer.visible = true;
console.log('
Circuit Layer mesh is vM
isible:', circuitLayer.visible);
console.log('
Circuit Layer position:', circuitLayer.position);
console.log('
Your circuit image is now displayed at FULL card size!');
console.log('Texture size:', texture.image ? texture.image.width + 'x' + texture.image.height : 'loaded');
console.log('Card dimensions:', CARD_WIDTH, 'x', CARD_HEIGHT, 'units');
console.log('
Circuit Layer Material map:', circuitLayerMaterial.map ? 'SEM
console.log('
Circuit Layer Material emissiveMap:', circuitLayerMaterial.emissiveMap ? 'SET' : 'NOT SET');
}, undefined, function(error) {
console.error('
Error loading circuit image:', error);
// Update Circuit Layer 2 Image (effekt.PNG) - also updates Layer 3
function updateCircuitLayer2(imageUrl) {
const loader = new THREE.TextureLoader();
loader.load(imageUrl, (texture) => {
console.log('
Loading Circuit Layer 2 image (effektM
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.flipY = false;
texture.wrapS = THREE.ClampToEdgeWrapping;
texture.wrapT = THREE.ClampToEdgeWrapping;
texture.repeat.set(1, 1);
texture.offset.set(0, 0);
// Update Circuit Layer 2 (front)
if (circuitLayer2 && circuitLayer2.material) {
circuitLayer2.material.map = texture;
// Use the same texture as emissiveMaM
p - only non-black areas will glow
circuitLayer2.material.emissiveMap = texture;
// Use texture alpha channel for transparency
circuitLayer2.material.alphaMap = texture; // Use texture alpha for transparency
circuitLayer2.material.transparent = true; // Enable transparency
circuitLayer2.material.emissiveIntensity = 0.05; // Much dimmer when off // Subtle glow when off
circuitLayer2.material.needsUpdate = true;
circuitLayer2.mesh.matM
erial = circuitLayer2.material;
circuitLayer2.mesh.material.needsUpdate = true;
circuitLayer2.mesh.visible = true;
console.log('
Circuit Layer 2 mesh updated - visible:', circuitLayer2.mesh.visible);
console.log('
Circuit Layer 2 position:', circuitLayer2.mesh.position);
console.log('
Circuit Layer 2 material map:', circuitLayer2.material.map ? 'SET' : 'NOT SET');
console.log('
Circuit Layer 2 material eM
missiveMap:', circuitLayer2.material.emissiveMap ? 'SET' : 'NOT SET');
console.log('
Circuit Layer 2 material emissiveIntensity:', circuitLayer2.material.emissiveIntensity);
console.log('
Circuit Layer 2 (effekt) image loaded successfully with GLOW!');
console.log('Texture size:', texture.image ? texture.image.width + 'x' + texture.image.height : 'loaded');
console.error('
Circuit Layer 2 is NULL!');
// Also update Circuit Layer 3 (back) with the same texture
if (circuitLayer3 && circuitLayer3.material) {
// Create a copy of the texture for layer 3
const texture3 = texture.clone();
texture3.needsUpdate = true;
circuitLayer3.material.map = texture3;
circuitLayer3.material.emissiveMap = texture3;
circuitLayer3.material.alphaMap = texture3;
circuitLayer3.material.transparent = true;
tLayer3.material.emissiveIntensity = 0.05; // Much dimmer when off
circuitLayer3.material.needsUpdate = true;
circuitLayer3.mesh.material = circuitLayer3.material;
circuitLayer3.mesh.material.needsUpdate = true;
circuitLayer3.mesh.visible = true;
console.log('
Circuit Layer 3 (back effekt) image loaded successfully!');
console.log('
Circuit Layer 3 position:', circuitLayer3.mesh.position);
Circuit Layer 3 is NULL!');
}, undefined, function(error) {
console.error('
Error loading Circuit Layer 2 image:', error);
// Image Input Handler
document.getElementById('image-input').addEventListener('change', (e) => {
const files = Array.from(e.target.files);
files.forEach((file, index) => {
if (index < 4 && file.type.startsWith('image/')) {
const reader = new FileReader();
reader.onload = (event) => {
updateScreenImage(event.target.result, index);
reader.readAsDataURL(file);
console.log(`Loaded ${files.length} image(s)`);
// Auto-load Circuit Layer image on page load
window.addEventListener('DOMContentLoaded', () => {
// Load circuit image from Ordinals
const circuitOrdinalId = '3a6f58e45daadea8e423f7abcaae57e887dc2d0dfcf7273b7bdc69c128381246i0';
Circuit Layer loading from Ordinals:', circuitOrdinalId);
lContent(circuitOrdinalId, (dataUrl) => {
if (dataUrl) {
updateCircuitLayer(dataUrl);
console.error('
Failed to load circuit image from Ordinals');
// Fallback to base64 if available
if (typeof CIRCUIT_LAYER_BASE64 !== 'undefined') {
console.log('
Circuit Layer loading from embedded base64 (fallback)');
updateCircuitLayer(CIRCUIT_LAYER_BASE64);
se64 if Ordinals fails
if (typeof CIRCUIT_LAYER_BASE64 !== 'undefined') {
console.log('
Circuit Layer (Unbenanntes_Projekt (19).PNG) loading from embedded base64');
// updateCircuitLayer(CIRCUIT_LAYER_BASE64); // Commented out, using Ordinals first
// Fallback: Try to load Circuit Layer image directly
const loader = new THREE.TextureLoader();
loader.load(
'Unbenanntes_Projekt (19).PNG',
function(texture) {
consolM
Circuit Layer (Unbenanntes_Projekt (19).PNG) auto-loaded successfully');
const canvas = document.createElement('canvas');
canvas.width = texture.image.width;
canvas.height = texture.image.height;
const ctx = canvas.getContext('2d');
ctx.drawImage(texture.image, 0, 0);
const dataUrl = canvas.toDataURL('image/png');
updateCircuitLayer(dataUrl);
undefined,
console.log('
Could not auto-load Circuit Layer image:', error);
console.log('
Please ensure "Unbenanntes_Projekt (19).PNG" is in the same folder');
// Auto-load Circuit Layer images on page load (removed duplicate load handler)
window.addEventListener('load', () => {
// Use THREE.TextureLoader which works better with file:// protocol
const loader = new THREE.TextureLoader();
// Load CircuitM
Layer (middle) - "Unbenanntes_Projekt (19).PNG"
setTimeout(() => {
loader.load(
'Unbenanntes_Projekt (19).PNG',
function(texture) {
console.log('
Circuit Layer (Unbenanntes_Projekt (19).PNG) loaded successfully');
// Convert texture to data URL for updateCircuitLayer
const canvas = document.createElement('canvas');
canvas.width = texture.image.width;
canvas.height = texture.image.height;
const ctx = canvas.getContext('2d');
ctx.drawImage(texture.image, 0, 0);
const dataUrl = canvas.toDataURL('image/png');
updateCircuitLayer(dataUrl);
undefined,
function(error) {
console.log('
Unbenanntes_Projekt (19).PNG not found - trying alternative methods');
// Removed: fetch() calls not allowed in Ordinals environment
console.log('
onment, images must be loaded via /content/ paths');
// Load Circuit Layer 2 (effekt) - "effekt.PNG"
loader.load(
'effekt.PNG',
function(texture) {
console.log('
Circuit Layer 2 (effekt.PNG) loaded successfully');
// Convert texture to data URL for updateCircuitLayer2
const canvas = document.createElement('canvas');
canvas.width = texture.image.width;
canvaM
s.height = texture.image.height;
const ctx = canvas.getContext('2d');
ctx.drawImage(texture.image, 0, 0);
const dataUrl = canvas.toDataURL('image/png');
updateCircuitLayer2(dataUrl);
undefined,
function(error) {
console.log('
effekt.PNG not found - trying alternative methods');
// Try lowercase
loader.load(
'effekt.png',
function(texture) {
console.log('
Circuit Layer 2 (effekt.png) loaded successfully');
const canvas = document.createElement('canvas');
canvas.width = texture.image.width;
canvas.height = texture.image.height;
const ctx = canvas.getContext('2d');
ctx.drawImage(texture.image, 0, 0);
const dataUrl = canvas.toDataURL('image/png');
updateCircuitLayer2(dataUrl);
},
undefined,
function(error2) {
// Removed: fetch() calls not allowed in Ordinals environment
console.log('
In Ordinals environment, images must be loaded via /content/ paths');
}
// Auto-load Circuit Layer 2 (effekt) image on page load
window.addEventListener('DOMContentLoaded'M
// Load effekt image from Ordinals
const effektOrdinalId = '7a28581b56a186cbc710648ab257d301822c585a579a5d46b9f315a2ee8da5cfi0';
Circuit Layer 2 (effekt) loading from Ordinals:', effektOrdinalId);
fetchOrdinalContent(effektOrdinalId, (dataUrl) => {
if (dataUrl) {
updateCircuitLayer2(dataUrl);
console.error('
Failed to load effekt image from Ordinals');
// Fallback to base64 if available
if (typeof EFFEKT_LAYER_BASE64 !== 'undefined') {
console.log('
Circuit Layer 2 (effekt.PNG) loading from embedded base64 (fallback)');
updateCircuitLayer2(EFFEKT_LAYER_BASE64);
// Fallback: Try to load Effekt Layer image directly
const loader = new THREE.TextureLoader();
loader.load(
'effekt.PNG',
function(texture) {
console.log('
Circuit Layer 2 (effekt.PNG) auto-loaded successfully');
conM
st canvas = document.createElement('canvas');
canvas.width = texture.image.width;
canvas.height = texture.image.height;
const ctx = canvas.getContext('2d');
ctx.drawImage(texture.image, 0, 0);
const dataUrl = canvas.toDataURL('image/png');
updateCircuitLayer2(dataUrl);
undefined,
function(error) {
// Try lowercase
loader.load(
'effM
function(texture) {
console.log('
Circuit Layer 2 (effekt.png) auto-loaded successfully');
const canvas = document.createElement('canvas');
canvas.width = texture.image.width;
canvas.height = texture.image.height;
const ctx = canvas.getContext('2d');
ctx.drawImage(texture.image, 0, 0);
const dataUrl = canvas.toDatM
updateCircuitLayer2(dataUrl);
},
undefined,
function(error2) {
console.log('
Could not auto-load Effekt Layer image:', error2);
console.log('
Please ensure "effekt.PNG" is in the same folder');
}
// Circuit Layer Input Handler
const circuitInput = document.getElementById('M
circuitInput.addEventListener('change', (e) => {
const file = e.target.files[0];
if (file && file.type.startsWith('image/')) {
const reader = new FileReader();
reader.onload = (event) => {
updateCircuitLayer(event.target.result);
console.log('
Circuit layer image loaded from file input');
reader.readAsDataURL(file);
// In Ordinals environment, M
images are loaded via /content/ paths
// Removed: Code that tried to load from http:// or https://
// Images must be loaded via fetchOrdinalContent() using Ordinals IDs
if (false) { // Disabled - Ordinals uses /content/ paths only
// Wait a bit for the scene to be ready
setTimeout(() => {
const circuitLoader = new THREE.TextureLoader();
circuitLoader.load(
'Unbenanntes_Projekt (19).PNG',
function(texture) {
consoM
Circuit layer image loaded successfully from server');
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.flipY = false;
texture.wrapS = THREE.ClampToEdgeWrapping;
texture.wrapT = THREE.ClampToEdgeWrapping;
texture.repeat.set(1, 1);
texture.offset.set(0, 0);
// Set the texture on the mM
aterial - NO REPEATING, full card coverage
texture.wrapS = THREE.ClampToEdgeWrapping;
texture.wrapT = THREE.ClampToEdgeWrapping;
texture.repeat.set(1, 1); // NO repeating - one image fills entire card
texture.offset.set(0, 0);
// Set texture on the single material in the middle
circuitLayerMaterial.map = texture;
// Use the same texture as emissiveMap - onlM
y non-black areas will glow
circuitLayerMaterial.emissiveMap = texture;
circuitLayerMaterial.opacity = 1.0; // 100% deckend
circuitLayerMaterial.needsUpdate = true;
// Force update on the mesh
if (circuitLayer) {
circuitLayer.material = circuitLayerMaterial;
circuitLayer.material.needsUpdate = true;
circuitLayer.visible = truM
}
console.log('
Your circuit image is now displayed at full card size!');
console.log('Texture:', texture.image ? texture.image.width + 'x' + texture.image.height : 'loaded');
console.log('Card size:', CARD_WIDTH, 'x', CARD_HEIGHT);
function(progress) {
console.log('Loading circuit image...', progress);
function(errorM
console.error('
Unbenanntes_Projekt (19).PNG not found on server!', error);
console.log('Please use the file input below to load your circuit image');
console.log('Running on file:// - circuit image will be auto-loaded via fetch');
// Close the initApp function and call it when DOM is ready
} // End of initApp function
// Start the app when DOM is ready and Three.js is loaded
nitApp() will be called from the Three.js loader above
// This is a fallback in case Three.js loader doesn't work
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', function() {
function waitForThree() {
if (typeof THREE !== 'undefined' && THREE.OrbitControls && typeof initApp === 'function') {
initApp();
} else {
setTimeout(waitForThree, 50);
waitForThree();
unction waitForThree() {
if (typeof THREE !== 'undefined' && THREE.OrbitControls && typeof initApp === 'function') {
initApp();
setTimeout(waitForThree, 50);
"TEDTEDTEDT^%DUETUETTETUETUETUETUETUEX
Tububububu"u"ubububu`ubu"ubububu"ub+`ububu`ubu"u+
33333333336S36S3eeeee6VS6VVSeeee333333
8=dGs3ee36VSe6VS3333333333:t
33333336S3333336S3333333
5W5W5W5W5W5W5W5W5W5W5W5W5W5W5W5W5W5W5W5W5W5W5W/X
=i/Foundry USA Pool #dropgold/
FjDOUT:F2B2A9D7BA663DBB45BC472E0DF1E6F4DF8D16B3A5989FBCD8AFCCC94B0E6CA8
FjDOUT:F8F0EE69ACBB931CEA63E0576AEF5C5808E55902E9D6890EA4F9FAF97180C902
FjDOUT:1A5B7EA97C4D9E46FA15F154EF6647B69F96275B922D71E7443ACF7EEC51D729
6j4j29:to:USDT(TRON):TYruyG1QMGPyE7rnXSfhsDzTbd667jy4XHq:
=j;XmL:to:USDT(BSC):0x4Aa955AF2FF6c610B9d5BeAfAcFa7bc00DEf7453
OjLL0x88d06738c507615e8c78c9e31e524b1e2122cfc7d0afe2763931422296dad4d1=|lifim
QjLN=:BSC.USDT:0x0a6d137a46a1a6690386d34aec603bb283144028:232258200/1/0:-_/t1:0/70R
[?[?{?{?{?k?{?[?K?K?K
K?k?k?c?c?C?S?S?s?s?C?C?c?c?c?C?C?{7
eVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY[
m:5m:5m:1m:5m:5m:5m:5m:5m:5m:5m:9m:5mz5mz5mz9mz9mz9mz9mz9mz9mz9m
FjDOUT:B0112222C0A398A2ECDA99EF623FC22E67EC3BB9F388036AE59B2C5B4C95805B
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"210000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"210000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"210000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"210000"}h!
yyyyyyyyyyyyyyyyyyyy
EdVEfVefVefVefVefVEfVEdVefVedVedVefVNN
FjDOUT:3FC06A7C8E4EEB32B7037B9A4FD6C2B43BB163E50775447ECC94186E97FABC15
FjDOUT:BE2C1151CFB8994CB5EB7E294430BE30376E592B0F23FF4EC3C5E99EBACA0B34
FjDOUT:BBE1CD189B5F660B0D117C8E9E80ED6E97CD6B86694A8CDCD574420A1F7AA0EF
FjDOUT:B7C60483D9D603AC1E0085861CE889FE00DC8848CFC599EF546D8183940F400E
FjDOUT:79F6F5156AD1495B8278019629C403CA28970F87A11E00E0A7E9A3FBB32C472D
FjDOUT:54523B7011CAAEF2D54F8457BC8AD44DA11EA5E77A536DDDC69387AD3E03E4CC
FjDOUT:99EE2A93999587BA531619943343A1D2D8F86A028C9C587AA92B0AFE03DEEA6E
FjDOUT:D103394714FB33D7D42BBB915A3236EEEDDC3ACE0D704EFE48D48C7FB211240E
FjDOUT:5D36BF6B58812748FBC41DDA8556D160F9FA030CF6C2B384FBEFE9AA5EE1AEF6
FjDOUT:8ABC0DE27744B8B50C751681534C2C17A6EAD46B3CC4312455793EA6A66E1912
FjDOUT:2C87D323F0951F243332F09EB33797E28A13C7418C0201ABCBA138972F507D24
FjDOUT:ECD76057BC268A88C4CFED07BEA690A7B645B86004C02B737406A3D55A92064A
FjDOUT:BB8C025984E6F253C07F415D1F33078D30D7267264F9ABBAEB28E684C4A9EFFD
FjDOUT:E782F79862609EABB616F1EE99F0A9CD14411CA53016B85AF67104355B395BE7
FjDOUT:ED56332B80DB4AB32722665CEA70203341424262A1395615A3462F272F86BA75
FjDOUT:7A7F9AE025970731D03B6DFCC05A13C9ACF65B638AA1664BF828C769A8CDD868
FjDOUT:6540180EA96F77D74E9E872487A405E6979118B5BCB7E0C87E5399846852FE46
FjDOUT:C22AFD0E0D187FC9C7B5B4C9A37D49BC649741CD5EC47121BCE729AEAB2EE704
FjDOUT:CCCF070EC1CF2FF28455B96A322FC2D196E4C4F90C75631CBFC667323B93ACCD
FjDOUT:B0C913522EFB1A43F048145CC705945F2FB6C562BFE646E1A2E90D5F6BDEEF8B
FjDOUT:52A2F6F61DF68D393B5FE2E78B85B3712B05BA14C305D445486FEA8C6845EED3
FjDOUT:0BCF74C63A06D429FFC9DD0488FF44F167B50374FF8D9D8A246109CC8E639C89
FjDOUT:726A3F4B4C89002772C535B8BAA82C11B8F2392DE727EA18673508AF1A27EE52
FjDOUT:D23246D8CCA03518CD6484E99E697556D3595683DCC66822C255CC60733F1E4F
FjDOUT:9482429FD28B9E837CCD43CF1AC39DB40357AE0FDD353E593E73B08EE23CC9B2
FjDOUT:3DD4230711D47AC9E13A31E008B472995F2A62629E8BE0A7A56AEB7F0307BA3F
FjDOUT:64F42E6CDCF78A63F80A77C2285DEC715B4133A476CD33C195B15B0D5537E6CF
6j4kvE:to:USDT(TRON):TYPoS4k4FnogvZxdTF5vtAqKn7AXwqzyMc
=j;ZkL:to:USDT(BSC):0xe7D626e4f6557A9969dFb6A6A9cFEe8933E79268
6j4bZ0:to:USDT(TRON):TPy9wa5bsg1fhe7sXwFmiYsYgdXFBkWFeM
6j4YZr:to:USDT(TRON):TAoJyxghjSn7He9KoE37efpASLNLhB1hnm
6j40tN:to:USDT(TRON):TEvcCQFkdeChWoip4RVyJUb4nffvx4yB1B
OjLL0x9d201f405d1d9c994e982981b8d35da2ff23465ad5eaa6c1c9e2017ef5440172=|lifi
FjDOUT:488B591EB4B113914DB228E33A12362511DEC15EE6C38BEF8334071F2FA83F1E
FjDOUT:C30CD3C030CBB0E642FBBA5DD5E7D984B97B102D4884F1A27C7920EB95A2BF1F
DjB0x7f09cd097884112e6ae0a6c7b0422c0a9628a22bac659c9ed51d1dceaa49069d
LjJ=:ETH.USDT:0x656d6Ff2D48D229e790b8516B81a615358AAB63c:409424700:-_/t1:0/70
DjB0xcc252000006ab37e1af81749292fc004215d4d2174694e7ec1caca03a17f10eb
DjB0x51d7a8518af7f2cafcb0a5621481ab9f3da3f97eed916aa77b037f78f1c7f8ef
DjB0x738b59c93bae8eccaf350f735ab95332afd08b8d4897577deb5c46deedc88b6e
DjB0x481e3b58eb0d03cffa1fa545b6ac551b528655bae75555e6643258f00865dbdc
DjB0x5345e4be935b5fbdab801fe69f8c3e9a4e6a9ec6d174c4f612669693494290fe
OjLL0x8b488120eb67fee939d4f95d4ad365629c454b15820f139cf7813755d8eb598e=|lifi
OjLL0x668464cf1d9b88a425bfc3184ac89461c71c9a6f064288ee38fef47d3396337e=|lifit
OjLL0x1cdea0495e361f0aafc9973cc4e0655b11d2ac6f58edf9c7d501e3dfa2986a6f=|lifi 4w
OjLL0xdcd51d70b7a1b480b2c8b01cd30021f285687320ba8bf7f907832774e851aab9=|lifi
DjB0x8088914181a8a605917b89b9623dbd1bb6e6535bd75e6e6ea76d6e89135cd675
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuypbTZkdG29QKWnpl03glyWXoxbLXyIC85AaDqLdNhBXlP8eAf8fAUD/HgEcMJCY7d08MTTzK6NXIRLfAIIPNbJL3b+0eIpPOMdNVC//H1X/HgGA/x4C/yAB/x4iCf8fAf8WF7eIPAaRZv8iQTDy3S5uGOFsv2lvqxtPd1W3UtozA7mCj7Rcv2rizOhgPnKqIsUDe4+b4+tWW7WhJwjXnkObQAkExPjNuS6PuVoc/z5CAUCYV9XHoDehrHc0jOnLKVZksoLzZEraVC2HqTt6t1+X1vXThn4p7AHG/wHzl/Fvq5yQnL6fVJ07hIHYD/m1R3zj8P8e"}h!
LjJ=:BSC.USDT:0xdE91DC0b0DF07AdeD3161C1936A4924Bae08fc23:460134001:-_/t1:0/70
Bj@=:s:0x63e9B664D9062B7e28Dd5a22C12fF6457873fBC3:106151:-_/t1:0/70
FjD=:s:0xAf9c71CdAC9E0249252d42a38200593E2680Ae60:128077/1/0:-_/t1:0/70P
DjB0xf904030208dc52f6989b747c11a41ce46bdd595365bc7ed0192c403ad2ff0fe3
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuyo9qnuQmpQalhJqeBGws/DA8XUyrODOJ6Cq8uuE2NllOv8eAf8fAUD/H4P5Oz2Jx7zycGzcjScrUlSM2Y06kTeinBM2pr04WiHFZf8fVf8eAYD/HgL/IAH/HiI6/x8B/xYGCEiKkWfIvP8hQSZkU5mjfH6F69ghsbWNsSrwFXSQWNTipyZlwG1BrYKVO42zOeFkUwz5OvenTXJOttIEr5U78GZmhrMQMQItrKkb/z5CAUDCJ2namKkpYtGbOazrC2FXEy5BegTqoI965NJWba0aaBoqxJlJ3vLXMzssb2tOpKFIJ3D3o6s39bn09sS95/8BVP8e"}h!
DjB0xcd1d461016e48c2599433733faedce143a52c656e8b12f8074c48743017b90f1
<script data-id="84" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="630" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="599" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="496" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="1874" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="1378" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="1999" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="1954" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="2074" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="2082" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
3j1to:ETH:0xC79EaC9F1f2a6853152A967B3306bc994590e539
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"300"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"190"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"300"}h!
=j;=:ETH.USDC:0xA3FF019B837bB9c40101Eb98b3d8771321F61E6F:0/1/0
IjG=:ETH.USDT:0xdA0cd1c8bD6d12C5f34219c4ccA372044dB9CD29:0/1/0:hrz_ios:100
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"200"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"300"}h!
FjDOUT:376F97F3CC619C9617810D498DB4107BF5A2A02D07CB2C6E99675C9CF65981D2
FjDOUT:2D881C26EE2F21D0A8D2A4960DEB1E80B18973E3E1BC9BE700E7E79870EF0B4D
FjDOUT:DA22C7A9306A5EC88A13B77189ED49FBD5FC96562F68E5F8676E0F5681FAFDE5
FjDOUT:4AC26DB24520790BF66B681BBB6826AF3EFC35CB4D9BC9686B327B1B0E9F6A0C
FjDOUT:5C943305FEA0D7950DDB73FE6DAE6A01694F12A5F69B43FA655FD9F16779116D
FjDOUT:C5439DE273710ABD01B246B1E80AA6204F0F0D944C016ED5A427FC78E350F1F3
6j4T6f:to:USDT(TRON):TACrBHtPjW1hFiZ8jCcQE7wdQmxJKnnDPE
8j6Bk2:to:USDC:0x39CC34E586e084d1356d5E9CFc494b3d3a3E5B59
=j;XNM:to:TON:UQBjAtqANfH8_WqDFuvBDZIPpvA4SvFbZohUMJOEOLd8r4Th)
6j4aV6:to:USDT(TRON):TEvcCQFkdeChWoip4RVyJUb4nffvx4yB1B
7j5abS:to:ETH:0x148E606Ed49eC8e7a25dD63A0E69292cCAa7720ek
7j5uUF:to:ETH:0x148E606Ed49eC8e7a25dD63A0E69292cCAa7720e
FjDOUT:EF8559903D3B9932B582DD01483B01256C4CD820BE60D1CF77B0B21E120A48B8
FjDOUT:0CF15BE4856578E3530A03A28179FF0AB4AE92ABFF918967BCBC72A62F08EFE2
FjDOUT:7DAFECEA3725ABBEF85A9182221C68E28D02325B2EF67C223683AA86A6858E32
FjDOUT:5A728F7CBA8C361AEDF8DA6BAD4DA1B1F3626303E93BC9122DEFFD132AE1339D
IjGREFUND:D36CED0F99A55C1AC7A0B9C30968AD64F7C420947E060376193EB44D1B97A672
FjDOUT:568C6522EB8D112AC5F0F646081E57FA3A3CB2D15E5D2C1D22C8C6D859CE39C5
:j8=:e:0xDe0C164b962D89AA0Bf080621538af6F375cceB4:315538071
?j=51p:to:USDT(ERC20):0xfdc9375643ae5E448DE89f5AeFC957d26cF7Ec48
FjDOUT:E14EE9BCE95628B14426B41E2692BC253B70A7197FF2F6FF4B8D886F306029E0
FjDOUT:4BC0443DA28CA05B9FA411D26C93D70BFA2C2EA54FE9EFE24325E4873C85E45E
FjDOUT:FFDF01D3F25001D08CB05708DF76BBF81F801F9B2408FC6CEB590125E9E6C4AE
FjDOUT:766BF199AABA7DF3E5C79C89B472232393E5A0EDD7DCCC2EE749CCA57870E65B
FjDOUT:4E407239FB563EFAF39C60E3935FFDCF4E7CB5A9C7923F34E440B9DBC2754F1B
<j:=:c:qzhsnvdt7zw76sv95xea0svf0wnu4fl2vvm603vgj4:0/1/1:ej:75
6j4WLs:to:USDT(TRON):TAHnVs7Bd9UpAFk3R5JkVAHaMNH3HWJ8n3
OjLL0xf98e40cbf104053c19bb8a718b3ff8c2383795171c808569672d9030f87f1706=|lifi,
DjB0x3fb64c72c8a51739970429d90834735759dcdad3eb787fc51624d4e3a7ea510b
DjB0xcf86dbb547aa20b0b0d62aa04b138845701ffaab3587367629e057eadb9e33ec
OjLL0xdbd3563662e7a28f23dac6b3ce02509fed93bb65586a6f4f113e8d5e1a8a37f2=|lifi
L_{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AUGLw8X/HiI1"}h!
DjB0xb93f6fdccc9a6050e412ef17b5e5e6eb9721092628938b7616c1dc5325ae08e0
OjLL0x3e4aacd4da75a20e29685b9e6bed1ebc8e9da79aa484fbbf8c259de83b939535=|lifix
DjB0xf9aa75ad2d5079df9d988c1f1523d8c2abd4c65bddcdfd5b13c4c487b0572737
Aj?=:e:0x853ad5f88C295C46982Fdf6df1cC576A6269dF85:24281:-_/t1:0/70
QjLN=:BSC.USDT:0xf1f0E6d0aBC08167D767dfBe6AF8dC267B9D6241:829687268/1/0:-_/t1:0/70E
Bj@=:s:0x6BEB328F8eDb85A3B03fefe77D357b3a89285B84:925947:-_/t1:0/70^%
FjD=:s:0x9b49C7Bb2b4e6d18DbEc288EAC7fe3ADCc1b7ae4:940074/1/0:-_/t1:0/70
2j0to:USDT(TRON):TRRqwBGDJawzPtTwPp6ogem6qa71iiMPdy\
2j0to:USDT(TRON):TZGknU7K3Vupqb1DUn6PzwcKqTnktWLDic\
2j0to:USDT(TRON):TZDfCDowJvyY3Q5uaz9yjLdxYj9Lq1tfE2
DjB0xd2097b994268ceaef450bddef4a11aaa15d5546649a4bee9907f9e23de60ca3c
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2176"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1800"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
belosangeles.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
bemiamibeach.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
bebuenosaires.bitmaph!
text/plain;charset=utf-8
benewyorkcity.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
beindonesia.bitmaph!
text/plain;charset=utf-8
bebangladesh.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
beargentina.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
bephilippines.bitmaph!
gVersiondr163kDescriptionx~Loads and parses SVG files, converting vector paths into shapes and geometries that can be rendered and extruded in 3D scenes.
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
Mined by Secpool
>j<from:200USDT(BSC):0x90118B508592E54163a401d28813A9c20B8d78322 4
2j0to:USDT(TRON):THqfKpBBuQNR4ju7pBqp68uBBFuC8rSaTB
6j4eNo:to:USDT(TRON):TPUUNGwSqaGHzBYZHr7yNuXUct6JfJB9jm
?j=Xhb:to:USDT(ERC20):0x2D1Cb2F0F8EDa3E6aAb6407e338865C466287cBf
6j4VDL:to:USDT(TRON):TL2b9myDsDyBBxhfzVhQjKNPwzJdkoZmTC
FjDOUT:CDAFDCEC67208CED8DBE6205650C961E3AC0CC7D119ECB4D53B53F985D11F75B
FjDOUT:43B9749A8B9B209C5A1BF32AE964175E54E3E69B56D674908EAB23CF5CBE36E3
FjDOUT:7852CA6EF65D1C7520BB65ECEA05941FD14FAAB7D69BDF26A5D2E0FF4D5ECA70
FjDOUT:99617D6ABC881B442DACC4F6D3DA1E99E3BA62D073E53F5F7E596083F5ECC893
FjD=:TRON.USDT:TQPqAeQmMzRvGM3nmrSgRQJSgBFcTiporJ:203826007188/1/0:ns:8|
FjDOUT:D33EC25927BDD5F3BB4BB2BC18A36AB6740AF9D38545EBB87E1E1E369E6CCEEF
OjLL0x9869e44ffe242296ae5c93a50bb1cdf556722f5135abb8a36e879a68b4c32db3=|lifiGX
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DEqo6cptkOLke0QzaqRyWJQzLBsW/xYDLSbRLpgLYP8fAdTA/x+A/x8+YmMxcDNtajQ4cHBtdzdxZXprcWVqbHM4ZDBxaGpzcWpleDBnY3dqOXR2eDRnY3ludG50eGNwbXFhZms3ZzgAAA"}h!
DjB0xd7b7465a42f34be318b7a367e4043a66d8ecb158a45aa0f1e1bcc2c2a00a0bd3
DjB0xf595eaffecbeb20ee42403d49c6def9554b5d1830f861f5adb31bd5c957bbd13
DjB0x6938ee1159c182c938ab0f3015902ab5b48592eadabd652ae9a148d46f28939d
DjB0x47c1878f802c2f15e5c974c5478875961ce6c1cd1f87dd840e4231df7329145d
DjB0x730962da99f82ae342ff778fe479b82e5fa913c9e3451fd9e613bc6930a54ef4
DjB0x4c2c58e61f15b010977f8922b5e35ffb72a6b88f43817bb069648e5daf3ebd20
DjB0x20bad3282266963c7a066cf8e950b24ff960ccd4500ba324131300d39910199b
DjB0x412f1f31a8d20f63b39e6c77cf1ff2981e28777958359259f96c384aec127a04
6iwqaif7mhiz4d3v82trag31
6jvq7ekv83kmeevrcogpag50
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"core","amt":"30000"}h!
6hsvkc0prtc9077djhbmau100
6ijpobwqq3cv7zfn58mjau250
6h9nx6pyz2r74e0rpmh4ag1000
6jqy4rc6zg9iedfb0mhoau10
6j32tz99dotdqityypzxau100
6jdebui2jx9k80ehopx3ag100
6ic78rtgk62x0tiv2dteag50
6jhlywu8s82uiqwllftfag100
6gxbo4ngo61o8zqto9taag31
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
6ipqmio79r3npj2ejt4iau20
6k9zngn0gql7253gmw83ag250
7j5XwF:to:ETH:0xA0eF5230e70fb0BD90b9DB8eF300C3F6d6BbB4373
6gs89705thvknlqijf2dau100
6jht43w0ndwpz7860j25ag100
6g718msglq2gzo14pgg9au50
6hlvtt4aipqzcyiym19cag100
6k73vcsn2t38knr5m92jag50
6jgwe4s80hs7x2fk5kvfag100
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"core","amt":"20000"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
,,,,,,,,,,,,,,,,,,,x
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xaac
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'
,W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W(W$W$W$W(W$W$W$W(W$W$W$W$W(W$W$W$W$W$W$W$W(W(W(W(W(W(W(W(W$W$W$W$W$W$W$W$W$W$W$W$W$W$W(W)
vavavavavavavavavavavavc
6j41KS:to:USDT(TRON):TXjLpu3R1rMUoLUYeQpVNkrToYSftTt7tM
OjLL0x4bda946d49121d274551dc60b2fa5f87432800aaf61089915da1dfdbddf8ece7=|lifi4/:i&
CjA=:e:0xdd853fB38b3302F0e05eF9c7c1101Cc68edC4ae4:413078/1/0:hrz:100
6j4uVv:to:USDT(TRON):TSKL4TGA7aoKQUcPcJsssEX7dNUFdcrUX5
6j4qME:to:USDT(TRON):TRMdK4X6Vykn5kVdtZWvRWA1GjyTDT34GR
FjDOUT:E84EE21408FA72AECF7AE093E34D683FB0901D3382936BB7D6B2527AA521E470
DjB0xf3b4f28956638317e518a12b92804f33f4cb54a239abdb601b833731c5f9dbc5
OjLL0x119eecf3509f15699c87eeb1eff69fec11672e6f799c091a9a81f019fe1eb635=|lifif|
OjLL0x20441767d03bfa19a0b2902c5015b279b6886081e8be0ad58fd40fe55b206adb=|lifi
DjB0x617bf02d473f34cc8c15fccace894856c78673b6d7ad6bfc1af585591e6f844f
FjD=:s:0x54825AF22eFa03d32627B4E37cDaD3E9cc100b4f:229843/1/0:-_/t1:0/70
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"2000"}h!
<script data-id="750" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
x:ORDINALS CENTRAL PARK SKETCHED PFP by Viola MissCode #4/33
w"w"wbwbw"w"w"wbwbwQ
fffffvgfvgfvgfvgfvffvfffgfvgffgffgfvf
dfFdfFdfFdfFdfFdfFtfFdfFdfFdfFdfFdfFdfFh
DDDDDDDDDDDDDDDDDDDDDDDDDq
ggggggoooooogooogggggf
]b""""""""""""""""""""""""""""""""""""""""""""""#X
"""""""""""""""""""""""""""""""""""""""?
""""""""""""""""""""90`
=i/Foundry USA Pool #dropgold/
2j0to:USDT(TRON):TD3bkt1miay6Gkh2ujrapm3LjPndPY6J1z
FjDOUT:6A7CEE0DD86D80A60EEDA244CD8D78CC89927BC48859A61FD25F5E96D9E5FF70
FjDOUT:AF4FA77002D281DA71DFCE593FC35BACE177EEAA992E030B9976202A5FA7F4D6
6j4Ugd:to:USDT(TRON):TWjaqFKCFv1r3H79oLsZUgJ9hZnTCWet7S
6j4gBJ:to:USDT(TRON):TYVm2pxA6ixWdnZtSMhPdn7dZHrMEPqjaM
>j<j41:to:USDT(SOL):hqoXpKM7hfZtkdxZviCTtbRzRxXW5yhbY6yeoyyTe8b
?j=6zx:to:USDT(ERC20):0x2C897379cc02Ad0479E5810cB6Fb54bC05949201
2j0to:USDT(TRON):TZDfCDowJvyY3Q5uaz9yjLdxYj9Lq1tfE26
2j0to:USDT(TRON):TZGknU7K3Vupqb1DUn6PzwcKqTnktWLDic
FjDOUT:E145E03CE4943157E921B49A27EA18B969F9A6AEDD7AB73A1B617ED0B793D012
2j0to:USDT(TRON):TRRqwBGDJawzPtTwPp6ogem6qa71iiMPdy
?j=from:43.6TON:UQBkob61vzdLM-RSmzZyeaxAxoFCdo8r_qvDUbJvnXJ2DlIs.
6j41nY:to:USDT(TRON):TDBsaPLsPSmtCeGLYeUg5fWcJR7qEEMSJy
6j41tp:to:USDT(TRON):TU6HE1Ba4WnCdTSQGdU19HwZkqLCp8SHSu
7j51t1:to:ETH:0x148E606Ed49eC8e7a25dD63A0E69292cCAa7720e
DjB0xa912c727acf06ac0ce1dd8c7d475614a2c808bda8578af0a9c70fa1bc6b6414d
DjB0x7c1e77fc112092c38c0ede37db048c894e83f453803e3ad3b26d64ee56d3850c
DjB0x4bf208f3a62a3201d82aae14674707a427816b7646b3085926639f059dc2341f
OjLL0xeba2e8e890ebed6e34db300abf1fd7fcd6bb6528fc9c54475c2c0ef2fec981b9=|lifit<
DjB0x281a7c7566aa135f5f3683c8497de856db9d323c974e694638f525b8f9956fed
OjLL0xfe166c3f58fc7876593b338024bfe59c0a45421cd8da0701f07634e86f3b0cf1=|lifi"n
Aj?=:e:0xbd0B9c071663a24d788AF215013A0C7E016639b0:91094:-_/t1:0/70L
FjD=:s:0x953ACE3Ff2114F511684289A4235575Ff5fCDf83:117128/1/0:-_/t1:0/70
DjB0xc67e3563a05233029a1fd2bfc04d37d07021a12b20e87e7fe7bfbb34b3f60c62
DjB0xbc0aa9ab690a0ae30d793c0251f9c76ccf91c38f4438693d603dfbb96489e2bd
DjB0x6dd72b48a89901d910fa721f6f82f40b942831653a345d16f6b89ed00621557c
DjB0xc055382b71edd2d2d47bb72c1ce292336098df131d62ed586ea460a6856108b8
DjB0xc5772a1b2d6517f70783e521ae9833d6cab5a6da7ff1306a6ce3b9b6ca50a545
text/plain;charset=utf-8
Lsif you created a nat prize challenge please tap the other inscription and send the won nat. would be great. thanks.h!
text/plain;charset=utf-8
{"p":"tap","op":"token-send","items":[{"tick":"dmt-nat","amt":"4800000000000","address":"bc1pg7nwxk3v0rzevsz527ng300fsu3r06x5hms73gmmta3lyzulmnuqfl684e"}]}h!
text/plain;charset=utf-8
Lsif you created a nat prize challenge please tap the other inscription and send the won nat. would be great. thanks.h!
text/plain;charset=utf-8
Lsif you created a nat prize challenge please tap the other inscription and send the won nat. would be great. thanks.h!
text/plain;charset=utf-8
{"p":"tap","op":"token-send","items":[{"tick":"dmt-nat","amt":"400000000000","address":"bc1pg7nwxk3v0rzevsz527ng300fsu3r06x5hms73gmmta3lyzulmnuqfl684e"}]}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
Lsif you created a nat prize challenge please tap the other inscription and send the won nat. would be great. thanks.h!
text/plain;charset=utf-8
{"p":"tap","op":"token-send","items":[{"tick":"dmt-nat","amt":"300000000000","address":"bc1pg7nwxk3v0rzevsz527ng300fsu3r06x5hms73gmmta3lyzulmnuqfl684e"}]}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
Lsif you created a nat prize challenge please tap the other inscription and send the won nat. would be great. thanks.h!
text/plain;charset=utf-8
{"p":"tap","op":"token-send","items":[{"tick":"dmt-nat","amt":"500000000000","address":"bc1pg7nwxk3v0rzevsz527ng300fsu3r06x5hms73gmmta3lyzulmnuqfl684e"}]}h!
text/plain;charset=utf-8
{"p":"tap","op":"token-send","items":[{"tick":"dmt-nat","amt":"2000000000000","address":"bc1pg7nwxk3v0rzevsz527ng300fsu3r06x5hms73gmmta3lyzulmnuqfl684e"}]}h!
text/plain;charset=utf-8
Lsif you created a nat prize challenge please tap the other inscription and send the won nat. would be great. thanks.h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTCs","amt":"200"}h!
text/plain;charset=utf-8
{"p":"tap","op":"token-send","items":[{"tick":"dmt-nat","amt":"500000000000","address":"bc1pg7nwxk3v0rzevsz527ng300fsu3r06x5hms73gmmta3lyzulmnuqfl684e"}]}h!
text/plain;charset=utf-8
Lsif you created a nat prize challenge please tap the other inscription and send the won nat. would be great. thanks.h!
text/plain;charset=utf-8
Lsif you created a nat prize challenge please tap the other inscription and send the won nat. would be great. thanks.h!
text/plain;charset=utf-8
{"p":"tap","op":"token-send","items":[{"tick":"dmt-nat","amt":"1100000000000","address":"bc1pg7nwxk3v0rzevsz527ng300fsu3r06x5hms73gmmta3lyzulmnuqfl684e"}]}h!
text/plain;charset=utf-8
{"p":"tap","op":"token-send","items":[{"tick":"dmt-nat","amt":"500000000000","address":"bc1pg7nwxk3v0rzevsz527ng300fsu3r06x5hms73gmmta3lyzulmnuqfl684e"}]}h!
text/plain;charset=utf-8
Lsif you created a nat prize challenge please tap the other inscription and send the won nat. would be great. thanks.h!
text/plain;charset=utf-8
{"p":"tap","op":"token-send","items":[{"tick":"dmt-nat","amt":"1400000000000","address":"bc1pg7nwxk3v0rzevsz527ng300fsu3r06x5hms73gmmta3lyzulmnuqfl684e"}]}h!
x:ORDINALS CENTRAL PARK SKETCHED PFP by Viola MissCode #5/33
=i/Foundry USA Pool #dropgold/
B35d091e6b2f201ce0d945fada06959128ebc1dfaf2f28944511ea8eae30f25d9:0a
FjDOUT:930C6849EA04CE253C96F75FB03E7750CC1FE75C0EAAAC8BAD32C820DE18D2D3
FjDOUT:834DE88E361FD3B6BFBC85148B154A87B74110F5853CABBF40D786773D85B2B9
FjDOUT:87EC7506360CBD442E93C91949D86189273FEDD83328E2A263D9574BD46394DF
6j4r3M:to:USDT(TRON):TMegMmqf9RrsooVb8G2XgiPJZjJjcKpdNb
DjB0x2ba25232ecfc42e7d16c4060c3b45ec1339e6914e79c54d2d4005e82fe185cc0
6j4GZB:to:USDT(TRON):TY9xJsdnGc3ZdhKuURbE9cK8FPDGknh3Gn
OjLL0xe66031dd4151298acbf260c15b2195bb41da9c6a37957eb6f8384a2e7eb2f441=|lifid
QjLN=:ETH.USDT:0x693d4Df09811a688944481a5544bfE0A9C2F9D25:295612800/1/0:-_/t1:0/70
DjB0x1fe600057b5081f986ab5230b92c5b51dd7445a77c3bc79135112d0d9c65ea45
DjB0x195805fe4031ab433ffd3a1036d9c6b56fc7c56689c8a4560ccfb1a003ff1009
DjB0xf8b5bec419bbe82a6f69bbc8e1167e6c3d4cf1b5c3f585e01ebb833fc6b317e2<
DjB0xea0ca29a2111fe102a817e2c229147215d9299900345ff433882c5a083807e45
text/plain;charset=utf-8
templexibalba.bitmaph!
text/plain;charset=utf-8
gizapyramid.bitmaph!
text/plain;charset=utf-8
xibalbagate.bitmaph!
text/plain;charset=utf-8
greatpyramid.bitmaph!
text/plain;charset=utf-8
keopspyramid.bitmaph!
text/plain;charset=utf-8
aztectemple.bitmaph!
text/plain;charset=utf-8
templodelsol.bitmaph!
text/plain;charset=utf-8
mayantemple.bitmaph!
text/plain;charset=utf-8
piramidegiza.bitmaph!
text/plain;charset=utf-8
olmectemple.bitmaph!
text/plain;charset=utf-8
templodequetzalcoatl.bitmaph!
text/plain;charset=utf-8
piramideteotihuacan.bitmaph!
text/plain;charset=utf-8
teotihuacantemple.bitmaph!
text/plain;charset=utf-8
chichenitzapyramid.bitmaph!
text/plain;charset=utf-8
templodelaluna.bitmaph!
text/plain;charset=utf-8
piramidedelsol.bitmaph!
text/plain;charset=utf-8
piramidedelaluna.bitmaph!
text/plain;charset=utf-8
portalxibalba.bitmaph!
text/plain;charset=utf-8
expandedreality.bitmaph!
text/plain;charset=utf-8
xibalbatemple.bitmaph!
text/plain;charset=utf-8
xibalbaportal.bitmaph!
text/plain;charset=utf-8
piramideegipto.bitmaph!
d:F:&:&:f:f:f:f:f:f:f
"#CSB"4""",lb#Lb",b",llb"
33333333336S6Se36VVVVSee3eee6VVVS333333
"""""""#B"""""5"4"4""#CSB
eee6S6VSe6VVVS333e3333:3
"4"""""""444"#B"#CCCy
&\%vJ:J:J:J:J:J:J:JE
FjDOUT:D6AD8CBAD8F8B8A6AF0AF37D4A85A52407882E942661C4696562BE7A702F1516
FjDOUT:138557514FBEA31AF01095E962FEADD754CC9630D883744AEC96D32EC318FFBE
FjDOUT:4C8A6D23245F1613E9850F860807F332D1ECCFF996CC66BE1675E5554ED7A03B
FjDOUT:115115CF6DF99298342A6FDCE3C7FF936EB00016C560AF7CA171E36E971B97F9
FjDOUT:69F67EADC196335FF79AE8D8B1226C4CBBD5BD25837151726A85C555029ED483
6j4apC:to:USDT(TRON):TJrmgJotUhBAGouwnHGeToyLdiJN2Uq4tf
7j5snB:to:ETH:0x8e91a60c5B6c3c73A03a6CBd727c354fD7aAD5f4
7j5MLQ:to:ETH:0x6326c1644DA8fcFDb9A0D9e01bD44447378FA1FE
Bba0ba6e0cd56ba8c8cfd21800b7fb3115ce89cc6575e6989d70ed2b39ca71b8a:0a
6j4wAs:to:USDT(TRON):TQgrnTjVj2QnUuQ8Pw3tBuGf2ew8vNcZsy
6j4Tfm:to:USDT(TRON):TCLF2NRpgDY3bjzxsatGrVm9oLnNxve5LA
6j4oHc:to:USDT(TRON):TVTx4uVcKiLgiwyVR282iZ2C1FeK7kNFEW
6j4EaZ:to:USDT(TRON):TMsSLXDpCFFe7iwTY6FUm3FPnc43V8fhTy
7j5PCz:to:ETH:0x148E606Ed49eC8e7a25dD63A0E69292cCAa7720e
6j4xV8:to:USDT(TRON):TGx18acu7BeaWP8V7omqUptkyFRBmxrozY
?j=Vgy:to:USDT(ERC20):0xD29879289A5cfD89Ea6b2949122AC6eCdE509104y
6j4kvM:to:USDT(TRON):TKT2rgXWp9yQFCFTyyVmb9tKgK9v74XjzV
7j5BzB:to:ETH:0x148E606Ed49eC8e7a25dD63A0E69292cCAa7720eN
DjB0xb8eb91dec47b2958827456887ba3947dcde3e6a23be74fc13169b5b89979f727
6j4hq9:to:USDT(TRON):TBtgRGArG6uovfbu5ugFAmwGYPFM9wd6J9
FjD=:TRON.USDT:TQPqAeQmMzRvGM3nmrSgRQJSgBFcTiporJ:238217505290/1/0:ns:8,
OjLL0x2831ed076f52dfd2f06924b347e609753ae66f2253be883e547384a8f1376c3a=|lifi|s
2j0to:USDT(TRON):TRRqwBGDJawzPtTwPp6ogem6qa71iiMPdy\)
2j0to:USDT(TRON):TZDfCDowJvyY3Q5uaz9yjLdxYj9Lq1tfE2\)
2j0to:USDT(TRON):TZGknU7K3Vupqb1DUn6PzwcKqTnktWLDic\)
OjLL0xf52f64f9c33955d7bd08f0e061d53a3a6927a9e725acc9ddd969f48a5c20d15b=|lifi[
DjB0xae4b222a0e88be0d5938317a2aecd5871a7c3f3c77b42320d7e6238d9b3f23a3
DjB0x939b530126b1ebd9c0a7f4a246e7384d509582f96fe2875e4c472796a8c22cf0
OjLL0x8c03b62643a54304e00f0ba28821324842616a989683bbd5bce7f64c4461bbdb=|lifi
OjLL0xa76717c9820e6d44cdc40e2fc5bc7fd7b3a3f784aa4b55ecd371722b6b66db7e=|lifi
OjLL0xb88b40388e6dbe6b60806094ebaa6e3299c15a9e87764b721135af9ffddc9813=|lifi
DjB0x9b134e34bfb13b82d165cd47ea723dfbfc5c6b28eed8db020f748b0609a0fa99
LjJ=:BSC.USDT:0xDBABCAE58b41a7b1Acf5DaE8eC14Bf465b751d32:832871217:-_/t1:0/70@
MjK=:ETH.USDT:0x9e6e67170F0E94fb21CABa0ce6566f7FccF172BB:1032560700:-_/t1:0/70d.
Bj@=:c:qpde0hhwqg4cdnmdmya4d9sxk68rlqujyylax3f882:257392:-_/t1:0/70@3
text/plain;charset=utf-8
"op": "token-mint",
"tick": "tapswap-v2",
"dta": "{\"op\":\"swapBtc\",\"tick\":\"dmt-nat\",\"des\":0.000000000000675130,\"slip\":0.05,\"addr\":\"bc1pzpnp24tyhfq42nl8yf5a4dvflef6d86tcxuud879tsnhq93atxaq0phwjh\",\"fee\":6000}"
DjB0x0e59ec72a51354af1dd019a58ee42e2edf937eade27fc6861d73549591328238
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuyp/j7FNO+a0Pv2g1K09aXtJprnBl1eTcj1gm0zeRR8o+f8eAf8fAUD/H46kIx/VHS1iFVkMhQ4NtdMQWWvqOGDnud9+/X5suzZ8Kv8fVf8eAYD/HgL/IAH/HiGi/x8B/xYFS0Cx+FK9oP8hQZz9vCa6SfmkkbbxoaeYsY25RQGXXIsMRxX3yPokBDUzN2E+xr5W0p3NUb5hNoljr0mhN36SMIMienBnqs4CiHcb/z5CAUDi2ANHgpYw0ABciXJPADRj7NOrqch6zxLfSVRjDhC7f8X51PvuPy2UMbuXzOJcOhBfHgIWYcRmAVYLjirWoVe1/x4"}h!
DjB0xd3218182ecad39a4d8a92ae1af193c621b27b063efe649bcb618794970bfc810T
DjB0xfd0af89294dd81fde8a4e964cb951b7332fe51be6b0620b19d20978db011cad1
DjB0x4bba520ce7d183d9a763777b4e2c100226566d5058d0cf83de2aa09b0877cd2b
DjB0x83befcf3386aae128692671ea26428444fe2fe01427ac63d273ceac496bb70eb
DjB0x914f14494055c75db250b0bb8cd660d223452021b6753f6a66e32d866326ddf2
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"2100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"2100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"2100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"2100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"2100"}h!
DjB0x162afd2e20b7bc59d01d610d377b615d44f4ffba6b5aba13b8a731acb79bbd22
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"2100"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"800"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"2100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"2100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"2100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"2100"}h!
DjB0x761ba207433e3e749c9299133c772d9f3b87921c6ed24864fd24f4c23fafebd6
x:ORDINALS CENTRAL PARK SKETCHED PFP by Viola MissCode #6/33
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwM
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeSyK
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
6j4JKR:to:USDT(TRON):TTLwsnFvkrfmVJKzDxokVdmYyNThnexjFBH
?j=bZY:to:USDT(SOL):9KtSM4B7cj3YkGZe4RzmxZLKiP8zH792wnSJoGnukJQZ2N
DjB0xb88b40388e6dbe6b60806094ebaa6e3299c15a9e87764b721135af9ffddc9813
DjB0x2ad9d61c5d2b57f56af9ea815945c44d5727dd329301e76b5cb0517e58b417ec
? T? T? T? T? T? T? T? T?
Eh>ui>ui>uj>ui>ui>uj>uj>uk>uk>uj>uj>uj>uj>uj>ui>uj>uj>ui>ui>ui>ui>ui
>|l,lll,,l,,,,,,l,,,,l,,l,,l,,lll,lllllllc
"""""""""""""""""""""""#_
eYVUeeeeeeeeeeeeeeeen
Z-Z,Z-Z-ZLZLZ-Z-Z!h4
43C43C43C43C43C40.hf
2j0to:USDT(TRON):TASRnx4H4zHwnWoUrrituW7h8UeSrSAF2i
6j4Uup:to:USDT(TRON):TWBKdDmjEnPpuixrF9ZehtcxDQgETJuUWH
FjDOUT:F8A7FB79D6746691B53CA5CC663F1C0B878DF6D644B69BC6C6537B283E667CE6
FjDOUT:58A0861162DA65EF07570C6BD631BBC4EEF0CB82956E3480099BE676E8765CCC
B4a89cd26f89af09812fb3ff353d89378a1ea1127c66aa1975261dd22f4f3e9dd:0a
OjLL0xba5f2ecb80ee609221bd5baa118216ba666f6812887a45bf11bb3583d6c64cb5=|lifi
OjLL0x96073fc35f7645ef241860163c70e71b33108774a1b079201944ac6c0ab1832b=|lifi
FjDOUT:AA9AA8E4B07680DF660CC3A3F670CDAFF328D0C027B7A296C93AFB0A1585D442
Aj?=:x:raRF1wm7hJn7wWyL22Bq1ZKLJxy22xujaS:104797700/1/0:-_/t1:0/70
Bj@=:e:0x47b5047cea82459C0001450F320AdCdB689DD85E:185185:-_/t1:0/70
HjF=:l:ltc1qp28e74zgtafuv8s9g4lgqjcusgycx6pn45rf4d:2548784/1/0:-_/t1:0/70
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ordi","amt":"50"}h!
DjB0x916754a7f1fb61edb74180f060f8d73fa8d53fbbac08aa4183b782cd2fc520a1
DjB0xc2cdde457fb70d88d455700e066471c16f0a8cd1f84ef81569483e99e9a4fb54
6kwgxh03flqlqrsmcbkhau50
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"3"}h!
6odxqwt15r4bua9gcs6rag250
6poo9h1zosae36625onfag250
6s78jhlgz1b0wldcwkmpau100
6mbfyl73v28oeb1ydsywag100
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"3"}h!
6t3arrydqbe6dwyv0m7iau50
6qtq98q2pypux7c1t6f0au100
6suhx6gjxu7qasgx83m1au5
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"3"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"3"}h!
6od1f4cakeo86aoxgeupag50
6mot4pms0ves60ye4j4bau100
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"3"}h!
6m078p876dme7rwr1scuag31
6qj25netf1w9nmq5azhhau20
6p1qtlrdugmlokx5x6poau100
6peir5dm4vbvi9g97xy7au100
6qx082dpkhdgm1ix664oau100
6pojgtox1g15cz4xwas2au100
6qsqlvt8a4shnsgggtwsau100
6naurz3vu76i2g05rn9pag50
6r9wjxb3hjul32jko08lau250
6oqpx6uvc7omakkr1u4fag50
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"3"}h!
6ofmoeavrzr4tk0jok3lag31
6syar2qrnbiu4nazq4gvag500
6ptyy04h43ajk8vdlp2fau100
6kuqoyhgkmisn1eoqzegag31
6qf9dxn5gqy24f18hl2cau50
6o2xmw3csuaqba6k2xs1au250
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"3"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"3"}h!
6su8loknc2fmwq0moe19ag31
6ntckbeybpezirqtiymfau20
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"3"}h!
6qlfqe3aj203otwbcqnfau31
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"160"}h!
6qsqnkfk9qcpcz7cjiaxau20
6mdlcuoc1exl0fpvrfkaag250
6ren6sgi4fsqrmqwuo58au31
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"200"}h!
6mw8grw6j76h8iqw0qudag50
6oo5vehanjy2mp9pmr38au100
6oenu5vrk8209c66b2t7au100
6sfdzlk09wqbu2kwa29eau100
6l6308r2t5rj6esov0ubag100
6n0gjusswkrwqwdgweahau10
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"3"}h!
6q4eude8std45tw7hdrbau50
6ryyfe25pyjkmd76924oau100
6m9zcco28dulpixaj3sjau20
FjDOUT:C5B140C0FC546946E0C8E7549CD88CBAECA8D8E4A8B65D2247703BAB9DBBF2BA
FjDOUT:29D850BE49751BBA76FF7E2221160BD03C31A3647713C222A4443CA9AD2DDBF1
FjDOUT:6B1586FE9EE6FEC9CE701A562E8D211EAA9FCDBAB549874564D4FC50715EA991
FjDOUT:2D1042BE901A078900B92587CA7DCB7A13ECD6B55A86C3C0E27ECE1BC783A1A4
FjDOUT:D20151C207CDF28FB50FAFD108CEBC506B29265028B53D40B523118E460B080B
FjDOUT:CB1885B32A4188C9139982B706C29BE0E37881A4012CF59992AD21343E790EC0
FjDOUT:CD5A43761FB0D4B5F985212C5886785CB922CAF4B9F06B67431B3F1058C4184F
FjDOUT:663B24C0770563635890D236241C36F368420ED09E7DEEF13B8B87E49FC098CE
FjDOUT:3F2CB3FB86F3EE9A31FF2100D5A30388BF7680D6BCB7E352BF1EA09C9AAA0659
FjDOUT:C3D8530336F007DB4D1984A232B5668E937E700C3411358861AA9149BD6FC8BF
FjDOUT:04AFB474A824FA6252EA1B9CFEF994A31FA9F9B78322815FC78B81524EC05DA4
FjDOUT:3DA4D026F187DC269D2EF84CB4A6DADFAA8C4F769AB3C14C90D16225984B177D
FjDOUT:D3DDB78FF5B26B9CF8BD613D861B5E3A091050314D3FB0D182D4101FC9C67454
2j0to:USDT(TRON):TDueZq2RSQECSRxx5mU2g4WT6b5gw1nAGV
=j;hHj:to:USDC(ARB):0x7b6E550c42D1567B95ee0AC7C4985ec91e227F2A
EjC=:e:0x4348A2B04ab2422B089cF760ABDc167E8F35F3C3:47224/1/0:-_/t1:0/70
<j:vTC:to:ETH(ARB):0x9fD5BA950155bC70f0f4dF0f9201EA0119666f8d
OjLL0xfd20e741c25f727da98511137dee2e800d725cd1e0150ced52c76fbad5303b93=|lifi
6j4uuS:to:USDT(TRON):TPLWuE9zM5MGkPoEBn2yqhRfFJdYMAvHYL
DjB0x39e6a16f2bfba67d573b394e8d111834951fbd9d4acd836bed153370620c87bb
OjLL0x6e4cf95a205f2a19022b6a4bdc29ecf6df7182f2a8a6fda89275a9816f8cae43=|lifi
Bj@=:s:0x4c8cBa1c992217E7Bc74D100d412E2F1018C816f:585936:-_/t1:0/70B
text/plain;charset=utf-8
"op": "token-auth",
"tick": "dmt-nat",
"amt": "496243119",
"address": "bc1pzpnp24tyhfq42nl8yf5a4dvflef6d86tcxuud879tsnhq93atxaq0phwjh"
"auth": "db649630594091ec41073d615434dfc2d6c2ddfaae02e64d098ec4641429a5edi0",
"r": "106262009359868890316470954436996438579431753081777716662679792731245353843844",
"s": "397354457130238924949230865769964686449840160050456154274075054L
"hash": "9baa3f072043157ff2024be03a512fe87a3a4734d361607472e21252ca38afec",
"salt": "0.8854778187109247"
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ordi","amt":"50"}h!
DjB0x61b4fe930e22eb851afc24901f1a4c2016df0e449bea39c30a3de3ea71c663e1
DjB0xf23099ea3d812530f323fc33dcc8cc4983fba18b42e9b9422ed7745ffeff08db
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"1840"}h!
DjB0xd91a961b8ac62e83ed9c7c9f389cc1ab4150e3b7ba3ff8af4e3abbfd35147d06/N
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"1800"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"Zara","amt":"43000"}h!
=i| MARA Made in USA
>j<from:1.257731BTCB:0x0fEd9c73DC50Ce4495B1D8a2E24138217828DD90
FjDOUT:CFD2A5F0E74B2F5A56AF01B8BBD739F04D0946BF117EA8F61DEF5FA13C5B78AE
FjDOUT:C910D7D6D2503B31339F615F8104F5540324929C7BC42909BAD167BBC088CAD7
FjDOUT:FEDA203DD561EB1F2607849DCE460E861FB094890A5F74601CD4BC7FF90DFF20
FjDOUT:350CA7BA27FA294C6D40F5F6A30A3E395D24D121F3A590D9E8EDB147AC93DD9C
FjDOUT:8DDC5B130F69C0620573EE21D270A5BDD41D32DC41E8F9A3B1703EDBB5E11951
FjDOUT:B69E0F66688E7D6B3B0AA1410BE785CB3033CAAAAB031651B942F9608AF79045
FjDOUT:025C1AA33FD9AAF7DDD33A46F393AC03BFF63AD40D40B0F57527BF163F1C2726
FjDOUT:8477CEA811FCE0113C2F7DB8E6066B7364717159F7EB1178F4C721A00F0F0E56
FjDOUT:B57EA85F13CD1C4EE3B81ACB5C8AFAEDE133730A219DF43777C316B7614A648E
FjDOUT:1C6484F9A3EF013E9FB0CB03CF62BDDAF7B1C84AC4A1B8430F96457D782924A7
FjDOUT:9D863124B0108596397B693914782A7E5D8CE1E80C09424EEA551698F7680518
FjDOUT:7ECFFA4D120796DBA5B18A602305937F675E4D5FEA4EADD801157D12B4FA19A0
FjDOUT:1731D4B5D447FB581C7C31EB631EF646D5F7CBEC51C75BA2B0F8AF4267543D8C
FjDOUT:C5B578169503EE9037E2E27FAD09815A80AFA1C6F8E105FF8F9C98E59024011D
FjDOUT:7A453EE60608699D4C577A8B7CB12915C20FDF6C0D6413A5604C299C0AFE1D3C
FjDOUT:7C76942D49E04B43ECA74C25CB04DEBBEA9B084DC238A8EE0811EA9F6E4FE28E
FjDOUT:9F45F9390774DF844E35AE877BCD19F84212B37916AB9B76BD91BEE5EBA7B12D
FjDOUT:E45BB7EBFD3E25064428EA254C2C48EC642A635ABBAE777F49311811CE8C3CCD
FjDOUT:24114CC8D1084C9A590D82557FEBEA97D8426F2D1D8DC0CE6B932C4C112FFBB1
FjDOUT:15AF6249E9A9A2C080B031B3E5BD70CC00BA0084F6483AAAE86BE8A976ED622F
FjDOUT:92891EB3C80B2D04D1ED534E595F0BE56ECB105F45BBB35CCA494CF9A42B6AC1
?j=50l:to:USDT(ERC20):0xDf8b4e91B570dcE2716318774ee27dA46cd068E5
6j4ag1:to:USDT(TRON):TWcR8qHW4hZfhM1hazjB1odHECHBxvbAGi
7j51Ux:to:BCH:qr76ulrw297yd0dg4fhgsf5xeugk9uk0sy7cjch4hy
6j4VPw:to:USDT(TRON):TBKLNqL5JdFAboJceHiYAwUrne2tEfSbkF
6j4Rd6:to:USDT(TRON):TDGyPuMQ3T8Kmy6LbemjB3h5y5NJu3hZFW
6j4li6:to:USDT(TRON):TJxwBDfwuhQ2p8AUvQ5tWPci9MnfysQQQA
6j43RB:to:USDT(TRON):TBXRvjksPmZQ3otZYRqCNzzny7Q54kMYcMC
6j4OkM:to:USDT(TRON):TPkHyPAm3XmmhyFDxhg4PxBcgb4z6FgFfc
=j;4vH:to:TON:UQDEms65YpZYWjYv9gN7Glyava5dlF9J8hesaHUsNheMSnT8
?j=vUs:to:USDT(ERC20):0xA7Ce00Ccb968bCC4157810B0D415bb396c3f334E
6j4fC7:to:USDT(TRON):TPkE3havT4yxURGWwTZ1UtKU8vmomMHdHf
6j4SiI:to:USDT(TRON):TFHVaNbL9ZUAzRNGzLwNkMepUxeGDJUNea}
6j4Lgc:to:USDT(TRON):TTUXV3ce7WuNtDyYp61QehsVnRPeykb4At
OjLL0x7f07f3bc933d3bf9e49e84bdd136d73e35e2498fae260c4ef8f08a9807911b31=|lifi
OjLL0x07fbbb95fa77929fc5461e7132b015fad15fada9f3ec50937e31edf7b5df10c9=|lifi
FjD=:TRON.USDT:TQPqAeQmMzRvGM3nmrSgRQJSgBFcTiporJ:525274373532/1/0:ns:8
EjC=:r:thor1xu76l9jn8hqxh608ym3razjdwxwpejpmcxhqh8:1269342983/1/0:dx:0
OjLL0xd40a2d7f16f2d9363958a65c3c518bcb30351005bba6f7cb6a547679adb2dbb3=|lifi
OjLL0x0c25183ca6486182295c1d1bdcb153551bc2214c231af9097835c24cbf8cd044=|lifi
2j0to:USDT(TRON):TEvXNZGHKfnEzHKW3bEApXZcZxdQQTiJpw_)
OjLL0xcb622c89f0977819078a89f5176102aef8b8a2e4cc9cbd5f7b4775e31e43120f=|lifiW
OjLL0x7f30e162854fdfd4e1ab046b561fd616507c1fa1736415313b037a6412859d20=|lifi
OjLL0xa620344f2da80b6fa6af7dd3a41dba5708d3cef12704b15802e54cfa735a8a61=|lifi
DjB0xc16899233eae672fb0f2c0781c9d2dcc581c5d2098db585d14956eb64af6a896
DjB0xd098697922ff19a45d3a14fa087c15474f989c7e827f141eaafbdba10d2f4289
DjB0xf17618decfbd485e73f2a5111a7f7226e531db541346afab16cb1a3ca27e4b00
DjB0x6c72a7433588d8d91fe5b977cdffb45d42058d8eae3f5ae70c71f7f9ebb24413
Bj@=:e:0x859D2A371295ef5CfA6631b191E2a4fda502430f:115763:-_/t1:0/70
OjLL0x54aacb23c2e31405a46027872b387510d6a41f0da61d4fdee154f67b3039b320=|lifi
OjLL0xc70843e2a326754b71afcca801071ab8bb58579b2f3b5b12c0398dd491c7fb15=|lifibkL{O
OjLL0x38cd67d39bc6f1ba5b826c696899b97beb76847ee0c8690d1e2003361a1d70c1=|lifi
OjLL0x7c9324f18a916d346369e5de76f862763b49fe4eee3fbc94d815f49e35bfb636=|lifi
DjB0xe0922271dd06a9b3870a58e75ffc93c5c91650b9c1041f6cd672075d03d3cf40
DjB0xadea8e5553355e4a260b272ebe44b80300e6edb013a8bde09ecab309b043fe35
=j;=:x:rBT5kZUyQLCMAfwksZritomAXAJEnYesSy:136435100:-_/t1:0/70
OjLL0xb49f354fc36c51c3d6fec84cdc872b282389ff7632749e599529010cb7fd284c=|lifis
Aj?=:e:0xe6ad5378f91D0d0c4FF21AC8b79136F163525020:24672:-_/t1:0/70
Aj?=:s:0x321aD0771b71c9b98957bEa5b9a0c82cEdD71f57:78519:-_/t1:0/70
Bj@=:e:0x58038732ab3c1a278CB9884851b62b90145c5E82:129468:-_/t1:0/70@J
GjE=:g:cosmos123du253cy8rt978hdqejf4a5xldg2qqsqyz6r2:73707300:-_/t1:0/70
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ordi","amt":"51"}h!
DjB0x7c87871f26eb152ea931547e673f46bd408f52b9c8ad1d0e1704ec9969f562a0
DjBSportzCube WIJA 317C 90.90 311211 by@T_Mountaineer (Almost Heaven)
DjB0x7ee1a7ece91c35f9ee8569c33716b080a82980313df08ffb617c239ed2f3cec7~
DjB0xd78617c1e99eb71c44c2d4a85dd412adb9e542bf69671e33d86b34602911b2e7
DjB0xde121aff5cc7a6191a67f4ea437d5e5798dc57d9249199d9174883543c996509
DjB0x67cad33de36b755f2ae52c2643e6e219294a48bb17a7cc6dcbb17bdba66cc39f
DjB0xd189cda155284afd1cddb8299b5eee80380c09736d8d32b58d9ace1f881fdb5b
>j<from:1.310094BTCB:0xb3b7A077b676fAa52e6Afc4c6713ea03145C7228r
>j<from:1.490966BTCB:0x32da071D46C3C7b43145bEB3f202ab41308b5B40B[
FjDOUT:2FE9A4BAAC85D89F2AB30D4E21DEC98CC501824BDEF146EDDED7A3EBC51CF4AD
;j9=:e:0x36d101b49AFA8C961372BeE1Ab1049144CF6Ae5e:2372031130
OjLL0x96221d99d6c808f0dff78dbfbdeefc9096844fa6550fc4a72b30185b5c789a86=|lifi
Aj?=:e:0xB56CC6304858b0d90C18367d6D66D2e1a8667A7F:68298:-_/t1:0/70#
DjB0x89153dce422914bfd8d09d3914e7e63121958b97d6faadae05e4685202b4ec5f
DjB0x4f91c37a8f61484a67b2fb9d9b64f85a034b9891ce1d92e0773c13ce52363f34
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"930"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"HORS1","amt":"199"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"36P9","amt":"20000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"450"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1020"}h!
DjB0x09d75eb3aa2a17720e905103f29ca96367ee6378f6ba1e804fab8bef6b48faf2
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"7000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1380"}h!
7j5from:291USDT(TRON):TLcgD5ubj4yhH1qZb7e6w95KAY6sY9G6dP
FjDOUT:29DB798A91D318BCBA37FD478DF68DAB09450969A221BFB7FAAB63740E7F3BF4
FjDOUT:8B4A10F6F6AB90F78C0DDAA301D90C4BB15E88765A85A48EC5FD7D0BD0341806
FjDOUT:0A8CE50AACB0D7F4635BC8A41CA11FF323B32019BF462B07376188F4D381A8B2
FjDOUT:C0757926E3EFAA179F7FC2D8E34BC2624412364D54E92AC71ACC471A3715996D
FjDOUT:69DA0682D7812579794BC6B733261ECD7786935AB0007A73B25B385E7A6DF2D5
6j4050:to:USDT(TRON):TB6JvJj21YrzsZP91EQf9qF5jbdyywsoVY
OjLL0x9ae76c9afc9afea364b84bcd2e8a396ce104ab26f0d84b737acf248d0d4bace2=|lifi
OjLL0xb7e0be6db51082b7b03b3e145c408e6440b3e6c81ee3e93071316d339b1b908b=|lifiR0
6j4wTN:to:USDT(TRON):TT3oG92jZKokJuAfaNkC8U86yxSb8xXFE89:J
OjLL0xc8b9996187cfa1f07ad41ed5b5f7b28d9a45920ef703f50413b434a9a02bd969=|lifiw
OjLL0x7f473286ad64b1b78046d31ae9119e66b55774136070655e415de3a75fc9ac6b=|lifi?HO{&
Bj@=:e:0x55AF4B739702A35EDB76a1da73ec949eb33cC394:143050:-_/t1:0/70-
DjB0xf2a7c025f5f69fef2bb68b4f9ef0c0e7ff1c001ad8704b06f624ec788fddec79
Bj@{"p":"brc-20","op":"swap","exe":"WTF,LOL","amt":"10","slip":"1"}d
dNamekAlien #6752dFacekSki GlassesjBackgroundcAirdSkindGreyfOutfithThrillerdHeadlBeanie BlackdHandvPortable Tape RecorderjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
text/plain;charset=utf-8
vrplaystationnetwork.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
vrplaystation.bitmaph!
text/plain;charset=utf-8
vrapplevision.bitmaph!
text/plain;charset=utf-8
vrapplestreaming.bitmaph!
text/plain;charset=utf-8
vrprimestream.bitmaph!
text/plain;charset=utf-8
vrapplearcade.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
vrinstagram.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
vrapplemusic.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
vrparamount.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
xrblackjack.bitmaph!
text/plain;charset=utf-8
vrexperience.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
xrsportsbook.bitmaph!
text/plain;charset=utf-8
vrnightlife.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
vrcommunity.bitmaph!
text/plain;charset=utf-8
realidadextendida.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
vrexperiences.bitmaph!
text/plain;charset=utf-8
vrentertainment.bitmaph!
<script data-id="281" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="165" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="598" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="186" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="27" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="337" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="606" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="171" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="1106" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
<script data-id="2020" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
x:ORDINALS CENTRAL PARK SKETCHED PFP by Viola MissCode #7/33
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
-=-157:::#+?D?8C49:7
%77777777777777777777777777777777777777777777777777
gbgbgbgfgfgbgfgbgbgbgbgfgfgfgjgjgjGjgfGfGjGjGjGnGKE
2j0to:USDT(TRON):TXoa9EhQDSFSXUUt2veti6KnYP5bxncKGA
6j4WOw:to:USDT(TRON):TRgAhoUVyLGEEKxw68krBDAbtyroftHpYh2
=j;w4m:to:USDT(BSC):0xA22Ac0436eb4E8fFcFb3D3f7Da13c255B23aEEdA
7j5SpJ:to:BCH:qzx9jxhc0adfku7vmlxsd7jjyqa2uz7p3yrp04v2q6
6j4dZz:to:USDT(TRON):TJztq1PqRpgzJrhD5B1HHLxuyfHXBpNsnS
6j4WlA:to:USDT(TRON):TDGMhBqseUNfHr3y1Q563STpEMU1cvTXwR
6j47Ro:to:USDT(TRON):TL5UuFttBDkUmrwTPhk9zvthwuWuGjnhTe
?j=NNi:to:USDT(ERC20):0x67C4E3984E7daC51Cb30FbbB9514bF2e15B999Dd
FjDOUT:6113645072F8EA577E843AA7CCFCA89579EDA624C033B79F42CE8D0822EC2106
FjDOUT:72C8531662A690BF055022A33D2DFF8D6729ADA3FFDAF5E0DC5F146E82FC1F0C
FjDOUT:983067D799D7AA71DAF7AAC2C0FBCE90A9BBB5C51F566CD3B1082B6738D4C5B8
FjDOUT:98EFC6269E71FC72619514AB307397C55F844632EBE506BE1B82798A7CA6ACA3
FjDOUT:2F5F1B3E10CEA65ED7A77BEAE08647E23E80DEE009E0B4DB3EF43D906534F126
FjDOUT:D6D77482987FD578AF65D233F142B6AF9ADA4CDED6A5272319848C47095ACC34
FjDOUT:946F939F9C0A74BB8D3BABEC83C0BD3FB443EC531361FE362738DB0ECEAA6D78
FjDOUT:84C4DEE0E1DA1C1799ED38CC600A4AC829682F7E9B60495CEC2234897F96064E
FjDOUT:7EA2934D0922683CDA62D5949DFF3B71E27C746C192E5B0D0B5BC4496049350F
9j7from:309.1USDT(TRON):TJ8AtKpmQzH6KhfP83atkMzoC4uMNFCdxR
9j7from:25.31USDT(TRON):TYZcdHyf8PpYFEJyzYZ9P23fLf3ZFYrXiLJ
FjDOUT:FA412F543E9DEBCC353F12DF0E39C573050D24CF6840E258E95F0ADC3AECE079
FjDOUT:EFB6FD46CF0F1A1872AF70650613116E99380A8995753730ED0CF0EED8BBA5DB
FjDOUT:674881FEA46A9E51DC74F30077B9CAFCF32CF6B7B67C505D25D404CC47190834
FjDOUT:165EFA97796A234CDDE3C0FB436440B2E6831A9FA7BA7FABECBC3B1B140D5296
FjDOUT:8A90F0319ACF1F9729514BA8BA506862A16C701C991859798157499FB1EE7581
FjDOUT:A23C3608413A8471ADBEEF927D3B60EFA0582A85365C71A2509051499C3EC44F
FjDOUT:2C94A89FD4DDBD31CDA03638EDABA3335B55BB268E6B011ED33B80C3BBF90694
FjDOUT:B58088B332B0B8E6E5C27D538DA396584406176F0D16BA71DB39314FED40EDE2
FjDOUT:4FFABB591EB06D2E8DD02BA269A7DC5625540962C0994AE0EC1F0389D9A80CE5
FjDOUT:6D328BEBB3CDD485835A16D1148B76B2BC59A9FF1C6D9FF15AC4033C949CAB58
FjDOUT:26C76EE02CC2A0F784D6D3298C9436F32B12A81BA4BE168D96E894993D83B1EE
FjDOUT:50BBB609CFEC4C2B8FBE61896E8BC4A8D1564FD4F91ACD8784043BC38FD09DCD
FjDOUT:30FC46E8E164F9B181C7C71FD34704C958D79B313C324A0A0309F58A7A2584A2
FjDOUT:2FDEEA95A33E147C67207032545E89E4A206E8675CEFF8707201B5E6042FDD1C
FjDOUT:050B04BCC8AAD1247ABA477812D41DD1359DAC29454B329FD6EE010DB6E8F6C4
FjDOUT:470316BCB768BF42B1D63057FFCA7EF4F8B69FD6E44725F218DF2E1B6F108804
2j0to:USDT(TRON):TCEsKR4m29tMLJkXCi3bPhC5C7DtBGLvQG
9j7to:USDT(BSC):0x4409c56CB77CB46fbC6BDf53f3d3E293784f2190
DjB0x400acd772a962ec30fcac8cdf64b7fe9518c8a8c7c3ee22727dc06bbd58fb164
DjB0x4cf6a0d449d37637e210e3ddf4356d7ffe6c0882a224affe6f671f811660c6e3
text/plain;charset=utf-8
{"p":"brc20-prog","op":"call","c":"0x5168f7a79b3ccbe94ee1e8a095aaa1f035bd98e8","d":"0x38ed173900000000000000000000000000000000000000000000028a857425466f8000000000000000000000000000000000000000000000000000000002af50230cdfb600000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007a9000b63e98886250f9721fcb4b78aee1d76ec7000000000000000000000000000000000000000000000000000000006941bf8d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000004aa8e9ca6d90e2e47bLX44336aa4725894332c1b160000000000000000000000007a6a7ea71bc7943e8cd32b64dde8feba58f05531"}h!
text/plain;charset=utf-8
OjLL0x92c41bde3f3fbca6b3bbc6f044a95a5470caabd20ea3ef883c1e895c74188b3b=|lifi
+j)to:TRX:TZDfCDowJvyY3Q5uaz9yjLdxYj9Lq1tfE2
+j)to:TRX:TLYgNcsDuuxZzJqCfaKmpSYSwjLftw6Gog
OjLL0x8fd2091966c5ea2380a2eedaa18354c38cf612adf2d88034a47a59299b96fd5b=|lifi
DjB0x10a735d23638d88b27c0bf8bd2ed03aba6e3eb9a7164ab4cee7db3c74cdc79f4
DjB0xbfce19fa0b78afdb10d6c4d6798b969ad4a9dd3fdd5a4e66dd619460f04b0159
DjB0x5cd123bceea0aa03cea0635f335ab9131ad8eb9dd4f9b52440503c40ed419d24
DjB0x68f59d95923356935715db5aa328e8527287c9e79d19a099feab396e741edd17
FjD=:s:0xDD10df90098DCd0b6dB3e529684D70247a7D09D4:404855/1/0:-_/t1:0/70
OjLL0xcc707190de06280e544462d0aa86d5b74db152e420c7a7f73aa56aa9e053bce4=|lifi/
OjLL0xae40d7ee60f489f95359ffd8ef94af9f1b54689967926c2e307470e20cb8aa69=|lifi
OjLL0xe6584de64e582ffd5611c55e4adef1f8db77737e7a9764b4655a0dfb4c920d2d=|lifi
OjLL0xeda0f1b3db665ad1c4531aa275a567b00b2957b555a16dddd35b2ad50a3e3d17=|lifi
DjB0x38cd67d39bc6f1ba5b826c696899b97beb76847ee0c8690d1e2003361a1d70c1
DjB0x9d086bf41aeb6f55950f0745b332b76dbfb6c3d8561418ab4cc33eb4d7b8572e
DjB0x06fbbdcbf6f90cd607887716a2e180923d2facb5620a7daf9228fb62f7b9444a
DjB0x92357da58e627812e484e1ea738dcec3f31c883225337108e865946f1e719bc4
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"ordi","amt":"24371"}h!
text/plain;charset=utf-8
DjB0x30b7f75ba2de0d96bb95c87a9fdb98c50c9a6b189280cef2443083049d0cb9a7
DjB0x9a447f39b974965105961be1fe700d47e466280d48f25560b0c9048de2eccc80
DjB0x96d55c11726d8921f3a8a760e9ec432b75c54a3dca4740676fba645e9fc21f24
DjB0x54aacb23c2e31405a46027872b387510d6a41f0da61d4fdee154f67b3039b320
DjB0x5f6974ba45f370f5484a1953810b32dae329e2ca7df2445cf1e884cd94963b54
DjB0xf760cf3bd5af4f03a29190d33f54442412bd0cb4f6f073daa7af0f462982894a
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"65"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"50"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"75"}h!
DjB0xee644077cb25ef5063542aa93930e01ad780e716152fce34ca07e412cadd5f8ar!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"100000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"TRUM","amt":"3500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"75"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"TRUM","amt":"3500"}h!
9{"p":"tap","op":"token-transfer","tick":"TAP","amt":"82"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"100000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"6550"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"TRUM","amt":"3500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"TRUM","amt":"3500"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"100000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"70"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"66"}h!
x:ORDINALS CENTRAL PARK SKETCHED PFP by Viola MissCode #8/33
7j5from:400USDT(TRON):TMPmGDL5EBeoiH8M5rerYyfC524fTu79tq
6j4from:50USDT(TRON):TNuzPGPSV8X8ZVRNWfEJn1iCA652p9npNs&^
6j4YQj:to:USDT(TRON):TJJwnbxz5M8BkDEr3cJCwTZX5LY1q1woYu
6j4fdE:to:USDT(TRON):TXQRingA3GxLD9zNzeHS9s7xS3UkHjZGwTO<
FjDOUT:493BDE98FB9F48B711583547D0B3BD0C8B71ADFE36FA418D60649D95B9644D18
FjDOUT:B744DF8382D8FD8D819613134E723C14AF8D420FF9F934E9403937197762E6B0
FjDOUT:4DC93C20093EFC08F3FA484C687B4982652A2D7C08207985812A5C3BC25F4284
FjDOUT:7A72AB8E6C25BA56AA1782CB9E59CE192C07E54C2B0369E95A09840E7AF6B8E8
FjDOUT:F889C6DD7A8BBAF446C8EA893875577845198EB45B9E7E8E2E79BCC7E2399A6F
FjDOUT:465A3293B203C025DC7026D827813965755769FD3A55D7B5F355EC50FCAA2F02
FjDOUT:C2D3C8941AB408C2D474BAA30F8459A68F75DD8F0E5405024C56B867E92FCE7A
FjDOUT:ECA9FA7C473C792D29B63BFF30F5AD8E5881867F86F8B0EE08D25080BC07EC89
FjDOUT:9C2AC93CD1E983AC9051284F43448D34054E3D7F8D266039C81B2D76B2094214
FjDOUT:9D9AE198490CF94DD1A2BD6D743959A4B9E1112C04F67A5C1CED30B5EB8B2890
FjDOUT:474865B42235E903DF7B8356FBEEDF524116BEEA4CCA6354D5C22419C2181636
FjDOUT:AE98960FD0D482E32C350E8A3D5F539104CE615B40C7CA6942AA843267B1EA1E
FjDOUT:AD6A9F1BD7D1F6ED597BFBFC556BD2148482DFBEEDEB0059310D77D5902FF91D
FjDOUT:19964FDBDD0FCAC64CE83D2A0079469A86F63C38F02328309531F2F35BEE4EAA
FjDOUT:4D137281BA9F4633CA19B004BFDB23CB214A1AE511692C02AE6CCA61A0AADD48
FjDOUT:CF44FD722D66EE9036BF218F3F65C7CE4C0098E9FCE9CB08A9721E6FCAFD8E76
FjDOUT:1BDEBEF34A36E86872C586ED822F6922EB12AE1EF2E5808250E29DABCC0D9FBB
FjDOUT:A8262FD265FBBCF89EB590D9E9AF8B2367D01A5BCE05CA1ECABC91A42F6A7865
FjDOUT:CA0C42071E2C508A309DC561AEBF20E03CA1C664A19AB756B130A90D14EE1EAD
FjDOUT:13722BB158DCC28FA6E79B50C14FF72225F4B1E57EADE976DE837539E6015C78
FjDOUT:4F11528BF58E5F2E3EA2473C5114BAE30BA2A7F7EC9750C6A2FC55DB127C160E
FjDOUT:EA54C333163A130C9D5FF628D7C20B2754EC6E829BB96D535C3EC89862D319F9
FjDOUT:9F05D4D3D8E1173AB2932511E7314F9EC65C95C81CAF79D11DF062807E0A2344
FjDOUT:6F770FC143237447C991214CE4E800DD3EFE1E51FC7232CDC154BB79E4E56DD1
FjDOUT:B31118B52F800CE52171C80FC58016A105C23545519B068EDD42629669AB21B5
IjGREFUND:406194DD92876CCD4CA107866478993E2A9B49B4AF5D394681DECD3FE72A18F1
6j4pAd:to:USDT(TRON):TBKLNqL5JdFAboJceHiYAwUrne2tEfSbkF
JjH=:g:cosmos1089p0n9d6jrrp0v42845clrk2hkxqfnqmfzc5j:10782761200:-_/t1:0/70
6j4wgG:to:USDT(TRON):TGFWNkPShNM3mMgPsC4U96S7pDr7Cmoedw
6j4c8n:to:USDT(TRON):TKNJHvBEbwS35jbV2WbLM65yU1x7NVpXDX
6j4H9P:to:USDT(TRON):THM5ji1TFA5WHHoG871gHcYNnEHjersmWs
OjLL0xd79344950a434846114b6329112784aee5793b12ebfbff947ea7b5111206dcff=|lifi
text/plain;charset=utf-8
L]{"p": "brc20-module","op": "withdraw","tick": "proBTC","amt": "0.0015","module": "BRC20PROG"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"proBTC","amt":"0.0015"}h!
OjLL0x5b4aa9778b849d11c9a680aae7a971ce60f8cf95532f8ad400ceddb55c5d8d50=|lifi
QjLN=:ETH.USDT:0x72F7989F3678CD3Cf4a34EF9CBED8D42B5ab3464:310038800/1/0:-_/t1:0/70
OjLL0x71f923b3a063f0fcfd848b9f1384fa9809ba68e31cac3de16db8444dc73d69b2=|lifi2a
FjD=:s:0x069E06DcE073c0ba4e7fd07577BD85691D5cC5f6:170554/1/0:-_/t1:0/70
OjLL0xb68b1be6065bc2fb2b4ae5b0a0e37826778d63edb00cdbb83c538848f8b437b8=|lifi
OjLL0x3732c1668af569e03b5a65bdaeea95e05f929addfaa0dd08e55dc4472969fe4a=|lifi
DjB0x30b7f75ba2de0d96bb95c87a9fdb98c50c9a6b189280cef2443083049d0cb9a7
OjLL0xa75fcf0ae15674a0429192b612efacaba3a662afaf6e3517b28ff3f17e4824b7=|lifi
OjLL0xa55c0a77e12fe576d3c2161bb9c4ff1768f873d00f9079b9d532556effaa8c28=|lifil
OjLL0x625bbbe06609ef9d6cb8f5fd9eaedd9b564907154d28119cc8bf7bdbd6b1344f=|lifij'
MjK=:g:cosmos1089p0n9d6jrrp0v42845clrk2hkxqfnqmfzc5j:7815389800/1/0:-_/t1:0/70C
Bj@=:s:0x32b83a6A86d67Ea69eBEbDE9674d36e94105f507:483753:-_/t1:0/70
Bj@=:s:0x32b83a6A86d67Ea69eBEbDE9674d36e94105f507:483910:-_/t1:0/70}
FjD=:e:0xd2063f6172D091BfA6E3bF97c66d9b962f6653EE:276050/1/0:-_/t1:0/70~&
dNamekAlien #1822dFacejTeary EyesjBackgrounddPinkdSkinfSilverfOutfitfKimonodHeadoMilitary JungledHandgSyringejCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
dNamekAlien #1356dFacej3D GlassesjBackgroundhOriginaldSkineGreenfOutfitqT-shirt BTC BlackdHeadeWireddHandgCrayonsjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
dNamekAlien #6162dFaceeSkulljBackgroundcSkydSkineGreenfOutfitjDrive thrudHeadkBeanie BluedHandePizzajCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
Bj@{"p":"brc-20","op":"swap","exe":"WTF,LOL","amt":"10","slip":"1"}
DjB0xee644077cb25ef5063542aa93930e01ad780e716152fce34ca07e412cadd5f8a
{"p":"brc20-prog","op":"c","c":"0xcc560a07a7a018818d54eea5e6ad196e344f5267","b":"AQlep7P/DNOltxerePYHXe9SfwcLnuDcZigo/wL/Av8C/wL/Av8C/wL/Av8C/wL/Av8C/wL/Av8C/wI"}h!
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AayUxEr/DMxWCgenoBiBjVTupeatGW40T1Jn/xUCNLBA5v4B6Gj/HyKKf/8fgP8fPmJjMXBwZ2hqNDdqa3k4NTZldXhwNTdtN3R5Y2g0eW1nNWRrZGN2anZrc2d0eHdwbDc4eXZxOWVzNXdreTVuAAA"}h!
DjB0xe7599179f5fc18597031809222f294587cb7b8f5c41094d3cff7510e65fa89af
DjB0x1ebd546db4f35ea795fd7cfb723d5009584e742672aa34d31f72c4504867133e
dNamekAlien #6183dFaceiBlack EyejBackgrounddPinkdSkineGreenfOutfitfPolicedHeadmCap BTC BlackdHandcUzijCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
dNamekAlien #1745dFacefNormaljBackgroundeSpacedSkinfSilverfOutfittT-shirt Planets BluedHeadlTraffic ConedHandbETjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
dNamekAlien #1831dFacekSki GlassesjBackgroundeSpacedSkindBluefOutfitgFishnetdHeadfVikingdHandgPickaxejCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
dNamekAlien #8551dFacegFighterjBackgrounddPinkdSkineGreenfOutfitdDorkdHeadlCowboy BrowndHanddWeedjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3941.5"}h!
dNamekAlien #1720dFacehBTC EyesjBackgroundeSpacedSkineGreenfOutfitqBasketball JerseydHeaddChefdHandhGun GoldjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
C{"p":"brc-20","op":"transfer","tick":"
","amt":"15000000000000"}h!
DjB0x03d85acdebb5d99ba39b942246fe87068acb1e023d0e37a9deaae153d6091b1e
dNamekAlien #1774dFacelWrestler RedjBackgroundcSkydSkindBluefOutfitoTracksuit BlackdHeaddMoondHandmVideogame GunjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"MASK","amt":"10542"}h!
dNamejAlien #661dFacejSunglassesjBackgroundcAirdSkindBluefOutfithFloatiesdHeadlBeanie BlackdHanddBelljCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"200"}h!
=i/Foundry USA Pool #dropgold/
FjDOUT:9733A1495312FC5F88FE0930CAE9EAC0AFF0E27F7800779DB01FA6B4B21F35EC
FjDOUT:11352C514760FE7E1DDCBC6DF28EEF93730C81D654CFFCE62614DEE4B9C1267B
FjDOUT:F972464C48A05A8FE9D3A69E11A4FF29F7F862428C245088301FD6E43AB6E522
FjDOUT:D5A5DF91C8442B7C02E9E602F5C0481F516051890C32DD390A8EDD3858FB204C
FjDOUT:7DD881B49453044DEA4BCC3FCC26716C11E524C3C8AB17294D4E62FDF5D7F420
FjDOUT:A424D8B14E6F330CFBAB5E41B66F97074B283E8465A36246914DA55CECBE2C61
FjDOUT:089D88B6E9816ADCB7C968D5B50FB5E1782F5FBAE0F693EB709ED8791BCC9AE3
FjDOUT:3D9BB8A6C7533324C81D8F4C3EE3F6DC915A381E80757CD5CABD8DE54564FCE6
FjDOUT:DDC281F6D4F787D46940CFCEAA488FD22EC748AC762E890C02C851F9C0E99B35
FjDOUT:19A1C918D2D0AF9B44F93053863F38FBB9CB9CF0DAE4CDC04FC4EA1EECAC9909
FjDOUT:CBD6984B383E11C967E86BA98208AE65795D951B13B7AF1656DB230DB9FC1FCC
FjDOUT:AAC97551DBA735F5C603AB25BAB2E9C0F3F359FD25AEB9C4E2FFA7C5A3980AC6
FjDOUT:06FB12618B916675E912D7493097BB7E9D7E4D27D252297BF4E172BAE4D2D168
FjDOUT:C9958FC76BAFD581E78CBAAEEE43CC0B5121546FCDD8BD9270F0D15CB1A9C40C
CjA=:ETH.USDT:0xCC0Ed44CE7b1F08cdA7bCBD4cC0d93998052ba13:0/1/1:ej:75
QjLN=:ETH.USDC:0xDd0D9152a3320c28e8AADe32b2f1e9B8aCdAFE2a:661396300/1/0:-_/t1:0/70
/j-XNg:to:TRX:TQ462BtL4wHUeA5r1dvvfV8uGqZNDzPKda`
DjB0x7c9324f18a916d346369e5de76f862763b49fe4eee3fbc94d815f49e35bfb636
DjB0xfe7ab7dc03a2f3300eabb364557cd3aad8b76c8bb4d9c91f36cb57419ae06f87
DjB0x9f8676f2a4cb930fb00b12cf6ff9e446f47895f1de438c8aa246b6ec999d8448
OjLL0x3cc503d8571b9ce682a9153efd4e38d467bcce67de9336b92a85ecb9cc112a37=|lifi
DjB0x7841f0f35cb6c3bde450c5c62097ba90b76738c8c7f6a80721bfeea993a3d3a1
DjB0xff9bf51b29930ec9a6df550d5c9793fca3dc620f2b85f114c7dd6b04e8754287
Aj?=:a:0xb8cB2852Cd1DB7ebD16c25A76B648EdcA3f521B7:850130/1/0:sto:0
Bj@{"p":"brc-20","op":"swap","exe":"WTF,LOL","amt":"10","slip":"1"}~{
DjB0xc02cec14460c32a1e49fc79340be0febcc9c2f26effef2da32eb5842e6f303c4
DjB0x98b480e7b403dcbcc137fc3a2866ece707b009f19d89823825096e04d922b598
DjB0x95cbb919c623ca663a32a073b0c58316cafc61ec3ae04896fea5e08194e09bdf3
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"110000"}h!
text/html;charset=utf-8
<script src="/content/d91650a911e27c5402ffd45893b17023e0ede8cb6912aa11fee0bbb264de2bfdi0" data-p="b6144e36c7a8efbce81ca57859648fc98ae4ea958792987e72747d121731e411i0,s,2,10,0,d"></script>h!
text/plain;charset=utf-8
C{"p":"brc-20","op":"transfer","tick":"
","amt":"15000000000000"}h!
text/plain;charset=utf-8
C{"p":"brc-20","op":"transfer","tick":"
","amt":"15000000000000"}h!
text/plain;charset=utf-8
C{"p":"brc-20","op":"transfer","tick":"
","amt":"15000000000000"}h!
text/plain;charset=utf-8
C{"p":"brc-20","op":"transfer","tick":"
","amt":"15697422986526"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
vrmessenger.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
vrgooglemaps.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
vryoutubetv.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
vramazonvideo.bitmaph!
text/plain;charset=utf-8
vryoutubemusic.bitmaph!
text/plain;charset=utf-8
vramazonmusic.bitmaph!
text/plain;charset=utf-8
vramazonprime.bitmaph!
x:ORDINALS CENTRAL PARK SKETCHED PFP by Viola MissCode #9/33
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
={"p":"brc-20","op":"mint","tick":"
","amt":"149599650171"}h!
=i/Foundry USA Pool #dropgold/
FjDOUT:34B88A9F328DFE895AEFBA72707798FEC30BAD369C0F9D1A6B5D1C34CAC950B4
FjDOUT:348EBD37D7C45A1363CD30F00F613D579B24B9CF89F51BFDB19B4D9A539A06D7
?j=TPZ:to:USDT(ERC20):0xE3ce269D4A1672046C2C2FdF495642164CaDAe0B
8j6JNC:to:USDC:0xa31CBF0f8c4da641F930B5ea73d4d02FF3b12Bf6
/j-vGv:to:TRX:TLiDPsCAGe178hDz8KArs1mq5iN3DHXWUE
6j4jSy:to:USDT(TRON):TV53mwQKR5yKpXndp2iu4bwe35wdmFsmao
OjLL0x5f8f2ebf98204c3592a93a509c3bf5c384ee9d511d40065228ec4f5fb09bbd07=|lifi
FjDOUT:2C85D630082A4D8D6C35CA1063907736724D39883DC1D402D3CA18B8D8C108A6
=j;1G1:to:TON:UQDEms65YpZYWjYv9gN7Glyava5dlF9J8hesaHUsNheMSnT8(|
4j2=:x:rERkeGQ6oNqhQyo295VwxTuu9Tk8ZG2C7D:0/1/1:ej:75
DjB0x4b2498a6758b655fd44e6cf5d805957350547beba5f51cd2f611d67e37815a16
DjB0x92c5eff55ab3110a79999bb57c6dc7ed137f2d52b0567c00f6d2ebebe66e613a
:j8from:0.005ETH:0xF5d78fc7b21d411887707f22eC2DdAEeDBD10cAen
DjB0xc8bfe4108fba8e1d01b8e9c831581bc17b491b9374988ac1d9b895f916bc3eb9
OjLL0x53fcd2e5857f5ff39003fd7c89402ecf0ead5429cd0ee593d3b5f093ab6b688b=|lifi
OjLL0x2187c7f970ebd226597c02b2bd18aa69ec1c1bc0d0f45df981ab3586a9328e43=|lifix
OjLL0x984ccbfa4c89ddb589c52d9713859255a758f2e17bab0373acdfd4e80178afdd=|lifi
OjLL0x4b1758aa299bfa62557ee8193513c070e5791063e01fb42c7be6c49b6611344c=|lifi.
OjLL0xf41caa8a68ca57def538ae360ce1df5605e182015c12518d6f5f8c11968ee3c5=|lifiji
EjC=:e:0x673ddB90c95b89F520836380cdEca5Db4844b88B:98006/1/0:-_/t1:0/70@
DjB0xb7568df6b93617fd0458ccb3438b3ec76f9545113d51c1121d3c743f5def94fa
DjB0x7d4a7e6fd4508432bb4d8f1576b786666e80e823deed53487125b9dbb2608f46
text/plain;charset=utf-8
LV{"p":"brc20-module","op":"withdraw","tick":"finest","amt":"3050","module":"BRC20PROG"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"320000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"320000"}h!
dNamekAlien #3731dFaceiMoustachejBackgroundcSkydSkineGreenfOutfitfKimonodHeadnCap BTC OrangedHandgPopcornjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"safe","amt":"200"}h!
dNamekAlien #4637dFacehInfectedjBackgroundcSkydSkineGreenfOutfitfFarmerdHeadkRadioactivedHandcDNAjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
dNamekAlien #6010dFacekSki GlassesjBackgroundcSkydSkindGoldfOutfitrHoodie PSYOP WhitedHeaddDuckdHandqAmerican FootballjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"VMPX","amt":"7859.12"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"320000"}h!
dNamekAlien #3007dFacemPredator EyesjBackgroundgBitcoindSkindGoldfOutfitgVietnamdHeadiFish BowldHandgThe EndjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
dNamekAlien #3832dFacejCamouflagejBackgroundcSkydSkindGoldfOutfittT-shirt Planets BluedHeaduBucket Hat BTC OrangedHandiMoney BagjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"320000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
DjB0x804877f2db6f27c522e04fc8c37114235d153f83e9e01e43b37988f16ab38cd6o
dNamekAlien #1580dFacedDorkjBackgroundcSkydSkineGreenfOutfitsVarsity Jacket BluedHeadeSkulldHanddSoapjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"VMPX","amt":"7859.12"}h!
dNamekAlien #1145dFacemSpectral EyesjBackgroundhOriginaldSkindBluefOutfitfMogwaidHeadwBucket Hat Planets BluedHandgCoconutjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
dNamekAlien #9375dFacemSpectral EyesjBackgroundhOriginaldSkinfSilverfOutfitfMogwaidHeadiMiner ReddHandjSkateboardjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"Zara","amt":"100000"}h!
text/plain;charset=utf-8
;{"p":"brc-20","op":"transfer","tick":"UUTC","amt":"320000"}h!
dNamekAlien #3204dFacemSpectral EyesjBackgrounddPinkdSkindGoldfOutfitx
T-shirt Freemasons BlackdHeadfBeavisdHandjMagic WandjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
dNamekAlien #5187dFacenPredator MouthjBackgrounddPinkdSkindGreyfOutfitcMomdHeadgGasmaskdHandgThe EndjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
x;ORDINALS CENTRAL PARK SKETCHED PFP by Viola MissCode #10/33
;j9from:0.614LTC:ltc1qf2lnya8xu0x08qdla9jqccjfwssv780j2e3ynt
Bj@from:0.210003BNB(BSC):0x05aBF1Fdc95a89713a0D8B43e8a7fe198107C9d4~#
8j6from:1000USDT(TRON):TPoYLYxYoDq5DAXRxjyju4VwWiqn7y9XRA
7j5from:120USDT(TRON):TPMew2F2hU3PxVWh5SyJ47VvSc6MEhFY4FvP
2j0to:USDT(TRON):TWr7dexUMq7Jfz7vTRoo5iv34MYbBgTfaK
?j=iXE:to:USDT(ERC20):0x0dc003854e551447Afd5ade20DB397722e711501
/j-YBo:to:TRX:TUf6e3hZZjGkSsmN4YERUNAJkwkiTtbNy6R
6j4tXC:to:USDT(TRON):TAYf6Af559dMJtny1FTKrtMiLWR35MmTqW
6j4TOQ:to:USDT(TRON):TYAR33bDSti7uewmhNJAk1BuH6tEmwr1NZ
6j4cDQ:to:USDT(TRON):TDf6Hnd1xgTEGSPzFK7HR1eSzby8bkLNq7J
?j=tn0:to:USDT(ERC20):0xB6a62FC5Ac7cC1BA72EF139F9c523a11e687a603
6j4ZiF:to:USDT(TRON):TLFH9EMFJp27tnUA6pYBpcWcc8eqVUzZJE
Bf24294ce5f338cf8dddb17181da0379dde12e7003c6ac3efeb57d6de6f0337bf:0a
FjDOUT:AC268D771B6177F917025E6DD1AD1CC5F29A8E59AF48E80A1FAF002151ACF0E0
FjDOUT:CF424A2242CC0C22FA1848D8782A09A997E9A93F7C5459AB57B3C552F20B2382
FjDOUT:D964CF19AEF89443C594B1DF256E9E51E70543EF25FF9C455CA5095D75A11664
FjDOUT:EB9511C9C4DAFB992EAAC5D0F37B85729238D08E178E13F30E02D0151D06B373
FjDOUT:019FC7C354905A7A1ABCC2E13325CDBDA1AC4628198E1F936AB4F999BA6A14E4
FjDOUT:87F40C4EB87BC3CB5B20FCB6DCF5F4830A7E9B54564B97576022210B0019F8B4
FjDOUT:F72B2A33DFF31FEAB26A206B9C83BCB60A0BB98BBC36A9A0F82BE90103EDE0DF
FjDOUT:4633755926FD23F49E90B073701F8C645268604C1E2DB5B0355B4A3911FCDD0D
FjDOUT:55B7654060C4026846171CF9533CCB99B53628F6CDE4171458064E7F05C5B795
FjDOUT:A63BF36288D532D80428113E5EB940BDB73195F9F06BC7914C339BD7BC7F362B
FjDOUT:D4633EB1495A158418F054909083FA60163453850E85DC149944AB062105EB44
FjDOUT:F078E357F56906E64F899B1DA0AF909C68F542CC18432686569A1F61FA504A8B
FjDOUT:BCDC62EBD3FDFF76212D85E3FC77FD73296F2F1551B00DE3CB142E396D4D683B
FjDOUT:A6475F88F4E9E664769ADAC8C6D0FD7CDF0A47D70E6861304104B1F3637E1446
FjDOUT:B3F4868B57CEB2D3564CC0D13F318EECCBBE3A762FA4EE70B7237EEE0E00DACB
FjDOUT:153FB6CE9A780DDDDC07620E85F91A9A54135706815DD4B65119D39A7DAC40F0
FjDOUT:E51FD119F49D436C5923CA64FCED21A8D620BB82F2C43DA4DFF381510E5C9530
FjDOUT:5E251942D271FC58C726C88F182E5D2B7841FDFA0D5A347734564B6DDC5F0C33
FjDOUT:3A413C0F4B9C09F63A73848A6B48FEFA4208E6B569D7FA6554539ED929A7D9C1
FjDOUT:20ADD43622C43BEABF9879972E8F099011D9C8EE040F4338A90D0EE19C4B3806
FjDOUT:A6AB8DD5BAEF281ED30BDC413B3CF1F202050C87D1D94D9366FDB304AA5036D9
FjDOUT:2679A6FC8A9AA18A583D1C4A421ED3F9C8F14FDD7A1A39820A8DB42BA61ADA55
FjDOUT:E6C706BD4EF4E0F80B7E795BE4F31869CDE31EF0DFCDC128E0EFC78E504FB387
FjDOUT:82A267042F70FF1418532FE2EA8B4A4F95BA5CAEAF95C796E5B1A7A8E4996098
FjDOUT:4A370036DADED053AE0B1E2358034D470D4B4E57E9BF1EFEA3BCB05754EB4FB7
FjDOUT:031E7DE3E9E069057DC1CBE016F8CF1E745220722BA6C7E52D6C6168F2523E70
FjDOUT:CE68B38481D8BA57D5BC254EFC6A04D4CBF8FAFE6B09ECC3C3432B6408CDF116
FjDOUT:B4CE2FFC797FCEA0471BFF11A0C4AA59E067F1D27D08360D8007528582C2124C
FjDOUT:B96115FD4FDF45545E5C03C8B1507FCD7808FA279391E50FDFCC82BC00BB9FCA
FjDOUT:2BD5EAF9709531D1F34416A1163C4C4F6EB702AA700431D11154D50E6A80B874
FjDOUT:8AD4CA9C2BAD1F5065B2625D5A42BF3677E478E3414789DA2EA193FC0FC4D8F3
OjLL0x4217a7890bd24eff6228b6e3ef8f4c08f503ec43db9c2c584bc8d5d93805a8ab=|lifi
;j9=:e:0x7D1cb62Aac23bCDafE25eEA2CDc34a0903FEb74d:2152087373
=j;X49:to:USDT(BSC):0x7F71D303d0564dB7de2d5442e13a9f43ee81D077
2j0to:USDT(TRON):TCWe5CCD994Cvj1MDRDXHPVS3oYskYfYsZ
OjLL0x0f858894c03d6da5e224aad19d0c3638b2788efb46daaa71df455833ef235098=|lifi
DjB0xf524e15dbd9db0446af07fee74c8aa252525edef84b96af74987ff2958eb6a9b
text/plain;charset=utf-8
9{"p":"tap","op":"token-transfer","tick":"tap","amt":"21"}h!
FjD=:l:ltc1qnjzmc0txdsakl2u0r6s6hulyxaqu6psjrh7pak:36940173/1/0:hrz:100
=j;=:l:ltc1qyukgwkkdlm24j2z8pw247pqxu5twjx2l3uhh3r:0/1/1:ej:75
6j4dFx:to:USDT(TRON):TLtRzz6wDtSbseFQunmQa5UAUgNQWWa8XMac
5j3to:SOL:6Ev4MehHN83VSFiSQezH9zzKRU1ixHDEMRTDsuR7AFVj
DjB0xce816bcfa515947bd199d67235330796dbe5e88e457917f9f74317e71cf00412
OjLL0x079717679a0e285adba6adce21814e098eb9974df56806cee90f606ca9f28a13=|lifino
OjLL0xafa11258da8c31538f11632b2f688362f06bceabca583d358c9ca121b9287528=|lifi|d
OjLL0xf12437b0a7b3a45b75c1dbe9c410f279355c09a2201146296414ca4152872993=|lifi
DjB0xa6eceaec1a0c8a947a4749dd105bfe4a86c67094ea6500bb4eb695c3ff82f73a
DjB0x6807dc7a1d13d7c5a910d78ee2cf6fc76c5415e12abcc170c0df7267f70c33ba
DjB0x4a4a1e7d7fd8514ca4b5217d3cd4e13471b45dd4e48e6807e740aabde5d9722e
LjJ=:ETH.USDC:0xf9661Ba8ecE997588Fab60f2345cBD6b18524B2E:465957900:-_/t1:0/70
QjLN=:BSC.USDT:0x9614f14493142bd9979db773eb5042Fe48715355:316279818/1/0:-_/t1:0/70I
Bj@=:s:0xFAb0426590f11BD95b8a02121198D83A0f0925D9:452645:-_/t1:0/70
FjD=:e:0x583A401eDB4724d527F816c37c5fEbbB361EA58C:185394/1/0:-_/t1:0/70g
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
7j5from:500USDT(TRON):TQd4ZU3tv7bXX6nXcT22mQxfKDQEufBJFy
?j=from:28.4TON:UQAsHsgrFKnj5cel6HbnJ5MIOUOLbnOKzcfJe0-MfMj1OLLl
FjDOUT:FF463A5C1ECE8CEDF4F3F0B293CBB5F8A0C7B074FF2818FA949928F12367CCEA
FjDOUT:F7243BF88A47E0905730F06909DBE5B20181A6E8DF8B991DA656CC8C7B44E37B
FjDOUT:54BF862E7A8BEC9C245CD4194B0C99958E7685254C7F4E99A7FC9CBDE1841422
FjDOUT:E50B1411FE1252DE6050D6727557EB0B280AC6366A1337BE1D0606F715C85C69
FjDOUT:71FFE43F5EEEBE7905E795613C469D8FC31A9B3606961B8C77F3ED1C27680540
FjDOUT:1BEFAC93E177917D803931F13504FD4406365C67D3981309A586D79A3F09797B
FjDOUT:F585D5D9463017B48D6DD912F0EE80913B91D52A9A42CD8AC162A27207B7A28F
FjDOUT:4127D9B3E5EA4AF757FE878ED5E57CA08B8B6C85B8628F8F7E7127408CE0400A
FjDOUT:71F032F57A913C801D33FAA5519CEA6AD43A7EEF03812B1D1FA6192C3DCA9C4F
FjDOUT:F8ABC3BDEDC5302EC3E112A99B31C9617CD8F4B1ED506CFD32BC27655FEBB12D
FjDOUT:5420810F27CC5D8737FD68B3CAAF87681F5D48C295B3683BE11941C464DB93B5
FjDOUT:5A3571C6599D99EA36B7543EF9E5352A03DF8D417301D329917E191EEC121B5C
FjDOUT:855FE760246A30E1706C2AB01996ACA4AD419CFFB0EBF0D5DD8F96BD9B5308E3
FjDOUT:6777E316CC56E0155E2D3EC39E281910435D9AC15CE1FABD03E46746E2DA4ED3
FjDOUT:678B3D5A03506DE2C31987861B85D3191C6F9F2932F572FA299A2788C6EB055E
FjDOUT:23CD806B5B5047E96896DFC53B3BD297671034E49709DDD6CFD4EE133979BCC4
FjDOUT:618386D328CE40C9AFE20152E6526BB38BC8AF4A3AECE3ECC02DA2F0ADCFA1E7
FjDOUT:3A8066942F1BD818075C7EC7BA68B184065D60950C8B637103F348E1154B0C30
FjDOUT:58F2A104A87D06BD7FFB7DB3F4D3F98FCB2F4765A9372D139B1ED4228D29D435
FjDOUT:2747200838442FF63DB709E9FCB2DE24ADD94B6740CFFD5BBE04E2B7FF21230B
FjDOUT:DC7A4FD71C2DA7B291B1A311DDB731CF62107E66816064388CCCF8F855E4C965
FjDOUT:7C659ED1FF69E0B99A78B70A59BD27BD97F2C6CBDFFEFEF50B2B575828649C4A
FjDOUT:B5A23682E17D6AD4C2C5C502AB48B00DD242FADFF683DBF5D128279A934F2DE9
FjDOUT:411C352810C2206964353DA0FAE448543A30DAA3B1F333ACF8C99E924C79AE67
FjDOUT:E0C7AAC3E15669F806DB68EA569F561BCFBCE75F6E3BCF4C718B28121B622458
FjDOUT:B475016B3740C14CBA09ADE29ED43703BA3DAF589C1A62B70FC4764C96AD5AC3
FjDOUT:AED5F266924FAC5D4EA68955EC77C47D0917E3E5910FEB18012CE0A0B78225F1
5j3=:tr:TZB47m3sAfS8N9iQmLjjssHvGSCwYjfLCX:0/1/1:ej:75
4j2=:d:D5YUsUpGh7DYLby4P2DiJGaSArdCv4sLnx:0/1/1:ej:75
4j2=:x:r4AFmvixNB6jt4JQYQk8gJC55HjK3gdt74:0/1/1:ej:75
6j4nQZ:to:USDT(TRON):TPkHyPAm3XmmhyFDxhg4PxBcgb4z6FgFfc
0j.p1T:to:DOGE:DSGs82PRM6yHQFFJgu7DzmPiQ3nFDewQCE
6j4SwM:to:USDT(TRON):TQFsfjaPkNpssqaaFMwrxssYWpbZ2fPNJ2;
=j;mmq:to:USDC(ARB):0x17c211A1252f50f5B3D48d6E33cCB7d6FBc1f060
/j-Hcn:to:TRX:TC9grjRLxtqeYnv6PEX1NogvEy8DkWQLei
6j4HDi:to:USDT(TRON):TYruyG1QMGPyE7rnXSfhsDzTbd667jy4XHS
FjDOUT:A89370E5FF2F0A6D7396ECCBD280BBE3D7A76D0729F28E761FCF0BB31F25D2D6
FjDOUT:03DFFD7ADBF253A8861F682D137C95DC4450777C3562BE54DBE4729DC96CBED4
FjDOUT:E0C966CA7FE27936A90590E22DED5E8ED60C88DAEA72DE783D0792ED83CC3C74
FjDOUT:F48F6A63770F3160E2E4C3729E424A04C8C4C07B022F854621F7DFF2B88D44F7
FjDOUT:5D8D30EB13D1ADE40AD9032E15397D7E2A6A5C5CF35995EC7B92CCEF3434EAF4
FjDOUT:3626F61C05960E07C37922ADAAFDC50A28FCB9063DEF39A48B27F10518E6C5A4
FjDOUT:94AA64B49649CD5891E6ABAAA2F02798049E44AFE945E21D7889BC62A95B342D
FjDOUT:D6ACA2C873AC9A473EAD37A60F80D8E4A1A0F67BA3BE18CA9BDBBEA14265358A
FjDOUT:694AD23C6DA3E911073592AE0D7742D5764C315BD600CE3A9CDC84DAE1344E2C
FjDOUT:83F02843DC273B6249FCF878B669E313F537ACF595BE396003FBB05CF4E1D04D
FjDOUT:3D394C702BC46F342CBBA90F039C6CB5B2942277F60E272A090DE3BA4706885C
FjDOUT:D14E3F1AE0FD9D93D1E0EE14B41CEA20028FF25C20F68C0789F5B49E6C4CB030
FjDOUT:B6903FF8D93D541A8E074AFB09368232300C3003287AE9550A8E560C888D0123
FjDOUT:1214DC8DB22E581A8890602FE825FA2A5A3EE098F223D6153D6185518853CCFA
FjDOUT:553A120D80332E0AB79AD8076607A2CE8434C7E3E47DA1E8D378DC8D35D4A22F
FjDOUT:923359782A49E625886111FAC402A057A89B83BFF2E8BC242F88B87B7CA224BA
FjDOUT:9CDFF470664617B7A5E687B0E08ECF3C41268539DCE303E76844029CEE586D66
FjDOUT:171209A071F9B6C10308E4BA3DAB35604281EBE62D863D15A84143977F44F1D9
FjDOUT:2594951FA5CE87BD6E4E47A36E954C587E65A953B67D84F2EB409DC0282B859B
FjDOUT:D460C1165133236F95D0F231BB72C4396C0B152805F5B98195EC70AE1F36214F
FjDOUT:40727C97F0694513DE1D405EB7149ABFAFC131BC2945992B29D9762B834FAFDF
FjDOUT:F76A94A5F37442142028322C49DF883932625BAAA4C1BAE2A8C80C03CB14D07B
FjDOUT:78D9F93B574430D8D7FD0E3A0EE20B3A2B2752B9B1722B2B5C58F7E0001C022C
FjDOUT:ED5F0C50EF0E8B591915496562F11DFFF62516D795F5E9ABC50C8CF0C3D7A748
FjDOUT:3F29EC2C03D75D588BA1D31439786C7A40D9D3FDA89CBB8D6F56F59C02B15A6E
OjLL0x989f6efd9929e8f9f3c8c5efce9889bad0199470af40ecd06c0a9eb72238339f=|lifiND
?j=KGc:to:USDT(ERC20):0xeF9238111978aFa56488c03132c26cef7541EB74
=j;0ut:to:ETH(BASE):0xF5d8A11c7891bC1510a519cfbeA54f0124e32155
=j;IUv:to:USDT(BSC):0xe704788aB400a0e5c681eE2a96bE595C21d3C0b6
OjLL0xf9d63c07393c3f75ac3048d76a6005feffecc2fa767cd02420df516f7c2b4248=|lifiIq#
OjLL0x8076cfd033164cbbc719c98a1906616bc73f379ee1d631762e5ff44062470203=|lifiyg
OjLL0x0bdcbff7cea2529ae5cfe7d9b14e42df78ddc11df1e846150a83ac642638379f=|lifi
8j6ClS:to:USDC:0x87aCe78aE7E68281469947d81bD1f88f1eF738a7V
2j0to:USDT(TRON):TZG7Hhmy59PqHy8SYTrt8mVM2rntHAL4xR
2j0to:USDT(TRON):TEmhJ9xkyHDgg8r2ikAXvAQ9gwA1nBKDUD
6j4dZB:to:USDT(TRON):TVa6N7oxshwDstj12QQKpiDFb5giAV1D1M
DjB0xc4a97729f2a1835c87ff62d5cdb0fa83e13ebe51d1f270e2c25736d37fa6e79f
DjB0x3eca47f0fac8bf77c66a51daa0e3a94f73f5b7b5259f236cafd0ae486a3527c1
DjB0xddd0b39edf70a40bd80cff801fdcfcbc19f59066a378b6f6e917c7b00a8df7d7
DjB0xc6b53b978fd3d030de3aca7c4591e13514835b25bb484ae6f6dd9fe6c743ba7e
DjB0xaa35d0c4fcfc272bf092b1dd97989cfa59e44e88359c819f5dac63ba03b651ea
<j:ueb:to:TWT(BSC):0x31444a6CB2e29E6c0C556614F14D9825b7d61F53a
OjLL0x8664cd705e4e97672ff502de680d901d21589dbe5db376373049d69493d6081e=|lifi
DjB0x4fe6a2cea033d86307bdc172d1d97995be2938550c717a1ef63d8f9d4e07e141
DjB0xd5c25c9731bd5bc47dde087404b9223583d4d5b2ffd98ce4a421c794c2fa1a64
DjB0x126c3da5807f02282b77f3358dd5de351e0594bb1914a5c59d408559ed776aa7
DjB=:l:ltc1qj7fzhdjcm7dsetm5f3ezcckpxrzczk2t2f42lp:7087630:-_/t1:0/70
Aj?=:e:0x673ddB90c95b89F520836380cdEca5Db4844b88B:74634:-_/t1:0/70
/ViaBTC/Mined by alpsfarm2/,
FjDOUT:7C08D1E0515F2E5134675844E40306CA2BD98248C8124F0C22D466A62A94DA6F
FjDOUT:3D9096B3446B91A12F27A493B571C123BEFAA353EF8D391BC8D27477B83FE64B
FjDOUT:A049BDBA059A027AC3C633DCD3E913042B01850B9564F01800018D0D2DAF36A4
FjDOUT:9960A61DD540A40CD2E6735F48E1B3095FF49606ABAA8C6FDFFE16C6FE1C6DF8
FjDOUT:11E601A5E458F69082E29FEA6C125AD31DEDC45591AB9168765DF3893E3151C6
FjDOUT:3BA8D80B2E83E0ECB088BB70480D9D00959E6132743631207608452F7CCC05F4
FjDOUT:0860A1737678672AABDE7053C606E03E6767626F0F8C0444AEE03CE100807C22
FjDOUT:2170892B82F3BEAC316A06CF9D4244C70617FB02039E17610F6E64B9E39E7A24
FjDOUT:D4A3218632283EE6BF2584304BEE69718495E8E9508FF65818D959A098450213
FjDOUT:F237E477A4A5186C295B3B0462CC10E80C3D5ED0E96C0B391A22DD8AC0636832
FjDOUT:6C0C92FA849FECCF0DC07D97E027D2C45BF77C862D9C40B4AEA504D234394C0A
FjDOUT:90061005FF76F03C67FC05240DE38271EC812FB6996CB7F3AD1BDD2C5E3EAD27
FjDOUT:A11F277E626AAA496A9DE64454F768391FBE10596FE054A7E594FE21ACD76908
FjDOUT:3D6A64A9F75DE29CC9F8884C45D00C5A9BC37B4CEE8FE553A81EA25FF59B69F6
FjDOUT:7027F45A0BF4B999E444521CB68A7C3F8C045F7B9D464E853277DA08F5B8CA97
FjDOUT:CF45D9F8A94D69092F5C8C4FCC39345C1237D23B3994B1F4A7130C1AE85FBFC0
FjDOUT:B95E5BE06614E4D5A8F2DF06CECFDF0B6C11E6D3A4CB128EBEF376E0CC17594E
FjDOUT:1E7979D10D5EEA23F20C321A28AD1F7900A20E103224230D0496C1898D857B19
FjDOUT:57A9232E939722E5F9AD0BCD3836BADA4004200061C0A95834DE4E008A6A404F
FjDOUT:7404B1F59E4DCC455D8810B312065AFC82AE7A04CCF4CA135A37EDFF80CBB8FB
FjDOUT:B248F0027BCE7EA34B8FFB8C5F6DB99543883847522F023D3429ADD09F550294
FjDOUT:73E6A92187268362D788B3C50C67FBA4EC076A297C8692360FF14EE9257329AC
FjDOUT:2D30D0AF5294EE5EB7C6DD9CF5E02BB7FD569082F1C0B8335B5D165029694EFA
FjDOUT:26C7D575C7A960EB302F387BBD9B03AAE02FD93A246A604BA1C5B23F8EFE7869
FjDOUT:1EDE8DCDC052CE7F80BEA2B6F7F38066470CCFE32E7B2F4EE71547D0DEF0B5CC
FjDOUT:E30F776220441005B2A6057626659343B30B6F1FA37A09875B86B0B91C98A967
6j4zKw:to:USDT(TRON):TTaC7WYr7XC4QUajwhU7EMSusC4mQq77hn
6j4AKH:to:USDT(TRON):TX45BwDQJVgcsgunUZ3UUWLYkjv3N5niNS
6j4e2Q:to:USDT(TRON):TYe91XoAKtKobdDgTBde1G5jscs66NCBVV
6j4Uot:to:USDT(TRON):TPtzDXYLY3TZ64zkExMAjkRcKAqNps68Xv
6j4RSY:to:USDT(TRON):TWi4hrDnsB5t3mEaWb1BgcDUbxrm2xyiSr
6j4wRH:to:USDT(TRON):TPkHyPAm3XmmhyFDxhg4PxBcgb4z6FgFfc
=j;ZhI:to:USDT(BSC):0x4D3860a9ee6d50fEbF97f84BaEE06Cf5fEAcbaeD
6j4Qjs:to:USDT(TRON):TYs8GhdWhV1hMyx5VNSRuXMnbStjE2rYmr
?j=pw1:to:USDT(ERC20):0xd97633Ef73CA9715847581E575f91adc6DBD5fb5
=j;zk8:to:USDT(BSC):0x45100cC1d8D2B840660c0279c324CdfD00F9847A
=j;CfU:to:USDT(BSC):0x7fcb4CA07B9e48b59C91435892A6e2bF201f20A8
?j=aP7:to:USDT(ERC20):0xBCe8C0de487c2d7e5d47e2cFe57CdD67F47a8392
FjDOUT:380E576C100B6C8F4CF820B3BE736EFE41CFF693995A8FE4BAB19136B3ADE51E
FjDOUT:FDF93DB8ED1DDE1165AD109816C22FD9E988FA6EE8117067C8C840FACBB3456F
FjDOUT:1E96B3F394714FBA3F3F991E38C6670C165395BE098A3FD971B8318496671C3C
FjDOUT:1834186D9C170570EB63AA832130989195CEDF154EF3DC39FF33413BF9335B41
FjDOUT:1925E21E6D6F8B215109BD773421555897213E690372BE368D7F5CD15F49B62B
FjDOUT:B72FC4CADEE7A99195A32A7893DAB22FF408A2CAB617EB6DC3E1776EF17C8AEB
FjDOUT:64A34D6490C4838BD5554F3C4B7C31026B67C7EBF07ACC6F6723E8F37E9834E9
FjDOUT:7737C69686CE9958A55E9DCCD6CC27CF17F1DB4EF81406F9D294A25DDADB85FD
FjDOUT:3CDBD2DDFB15C4BF4F648342BBE6F507FDE39696DA51B68BA3B0864B73721C0A
FjDOUT:486B84951D5D07BF377CD6A4959F70D3C7DD1C1678F7CEE93A82782F1E1C5580
FjDOUT:A5110B1FD0E736A30512B1C7F8026FE78B2183C109CC89DD021D0A2A74F1581F
FjDOUT:301DE915EBB3D66B14CA477104BA6228553D2F99DC32FE723C620002B620EE85
FjDOUT:4F58B913EFB21BCCCD2648A15CA21A140F67D68C29B0E1C7B7D9DFA5CAF3BD6D
FjDOUT:6530D19DB915024D78AB1C54D5D8127FA6F8DEE1E8A8201DBCC074B2D5A28311
FjDOUT:14A63F90C07C05CDDD4FF99E63459EF2120AD016CD5CED016A795375AD0426B2
FjDOUT:FF59B37E04C3F0431512FD1AB8E4E526FAF4AD0AECC8DC240902D5235BB0713F
FjDOUT:7717C209DBA82D8703905FFE708ED82C3EEE12F665F82205EC76E3EF3AE6F875
FjDOUT:2819DBCC017D8F7929FD17A41147321621746A9B49CC1046C7E01F4A14E1DE64
FjDOUT:35CF400D32ED05A7AE91344E8F458C47312A84EEF68BB500630F5B78C2BBFDC1
FjDOUT:0F01596E39E5BD9B66686CF079C7E6C32F3446DEA815C2BBA738E1421265AEB3
FjDOUT:7EC935A1E273B8E705FBE6B9D0481BB4610CF7DAF0F5B334E1B5772E591DE8BF
FjDOUT:AF1570465D8630B2CF55541B69EA23C1B6B01176F513167BD94E4228F30BA69C
FjDOUT:D078E7B85A75CE41AF3183F41D215AB266F72B6F1EC20266D20B940BC977C2FF
FjDOUT:8B9018E1CC87551496D31D04B4B7A97D6F29678B9C58AB3DA33A7AF902CA5AF5
FjDOUT:BCA9C248A5B7A452DB3DCCF163E1A32EB1CB65F5E1542D2E7EA78FE77CCA35D2
FjDOUT:10EBED2CA329DD3730931818E865F58525041AF4C8FEB8A3F73F0A1BBF9260FA
FjDOUT:6294279537EC90B11D91095909B7BBC701282991C3472E1C8EF32332C538A86A
FjDOUT:15683A6BE17037B982FB5676230A2121A1A32A924E3DE637541C3DFC5BCDC4DB
FjDOUT:2C41824A77127CEC7FEA432EB392827AC2CF612B0B5CC36EF1B9C160A0CCABAF
FjDOUT:DC36FDEE86D522F306731DC5C7CDA1450A2936EBF30810C6F0927A2F1D15CE4A
FjDOUT:B9C566B4D500F9582DD35E37736EDDBBC800BB758A3E941859E368803CD4DC94
FjDOUT:2186DB7EB3D674ADDAB0FA4664307F8EA5422C35B4CA0266E013BB10C1EA47F2
FjDOUT:F2CB03E8FF7DD22793D9D03684DFAAA6ED151E5413552AD4F7224672FE2B72F4
OjLL0x2ec00803bd17a6f7a9d0bd7b044a67bb1d349654896c07bbe0c525fbd4f444f3=|lifi
OjLL0x8c2e64881bd40e29bc921122a0508c92f2104e1a653d3535c93eb824516111ff=|lifiS
DjB0xd5b9d8ea359b95348cd2fbeb7137679b3d768aef4460d48c0b6734735f44fa74
DjB0xdbade21b69edfa8e030416b1d8d11105270c53007fdbf848400d7b5f7c89c931
9j7to:USDT(BSC):0x7DaB6F97241885d3FDf6275E05757906B69E135be
OjLL0xa40e0eacfe6efcfc6403777fe4d14be9bdd7f630cfde951eb60846b351a2d310=|lifi
DjB0x8152672f68806e110fcfb1bda2496d5b15e1b1ccf437e7db1a41fcf647df5d93
DjB0x84e2d1ef0f972eaebbcf572246bc0bc80d63694079ea74d8889011641ea7f6f0
DjB0x1a922ebce0fc0d9213199433c9e430b9605212f44a9cb86619f194e749947dea
DjB0xfcc274c5e493bae5c8431f25e502a0f496541d1bff841d4aaa792966066735ee
DjB0x58271e6133fc94374f00be632dd07afe2f2ef8fb312af7ef70fb551f5890e5b2
OjLL0x38c156da75bf9f1ee07e5fd1822cb40d0682a553e0c951ca3f694692983a522a=|lifi)
OjLL0x4f68d6e21d117a90a4cb7d8f5a3b9852133a8296dd85a8e6abe3508b61494664=|lifi
DjB0x9b50e9099f72003fcd4bd1c21297020bdccda254af551f46a850fd71b682c2eb
:j8{"p":"brc-20","op":"transfer","tick":"LOL","amt":"5000"}[
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Aldo","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"TRUM","amt":"2800"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
DjB0x1892bd23f3af7940ed6f0edd30326c753f5b93bce1fe269138e6c0b7f2cb5295
Bj@=:e:0xb8cB2852Cd1DB7ebD16c25A76B648EdcA3f521B7:1103703/1/0:sto:0
DjB0x644499cbfd69160e92de663085189a5dfa679a152650e7e5f10b7db7fbd1e1cb
DjB0xce3157893cc6eef72283d3e49cd84937b4d448f556d59c78f4965f61bedd797a
DjB0x185742698c330562101a1770ae901d9837be504b5f416d8a1011f964e2cbe00f3
DjB0xdd721b9cc68cb32ca2c69b8d9dc7e26de4963e26a564652a1ea1f89c402a9277
=i/Foundry USA Pool #dropgold/
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"ordi","amt":"88.93639819"}h!
FjDOUT:DBD1A4E801FE97270107FAF4614852BCE22B3250E0D57D50914421EFCF2B1310
FjDOUT:770BDD8CA11219CB0C8A56F9ACC8DC140AB62998B14CF4B5013B098EA6FEDA69
FjDOUT:5478F8BC1D44F335293E2A37B49D15BC2692FC0A8E238E0DBBCDA6C553D59B6C
FjDOUT:54E6FD024F83256D7D317325AF64F5FC6588A13042D3CF6D117B5CE520094152
FjDOUT:0FFC772352368830EEDF63347186A86DDC25819210F81B6FA2BBCE658F2E74D0
OjLL0x0824f4d0bb2c68199f5e9de5d87ae5e7bfacbceb076d2b8265fa4595c1cbc179=|lifi
FjDOUT:E1BDEA435E0FA22C677B10334A06D81B1482AD99033F5A3ACF2ACFA5187F2CB5
FjDOUT:BEE5221A91F4B7434C99875B2517306C989979B25F7E2EBE179DE5984697FA3F
FjDOUT:E8171A80C60B1D79A34F433E09615FFA171B0F785319B910E95DA8698CAE8B04
FjDOUT:BE6CE58082FF06FC35E43125C45CDD1CEF8E10F49BA468A3C28C822D2ECE1689
FjDOUT:76A8CB375B7E61EA1DFED9528115E9FFA71174E95763475602CC0BF33D7386EF
FjDOUT:47AA2E442147189665BAB9F243DFC7656390E1FD1C91544EFB6C9B19A8414A69
FjDOUT:4FE25ED5CECCF91C90B30B78257BB6DCCEFA643867F11FC0854B6CE39AFFD365
FjDOUT:41C859BCEDFFE81E4FBA4AEECF6818817F30E90D9B5429B55E5B181A456F5933
FjDOUT:D382CC7BCE1B7F219E532B371FED7BA0482D77A85F6E05A7816FC72C482CEF0C
FjDOUT:0C6FD407BDA24E68D54A25BE5564A0B1184391985457F0C0E1F7E6C127354073
FjDOUT:C1CC5F29784C7D7A87D0BB2927E49B1A7C9C28543A028310E400A17979D33689
FjDOUT:0EFFE2F78EE597DF0342EF54173829E429D838A8192FB402207DE0F36A268A2E
FjDOUT:FA499703FBF78A0AB02C4A3A0E420E5A8A6224910FDF34FA735729FB1A57D963
FjDOUT:8EB53F814E8248024B13F965AA770C576EB0D41886CB8E0FE81A379E4AD86208
FjDOUT:A3ECE96B0E65C39B78D86051655DBAB0F1E8FEE919102780957C31C712BB36F8
FjDOUT:69EE856B2634F4B7F4B8724CA69556FE4672715BF9395F57DD006726F8C5536B
FjDOUT:E75C3A81E571EE6900D8320E75C9C905C87BE92F2CB84D21A408023C55F3EC6C
FjDOUT:5AEB8447C1C2801FEB5BF50C439FF3C95EC6443FA02346490EB91992DEA5FA6F
FjDOUT:067361FD681200040957896CFC624A98A565EE6C97503AA5354FE857E40B5386
FjDOUT:48C53BA3B3D927A9514D5220AAB91CB693EF53E261686D53C335242B9A18414F
FjDOUT:77E847D5E536D72E2FEF4A8213CB58259C6B57E8B61F5E694F300D1A010D6B15
FjDOUT:38D01580699135B4D96FC1CECDD867AE7497D142FD409032AD4D0C299AC62A55
FjDOUT:BC84554A3E0DF34393CAA9ACD0BC1C67D59293A1D5E24A72286B5E39974F2B63
FjDOUT:B44187D67141A01CC8E5571F4DD88220E3626075BDB97CF72374589838CBDC24
FjDOUT:76E36539B02F2C03FD6B38D777ABDA7D12FD61676EEF68ED8E383E7753748276
FjDOUT:61334FB4075940650B022BED52CF39A399AFD9F65424AD6FD484EC9E2E94323E
FjDOUT:428DF211D54D88B8F1D6D3A426AA5ABC87EA47FD5DE7D3D6C8FE76C3E6A2DE3E
FjDOUT:7E7F13A0E30AFC0E196A3BD6FA2923F2BEE3BD29DEFC2D5AF756241544977CC5
FjDOUT:EC1619346E87F6FEA95A97A81B7450D8F1893F20BBB78EA584FE187055279655
FjDOUT:50DBCC49B1DCA69F1F49A5AEE343E0F0008DC08400196CA9A75D6495E71B770F
FjDOUT:05B03B9AA461AF764A1D800D72562D605F7FF25D5F9E12C9B3278ED5EC7D211E
FjDOUT:7721DF4A26BFDA05C743A5CF84FDF8A8ACDF94D5A7EE8636A2A5F03052A7B7BD
FjDOUT:CFEEC2CF263666BBBE95C37C82779B4177F4266F2D5829A5C7687B6475B9FA59
FjDOUT:29890B591ACA7E788BD4D5D30AF7EE07B26D22610D97100D1E3152E9A292A04A
KjI=:ETH.USDT:0xb677ecb29f9680968f0dfe73066cafbfe33be612:386238557110:wr:125
=j;QjC:to:USDC(ARB):0x61C4Ea8d92AD3F1558eA27492AFA3Ea1b17c6a42
4j2to:LTC:ltc1qlykehen2z3rwqfnrwl07sxjsrst4frzv74dkzr
=j;Okg:to:USDT(BSC):0x4D3860a9ee6d50fEbF97f84BaEE06Cf5fEAcbaeD
=j;UqP:to:USDT(BSC):0xE350959D302EC3057D3C6d595f4F747C731E582b
=j;PUA:to:USDC(BSC):0x58C7Ec5e4aBc58e5Ab429808d241EBCD000AA669
9j7to:USDT(BSC):0xbE2C71107Bcc19e2F18f06b58a47C8003FC53A50
FjD=:s:0x78376fCf6E621Eb4F57c29d1a11802aF5Fb852c9:254922/1/0:-_/t1:0/70
4j2to:USDC:0x8490f30C4153587e0A30be3a4926334BDe44057C
DjB0xa3e20f63b0b6a581044cd345e586f78d412576de11b8dc1bf5f3e5ee5af5f93c
OjLL0x15819f680b7eb974a862d99eb01ac112c2762758c023911f1d38cc60a855a9ed=|lifi<
6j4xBN:to:USDT(TRON):TPjF6kSnCMfmvcqTLEXoayCSKdi5tNiVku
6j49mX:to:USDT(TRON):TQgrnTjVj2QnUuQ8Pw3tBuGf2ew8vNcZsy
OjLL0xd5f084f260bf53f433f38ef56663720c653078c9c1d4faf2bb7e68fb3bebcca2=|lifi
6j4aUX:to:USDT(TRON):TL2b9myDsDyBBxhfzVhQjKNPwzJdkoZmTC.
OjLL0x14c8a321777a413297b8b738e58229a49d1e5e5bd69783fdd2d239532b1698b4=|lifiVZ
6j4TFf:to:USDT(TRON):TL2b9myDsDyBBxhfzVhQjKNPwzJdkoZmTCo
OjLL0xa51f254cd923665952a0ffd4b3d1d855dfd6149bfe4bde3da958c2938ccbb2b7=|lifi
?j=dGi:to:USDT(ERC20):0x949b0c33bfB373ccC0b08cbE583961504CE28Ed4
OjLL0x056e963eafd7587f72f2eec5e46ae9845b596775e850c1d9b29f9a17dfba90ef=|lifi
DjB0x2700e70414bf2b29402b1f76f68a981f66f3838e1062d848c2ad596845da9f3a
DjB0x8d13909e9bef838118b7e991ba208afe413b965589e3686ef3b7bcb764cc2a98
DjB0x98f6952b83be9a336266d66d2e6698a80d769a532326ce7052e63c94b1550b0b
DjB0x735b52b118307d33d64a4a93da5b9de1bb10d0bb1cbdfd9e64d30e8a7049b5a8
6j4u8t:to:USDT(TRON):TJPAXhbMNdpRt2ABiFCgXcDxEkb9ZGMFXH[
OjLL0xe4334aef9e3e106d99f912af17e6361149665bf8d120f8770e5cee07be3343b6=|lifi
OjLL0x4dbf656215279a4e92499fa9e2ef26d96a5a5bb41ae594dfc009efb831a2aa94=|lifi
OjLL0xb08349abe087f70f6bdeb4906f2bd48ac64b68730674186a2ad3feea47596ce5=|lifi
DjB0x3381436521931f563d53e40897ab928e7706d6644ec389fe1bf8d8c41ddc3845
DjB0xb8a4596318998e13c11a4b3b4099f3f745931226a01f4ab1e9e15c32c34d063b
LjJ=:BSC.USDT:0x9dB96964f34F2f11C774f6e005F73ca025Aa8e46:319168020:-_/t1:0/70
Aj?=:x:rpAXEYRh8MqHCuhX8DHyixKenDHgekQv1X:296434100/1/0:-_/t1:0/70
FjD=:s:0x5323941e57F29468afE5aBB05B91fb6F85017e8d:107372/1/0:-_/t1:0/70
FjD=:e:0xDDce74Df7d96905D4B84a86b1702fd3eA3995575:240180/1/0:-_/t1:0/70n!
DjB0x185742698c330562101a1770ae901d9837be504b5f416d8a1011f964e2cbe00f
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
hbitworkcd4344mrequest_realmjlakepointeenonce
OjLL0x8628a329d1e3c7cc37476fda66430b57521b031485d3ad1e1def5f6c0c731601=|lifi\~"
OjLL0x63d8ff330f9fa6b4d98e9afa8b5d68db0d4d9fcb5a65f70b92253227032ec826=|lifi<:
DjB0x345c6742166f84484498aa7a7fcceb3dc94304e0f61c94797d270aa608d64704
DjB0xd3d11116f157ef07045e8b08145b6d177e49e56462f8202f0f20ef1b4747edba
DjB0xdcedfffe553247a46705374a31014f03c3d29546bd9cf23677c3f2ac3100eb59
DjB0x4880aa9c5302302d0ef9282729f85387778eb77adf5f3ff020253a52f3c37310
DjB0x3c793c33d96f095ee3a0652499c8b5660457b994d2c76d01a8f6e22b419c52ac
DjB0x28c999e9d3525865ba287c8b0c50ca8f61625add6adde4b878f146986166b71a
DjB0xec4021531bd6ace0f1235fa51f39b8009f869b0e7d7f9cb1117b6fe5a7c55ecb
DjB0x215fc15d271373aa34bdbcb2f4c661209ad6321593dc6f7d2c2b2efbf26a75f1
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ordi","amt":"11"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"
Powered by Luxor Tech
DjB0x65c3d1618b1f17671c1ca09a4ae6af52bb1ef9f5cda8d73d74248e2e538c825a
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"6880000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"750"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTC.D","amt":"33"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
G{"p":"brc-20","op":"transfer","tick":"
","amt":"14444444444444.444"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26700000000"}h!
DjB0x7b2087d67226a09d992311f90cca19cb4ba5bea99da2872fa8e2da020d3aa3f26
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25900000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz
&'()*56789:CDEFGHIJSTUVWXYM
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1900"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
A{"p":"brc-20","op":"transfer","tick":"ZFBE*","amt":"21000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"287878.787"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"30"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTC.D","amt":"35"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"5000000"}h!
DjB0x6813b1266e060affca81d88af6b5a903bd1b49e253336e55994ca9d74d9255f6
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTC.D","amt":"45"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
G{"p":"brc-20","op":"transfer","tick":"
","amt":"14444444444444.444"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1600"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"260"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
G{"p":"brc-20","op":"transfer","tick":"
","amt":"14444444444444.444"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"5000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
F{"p":"brc-20","op":"transfer","tick":"
","amt":"5198989898989.898"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1800"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"200"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25900000000"}h!
DjB0x7fc35df2d0a3899148e6389cff4ca869bdb1e5a26152439c2c853d96a9bc3def
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26700000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTC.D","amt":"30"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
G{"p":"brc-20","op":"transfer","tick":"
","amt":"14444444444444.444"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"300"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25900000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
DjB0x340a1d8ccb38f874a94de47849538e3307c9c8b0af39bdd7900917db169da61fP
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTC.D","amt":"29"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"200"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"5000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
=i/Foundry USA Pool #dropgold/
?j=4fp:to:USDT(ERC20):0xfb4146a7F67D17c0eDC49A6Fcb064E3dF112d8be
6j46tK:to:USDT(TRON):TFBFSFqUJJxuyGdvZdmMVqzTPahCdXmp35
6j4ICK:to:USDT(TRON):TWy4bfFi1UTstW2qqtjQj5Y1BsJSWzQ9Ax
=j;Edu:to:USDT(BSC):0xe7D626e4f6557A9969dFb6A6A9cFEe8933E79268
6j4KUF:to:USDT(TRON):TCcQdTnbguT2wwx3Rd3aK7LHvCPT8rhcaH
6j4wQb:to:USDT(TRON):TQeUFj2Axfho53STV1dh4oavsK7XgBCZ2Z
?j=6Ru:to:USDT(ERC20):0x1dc660B8eE9d3B1dFDEdC491cd86136bC9911c89
6j4t5M:to:USDT(TRON):TRDcYKzL3J916d7JqjXHJwRQ86Jyn48bYs
>j<from:150.779312USDT(TRON):TKayyqAV5Yx47VPqbamQ9BmPwhuS5faenK
FjDOUT:EDD2FB6A122FECBF3B01AE2C2D338E991912B0B8B374CE7E5E93B2C37D16DDFC
FjDOUT:605DE1405572A275B0592600165982B1ABC9CFCA94CB57819284795A2A082B36
FjDOUT:569D08AA368D02F81293B8363A26CEB8A75E69E3DFD237C7D7D78568920B1B0D
FjDOUT:C5419BF4ECB0B95DB5E15E03E5208F222013C79E2F81D39EC20D789E24E36019
FjDOUT:AADBB7BF47DB57E715DC21C28C47D826877458E9A072A87BCF5E9F6BC5280EE9
FjDOUT:1D7F232F8BD0F5BB6AC0CDA3A4A2B00F8A4EA6D9BD98EDA8B38A10DAB87059EF
FjDOUT:7EE5E9A4EFBCB69CDA91C7C6A527C90C563E390BEDF83308E85DE4251158BE24
FjDOUT:9FAC07E2A366030113777A28CB0BC5CA4A14D301D9F9DEB93A3868736F0DB033
FjDOUT:660B36F4611C9220CDF99F4D4A49E740468831DFC2995F0EF94FB71B00B03B46
FjDOUT:8FAB6CDDAC750FE80B3F27F0B998CDFA4285686BE82C01E961484A668A91B430
FjDOUT:B071AB11DB99F1C6462B9272861EDF91BE45076CF772F7FAFFCF0CE8A5A13F76
FjDOUT:1FE317B093D17FF0DDDFD975A87B62ED98F2540E1C8B6E96B86CE5395D31D174
FjDOUT:34F9791FA84E7000EC712A86C6F371058B98176701DB50BCFA3FB713B0AD5C10
FjDOUT:D336EA9AB06490B33283781BCC98DA005694C764B55B6B14DFDFF552EE5A2EAF
FjDOUT:01F846292B1C7BFC2A90DE1377DCC776E6DBB8ADF0CA6BDC5D58E26A996FDB43
FjDOUT:85E4AB94E54A8CE6FD939D258E72F8B2F098F6EB3FC16A9B66CA4A722131BD2C
FjDOUT:476B3814C0F5F277FE518CFE2F37AD4A493170C335AF96905EFBE3B4FFB12928
FjDOUT:54BE6B610997BBA075BD6C6B6F0B52C921A4AFBADBAFC734C835B7221806E83D
FjDOUT:F1688BE1A27072AA91F6462C67FAD663C219FED58BD60C4604301F955D53D5EA
9j7to:TON:UQB8GFhvfTkBGONh4UlY9qoiVMuwkYf8GZbmuXU7BRN3y7be
5j3to:SOL:2nA4EgoVR4rW7TmqYEDeE4A6vhkBKFvfHCwpEko5yY3b
DjB0xa570f01456443e4f76bb1d8e7b19e9068a616c70d3f1a2dc6132f490e0612b26
OjLL0xa11e8bd26c049205d153af86039ad95ced838674c8c55cfd6788727a9fd35104=|lifi4
DjB0x1a7461be8759fdd9c43db3a5bd393503eeb9d8283e82f7d92c03e31c7b4886f6
Bj@=:e:0xc613055F86bbeBf0BFD4A82b7D7AFfab9a91b491:32927/1/0:hrz:100
DjB0xa0a0ea482651063ae43d2b9d75bb6b5c10757e395bd84bb4d0d1ce048e9e7a68
DjB0x8631552cd6240f9c38e2c89a75944149788b249d2a2246d163d016f8f3c55956
2j0to:USDT(TRON):TMBxmR2rJTRuXsFUe5tYaiRZ1QLUhPPCU1
B433bdc3ed3233c927daea4005a6881eb41e0907260cae24a4dbe8555b851e909:0a
DjB0xe6f6fd59a7b4d1a1b6986b8221d3465c812fed42885ff0221e26639aafd10ce8
OjLL0xaf9d14b1dbf6b92bc77d986d3c2b289a20c2bb556f2b71df5fd931aba161f1fa=|lifi
OjLL0x4cce0d1cabc4dbb2e2caa5fbc9ee0513c530a458ba1aecce9039a1a2aa2845ae=|lifi
OjLL0x0e9ed8ebf2ad233c22179895318c66184de19ae321f8a6dde21b845cdd99276e=|lifi\n
DjB0xb73a114a0d93ba944cd069900c5d3b7b6ca1d8065732085316575618938f392b
DjB0x74748f761d8fe6e9da14ed412ec2308213fad268b9dd34f70a36252d4f18b6d0
OjLL0x5f0558c06df5119a3f458ae483aa1a5cba3b8c16a3722c30f881fedda5a3825d=|lifi7
OjLL0x7a73868f5d042e5ac7a0e829c65430591486ee66daecb3c91c83c534b1733656=|lifi
DjB0x3e08da79aaf16117faa61f7e0c0ef8e642a40486de248131a7c15768ca0e6757
OjLL0x66bdc3e8f4d10439d09b1bd7589fe152a05547dd405fc901046c294bb211a1df=|lifi
OjLL0x7f40d0d9a2f4875b9f7ca4659122cdd0063af0afcdb31b6f6e5b50063cfc69c4=|lifi<h3M~
DjB0x67072d0d77710077f870b70bbff0d71b4230c68ab5ae76a732b369eda7d1bd7b
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"ordi","amt":"88.93639819"}h!
DjB0xccc99e93781dcd1ba90d7e6333445bb6037ccc6e8fffd82fda29a6fd85f492a1
DjB0x00012f18eee90f1dca1e8f9ee6dcbd033328e8c55f025e5952b1808a78d35375
DjB0xe17769035340d9b6a2676b55d450a92aae1bce07e0482d57b8253fecbe56b4fa
DjB0x395973a84b0ddecfdca1c8b02a5c0c6e634589b3871f0a2b1a2b2a9edad05ec43
DjB0x42064f8da733437eac46823dc1c73686adee6309c3161030eba515a2f60e6941
DjB0xeef918f796e131b1570224166fdd1cbf78e5da2728eae01fdaf88cf6b44b7f13
createLSbc1p20k3x2c4mglfxr5wa5sgtgechwstpld80kru2cg4gmm4urvuaqqsvapxu0:/protocols/simplemsg
{"to":"4bbe3a327f83921f296b19cf29a02f06b5348509aec886cf9aad1924e23d5bc9","timestamp":1765666209,"content":"U2FsdGVkX184AyNQoA1cHLpWnGjBrPlbPO/etKZF0z0=","contentType":"text/plain","encrypt":"ecdh","replyPin":""}h!
createLSbc1p20k3x2c4mglfxr5wa5sgtgechwstpld80kru2cg4gmm4urvuaqqsvapxu0:/protocols/simplemsg
{"to":"4bbe3a327f83921f296b19cf29a02f06b5348509aec886cf9aad1924e23d5bc9","timestamp":1765666218,"content":"U2FsdGVkX1/qiirdfIzTJwQfAx5a+AcmjCXcAb0cdMI=","contentType":"text/plain","encrypt":"ecdh","replyPin":""}h!
FjDOUT:9A87DDC6839C98DDB4F909CEAC42A7BFC0531B62568307E97FF0F07B15BF9626
FjDOUT:B906439BAD87C9A95DB402628807A04C1B3D219EC09BC3193EAAEFCD0AC34134
FjDOUT:BA9D619EEE3D952208E2337EB4B29E4E3E263B05009E817AE927693B8A61722A
FjDOUT:54BE4B1B1740D72E276A21A7C8F5FA7F39A5DE772810EFC20D2B8DFC4A1E09A5
FjDOUT:2BB8E6448CF85EE3642E80522C2D56F9B80364FCB61C831286B3BA9ADC18E462
FjDOUT:08155E79BE7EFDEEE672CDD95428F5CB8EACDB2995D0EFF08D05D7C8BBAC9A79
FjDOUT:A0B96AC36DB12F3D487F0036A342140F94D5DFA227FBD02FBBDAAA25ADD8A6CF
FjDOUT:231620E174CCC75146C2A0543785232A4CE980801491F0EA441F85A220A50A12
FjDOUT:04135B4CF1D18C6E6EB7A3F6286BC5CB97FECAEDEB2F75CF21530443BFBE2925
?j=270:to:USDT(ERC20):0xDf8b4e91B570dcE2716318774ee27dA46cd068E5
9j7to:USDT(BSC):0x0d2c148b871242645692fB894BA5d101E11E7250
6j4oZO:to:USDT(TRON):TMJNLmCi511k6ZiksFSL2Ny1LnM55HCiRP
OjLL0xa7f0386dcdd737d826863e85c2375fb344a91fc3d9876a5a58a9b969fa3c8558=|lifi
OjLL0xd7ac14ae43fafbf367f74509d09bfbbf3e531f418f26f79ae4346484b99e7daa=|lifi
"supply": 5046550000,
"premine": 5046550000,
"precommit": "977149ea1508d97b0f48b37581a3d462840b9b286f3673b10f3e40950aef3558i0",
"etchHash": "51da90f412e52f4229edf92ff78eecf7389e586718d3da5e902f1f18969c4a78",
"protocol": "ova-rune-etch",
"patent": "US2024010001",
"rights": "All Rights Reserved",
"operation": "certified-pre-commit",
"market_cap_usd": 4663521.4
DjB0xd132df316b95a21fae74b614931d745b204c6f7c2c6ba954214747996c87a2ca
DjB0x56d8f14e1f6002a9f17a019e1455a7ed58d53871832f78605287e79c500ad573
OjLL0x2981dbfd50e31815c1512fdafdd892c788927c4e0d3c721017ddfe266d43fd47=|lifie
OjLL0x8c260d8d0605ce226125c13d496cca0f80e37ce7f8e54187e182451846661965=|lifi
OjLL0xab4d010da099edf6f3bb1a0286ab7d1b14c9ee833d022583b13daa469ada5e0c=|lifi
7j5z6F:to:ETH:0x38B7a4bd89398b967dA2C170DC3f981E9Ca576ca
Bj@=:e:0xDDce74Df7d96905D4B84a86b1702fd3eA3995575:168887:-_/t1:0/70
DjB0x0ef143b39115fe0037e4348bd55e1487c695083727bab6b787bd9bb767da511f
DjB0x3bd41c2f55d666609de0b1c059feb770f029152fe163a9b77fc72cf23ef5df24
DjB0x80fc5d862e68eff679ca47c99e8049af03efb219a7ba00b676d3df0d1da51307
DjB0xca6804f0f6d8fe77038ef43c8401e010b6e16c03bafe2ff094e6375cabd9153e
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
B{"p":"brc-20","op":"transfer","tick":"
","amt":"4800000000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"25539473683"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
DjB0x139bc08ffb387d22a0debfa6a289f29749cf8585a0046402f3f10c1c48ffa97a6
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"494"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"100"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"goog","amt":"20000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
hbitworkcd5154mrequest_realmhhowertonenonce
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"18"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"930"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
B{"p":"brc-20","op":"transfer","tick":"
","amt":"4800000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"28"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1500"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"31.5"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
G{"p":"brc-20","op":"transfer","tick":"
","amt":"14444444444444.444"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"5"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTC.D","amt":"31"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"20000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"5"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"DNAQ","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTC.D","amt":"28"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"DIOR","amt":"5000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
B{"p":"brc-20","op":"transfer","tick":"
","amt":"4800000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"5"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"26700000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
DjB0xaa7101910e13bada55f65960d6141d01b9416982f749b2b3197009a73bb98083i
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"BTC.D","amt":"40"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"fifa","amt":"220"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
8j6{"p":"brc-20","op":"transfer","tick":"LOL","amt":"10"}J
text/plain;charset=utf-8
vrintermiamicf.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
vrintermiami.bitmaph!
text/plain;charset=utf-8
vrtracverse.bitmaph!
text/plain;charset=utf-8
vrglobalmesh.bitmaph!
text/plain;charset=utf-8
vrmayanfreedomverse.bitmaph!
text/plain;charset=utf-8
vrbitcoinreevolution.bitmaph!
text/plain;charset=utf-8
vrmessisimulation.bitmaph!
text/plain;charset=utf-8
vrbitmapmetaverse.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
vrsovereignself.bitmaph!
text/plain;charset=utf-8
vromfreedverse.bitmaph!
text/plain;charset=utf-8
vrbitcoinfreedom.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
vrcallofduty.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
vrmessiverse.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
vrminecraft.bitmaph!
text/plain;charset=utf-8
xrmessiverse.bitmaph!
text/plain;charset=utf-8
vrappleverse.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
vrleagueoflegends.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
vrapexlegends.bitmaph!
text/plain;charset=utf-8
vramazonstore.bitmaph!
text/plain;charset=utf-8
vrgooglestore.bitmaph!
text/plain;charset=utf-8
vrcounterstrike.bitmaph!
text/plain;charset=utf-8
vrinstagramstore.bitmaph!
x;ORDINALS CENTRAL PARK SKETCHED PFP by Viola MissCode #11/33
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SANTAS REVENGE</title>
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>
box-sizing: border-box;
font-family: 'Courier New', monospace;
align-items: center;
justify-content: center;
background: #000000;
pointer-events: auto;
pointer-events: none;
background: rgba(0, 0, 0, 0.8);
border: 2px solid #ff0;
padding: clamp(8px, 1vh, 15px) clamp(12px, 1.5vw, 20px);
font-family: 'Courier New', monospace;
font-size: clamp(10px, 1.2vw, 16px);
margin-bottom: clamp(3px, 0.5vh, 8px);
text-transform: uppercase;
letter-spacing: clamp(1px, 0.2vw, 3px);
font-size: clamp(18px, 2.5vw, 36px);
text-shadow: 0 0 10px #ff0;
background: rgba(0, 0, 0, 0.7);
border: 3px solid #ff0;
height: clamp(100px, 15vh, 150px);
background: linear-gradient(to top, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.7));
border-top: 3px solid #ff0;
align-items: center;
justify-content: space-around;
padding: clamp(10px, 1.5vh, 20px) clamp(15px, 2vw, 30px);
align-items: center;
gap: clamp(15px, 2vw, 30px);
.menu-section:has(.health-display) {
min-width: 40vw !important;
flex: 0 0 40vw !important;
font-size: clamp(14px, 1.8vw, 24px);
margin-bottom: 0.5%;
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
font-size: clamp(32px, 4.5vw, 64px);
filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.8));
align-items: baseline;
font-size: clamp(24px, 3vw, 48px);
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
font-size: clamp(18px, 2.2vw, 36px);
min-width: 40vw !important;
width: 40vw !important;
flex: 0 0 40vw !important;
font-size: clamp(12px, 1.2vw, 18px);
margin-bottom: 0.5%;
1px 1px 2px rgba(0, 0, 0, 0.8);
height: clamp(16px, 2vh, 24px);
background: rgba(255, 0, 0, 0.3);
border: 2px solid #ff0;
margin-bottom: 0.5%;
background: linear-gradient(to right, #0f0, #0a0);
transition: width 0.3s ease;
box-shadow: 0 0 10px rgba(0, 255, 0, 0.5);
font-size: clamp(16px, 2vw, 28px);
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
width: clamp(40px, 4vw, 60px);
height: clamp(40px, 4vw, 60px);
background: rgba(255, 255, 0, 0.2);
border: 2px solid #888;
align-items: center;
justify-content: center;
font-size: clamp(18px, 2vw, 32px);
transition: all 0.2s;
.weapon-slot:hover {
background: rgba(255, 255, 0, 0.4);
.weapon-slot.active {
background: rgba(255, 255, 0, 0.6);
box-shadow: 0 0 15px rgba(255, 255, 0, 0.5);
.weapon-slot.locked {
background: rgba(0, 0, 0, 0.7);
cursor: not-allowed;
.weapon-slot.locked::after {
transform: translate(-50%, -50%);
transform: translateX(-50%);
align-items: center;
pointer-events: none;
font-size: clamp(24px, 3vw, 36px);
filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.8));
transition: opacity 0.3s ease, transform 0.3s ease;
transform: scale(0.8);
transform: translate(-50%, -50%);
width: clamp(20px, 2.5vw, 40px);
height: clamp(20px, 2.5vw, 40px);
pointer-events: none;
transition: all 0.3s ease;
position: absolute;M
background: rgba(255, 255, 0, 0.8);
box-shadow: 0 0 5px rgba(255, 255, 0, 0.5);
.crosshair-line.horizontal {
height: clamp(2px, 0.2vw, 3px);
transform: translateY(-50%);
.crosshair-line.vertical {
width: clamp(2px, 0.2vw, 3px);
transform: translateX(-50%);
#crosshair.sniper-crosshair {
#crosshair.sniper-crosshair .crosshair-line {
background: rgba(255, 0, 0, 0.9);
0px rgba(255, 0, 0, 0.8);
#crosshair.sniper-crosshair .crosshair-line.horizontal {
height: clamp(3px, 0.4vw, 5px);
transform: translate(-50%, -50%);
#crosshair.sniper-crosshair .crosshair-line.vertical {
width: clamp(3px, 0.4vw, 5px);
transform: translate(-50%, -50%);
#crosshair.sniper-crosshair::before {
transform: translate(-50%, -50%);
width: clamp(6px, 0.8vw, 10px);
ht: clamp(6px, 0.8vw, 10px);
background: rgba(255, 0, 0, 0.9);
box-shadow: 0 0 10px rgba(255, 0, 0, 0.8);
#crosshair.sniper-crosshair::after {
transform: translate(-50%, -50%);
width: clamp(30px, 4vw, 50px);
height: clamp(30px, 4vw, 50px);
border: clamp(2px, 0.3vw, 4px) solid rgba(255, 0, 0, 0.5);
box-shadow: 0 0 5px rgba(255, 0, 0, 0.5);
transform: translate(-50%M
background: radial-gradient(circle, rgba(255, 200, 0, 0.8) 0%, rgba(255, 100, 0, 0.4) 50%, transparent 100%);
pointer-events: none;
transition: opacity 0.1s;
#muzzleFlash.active {
background: rgba(255, 0, 0, 0.5);
pointer-events: none;
transition: opacity 0.2s ease-out;
#damageIndicator.active {
animation: damageFlash 0.5s ease-out;
body.chromatic-aberration {
animation: chromaticAberration 0.5s ease-out;
@keyframes chromaticAberration {
filter: contrast(1.2) saturate(1.5);
filter: contrast(1.5) saturate(2) hue-rotate(5deg);
filter: contrast(1) saturate(1);
@keyframes damageFlash {
background: rgba(255, 0, 0, 0.7);
background: rgba(255, 0, 0, 0.5);
background: rgba(255, 0, 0, 0.3)M
display: none !important;
background: #000000;
flex-direction: column;
align-items: center;
justify-content: flex-start;
pointer-events: auto;
gap: clamp(10px, 2vh, 20px);
object-fit: contain;
margin-bottom: 20px;
visibility: visible;
object-fit: contain;
border: 3px solid #ff0;
box-shadow: 0 0 30px rgba(255, 255, 0, 0.5);
transition: transform 0.3s, box-shadow 0.3s;
transform: scale(1.05);
box-shadow: 0 0 50px rgba(255, 255, 0, 0.8);
0 0 1vw rgba(255, 255, 0, 0.8),
0 0 2vw rgba(255, 255, 0, 0.6),
0 0 3vw rgba(255, 255, 0, 0.4),
0 0 4vw rgba(255, 255M
animation: glowPulse 3s ease-in-out infinite;
letter-spacing: 0.5vw;
@keyframes glowPulse {
transform: scale(1);
0 0 10px rgba(255, 255, 0, 0.8),
0 0 20px rgba(255, 255, 0, 0.6),
0 0 30px rgba(255, 255, 0, 0.4),
0 0 40px rgba(255, 255, 0, 0.2);
transform: scale(1.05);
0 0 20px rgba(255, 255, 0, 1),
0 0 30px rgba(255, 255, 0, 0.8),
0 0 40px rgba(255, 255, 0, 0.6),
0 0 50px rgba(255, 255, 0, 0.4),
0 0 60px rgba(255, 2M
background: #000000;
flex-direction: column;
pointer-events: auto;
.intro-cube-container {
align-items: center;
justify-content: center;
.intro-text-container {
box-sizing: border-box;
tro-text-container::-webkit-scrollbar {
.intro-text-container::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0.3);
.intro-text-container::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.3);
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
font-family: 'Courier New', monospace;
white-space: pre-wrap;
word-wrap: break-word;
.typewriter-text .typewriter-line {
.typewriter-text .cursor {
display: inline-block;
background-color: #fff;
animation: blink 1s infinite;
0%, 50% { opacity: 1; }
51%, 100% { opacity: 0; }
background: rgba(0, 0, 0, 0.9);
align-items: center;
justify-content: center;
pointer-events: auto;
background: rgba(0, 0, 0, 0.8);
.controls-content h2 {
text-shadow: 0 0 10px rgba(255, 255, 0, 0.8);
.controls-content p {
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
background: #000000;
flex-direction: column;
align-items: center;
justify-content: center;
#gameOverScreen.hidden {
display: none !important;
transform: translate(-50%, -50%);
object-fit: contain;
filter: brightness(1.0) contrast(1.1);
transform: translate(-50%, -50%);
object-fit: contain;
filter: brightness(1.0) contrast(1.1);
#victoryImage.hidden {
font-size: clamp(18px, 2.4vw, 36px);
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
#gameOverScreen #gameOverText {
font-size: clamp(36px, 5vw, 72px);
text-shadow: 0 0 20px rgba(255, 0, 0, 0.8), 0 0 40px rgba(255, 0, 0, 0.5), 2px 2px 4px rgba(0, 0, 0, 0.9);
letter-spacing: 3px;
meOverScreen.won #gameOverText {
text-shadow: 0 0 20px rgba(0, 255, 0, 0.8), 0 0 40px rgba(0, 255, 0, 0.5), 2px 2px 4px rgba(0, 0, 0, 0.9);
#gameOverScreen #finalScore {
font-size: clamp(20px, 3vw, 42px);
text-shadow: 0 0 10px rgba(255, 255, 0, 0.8);
#gameOverScreen p:last-child {
font-size: clamp(16px, 2vw, 28px);
text-shadow: 0 0 10px rgba(255, 255, 0, 0.8);
text-transform: uppercase;
animation: pulse 2s ease-in-out infinite;
background: #000000;
align-items: center;
justify-content: center;
pointer-events: auto;
#creditsScreen.hidden {
display: none !important;
align-items: center;
justify-content: center;
font-family: 'CouriM
animation: creditsScroll 15s linear forwards;
.credits-scroll h1 {
margin-bottom: 40px;
text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
.credits-scroll h2 {
margin: 30px 0 15px 0;
text-shadow: 0 0 10px rgba(255, 102, 0, 0.5);
@keyframes creditsScroll {
transform: translateY(100vh);
transform: translateY(-100vh);
background: rgba(0, 0, 0, 0.95);
align-items: center;
justify-content: center;
pointer-events: auto;
#statisticsScreen.hidden {
display: none !important;
.statistics-content {
background: rgba(20, 20, 20, 0.95);
border: 3px solid #ff0;
padding: clamp(30px, 5vw, 60px);
border-radius: 15px;
box-shadow: 0 0 40px rgbaM
.statistics-content h2 {
font-size: clamp(28px, 4vw, 48px);
margin-bottom: 30px;
text-shadow: 0 0 10px rgba(255, 255, 0, 0.8);
text-transform: uppercase;
letter-spacing: 4px;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid rgba(255, 255, 0, 0.3);
font-size: clamp(18px, 2.5vw, 32px);
.stat-row:last-of-type {
border-bottom: none;
font-weight: normal;
text-transform: uppercase;
letter-spacing: 2px;
text-shadow: 0 0 10px rgba(255, 255, 0, 0.6);
font-size: clamp(16px, 2vw, 24px);
text-shadow: 0 0 10px rgba(255, 255, 0, 0.8);
text-transform: uppercase;
letter-spacing: 2px;
animation: pulse 2s ease-in-out infinite;
transform: scale(1);
transform: scale(1.05);
transform: translate(-50%, -50%);
pointer-events: none;
transition: opacity 0.1s ease-out;
display: none !important;
background: #ffffff;
box-shadow: 0 0 8px rgba(255, 255, 255, 0.8);
.hitmarker-horizontal {
orm: translate(-50%, -50%);
.hitmarker-vertical {
transform: translate(-50%, -50%);
#hitmarker.active .hitmarker-line {
animation: hitmarkerFlash 0.15s ease-out;
@keyframes hitmarkerFlash {
transform: translate(-50%, -50%) scale(0.5);
transform: translate(-50%, -50%) scale(1.2);
transform: translate(-50%, -50%) scale(1);
transform: translate(-50%, -50%)M
font-size: clamp(48px, 8vw, 120px);
0 0 20px rgba(255, 0, 0, 1),
0 0 40px rgba(255, 0, 0, 0.8),
0 0 60px rgba(255, 0, 0, 0.6),
4px 4px 8px rgba(0, 0, 0, 1);
pointer-events: none;
text-transform: uppercase;
letter-spacing: 8px;
display: none !important;
animation: killTextAnimation 1.5s ease-out forwards;
#killText.headshot {
0 0 40px rgba(255, 255, 0, 0.8),
0 0 60px rgba(255, 255, 0, 0.6),
4px 4px 8px rgba(0, 0, 0, 1);
@keyframes killTextAnimation {
transform: translate(-50%, -50%) scale(0.5) rotate(-10deg);
transform: translate(-50%, -50%) scale(1.2) rotate(5deg);
transform: translate(-50%, -50%) scale(1) rotate(-2deg);
transform: translate(-50%, -50%) scale(1.05) rotate(1deg);
transform: translate(-50%, -50%) scale(0.8) rotate(0deg);
font-size: clamp(24px, 4vw, 48px);
0 0 10px rgba(255, 255, 255, 0.8),
2px 2px 4px rgba(0, 0, 0, 0.9);
pointer-events: none;
text-transform: uppercase;
letter-spacing: 4px;
#weaponSwitchAnimation.hidden {
display: none !important;
#weaponSwitchAnimation.active {
animation: weaponSwitchAnimation 0.8s ease-out forwards;
@keyframes weaponSwitchAnimatioM
transform: translateX(100px);
transform: translateX(0);
transform: translateX(0);
transform: translateX(100px);
#weaponUnlockMessage {
transform: translate(-50%, -50%);
pointer-events: none;
.weapon-unlock-content {
background: rgba(0, 0, 0, 0.9);
border: 3px solid #ff0;
padding: clamp(20px, 3vw, 40px) clamp(30px, 5vw, 60px);
border-radius: 10px;
box-shadow: 0 0 30px rgba(255M
.weapon-unlock-content p {
font-size: clamp(24px, 4vw, 48px);
text-shadow: 0 0 20px rgba(255, 255, 0, 0.8);
letter-spacing: 3px;
animation: unlockPulse 0.5s ease-out;
@keyframes unlockPulse {
transform: scale(0.5);
transform: scale(1.2);
transform: scale(1);
align-items: center;
pointer-events: none;
.start-message-content {
background: rgba(0, 0, 0, 0.9);
border: 3px solid #ff0;
border-radius: 10px;
animation: fadeInOut 4s ease-in-out;
.start-message-content p {
text-transform: uppercase;
letter-spacing: 0.3vw;
0 0 10px rgba(255, 255, 0, 1),
0 0 20px rgba(255, 255, 0, 0.8),
0 0 30px rgba(255, 255, 0, 0.6);
@keyframes fadeInOut {
transform: scale(0.8);
transform: scale(1);
transform: scale(1);
transform: scale(0.8);
pointer-events: none;
transition: opacity 0.2s ease-in-out;
#sniperVignette.active {
pointer-events: none;
transition: opacity 0.M
background: radial-gradient(
rgba(255, 0, 0, 0.3) 60%,
rgba(255, 0, 0, 0.5) 80%,
rgba(255, 0, 0, 0.7) 100%
#sniperVignette::before {
background: radial-gradient(
rgba(0, 0, 0, 0.4) 30%,
rgba(0, 0, 0, 0.7) 33%,
rgba(0, 0, 0, 0.85) 36%,
rgba(0, 0, 0, 0.95) 39%,
rgba(0, 0, 0, 1) 42%,
rgba(0, 0, 0, 1) 100%
#sniperVignette::after {
transform: translate(-50%, -50%);
border: 2px solid rgba(150, 150, 150, 0.6);
inset 0 0 30px rgba(0, 0, 0, 0.9),
0 0 40px rgba(0, 0, 0, 0.7),
inset 0 0 10px rgba(255, 255, 255, 0.1);
pointer-events: none;
#edgeChallengeOverlay {
pointer-events: none;
#edgeChallengeOverlay.hidden {
#edgeChallengeRedScreen {
background: rgba(255, 0, 0, 0.3);
transition: background 0.3s;
#edgeChallengeContent {
transform: translate(-50%, -50%);
font-family: 'Courier New', monospace;
#edgeChallengeText {
text-transform: uppercase;
text-shadow: 0 0 20px rgba(255, 0, 0, 0.8), 0 0 40px rgba(255, 0, 0, 0.6);
margin-bottom: 20px;
animation: pulse 1s infinite;
geChallengeDirection {
#edgeChallengeCountdown {
text-shadow: 0 0 30px rgba(255, 255, 255, 0.9);
animation: countdownPulse 1s infinite;
#edgeChallengeProgress {
background: rgba(0, 0, 0, 0.7);
border: 2px solid #fff;
border-radius: 15px;
margin: 30px auto 0;
#edgeChallengeProgressBar {
background: linear-gradient(90deg, #ff0000, #ff6600);
transition: width 0.1s, background 0.3M
s, margin-left 0.1s;
border-radius: 15px;
#edgeChallengeProgressBar.completed {
background: linear-gradient(90deg, #00ff00, #66ff00);
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.8; transform: scale(1.05); }
@keyframes countdownPulse {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.1); }
background: rgba(0, 0, 0, 0.9);
justify-content: center;
pointer-events: auto;
#settingsMenu.hidden {
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
border: 3px solid #ff0;
border-radius: 20px;
box-shadow: 0 0 50px rgba(255, 255, 0, 0.5);
.settings-content h2 {
margin-bottom: 30px;
text-shadow: 0 0 20px rgba(255, 255, 0, 0.8);
letter-spacing: 3px;
margin-bottom: 30px;
.settings-item label {
margin-bottom: 10px;
align-items: center;
.slider-container input[type="range"] {
-webkit-appearance: none;
.slider-container input[type="range"]::-webkit-slider-thumb {
box-shadow: 0 0 10px rgba(255, 255, 0, 0.8);
transition: all 0.2s;
.slider-container input[type="range"]::-webkit-slider-thumb:hover {
background: #ffaa00;
transform: scale(1.2);
.slider-container input[type="range"]::-moz-range-thumb {
box-shadow: 0 0 10px rgba(255, 255, 0, 0.8);
transition: all 0.2s;
.slider-container input[type="range"]::-moz-range-thumb:hover {
background: #ffaa00;
transform: scale(1.2);
.slider-container span {
text-shadow: 0 0 10px rgba(255, 255, 0, 0.8);
justify-content: center;
background: linear-gradient(135deg, #ff0 0%, #ffaa00 100%);
border: 2px solid #ff0;
border-radius: 10px;
transition: all 0.3s;
text-transform: uppercase;
letter-spacing: 2px;
box-shadow: 0 0 20px rgba(255, 255, 0, 0.5);
#settingsCloseBtn:hover {
background: linear-gradient(135deg, #ffaa00 0%, #ff0 100%);
transform: scale(1.05);
box-shadow: 0 0 30px rgba(255, 255, 0, 0.8);
#settingsCloseBtn:active {
transform: scale(0.95);
background: linear-gradient(135deg, #ff0000 0%, #cc0000 100%);
border: 2px solid #ff0000;
transition: all 0.3s;
text-transform: uppercase;
letter-spacing: 2px;
box-shadow: 0 0 20px rgba(255, 0, 0, 0.5);
#settingsQuitBtn:hover {
background: linear-gradient(135deg, #cc0000 0%, #ff0000 100%);
transform: scale(1.05);
box-shadow: 0 0 30px rgba(255, 0, 0, 0.8);
#settingsQuitBtn:active {
transform: scale(0.95);
margin-top: clamp(8px, 1vh, 12px);
pointer-events: none;
ize: clamp(10px, 1.2vw, 14px);
text-shadow: 0 0 5px rgba(255, 255, 0, 0.8);
text-transform: uppercase;
letter-spacing: 0.5px;
.restart-hint p:first-child {
.restart-hint p:last-child {
<div id="gameContainer">
<canvas id="gameCanvas"></canvas>
<div id="scoreDisplay">
<div class="score-label">SCORE</div>
<div id="scoreValue">0</div>
<canvas id="minimapCanvas"></canvasM
<div id="bottomMenu">
<div class="menu-section">
<div class="weapon-display">
<div id="weaponName">PISTOL</div>
<div id="weaponIcon">
<div class="menu-section">
<div class="ammo-display">
<div id="ammoCurrent">12</div>
<div id="ammoSeparator">/</div>
<div id="ammoTotal">120</div>
<div class="menu-section">
<div class="health-display">
<div class="health-label">HEALTH</div>
<div class="health-bar">
<div id="healthBarFill" style="width: 100%"></div>
<div class="lives-display" style="margin-top: 10px; color: #fff; font-size: 14px; font-family: 'Courier New', monospace;">
<div class="lives-label">LIVES</div>
<div id="livesValue" style="font-size: 20px; font-weight: bold; color: #ff0;">3</div>
<div class="menu-section">
<div class="weapon-selector">
<div class="weapon-slot active" data-weapon="pistol">1</div>
<div class="weapon-slot" data-weapon="rifle">2</div>
<div class="weapon-slot" data-weapon="mg">3</div>
apon-slot" data-weapon="sniper">4</div>
<div class="weapon-slot" data-weapon="grenade">5</div>
<div id="restartHint" class="restart-hint hidden">
<p>Press R to Restart</p>
<p>Press M for Medikit</p>
<p>Press ESC for Setup</p>
<div id="medkitDisplay" style="margin-top: 8px; font-size: clamp(10px, 1.2vw, 14px); font-weight: bold; text-align: center;">MEDKITS: 0</div>
<div id="livesIndicator" class="lives-indicator">
<div class="life-dot" id="life1">
<div class="life-dot" id="lifeM
<div class="life-dot" id="life3">
<div id="crosshair">
<div class="crosshair-line horizontal"></div>
<div class="crosshair-line vertical"></div>
<div id="muzzleFlash" class="hidden"></div>
<div id="damageIndicator"></div>
<div id="sniperVignette" class="hidden"></div>
<div id="healthVignette" class="hidden"></div>
<div id="edgeChallengeOverlay" class="hidden">
<div id="edgeChallengeRedScreen"></div>
<div id="edgeChallengeContent">
<div id="edgeChallengeText">TURN <span id="edgeM
ChallengeDirection">RIGHT</span>!</div>
<div id="edgeChallengeCountdown">5</div>
<div id="edgeChallengeProgress">
<div id="edgeChallengeProgressBar"></div>
<div id="hitmarker" class="hidden">
<div class="hitmarker-line hitmarker-horizontal"></div>
<div class="hitmarker-line hitmarker-vertical"></div>
<div id="killText" class="hidden"></div>
<div id="weaponSwitchAnimation" class="hidden"></div>
<div id="fpsDisplay" class="hidden" style="position: absolute; top: 10px; right: 10px; backgrouM
nd: rgba(0, 0, 0, 0.7); padding: 5px 10px; border: 1px solid #ff0; border-radius: 3px; font-family: 'Courier New', monospace; font-size: 14px; color: #ff0; z-index: 1000;">
FPS: <span id="fpsValue">0</span>
<div id="killstreakDisplay" class="hidden" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-family: 'Courier New', monospace; font-size: 48px; font-weight: bold; color: #ff0; text-shadow: 0 0 20px #ff0, 0 0 40px #ff0; z-index: 1000; pointer-events: none; transition: oM
<div id="killstreakText">KILLSTREAK x<span id="killstreakValue">0</span></div>
<div id="passwordScreen" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #000000; display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 10001; gap: 20px;">
<h2 style="color: #ffffff; font-family: 'Courier New', monospace; font-size: 32px; margin-bottom: 20px;">INPUT PASSWORD</h2>
<input type="password" id="passwordInput" style="padding: 1M
5px; font-size: 24px; font-family: 'Courier New', monospace; text-align: center; background: #111111; color: #ffffff; border: 2px solid #333333; border-radius: 5px; width: 300px; outline: none;" autofocus>
<div id="passwordError" style="color: #ff0000; font-family: 'Courier New', monospace; font-size: 18px; min-height: 25px; visibility: hidden;">Wrong password!</div>
<button id="passwordSubmit" style="padding: 15px 30px; font-size: 20px; font-family: 'Courier New', monospace; background: #333333; color: #ffffff; boM
rder: 2px solid #555555; border-radius: 5px; cursor: pointer; transition: background 0.3s;">SUBMIT</button>
<div id="startScreen" class="hidden" style="cursor: pointer; pointer-events: auto;">
<img id="titleImage" src="/content/deb26b2ffea9c2b4ba374b978d964d965202b1bca2d6220269332567130934c8i0" alt="Title" onerror="this.style.display='none'; console.error('Title image not found');">
<img id="startImage" src="/content/120edece495b940967669b9078c7157998893c63743a851b9c5eae1c51ab1d76i0" alt="Start">
artDifficultySelection" style="position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%); z-index: 100; pointer-events: auto; text-align: center;">
<label for="startDifficultySelect" style="display: block; color: #ff0; font-size: clamp(16px, 2vw, 24px); font-family: 'Courier New', monospace; margin-bottom: 10px; text-shadow: 0 0 10px rgba(255, 255, 0, 0.8); font-weight: bold;">DIFFICULTY</label>
<select id="startDifficultySelect" style="padding: 10px 20px; font-size: clamp(14px, 1.8vw, 20px); font-famM
ily: 'Courier New', monospace; background: rgba(0, 0, 0, 0.8); color: #ff0; border: 2px solid #ff0; border-radius: 5px; cursor: pointer; text-align: center; min-width: 150px;">
<option value="easy">Easy</option>
<option value="medium">Medium</option>
<option value="hard">Hard</option>
<div id="startText">START</div>
<div id="introScreen" class="hidden" style="cursor: pointer; pointer-events: auto; z-index: 10000;">
<div id="introCubeContainer" class="intro-cube-container"></div>
roTextContainer" class="intro-text-container">
<div id="introTypewriterText" class="typewriter-text"></div>
<div id="controlsHelp" class="hidden">
<div class="controls-content">
<p>Arrow Keys / Q/E - Rotate Left/Right</p>
<p>Arrow Keys Up/Down / Z/X - Look Up/Down</p>
<p>Mouse - Look (optional)</p>
<p>Left Click / Space - Shoot</p>
<p>1-6 - Switch Weapon</p>
<p>R - Restart Level</p>
<p>M - Use Medikit</p>
<p>H - Toggle Help</p>
<p>ESC - Settings</M
<div id="gameOverScreen" class="hidden">
<img id="gameOverImage" src="/content/49ca2052d770da65aab6340c169a852ab57e941be92593edfcb7172025baf2d5i0" alt="Game Over" class="hidden">
<img id="victoryImage" src="/content/c628902f89dbeab67a396cbc997a42d631fbe9d2e98d538cd93fae7267501e93i0" alt="Victory" class="hidden">
<p id="gameOverText"></p>
<p id="finalScore">Final Score: 0</p>
<p>Press R to Restart</p>
<div id="startMessage" class="hidden">
<div class="start-message-content">
<p>- FIND THE EXIT</p>
<div id="pauseOverlay" class="hidden" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); z-index: 9999; display: flex; align-items: center; justify-content: center; pointer-events: none;">
<div style="color: #ff0; font-size: 48px; font-family: 'Courier New', monospace; font-weight: bold; text-shadow: 3px 3px 6px rgba(0,0,0,0.8);">PAUSED</div>
<div id="settingsMenu" class="hidden">
<div class="settings-content">
<div class="settings-item">
<label for="mouseSensitivitySlider">Mouse Sensitivity</label>
<div class="slider-container">
<input type="range" id="mouseSensitivitySlider" min="3.5" max="4.5" step="0.1" value="4.0">
<span id="mouseSensitivityValue">4.0</span>
<div class="settings-item">
<label for="volumeSlider">Volume</label>
<div class="slider-container">
<input type="range" id="volumeSlider" min="0" max="100" step="1" value="70">
<span id="volumeValue">70%</span>
<label for="showPatternsCheckbox">
<input type="checkbox" id="showPatternsCheckbox" checked>
Show Wall/Floor/Sky Patterns
<span class="settings-hint">Disable for better performance on slower computers</span>
<div class="settings-item">
<label for="showFPSCheckbox">
<input type="checkbox" id="showFPSCheckbox">
<div class="settings-item">
<label for="shadowQualitySelect">Shadow Quality</label>
<select id="shadowQualitySelect">
<option value="high">HiM
<option value="medium">Medium</option>
<option value="low">Low</option>
<option value="off">Off</option>
<div class="settings-item">
<label for="difficultySelect">Difficulty</label>
<select id="difficultySelect">
<option value="easy">Easy</option>
<option value="medium">Medium</option>
<option value="hard">Hard</option>
<span class="settings-hint">Affects enemy speed, damage, health and spawn count</span>
<div class="settings-item">
<label for="adaptivePerformanceCheckbM
<input type="checkbox" id="adaptivePerformanceCheckbox" checked>
Adaptive Performance
<span class="settings-hint">Automatically adjusts quality based on FPS</span>
<div class="settings-item">
<label for="aimAssistCheckbox">
<input type="checkbox" id="aimAssistCheckbox">
<span class="settings-hint">Helps aim at nearby enemies</span>
<div class="settings-item">
<label for="reflectionsCheckbox">
<input type="checkbox" id="reflectionsCheckbox" checked>
Surface ReflectionsM
<span class="settings-hint">Enable reflections on walls and floors</span>
<div class="settings-item">
<label for="renderScale50Checkbox">
<input type="checkbox" id="renderScale50Checkbox">
<span class="settings-hint">Reduces render size to 50% for better performance on slower PCs</span>
<div class="settings-buttons">
<button id="settingsQuitBtn">Quit</button>
<button id="settingsCloseBtn">Close (ESC)</button>
<div id="weaponUnlockMessage" class=M
<div class="weapon-unlock-content">
<p id="weaponUnlockText"></p>
<div id="creditsScreen" class="hidden">
<div class="credits-content">
<div class="credits-scroll">
<div class="credits-section">
<h2>made by RichArt</h2>
<div class="credits-section">
<h2>Special Thanks</h2>
<p>To all players who survived Christmas</p>
<p>And retrieved the Sacred Cube</p>
<div class="credits-section">
<h2>Thank You For Playing!</h2>
<p>Press any key to continue...</p>
<div id="statisticsScreen" class="hidden">
<div class="statistics-content">
<h2>MISSION STATISTICS</h2>
<div class="stat-row">
<span class="stat-label">Total Kills:</span>
<span id="statKills" class="stat-value">0</span>
<div class="stat-row">
<span class="stat-label">Accuracy:</span>
<span id="statAccuracy" class="stat-value">0%</span>
<div class="stat-row">
<span class="stat-label">Time:</span>
<span id="statTime" class="stat-value">0:00</span>
<div class="stat-row">
ass="stat-label">Weapons Used:</span>
<span id="statWeapons" class="stat-value">-</span>
<div class="stat-row">
<span class="stat-label">Headshots:</span>
<span id="statHeadshots" class="stat-value">0</span>
<div class="stat-row">
<span class="stat-label">Max Killstreak:</span>
<span id="statMaxKillstreak" class="stat-value">0</span>
<div class="stat-row">
<span class="stat-label">Killstreak Bonus:</span>
<span id="statKillstreakBonus" class="stat-value">0x</span>
<p class="statistics-hiM
nt">Press R to Continue</p>
<script type="importmap">
"three": "/content/0d013bb60fc5bf5a6c77da7371b07dc162ebc7d7f3af0ff3bd00ae5f0c546445i0",
"three/addons/loaders/GLTFLoader.js": "/content/af27eb654e3f1ce4036fd5b415fe441202f0c784e3e1e03cb63890b5e820297ci0"
<script type="module">
export class MouseControl {
constructor(options = {}) {
this.canvas = options.canvas || null;
this.onRotation = options.onRotation || (() => {}); // Callback: (deltaX, deltaY) => void
isActive = options.isActive || (() => true); // Callback: () => boolean
this.isPointerLocked = options.isPointerLocked || (() => false); // Callback: () => boolean
this.rotationSpeed = options.rotationSpeed || 0.005; // Fallback-Modus
this.pointerLockRotationSpeed = options.pointerLockRotationSpeed || 0.003; // Pointer Lock Modus
this.baseSensitivity = options.baseSensitivity || 1.0;
this.sensitivityMultiplier = options.sensitivityMultiplier || (() => 1.0); // Callback f
r dynamische Sensitivit
Threshold = options.minRotationThreshold || 0.5; // Minimale Bewegung, um Zittern zu vermeiden
this.maxDelta = options.maxDelta || 200; // Maximale Delta vor Reset (Maus angehoben)
this.warpThresholdPercent = options.warpThresholdPercent || 0.15; // Prozent des Canvas-Radius f
this.edgeThreshold = options.edgeThreshold || 60; // Pixel vom Rand f
this.isMouseControlActive = false;
this.firstMove = true;
this.lastMouseX = 0;
this.lastMouseY = 0;
this.lastMousePosition = { x: 0, y: 0 };
this.mouseMoveHandler = null;
this.mouseInsideCanvas = false;
if (!this.canvas) return;
this.mouseMoveHandler = (e) => this.handleMouseMove(e);
this.canvas.addEventListener('mousemove', this.mouseMoveHandler);
document.addEventListener('mousemove', this.mouseMoveHandler);
this.canvas.addEventListener('click', (e) => {
if (this.isActive() && !this.isPointerLocked() && !this.isMouseControlActive) {
this.canvas.addEventListener('mouseenter'M
this.mouseInsideCanvas = true;
if (this.isMouseControlActive && !this.isPointerLocked()) {
this.firstMove = true;
this.canvas.addEventListener('mouseleave', () => {
this.mouseInsideCanvas = false;
if (this.isMouseControlActive && !this.isPointerLocked()) {
this.firstMove = true;
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape' && this.isMouseControlActive && !this.isPointerLocked() && this.isActive()) {
}, false); // capture: false, damit andere ListeneM
document.addEventListener('pointerlockchange', () => {
if (this.isPointerLocked()) {
this.deactivate(); // Pointer Lock hat Vorrang
console.log('activate() aufgerufen', {
isMouseControlActive: this.isMouseControlActive,
isActive: this.isActive(),
canvas: !!this.canvas,
isPointerLocked: this.isPointerLocked()
if (!this.isMouseControlActive && this.isActive()) {
this.isMouseControlActive = true;
this.firstMove = true;
this.canvas.style.cursor = 'nonM
e'; // Verstecke Cursor
console.log('MouseControl aktiviert');
console.log('MouseControl NICHT aktiviert - Bedingung nicht erf
isMouseControlActive: this.isMouseControlActive,
isActive: this.isActive()
if (this.isMouseControlActive) {
this.isMouseControlActive = false;
this.firstMove = true;
this.canvas.style.cursor = 'default'; // Zeige Cursor wieder
return this.isMouseControlActive;
if (this.watchInterval) return;
if (this.watchInterval) {
cancelAnimationFrame(this.watchInterval);
this.watchInterval = null;
handleMouseMove(e) {
if (!this.isActive()) return;
if (this.isPointerLocked()) {
const sensitivity = this.baseSensitivity * this.sensitivityMultiplier();
const maxDeltaPerFrame = 50; // Maximale Bewegung pro Frame in Pixeln
let deltaX = Math.max(-maxDeltaPerFrame, Math.min(maxDeltaPerFrame, e.movementX || 0));
let deltaY = Math.max(-maxDeltaPerFrame, Math.min(maxDeM
ltaPerFrame, e.movementY || 0));
const rotationX = deltaX * this.pointerLockRotationSpeed * sensitivity;
const rotationY = deltaY * this.pointerLockRotationSpeed * sensitivity;
const maxRotationPerFrame = 0.15; // Maximale Rotation pro Frame in Radiant
const finalRotationX = Math.max(-maxRotationPerFrame, Math.min(maxRotationPerFrame, rotationX));
const finalRotationY = Math.max(-maxRotationPerFrame, Math.min(maxRotationPerFrame, rotationY));
if (this.isActive()) {
this.onRotation(finalRotationX, finalRotationY);
if (this.isMouseControlActive && !this.isPointerLocked()) {
if (!this.canvas) return;
const container = document.getElementById('gameContainer');
const rect = container ? container.getBoundingClientRect() : this.canvas.getBoundingClientRect();
const canvasCenterX = rect.left + rect.width / 2;
const canvasCenterY = rect.top + rect.height / 2;
if (this.firstMove) {
this.lastMouseX = e.clientX;
this.lastMouseY = e.clientY;
this.firstMove = false;
return; // Keine Rotation beim ersten Event
if (typeof e.movementX !== 'undefined' && typeof e.movementY !== 'undefined' &&
(e.movementX !== 0 || e.movementY !== 0)) {
deltaX = e.movementX;
deltaY = e.movementY;
deltaX = e.clientX - this.lastMouseX;
deltaY = e.clientY - this.lastMouseY;
if (Math.abs(deltaX) > this.maxDelta || Math.abs(deltaY) > this.maxDelta) {
this.lastMouseX = e.clientX;
this.lastMouseY = e.clientY;
this.firstMove = true;
if (Math.abs(deltaX) < this.minRotationThreshold && Math.abs(deltaY) < this.minRotationThresholM
const maxDeltaPerFrame = 50; // Maximale Bewegung pro Frame in Pixeln
deltaX = Math.max(-maxDeltaPerFrame, Math.min(maxDeltaPerFrame, deltaX));
deltaY = Math.max(-maxDeltaPerFrame, Math.min(maxDeltaPerFrame, deltaY));
const sensitivity = this.baseSensitivity * this.sensitivityMultiplier();
const rotationX = deltaX * this.rotationSpeed * sensitivity;
const rotationY = deltaY * this.rotationSpeed * sensitivity;
const maxRotationPerFrame = 0.15; // Maximale Rotation pro Frame in Radiant
ationX = Math.max(-maxRotationPerFrame, Math.min(maxRotationPerFrame, rotationX));
const finalRotationY = Math.max(-maxRotationPerFrame, Math.min(maxRotationPerFrame, rotationY));
this.onRotation(finalRotationX, finalRotationY);
this.lastMouseX = e.clientX;
this.lastMouseY = e.clientY;
if (this.mouseMoveHandler) {
document.removeEventListener('mousemove', this.mouseMoveHandler);
window.MouseControl = MouseControl;
<script type="module">
s THREE from 'three';
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
const MouseControlLib = window.MouseControl;
console.log('MouseControl Bibliothek geladen:', typeof MouseControlLib);
let scene, camera, renderer, controls;
let player, enemies = [], pickups = [], bullets = [], particles = [];
let snowParticles = []; // Schnee-Partikel f
const MAX_PARTICLES = 100;
let levelInitialized = false; // Flag: Level vollst
let victoryCube = null; // W
let bossDefeated = false; // Flag: Boss besiegt
let cubeCollected = false; // Flag: W
let introCubeRenderer = null; // Renderer f
r Victory Cube im Intro
let introCubeScene = null; // Scene f
r Victory Cube im Intro
let introCubeCamera = null; // Camera f
r Victory Cube im Intro
let introCubeMesh = null; // Mesh f
r Victory Cube im Intro
let introCubeAnimationId = null; // Animation Frame ID
let typewriterTimeout = null; // Timeout f
let level4SkyMesh = null; // Sky M
let level4SkyTexture = null; // Original Ordinal-Textur
let level4SkyTransition = {
duration: 5000, // 5 Sekunden
targetColor: 0x87CEEB // Normaler Himmel (Himmelblau)
let gameState = 'menu'; // menu, playing, paused, gameover
let mouse = { x: 0, y: 0, isLocked: false, isDown: false };
let playerHealth = 100;
let playerLives = 3; // Anzahl Leben (kann 3 mal vom Level neu starten)
let playerAmmo = {};
let playerMedkits = 0; // Medikits im Inventar
lastAmmoSpawnCheck = false; // Flag um zu verhindern, dass mehrfach gespawnt wird
let currentWeapon = 'pistol';
let particlePool = []; // Object Pool f
let shadowQuality = 'medium';
let adaptivePerformance = true; // Automatische Performance-Anpassung
let currentFPS = 60;
let performanceLevel = 1.0; // 1.0 = voll, 0.5 = reduziert
let aimAssistEnabled = false; // Aim-Assist deaktiviert (standardm
let difficultyLevel = 'easy';
const difficultyMultipliers = {
d: 1.0, enemyDamage: 1.0, enemyHealth: 1.0, enemyFireRate: 1.0, enemyCount: 1.0, enemyAccuracy: 1.0},
medium: {enemySpeed: 1.5, enemyDamage: 1.5, enemyHealth: 1.3, enemyFireRate: 1.5, enemyCount: 1.4, enemyAccuracy: 1.2},
hard: {enemySpeed: 2.0, enemyDamage: 2.0, enemyHealth: 1.8, enemyFireRate: 2.0, enemyCount: 1.8, enemyAccuracy: 1.5}
let aimAssistStrength = 0.5; // St
rke des Aim-Assists (0-1) - erh
r bessere Sichtbarkeit
let fpsHistory = []; // FPS-Historie f
r adaptive Performance
let unlockedWeapons = new Set(['pistol', 'rifle', 'grenade']); // Standard-Waffen sind freigeschaltet
let weaponUnlockScores = {
mg: 10000, // Machine Gun nach 10000 Punkten ODER sp
sniper: 30000 // Sniper nach 30000 Punkten ODER sp
let minimapCanvas, minimapCtx;
let lastMinimapUpdate = 0;
const MINIMAP_UPDATE_INTERVAL = 100;
let lastShotTime = 0;
let isReloading = false;
let sniperZoom = false;
r kontinuierliches Schie
let playerScore = 0;
let currentLevel = 1;
let exitPortal = null;
let visitedCells = [];
let weaponMesh = null;
let targetRotationY = 0;
let targetRotationX = 0;
const keyboardRotationSpeed = 0.03; // Anpassbar f
r schnellere/langsamere Rotation
let currentRotationY = 0;
let currentRotationX = 0;
let mousePositionX = 0.5; // Normalisierte Mausposition (0.0 - 1.0), Start in der Mitte
let isMouseOverCanvas = false; // Pr
const EDGE_ROTATION_CONFIG = {
threshold: 0.3, // Safe zone (30% in der Mitte, keine Rotation) - ERH
maxRotationSpeed: 0.003, // Maximale Rotationsgeschwindigkeit (Radiant pro Frame bei 60 FPS) - ERH
smoothing: 0.15, // Lerp-Faktor f
r smooth Rotation (0.0 - 1.0)
enabled: true, // Aktiviert/Deaktiviert
challengeThreshold: 0.42 // Threshold f
r Challenge-Trigger (42% vom Rand entfernt)
function calculateEdgeRotation() {
if (!EDGE_ROTATION_CONFM
IG.enabled || gameState !== 'playing' || sniperZoom) {
if (!isMouseOverCanvas) {
const x = mousePositionX;
const centerDelta = x - 0.5;
if (Math.abs(centerDelta) <= EDGE_ROTATION_CONFIG.threshold) {
return 0; // Keine Rotation in der Safe Zone
const edgeDistance = 0.5 - EDGE_ROTATION_CONFIG.threshold; // 0.3 bei threshold 0.2
const distanceFromThreshold = Math.abs(centerDelta) - EDGE_ROTATION_CONFIG.threshold;
const factor = Math.min(1.0, distanceFromThreshold / edgeDistance);
onSpeed = factor * EDGE_ROTATION_CONFIG.maxRotationSpeed * Math.sign(centerDelta);
return rotationSpeed;
function startEdgeChallenge(direction) {
if (edgeChallenge.active) return; // Bereits aktiv
edgeChallenge.active = true;
edgeChallenge.direction = direction;
edgeChallenge.timeRemaining = 5000; // 5 Sekunden
edgeChallenge.startRotation = player.rotation.y;
edgeChallenge.lastRotation = player.rotation.y;
edgeChallenge.currentRotation = 0;
edgeChallenge.completed = false;
const overlay = document.getElementById(M
'edgeChallengeOverlay');
const directionEl = document.getElementById('edgeChallengeDirection');
const progressBar = document.getElementById('edgeChallengeProgressBar');
overlay.classList.remove('hidden');
directionEl.textContent = direction.toUpperCase();
progressBar.style.width = '0%';
progressBar.classList.remove('completed');
if (direction === 'left' && turnLeftSound) {
turnLeftSound.currentTime = 0;
turnLeftSound.play().catch(e => console.warn('Turn lefM
t sound failed:', e));
} else if (direction === 'right' && turnRightSound) {
turnRightSound.currentTime = 0;
turnRightSound.play().catch(e => console.warn('Turn right sound failed:', e));
console.log('Edge Challenge started:', direction);
function updateEdgeChallenge() {
if (!edgeChallenge.active || gameState !== 'playing') return;
const deltaTime = 16; // ~60 FPS
edgeChallenge.timeRemaining -= deltaTime;
let rotationDelta = player.rotation.y - edgeChallenge.lastRotation;
while (rotationDelta > Math.PI) rotatioM
nDelta -= 2 * Math.PI;
while (rotationDelta < -Math.PI) rotationDelta += 2 * Math.PI;
if (edgeChallenge.direction === 'right') {
if (rotationDelta < 0) {
edgeChallenge.currentRotation += Math.abs(rotationDelta);
} else if (rotationDelta > 0) {
edgeChallenge.currentRotation = Math.max(0, edgeChallenge.currentRotation - rotationDelta);
if (rotationDelta > 0) {
edgeChallenge.currentRotation += rotationDelta;
} else if (rotationDelta < 0) {
edgeChallenge.currentRotation = Math.max(0, edgeChallenge.currentRotM
ation - Math.abs(rotationDelta));
edgeChallenge.currentRotation = Math.min(edgeChallenge.currentRotation, edgeChallenge.targetRotation);
edgeChallenge.lastRotation = player.rotation.y;
const countdownEl = document.getElementById('edgeChallengeCountdown');
const progressBar = document.getElementById('edgeChallengeProgressBar');
const progress = Math.min(1.0, edgeChallenge.currentRotation / edgeChallenge.targetRotation);
const seconds = Math.ceil(edgeChallenge.timeRemaining / 1000);
.textContent = Math.max(0, seconds);
const progressPercent = progress * 100;
if (edgeChallenge.direction === 'left') {
progressBar.style.width = progressPercent + '%';
progressBar.style.marginLeft = 'auto';
progressBar.style.marginRight = '0';
progressBar.style.transform = 'scaleX(-1)'; // Spiegle horizontal f
r visuelles Feedback
progressBar.style.width = progressPercent + '%';
progressBar.style.marginLeft = '0';
progressBar.style.marginRight = 'auto';
progressBar.style.transform = 'M
scaleX(1)'; // Keine Spiegelung
if (progress >= 1.0 && !edgeChallenge.completed) {
edgeChallenge.completed = true;
progressBar.classList.add('completed');
console.log('Edge Challenge completed!');
if (edgeChallenge.currentRotation >= edgeChallenge.targetRotation) {
endEdgeChallenge(true);
if (edgeChallenge.timeRemaining <= 0) {
endEdgeChallenge(false);
function endEdgeChallenge(success) {
if (!edgeChallenge.active) return;
edgeChallenge.active = false;
const overlay = document.getElementById('edM
geChallengeOverlay');
overlay.classList.add('hidden');
console.log('Edge Challenge erfolgreich abgeschlossen!');
console.log('Edge Challenge fehlgeschlagen! -25% Gesundheit');
if (challengeFailSound) {
challengeFailSound.currentTime = 0;
challengeFailSound.play().catch(e => console.warn('Challenge fail sound failed:', e));
function startSkyTransition() {
if (!level4SkyMesh || currentLevel !== 4) return;
level4SkyTransition.active = true;
tion.startTime = Date.now();
console.log('Sky transition started - switching to normal sky over 5 seconds');
function updateSkyTransition() {
if (!level4SkyTransition.active || !level4SkyMesh || currentLevel !== 4) return;
const elapsed = Date.now() - level4SkyTransition.startTime;
const progress = Math.min(1.0, elapsed / level4SkyTransition.duration);
if (progress >= 1.0) {
const normalSkyMaterial = new THREE.MeshBasicMaterial({
color: level4SkyTransition.targetColor,
side: THREE.BackSide,
kyMesh.material = normalSkyMaterial;
level4SkyMesh.material.needsUpdate = true;
level4SkyTransition.active = false;
console.log('Sky transition completed - now using normal sky');
const targetColor = new THREE.Color(level4SkyTransition.targetColor);
const textureOpacity = 1.0 - progress;
const colorStrength = progress;
if (level4SkyTexture) {
level4SkyMesh.material.map = level4SkyTexture;
level4SkyMesh.material.transparent = true;
level4SkyMesh.material.opacity = textureOpacity;
const white = new THREE.ColM
const mixedColor = white.clone().lerp(targetColor, colorStrength);
level4SkyMesh.material.color.copy(mixedColor);
level4SkyMesh.material.needsUpdate = true;
level4SkyMesh.material.color.copy(targetColor);
level4SkyMesh.material.needsUpdate = true;
function checkEdgeChallengeTrigger() {
if (edgeChallenge.active || gameState !== 'playing') return;
const x = mousePositionX; // Normalisierte Position (0.0 - 1.0)
const centerDelta = x - 0.5; // Delta von der Mitte (-0.5 bis 0.5)
(centerDelta) >= EDGE_ROTATION_CONFIG.challengeThreshold) {
const direction = centerDelta < 0 ? 'right' : 'left'; // UMGEKEHRT!
startEdgeChallenge(direction);
let lastEnemyContact = 0;
let enemyBullets = [];
let flickerTimer = 0;
let flickerActive = false;
let flickerDuration = 0;
let playerInvulnerable = false; // Unverwundbarkeit nach Spawn
let invulnerabilityTimer = 0; // Timer f
r Unverwundbarkeit (10 Sekunden)
let edgeChallenge = {
direction: null, // 'left' or 'right'
timeRemaining: 0, // M
targetRotation: 2 * Math.PI, // Ziel-Rotation in Radian (360 Grad = 2 * Math.PI)
startRotation: 0, // Start-Rotation beim Challenge-Start
lastRotation: 0, // Letzte Rotation f
currentRotation: 0, // Aktuelle Rotation (kumulativ, nur in korrekter Richtung)
let turnLeftSound = null;
let turnRightSound = null;
let challengeFailSound = null;
let screenShake = { intensity: 0, duration: 0 };
let cameraOriginalPosition = new THREE.Vector3(0, 1.6, 0);
me = 0; // Zeitpunkt des letzten Schadens
let healthRegenDelay = 5000; // 5 Sekunden nach letztem Schaden bis Regeneration startet
let healthRegenRate = 0.5; // 0.5 HP pro Sekunde (langsam)
let bulletHoles = []; // Array f
r Bullet Hole Decals
let totalHeadshots = 0;
let gameStartTime = 0;
let weaponsUsed = new Set();
let maxKillstreak = 0;
let lastKillTime = 0;
let killstreakTimeout = 5000; // 5 Sekunden zwischen Kills f
let killstreakMultiplier = 1.0;
let weaponUpgrades = {
pistol: { damage: 1.0, fireRate: 1.0, range: 1.0 },
rifle: { damage: 1.0, fireRate: 1.0, range: 1.0 },
mg: { damage: 1.0, fireRate: 1.0, range: 1.0 },
sniper: { damage: 1.0, fireRate: 1.0, range: 1.0 },
grenade: { damage: 1.0, fireRate: 1.0, range: 1.0 }
let showPatterns = true; // W
den/Himmel Patterns anzeigen
let reflectionsEnabled = true; // Reflektionen auf Oberfl
let showFPS = false; // FPS-Anzeige (Standard: aus)
let fpsLastTime = Date.now();
let audioContext = null;
let backgroundMusic = null;
let startSound = null;
let elfDeathSound = null;
let grinchDeathSound = null;
let snowmanDeathSound = null;
let randomDeathSounds = [];
let santaQuotes = [];
let lastSantaQuoteTime = 0;
let medkitPickupSound = null;
let shootSounds = {};
let mouseSensitivity = 4.0; // Multiplier f
r Maus-Empfindlichkeit (Standard: 4.0, Min: 3.5, Max: 4.5)
let masterVolume = 0.7; // Master-Lautst
rke (0.0 - 1.0, Standard: 0M
const assetCache = {
explosionParticle: null,
smokeParticle: null,
explosionSphere: null, // Gecachte Sphere-Geometrie f
r Explosions-Partikel
smokeSphere: null // Gecachte Sphere-Geometrie f
grenadeMeshPool: [],
explosionLightPool: []
function preloadAssets() {
console.log('=== PRELOADING ASSETS ==M
const promises = [];
const textureLoader = new THREE.TextureLoader();
promises.push(new Promise((resolve, reject) => {
'/content/77a2a5eb8414e5ebb0ebffd4805a45717244133cbe09cc38855d88686888a745i0',
texture.generateMipmaps = false;
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.anisotropy = 1;
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
texture.flipY = false;
assetCache.textures.wall = texture;
g('Wall texture preloaded');
console.warn('Failed to preload wall texture:', error);
const gltfLoader = new GLTFLoader();
promises.push(new Promise((resolve, reject) => {
'/content/0725617c05c03767ac263830b4dff5ec4380223670dcffbb9a3c880bdc8d8df6i0',
assetCache.models.candyCane = gltf;
console.log('Candy cane model preloaded');
console.warn('Failed to preload candy_cane mM
promises.push(new Promise((resolve, reject) => {
'/content/4631b1ac4911845111e340d316e0cb536722a468f96d3a2b20eb326b29facf92i0',
assetCache.models.present = gltf;
console.log('Present model preloaded');
console.warn('Failed to preload present model:', error);
console.warn('GLTFLoader not available for preloading:', e);
assetCache.geometries.grenade = new THREE.SpherM
eGeometry(0.1, 8, 8);
assetCache.materials.grenade = new THREE.MeshStandardMaterial({
assetCache.materials.explosion = new THREE.PointsMaterial({
r bessere Sichtbarkeit
sizeAttenuation: true
assetCache.materials.smoke = new THREE.PointsMaterial({
r bessere Sichtbarkeit
sizeAttenuation: true
if (!assetCache.geometries.eM
assetCache.geometries.explosionParticle = new THREE.BufferGeometry();
if (!assetCache.geometries.explosionSphere) {
assetCache.geometries.explosionSphere = new THREE.SphereGeometry(0.15, 6, 6);
if (!assetCache.geometries.smokeSphere) {
assetCache.geometries.smokeSphere = new THREE.SphereGeometry(0.2, 6, 6);
if (!assetCache.materials.explosionMesh) {
assetCache.materials.explosionMesh = new THREE.MeshBasicMaterial({
if (!assetCache.materials.smokeMesh) {
assetCache.materials.smokeMesh = new THREE.MeshBasicMaterial({
console.log('Granade + Explosion materials preloaded + SHADERS WARMED UP - kein Blocking beim ersten Wurf mehr!');
Promise.allSettled(promises).then(() => {
console.log('=== ASSET PRELOADING COMPLETE ===');
function initAudio() {
audioContext = new (window.AudioContext || window.webkitAudioContext)();
backgroundMusic = new Audio('/coM
ntent/fe41129709d615a8a61f4f0705a8fcc09f332532db3c6592bf665e309ab31a80i0');
backgroundMusic.loop = true;
backgroundMusic.volume = 0.5 * masterVolume;
backgroundMusic.preload = 'auto';
backgroundMusic.addEventListener('canplaythrough', () => {
if (gameState === 'playing') {
backgroundMusic.play().catch(e => {
console.warn('Musik konnte nicht abgespielt werden:', e);
startSound = new Audio('/content/71ea0be626d23d1897a9129e27f998e75a119e67ea7ab7fa7cda3d5b2281e9f1i0');
startSound.volume = 0.7 * masterVolume;M
startSound.preload = 'auto';
elfDeathSound = new Audio('/content/9ea1adf0b4994a23386a037573a06c747ea2321007b29334e86c118066412b37i0');
elfDeathSound.volume = 0.7 * masterVolume;
elfDeathSound.preload = 'auto';
grinchDeathSound = new Audio('/content/9a1690c41b6f7603473f52a505580c4c1e98319c6e0441724a5a4cff9c74a16di0');
grinchDeathSound.volume = 0.7 * masterVolume;
grinchDeathSound.preload = 'auto';
snowmanDeathSound = new Audio('/content/084f578d134a3f34264eca340611f3417cdaabf6109b279763dbfc5eceece71ai0');
athSound.volume = 0.7 * masterVolume;
snowmanDeathSound.preload = 'auto';
randomDeathSounds = [
new Audio('/content/53fb88e7c7e3fb3f87ca37660cd9bdb98a94885df1c4f47ab4575307116125fai0'),
new Audio('/content/34b51b2940a2c9ac3cc161dcbc7ff7ccddd25ac4b1109be808faadba7fa45b9bi0'),
new Audio('/content/834966a2e3c7f91f0f788df6855a364c9acab3f598d250de0a254d96178250ebi0')
randomDeathSounds.forEach(sound => {
sound.volume = 0.7 * masterVolume;
sound.preload = 'auto';
new Audio('/content/6db69ddcfe1d74d2M
c833ee517d7330d0a66836057e336aabf0e048535fe629cbi0'),
new Audio('/content/77a9f3664f7f158b3d3bf096ccd06e1af157b856c65c8a1c32bfdff12fccf146i0'),
new Audio('/content/7c70e721c95a890d984d82a2a4d9f6b5c80b27e5c86d4309c5a5f95cf8f4a1cci0'),
new Audio('/content/339e04164871ca941f5e126c958b1e6228643d2b6f3baae888d3f9f03e8a8a10i0'),
new Audio('/content/dfb0d72dfe734c047ff0528b3180af0e99531ca78b5ce0c5c84710e05bf0d678i0'),
new Audio('/content/f02aa15905511a0bf6e8abb3a5c7d3d3ed4b75315ceadefcf0093a0eb214c503i0'),
ent/2ec91e6901a8a74bf7c2ac726383ae90591721d0b0b837fd7ba96cf03f965d63i0'),
new Audio('/content/0c4bb8ae4894064d341779f624da2d6e712e1c3ccce66bc369f576a7235c796fi0')
santaQuotes.forEach(sound => {
sound.volume = 0.8 * masterVolume;
sound.preload = 'auto';
medkitPickupSound = new Audio('/content/31c9aa93949e87401fc794206be962ecafd011e0dc4a8fcbb71c5a6bf6292e88i0');
medkitPickupSound.volume = 0.8 * masterVolume;
medkitPickupSound.preload = 'auto';
turnLeftSound = new Audio('/content/1a5eb2a23209e87402749060b9eaf3bM
cf2bbaf74484df9acb5bc70951fa1e0b1i0');
turnLeftSound.volume = 0.8 * masterVolume;
turnLeftSound.preload = 'auto';
turnRightSound = new Audio('/content/7c9c4938443291f44a903ee58cbbb3d0baa482eefad44d70752e8b3b97edd953i0');
turnRightSound.volume = 0.8 * masterVolume;
turnRightSound.preload = 'auto';
challengeFailSound = new Audio('/content/1a5eb2a23209e87402749060b9eaf3bcf2bbaf74484df9acb5bc70951fa1e0b1i0');
challengeFailSound.volume = 0.8 * masterVolume;
challengeFailSound.preload = 'auto';
shootSounds = {}; // Wird M
in playShootSound generiert
console.warn('Web Audio API nicht unterst
function playShootSound(weaponType) {
if (!audioContext) {
audioContext = new (window.AudioContext || window.webkitAudioContext)();
if (weaponType === 'pistol') {
const oscillator = audioContext.createOscillator();
const gainNode = audioContext.createGain();
const filter = audioContext.createBiquadFilter();
oscillator.type = 'sine';
oscillator.frequency.setValueAtTime(150, audioContext.currentTime);
r.frequency.exponentialRampToValueAtTime(50, audioContext.currentTime + 0.05);
filter.type = 'lowpass';
filter.frequency.value = 2000;
oscillator.connect(filter);
filter.connect(gainNode);
gainNode.connect(audioContext.destination);
gainNode.gain.setValueAtTime(0.3, audioContext.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.15);
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.currentTime + 0.15);
} else if (weaponType === 'rifle') {
ator = audioContext.createOscillator();
const gainNode = audioContext.createGain();
const filter = audioContext.createBiquadFilter();
oscillator.type = 'sawtooth';
oscillator.frequency.setValueAtTime(100, audioContext.currentTime);
oscillator.frequency.exponentialRampToValueAtTime(40, audioContext.currentTime + 0.1);
filter.type = 'lowpass';
filter.frequency.value = 1500;
oscillator.connect(filter);
filter.connect(gainNode);
gainNode.connect(audioContext.destination);
gainNode.gain.setValueAtTime(0.4, audioContext.M
gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.2);
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.currentTime + 0.2);
} else if (weaponType === 'mg') {
const oscillator = audioContext.createOscillator();
const gainNode = audioContext.createGain();
const filter = audioContext.createBiquadFilter();
oscillator.type = 'square';
oscillator.frequency.setValueAtTime(200, audioContext.currentTime);
oscillator.frequency.exponentialRampToValueAtTime(80, aM
udioContext.currentTime + 0.05);
filter.type = 'lowpass';
filter.frequency.value = 1200;
oscillator.connect(filter);
filter.connect(gainNode);
gainNode.connect(audioContext.destination);
gainNode.gain.setValueAtTime(0.35, audioContext.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.1);
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.currentTime + 0.1);
} else if (weaponType === 'sniper') {
const oscillator = audioContext.createOscillator();
gainNode = audioContext.createGain();
const filter = audioContext.createBiquadFilter();
oscillator.type = 'sawtooth';
oscillator.frequency.setValueAtTime(80, audioContext.currentTime);
oscillator.frequency.exponentialRampToValueAtTime(30, audioContext.currentTime + 0.3);
filter.type = 'lowpass';
filter.frequency.value = 800;
oscillator.connect(filter);
filter.connect(gainNode);
gainNode.connect(audioContext.destination);
gainNode.gain.setValueAtTime(0.5, audioContext.currentTime);
gainNode.gain.exponentialRampToValM
ueAtTime(0.3, audioContext.currentTime + 0.1);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.4);
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.currentTime + 0.4);
} else if (weaponType === 'grenade') {
const oscillator = audioContext.createOscillator();
const gainNode = audioContext.createGain();
const filter = audioContext.createBiquadFilter();
oscillator.type = 'sine';
oscillator.frequency.setValueAtTime(60, audioContext.currentTime);
oscillator.frequencyM
.exponentialRampToValueAtTime(20, audioContext.currentTime + 0.2);
filter.type = 'lowpass';
filter.frequency.value = 400;
oscillator.connect(filter);
filter.connect(gainNode);
gainNode.connect(audioContext.destination);
gainNode.gain.setValueAtTime(0.3, audioContext.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.3);
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.currentTime + 0.3);
console.warn('Could not generate shoot soundM
function playRandomSantaQuote(chance = 0.1) {
if (santaQuotes.length === 0) return;
if (Math.random() > chance) return;
const now = Date.now();
if (now - lastSantaQuoteTime < 3000) return;
const randomQuote = santaQuotes[Math.floor(Math.random() * santaQuotes.length)];
randomQuote.currentTime = 0;
randomQuote.play().catch(e => console.warn('Santa-Quote Fehler:', e));
lastSantaQuoteTime = now;
function playHitSound() {
if (!audioContext) {
audioContext = new (window.AudioM
Context || window.webkitAudioContext)();
const oscillator = audioContext.createOscillator();
const gainNode = audioContext.createGain();
oscillator.type = 'sine';
oscillator.frequency.setValueAtTime(800, audioContext.currentTime);
oscillator.frequency.exponentialRampToValueAtTime(400, audioContext.currentTime + 0.1);
oscillator.connect(gainNode);
gainNode.connect(audioContext.destination);
gainNode.gain.setValueAtTime(0.15, audioContext.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.cM
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.currentTime + 0.1);
console.warn('Could not play hit sound:', error);
function playHeadshotSound() {
if (!audioContext) {
audioContext = new (window.AudioContext || window.webkitAudioContext)();
const oscillator = audioContext.createOscillator();
const gainNode = audioContext.createGain();
oscillator.type = 'square';
oscillator.frequency.setValueAtTime(1200, audioContext.currentTime);
.frequency.exponentialRampToValueAtTime(600, audioContext.currentTime + 0.2);
oscillator.connect(gainNode);
gainNode.connect(audioContext.destination);
gainNode.gain.setValueAtTime(0.25, audioContext.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.2);
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.currentTime + 0.2);
console.warn('Could not play headshot sound:', error);
function playKillstreakSound(streak) {
audioContext = new (window.AudioContext || window.webkitAudioContext)();
let frequency = 400;
frequency = 600; // H
herer Ton bei hohen Killstreaks
} else if (streak >= 5) {
const oscillator = audioContext.createOscillator();
const gainNode = audioContext.createGain();
oscillator.type = 'sine';
oscillator.frequency.setValueAtTime(frequency, audioContext.currentTime);
oscillator.frequency.exponentialRampToValueAtTime(frequency * 1.5, audioContext.currentTime + 0.M
oscillator.connect(gainNode);
gainNode.connect(audioContext.destination);
gainNode.gain.setValueAtTime(0.2, audioContext.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.15);
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.currentTime + 0.15);
console.warn('Could not play killstreak sound:', error);
function initWeapons() {
name: 'MACHINE GUN',
ht von 200 auf 400 f
name: 'HAND GRENADE',
for (let weapon in weaponConfigs) {
playerAmmo[weapon] = weaponConfigs[weapon].maxAmmo;
function generateLevel() {
generateBossArena();
for (let y = 0; y < levelSize; y++) {
for (let x = 0; x < levelSize; x++) {
level[y][x] = 1; // 1 = wall, 0 = floor
let startX = 1, startY = 1;
level[startY][startX] = 0;
let stack = [[startX, startY]];
let visited = new Set();
visited.add(`${startX},${startY}`);
const directions = [[0, 2], [2, 0], [0, -2], [-2, 0]];
while (stack.length > 0) {
let [x, y] = stack[stack.length - 1];
for (let [dx, dy] of directions) {
nx = x + dx, ny = y + dy;
if (nx > 0 && nx < levelSize - 1 && ny > 0 && ny < levelSize - 1) {
if (!visited.has(`${nx},${ny}`)) {
neighbors.push([nx, ny, x + dx/2, y + dy/2]);
if (neighbors.length > 0) {
let [nx, ny, midX, midY] = neighbors[Math.floor(Math.random() * neighbors.length)];
level[Math.floor(midY)][Math.floor(midX)] = 0;
visited.add(`${nx},${ny}`);
stack.push([nx, ny]);
level[levelSize - 2][levelSize - 2] = 0;
level[levelSize - 2][levelSize - 3] = 0;
r (let i = 0; i < 10; i++) {
let x = Math.floor(Math.random() * (levelSize - 2)) + 1;
let y = Math.floor(Math.random() * (levelSize - 2)) + 1;
if (level[y][x] === 1) {
for (let [dx, dy] of [[0, 1], [0, -1], [1, 0], [-1, 0]]) {
if (level[y + dy] && level[y + dy][x + dx] === 0) neighbors++;
if (neighbors >= 2) level[y][x] = 0;
function generateBossArena() {
for (let y = 0; y < levelSize; y++) {
for (let x = 0; x < levelSize; x++) {
=== levelSize - 1 || y === 0 || y === levelSize - 1) {
level[y][x] = 1; // Wand
level[y][x] = 0; // Floor
const coverPositions = [
[5, 5], [5, 15], [5, 25],
[25, 5], [25, 15], [25, 25]
for (const [x, y] of coverPositions) {
for (let dy = -1; dy <= 1; dy++) {
for (let dx = -1; dx <= 1; dx++) {
if (x + dx > 0 && x + dx < levelSize - 1 && y + dy > 0 && y + dy < levelSize - 1) {
level[y + dy][x + dx] = 1;
function initThreeJS() {
scene = new THREE.Scene();
const lightsToRemove = [];
scene.traverse((child) => {
if (child instanceof THREE.Light) {
lightsToRemove.push(child);
lightsToRemove.forEach(light => scene.remove(light));
if (currentLevel === 4) {
scene.background = new THREE.Color(0x87CEEB); // Himmelblau
scene.fog = new THREE.Fog(0xE0F6FF, 50, 150); // Hellblauer Nebel
scene.background = new THREE.Color(0x1a1a1a);
scene.fog = new THREE.Fog(0x1a1a1a, 10, 100);
rgetAspect = 16 / 9;
camera = new THREE.PerspectiveCamera(75, targetAspect, 0.05, 200);
camera.position.set(0, 1.6, 0);
camera.rotation.order = 'YXZ';
const canvas = document.getElementById('gameCanvas');
const useAntialias = window.devicePixelRatio <= 1.5;
renderer = new THREE.WebGLRenderer({ canvas, antialias: useAntialias, powerPreference: "high-performance" });
const maxPixelRatio = Math.min(window.devicePixelRatio || 1, 1.5);
renderer.setPixelRatio(maxPixelRatio);
if (gameState !== 'playing') {
anvas.style.display = 'none';
canvas.style.visibility = 'hidden';
canvas.style.setProperty('display', 'block', 'important');
canvas.style.setProperty('visibility', 'visible', 'important');
canvas.style.setProperty('opacity', '1', 'important');
const width = window.innerWidth;
const height = window.innerHeight;
const containerAspect = width / height;
let renderWidth, renderHeight;
if (containerAspect > targetAspect) {
renderHeight = height;
renderWidth = renderHeight * targetAspect;
renderHeight = renderWidth / targetAspect;
renderer.setSize(renderWidth, renderHeight);
canvas.style.width = width + 'px';
canvas.style.height = height + 'px';
if (assetCache && assetCache.geometries && assetCache.materials) {
if (assetCache.geometries.grenade && assetCache.materials.grenade) {
const tempGrenadeMesh = new THREE.Mesh(
assetCache.geometries.grenade,
assetCache.materials.grenade
tempGrenadeMesh.position.set(0, -1000, 0); // Au
scene.add(tempGrenadM
renderer.compile(tempGrenadeMesh, camera);
scene.remove(tempGrenadeMesh);
if (!assetCache.grenadeMeshPool) {
assetCache.grenadeMeshPool = [];
for (let i = 0; i < 3; i++) {
const poolGrenadeMesh = new THREE.Mesh(
assetCache.geometries.grenade,
assetCache.materials.grenade
poolGrenadeMesh.position.set(0, -1000 - i, 0); // Au
erhalb der Sicht, leicht versetzt
poolGrenadeMesh.visible = false;
scene.add(poolGrenadeMesh);
renderer.compile(poolGrenadeMesh, camera);
scene.remove(poolGrenadeMesh);
renadeMeshPool.push(poolGrenadeMesh);
console.log('Grenade fully preloaded - shader compiled, 3 meshes in pool (scene.add pre-initialized)!');
if (assetCache.materials.explosion) {
const tempExplosionGeometry = new THREE.BufferGeometry().setAttribute(
new THREE.Float32BufferAttribute([0, -1000, 0], 3)
const tempExplosionPoints = new THREE.Points(
tempExplosionGeometry,
assetCache.materials.explosion
scene.add(tempExplosionPoints);
renderer.compile(tempExplosionPoints, camera);
console.log('Explosion shader compiled!');
if (assetCache.materials.smoke) {
const tempSmokeGeometry = new THREE.BufferGeometry().setAttribute(
new THREE.Float32BufferAttribute([0, -1000, 0], 3)
const tempSmokePoints = new THREE.Points(
assetCache.materials.smoke
scene.add(tempSmokePoints);
renderer.compile(tempSmokePoints, camera);
scene.remove(tempSmokePoints);
console.log('Smoke shader compiled!');
if (assetCache.geometries.explosionSphere && assetCacheM
.materials.explosionMesh) {
if (!assetCache.explosionParticlePool) {
assetCache.explosionParticlePool = [];
for (let i = 0; i < 30; i++) {
const poolParticle = new THREE.Mesh(
assetCache.geometries.explosionSphere,
assetCache.materials.explosionMesh
poolParticle.position.set(0, -1000 - i, 0);
poolParticle.visible = false;
scene.add(poolParticle);
renderer.compile(poolParticle, camera);
scene.remove(poolParticle);
assetCache.explosionParticlePool.push(poolParticle);
console.log('Explosion particle pool createM
d (30 particles pre-initialized, scene.add ready)!');
if (assetCache.geometries.smokeSphere && assetCache.materials.smokeMesh) {
if (!assetCache.smokeParticlePool) {
assetCache.smokeParticlePool = [];
for (let i = 0; i < 15; i++) {
const poolParticle = new THREE.Mesh(
assetCache.geometries.smokeSphere,
assetCache.materials.smokeMesh
poolParticle.position.set(0, -1000 - i, 0);
poolParticle.visible = false;
scene.add(poolParticle);
renderer.compile(poolParticle, camera);
scene.remove(poolParticle);
smokeParticlePool.push(poolParticle);
console.log('Smoke particle pool created (15 particles pre-initialized, scene.add ready)!');
console.warn('Failed to compile grenade/explosion shaders:', e);
let ambientColor = 0xffffff;
let directionalColor = 0xffffff;
let ambientIntensity = 1.2;
let directionalIntensity = 1.8;
if (currentLevel === 2) {
ambientColor = 0xffcccc; // Leicht r
directionalColor = 0xffaaaa; // R
ambientIntensity = 1.0;
directionalIntensity = 1.6;
ambientColor = 0xccccff; // Leicht bl
directionalColor = 0xaaaaff; // Bl
ambientIntensity = 1.1;
directionalIntensity = 1.7;
else if (currentLevel === 4) {
ambientColor = 0xffffff; // Wei
directionalColor = 0xffffff; // Wei
ambientIntensity = 1.5; // Sehr hell
directionalIntensity = 2.0; // Sehr hell
const ambientLight = new THREE.AmbientLight(ambientColor, ambientIntensity);
scene.add(ambientLight);
const directionalLight = new THREE.DirectionalLight(directM
ionalColor, directionalIntensity);
directionalLight.position.set(10, 20, 10);
directionalLight.castShadow = true;
directionalLight.shadow.mapSize.width = 1024;
directionalLight.shadow.mapSize.height = 1024;
directionalLight.shadow.camera.near = 0.5;
directionalLight.shadow.camera.far = 50;
directionalLight.shadow.camera.left = -30;
directionalLight.shadow.camera.right = 30;
directionalLight.shadow.camera.top = 30;
directionalLight.shadow.camera.bottom = -30;
scene.add(directionalLight);
updateShadowQuality(shadowQuM
if (!window.gameLights) {
window.gameLights = [];
window.gameLights = [];
let warmLightColor = 0xffaa00; // Orange/Gelb f
let whiteLightIntensity = 2.0;
let warmLightIntensity = 1.8;
let colorLights = [0xff6b6b, 0x4ecdc4, 0x95e1d3, 0xf38181, 0xa8e6cf]; // Standard f
if (currentLevel === 2) {
warmLightColor = 0xff6666; // R
warmLightIntensity = 1.6;
whiteLightIntensity = 1.8;
colorLights = [0xff4444, 0xff6666, 0xff8888, 0xffaaaa, 0xffcccc]; // R
(currentLevel >= 3) {
warmLightColor = 0x66aaff; // Bl
warmLightIntensity = 1.7;
whiteLightIntensity = 1.9;
colorLights = [0x4488ff, 0x66aaff, 0x88ccff, 0xaaddff, 0xccddff]; // Bl
for (let i = 0; i < 8; i++) {
const light = new THREE.PointLight(warmLightColor, warmLightIntensity, 30);
(Math.random() - 0.5) * levelSize * cellSize,
2 + Math.random() * 2,
(Math.random() - 0.5) * levelSize * cellSize
light.userData.originalIntensity = warmLightIntensity;
window.gameLights.push(light);
for (let i = 0; i < 5; i++) {
const light = new THREE.PointLight(0xffffff, whiteLightIntensity, 35);
(Math.random() - 0.5) * levelSize * cellSize,
(Math.random() - 0.5) * levelSize * cellSize
light.userData.originalIntensity = whiteLightIntensity;
window.gameLights.push(light);
for (let i = 0; i < 3; i++) {
const color = colorLights[Math.floor(Math.random() * colorLights.length)];
const light = new THREE.PointLight(color, 0.9, 20);
(Math.random() - 0.5) * levelSize * cellSize,
1.5 + Math.random() * 1.5,
(Math.random() - 0.5) * levelSize * cellSize
light.userData.originalIntensity = 0.9;
window.gameLights.push(light);
let wallTexture = null;
let wallMaterial = null;
let darkTunnelCells = new Set();
function buildLevel() {
darkTunnelCells.clear();
for (let i = 0; i < 8; i++) {
let x = Math.floor(Math.random() * (levelSize - 2)) + 1;
let y = Math.floor(Math.random() * (levelSize - 2)) + 1;
darkTunnelCells.add(`${x},${y}`);
let wallColor = 0xaaaaaa; // Level 1: Grau
if (currentLevel === 2) {
wallColor = 0xff6666; // Level 2: Rot
} else if (currentLevel === 3) {
wallColor = 0x66aaff; // Level 3: Hellblau
} else if (currentLevel >= 4) {
wallColor = 0x66aaff; // Level 4+: Hellblau
const emissiveColor = new THREE.Color(wallColor).multiplyScalar(0.2);
wallMaterial = new THREE.MeshStandardMaterial({
color: wallColor, // Level 1: Grau, Level 2: Rot, Level 3: Hellblau, Level 4+: Hellblau
sive: emissiveColor,
emissiveIntensity: 0.3,
roughness: reflectionsEnabled ? 0.2 : 1.0,
metalness: reflectionsEnabled ? 0.7 : 0.0
console.log(`=== BUILDING LEVEL ${currentLevel} WITH WALL COLOR: ${wallColor.toString(16)} ===`);
const applyWallTexture = (texture) => {
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
if (currentLevel === 2) {
texture.repeat.set(1, 1/3); // H
he: 1/3 = Pattern einmal in der Wandh
texture.rotation = Math.PI / 2; // 90 Grad drehen
if (currentLevel === 4) {
texture.repeat.set(1, 1/3); // H
he: 1/3 = Pattern einmal in der Wandh
texture.rotation = 0; // Keine Rotation f
} else if (currentLevel === 3) {
texture.repeat.set(1, 1); // Gr
eres Pattern (kleinere Werte = gr
texture.rotation = 0; // Keine Rotation
texture.repeat.set(1, 1); // Gr
texture.rotation = 0; // Keine Rotation
texture.flipY = false;
wallMaterial.map = texture;
wallMaterial.color.setHex(wallColor);
st emissiveColor = new THREE.Color(wallColor).multiplyScalar(0.2);
wallMaterial.emissive.copy(emissiveColor);
wallMaterial.emissiveIntensity = 0.3;
wallMaterial.needsUpdate = true;
scene.traverse((child) => {
if (child instanceof THREE.Mesh && child.geometry instanceof THREE.BoxGeometry) {
if (child.geometry.parameters.height === 3) {
child.material.map = texture;
child.material.color.setHex(wallColor);
const emissiveColor = new THREE.Color(wallColor).multiplyScalar(0.2);
child.material.emissive.copyM
child.material.emissiveIntensity = 0.3;
child.material.needsUpdate = true;
console.log(`Wall texture and color (${wallColor.toString(16)}) applied to ${count} walls`);
if (currentLevel === 2) {
wallTextureId = '/content/e12038f79112b5eedf9178d153e0c10ca3d2b3a3a909031683956fa1632c127fi0';
cacheKey = 'wall_level2';
} else if (currentLevel === 3) {
wallTextureId = '/content/9a85ad53facd49b0c615d8143950851e96ec937254ad11df1a553a573a5096f7i0';
} else if (currentLevel === 4) {
wallTextureId = '/content/c49b83c13f3c50ebef80a058d13352d072710e983a148c68ae8494e5cc9d5f99i0';
cacheKey = 'wall_level4';
wallTextureId = '/content/77a2a5eb8414e5ebb0ebffd4805a45717244133cbe09cc38855d88686888a745i0';
if (assetCache.textures[cacheKey]) {
console.log(`=== USING CACHED WALL TEXTURE FOR LEVEL ${currentLevel} ===`);
applyWallTexture(assetCache.textures[cacheKey]);
const loader = new THREE.TextureLoader();
console.log('=== WALL TEXTURE LOADED ===');
texture.generateMipmaps = false; // Keine Mipmaps = schneller
texture.minFilter = THREE.LinearFilter; // Schneller als LinearMipmapLinearFilter
texture.magFilter = THREE.LinearFilter;
texture.anisotropy = 1; // Minimal = schneller
texture.needsUpdate = true;
assetCache.textures[cacheKey] = texture; // Cache speichern mit Level-spezifischem Key
applyWallTexture(texture);
console.error('=== ERROR LOADING WALL TEXTUM
const floorGeometry = new THREE.PlaneGeometry(levelSize * cellSize, levelSize * cellSize);
const floorMaterial = new THREE.MeshStandardMaterial({
roughness: reflectionsEnabled ? 0.8 : 1.0,
metalness: reflectionsEnabled ? 0.2 : 0.0
floorMaterial.userData = { isFloor: true }; // Markiere als Floor-Material
const floor = new THREE.Mesh(floorGeometry, floorMaterial);
floor.rotation.x = -Math.PI / 2;
floor.receiveShadow = true;
let floorTileTexture = null;
et floorTextureLoaded = false;
if (currentLevel >= 1 && currentLevel <= 3) {
const floorTextureLoader = new THREE.TextureLoader();
floorTextureLoader.load('/content/bdcfbd16603c568a205ff06f5db6247bb1125d24a5ce15b9dca08e63ab592547i0',
texture.generateMipmaps = false;
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.anisotropy = 1;
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
texture.repeat.set(1, 1);
texture.flipY = false;
floorTextureLoaded = true;
scene.traverse((child) => {
if (child instanceof THREE.Mesh && child.geometry instanceof THREE.PlaneGeometry && child.rotation.x === -Math.PI / 2) {
if (child.position.y < 1) { // Nur Floor tiles
child.material.map = texture;
child.material.needsUpdate = true;
console.error('Error loading floor texture:', error);
floorTextureLoaded = true; // Flag setzen, auch wenn Fehler
floorTextureLoaded = true; // Level 4: Textur wirdM
const wallMeshes = [];
for (let y = 0; y < levelSize; y++) {
for (let x = 0; x < levelSize; x++) {
if (level[y][x] === 1) {
const wallGeometry = new THREE.BoxGeometry(cellSize, 3, cellSize);
const clonedMaterial = wallMaterial.clone();
clonedMaterial.color.setHex(wallColor); // Stelle sicher, dass die Farbe korrekt ist
const wallMesh = new THREE.Mesh(wallGeometry, clonedMaterial);
wallMesh.position.set(
(x - levelSize / 2) * cellSize + cellSize / 2,
(y - levelSize / 2) * cellSizeM
wallMesh.castShadow = true;
wallMesh.receiveShadow = true;
const uvAttribute = wallGeometry.attributes.uv;
for (let i = 0; i < uvAttribute.count; i++) {
const u = uvAttribute.getX(i);
const v = uvAttribute.getY(i);
if (currentLevel === 2 || currentLevel === 4) {
uvAttribute.setXY(i, u * 2, v); // Breite:
uvAttribute.setXY(i, u * 2, v * 2); // Pattern
wallMeshes.push(wallMesh);
scene.add(wallMesh);
let tileColor = 0x44444M
if (currentLevel === 4) {
tileColor = 0xffffff;
const tileGeometry = new THREE.PlaneGeometry(cellSize * 0.9, cellSize * 0.9);
if (currentLevel === 4) {
tileMaterial = new THREE.MeshStandardMaterial({
roughness: 1.0, // Schnee ist sehr rau (immer)
tileMaterial.userData = { isTile: true, isLevel4: true }; // Markiere als Tile-Material
const floorTextureLoader = new THREE.TextureLoader();
floorTextureLoader.load('/content/bdcfbd16603c568a205ff06f5db6247bb1125M
d24a5ce15b9dca08e63ab592547i0',
texture.generateMipmaps = false;
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.anisotropy = 1;
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
texture.repeat.set(1, 1);
texture.flipY = false;
scene.traverse((child) => {
if (child instanceof THREE.Mesh &&
child.geometry instanceof THREE.PlaneGeometry &&
child.rotation.x === -Math.PI / 2 &&
Math.abs(child.position.x - ((x - levelSize / 2) * cellSize + M
cellSize / 2)) < 0.1 &&
Math.abs(child.position.z - ((y - levelSize / 2) * cellSize + cellSize / 2)) < 0.1) {
child.material.map = texture;
child.material.needsUpdate = true;
console.error('Error loading Level 4 floor texture:', error);
tileMaterial = new THREE.MeshStandardMaterial({
map: floorTileTexture || null,
roughness: reflectionsEnabled ? 0.9 : 1.0,
tileMaterial.userData = { isTile: true }; // Markiere als Tile-Material
st tile = new THREE.Mesh(tileGeometry, tileMaterial);
tile.rotation.x = -Math.PI / 2;
(x - levelSize / 2) * cellSize + cellSize / 2,
(y - levelSize / 2) * cellSize + cellSize / 2
tile.receiveShadow = true;
if (currentLevel === 4) {
const skyGeometry = new THREE.SphereGeometry(100, 32, 32);
const skyTextureLoader = new THREE.TextureLoader();
skyTextureLoader.load('/content/f9cc9866666c076c217ef0a77f665ec1ee44607e34e145d7368fcf380fa650a9i0',
nerateMipmaps = false;
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.anisotropy = 1;
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
texture.mapping = THREE.EquirectangularReflectionMapping;
const skyMaterial = new THREE.MeshBasicMaterial({
map: showPatterns ? texture : null, // Textur nur wenn Patterns aktiviert
color: showPatterns ? 0xffffff : 0x87CEEB, // Einfacher blauer Himmel wenn deaktiviert
side: THREE.BackSide, // Innenansicht
if (level4SkyMesh) {
level4SkyMesh.material = skyMaterial;
level4SkyMesh.material.needsUpdate = true;
level4SkyMesh = new THREE.Mesh(skyGeometry, skyMaterial);
scene.add(level4SkyMesh);
level4SkyTexture = texture;
console.error('Error loading Level 4 sky texture:', error);
const skyMaterial = new THREE.MeshBasicMaterial({
side: THREE.BackSide
level4SkyMesh = new THREE.Mesh(skyGeometry, skyMaterial);
scene.add(level4SkyMesh);
Geometry = new THREE.PlaneGeometry(levelSize * cellSize, levelSize * cellSize);
const ceilingMaterial = new THREE.MeshStandardMaterial({ color: 0x222222 });
const ceiling = new THREE.Mesh(ceilingGeometry, ceilingMaterial);
ceiling.rotation.x = Math.PI / 2;
ceiling.position.y = 3;
if (currentLevel < 4) {
if (currentLevel === 4) {
createSnowParticles();
createVictoryCube();
if (currentLevel >= 1 && currentLevel <= 3 && currentLevel !== 4) {
'14c15a77a9ae9ff4eb8554106b706be46d2cbb28d16995ff0fd6918560e74654i0',
'6d843137d5b9ec0c26e663f5147eae5809769ba60bc67c6a601ee7348322c47ei0',
'05abdf15c4c11e91a4a6060d83016f1f9515720b951508ff2303e15eccb6dff3i0',
'0b6887a1693ab5d4286bebe099853cf098b89e72c97510e789307c6065dcf419i0',
'b3b9cb34d21fc0d97200529a16960242e213e19b50a83ff0a4a82063e67ecdb2i0',
'09cd5fa340b56e90db47c9381649f0bf5cc64b4c92b32d81e8bb785eccafc055i0'
let graffitiSprites = [];
function spawnGraffiti() {
graffitiSprites.forEach(graffiti M
if (graffiti.mesh && scene.children.includes(graffiti.mesh)) {
scene.remove(graffiti.mesh);
graffitiSprites = [];
const wallPositions = [];
for (let y = 0; y < levelSize; y++) {
for (let x = 0; x < levelSize; x++) {
if (level[y][x] === 1) {
(y > 0 && level[y - 1][x] === 0) || // Nord
(y < levelSize - 1 && level[y + 1][x] === 0) || // S
(x > 0 && level[y][x - 1] === 0) || // West
(x < levelSize - 1 && level[y][x + 1] === 0); // Ost
wallPositions.push({ x, y });
const graffitiCount = 3;
const usedIndices = new Set();
for (let i = 0; i < graffitiCount && wallPositions.length > 0; i++) {
const randomIndex = Math.floor(Math.random() * wallPositions.length);
const wallPos = wallPositions[randomIndex];
wallPositions.splice(randomIndex, 1); // Entferne, um Duplikate zu vermeiden
const graffitiIndex = Math.floor(Math.random() * graffitiIds.length);
const graffitiId = graffitiIds[graffitiIndex];
const freeSides = [];
const x = wallPos.x;
const y = wallPos.y;
el[y - 1][x] === 0) freeSides.push('north'); // Nord (negative Z)
if (y < levelSize - 1 && level[y + 1][x] === 0) freeSides.push('south'); // S
if (x > 0 && level[y][x - 1] === 0) freeSides.push('west'); // West (negative X)
if (x < levelSize - 1 && level[y][x + 1] === 0) freeSides.push('east'); // Ost (positive X)
if (freeSides.length === 0) continue; // Keine freie Seite
const sidePriority = ['north', 'south', 'west', 'east'];
for (const prioritySide of sidePriority) {
es.includes(prioritySide)) {
side = prioritySide;
if (!side) continue; // Fallback (sollte nicht passieren)
const worldX = (x - levelSize / 2 + 0.5) * cellSize;
const worldZ = (y - levelSize / 2 + 0.5) * cellSize;
let graffitiX, graffitiZ, graffitiRotationY;
const graffitiY = 1.5; // Mitte der Wand (H
const offset = 0.01; // Leicht vor der Wand (an der Wand-Oberfl
let needsHorizontalFlip = false;
case 'north': // Nord-Wand: Innenseite ist nach S
den (positive Z-Richtung)
graffitiZ = worldZ - cellSize / 2 + offset; // An der Nord-Seite der Wand (negative Z)
graffitiRotationY = Math.PI; // 180
- Plane zeigt nach S
den (zur Innenseite)
needsHorizontalFlip = false; // KEINE Spiegelung
d-Wand: Innenseite ist nach Norden (negative Z-Richtung)
graffitiZ = worldZ + cellSize / 2 - offset; // An der S
d-Seite der Wand (positive Z)
graffitiRotationY = 0; // 0
- Plane zeigt nach Norden (zur Innenseite)
needsHorizontalFlip = M
case 'west': // West-Wand: Innenseite ist nach Osten (positive X-Richtung)
graffitiX = worldX - cellSize / 2 + offset; // An der West-Seite der Wand (negative X)
graffitiRotationY = Math.PI / 2; // 90
- Plane zeigt nach Osten (zur Innenseite)
needsHorizontalFlip = true; // SPIEGELN
case 'east': // Ost-Wand: Innenseite ist nach Westen (negative X-Richtung)
graffitiX = worldX + cellSize / 2 - offset; // An der Ost-Seite der Wand (positive X)
affitiRotationY = -Math.PI / 2; // -90
- Plane zeigt nach Westen (zur Innenseite)
needsHorizontalFlip = false; // KEINE Spiegelung
const loader = new THREE.TextureLoader();
`/content/${graffitiId}`,
texture.generateMipmaps = false;
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.anisotropy = 1;
const aspect = texture.image.width / texture.image.height;
const width = 2.5; // Feste Breite
const height = width / aspect;
texture.wrapS = THREM
texture.wrapT = THREE.RepeatWrapping;
texture.flipY = true; // Three.js Texturen sind standardm
ig auf dem Kopf - korrigiere das
texture.offset.x = 0;
texture.repeat.x = 1;
texture.offset.y = 0;
texture.repeat.y = 1;
const planeGeometry = new THREE.PlaneGeometry(width, height);
const planeMaterial = new THREE.MeshStandardMaterial({
side: THREE.DoubleSide,
emissiveIntensity: 0.2 // Leichtes Leuchten
const graffitiPlane = neM
w THREE.Mesh(planeGeometry, planeMaterial);
graffitiPlane.position.set(graffitiX, graffitiY, graffitiZ);
graffitiPlane.rotation.y = graffitiRotationY;
graffitiPlane.rotation.x = 0; // KEINE X-Rotation - texture.flipY korrigiert die vertikale Ausrichtung
graffitiPlane.rotation.z = 0; // KEINE Z-Rotation
if (needsHorizontalFlip) {
graffitiPlane.scale.x = -1; // Spiegle die Plane horizontal
graffitiPlane.scale.x = 1;
graffitiPlane.castShadow = false;
graffitiPlane.receiveShadow = true;
graffitiSprites.push(M
{ mesh: graffitiPlane, id: graffitiId });
scene.add(graffitiPlane);
console.error(`Failed to load graffiti ${graffitiId}:`, error);
function createVictoryCube() {
if (victoryCube && victoryCube.mesh) {
scene.remove(victoryCube.mesh);
const cubeGeometry = new THREE.BoxGeometry(cubeSize, cubeSize, cubeSize);
const textureLoader = new THREE.TextureLoader();
textureLoader.load('/content/d5b2fd5b26b11e7acc53bdc96389036c7953ba0ffe48e593222af4d55b81246ei0',
texture.generateMipmaps = false;
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.anisotropy = 1;
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
texture.repeat.set(1, 1);
texture.flipY = false;
const cubeMaterial = new THREE.MeshStandardMaterial({
emissiveIntensity: 0.8,
emissiveMap: texture,
const cubeMesh = new THREE.Mesh(cubeGeometry, cubeMaterial);
eMesh.position.set(0, 25, 0);
cubeMesh.castShadow = true;
cubeMesh.receiveShadow = true;
scene.add(cubeMesh);
position: new THREE.Vector3(0, 25, 0),
velocity: new THREE.Vector3(0, 0, 0),
bossDefeated = false;
cubeCollected = false;
console.error('Error loading victory cube texture:', error);
const cubeMaterial = new THREE.MeshStandardMaterial({
emissiveIntensity: 0.8,
const cubeMesh = new THREE.Mesh(cubeGeometry, cubeMaterial);
cubeMesh.position.set(0, 25, 0);
cubeMesh.castShadow = true;
cubeMesh.receiveShadow = true;
scene.add(cubeMesh);
position: new THREE.Vector3(0, 25, 0),
velocity: new THREE.Vector3(0, 0, 0),
bossDefeated = false;
cubeCollected = false;
function updateVictoryCube() {
if (!victoryCube || !victoryCube.mesh || cubeCollected) return;
if (!bossDefeated) {
bossAlive = enemies.some(enemy => enemy.type === 'boss' || enemy.isBoss);
if (!bossAlive && enemies.length === 0) {
bossDefeated = true;
victoryCube.isFalling = true;
console.log('Boss and all enemies defeated! Victory cube is falling!');
if (currentLevel === 4 && level4SkyMesh) {
startSkyTransition();
victoryCube.mesh.rotation.x += victoryCube.rotationSpeed;
victoryCube.mesh.rotation.y += victoryCube.rotationSpeed;
if (victoryCube.isFalling) {
victoryCube.velocity.y -= 0.05; // Schwerkraft (reduziert von 0.M
victoryCube.position.add(victoryCube.velocity);
victoryCube.mesh.position.copy(victoryCube.position);
if (victoryCube.position.y <= 1.5) {
victoryCube.position.y = 1.5;
victoryCube.velocity.y = 0;
victoryCube.mesh.position.copy(victoryCube.position);
if (victoryCube.position.y <= 1.5) {
const distToPlayer = player.position.distanceTo(victoryCube.position);
if (distToPlayer < 2) {
cubeCollected = true;
scene.remove(victoryCube.mesh);
console.log('Victory cube collected! Game won!');
const time = Date.now() * 0.001;
victoryCube.position.y = 25 + Math.sin(time) * 0.5;
victoryCube.mesh.position.copy(victoryCube.position);
function createSnowParticles() {
for (let i = snowParticles.length - 1; i >= 0; i--) {
if (snowParticles[i].mesh) {
scene.remove(snowParticles[i].mesh);
const snowCount = 80;
const arenaSize = levelSize * cellSize;
for (let i = 0; i < snowCount; i++) {
const snowGeometry = new THREE.SphereGeometry(0.05, 6, 6);
const snowMaterial = new THREEM
.MeshBasicMaterial({
const snowMesh = new THREE.Mesh(snowGeometry, snowMaterial);
const x = (Math.random() - 0.5) * arenaSize;
const y = Math.random() * 30 + 10; // Start zwischen 10 und 40 Einheiten hoch
const z = (Math.random() - 0.5) * arenaSize;
snowMesh.position.set(x, y, z);
scene.add(snowMesh);
const driftX = (Math.random() - 0.5) * 0.02;
const driftZ = (Math.random() - 0.5) * 0.02;
const fallSpeed = 0.03 + Math.random() * 0.02; // Unterschiedliche FallgesM
snowParticles.push({
position: new THREE.Vector3(x, y, z),
velocity: new THREE.Vector3(driftX, -fallSpeed, driftZ),
size: 0.05 + Math.random() * 0.03 // Unterschiedliche Gr
function updateSnowParticles() {
if (currentLevel !== 4 || snowParticles.length === 0) return;
const arenaSize = levelSize * cellSize;
for (let i = snowParticles.length - 1; i >= 0; i--) {
const snow = snowParticles[i];
snowParticles.splice(i, 1);
snow.position.add(snow.vM
if (snow.position.y < 0) {
snow.position.y = 30 + Math.random() * 10;
snow.position.x = (Math.random() - 0.5) * arenaSize;
snow.position.z = (Math.random() - 0.5) * arenaSize;
if (Math.abs(snow.position.x) > arenaSize / 2) {
snow.position.x = (Math.random() - 0.5) * arenaSize;
snow.position.y = 30 + Math.random() * 10;
if (Math.abs(snow.position.z) > arenaSize / 2) {
snow.position.z = (Math.random() - 0.5) * arenaSize;
snow.position.y = 30 + Math.random() * 10;
snow.mesh.position.copy(snow.position)M
snow.mesh.rotation.x += 0.01;
snow.mesh.rotation.z += 0.01;
function createExitPortal() {
scene.remove(exitPortal);
const exitX = (levelSize - 2 - levelSize / 2) * cellSize + cellSize / 2;
const exitZ = (levelSize - 2 - levelSize / 2) * cellSize + cellSize / 2;
const portalGroup = new THREE.Group();
const torusGeometry = new THREE.TorusGeometry(1.5, 0.3, 16, 32);
const torusMaterial = new THREE.MeshStandardMaterial({
const torus = new THREE.Mesh(torusGeometry, torusMaterial);
torus.rotation.x = Math.PI / 2;
torus.position.y = 1.5;
portalGroup.add(torus);
const planeGeometry = new THREE.PlaneGeometry(3, 3);
const planeMaterial = new THREE.MeshStandardMaterial({
side: THREE.DoubleSide
const plane = new THREE.Mesh(planeGeometry, planeMaterial);
plane.rotation.x = -Math.PI / 2;
plane.position.y = 0.01;
portalGroup.add(plane);
portalGroup.position.set(exitX, 0M
scene.add(portalGroup);
position: new THREE.Vector3(exitX, 0, exitZ),
function initPlayer() {
let startX = 0, startZ = 0;
for (let y = 0; y < levelSize; y++) {
for (let x = 0; x < levelSize; x++) {
if (level[y][x] === 0) {
startX = (x - levelSize / 2) * cellSize + cellSize / 2;
startZ = (y - levelSize / 2) * cellSize + cellSize / 2;
if (startX !== 0) break;
position: new THREE.Vector3(startX, 1.6, startZ),
velocity: new THREE.VectoM
rotation: { x: 0, y: Math.PI }, // 180 Grad gedreht, damit Spieler nach vorne schaut
camera.position.copy(player.position);
currentRotationY = player.rotation.y;
currentRotationX = player.rotation.x;
targetRotationY = player.rotation.y;
targetRotationX = player.rotation.x;
function createEnemyHealthBar(enemyGroup, type = 'snowman') {
let healthBarY = 2.2; // Standardh
if (type === 'snowman') {
healthBarY = 2.2; //
ber dem Schneemann-Kopf
} else if (type === 'elf') {
healthBarY = 1.8; //
} else if (type === 'grinch') {
healthBarY = 2.0; //
const canvas = document.createElement('canvas');
const context = canvas.getContext('2d');
const texture = new THREE.CanvasTexture(canvas);
texture.needsUpdate = true;
const spriteMaterial = new THREE.SpriteMaterial({
const sprite = new THREE.Sprite(spriteMaterial);
sprite.scale.set(1.0, 0.15, 1.0); // Gr
sprite.position.set(0, healthBarY, 0);
sprite.name = 'healthBar'; // Name f
r einfache Identifikation
updateEnemyHealthBar(sprite, 1.0); // Start bei 100%
enemyGroup.add(sprite);
function updateEnemyHealthBar(healthBarSprite, healthPercent) {
if (!healthBarSprite || !healthBarSprite.material || !healthBarSprite.material.map) {
const canvas = healthBarSprite.material.map.image;
if (!canvas) return;
const context = canvas.getContext('2d');
const width = canvas.width;
eight = canvas.height;
context.clearRect(0, 0, width, height);
context.fillStyle = '#330000';
context.fillRect(0, 0, width, height);
const barWidth = width * Math.max(0, Math.min(1, healthPercent));
if (healthPercent > 0.6) {
fillColor = '#00ff00'; // Gr
} else if (healthPercent > 0.3) {
fillColor = '#ffff00'; // Gelb
fillColor = '#ff0000'; // Rot
context.fillStyle = fillColor;
context.fillRect(2, 2, barWidth - 4, height - 4);
context.strokeStyle = '#ffffff';
context.lineWidth = 1;
ext.strokeRect(1, 1, width - 2, height - 2);
healthBarSprite.material.map.needsUpdate = true;
function createEnemy(x, z, type = 'snowman') {
const enemyGroup = new THREE.Group();
let shootCooldown = 2000;
if (type === 'snowman') {
const bodyBottom = new THREE.Mesh(
new THREE.SphereGeometry(0.4, 16, 16),
new THREE.MeshStandardMaterial({ color: 0xffffff, roughness: 0.8 })
bodyBottom.position.y = 0.4;
enemyGroup.add(bodyBottom);
const bodyMiddle = new THREE.MeshM
new THREE.SphereGeometry(0.35, 16, 16),
new THREE.MeshStandardMaterial({ color: 0xffffff, roughness: 0.8 })
bodyMiddle.position.y = 1.0;
enemyGroup.add(bodyMiddle);
const head = new THREE.Mesh(
new THREE.SphereGeometry(0.3, 16, 16),
new THREE.MeshStandardMaterial({ color: 0xffffff, roughness: 0.8 })
head.position.y = 1.6;
enemyGroup.add(head);
const leftEye = new THREE.Mesh(
new THREE.SphereGeometry(0.05, 8, 8),
new THREE.MeshStandardMaterial({ color: 0x000000 })
leftEye.position.set(-0.1, 1.65, 0.25);
nemyGroup.add(leftEye);
const rightEye = new THREE.Mesh(
new THREE.SphereGeometry(0.05, 8, 8),
new THREE.MeshStandardMaterial({ color: 0x000000 })
rightEye.position.set(0.1, 1.65, 0.25);
enemyGroup.add(rightEye);
const nose = new THREE.Mesh(
new THREE.ConeGeometry(0.05, 0.15, 8),
new THREE.MeshStandardMaterial({ color: 0xff6600 })
nose.rotation.x = -Math.PI / 2; // Nach vorne zeigen (nicht nach rechts)
nose.position.set(0, 1.6, 0.3);
enemyGroup.add(nose);
for (let i = 0; i < 3; i++) {
const button = new THREEM
new THREE.BoxGeometry(0.08, 0.08, 0.02),
new THREE.MeshStandardMaterial({ color: 0x000000 })
button.position.set(0, 0.85 + i * 0.15, 0.35);
enemyGroup.add(button);
const gunGroup = new THREE.Group();
const gunBody = new THREE.Mesh(
new THREE.BoxGeometry(0.15, 0.05, 0.3),
new THREE.MeshStandardMaterial({ color: 0x333333 })
gunBody.position.set(0, 0.1, 0);
gunGroup.add(gunBody);
const gunHandle = new THREE.Mesh(
new THREE.BoxGeometry(0.05, 0.15, 0.05),
new THREE.MeshStandardMaterial({ color: 0x222222 }M
gunHandle.position.set(0, -0.05, 0);
gunGroup.add(gunHandle);
gunGroup.position.set(0.3, 1.0, 0.2);
gunGroup.rotation.y = -Math.PI / 4;
enemyGroup.add(gunGroup);
health = 150; // Robust
speed = 0.035; // Erh
ht von 0.025 (aggressiver)
shootCooldown = 1500; // Verringert von 2000 (schie
} else if (type === 'elf') {
const body = new THREE.Mesh(
new THREE.CylinderGeometry(0.25, 0.25, 0.8, 8),
new THREE.MeshStandardMaterial({ color: 0x00ff00, roughness: 0.6 })
enemyGroup.add(body);
const head = new THREE.Mesh(
new THREE.SphereGeometry(0.2, 16, 16),
new THREE.MeshStandardMaterial({ color: 0xffdbac, roughness: 0.7 })
head.position.y = 1.3;
enemyGroup.add(head);
const leftEye = new THREE.Mesh(
new THREE.SphereGeometry(0.03, 8, 8),
new THREE.MeshStandardMaterial({ color: 0x000000 })
leftEye.position.set(-0.05, 1.32, 0.15);
enemyGroup.add(leftEye);
const rightEye = new THREE.Mesh(
new THREE.SphereGeometry(0.03, 8, 8),
new THREE.MeshStandardMaterial({ colorM
rightEye.position.set(0.05, 1.32, 0.15);
enemyGroup.add(rightEye);
const leftEar = new THREE.Mesh(
new THREE.ConeGeometry(0.08, 0.15, 8),
new THREE.MeshStandardMaterial({ color: 0xffdbac, roughness: 0.7 })
leftEar.rotation.z = -Math.PI / 6;
leftEar.position.set(-0.15, 1.35, 0);
enemyGroup.add(leftEar);
const rightEar = new THREE.Mesh(
new THREE.ConeGeometry(0.08, 0.15, 8),
new THREE.MeshStandardMaterial({ color: 0xffdbac, roughness: 0.7 })
rightEar.rotation.z = Math.PI / 6;
enemyGroup.add(rightEar);
const hat = new THREE.Mesh(
new THREE.ConeGeometry(0.25, 0.4, 8),
new THREE.MeshStandardMaterial({ color: 0xff0000, roughness: 0.5 })
hat.position.y = 1.5;
enemyGroup.add(hat);
const hatBrim = new THREE.Mesh(
new THREE.TorusGeometry(0.25, 0.05, 8, 16),
new THREE.MeshStandardMaterial({ color: 0xff0000, roughness: 0.5 })
hatBrim.rotation.x = Math.PI / 2;
hatBrim.position.y = 1.3;
enemyGroup.add(hatBrim);
const starShape = new THREE.Shape();
const outerRadius = 0.1;
const innerRadius = 0.05;
for (let i = 0; i < 10; i++) {
const angle = (i * Math.PI) / 5;
const radius = i % 2 === 0 ? outerRadius : innerRadius;
const x = Math.cos(angle) * radius;
const y = Math.sin(angle) * radius;
if (i === 0) starShape.moveTo(x, y);
else starShape.lineTo(x, y);
starShape.closePath();
const starGeometry = new THREE.ShapeGeometry(starShape);
const starMaterial = new THREE.MeshStandardMaterial({ color: 0xffff00, emissive: 0x333300 });
const star = new THREE.Mesh(starGeometry, starMaterial);
r.rotation.x = -Math.PI / 2;
star.position.y = 1.6;
star.scale.set(1, 1, 0.1);
enemyGroup.add(star);
const bowGroup = new THREE.Group();
const bowBody = new THREE.Mesh(
new THREE.BoxGeometry(0.3, 0.05, 0.05),
new THREE.MeshStandardMaterial({ color: 0x8b4513 })
bowBody.rotation.z = Math.PI / 2;
bowGroup.add(bowBody);
const bowString = new THREE.Mesh(
new THREE.BoxGeometry(0.25, 0.01, 0.01),
new THREE.MeshStandardMaterial({ color: 0xffffff })
bowString.position.z = 0.02;
bowGroup.add(bowString);
on.set(0.3, 1.0, 0.2);
bowGroup.rotation.y = -Math.PI / 4;
enemyGroup.add(bowGroup);
speed = 0.05; // Erh
ht von 0.04 (aggressiver)
shootCooldown = 1200; // Verringert von 1500 (schie
} else if (type === 'grinch') {
const body = new THREE.Mesh(
new THREE.CylinderGeometry(0.3, 0.3, 1.0, 8),
new THREE.MeshStandardMaterial({ color: 0x00aa00, roughness: 0.6 })
body.position.y = 0.7;
enemyGroup.add(body);
const head = new THREE.Mesh(
phereGeometry(0.25, 16, 16),
new THREE.MeshStandardMaterial({ color: 0x00aa00, roughness: 0.6 })
head.position.y = 1.5;
enemyGroup.add(head);
const leftEye = new THREE.Mesh(
new THREE.SphereGeometry(0.06, 8, 8),
new THREE.MeshStandardMaterial({ color: 0xffff00, emissive: 0x333300 })
leftEye.position.set(-0.08, 1.52, 0.18);
enemyGroup.add(leftEye);
const rightEye = new THREE.Mesh(
new THREE.SphereGeometry(0.06, 8, 8),
new THREE.MeshStandardMaterial({ color: 0xffff00, emissive: 0x333300 })
set(0.08, 1.52, 0.18);
enemyGroup.add(rightEye);
const leftPupil = new THREE.Mesh(
new THREE.SphereGeometry(0.03, 8, 8),
new THREE.MeshStandardMaterial({ color: 0x000000 })
leftPupil.position.set(-0.08, 1.52, 0.22);
enemyGroup.add(leftPupil);
const rightPupil = new THREE.Mesh(
new THREE.SphereGeometry(0.03, 8, 8),
new THREE.MeshStandardMaterial({ color: 0x000000 })
rightPupil.position.set(0.08, 1.52, 0.22);
enemyGroup.add(rightPupil);
const mouth = new THREE.Mesh(
new THREE.TorusGeometry(0.1, 0.02, 8, 16, MatM
new THREE.MeshStandardMaterial({ color: 0x000000 })
mouth.rotation.x = Math.PI / 2;
mouth.position.set(0, 1.4, 0.2);
enemyGroup.add(mouth);
for (let i = 0; i < 3; i++) {
const tooth = new THREE.Mesh(
new THREE.BoxGeometry(0.02, 0.05, 0.02),
new THREE.MeshStandardMaterial({ color: 0xffffff })
tooth.position.set(-0.05 + i * 0.05, 1.35, 0.25);
enemyGroup.add(tooth);
const leftFoot = new THREE.Mesh(
new THREE.BoxGeometry(0.2, 0.1, 0.3),
new THREE.MeshStandardMaterial({ color: 0x000000 })
tion.set(-0.15, 0.05, 0);
enemyGroup.add(leftFoot);
const rightFoot = new THREE.Mesh(
new THREE.BoxGeometry(0.2, 0.1, 0.3),
new THREE.MeshStandardMaterial({ color: 0x000000 })
rightFoot.position.set(0.15, 0.05, 0);
enemyGroup.add(rightFoot);
const gunGroup = new THREE.Group();
const gunBody = new THREE.Mesh(
new THREE.BoxGeometry(0.15, 0.05, 0.3),
new THREE.MeshStandardMaterial({ color: 0x333333 })
gunBody.position.set(0, 0.1, 0);
gunGroup.add(gunBody);
const gunHandle = new THREE.Mesh(
new THREE.BoxGeometry(M
new THREE.MeshStandardMaterial({ color: 0x222222 })
gunHandle.position.set(0, -0.05, 0);
gunGroup.add(gunHandle);
gunGroup.position.set(0.3, 1.0, 0.2);
gunGroup.rotation.y = -Math.PI / 4;
enemyGroup.add(gunGroup);
health = 80; // Standard
speed = 0.03; // Erh
ht von 0.02 (aggressiver)
shootCooldown = 2000; // Verringert von 2500 (schie
enemyGroup.position.set(x, 0, z);
enemyGroup.castShadow = true;
enemyGroup.receiveShadow = true;
console.error('createEnemy: scene is not defined!');
scene.add(enemyGroup);
console.log(`Enemy created at (${x.toFixed(2)}, 0, ${z.toFixed(2)}), type: ${type}, visible: ${enemyGroup.visible}, scene children: ${scene.children.length}, enemyGroup in scene: ${scene.children.includes(enemyGroup)}`);
if (currentLevel === 2) {
health = Math.floor(health * 1.3); // 30% mehr Gesundheit
speed = speed * 1.15; // 15% schneller
damage = Math.floor(damage * 1.2); // 20% mehr Schaden
oldown = Math.floor(shootCooldown * 0.9); // 10% k
} else if (currentLevel === 3) {
health = Math.floor(health * 1.6); // 60% mehr Gesundheit
speed = speed * 1.25; // 25% schneller
damage = Math.floor(damage * 1.4); // 40% mehr Schaden
shootCooldown = Math.floor(shootCooldown * 0.85); // 15% k
} else if (currentLevel === 4) {
damage = Math.max(1, Math.floor(damage / 4));
const multipliers = difficultyMultipliers[difficultyLevel] || difficultyMultipliers.easy;
health = Math.floor(heM
alth * multipliers.enemyHealth);
speed = speed * multipliers.enemySpeed;
damage = Math.floor(damage * multipliers.enemyDamage);
shootCooldown = Math.floor(shootCooldown / multipliers.enemyFireRate);
const healthBarSprite = createEnemyHealthBar(enemyGroup, type);
position: new THREE.Vector3(x, 0, z),
shootCooldown: shootCooldown,
healthBar: healthBarSprite // Speichere Health-Bar-Referenz
function createBoss(x, z) {
const bossGroup = new THREE.Group();
const body = new THREE.Mesh(
new THREE.CylinderGeometry(0.9, 0.9, 3.0, 8),
new THREE.MeshStandardMaterial({ color: 0x00aa00, roughness: 0.6 })
body.position.y = 1.5;
bossGroup.add(body);
const head = new THREE.Mesh(
new THREE.SphereGeometry(0.75, 16, 16),
new THREE.MeshStandardMaterial({ color: 0x00aa00, roughness: 0.6 })
head.position.y = 4.5;
bossGroup.add(head);
const leftEye = new THREE.Mesh(
reGeometry(0.18, 8, 8),
new THREE.MeshStandardMaterial({ color: 0xffff00, emissive: 0x333300 })
leftEye.position.set(-0.24, 4.56, 0.54);
bossGroup.add(leftEye);
const rightEye = new THREE.Mesh(
new THREE.SphereGeometry(0.18, 8, 8),
new THREE.MeshStandardMaterial({ color: 0xffff00, emissive: 0x333300 })
rightEye.position.set(0.24, 4.56, 0.54);
bossGroup.add(rightEye);
const leftPupil = new THREE.Mesh(
new THREE.SphereGeometry(0.09, 8, 8),
new THREE.MeshStandardMaterial({ color: 0x000000 })
n.set(-0.24, 4.56, 0.66);
bossGroup.add(leftPupil);
const rightPupil = new THREE.Mesh(
new THREE.SphereGeometry(0.09, 8, 8),
new THREE.MeshStandardMaterial({ color: 0x000000 })
rightPupil.position.set(0.24, 4.56, 0.66);
bossGroup.add(rightPupil);
const mouth = new THREE.Mesh(
new THREE.TorusGeometry(0.3, 0.06, 8, 16, Math.PI),
new THREE.MeshStandardMaterial({ color: 0x000000 })
mouth.rotation.x = Math.PI / 2;
mouth.position.set(0, 4.2, 0.6);
bossGroup.add(mouth);
for (let i = 0; i < 5; i++) {
new THREE.BoxGeometry(0.06, 0.15, 0.06),
new THREE.MeshStandardMaterial({ color: 0xffffff })
tooth.position.set(-0.15 + i * 0.075, 4.05, 0.75);
bossGroup.add(tooth);
const leftFoot = new THREE.Mesh(
new THREE.BoxGeometry(0.6, 0.3, 0.9),
new THREE.MeshStandardMaterial({ color: 0x000000 })
leftFoot.position.set(-0.45, 0.15, 0);
bossGroup.add(leftFoot);
const rightFoot = new THREE.Mesh(
new THREE.BoxGeometry(0.6, 0.3, 0.9),
new THREE.MeshStandardMaterial({ color: 0x000000 })
.set(0.45, 0.15, 0);
bossGroup.add(rightFoot);
const gunGroup1 = new THREE.Group();
const gunBody1 = new THREE.Mesh(
new THREE.BoxGeometry(0.45, 0.15, 0.9),
new THREE.MeshStandardMaterial({ color: 0x333333 })
gunBody1.position.set(0, 0.3, 0);
gunGroup1.add(gunBody1);
const gunHandle1 = new THREE.Mesh(
new THREE.BoxGeometry(0.15, 0.45, 0.15),
new THREE.MeshStandardMaterial({ color: 0x222222 })
gunHandle1.position.set(0, -0.15, 0);
gunGroup1.add(gunHandle1);
gunGroup1.position.set(0.9, 3.0, 0.6);
tion.y = -Math.PI / 4;
bossGroup.add(gunGroup1);
const gunGroup2 = new THREE.Group();
const gunBody2 = new THREE.Mesh(
new THREE.BoxGeometry(0.45, 0.15, 0.9),
new THREE.MeshStandardMaterial({ color: 0x333333 })
gunBody2.position.set(0, 0.3, 0);
gunGroup2.add(gunBody2);
const gunHandle2 = new THREE.Mesh(
new THREE.BoxGeometry(0.15, 0.45, 0.15),
new THREE.MeshStandardMaterial({ color: 0x222222 })
gunHandle2.position.set(0, -0.15, 0);
gunGroup2.add(gunHandle2);
gunGroup2.position.set(-0.9, 3.0, 0.6);
otation.y = Math.PI / 4;
bossGroup.add(gunGroup2);
bossGroup.position.set(x, 0, z);
bossGroup.castShadow = true;
bossGroup.receiveShadow = true;
bossGroup.visible = true;
console.error('createBoss: scene is not defined!');
scene.add(bossGroup);
const health = 2000;
const speed = 0.025; // Langsamer, aber massiv
const shootCooldown = 1500;
let damage = 50; // Sehr viel Schaden
if (currentLevel === 4) {
damage = Math.max(1, Math.floor(damage / 4)); // Mindestens 1 Schaden
rSprite = createEnemyHealthBar(bossGroup, 'grinch');
if (healthBarSprite) {
healthBarSprite.scale.set(2.0, 0.3, 1.0); // Gr
healthBarSprite.position.y = 6.0; // H
position: new THREE.Vector3(x, 0, z),
shootCooldown: shootCooldown,
healthBar: healthBarSprite,
gunGroup1: gunGroup1, // Referenz zur ersten Waffe
gunGroup2: gunGroup2, //M
Referenz zur zweiten Waffe
lastSpecialAttack: 0, // Zeitpunkt der letzten Spezialattacke
specialAttackCooldown: 8000, // 8 Sekunden Cooldown
phase: 1 // Phase 1 = normal, 2 = bei 50% HP, 3 = bei 25% HP
function spawnEnemies() {
console.log('spawnEnemies: Starting...');
console.log(`spawnEnemies: currentLevel=${currentLevel}, levelSize=${levelSize}, cellSize=${cellSize}`);
console.log(`spawnEnemies: level array exists: ${Array.isArray(level)}, length: ${level ? level.length : 0M
if (!level || !Array.isArray(level) || level.length === 0) {
console.error('spawnEnemies: Level array is not initialized! Cannot spawn enemies.');
let floorCellCount = 0;
if (level && level.length > 0) {
for (let z = 0; z < levelSize; z++) {
for (let x = 0; x < levelSize; x++) {
if (level[z][x] === 0) floorCellCount++;
console.log(`spawnEnemies: Total floor cells in level: ${floorCellCount}`);
if (currentLevel === 4) {
maxEnemies = 15; // Level 1
if (currentLevel === 2) {
} else if (currentLevel >= 3) {
const multipliers = difficultyMultipliers[difficultyLevel] || difficultyMultipliers.easy;
maxEnemies = Math.floor(maxEnemies * multipliers.enemyCount);
const validSpawnPositions = [];
const enemyRadius = 0.4; // Radius f
for (let gridZ = 1; gridZ < levelSize - 1; gridZ++) {
for (let gridX = 1; gridX < levelSize - 1; gridX++) {
if (level[gridZ] && level[gM
ridZ][gridX] === 0) {
const x = (gridX - levelSize / 2) * cellSize + cellSize / 2;
const z = (gridZ - levelSize / 2) * cellSize + cellSize / 2;
let canSpawn = true;
if (currentLevel === 4) {
const distToBoss = Math.sqrt(x * x + z * z);
if (distToBoss <= 5) {
canSpawn = false; // Zu nah am Boss
if (player && player.position) {
const distToPlayer = Math.sqrt(
Math.pow(x - player.position.x, 2) +
Math.pow(z - player.position.z, 2)
if (distToPlayer <= 3) {
nPositions.push({ x, z });
console.log(`spawnEnemies: Found ${validSpawnPositions.length} potential spawn positions`);
if (validSpawnPositions.length > 0) {
console.log(`spawnEnemies: First 5 positions:`, validSpawnPositions.slice(0, 5));
console.error('spawnEnemies: NO VALID SPAWN POSITIONS FOUND!');
console.log('spawnEnemies: Sample level values:');
for (let z = 0; z < Math.min(5, levelSize); z++) {
for (let x = 0; x < Math.min(10, levelSize); x++) {
console.log(` level[${z}]: ${row}`);
if (currentLevel === 4) {
const arenaSize = levelSize * cellSize;
const minDistance = 10; // Mindestabstand zwischen Gegnern
for (let i = validSpawnPositions.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[validSpawnPositions[i], validSpawnPositions[j]] = [validSpawnPositions[j], validSpawnPositions[i]];
const spawnedPositions = [];
const enemiesToSpawn = [];
for (let i = 0; i < validSpawnPositions.length && enemiesToSpawn.length < M
const pos = validSpawnPositions[i];
let canSpawn = true;
for (const spawnedPos of spawnedPositions) {
const dist = Math.sqrt(
Math.pow(pos.x - spawnedPos.x, 2) +
Math.pow(pos.z - spawnedPos.z, 2)
if (dist < minDistance) {
const rand = Math.random();
const type = rand < 0.33 ? 'snowman' : rand < 0.66 ? 'elf' : 'grinch';
enemiesToSpawn.push({ x: pos.x, z: pos.z, type: type });
spawnedPositions.push({ x: pos.x, z: pos.z });
const batchSize = 3; // M
Spawne 3 Gegner pro Frame
const spawnBatch = () => {
const endIndex = Math.min(batchIndex + batchSize, enemiesToSpawn.length);
for (let i = batchIndex; i < endIndex; i++) {
const enemyData = enemiesToSpawn[i];
const enemy = createEnemy(enemyData.x, enemyData.z, enemyData.type);
console.error(`spawnEnemies: ERROR creating enemy:`, error);
batchIndex = endIndex;
if (batchIndex < enemiesToSpawn.length) {
requestAnimationFrame(spawnBatch);
console.log(`Level 4: Spawned ${spawnCount} enemies with better distribution (async)`);
for (let i = validSpawnPositions.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[validSpawnPositions[i], validSpawnPositions[j]] = [validSpawnPositions[j], validSpawnPositions[i]];
const enemiesToSpawn = Math.min(validSpawnPositions.length, maxEnemies);
console.log(`spawnEnemies: Will attempt to spawn ${enemiesToSpawn} enemies`);
for (let i = 0; i < validSpawnPositionM
s.length && spawnCount < maxEnemies; i++) {
const pos = validSpawnPositions[i];
const rand = Math.random();
const type = rand < 0.33 ? 'snowman' : rand < 0.66 ? 'elf' : 'grinch';
console.log(`spawnEnemies: Creating enemy ${spawnCount + 1}/${maxEnemies} of type ${type} at (${pos.x.toFixed(2)}, ${pos.z.toFixed(2)})`);
const enemy = createEnemy(pos.x, pos.z, type);
console.log(`spawnEnemies: Enemy ${spawnCount} created successfully, mesh visible: ${enemy.mesh ? enemy.mesh.visible : 'noM
console.error(`spawnEnemies: createEnemy returned null for position (${pos.x}, ${pos.z})`);
console.error(`spawnEnemies: ERROR creating enemy of type ${type}:`, error);
console.error('Error message:', error.message);
console.error('Stack:', error.stack);
if (spawnCount < maxEnemies) {
console.warn(`spawnEnemies: Only spawned ${spawnCount}/${maxEnemies} enemies. Not enough valid spawn positions.`);
if (currentLevel === 4) {
const bossX = 0; // Zentrum
console.log(`Level 4: Attempting to create boss at (${bossX}, ${bossZ})`);
const boss = createBoss(bossX, bossZ);
console.log('Boss created successfully at center of arena');
console.log(`Boss health: ${boss.health}, Boss position: (${boss.position.x}, ${boss.position.z})`);
console.error('FAILED to create boss!');
console.log(`spawnEnemies: Completed. Spawned ${spawnCount} enemies.`);
console.log(`spawnEnemies: enemies array length: ${enemies.length}`);
if (currentLevel === 4) {M
console.log(`Level 4: Total enemies (including boss): ${enemies.length}`);
console.log(`spawnEnemies: scene children count: ${scene ? scene.children.length : 'scene is null'}`);
let enemiesInScene = 0;
for (let enemy of enemies) {
if (enemy.mesh && scene.children.includes(enemy.mesh)) {
console.error(`spawnEnemies: Enemy mesh not in scene!`, enemy);
console.log(`spawnEnemies: ${enemiesInScene}/${enemies.length} enemies are in the scene`);
const loader = new GLTFLoaM
function createPickup(x, z, type) {
console.error('createPickup: scene is not defined!');
const pickupGroup = new THREE.Group();
pickupGroup.position.set(x, 0.5, z); // Y-Position auf 0.5, damit es
ber dem Boden schwebt
position: new THREE.Vector3(x, 0.5, z),
if (type === 'medkit') {
const fallback = new THREE.Mesh(
new THREE.BoxGeometry(0.3, 0.8, 0.3),
new THREE.MeshStandardMaterial({ color: 0xff0M
fallback.position.y = 0.4;
pickupGroup.add(fallback);
if (assetCache.models.candyCane) {
if (!pickup.collected && pickupGroup) {
pickupGroup.clear();
const model = assetCache.models.candyCane.scene.clone(); // Klone das Modell
model.scale.set(0.25, 0.25, 0.25);
model.rotation.x = Math.PI / 8;
model.position.y = 0.5;
pickupGroup.add(model);
loader.load('/content/0725617c05c03767ac263830b4dff5ec4380223670dcffbb9a3c880bdc8d8df6i0', (gltf) => {
assetCache.models.candyCane = gltf; // Cache speichernM
if (!pickup.collected && pickupGroup) {
pickupGroup.clear();
const model = gltf.scene.clone(); // Klone das Modell
model.scale.set(0.25, 0.25, 0.25);
model.rotation.x = Math.PI / 8;
model.position.y = 0.5;
pickupGroup.add(model);
}, undefined, (error) => {
console.warn('Could not load candy_cane.glb, using fallback');
} else if (type === 'ammo') {
const fallback = new THREE.Mesh(
new THREE.BoxGeometry(0.4, 0.4, 0.4),
new THREE.MeshStandardMaterial({ color: 0xffff00 })
fallback.position.y = 0.2;
if (assetCache.models.present) {
if (!pickup.collected && pickupGroup) {
pickupGroup.clear();
const model = assetCache.models.present.scene.clone(); // Klone das Modell
model.scale.set(0.3, 0.3, 0.3);
model.position.y = 0.3;
pickupGroup.add(model);
loader.load('/content/4631b1ac4911845111e340d316e0cb536722a468f96d3a2b20eb326b29facf92i0', (gltf) => {
assetCache.models.present = gltf; // Cache speichern
if (!pickup.collected && pickupGroup) {
pickupGroup.clear();
const model = gltf.sceneM
.clone(); // Klone das Modell
model.scale.set(0.3, 0.3, 0.3);
model.position.y = 0.3;
pickupGroup.add(model);
}, undefined, (error) => {
console.warn('Could not load present.glb, using fallback');
pickupGroup.castShadow = true;
pickupGroup.receiveShadow = true;
scene.add(pickupGroup);
pickups.push(pickup);
console.error('Error adding pickup to scene:', error);
function spawnPickups() {
let medkitCount = 3;
let medkitsSpawned = 0;
let ammosSpawned = 0;
const maxAttempts = currentLevel === 4 ? 1000 : 500;
while (medkitsSpawned < medkitCount && attempts < maxAttempts) {
let x = (Math.random() - 0.5) * (levelSize - 2) * cellSize;
let z = (Math.random() - 0.5) * (levelSize - 2) * cellSize;
let gridX = Math.floor((x / cellSize) + levelSize / 2);
let gridZ = Math.floor((z / cellSize) + levelSize / 2);
if (gridX > 0 && gridX < levelSize - 1 && griM
dZ > 0 && gridZ < levelSize - 1) {
if (level[gridZ][gridX] === 0) {
const distToPlayer = Math.sqrt(
Math.pow(x - player.position.x, 2) +
Math.pow(z - player.position.z, 2)
let canSpawn = true;
if (distToPlayer <= 3) {
if (currentLevel === 4) {
const distToBoss = Math.sqrt(x * x + z * z);
if (distToBoss <= 3) {
canSpawn = false; // Zu nah am Boss (reduziert von 5 auf 3)
createPickup(x, z, 'medkit');
while (ammosSpawned < ammoCount && M
attempts < maxAttempts) {
let x = (Math.random() - 0.5) * (levelSize - 2) * cellSize;
let z = (Math.random() - 0.5) * (levelSize - 2) * cellSize;
let gridX = Math.floor((x / cellSize) + levelSize / 2);
let gridZ = Math.floor((z / cellSize) + levelSize / 2);
if (gridX > 0 && gridX < levelSize - 1 && gridZ > 0 && gridZ < levelSize - 1) {
if (level[gridZ][gridX] === 0) {
const distToPlayer = Math.sqrt(
Math.pow(x - player.position.x, 2) +
Math.pow(z - player.position.z, 2)
let canSpawn = true;
if (currentLevel === 4) {
const distToBoss = Math.sqrt(x * x + z * z);
if (distToBoss <= 3) {
canSpawn = false; // Zu nah am Boss (reduziert von 5 auf 3)
createPickup(x, z, 'ammo');
function checkAndSpawnAmmoIfNeeded() {
let hasNoAmmo = true;
for (const weapon of unlockedWeapons) {
if (weapon === 'grenade') continue; // Granaten ignorieren
if (playerAmmo[weapon] && playerAmmo[weapon] > 0) {
upsOnMap = pickups.filter(p => p.type === 'ammo' && !p.collected);
const hasNoAmmoPickups = ammoPickupsOnMap.length === 0;
if (hasNoAmmo && hasNoAmmoPickups && !lastAmmoSpawnCheck) {
spawnEmergencyAmmoPickups(2);
lastAmmoSpawnCheck = true;
if (!hasNoAmmo || !hasNoAmmoPickups) {
lastAmmoSpawnCheck = false;
function spawnEmergencyAmmoPickups(count) {
console.log(`Spawning ${count} emergency ammo pickups`);
const maxAttempts = 200;
while (spawned < count && attempts < maxAttempM
let x = (Math.random() - 0.5) * (levelSize - 2) * cellSize;
let z = (Math.random() - 0.5) * (levelSize - 2) * cellSize;
let gridX = Math.floor((x / cellSize) + levelSize / 2);
let gridZ = Math.floor((z / cellSize) + levelSize / 2);
if (gridX > 0 && gridX < levelSize - 1 && gridZ > 0 && gridZ < levelSize - 1) {
if (level[gridZ][gridX] === 0) {
const distToPlayer = Math.sqrt(
Math.pow(x - player.position.x, 2) +
Math.pow(z - player.position.z, 2)
let canSpawn = true;
if (distToPlayer <= 3) {
if (currentLevel === 4) {
const distToBoss = Math.sqrt(x * x + z * z);
if (distToBoss <= 3) {
for (const pickup of pickups) {
if (!pickup.collected) {
const distToPickup = Math.sqrt(
Math.pow(x - pickup.position.x, 2) +
Math.pow(z - pickup.position.z, 2)
if (distToPickup < 2) {
createPickup(x, z, 'ammo');
const weapon = weaponConfigs[currentWeapon];
console.warn('Weapon not M
found:', currentWeapon);
const now = Date.now();
if (isReloading) return;
if (playerAmmo[currentWeapon] <= 0) {
return; // Keine automatische Auff
llung - Spieler muss manuell nachladen
if (now - lastShotTime < weapon.fireRate) return;
playerAmmo[currentWeapon] -= weapon.ammoPerShot;
weaponsUsed.add(currentWeapon);
playShootSound(currentWeapon);
if (weapon.muzzleFlash) {
let direction = new THREE.Vector3(0, 0, -1);
if (!camera || !player) {
.error('Camera or player not defined in shoot()');
return; // Kann nicht schie
en ohne Kamera oder Spieler
if (sniperZoom && currentWeapon === 'sniper') {
direction.applyQuaternion(camera.quaternion);
const euler = new THREE.Euler(player.rotation.x, player.rotation.y, 0, 'YXZ');
const quat = new THREE.Quaternion().setFromEuler(euler);
direction.applyQuaternion(quat);
const spread = weapon.spread;
direction.x += (Math.random() - 0.5) * spread;
direction.y += (Math.random() - 0.5) * spread;
direction = applyAimAssist(direction);
if (!direction || !isFinite(direction.x) || !isFinite(direction.y) || !isFinite(direction.z)) {
direction = new THREE.Vector3(0, 0, -1);
if (sniperZoom && currentWeapon === 'sniper') {
direction.applyQuaternion(camera.quaternion);
const euler = new THREE.Euler(player.rotation.x, player.rotation.y, 0, 'YXZ');
const quat = new THREE.Quaternion().setFromEuler(euler);
direction.applyQuaternion(quat);
direction.normalize();
if (weapon.explosive) {
if (assetCache.grenadeMeshPool && assetCache.grenadeMeshPool.length > 0) {
grenadeMesh = assetCache.grenadeMeshPool.pop();
grenadeMesh.visible = true;
grenadeMesh = new THREE.Mesh(assetCache.geometries.grenade, assetCache.materials.grenade);
grenadeMesh.position.copy(camera.position);
scene.add(grenadeMesh);
const upgrades = weaponUpgrades[currentWeapon] || { damage: 1.0, fireRate: 1.0, range: 1.0 };
position: camera.position.clone(),
velocity: direction.clone(M
).multiplyScalar(0.5),
damage: weapon.damage * upgrades.damage,
range: 5 * upgrades.range
bullets.push(grenade);
const bulletSize = currentWeapon === 'mg' ? 0.08 : 0.06;
const bulletColor = currentWeapon === 'mg' ? 0xff6600 : (currentWeapon === 'rifle' ? 0x00ffff : 0xffff00);
const geomKey = currentWeapon === 'mg' ? 'bulletMg' : 'bullet';
if (!assetCache.geometries[geomKey]) {
assetCache.geometries[geomKey] = new THREE.SphereGeometry(bulletSize, 8, 8);
if (!assetCache.matM
erials.bullet[bulletColor]) {
assetCache.materials.bullet[bulletColor] = new THREE.MeshStandardMaterial({
emissive: bulletColor,
emissiveIntensity: 2.0
const bulletMesh = new THREE.Mesh(assetCache.geometries[geomKey], assetCache.materials.bullet[bulletColor]);
bulletMesh.position.copy(camera.position);
scene.add(bulletMesh);
const tracerLength = 0.5;
if (!assetCache.geometries.tracer) {
assetCache.geometries.tracer = new THREE.CylinderGeometry(0.02, 0.02, tracerLength, 8);
ometry = assetCache.geometries.tracer;
const tracerColor = currentWeapon === 'mg' ? 0xff6600 : (currentWeapon === 'rifle' ? 0x00ffff : 0xffff00);
if (!assetCache.materials.tracer) {
assetCache.materials.tracer = {};
if (!assetCache.materials.tracer[tracerColor]) {
assetCache.materials.tracer[tracerColor] = new THREE.MeshStandardMaterial({
emissive: tracerColor,
emissiveIntensity: 3.0
const tracerMaterial = assetCache.materials.tracer[tracerColor];
const tracer = new THREE.Mesh(tracerGeomM
etry, tracerMaterial);
tracer.position.copy(camera.position);
tracer.lookAt(camera.position.clone().add(direction.clone().multiplyScalar(tracerLength)));
createMuzzleFlash3D(camera.position, direction);
const upgrades = weaponUpgrades[currentWeapon] || { damage: 1.0, fireRate: 1.0, range: 1.0 };
position: camera.position.clone(),
direction: direction.clone(),
range: weapon.range * upgrades.range,
damage: weapon.damage * upgrades.damage,
bullets.push(bullet);
const originalZ = weaponMesh.position.z;
weaponMesh.position.z += 0.05;
weaponMesh.position.z = originalZ;
function createFlameParticle(pos, dir) {
for (let i = 0; i < 5; i++) {
const particleGeometry = new THREE.SphereGeometry(0.05, 4, 4);
const particleMaterial = new THREE.MeshBasicMaterial({
color: new THREE.Color().setHSL(0.1, 1, 0.5),
st particle = new THREE.Mesh(particleGeometry, particleMaterial);
particle.position.copy(pos);
particle.position.add(dir.clone().multiplyScalar(0.5 + i * 0.2));
scene.add(particle);
velocity: dir.clone().multiplyScalar(0.3).add(
(Math.random() - 0.5) * 0.1,
(Math.random() - 0.5) * 0.1,
(Math.random() - 0.5) * 0.1
function updateBullets() {
if (gameState !== 'playing') {
for (let i = bullets.length - 1; i >= 0; i--) {
const bullet = bullets[i];
if (bullet.type === 'grenade') {
bullet.velocity.y -= 0.01; // Gravity
bullet.position.add(bullet.velocity);
if (bullet.timer <= 0 || bullet.position.y < 0) {
const explosionPos = bullet.position.clone();
const explosionDamage = bullet.damage;
const explosionRange = bullet.range;
const grenadeMesh = bullet.mesh;
scene.remove(grenadeMesh);
grenadeMesh.visible = false;
if (assetCache.grenadeMeshPool) {
assetCache.grenadeMeshPool.push(grenadeMesh);
bullets.splice(i, 1);M
requestAnimationFrame(() => {
createExplosion(explosionPos, explosionDamage, explosionRange);
bullet.mesh.position.copy(bullet.position);
const move = bullet.direction.clone().multiplyScalar(bullet.speed);
bullet.position.add(move);
bullet.traveled += bullet.speed;
bullet.mesh.position.copy(bullet.position);
if (bullet.tracer && bullet.position && bullet.direction) {
const pos = bullet.position instanceof THREE.Vector3 ? bullet.position : new THREE.Vector3(bullet.positM
ion.x, bullet.position.y, bullet.position.z);
const dir = bullet.direction instanceof THREE.Vector3 ? bullet.direction : new THREE.Vector3(bullet.direction.x, bullet.direction.y, bullet.direction.z);
const tracerPos = pos.clone().sub(dir.clone().multiplyScalar(0.15));
bullet.tracer.position.copy(tracerPos);
bullet.tracer.lookAt(pos);
if (bullet.traveled > bullet.range) {
if (bullet.mesh) scene.remove(bullet.mesh);
if (bullet.tracer) scene.remove(bullet.tracer);
bullets.splice(i, 1);
if (bullet.type === 'bullet' && enemies.length > 0) {
for (let j = enemies.length - 1; j >= 0; j--) {
const enemy = enemies[j];
if (!enemy || !enemy.position || !enemy.mesh) {
const bulletPos = bullet.position instanceof THREE.Vector3
? bullet.position.clone()
: new THREE.Vector3(bullet.position.x, bullet.position.y, bullet.position.z);
if (enemy.position instanceof THREE.Vector3) {
enemyPos = enemy.position.clone();
} else if (enemy.position && typM
eof enemy.position.x !== 'undefined') {
enemyPos = new THREE.Vector3(enemy.position.x, enemy.position.y || 0, enemy.position.z);
} else if (enemy.mesh && enemy.mesh.position) {
enemyPos = enemy.mesh.position.clone();
continue; // Keine g
ltige Position gefunden
if (enemy.type === 'grinch') {
const debugDist = Math.sqrt(
Math.pow(bulletPos.x - enemyPos.x, 2) +
Math.pow(bulletPos.z - enemyPos.z, 2)
if (debugDist < 1.0 && debugDist > 0.5) {
console.log(`GRINCH MISS DEBUG: Dist: ${debugDist.toFixed(3)}, M
Bullet: (${bulletPos.x.toFixed(2)}, ${bulletPos.y.toFixed(2)}, ${bulletPos.z.toFixed(2)}), Enemy: (${enemyPos.x.toFixed(2)}, ${enemyPos.y.toFixed(2)}, ${enemyPos.z.toFixed(2)})`);
let isHeadshot = false;
let headshotMultiplier = 1.0;
const headY = bulletPos.y - enemyPos.y;
if (enemy.type === 'snowman' && headY >= 1.3 && headY <= 1.9) {
headshotMultiplier = 2.5;
} else if (enemy.type === 'elf' && headY >= 1.1 && headY <= 1.5) {
headshotMultiplier = 2.5;
} else if (enemy.typeM
=== 'grinch' && headY >= 1.25 && headY <= 1.75) {
headshotMultiplier = 2.5;
} else if ((enemy.type === 'boss' || enemy.isBoss) && headY >= 3.5 && headY <= 5.5) {
headshotMultiplier = 3.0; // Noch mehr Schaden f
} else if (headY >= 1.1 && headY <= 1.5) {
headshotMultiplier = 2.5;
const horizontalDist = Math.sqrt(
Math.pow(bulletPos.x - enemyPos.x, 2) +
Math.pow(bulletPos.z - enemyPos.z, 2)
let maxHorizontalDist = 0.6; // Standard - erh
r bessere Treffererkennung
let minVerticalDist = -0.2; // Minimale Y-H
he (auch leicht unter dem Boden f
let maxVerticalHeight = 2.5; // Maximale Y-H
if (enemy.type === 'snowman') {
maxHorizontalDist = 0.65; // Snowman ist breit - erh
r bessere Treffererkennung
minVerticalDist = -0.2;
maxVerticalHeight = 2.3; // Bis zur Spitze des Kopfes + Toleranz
} else if (enemy.type === 'elf') {
maxHorizontalDist = 0.5; // Elf - erh
r bessere Treffererkennung
minVerticalDist = -0.2;
ticalHeight = 2.0; // Bis zur Hutspitze + mehr Toleranz
} else if (enemy.type === 'grinch') {
maxHorizontalDist = 0.7; // Grinch - ERH
r bessere Treffererkennung (Radius 0.3 + Toleranz 0.4)
minVerticalDist = -0.3; // Mehr Toleranz nach unten
maxVerticalHeight = 2.5; // Bis zur Spitze des Kopfes + mehr Toleranz (Kopf bei y=1.5, Radius 0.25)
} else if (enemy.type === 'boss' || enemy.isBoss) {
maxHorizontalDist = 1.2; // Sehr gro
minVerticalDist = -0.5;
maxVerticalHeight = 6.0; // Bis zur Spitze des riesigen M
const verticalDist = bulletPos.y - enemyPos.y;
const isWithinVerticalBounds = verticalDist >= minVerticalDist && verticalDist <= maxVerticalHeight;
let hitDetected = horizontalDist < maxHorizontalDist && isWithinVerticalBounds;
if (enemy.type === 'grinch' && !hitDetected) {
const expandedDist = maxHorizontalDist * 1.2;
const expandedHeight = maxVerticalHeight * 1.1;
if (horizontalDist < expandedDist && verticalDist >= minVerticalDist && verticalDist <= expandedHeight) {
NCH HIT (expanded hitbox): Dist: ${horizontalDist.toFixed(3)}, Y-diff: ${verticalDist.toFixed(3)}`);
const finalDamage = bullet.damage * headshotMultiplier;
enemy.health -= finalDamage;
console.log(`HIT! Enemy: ${enemy.type}, Damage: ${finalDamage.toFixed(1)}, Health: ${enemy.health.toFixed(1)}/${enemy.maxHealth}, Dist: ${horizontalDist.toFixed(3)}, Y-diff: ${verticalDist.toFixed(3)}`);
createBulletImpact(bulletPos);
createHitParticle(enemyPos);
playHeadshotSound();
playRandomSantaQuote(0.3);
checkWeaponUnlocks();
let deathSoundPlayed = false;
if (enemy.health <= 0) {
const now = Date.now();
if (now - lastKillTime > killstreakTimeout) {
killstreak = 0; // Reset Killstreak wenn zu lange zwischen Kills
if (killstreak > maxKillstreak) {
maxKillstreak = killstreak;
killstreakMultiplier = Math.min(3M
.0, 1.0 + (killstreak - 1) * 0.2);
showKillstreakDisplay();
if (killstreak >= 3) {
playKillstreakSound(killstreak);
if (enemy.type === 'boss' || enemy.isBoss) {
} else if (enemy.type === 'grinch') {
} else if (enemy.type === 'snowman') {
} else if (enemy.type === 'elf') {
const headshotBonus = isHeadshot ? 2.0 : 1.0;
const finalScore = Math.floor(baseScore * killstreakMultiplier * headshotBonus);
playerScore += finalScore;
showKillText(isHeadshot);
createKillParticles(enemyPos, isHeadshot, killstreak);
if (killstreak >= 5) {
playRandomSantaQuote(0.5);
createEnemyDeathCircle(enemyPos);
if (enemy.type === 'snowman') {
const pickupOffset = 0.5; // Kleine Verschiebung
const pickupX = enemyPos.x + (Math.random() - 0.5) * pickupOffset;
const pickupZ = enemyPos.z + (Math.random() - 0.5) * pickupOffset;
const pickupType = Math.random() < 0.5 ? 'medkit' : 'ammo';
createPickup(pickupX, pickupZ, pickupType)M
} else if (playerHealth <= 30) {
if (Math.random() < 0.3) {
const pickupOffset = 0.5;
const pickupX = enemyPos.x + (Math.random() - 0.5) * pickupOffset;
const pickupZ = enemyPos.z + (Math.random() - 0.5) * pickupOffset;
createPickup(pickupX, pickupZ, 'medkit');
if (!deathSoundPlayed) {
deathSoundPlayed = true;
const rand = Math.random();
if (enemy.type === 'elf' && rand < 0.5 && elfDeathSound) {
elfDeathSound.currentTime = 0;
elfDeathSound.play().catch(e => {});
} else if (enemy.type === 'grinch' && rand < 0.M
5 && grinchDeathSound) {
grinchDeathSound.currentTime = 0;
grinchDeathSound.play().catch(e => {});
} else if (enemy.type === 'snowman' && rand < 0.5 && snowmanDeathSound) {
snowmanDeathSound.currentTime = 0;
snowmanDeathSound.play().catch(e => {});
} else if (randomDeathSounds.length > 0) {
const randomSound = randomDeathSounds[Math.floor(Math.random() * randomDeathSounds.length)];
randomSound.currentTime = 0;
randomSound.play().catch(e => {});
if (enemy.type === 'boss' || enemy.isBoss) {
layerScore += 1000; // Riesiger Score f
} else if (enemy.type === 'grinch') {
} else if (enemy.type === 'snowman') {
} else if (enemy.type === 'elf') {
checkWeaponUnlocks();
animateEnemyDeath(enemy, enemyPos);
enemies.splice(j, 1);
break; // Nur ein Gegner pro Bullet
if (bulletHit && bullet.type !== 'flame') {
if (bullet.mesh && scene.children.includes(bullet.mesh)) {
scene.remove(bullet.mesh);
if (bullet.tracer && scene.M
children.includes(bullet.tracer)) {
scene.remove(bullet.tracer);
bullets.splice(i, 1);
i--; // Korrigiere Index nach splice
berspringe weitere Verarbeitung f
let gridX = Math.floor((bullet.position.x / cellSize) + levelSize / 2);
let gridZ = Math.floor((bullet.position.z / cellSize) + levelSize / 2);
if (gridX < 0 || gridX >= levelSize || gridZ < 0 || gridZ >= levelSize ||
level[gridZ][gridX] === 1) {
if (bullet.type === 'bullet' && bullet.position) {
createBulletImpact(bullet.M
if (bullet.type === 'grenade') {
createExplosion(bullet.position, bullet.damage, bullet.range);
scene.remove(bullet.mesh);
if (bullet.mesh) scene.remove(bullet.mesh);
if (bullet.tracer) scene.remove(bullet.tracer);
bullets.splice(i, 1);
function createMuzzleFlash3D(pos, dir) {
const baseFlashCount = currentWeapon === 'mg' ? 15 : 10;
const flashCount = Math.floor(baseFlashCount * performanceLevel);
const flashColor = currentWeapon === 'mg' ? 0xff6600 : (currentWeapon === 'rifle' ? 0x00ffff : 0xfM
for (let i = 0; i < flashCount; i++) {
const flashSize = currentWeapon === 'mg' ? 0.05 + Math.random() * 0.03 : 0.04 + Math.random() * 0.02;
const flashGeometry = new THREE.SphereGeometry(flashSize, 6, 6);
const flashMaterial = new THREE.MeshStandardMaterial({
emissive: flashColor,
emissiveIntensity: 4.0,
const flash = new THREE.Mesh(flashGeometry, flashMaterial);
const offset = dir.clone().multiplyScalar(0.15);
offset.add(new THREE.Vector3(
(Math.random() - 0.5) * 0.08,
(Math.random() - 0.5) * 0.08
flash.position.copy(pos).add(offset);
const velocity = dir.clone().multiplyScalar(0.1 + Math.random() * 0.1);
velocity.add(new THREE.Vector3(
(Math.random() - 0.5) * 0.05,
(Math.random() - 0.5) * 0.05,
(Math.random() - 0.5) * 0.05
position: flash.position.clone(),
if (currentWeapon === 'mg') {
const bigFlash = new THREE.Mesh(
SphereGeometry(0.15, 8, 8),
new THREE.MeshStandardMaterial({
emissiveIntensity: 5.0,
bigFlash.position.copy(pos).add(dir.clone().multiplyScalar(0.2));
scene.add(bigFlash);
position: bigFlash.position.clone(),
velocity: dir.clone().multiplyScalar(0.2),
function addScreenShake(intensity, duration) {
screenShake.intensity = Math.max(screenShake.intensity, intensity);
ation = Math.max(screenShake.duration, duration);
function updateScreenShake() {
if (screenShake.duration > 0) {
const shakeX = (Math.random() - 0.5) * screenShake.intensity;
const shakeY = (Math.random() - 0.5) * screenShake.intensity;
camera.position.x = cameraOriginalPosition.x + shakeX;
camera.position.y = cameraOriginalPosition.y + shakeY;
camera.position.z = cameraOriginalPosition.z; // Z-Position auch explizit setzen
screenShake.duration -= 16; // 16ms pro Frame (angenommen 60 FPS)
screenShake.intensity *=M
0.95; // Abklingend
if (screenShake.duration <= 0) {
screenShake.intensity = 0;
screenShake.duration = 0;
camera.position.copy(cameraOriginalPosition);
camera.position.x = cameraOriginalPosition.x;
camera.position.y = cameraOriginalPosition.y;
camera.position.z = cameraOriginalPosition.z;
function createBulletHole(pos, normal) {
const gridX = Math.floor((pos.x / cellSize) + levelSize / 2);
const gridZ = Math.floor((pos.z / cellSize) + levelSize / 2);
if (gridX < 0 || gridX >= levelSize || gridZ < 0 M
|| gridZ >= levelSize) return;
if (level[gridZ][gridX] !== 1) return; // Nur an W
const holeGeometry = new THREE.CircleGeometry(0.08, 16);
const holeMaterial = new THREE.MeshStandardMaterial({
side: THREE.DoubleSide
const hole = new THREE.Mesh(holeGeometry, holeMaterial);
hole.position.copy(pos);
hole.lookAt(pos.clone().add(normal));
hole.rotation.z = Math.random() * Math.PI * 2; // Zuf
life: 30000 // 30 Sekunden
etHoles.length > 50) {
const oldHole = bulletHoles.shift();
if (oldHole.mesh) scene.remove(oldHole.mesh);
function createBulletImpact(pos) {
const baseSparkCount = currentWeapon === 'mg' ? 10 : 8;
const sparkCount = Math.floor(baseSparkCount * performanceLevel);
const sparkColor = currentWeapon === 'mg' ? 0xff6600 : (currentWeapon === 'rifle' ? 0x00ffff : 0xffff00);
const gridX = Math.floor((pos.x / cellSize) + levelSize / 2);
const gridZ = Math.floor((pos.z / cellSize) + levelSize / 2);
if (gridX >= 0 && gridXM
< levelSize && gridZ >= 0 && gridZ < levelSize && level[gridZ][gridX] === 1) {
const normal = new THREE.Vector3(0, 0, 1); // Vereinfachte Normale
createBulletHole(pos, normal);
for (let i = 0; i < sparkCount; i++) {
const sparkSize = 0.03 + Math.random() * 0.02;
const sparkGeometry = new THREE.SphereGeometry(sparkSize, 6, 6);
const sparkMaterial = new THREE.MeshStandardMaterial({
emissive: sparkColor,
emissiveIntensity: 3.0
const spark = new THREE.Mesh(sparkGeometry, sparkMaterial);
spark.position.add(new THREE.Vector3(
(Math.random() - 0.5) * 0.15,
(Math.random() - 0.5) * 0.15,
(Math.random() - 0.5) * 0.15
const dir = new THREE.Vector3(
(Math.random() - 0.5) * 0.3,
(Math.random() - 0.5) * 0.3,
(Math.random() - 0.5) * 0.3
position: spark.position.clone(),
velocity: dir.multiplyScalar(0.15),
function createExplosion(pos, damage, range) {
addScreenShake(0.02, 100);
if (assetCache.explosionLightPool && assetCache.explosionLightPool.length > 0) {
explosionLight = assetCache.explosionLightPool.pop();
explosionLight.color.setHex(0xff6600);
explosionLight.intensity = 3;
explosionLight.distance = 8;
explosionLight.visible = true;
explosionLight.position.copy(pos);
explosionLight = new THREE.PointLight(0xff6600, 3, 8);
explosionLight.position.copy(pos);
scene.add(explosionLight);
if (scene && scene.children.includes(explosionLight)) {
explosionLight.visible = false;
if (assetCache.explosionLightPool && !assetCache.explosionLightPool.includes(explosionLight)) {
assetCache.explosionLightPool.push(explosionLight);
const baseExplosionParticleCount = 30;
const explosionParticleCount = Math.floor(baseExplosionParticleCount * performanceLevel);
const poolAvailable = assetCache.explosionParticlePool && assetCache.explosionParticlePool.length >= explosionParticleCount;
if (poolAvailable) {
for (let i = 0; i < explosionPartM
const dir = new THREE.Vector3(
(Math.random() - 0.5) * 2,
Math.random() * 0.5 + 0.5, // Nach oben tendierend
(Math.random() - 0.5) * 2
const particle = assetCache.explosionParticlePool.pop();
particle.visible = true;
particle.position.copy(pos);
scene.add(particle);
position: pos.clone(),
velocity: dir.multiplyScalar(0.4 + Math.random() * 0.4), // Variierende Geschwindigkeit
life: 600 + Math.random() * 300, // Variierende Lebensdauer
const batchSize = 10;
const createExplosionParticles = () => {
const batchEnd = Math.min(created + batchSize, explosionParticleCount);
for (let i = created; i < batchEnd; i++) {
const dir = new THREE.Vector3(
(Math.random() - 0.5) * 2,
Math.random() * 0.5 + 0.5,
(Math.random() - 0.5) * 2
if (assetCache.explosionParticlePool && assetCache.explosionParticlePool.length > 0) {
particle = assetCache.explosionParticlePool.pop();
article.visible = true;
particle.position.copy(pos);
particle = new THREE.Mesh(
assetCache.geometries.explosionSphere,
assetCache.materials.explosionMesh
particle.position.copy(pos);
scene.add(particle);
position: pos.clone(),
velocity: dir.multiplyScalar(0.4 + Math.random() * 0.4),
life: 600 + Math.random() * 300,
maxLife: 600 + Math.random() * 300,
if (created < explosionParticleCount) {
requestAnimationFrame(createExplosionParticM
requestAnimationFrame(createExplosionParticles);
const baseSmokeParticleCount = 15;
const smokeParticleCount = Math.floor(baseSmokeParticleCount * performanceLevel);
const smokePoolAvailable = assetCache.smokeParticlePool && assetCache.smokeParticlePool.length >= smokeParticleCount;
if (smokePoolAvailable) {
for (let i = 0; i < smokeParticleCount; i++) {
const smokeDir = new THREE.Vector3(
(Math.random() - 0.5) * 0.5,
Math.random() * 0.5 + 0.5, // Nach oben
(Math.random() - 0.5) * 0.5
nst smokeParticle = assetCache.smokeParticlePool.pop();
smokeParticle.visible = true;
smokeParticle.position.copy(pos);
scene.add(smokeParticle);
mesh: smokeParticle,
position: pos.clone(),
velocity: smokeDir.multiplyScalar(0.2 + Math.random() * 0.15), // Langsam nach oben
life: 1200 + Math.random() * 400, // L
maxLife: 1200 + Math.random() * 400,
const batchSize = 10;
let smokeCreated = 0;
const createSmokeParticles = () => {
Math.min(smokeCreated + batchSize, smokeParticleCount);
for (let i = smokeCreated; i < batchEnd; i++) {
const smokeDir = new THREE.Vector3(
(Math.random() - 0.5) * 0.5,
Math.random() * 0.5 + 0.5,
(Math.random() - 0.5) * 0.5
if (assetCache.smokeParticlePool && assetCache.smokeParticlePool.length > 0) {
smokeParticle = assetCache.smokeParticlePool.pop();
smokeParticle.visible = true;
smokeParticle.position.copy(pos);
smokeParticle = new THREE.Mesh(
assetCache.geometries.smoM
assetCache.materials.smokeMesh
smokeParticle.position.copy(pos);
scene.add(smokeParticle);
mesh: smokeParticle,
position: pos.clone(),
velocity: smokeDir.multiplyScalar(0.2 + Math.random() * 0.15),
life: 1200 + Math.random() * 400,
maxLife: 1200 + Math.random() * 400,
smokeCreated = batchEnd;
if (smokeCreated < smokeParticleCount) {
requestAnimationFrame(createSmokeParticles);
requestAnimationFrame(createSmokeParticles);
requestAnimationFrame(() => {
const enemyDamageResults = [];
for (let i = enemies.length - 1; i >= 0; i--) {
const enemy = enemies[i];
const distSquared = pos.distanceToSquared(enemy.position);
const rangeSquared = range * range;
if (distSquared < rangeSquared) {
const dist = Math.sqrt(distSquared);
const dmg = damage * (1 - dist / range);
const newHealth = enemy.health - dmg;
enemyDamageResults.push({
newHealth: newHealth,
isDead: newHealth <= 0
enemy.health = newHealth;
requestAnimationFrameM
for (const result of enemyDamageResults) {
if (result.isDead) {
const enemy = result.enemy;
deadEnemies.push(enemy);
enemies.splice(result.enemyIndex, 1);
let deathSoundPlayed = false;
for (const enemy of deadEnemies) {
setTimeout(() => createEnemyDeathCircle(enemy.position), 0);
if (enemy.type === 'snowman') {
const pickupType = Math.random() < 0.5 ? 'medkit' : 'ammo';
createPickup(enemy.position.x, enemy.position.z, pickupType);
if (!deathSoundPlayed) {
deathSoundPlayed = M
const rand = Math.random();
if (enemy.type === 'elf' && rand < 0.5 && elfDeathSound) {
elfDeathSound.currentTime = 0;
elfDeathSound.play().catch(e => {});
} else if (enemy.type === 'grinch' && rand < 0.5 && grinchDeathSound) {
grinchDeathSound.currentTime = 0;
grinchDeathSound.play().catch(e => {});
} else if (enemy.type === 'snowman' && rand < 0.5 && snowmanDeathSound) {
snowmanDeathSound.currentTime = 0;
snowmanDeathSound.play().catch(e => {});
} else if (randomDeathSounds.length > 0) {
onst randomSound = randomDeathSounds[Math.floor(Math.random() * randomDeathSounds.length)];
randomSound.currentTime = 0;
randomSound.play().catch(e => {});
const now = Date.now();
if (now - lastKillTime > killstreakTimeout) {
killstreak = 0; // Reset Killstreak wenn zu lange zwischen Kills
if (killstreak > maxKillstreak) {
maxKillstreak = killstreak;
killstreakMultiplier = Math.min(3.0, 1.0 + (killstreak - 1) * 0.2);
showKillstreakDisplay();
playKillstreakSound(killstreak);
if (enemy.type === 'boss' || enemy.isBoss) {
} else if (enemy.type === 'grinch') {
} else if (enemy.type === 'snowman') {
} else if (enemy.type === 'elf') {
const isHeadshot = false; // Explosionen k
nnen keine Headshots sein
const headshotBonus = 1.0; // Kein Headshot-Bonus bei Explosionen
const finalScore = Math.floor(baseScore * killstreakMultiplier * headshotBonus);
yerScore += finalScore;
setTimeout(() => animateEnemyDeath(enemy, enemy.position), 0);
if (deadEnemies.length > 0) {
checkWeaponUnlocks();
requestAnimationFrame(() => {
requestAnimationFrame(() => {
const distToPlayerSquared = pos.distanceToSquared(player.position);
if (distToPlayerSquared < range * range) {
const distToPlayer = Math.sqrt(distToPlayerSquared);
const dmg = damage * (1 - distToPlayer / range) * 0.5;
function createHitParticle(pos) {
const particleGeometry = neM
w THREE.SphereGeometry(0.05, 4, 4);
const particleMaterial = new THREE.MeshBasicMaterial({ color: 0xff0000 });
const particle = new THREE.Mesh(particleGeometry, particleMaterial);
particle.position.copy(pos);
scene.add(particle);
velocity: new THREE.Vector3(
(Math.random() - 0.5) * 0.1,
Math.random() * 0.1,
(Math.random() - 0.5) * 0.1
function createDeathParticles(pos) {
for (let i = 0; i < 10; i++) {
const particleGeometry = new THREE.SphereGeometryM
const particleMaterial = new THREE.MeshBasicMaterial({ color: 0x990000 });
const particle = new THREE.Mesh(particleGeometry, particleMaterial);
particle.position.copy(pos);
scene.add(particle);
velocity: new THREE.Vector3(
(Math.random() - 0.5) * 0.2,
Math.random() * 0.2,
(Math.random() - 0.5) * 0.2
function createKillParticles(pos, isHeadshot, killstreak) {
const baseParticleCount = isHeadshot ? 20 : 10;
const particleCount = Math.flM
oor(baseParticleCount * performanceLevel);
const baseColor = isHeadshot ? 0xffaa00 : 0xff0000;
for (let i = 0; i < particleCount; i++) {
const particleGeometry = new THREE.SphereGeometry(0.1, 4, 4);
const particleMaterial = new THREE.MeshBasicMaterial({
const particle = new THREE.Mesh(particleGeometry, particleMaterial);
particle.position.copy(pos);
particle.position.y += Math.random() * 0.5;
scene.add(particle);
(Math.random() - 0.5) * 0.4,
Math.random() * 0.5 + 0.2,
(Math.random() - 0.5) * 0.4
if (killstreak >= 5) {
const starCount = Math.floor(5 * performanceLevel);
for (let i = 0; i < starCount; i++) {
const starGeometry = new THREE.SphereGeometry(0.15, 8, 8);
const starMaterial = new THREE.MeshBasicMaterial({
const star = new THREE.Mesh(starGeometry, starMaterial);
star.position.copy(pos);
star.position.y += Math.random()M
velocity: new THREE.Vector3(
(Math.random() - 0.5) * 0.3,
Math.random() * 0.4 + 0.3,
(Math.random() - 0.5) * 0.3
function updateParticles() {
if (gameState !== 'playing') {
if (particles.length > MAX_PARTICLES) {
const toRemove = particles.length - MAX_PARTICLES;
for (let i = 0; i < toRemove; i++) {
const particle = particles[i];
if (particle.mesh && particle.mesh.parent) {
scene.remove(particle.mesh);
for (let i = particles.length - 1; i >= 0; i--) {
const particle = particles[i];
if (!particle.mesh) {
particles.splice(i, 1);
particle.life -= 16;
if (particle.life <= 0) {
if (particle.mesh && particle.mesh.parent) {
scene.remove(particle.mesh);
if (particle.mesh) {
particle.mesh.visible = false;
if (assetCache.explosionParticlePool &&
particle.mesh.geometry === assetCache.geometries.explosionSphere) {
if (!assetCache.explosionParticlePool.includes(particle.mesh)) {
losionParticlePool.push(particle.mesh);
} else if (assetCache.smokeParticlePool &&
particle.mesh.geometry === assetCache.geometries.smokeSphere) {
if (!assetCache.smokeParticlePool.includes(particle.mesh)) {
assetCache.smokeParticlePool.push(particle.mesh);
particles.splice(i, 1);
if (particle.position) {
particle.position.add(particle.velocity);
if (particle.mesh) {
particle.mesh.position.copy(particle.position);
} else if (particle.mesh) {
particle.position = particle.mesh.position.clone();
particle.position.add(particle.velocity);
particle.mesh.position.copy(particle.position);
const opacity = particle.life / particle.maxLife;
if (particle.mesh && particle.mesh.material && particle.mesh.material.opacity !== undefined) {
particle.mesh.material.opacity = opacity;
if (particle.scale !== undefined && particle.mesh) {
const scale = opacity * particle.scale;
particle.mesh.scale.set(scale, scale, scale);
if (particle.velocity) {
particle.velocity.multiplyScalar(0.98); // Friction
etHoles.length - 1; i >= 0; i--) {
const hole = bulletHoles[i];
if (hole.life <= 0 || !hole.mesh) {
if (hole.mesh && hole.mesh.parent) {
scene.remove(hole.mesh);
bulletHoles.splice(i, 1);
function checkWallCollisionEnemy(pos, radius) {
const checkPoints = [
[0, 0], // Zentrum
[radius, 0], // Rechts
[-radius, 0], // Links
[0, radius], // Vorne
[0, -radius], // Hinten
[radius * 0.7, radius * 0.7], // Diagonal rechts-vorne
[-radius * 0.7, radius * 0.7], // DiagonaM
[radius * 0.7, -radius * 0.7], // Diagonal rechts-hinten
[-radius * 0.7, -radius * 0.7] // Diagonal links-hinten
for (let [dx, dz] of checkPoints) {
const checkX = pos.x + dx;
const checkZ = pos.z + dz;
const gridX = Math.floor((checkX / cellSize) + levelSize / 2);
const gridZ = Math.floor((checkZ / cellSize) + levelSize / 2);
if (gridX < 0 || gridX >= levelSize || gridZ < 0 || gridZ >= levelSize) {
erhalb des Levels = Kollision
if (level[gridZ][gridX] === 1) {
return false; // Keine Kollision
function updateEnemies() {
if (gameState !== 'playing') {
if (enemies.length === 0) {
return; // Keine Warnung mehr, das ist normal
for (let i = enemies.length - 1; i >= 0; i--) {
const enemy = enemies[i];
if (!enemy || !enemy.mesh || !enemy.position) {
console.warn('updateEnemies: Invalid enemy, removing:', enemy);
enemies.splice(i, 1);
const isVisible = isInFrustum(enemy.position, 2);
enemy.mesh.visible = isVisible;
if (!isVisible && performanceLevel < 1.0) {
if (checkWallCollisionEnemy(enemy.position, 0.4)) {
const gridX = Math.floor((enemy.position.x / cellSize) + levelSize / 2);
const gridZ = Math.floor((enemy.position.z / cellSize) + levelSize / 2);
let foundFreePos = false;
for (let radius = 1; radius <= 3 && !foundFreePos; radius++) {
for (let dz = -radius; dz <= radius; dz++) {
for (let dx = -radius; dx <= radius; dx++) {
if (dx === 0 && dz === 0) continue;
const checkX = gridX + dx;
if (checkX >= 0 && checkX < levelSize && checkZ >= 0 && checkZ < levelSize) {
if (level[checkZ][checkX] === 0) {
const newX = (checkX - levelSize / 2) * cellSize + cellSize / 2;
const newZ = (checkZ - levelSize / 2) * cellSize + cellSize / 2;
const testPos = new THREE.Vector3(newX, 0, newZ);
if (!checkWallCollisionEnemy(testPos, 0.4)) {
enemy.position.copy(testPos);
enemy.mesh.position.copy(enemy.position);
foundFreePos = true;
if (foundFreePos) break;
if (!player || !player.positionM
continue; // Spieler nicht verf
berspringe diesen Gegner
const direction = new THREE.Vector3();
direction.subVectors(player.position, enemy.position);
const distance = direction.length();
if (distance > 0.01) { // Vermeide Division durch Null
direction.normalize();
const move = direction.multiplyScalar(enemy.speed);
const newPos = enemy.position.clone().add(move);
if (!checkWallCollisionEnemy(newPos, 0.4)) {
enemy.position.copy(newPos);
enemy.mesh.position.copy(enemM
if (enemy.mesh && player && player.position) {
const lookDirection = new THREE.Vector3();
lookDirection.subVectors(player.position, enemy.position);
lookDirection.y = 0; // Nur horizontale Rotation
lookDirection.normalize();
const angle = Math.atan2(lookDirection.x, lookDirection.z);
enemy.mesh.rotation.y = angle;
enemy.mesh.rotation.x = 0;
enemy.mesh.rotation.z = 0;
if (enemy.healthBar) {
const healthPercent = enemy.health / enemy.maxHealth;
updateEnemyHealthBar(enemy.healthBar, healthPercent)M
if (enemy.isBoss && player && player.position) {
const now = Date.now();
const healthPercent = enemy.health / enemy.maxHealth;
if (healthPercent <= 0.25 && enemy.phase < 3) {
enemy.shootCooldown *= 0.7;
console.log('BOSS PHASE 3!');
} else if (healthPercent <= 0.5 && enemy.phase < 2) {
enemy.shootCooldown *= 0.8;
console.log('BOSS PHASE 2!');
if (enemy.phase >= 2 && now - enemy.lastSpecialAttack > enemy.specialAttackCooldown) {
tackType = Math.floor(Math.random() * 3);
enemy.lastSpecialAttack = now;
if (attackType === 0) {
bossExplosionAttack(enemy);
} else if (attackType === 1 && distance > 10) {
bossSprintAttack(enemy);
} else if (attackType === 2) {
bossSummonAttack(enemy);
const shootRange = 30;
if (distance < shootRange && now - enemy.lastShot > enemy.shootCooldown) {
enemy.lastShot = now;
} else if (player && player.position) {
const now = Date.now();
const shootRange = 15;
if (distance < shootRange && now -M
enemy.lastShot > enemy.shootCooldown) {
enemy.lastShot = now;
function enemyShoot(enemy) {
const direction = new THREE.Vector3();
direction.subVectors(player.position, enemy.position);
direction.normalize();
if (enemy.isBoss && enemy.gunGroup1 && enemy.gunGroup2) {
const weaponPos1 = new THREE.Vector3();
enemy.gunGroup1.getWorldPosition(weaponPos1);
weaponPos1.add(direction.clone().multiplyScalar(0.5));
const weaponPos2 = new THREE.Vector3();
enemy.gunGroup2.getWorldPosition(weaponPos2);M
weaponPos2.add(direction.clone().multiplyScalar(0.5));
createEnemyBullet(weaponPos1, direction, enemy.type, enemy.damage);
createEnemyBullet(weaponPos2, direction, enemy.type, enemy.damage);
createMuzzleFlash3D(weaponPos1, direction);
createMuzzleFlash3D(weaponPos2, direction);
let weaponPos = enemy.position.clone();
if (enemy.type === 'snowman' || enemy.type === 'grinch') {
weaponPos.add(direction.clone().multiplyScalar(0.3));
} else if (enemy.type === 'elf') {
ponPos.add(direction.clone().multiplyScalar(0.3));
createEnemyBullet(weaponPos, direction, enemy.type, enemy.damage);
createMuzzleFlash3D(weaponPos, direction);
function bossExplosionAttack(boss) {
if (!player || !player.position) return;
const explosionRadius = 8;
const playerDist = boss.position.distanceTo(player.position);
if (playerDist <= explosionRadius) {
const damageMultiplier = 1 - (playerDist / explosionRadius);
const damage = Math.floor(20 * damageMultiplier);
const angle = (Math.PI * 2 * i) / 50;
const x = boss.position.x + Math.cos(angle) * distance;
const z = boss.position.z + Math.sin(angle) * distance;
createExplosionParticle(x, boss.position.y + 2, z);
console.log('BOSS EXPLOSION ATTACK!');
function bossSprintAttack(boss) {
if (!player || !player.position) return;
const sprintSpeed = 0.3; // Viel schneller als normal
const direction = new THREE.Vector3();
direction.subVectors(player.position, boss.position);
irection.normalize();
const stepInterval = setInterval(() => {
clearInterval(stepInterval);
const move = direction.clone().multiplyScalar(sprintSpeed);
const newPos = boss.position.clone().add(move);
if (!checkWallCollisionEnemy(newPos, 0.4)) {
boss.position.copy(newPos);
boss.mesh.position.copy(boss.position);
console.log('BOSS SPRINT ATTACK!');
function bossSummonAttack(boss) {
const summonCount = 3;
const spawnRadius = 5;
t i = 0; i < summonCount; i++) {
const angle = (Math.PI * 2 * i) / summonCount;
const x = boss.position.x + Math.cos(angle) * spawnRadius;
const z = boss.position.z + Math.sin(angle) * spawnRadius;
const testPos = new THREE.Vector3(x, 0, z);
if (!checkWallCollisionEnemy(testPos, 0.4)) {
const types = ['snowman', 'elf', 'grinch'];
const type = types[Math.floor(Math.random() * types.length)];
const enemy = createEnemy(x, z, type);
createEnemyDeathCircle(testPos);
console.log('BOSS SUMMON ATTACK!');M
function createExplosionParticle(x, y, z) {
const particleGeometry = new THREE.SphereGeometry(0.1, 8, 8);
const particleMaterial = new THREE.MeshStandardMaterial({
emissiveIntensity: 1.0
const particle = new THREE.Mesh(particleGeometry, particleMaterial);
particle.position.set(x, y, z);
scene.add(particle);
const velocity = new THREE.Vector3(
(Math.random() - 0.5) * 0.2,
Math.random() * 0.3,
(Math.random() - 0.5) * 0.2
EE.Vector3(x, y, z),
life: 1000, // 1 Sekunde bei 60fps
function createEnemyBullet(pos, dir, enemyType, enemyDamage = 10) {
const bulletGeometry = new THREE.SphereGeometry(0.04, 8, 8);
const bulletMaterial = new THREE.MeshStandardMaterial({
emissiveIntensity: 1.0
const bulletMesh = new THREE.Mesh(bulletGeometry, bulletMaterial);
bulletMesh.position.copy(pos);
scene.add(bulletMesh);
const tracerGeometry = new THREE.CyM
linderGeometry(0.008, 0.008, 0.25, 8);
const tracerMaterial = new THREE.MeshStandardMaterial({
emissiveIntensity: 2.0
const tracer = new THREE.Mesh(tracerGeometry, tracerMaterial);
tracer.position.copy(pos);
position: pos.clone(),
direction: dir.clone(),
damage: enemyDamage, // Verwende den
bergebenen Schaden (bereits f
r Level 4 angepasst)
enemyBullets.push(bullet)M
function updateEnemyBullets() {
if (gameState !== 'playing') {
for (let i = enemyBullets.length - 1; i >= 0; i--) {
const bullet = enemyBullets[i];
const dir = bullet.direction instanceof THREE.Vector3 ? bullet.direction : new THREE.Vector3(bullet.direction.x, bullet.direction.y, bullet.direction.z);
const move = dir.clone().multiplyScalar(bullet.speed);
if (!(bullet.position instanceof THREE.Vector3)) {
bullet.position = new THREE.Vector3(bullet.position.x, bullet.position.y, bullet.position.z);
llet.position.add(move);
bullet.traveled += bullet.speed;
bullet.mesh.position.copy(bullet.position);
if (bullet.tracer) {
const pos = bullet.position instanceof THREE.Vector3 ? bullet.position.clone() : new THREE.Vector3(bullet.position.x, bullet.position.y, bullet.position.z);
const dir = bullet.direction instanceof THREE.Vector3 ? bullet.direction.clone() : new THREE.Vector3(bullet.direction.x, bullet.direction.y, bullet.direction.z);
const offset = dir.clone().multiplyScalar(0.12);
acerPos = pos.clone().sub(offset);
bullet.tracer.position.copy(tracerPos);
bullet.tracer.lookAt(pos);
const playerBodyPos = player.position.clone().add(new THREE.Vector3(0, 0.8, 0));
const dist = bullet.position.distanceTo(playerBodyPos);
const hitChance = 0.5 + (Math.random() * 0.25); // 50% bis 75%
const randomValue = Math.random();
if (randomValue < hitChance) {
takeDamage(bullet.damage || 10);
if (bullet.mesh) scene.remove(bullet.mesh);
if (bullet.tracer) scene.remove(bullet.tracer);
Bullets.splice(i, 1);
let gridX = Math.floor((bullet.position.x / cellSize) + levelSize / 2);
let gridZ = Math.floor((bullet.position.z / cellSize) + levelSize / 2);
if (gridX < 0 || gridX >= levelSize || gridZ < 0 || gridZ >= levelSize ||
level[gridZ][gridX] === 1) {
createBulletImpact(bullet.position);
if (bullet.mesh) scene.remove(bullet.mesh);
if (bullet.tracer) scene.remove(bullet.tracer);
enemyBullets.splice(i, 1);
if (bullet.traveled > bullet.range) {
if (bullet.mesh) scene.remove(bulM
if (bullet.tracer) scene.remove(bullet.tracer);
enemyBullets.splice(i, 1);
function animateEnemyDeath(enemy, pos) {
if (!enemy || !enemy.mesh) return;
createDeathParticles(pos);
createEnemyDeathCircle(pos);
addScreenShake(0.05, 300);
let rotationSpeed = (Math.random() - 0.5) * 0.2;
let fallDirection = new THREE.Vector3(
(Math.random() - 0.5) * 0.1,
(Math.random() - 0.5) * 0.1
const originalPosition = enemy.mesh.position.clone();
const originalRotation M
= enemy.mesh.rotation.clone();
const animate = () => {
fallSpeed += 0.02; // Fall-Beschleunigung
enemy.mesh.rotation.x += rotationSpeed;
enemy.mesh.rotation.z += rotationSpeed * 0.5;
enemy.mesh.position.y -= fallSpeed;
enemy.mesh.position.x += fallDirection.x;
enemy.mesh.position.z += fallDirection.z;
if (enemy.mesh.children && enemy.mesh.children.length > 0) {
enemy.mesh.children.forEach(child => {
if (child.material && child.material.opacity !== undefined) {
child.material.transparent = true;
child.material.opaciM
ty = Math.max(0, 1 - (originalPosition.y - enemy.mesh.position.y) / 2);
if (enemy.mesh.position.y > -5) {
requestAnimationFrame(animate);
if (enemy.mesh && scene.children.includes(enemy.mesh)) {
scene.remove(enemy.mesh);
function createEnemyDeathCircle(pos) {
if (!scene || !pos) {
return; // Sicherheitspr
const circleGeometry = new THREE.CircleGeometry(0.5, 16);
const circleMaterial = new THREE.MeshStandardMaterial({
side: THREE.DoubleSide
const circle = new THREE.Mesh(circleGeometry, circleMaterial);
circle.rotation.x = -Math.PI / 2;
circle.position.set(pos.x, 0.01, pos.z);
const fadeInterval = setInterval(() => {
if (!scene || !scene.children.includes(circle)) {
clearInterval(fadeInterval);
circleMaterial.opacity = opacity;
if (scene.children.includes(circle)) {
scene.remove(circle);
clearInterval(fadeInterval);
console.error('Error creating death circle:', error);
function updatePickups() {
if (gameState !== 'playing') {
if (!player || !player.position) {
return; // Spieler nicht verf
for (let i = pickups.length - 1; i >= 0; i--) {
const pickup = pickups[i];
if (!pickup || pickup.collected) {
if (pickup && pickup.mesh && scene && scene.children.includes(pickup.mesh)) {
scene.remove(pickup.mesh);
pickups.splice(i, 1);
if (!pickup.mesh || !scene || !scene.children.includes(pickup.meM
pickups.splice(i, 1);
const worldPos = new THREE.Vector3();
pickup.mesh.getWorldPosition(worldPos);
pickup.position.copy(worldPos);
pickup.rotation += 0.02;
pickup.mesh.rotation.y = pickup.rotation;
if (pickup.mesh.position) {
pickup.mesh.position.y = 0.5 + Math.sin(pickup.rotation * 2) * 0.1;
const dist = player.position.distanceTo(worldPos);
if (dist < 1.5 && !pickup.collected) {
pickup.collected = true;
if (pickup.type === 'medkit') {
playerMedkits = Math.min(2, playerMedkits + 1);
(medkitPickupSound) {
medkitPickupSound.currentTime = 0;
medkitPickupSound.play().catch(e => {
} else if (pickup.type === 'ammo') {
const weapon = weaponConfigs[currentWeapon];
playerAmmo[currentWeapon] = Math.min(
playerAmmo[currentWeapon] + weapon.maxAmmo
startSound.currentTime = 0;
startSound.play().catch(e => {
if (pickup.mesh && scene && scene.children.includes(piM
scene.remove(pickup.mesh);
pickups.splice(i, 1);
console.error('Error updating pickup:', error);
if (pickup.mesh && scene && scene.children.includes(pickup.mesh)) {
scene.remove(pickup.mesh);
pickups.splice(i, 1);
function checkWallCollision(pos, radius) {
const checkPoints = [
{ x: 0, z: 0 }, // Center
{ x: radius, z: 0 }, // Right
{ x: -radius, z: 0 }, // Left
{ x: 0, z: radius }, // Forward
{ x: 0, z: -radius }, // Backward
{ x: radius * 0.7, z: radius * 0.7 }, // FronM
{ x: -radius * 0.7, z: radius * 0.7 }, // Front-Left
{ x: radius * 0.7, z: -radius * 0.7 }, // Back-Right
{ x: -radius * 0.7, z: -radius * 0.7 }, // Back-Left
{ x: radius * 0.5, z: -radius }, // Back-Right-More
{ x: -radius * 0.5, z: -radius }, // Back-Left-More
{ x: 0, z: -radius * 1.2 } // Back-Extended
for (let point of checkPoints) {
const checkX = pos.x + point.x;
const checkZ = pos.z + point.z;
const gridX = Math.floor((checkX / cellSize) + levelSize / 2);
const gridZ = Math.floor((checkZ / cellSizM
e) + levelSize / 2);
if (gridX < 0 || gridX >= levelSize || gridZ < 0 || gridZ >= levelSize) {
erhalb des Levels = Kollision
if (level[gridZ][gridX] === 1) {
return true; // Wand = Kollision
for (let dx = -1; dx <= 1; dx++) {
for (let dz = -1; dz <= 1; dz++) {
const checkX2 = gridX + dx;
const checkZ2 = gridZ + dz;
if (checkX2 >= 0 && checkX2 < levelSize && checkZ2 >= 0 && checkZ2 < levelSize) {
if (level[checkZ2][checkX2] === 1) {
const wallX = (checkX2 - levelSize / 2) * cellSize + cellSizM
const wallZ = (checkZ2 - levelSize / 2) * cellSize + cellSize / 2;
const dist = Math.sqrt(
Math.pow(checkX - wallX, 2) + Math.pow(checkZ - wallZ, 2)
if (dist < radius + cellSize / 2 - 0.1) {
return false; // Keine Kollision
function updatePlayer() {
if (gameState !== 'playing') return;
if (playerHealth < 100) {
const timeSinceLastDamage = Date.now() - lastDamageTime;
if (timeSinceLastDamage >= healthRegenDelay) {
const regenAmount = healthRegenRate * (16 / 1000); // 16ms pro FraM
playerHealth = Math.min(100, playerHealth + regenAmount);
if (Math.random() < 0.1) {
const moveSpeed = player.speed;
const moveVector = new THREE.Vector3();
const edgeRotation = calculateEdgeRotation();
if (edgeRotation !== 0) {
targetRotationY += edgeRotation;
if (keys['q'] || keys['Q']) {
targetRotationY -= keyboardRotationSpeed; // Links drehen (korrigiert)
if (keys['e'] || keys['E']) {
targetRotationY += keyboardRotationSpeed; // Rechts drehen (korrigierM
if (keys['ArrowLeft']) {
targetRotationY += keyboardRotationSpeed; // Rechts drehen
if (keys['ArrowRight']) {
targetRotationY -= keyboardRotationSpeed; // Links drehen
if (keys['z'] || keys['Z']) {
targetRotationX -= keyboardRotationSpeed; // Nach oben schauen (korrigiert)
targetRotationX = Math.max(-Math.PI / 2, Math.min(Math.PI / 2, targetRotationX));
if (keys['x'] || keys['X']) {
targetRotationX += keyboardRotationSpeed; // Nach unten schauen (korrigiert)
targetRotationX = Math.max(-Math.PI / 2, Math.M
min(Math.PI / 2, targetRotationX));
if (keys['ArrowUp']) {
targetRotationX += keyboardRotationSpeed; // Nach unten schauen
targetRotationX = Math.max(-Math.PI / 2, Math.min(Math.PI / 2, targetRotationX));
if (keys['ArrowDown']) {
targetRotationX -= keyboardRotationSpeed; // Nach oben schauen
targetRotationX = Math.max(-Math.PI / 2, Math.min(Math.PI / 2, targetRotationX));
if (keys['w'] || keys['W']) moveVector.z -= 1;
if (keys['s'] || keys['S']) moveVector.z += 1;
if (keys['a'] || keys['A']) moveVector.x -= 1M
if (keys['d'] || keys['D']) moveVector.x += 1;
moveVector.normalize();
moveVector.multiplyScalar(moveSpeed);
if (sniperZoom && currentWeapon === 'sniper') {
const smoothingFactor = 0.25;
currentRotationY += (targetRotationY - currentRotationY) * smoothingFactor;
currentRotationX += (targetRotationX - currentRotationX) * smoothingFactor;
player.rotation.y = currentRotationY;
player.rotation.x = currentRotationX;
const smoothingFactor = 0.15;
currentRotationY += (targetRotationY - currentRotationY) * smootM
currentRotationX += (targetRotationX - currentRotationX) * smoothingFactor;
player.rotation.y = currentRotationY;
player.rotation.x = currentRotationX;
player.rotation.x = Math.max(-Math.PI / 2, Math.min(Math.PI / 2, player.rotation.x));
moveVector.applyAxisAngle(new THREE.Vector3(0, 1, 0), player.rotation.y);
const newPos = player.position.clone().add(moveVector);
const playerRadius = 0.3; // Kleinerer Radius f
if (checkWallCollision(newPos, playerRadius)) {
const newPosX = playerM
newPosX.x += moveVector.x;
if (!checkWallCollision(newPosX, playerRadius)) {
player.position.x = newPosX.x;
const newPosZ = player.position.clone();
newPosZ.z += moveVector.z;
if (!checkWallCollision(newPosZ, playerRadius)) {
player.position.z = newPosZ.z;
if (checkWallCollision(player.position, playerRadius)) {
const gridX = Math.floor((player.position.x / cellSize) + levelSize / 2);
const gridZ = Math.floor((player.position.z / cellSize) + levelSize / 2);
let pushX = 0, pushZ = 0;
dx = -1; dx <= 1; dx++) {
for (let dz = -1; dz <= 1; dz++) {
const checkX = gridX + dx;
const checkZ = gridZ + dz;
if (checkX >= 0 && checkX < levelSize && checkZ >= 0 && checkZ < levelSize) {
if (level[checkZ][checkX] === 1) {
const wallX = (checkX - levelSize / 2) * cellSize + cellSize / 2;
const wallZ = (checkZ - levelSize / 2) * cellSize + cellSize / 2;
const diffX = player.position.x - wallX;
const diffZ = player.position.z - wallZ;
const dist = Math.sqrt(diffX * diffX + diffZ * diffZ);
if (dist < playerRadiusM
+ cellSize / 2 && dist > 0.01) {
pushX += diffX / dist * 0.2; // Erh
ht von 0.15 auf 0.2 f
pushZ += diffZ / dist * 0.2;
player.position.x += pushX;
player.position.z += pushZ;
if (checkWallCollision(player.position, playerRadius)) {
let foundFreePos = false;
for (let radius = 1; radius <= 3 && !foundFreePos; radius++) {
for (let dz = -radius; dz <= radius; dz++) {
for (let dx = -radius; dx <= radius; dx++) {
if (dx === 0 && dz === 0) continue;
const testX = player.position.x + dx * 0.M
const testZ = player.position.z + dz * 0.5;
const testPos = new THREE.Vector3(testX, player.position.y, testZ);
if (!checkWallCollision(testPos, playerRadius)) {
player.position.copy(testPos);
foundFreePos = true;
if (foundFreePos) break;
player.position.copy(newPos);
const gridX = Math.floor((player.position.x / cellSize) + levelSize / 2);
const gridZ = Math.floor((player.position.z / cellSize) + levelSize / 2);
if (gridX < 0 || gridX >= levelSize || gridZ < 0 || gridZ >= levelSizeM
const safeX = Math.max(0, Math.min(levelSize - 1, gridX));
const safeZ = Math.max(0, Math.min(levelSize - 1, gridZ));
player.position.x = (safeX - levelSize / 2) * cellSize + cellSize / 2;
player.position.z = (safeZ - levelSize / 2) * cellSize + cellSize / 2;
if (gridX >= 0 && gridX < levelSize && gridZ >= 0 && gridZ < levelSize) {
if (!visitedCells[gridZ]) {
visitedCells[gridZ] = [];
visitedCells[gridZ][gridX] = true;
for (let dx = -1; dx <= 1; dx++) {
for (let dz = -1; dz <= 1; dz++) {
const checkX = gridM
const checkZ = gridZ + dz;
if (checkX >= 0 && checkX < levelSize && checkZ >= 0 && checkZ < levelSize) {
if (!visitedCells[checkZ]) {
visitedCells[checkZ] = [];
visitedCells[checkZ][checkX] = true;
const now = Date.now();
if (now - lastEnemyContact > 500) {
for (let enemy of enemies) {
const dist = player.position.distanceTo(enemy.position);
takeDamage(enemy.damage || 10);
lastEnemyContact = now;
if (exitPortal && enemies.length === 0 && currentLevel < 4) {
t = player.position.distanceTo(exitPortal.position);
cameraOriginalPosition.copy(player.position);
camera.position.copy(cameraOriginalPosition);
camera.rotation.order = 'YXZ'; // Ensure correct rotation order
camera.rotation.x = player.rotation.x;
camera.rotation.y = player.rotation.y;
camera.updateMatrixWorld(false); // Aktualisiere Matrix, damit quaternion korrekt ist
const minWallDistance = 0.3; // Mindestabstand zur Wand
const cameraCheckPos = camera.position.clone();
const forward = new THREE.Vector3(
Math.sin(player.rotation.y),
-Math.cos(player.rotation.y)
let wallPushBack = new THREE.Vector3(0, 0, 0);
for (let dist = 0; dist <= minWallDistance; dist += 0.05) {
const checkPos = cameraCheckPos.clone().add(forward.clone().multiplyScalar(dist));
const checkGridX = Math.floor((checkPos.x / cellSize) + levelSize / 2);
const checkGridZ = Math.floor((checkPos.z / cellSize) + levelSize / 2);
if (checkGridX >= 0 && checkGridX < levelSize && checkGridZ >= 0 && checkGridZ < levelSM
if (level[checkGridZ][checkGridX] === 1) {
const pushBack = forward.clone().multiplyScalar(minWallDistance - dist + 0.1);
wallPushBack.add(pushBack);
if (wallPushBack.length() > 0) {
camera.position.sub(wallPushBack);
cameraOriginalPosition.copy(camera.position); // Update Original-Position f
updateScreenShake();
const weaponOffset = new THREE.Vector3(0.5, -0.3, -1.0);
if (sniperZoom && currentWeapon === 'sniper') {
weaponOffset.applyQuaternion(camera.quaterniM
const weaponEuler = new THREE.Euler(player.rotation.x, player.rotation.y, 0, 'YXZ');
const weaponQuat = new THREE.Quaternion().setFromEuler(weaponEuler);
weaponOffset.applyQuaternion(weaponQuat);
weaponMesh.position.copy(camera.position).add(weaponOffset);
weaponMesh.rotation.copy(camera.rotation);
weaponMesh.rotateY(0.2); // Leicht nach rechts rotiert
weaponMesh.rotateX(0.1); // Nach oben geneigt (von -0.1 auf 0.1, damit es auf Fadenkreuz zeigt)
function updateSniperVignette() {
nette = document.getElementById('sniperVignette');
const crosshair = document.getElementById('crosshair');
if (!vignette || !crosshair) {
if (sniperZoom && currentWeapon === 'sniper') {
vignette.classList.add('active');
crosshair.classList.add('sniper-crosshair');
vignette.classList.remove('active');
crosshair.classList.remove('sniper-crosshair');
console.warn('updateSniperVignette error:', error);
function takeDamage(amount) {
if (playerInvulnerable) {
return; // Kein SchM
aden, wenn unverwundbar
playerHealth -= amount;
if (playerHealth < 0) playerHealth = 0;
lastDamageTime = Date.now();
addScreenShake(0.02, 150);
const damageIndicator = document.getElementById('damageIndicator');
if (damageIndicator) {
damageIndicator.classList.remove('active'); // Reset f
r sauberen Animation-Start
document.body.classList.add('chromatic-aberration');
damageIndicator.classList.add('active');
damageIndicator.classList.remove('active');
assList.remove('chromatic-aberration');
if (playerHealth <= 0) {
updateHUD(); // Aktualisiere HUD mit neuen Leben
if (playerLives > 0) {
console.log(`Leben verloren! Noch ${playerLives} Leben
brig. Level wird neu gestartet...`);
console.log('Keine Leben mehr! Game Over!');
if (isReloading) return;
const weapon = weaponConfigs[currentWeapon];
if (playerAmmo[currentWeapon] >= weapon.maxAmmo) return;
const originalRotation = weaponMesh.rotation.clone();
const originalPosition = weaponMesh.position.clone();
let reloadProgress = 0;
const reloadInterval = setInterval(() => {
reloadProgress += 16 / weapon.reloadTime;
if (reloadProgress >= 1) {
weaponMesh.rotation.copy(originalRotation);
weaponMesh.position.copy(originalPosition);
clearInterval(reloadInterval);
weaponMesh.rotation.x = originalRotation.x + Math.sin(reloadProgress * Math.PI) * 0.3;
weaponMesh.position.z = originalPM
osition.z - Math.sin(reloadProgress * Math.PI) * 0.05;
playerAmmo[currentWeapon] = weapon.maxAmmo;
isReloading = false;
}, weapon.reloadTime);
function useMedkit() {
if (playerMedkits <= 0) {
console.log('No medkits available!');
if (playerHealth >= 100) {
console.log('Health already full!');
playerHealth = Math.min(100, playerHealth + 50);
if (medkitPickupSound) {
medkitPickupSound.currentTime = 0;
medkitPickupSound.play().catM
console.warn('Could not play medkit sound:', e);
console.warn('Error playing medkit sound:', error);
console.log(`Used medkit! Health: ${playerHealth}, Medkits left: ${playerMedkits}`);
function updateHUD() {
const weapon = weaponConfigs[currentWeapon];
document.getElementById('weaponName').textContent = weapon.name;
document.getElementById('weaponIcon').textContent = weapon.icon;
const ammoCurrent = playerAmmo[currentWeapon];
const maxTotalAmmo = weapon.maxAmmo * M
2; // Maximale Gesamtmunition (Magazin + Reserve)
document.getElementById('ammoCurrent').textContent = ammoCurrent;
document.getElementById('ammoTotal').textContent = maxTotalAmmo;
const ammoDisplay = document.getElementById('ammoCurrent');
if (ammoCurrent === 0) {
ammoDisplay.style.color = '#f00';
} else if (ammoCurrent < weapon.maxAmmo * 0.2) {
ammoDisplay.style.color = '#ff0';
ammoDisplay.style.color = '#ff0';
document.getElementById('healthValue').textContent = Math.max(0, Math.floor(playerHealth));
document.getElementById('healthBarFill').style.width = playerHealth + '%';
const healthVignetteEl = document.getElementById('healthVignette');
if (healthVignetteEl) {
if (playerHealth <= 50) {
const healthPercent = playerHealth / 50; // 1.0 bei 50, 0.0 bei 0
const vignetteOpacity = (1.0 - healthPercent) * 0.8; // Maximal 0.8 Opacity bei 0 Health
healthVignetteEl.style.opacity = vignetteOpacity;
healthVignetteEl.classList.remove('hidden');
healthVignetteEl.style.opacity = 0;
healthVignetteEl.classList.add('M
const livesValueEl = document.getElementById('livesValue');
livesValueEl.textContent = playerLives;
if (playerLives === 3) {
livesValueEl.style.color = '#0f0'; // Gr
} else if (playerLives === 2) {
livesValueEl.style.color = '#ff0'; // Gelb
} else if (playerLives === 1) {
livesValueEl.style.color = '#f00'; // Rot
livesValueEl.style.color = '#888'; // Grau
const life1El = document.getElementById('life1');
const life2El = document.getElementById('life2');
l = document.getElementById('life3');
if (life1El && life2El && life3El) {
life1El.classList.remove('lost');
life2El.classList.remove('lost');
life3El.classList.remove('lost');
if (playerLives < 3) {
life3El.classList.add('lost');
if (playerLives < 2) {
life2El.classList.add('lost');
if (playerLives < 1) {
life1El.classList.add('lost');
const medkitDisplay = document.getElementById('medkitDisplay');
if (medkitDisplay) {
medkitDisplay.textContent = `MEDKITS: ${playerMedkits}`;
if (playerMedkits > 0) {
Display.style.color = '#0f0';
medkitDisplay.style.color = '#888';
document.querySelectorAll('.weapon-slot').forEach(slot => {
slot.classList.remove('active');
if (slot.dataset.weapon === currentWeapon) {
slot.classList.add('active');
if (currentLevel === 1) {
const weaponType = slot.dataset.weapon;
if (unlockedWeapons.has(weaponType)) {
slot.classList.remove('locked');
slot.classList.add('locked');
slot.title = 'Locked - Score required';
slot.classList.remove('locM
const scoreValue = document.getElementById('scoreValue');
scoreValue.textContent = playerScore;
function createWeaponModel(weaponName) {
const weaponGroup = new THREE.Group();
weaponGroup.scale.set(1.5, 1.5, 1.5); // Kleinere Skalierung - nicht zu gro
if (weaponName === 'pistol') {
const frame = new THREE.Mesh(
new THREE.BoxGeometry(0.07, 0.07, 0.4), // Breite wie Griff (0.07)
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0.3, metalness: 0.8 })
frame.position.set(0, 0, 0);
weaponGroup.add(frame);
const slide = new THREE.Mesh(
new THREE.BoxGeometry(0.07, 0.05, 0.35), // Breite genau wie gripCenter (0.07)
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.2, metalness: 0.9 })
slide.position.set(0, 0.01, -0.05); // Weiter nach vorne geschoben
slide.userData.isSlide = true; // Markierung f
weaponGroup.add(slide);
const barrel = new THREE.Mesh(
new THREE.CylinderGeometry(0.013, 0.013, 0.22, 16),
new THREE.MeshStandardMaterial({ colM
or: 0x0a0a0a, roughness: 0.1, metalness: 0.95 })
barrel.rotation.x = Math.PI / 2; // Nach vorne (z-Achse)!
barrel.position.set(0, 0, -0.11); // UMGEKEHRT: negativ = vorne!
weaponGroup.add(barrel);
const gripLeft = new THREE.Mesh(
new THREE.BoxGeometry(0.03, 0.22, 0.09),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.8, metalness: 0.1 })
gripLeft.position.set(-0.03, -0.13, 0.15); // Nach hinten verschoben (positive z)
weaponGroup.add(gripLeft);
const gripRight = new THREE.Mesh(
metry(0.03, 0.22, 0.09),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.8, metalness: 0.1 })
gripRight.position.set(0.03, -0.13, 0.15); // Nach hinten verschoben
weaponGroup.add(gripRight);
const gripCenter = new THREE.Mesh(
new THREE.BoxGeometry(0.07, 0.22, 0.09),
new THREE.MeshStandardMaterial({ color: 0x0f0f0f, roughness: 0.9, metalness: 0.0 })
gripCenter.position.set(0, -0.13, 0.15); // Nach hinten verschoben
weaponGroup.add(gripCenter);
for (let i = 0; i < 2; i++) {
const screw = new THREM
new THREE.CylinderGeometry(0.005, 0.005, 0.01, 8),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, metalness: 0.8 })
screw.rotation.x = Math.PI / 2;
screw.position.set(0, -0.13 + (i - 0.5) * 0.08, 0.05);
weaponGroup.add(screw);
const triggerGuard = new THREE.Mesh(
new THREE.TorusGeometry(0.045, 0.006, 8, 16),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0.3, metalness: 0.8 })
triggerGuard.rotation.z = Math.PI / 2; // Um z-Achse rotiert f
triggerGuard.rotation.y = Math.PM
I / 2; // Noch 90 Grad nach rechts
triggerGuard.position.set(0, -0.08, 0.035);
weaponGroup.add(triggerGuard);
const trigger = new THREE.Mesh(
new THREE.BoxGeometry(0.018, 0.07, 0.012),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a })
trigger.position.set(0, -0.1, 0.038);
weaponGroup.add(trigger);
const rearSight = new THREE.Mesh(
new THREE.BoxGeometry(0.025, 0.04, 0.012),
new THREE.MeshStandardMaterial({ color: 0x0a0a0a })
rearSight.position.set(0, 0.05, 0.07); // UMGEKEHRT!
weaponGroup.add(rearSight);
st frontSight = new THREE.Mesh(
new THREE.BoxGeometry(0.012, 0.03, 0.012),
new THREE.MeshStandardMaterial({ color: 0x0a0a0a })
frontSight.position.set(0, 0.05, -0.11); // UMGEKEHRT!
weaponGroup.add(frontSight);
const hammer = new THREE.Mesh(
new THREE.BoxGeometry(0.025, 0.04, 0.025),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a })
hammer.position.set(0, 0.025, 0.09); // UMGEKEHRT!
weaponGroup.add(hammer);
const safety = new THREE.Mesh(
new THREE.BoxGeometry(0.015, 0.02, 0.01),
new THREE.MeshStandardMateriM
al({ color: 0x2a2a2a })
safety.position.set(0.02, 0.02, 0.05); // UMGEKEHRT!
weaponGroup.add(safety);
const magRelease = new THREE.Mesh(
new THREE.BoxGeometry(0.01, 0.015, 0.008),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a })
magRelease.position.set(0.05, -0.08, 0.05);
weaponGroup.add(magRelease);
} else if (weaponName === 'rifle') {
const barrel = new THREE.Mesh(
new THREE.CylinderGeometry(0.015, 0.015, 0.65, 16),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.1, metalness: 0.9 })
rrel.rotation.x = Math.PI / 2; // Nach vorne (z-Achse)!
barrel.position.set(0, 0, -0.32); // UMGEKEHRT: negativ = vorne!
weaponGroup.add(barrel);
const barrelShroud = new THREE.Mesh(
new THREE.CylinderGeometry(0.018, 0.018, 0.65, 16),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0.2, metalness: 0.8 })
barrelShroud.rotation.x = Math.PI / 2; // Nach vorne!
barrelShroud.position.set(0, 0, -0.32); // UMGEKEHRT!
weaponGroup.add(barrelShroud);
const receiver = new THREE.Mesh(
new THREE.BoxGeometry(0.1,M
0.08, 0.3), // Breite exakt wie Stock (0.1)
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0.3, metalness: 0.7 })
receiver.position.set(0, 0, -0.05); // UMGEKEHRT!
weaponGroup.add(receiver);
const stock = new THREE.Mesh(
new THREE.BoxGeometry(0.1, 0.25, 0.4),
new THREE.MeshStandardMaterial({ color: 0x2a1a0a, roughness: 0.9, metalness: 0.0 })
stock.position.set(0, -0.085, 0.12); // y so dass obere Kanten b
weaponGroup.add(stock);
const magazine = new THREE.Mesh(
new THREE.BoxGeometryM
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.4, metalness: 0.6 })
magazine.position.set(0.05, -0.1, -0.05); // UMGEKEHRT!
weaponGroup.add(magazine);
const handguard = new THREE.Mesh(
new THREE.BoxGeometry(0.12, 0.06, 0.25),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0.4, metalness: 0.5 })
handguard.position.set(-0.02, 0, -0.2); // UMGEKEHRT!
weaponGroup.add(handguard);
const rearSight = new THREE.Mesh(
new THREE.BoxGeometry(0.015, 0.05, 0.01),
MeshStandardMaterial({ color: 0x1a1a1a })
rearSight.position.set(0, 0.06, -0.05); // UMGEKEHRT!
weaponGroup.add(rearSight);
const frontSight = new THREE.Mesh(
new THREE.BoxGeometry(0.01, 0.04, 0.01),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a })
frontSight.position.set(0, 0.06, -0.32); // UMGEKEHRT!
weaponGroup.add(frontSight);
const trigger = new THREE.Mesh(
new THREE.BoxGeometry(0.02, 0.05, 0.01),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a })
trigger.position.set(0.04, -0.08, -0.05); // UMGEKM
weaponGroup.add(trigger);
const triggerGuard = new THREE.Mesh(
new THREE.TorusGeometry(0.05, 0.006, 8, 16),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a })
triggerGuard.rotation.x = Math.PI / 2;
triggerGuard.position.set(0.045, -0.06, -0.05); // UMGEKEHRT!
weaponGroup.add(triggerGuard);
} else if (weaponName === 'mg') {
const barrel = new THREE.Mesh(
new THREE.CylinderGeometry(0.02, 0.02, 0.7, 16),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.1, metalness: 0.9 })
= Math.PI / 2; // Nach vorne (z-Achse)!
barrel.position.set(0, 0, -0.35); // UMGEKEHRT: negativ = vorne!
weaponGroup.add(barrel);
for (let i = 0; i < 6; i++) {
const fin = new THREE.Mesh(
new THREE.CylinderGeometry(0.022, 0.022, 0.015, 12),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0.2, metalness: 0.8 })
fin.rotation.x = Math.PI / 2; // Nach vorne!
fin.position.set(0, 0, -(0.15 + i * 0.12)); // UMGEKEHRT!
weaponGroup.add(fin);
const receiver = new THREE.Mesh(
new THREE.BoxGeometry(0.06, 0.12M
, 0.45), // Breite von 0.08 auf 0.06 reduziert
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0.3, metalness: 0.7 })
receiver.position.set(0, 0, 0);
weaponGroup.add(receiver);
const rearGrip = new THREE.Mesh(
new THREE.BoxGeometry(0.06, 0.15, 0.08), // Breite von 0.08 auf 0.06 reduziert
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.6, metalness: 0.3 })
rearGrip.position.set(0, -0.1, 0.15); // UMGEKEHRT: positiv = hinten!
weaponGroup.add(rearGrip);
const magazine = new THREE.MeshM
new THREE.BoxGeometry(0.08, 0.18, 0.08),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.4, metalness: 0.6 })
magazine.position.set(0, -0.15, 0);
weaponGroup.add(magazine);
} else if (weaponName === 'sniper') {
const barrel = new THREE.Mesh(
new THREE.CylinderGeometry(0.02, 0.02, 0.9, 16),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.1, metalness: 0.9 })
barrel.rotation.x = Math.PI / 2; // Nach vorne (z-Achse)!
barrel.position.set(0, 0, -0.45); // UMGEKEHRT: negativ = vorne!M
weaponGroup.add(barrel);
const muzzleBrake = new THREE.Mesh(
new THREE.CylinderGeometry(0.025, 0.02, 0.06, 16),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0.2, metalness: 0.8 })
muzzleBrake.rotation.x = Math.PI / 2; // Nach vorne!
muzzleBrake.position.set(0, 0, -0.9); // UMGEKEHRT!
weaponGroup.add(muzzleBrake);
const scope = new THREE.Mesh(
new THREE.CylinderGeometry(0.055, 0.055, 0.45, 16),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.1, metalness: 0.9 })
= Math.PI / 2; // Nach vorne!
scope.position.set(0, 0.12, -0.05); // Nach hinten verschoben (von -0.25 auf -0.05)
weaponGroup.add(scope);
const scopeLens1 = new THREE.Mesh(
new THREE.CylinderGeometry(0.055, 0.055, 0.01, 16),
new THREE.MeshStandardMaterial({ color: 0x000033, roughness: 0.0, metalness: 0.0, transparent: true, opacity: 0.7 })
scopeLens1.rotation.x = Math.PI / 2; // Nach vorne!
scopeLens1.position.set(0, 0.12, 0.1); // Nach hinten verschoben (von -0.1 auf 0.1)
weaponGroup.add(scopeLens1);
peLens2 = new THREE.Mesh(
new THREE.CylinderGeometry(0.055, 0.055, 0.01, 16),
new THREE.MeshStandardMaterial({ color: 0x000033, roughness: 0.0, metalness: 0.0, transparent: true, opacity: 0.7 })
scopeLens2.rotation.x = Math.PI / 2; // Nach vorne!
scopeLens2.position.set(0, 0.12, -0.2); // Nach hinten verschoben (von -0.4 auf -0.2)
weaponGroup.add(scopeLens2);
const scopeMount1 = new THREE.Mesh(
new THREE.BoxGeometry(0.05, 0.05, 0.05),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a })
scopeMount1.position.seM
t(0, 0.12, 0.12); // Nach hinten verschoben (von -0.08 auf 0.12)
weaponGroup.add(scopeMount1);
const scopeMount2 = new THREE.Mesh(
new THREE.BoxGeometry(0.05, 0.05, 0.05),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a })
scopeMount2.position.set(0, 0.12, -0.22); // Nach hinten verschoben (von -0.42 auf -0.22)
weaponGroup.add(scopeMount2);
const receiver = new THREE.Mesh(
new THREE.BoxGeometry(0.06, 0.12, 0.4), // Breite von 0.22 auf 0.06 reduziert
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0M
.3, metalness: 0.7 })
receiver.position.set(0, 0, 0);
weaponGroup.add(receiver);
for (let i = 0; i < 4; i++) {
const fin = new THREE.Mesh(
new THREE.CylinderGeometry(0.022, 0.022, 0.015, 12),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0.2, metalness: 0.8 })
fin.rotation.x = Math.PI / 2; // Nach vorne!
fin.position.set(0, 0, -(0.2 + i * 0.2)); // UMGEKEHRT!
weaponGroup.add(fin);
const stock = new THREE.Mesh(
new THREE.BoxGeometry(0.06, 0.28, 0.5), // Breite von 0.12 auf 0.06 reduziert
HREE.MeshStandardMaterial({ color: 0x2a1a0a, roughness: 0.9, metalness: 0.0 })
stock.position.set(0, -0.09, 0.15); // y nochmals um die H
lfte runter (von -0.06 auf -0.09)
weaponGroup.add(stock);
const magazine = new THREE.Mesh(
new THREE.BoxGeometry(0.06, 0.15, 0.08), // Breite von 0.08 auf 0.06 reduziert
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.4, metalness: 0.6 })
magazine.position.set(0, -0.12, 0);
weaponGroup.add(magazine);
const trigger = new THREE.Mesh(
new THREE.BoxGeometry(0.02M
new THREE.MeshStandardMaterial({ color: 0x1a1a1a })
trigger.position.set(0.04, -0.08, 0);
weaponGroup.add(trigger);
const triggerGuard = new THREE.Mesh(
new THREE.TorusGeometry(0.05, 0.006, 8, 16),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a })
triggerGuard.rotation.x = Math.PI / 2;
triggerGuard.position.set(0.045, -0.06, 0);
weaponGroup.add(triggerGuard);
} else if (weaponName === 'grenade') {
const body = new THREE.Mesh(
new THREE.SphereGeometry(0.08, 12, 12),
new THREE.MeshStandardMaterM
ial({ color: 0x2a5a2a, roughness: 0.6, metalness: 0.2 })
body.scale.y = 1.4; // Eif
body.position.set(0, 0, 0);
weaponGroup.add(body);
const ring = new THREE.Mesh(
new THREE.TorusGeometry(0.04, 0.002, 8, 16), // Kleiner: Radius 0.04 statt 0.08, Dicke 0.002 statt 0.003
new THREE.MeshStandardMaterial({ color: 0x1a1a1a })
ring.rotation.z = Math.PI; // Um 90 Grad zus
tzlich um z-Achse gedreht (gesamt 180 Grad)
ring.rotation.y = Math.PI / 2; // Um 90 Grad um y-Achse gedreht
ring.position.set(0, 0.12, 0); //M
her bei y=0.12 (weiter oben)
weaponGroup.add(ring);
const fuse = new THREE.Mesh(
new THREE.CylinderGeometry(0.01, 0.01, 0.04, 8),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a })
fuse.position.set(0, 0.06, 0);
weaponGroup.add(fuse);
const pin = new THREE.Mesh(
new THREE.TorusGeometry(0.015, 0.003, 8, 16),
new THREE.MeshStandardMaterial({ color: 0xff0000 })
pin.rotation.x = Math.PI / 2;
pin.position.set(0, 0.06, 0);
weaponGroup.add(pin);
function showMuzzleFlash() {
lash = document.getElementById('muzzleFlash');
muzzleFlash.classList.add('active');
muzzleFlash.classList.remove('active');
function initMinimap() {
minimapCanvas = document.getElementById('minimapCanvas');
minimapCtx = minimapCanvas.getContext('2d');
minimapCanvas.width = 230;
minimapCanvas.height = 230;
function drawMinimap() {
if (!minimapCtx) return;
const scale = minimapCanvas.width / (levelSize * cellSize);
const offsetX = minimapCanvas.width / 2;
const offsetY = minimapCanvas.hM
minimapCtx.fillStyle = '#000';
minimapCtx.fillRect(0, 0, minimapCanvas.width, minimapCanvas.height);
minimapCtx.fillStyle = '#666';
for (let y = 0; y < levelSize; y++) {
for (let x = 0; x < levelSize; x++) {
if (visitedCells[y] && visitedCells[y][x] && level[y][x] === 1) {
const px = (x - levelSize / 2) * cellSize * scale + offsetX;
const py = (y - levelSize / 2) * cellSize * scale + offsetY;
minimapCtx.fillRect(px - cellSize * scale / 2, py - cellSize * scale / 2,
cellSize * scale, cellSize * scale);
minimapCtx.fillStyle = '#333';
for (let y = 0; y < levelSize; y++) {
for (let x = 0; x < levelSize; x++) {
if (visitedCells[y] && visitedCells[y][x] && level[y][x] === 0) {
const px = (x - levelSize / 2) * cellSize * scale + offsetX;
const py = (y - levelSize / 2) * cellSize * scale + offsetY;
minimapCtx.fillRect(px - cellSize * scale / 2, py - cellSize * scale / 2,
cellSize * scale, cellSize * scale);
const playerGridX = (player.position.x / cellSize) + levelSize / 2;
const playerGridZ = (player.positionM
.z / cellSize) + levelSize / 2;
const playerX = (playerGridX - levelSize / 2) * cellSize * scale + offsetX;
const playerZ = (playerGridZ - levelSize / 2) * cellSize * scale + offsetY;
minimapCtx.fillStyle = '#f00'; // Rot statt Gr
minimapCtx.beginPath();
minimapCtx.arc(playerX, playerZ, 3, 0, Math.PI * 2);
minimapCtx.strokeStyle = '#f00'; // Rot statt Gr
minimapCtx.lineWidth = 2;
minimapCtx.beginPath();
minimapCtx.moveTo(playerX, playerZ);
const dirX = playerX + Math.sin(player.rotation.y +M
const dirZ = playerZ + Math.cos(player.rotation.y + Math.PI) * 10;
minimapCtx.lineTo(dirX, dirZ);
minimapCtx.stroke();
minimapCtx.fillStyle = '#f00';
for (let enemy of enemies) {
const gridX = Math.floor((enemy.position.x / cellSize) + levelSize / 2);
const gridZ = Math.floor((enemy.position.z / cellSize) + levelSize / 2);
if (visitedCells[gridZ] && visitedCells[gridZ][gridX]) {
const ex = ((gridX - levelSize / 2) * cellSize) * scale + offsetX;
const ez = ((gridZ - levelSize / 2) * cellSize) * scaleM
minimapCtx.beginPath();
minimapCtx.arc(ex, ez, 2, 0, Math.PI * 2);
for (let pickup of pickups) {
const gridX = Math.floor((pickup.position.x / cellSize) + levelSize / 2);
const gridZ = Math.floor((pickup.position.z / cellSize) + levelSize / 2);
if (visitedCells[gridZ] && visitedCells[gridZ][gridX]) {
minimapCtx.fillStyle = pickup.type === 'medkit' ? '#f00' : '#ff0';
const px = ((gridX - levelSize / 2) * cellSize) * scale + offsetX;
const pz = ((gridZ - levelSize / 2) * cellSize) *M
minimapCtx.fillRect(px - 1, pz - 1, 2, 2);
const gridX = Math.floor((exitPortal.position.x / cellSize) + levelSize / 2);
const gridZ = Math.floor((exitPortal.position.z / cellSize) + levelSize / 2);
if (visitedCells[gridZ] && visitedCells[gridZ][gridX]) {
minimapCtx.fillStyle = '#0ff';
const px = exitPortal.position.x * scale + offsetX;
const pz = exitPortal.position.z * scale + offsetY;
minimapCtx.beginPath();
minimapCtx.arc(px, pz, 4, 0, Math.PI * 2);
minimapCtx.fillStyle = 'rgba(0, 0, 0, 0.8)';
for (let y = 0; y < levelSize; y++) {
for (let x = 0; x < levelSize; x++) {
if (!visitedCells[y] || !visitedCells[y][x]) {
const px = (x - levelSize / 2) * cellSize * scale + offsetX;
const py = (y - levelSize / 2) * cellSize * scale + offsetY;
minimapCtx.fillRect(px - cellSize * scale / 2, py - cellSize * scale / 2,
cellSize * scale, cellSize * scale);
function setupInput() {
document.addEventListener('keydown', (e) => {
keys[e.key.toLowerCaseM
if (e.key === 'Enter' && gameState === 'menu') {
if (window.passwordJustEntered) {
console.log('Enter key ignored - password was just entered');
const startScreen = document.getElementById('startScreen');
const passwordScreen = document.getElementById('passwordScreen');
const passwordVisible = passwordScreen && window.getComputedStyle(passwordScreen).display !== 'none';
if (passwordVisible) {
console.log('Password screen still visible, ignoring Enter key');
if (startScreen && !startSM
creen.classList.contains('hidden')) {
const computedStyle = window.getComputedStyle(startScreen);
const isVisible = computedStyle.display !== 'none' && computedStyle.visibility !== 'hidden';
const startDifficultySelect = document.getElementById('startDifficultySelect');
if (startDifficultySelect) {
difficultyLevel = startDifficultySelect.value;
console.log('Start screen is visible - calling showIntro()');
if (typeof showIntro === 'function') {
} else if (typeof windowM
.showIntro === 'function') {
console.log('Start screen exists but not visible');
console.log('Start screen not found or hidden');
if (e.key === 'Escape' || e.keyCode === 27) {
console.log('ESC pressed, gameState:', gameState, 'pointerLockElement:', document.pointerLockElement); // Debug
e.preventDefault(); // Verhindere Standard-Verhalten (Browser-Men
e.stopPropagation(); // Verhindere weitere Event-Verarbeitung
if (gameState === 'playing') {
gameState = 'paused';
nsole.log('Game paused');
if (mouseControl && mouseControl.getIsActive()) {
mouseControl.deactivate();
toggleSettingsMenu();
} else if (gameState === 'paused') {
console.log('Resuming game from paused state');
const settingsMenu = document.getElementById('settingsMenu');
if (settingsMenu && !settingsMenu.classList.contains('hidden')) {
settingsMenu.classList.add('hidden');
settingsMenu.style.display = 'none';
gameState = 'playing';
console.log('Game resumed, gameState:', M
if (mouseControl && gameState === 'playing') {
mouseControl.activate();
const settingsMenu = document.getElementById('settingsMenu');
if (settingsMenu && !settingsMenu.classList.contains('hidden')) {
closeSettingsMenu();
if (e.key === 'r' || e.key === 'R') {
if (gameState === 'playing') {
} else if (gameState === 'gameover') {
if ((e.key === 'f' || e.key === 'F') && gameState === 'playing') {
if ((e.key === 'l' || e.key === 'L'M
) && gameState === 'playing') {
if ((e.key === 'm' || e.key === 'M') && gameState === 'playing') {
if (gameState === 'playing') {
if (e.key === '1') switchWeapon('pistol');
if (e.key === '2') switchWeapon('rifle');
if (e.key === '3') switchWeapon('mg');
if (e.key === '4') switchWeapon('sniper');
if (e.key === '5') switchWeapon('grenade');
document.addEventListener('keyup', (e) => {
keys[e.key.toLowerCase()] = false;
document.addEventListener('mousedown', (e) => {
if (e.button === 0) { // Linke Maustaste - Schie
mouse.isDown = true;
shoot(); // Sofort schie
console.error('Error in shoot() on mousedown:', error);
mouseControl.activate();
if (mouseControl && !mouseControl.getIsActive()) {
mouseControl.activate();
} else if (e.button === 1) { // Mittlere Maustaste (Mausrad-Klick) - Maussteuerung Toggle
if (mouseControl.getIsActive()) {
mouseControl.activate();
} else if (e.button === 2) { // Rechte Maustaste - Zoom (nur bei Sniper) ODER Medikit
if (currentWeapon === 'sniper') {
camera.fov = 25; // Moderater Zoom (reduziert von 15)
camera.updateProjectionMatrix();
updateSniperVignette();
currentRotationY = targetRotationY;
currentRotationX = targetRotationX;
document.addEventListener('mouseup', (e) => {
if (e.button === 0) {
mouse.isDown = false;
isShooting = false; // Stoppe kontinuierliches Schie
} else if (e.button === 2) { // Rechte Maustaste losgelassen - Zoom aus
if (currentWeapon === 'sniper' && sniperZoom) {
camera.updateProjectionMatrix();
updateSniperVignette();
currentRotationY = targetRotationY;
currentRotationX = targetRotationX;
document.addEventListener('contextmenu', (e) => {
if (gameState === 'playing') {
const canvas = document.getElementById('M
document.addEventListener('mousemove', (e) => {
if (gameState === 'playing' && canvas) {
const container = document.getElementById('gameContainer');
const rect = container ? container.getBoundingClientRect() : canvas.getBoundingClientRect();
const x = e.clientX - rect.left;
const y = e.clientY - rect.top;
isMouseOverCanvas = x >= 0 && x <= rect.width && y >= 0 && y <= rect.height;
if (isMouseOverCanvas) {
mousePositionX = Math.max(0, Math.min(1, x / rect.width));
mousePositionX = 0.5;
const container = document.getElementById('gameContainer');
container.addEventListener('mouseleave', () => {
isMouseOverCanvas = false;
mousePositionX = 0.5; // Zur
} else if (canvas) {
canvas.addEventListener('mouseleave', () => {
isMouseOverCanvas = false;
mousePositionX = 0.5; // Zur
mouseControl = new MouseControlLib({
onRotation: (deltaX, deltaY) => {
targetRotationY -= deltaX;
targetRotationX -= deltaY;
targetRotationX = Math.max(-Math.PIM
/ 2, Math.min(Math.PI / 2, targetRotationX));
isActive: () => gameState === 'playing',
isPointerLocked: () => false, // Pointer Lock wird nicht verwendet (Sandbox blockiert)
rotationSpeed: 0.005, // Fallback-Modus (nicht verwendet bei automatischer Rotation)
pointerLockRotationSpeed: 0.003, // Pointer Lock Modus
baseSensitivity: 0.8, // Basis-Empfindlichkeit
sensitivityMultiplier: () => {
const zoomMultiplier = sniperZoom ? 0.5 : 1.0;
return zoomMultiplier * mouseSensitivity;
minRotationThreshold: 0.5,
warpThresholdPercent: 0.12, // ERH
edgeThreshold: 20 // ERH
her (20px statt 30px)
console.log('MouseControl initialisiert:', mouseControl);
canvas.setAttribute('tabindex', '0');
canvas.style.outline = 'none';
canvas.addEventListener('click', () => {
if (gameState === 'playing' && mouseControl) {
mouseControl.activate();
console.log('Canvas clicked - MouseControl activated');
canvas.addEventListener('mouseenter', () =>M
if (gameState === 'playing' && mouseControl) {
mouseControl.activate();
document.addEventListener('keydown', (e) => {
if (e.key === 'ArrowUp') keys['ArrowUp'] = true;
if (e.key === 'ArrowDown') keys['ArrowDown'] = true;
if (e.key === 'ArrowLeft') keys['ArrowLeft'] = true;
if (e.key === 'ArrowRight') keys['ArrowRight'] = true;
if (e.key === 'h' || e.key === 'H') {
if (gameState === 'playing') {
toggleControlsHelp();
document.addEventListener('keyup', (e) => {
if (e.key === 'ArrowUp') keys['ArrowUpM
if (e.key === 'ArrowDown') keys['ArrowDown'] = false;
if (e.key === 'ArrowLeft') keys['ArrowLeft'] = false;
if (e.key === 'ArrowRight') keys['ArrowRight'] = false;
document.addEventListener('pointerlockchange', () => {
mouse.isLocked = document.pointerLockElement !== null;
function lockPointer() {
const canvas = document.getElementById('gameCanvas');
if (canvas && canvas.requestPointerLock) {
return canvas.requestPointerLock().catch(err => {
console.warn('Pointer Lock nicht verf
einlich sandboxed iframe):', err);
throw err; // Weiterwerfen, damit .catch() in anderen Funktionen funktioniert
return Promise.reject(new Error('Canvas nicht gefunden'));
function checkWeaponUnlocks() {
for (const [weapon, scoreThreshold] of Object.entries(weaponUnlockScores)) {
if (unlockedWeapons.has(weapon)) continue; // Bereits freigeschaltet
let shouldUnlock = false;
if (weapon === 'mg') {
shouldUnlock = (playerScore >= scoreThreshold) || (currentLevel >= 2);
else if (weapon === 'sniper') {
lock = (playerScore >= scoreThreshold) || (currentLevel >= 3);
shouldUnlock = playerScore >= scoreThreshold;
unlockWeapon(weapon);
function unlockWeapon(weapon) {
if (unlockedWeapons.has(weapon)) return; // Bereits freigeschaltet
unlockedWeapons.add(weapon);
showWeaponUnlockMessage(weapon);
if (weaponConfigs[weapon]) {
playerAmmo[weapon] = weaponConfigs[weapon].maxAmmo;
function showWeaponUnlockMessage(weapon) {
const weaponNames = {
const unlockMessage = document.getElementById('weaponUnlockMessage');
const unlockText = document.getElementById('weaponUnlockText');
if (unlockMessage && unlockText) {
unlockText.textContent = `${weaponNames[weapon] || weapon.toUpperCase()} UNLOCKED!`;
unlockMessage.classList.remove('hidden');
unlockMessage.classList.add('hidden');
function showHitmarker() {
const hitmarker = document.getElementById('hitmarker');
console.warn('Hitmarker element not founM
hitmarker.classList.remove('hidden');
hitmarker.classList.add('active');
hitmarker.classList.remove('active');
function showKillstreakDisplay() {
const killstreakDisplay = document.getElementById('killstreakDisplay');
const killstreakValue = document.getElementById('killstreakValue');
if (killstreakDisplay && killstreakValue) {
killstreakValue.textContent = killstreak;
killstreakDisplay.classList.remove('hidden');
killstreakDisplay.style.opacity = '1';
killstreakDisplay.style.opacity = '0';
killstreakDisplay.classList.add('hidden');
function showKillText(isHeadshot) {
const killText = document.getElementById('killText');
console.warn('KillText element not found!');
killText.textContent = isHeadshot ? 'HEADSHOT!' : 'KILL!';
killText.classList.remove('headshot');
killText.classList.remove('hidden'); // Entferne hidden
killText.classList.add('headshot');
killText.classList.addM
killText.classList.remove('active');
function showWeaponSwitchAnimation(weapon) {
const animation = document.getElementById('weaponSwitchAnimation');
console.warn('WeaponSwitchAnimation element not found!');
const weaponNames = {
animation.textContent = weaponNames[weapon] || weapon.toUpperCase();
animation.classList.remove('hidden'); // Entferne hidden
animation.classList.add('active');
animation.classList.remove('active');
function switchWeapon(weapon) {
if (!weaponConfigs[weapon]) {
console.log(`Weapon ${weapon} not found!`);
if (currentLevel === 1 && !unlockedWeapons.has(weapon)) {
console.log(`Weapon ${weapon} is locked!`);
return; // Waffe ist gesperrt
currentWeapon = weapon;
scene.remove(weaponMesh);
weaponMesh = createWeaponModel(currentWeapon);
if (weaponMesh && scene) {
console.log(`=== WEAPON SWITCHED ===`);
console.log(`Weapon: ${currentWeapon}`);
console.log(`Scene children count:`, scene.children.length);
console.error('FAILED to switch weapon!');
showWeaponSwitchAnimation(weapon);
if (weapon === 'sniper') {
camera.updateProjectionMatrix();
updateSniperVignette();
function gameLoop() {
const now = Date.now();
if (now - fpsLastTime >= 1000) {
fpsDisplay = fpsCounter;
updateAdaptivePerformance();
const fpsValue = document.getElementById('fpsValue');
fpsValue.textContent = fpsDisplay;
if (gameState === 'playing') {
if (isShooting && mouse.isDown) {
const weapon = weaponConfigs[currentWeapon];
updateEnemyBullets();
checkAndSpawnAmmoIfNeeded();
updateSnowParticles();
updateVictoryCube();
checkEdgeChallengeTrigger();
updateEdgeChallenge();
if (currentLevel === 4) {
updateSkyTransition();
exitPortal.rotation += 0.02;
if (exitPortal.mesh) {
exitPortal.mesh.rotation.y = exitPortal.rotation;
if (flickerTimer > 5000 && Math.random() < 0.01) {
flickerActive = true;
flickerDuration = 200 + Math.random() * 300;
if (flickerActive) {
flickerDuration -= 16;
const flickerIntensity = 0.3 + MathM
if (window.gameLights) {
for (let light of window.gameLights) {
if (Math.random() < 0.3) {
light.intensity = light.userData.originalIntensity * flickerIntensity;
if (flickerDuration <= 0) {
flickerActive = false;
if (window.gameLights) {
for (let light of window.gameLights) {
light.intensity = light.userData.originalIntensity;
if (playerInvulnerable && invulnerabilityTimer > 0) {
invulnerabilityTimer -= 16; // 16ms pro Frame (bei 60fps)
if (invulnerabilityTimer <= 0) {
console.log('Invulnerability ended');
if (window.gameLights) {
const playerGridX = Math.floor((player.position.x / cellSize) + levelSize / 2);
const playerGridZ = Math.floor((player.position.z / cellSize) + levelSize / 2);
const cellKey = `${playerGridX},${playerGridZ}`;
if (darkTunnelCells.has(cellKey)) {
for (let light of window.gameLights) {
const lightDist = light.position.distanceTo(player.position);
if (lightDist < 10) {
light.intensity = light.userData.originalIntensity * 0.2;
weapon = weaponConfigs[currentWeapon];
if ((mouse.isDown || keys[' ']) && weapon && weapon.continuous) {
const now = Date.now();
if (now - lastMinimapUpdate >= MINIMAP_UPDATE_INTERVAL) {
lastMinimapUpdate = now;
const canvas = document.getElementById('gameCanvas');
const canvasVisible = canvas && window.getComputedStyle(canvas).display !== 'none' &&
window.getComputedStyle(canvas).visibility !== 'hidden' &&
gameState === 'playing';
if (canvasVisible && renderer && scene && camera) {
nderer.render(scene, camera);
requestAnimationFrame(gameLoop);
function startGame() {
console.log('=== startGame() CALLED ===');
gameState = 'playing';
playerLives = 3; // Starte mit 3 Leben
playerMedkits = 1; // Starte mit 1 Medikit
gameStartTime = Date.now();
weaponsUsed = new Set();
killstreakMultiplier = 1.0;
unlockedWeapons = neM
w Set(['pistol', 'rifle', 'grenade']);
if (currentLevel >= 2) {
unlockedWeapons.add('mg');
if (currentLevel >= 3) {
unlockedWeapons.add('sniper');
checkWeaponUnlocks();
console.log('Game state set to playing');
console.log('Calling initWeapons()...');
console.log('initWeapons() completed');
console.log('Calling generateLevel()...');
console.log('generateLevel() completed');
console.log('Initializing visited cells...');
for (let y = 0; y < levelSize; y++) {
for (let x = 0; x < levelSize; x++) {
visitedCells[y][x] = false;
console.log('Visited cells initialized for levelSize:', levelSize);
console.log('Clearing scene...');
while (scene.children.length > 0) {
scene.remove(scene.children[0]);
console.log('Scene cleared');
console.log('Three.js reinitialized with lights');
console.log('Calling buildLevel()...');
console.log('buildLevel() completed');
updateReflections();
console.log('Calling initPlayer().M
console.log('initPlayer() completed');
startSound.currentTime = 0;
startSound.play().catch(e => {
console.warn('Could not play start sound on spawn:', e);
console.warn('Error playing start sound on spawn:', error);
console.log('Calling spawnEnemies()...');
console.log('spawnEnemies() completed');
console.error('ERROR in spawnEnemies():', error);
console.error('Error message:', error.message);
'Stack:', error.stack);
enemies = enemies || [];
console.log('Calling spawnPickups()...');
console.log('spawnPickups() completed');
levelInitialized = true;
playerInvulnerable = true;
invulnerabilityTimer = 10000; // 10 Sekunden
scene.remove(weaponMesh);
weaponMesh = createWeaponModel(currentWeapon);
if (weaponMesh && scene) {
scene.add(weaponMesh);
console.log(`=== WEAPON MODEL CREATED ===`);
console.log(`Weapon: ${currentWeapon}`);
console.log(`Weapon scaleM
:`, weaponMesh.scale);
console.log(`Scene children count:`, scene.children.length);
console.log(`Weapon is in scene:`, scene.children.includes(weaponMesh));
console.error('FAILED to create weapon model!');
console.error('weaponMesh:', weaponMesh);
console.error('scene:', scene);
const startScreenEl = document.getElementById('startScreen');
const introScreenEl = document.getElementById('introScreen');
const gameOverScreenEl = document.getElementById('gameOverScreen');
const controlsHelpEl = document.getElM
ementById('controlsHelp');
if (startScreenEl) {
startScreenEl.classList.add('hidden');
startScreenEl.style.display = 'none';
if (introScreenEl) {
if (typewriterTimeout) {
clearTimeout(typewriterTimeout);
introScreenEl.classList.add('hidden');
introScreenEl.style.display = 'none';
if (gameOverScreenEl) {
gameOverScreenEl.classList.add('hidden');
gameOverScreenEl.style.display = 'none';
if (controlsHelpEl) {
controlsHelpEl.classList.add('hidden');
const restartHintEl = document.getElemenM
tById('restartHint');
if (restartHintEl) {
restartHintEl.classList.remove('hidden');
console.log('Screens hidden');
const startMsg = document.getElementById('startMessage');
startMsg.classList.remove('hidden');
startMsg.classList.add('hidden');
if (backgroundMusic) {
backgroundMusic.currentTime = 0;
backgroundMusic.play().catch(e => {
console.warn('Musik konnte nicht abgespielt werden:', e);
const canvas = document.getElementById('gameCanvas');
canvas.style.setProperty('display', 'block', 'important');
canvas.style.setProperty('visibility', 'visible', 'important');
canvas.style.setProperty('opacity', '1', 'important'); // Stelle sicher, dass Canvas sichtbar ist
canvas.style.setProperty('z-index', '1', 'important');
canvas.style.setProperty('pointer-events', 'auto', 'important');
canvas.style.position = 'absolute';
canvas.style.top = '0';
canvas.style.left = '0';
updateRenderScale();
console.log('Final gameState:', gameState);
ne exists:', !!scene);
console.log('Scene children count:', scene ? scene.children.length : 0);
console.log('Camera exists:', !!camera);
console.log('Camera position:', camera ? `${camera.position.x.toFixed(2)}, ${camera.position.y.toFixed(2)}, ${camera.position.z.toFixed(2)}` : 'N/A');
console.log('Renderer exists:', !!renderer);
console.log('Canvas element:', canvas);
console.log('Canvas computed style:', canvas ? window.getComputedStyle(canvas).display : 'N/A');
if (renderer && scene && camera) {
console.log('Forced initial render completed');
console.error('CRITICAL: Renderer, Scene, or Camera is missing!');
console.error('Renderer:', !!renderer);
console.error('Scene:', !!scene);
console.error('Camera:', !!camera);
console.log('gameState is:', gameState);
console.log('gameLoop should be running (called in init())');
mouseControl.activate();
console.warn('MouseControl activation error:', e);
useControl && !mouse.isLocked && !mouseControl.getIsActive() && gameState === 'playing') {
console.log('Aktiviere Maussteuerung automatisch (Pointer Lock nicht verf
mouseControl.activate();
console.log('Game started successfully! All systems should be running.');
console.log('If game is not visible, check:');
console.log('1. Are screens hidden? (check DOM)');
console.log('2. Is canvas visible? (check computed styles)');
console.log('3. Is gameState === "playing"? (should be true)');
nsole.log('4. Is renderer.render() being called? (check gameLoop)');
console.error('=== ERROR IN startGame() ===');
console.error('Error message:', error.message);
console.error('Error name:', error.name);
console.error('Stack trace:', error.stack);
console.error('Full error object:', error);
console.warn('Attempting to continue despite error...');
gameState = 'playing';
const startScreenEl = document.getElementById('startScreen');
const introScreenEl = document.getElementById('introScreen');
startScreenEl.classList.add('hidden');
startScreenEl.style.display = 'none';
if (introScreenEl) {
if (typewriterTimeout) {
clearTimeout(typewriterTimeout);
introScreenEl.classList.add('hidden');
introScreenEl.style.display = 'none';
const canvas = document.getElementById('gameCanvas');
canvas.style.setProperty('display', 'block', 'important');
canvas.style.setProperty('visibility', 'visible', 'important');
canvas.style.setProperty('opacity', '1', 'important')M
canvas.style.setProperty('pointer-events', 'auto', 'important');
if (renderer && scene && camera) {
renderer.render(scene, camera);
function restartLevel() {
console.log('=== restartLevel() CALLED ===');
if (gameState !== 'playing') return;
bossDefeated = false;
cubeCollected = false;
if (victoryCube && victoryCube.mesh) {
scene.remove(victoryCube.mesh);
for (let y = 0; y < levelSize; y++) {
for (let x = 0; x < levelSize; x++) {
visitedCells[y][x] = false;
while (scene.children.length > 0) {
scene.remove(scene.children[0]);
console.error('ERROR in spawnEnemies():', error);
enemies = enemies || [];
levelInitialized = true;
playerInvulnerable = true;
invulnerabilityTimer = 10000;
scene.remove(weaponMesh);
weaponMesh = createWeaM
ponModel(currentWeapon);
if (weaponMesh && scene) {
scene.add(weaponMesh);
camera.updateProjectionMatrix();
document.getElementById('startScreen')?.classList.add('hidden');
document.getElementById('gameOverScreen')?.classList.add('hidden');
document.getElementById('statisticsScreen')?.classList.add('hidden');
document.getElementById('creditsScreen')?.classList.add('hidden');
lockPointer().catch(() => {
if (mouseControl && !M
mouseControl.activate();
console.warn('Could not lock pointer:', e);
console.log('Level restarted successfully!');
function quitToMenu() {
console.log('=== QUIT TO MENU ===');
mouseControl.deactivate();
const settingsMenu = document.getElementById('settingsMenu');
settingsMenu.classList.add('hidden');
settingsMenu.style.display = 'none';
const gameOverScreen = document.getElementById('gameOverScreen');M
const statisticsScreen = document.getElementById('statisticsScreen');
const creditsScreen = document.getElementById('creditsScreen');
if (gameOverScreen) {
gameOverScreen.classList.add('hidden');
gameOverScreen.style.display = 'none';
if (statisticsScreen) {
statisticsScreen.classList.add('hidden');
statisticsScreen.style.display = 'none';
if (creditsScreen) {
creditsScreen.classList.add('hidden');
creditsScreen.style.display = 'none';
const canvas = document.getElementById('gameCanvas');
s.style.display = 'none';
canvas.style.visibility = 'hidden';
const startScreen = document.getElementById('startScreen');
startScreen.classList.remove('hidden');
startScreen.style.display = 'flex';
startScreen.style.pointerEvents = 'auto';
startScreen.style.cursor = 'pointer';
if (backgroundMusic) {
backgroundMusic.pause();
backgroundMusic.currentTime = 0;
killstreakMultiplier = 1.0;
bossDefeated = false;
cubeCollected = false;
edgeChallenge.active = false;
level4SkyTransition.active = false;
unlockedWeapons = new Set(['pistol', 'rifle', 'grenade']);
currentWeapon = 'pistol';
mouse.isDown = false;
mouse.isLocked = false;
isReloading = false;
lastAmmoSpawnCheck = false;
while (scene.children.length > 0) {
scene.remove(scene.children[0]);
camera.updateProjectionMatrix();
targetRotationY = 0;
targetRotationX = 0;
currentRotationY = 0;
currentRotationX = 0;
levelInitialized = false;
level4SkyMesh = null;
level4SkyTexture = null;
console.log('Returned to main menu');
if (typeof window !== 'undefined') {
window.startGame = startGame;
window.quitToMenu = quitToMenu;
function gameOver(won) {
console.log('=== GAME OVER ===', won ? 'WON' : 'LOST');
gameState = 'gameover';
return; // Statistik zeigt dann Victory-Bild und Abspann (nur Level 4) oder zur
const restartHintEl = document.getElementById('restartHint');
if (restartHintEl) {
restartHintEl.classList.add('hidden');
const gameOverScreenEl = document.getElementById('gameOverScreen');
if (gameOverScreenEl) {
gameOverScreenEl.claM
ssList.remove('hidden');
gameOverScreenEl.style.setProperty('display', 'flex', 'important');
gameOverScreenEl.style.setProperty('visibility', 'visible', 'important');
gameOverScreenEl.style.setProperty('opacity', '1', 'important');
gameOverScreenEl.style.setProperty('z-index', '10001', 'important');
gameOverScreenEl.classList.add('won');
gameOverScreenEl.classList.remove('won');
const gameOverTextEl = document.getElementById('gameOverText');
if (gameOverTextEl) {
gameOverTextEl.textContent =M
won ? 'ALL ENEMIES DEFEATED!' : 'YOU DIED!';
const gameOverImageEl = document.getElementById('gameOverImage');
const victoryImageEl = document.getElementById('victoryImage');
if (gameOverImageEl && victoryImageEl) {
gameOverImageEl.classList.add('hidden');
gameOverImageEl.style.display = 'none';
victoryImageEl.classList.remove('hidden');
victoryImageEl.style.display = 'block';
victoryImageEl.style.visibility = 'visible';
victoryImageEl.style.opacity = '1';
gameOverImageEl.classList.remove('hiM
gameOverImageEl.style.display = 'block';
gameOverImageEl.style.visibility = 'visible';
gameOverImageEl.style.opacity = '1';
victoryImageEl.classList.add('hidden');
victoryImageEl.style.display = 'none';
const finalScoreEl = document.getElementById('finalScore');
finalScoreEl.textContent = `Final Score: ${playerScore}`;
if (backgroundMusic) {
backgroundMusic.pause();
backgroundMusic.currentTime = 0;
if (document.pointerLockElement === document.body ||
document.pointerLockElement =M
== document.getElementById('gameCanvas')) {
document.exitPointerLock();
mouse.isDown = false;
const startScreen = document.getElementById('startScreen');
startScreen.classList.remove('hidden');
startScreen.style.display = 'flex';
startScreen.style.pointerEvents = 'auto';
startScreen.style.cursor = 'pointer';
const gameOverScreen = document.getElementById('gameOverScreen');
if (gameOverScreen) {
en.classList.add('hidden');
console.log('Game Over Screen should be visible now');
function showVictoryImageAndCredits() {
const canvas = document.getElementById('gameCanvas');
canvas.style.setProperty('display', 'none', 'important');
const creditsScreen = document.getElementById('creditsScreen');
if (!creditsScreen) {
showRestartOption();
const imageContainer = document.createElement('div');
imageContainer.id = 'victoryImageContainer';
imageContainer.style.cssTextM
= 'position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #000; display: flex; align-items: center; justify-content: center; z-index: 10003;';
const img = document.createElement('img');
img.src = '/content/c628902f89dbeab67a396cbc997a42d631fbe9d2e98d538cd93fae7267501e93i0';
img.style.cssText = 'max-width: 90%; max-height: 90%; object-fit: contain;';
imageContainer.appendChild(img);
document.body.appendChild(imageContainer);
imageContainer.style.opacity = '0';
le.transition = 'opacity 1s';
if (document.body.contains(imageContainer)) {
document.body.removeChild(imageContainer);
creditsScreen.classList.remove('hidden');
creditsScreen.style.display = 'flex';
const handleCreditsSkip = (e) => {
creditsScreen.classList.add('hidden');
document.removeEventListener('keydown', handleCreditsSkip);
document.removeEventListener('click', handleCreditsSkip);
showRestartOption();
document.addEventListener('keydown', handleCreditsSkip);M
document.addEventListener('click', handleCreditsSkip);
if (!creditsScreen.classList.contains('hidden')) {
handleCreditsSkip({});
function showRestartOption() {
if (backgroundMusic) {
backgroundMusic.pause();
backgroundMusic.currentTime = 0;
if (document.pointerLockElement === document.body ||
document.pointerLockElement === document.getElementById('gameCanvas')) {
document.exitPointerLock();
mouse.isDown = false;
const startScreen = document.getElementById('startScreen');
startScreen.classList.remove('hidden');
startScreen.style.display = 'flex';
const gameOverScreenEl = document.getElementById('gameOverScreen');
if (gameOverScreenEl) {
gameOverScreenEl.classList.add('hidden');
gameOverScreenEl.style.display = 'none';
const creditsScreen = document.getElementById('creditsScreen');
if (creditsScreen) {
creditsScreen.classList.add('hidden');
creditsScreen.style.display = 'none';
const statisticsScreen = document.getElementById('statisticsScreen');
if (!statisticsScreen) return;
const accuracy = totalShots > 0 ? Math.round((totalHits / totalShots) * 100) : 0;
const gameTime = Math.floor((Date.now() - gameStartTime) / 1000);
const minutes = Math.floor(gameTime / 60);
const seconds = gameTime % 60;
const timeString = `${minutes}:${seconds.toString().padStart(2, '0')}`;
const weaponNames = {
const weaponsList = Array.from(weaponsUsed).map(w => weaponNames[w] || w).join(', ') || 'None';
const statKills = document.getElementById('statKills');
const statAccuracy = document.getElementById('statAccuracy');
const statTime = document.getElementById('statTime');
const statWeapons = document.getElementById('statWeapons');
const statHeadshots = document.getElementById('statHeadshots');
const statMaxKillstreak = document.getElementById('statMaxKillstreak');
const statKillstreakBonus = document.getElementByIdM
('statKillstreakBonus');
if (statKills) statKills.textContent = totalKills;
if (statAccuracy) statAccuracy.textContent = accuracy + '%';
if (statTime) statTime.textContent = timeString;
if (statWeapons) statWeapons.textContent = weaponsList;
if (statHeadshots) statHeadshots.textContent = totalHeadshots;
if (statMaxKillstreak) statMaxKillstreak.textContent = maxKillstreak;
if (statKillstreakBonus) statKillstreakBonus.textContent = maxKillstreak > 0 ? (1.0 + (maxKillstreak - 1) * 0.2).toFixed(1) + 'x' : '1.0x';
sticsScreen.classList.remove('hidden');
statisticsScreen.style.setProperty('display', 'flex', 'important');
statisticsScreen.style.setProperty('visibility', 'visible', 'important');
statisticsScreen.style.setProperty('opacity', '1', 'important');
statisticsScreen.style.setProperty('z-index', '10001', 'important');
const canvas = document.getElementById('gameCanvas');
canvas.style.setProperty('display', 'none', 'important');
const handleRestartAfterStats = (e) => {
if (e.key === 'r' || e.key === 'R')M
statisticsScreen.classList.add('hidden');
statisticsScreen.style.setProperty('display', 'none', 'important');
document.removeEventListener('keydown', handleRestartAfterStats);
if (currentLevel === 4) {
showVictoryImageAndCredits();
showRestartOption();
document.addEventListener('keydown', handleRestartAfterStats);
function nextLevel() {
if (currentLevel >= 4) {
console.log('Already in Level 4 - cannot go to next level');
levelInitialized = false;
unlockedWeapons = new Set(['pistol', 'rifle', 'grenade']);
if (currentLevel >= 2) {
unlockedWeapons.add('mg');
if (currentLevel >= 3) {
unlockedWeapons.add('sniper');
checkWeaponUnlocks();
console.log(`=== STARTING LEVEL ${currentLevel} ===`);
while (scene.children.length > 0) {
scene.remove(scene.children[0]);
for (let y = 0; y < levelSize; y++) {
visitedCells[y] = [];
for (let x = 0; x < levelSize; x++) {
itedCells[y][x] = false;
levelInitialized = true;
mousePositionX = 0.5; // Zur
isMouseOverCanvas = false; // Wird beim n
chsten Maus-Move neu gesetzt
startSound.currentTime = 0;
startSound.play().catch(e => {
console.warn('Could not play start sound on level spawn:', e);
console.warn('Error playing start sound on level spawn:', error);
scene.remove(weaponMesh);
weaponMesh = createWeaponModel(currentWeapon);
if (weaponMesh && scene) {
scene.add(weaponMesh);
console.log(`=== WEAPON MODEL CREATED (nextLevel) ===`);
console.log(`Weapon: ${currentWeapon}`);
const canvas = document.getElementById('gameCanvas');
canvas.style.setProperty('display', 'block', 'important');
canvas.style.setProperty('visibility', 'visible', 'important');
canvas.style.setProperty('opacity', '1', 'important');
canvas.style.setProperty('z-index', '1', 'important'M
canvas.style.setProperty('pointer-events', 'auto', 'important');
playerInvulnerable = true;
invulnerabilityTimer = 10000; // 10 Sekunden
const startMsg = document.getElementById('startMessage');
startMsg.classList.remove('hidden');
startMsg.classList.add('hidden');
lockPointer().catch(() => {
if (mouseControl && !mouse.isLocked) {
console.log('Pointer Lock fehlgeschlagen, aktiviere Fallback-Maussteuerung');
mouseControl.activate();
function toggleControlsHM
const helpDiv = document.getElementById('controlsHelp');
helpDiv.classList.toggle('hidden');
function initIntroCube() {
const cubeContainer = document.getElementById('introCubeContainer');
if (!cubeContainer) return;
const canvas = document.createElement('canvas');
canvas.width = cubeContainer.offsetWidth || window.innerWidth;
canvas.height = cubeContainer.offsetHeight || window.innerHeight * 0.5;
cubeContainer.appendChild(canvas);
introCubeScene = new THREE.Scene();
ntroCubeCamera = new THREE.PerspectiveCamera(75, canvas.width / canvas.height, 0.1, 1000);
introCubeCamera.position.set(0, 0, 5);
introCubeCamera.lookAt(0, 0, 0);
introCubeRenderer = new THREE.WebGLRenderer({ canvas: canvas, alpha: true, antialias: true });
introCubeRenderer.setSize(canvas.width, canvas.height);
introCubeRenderer.setClearColor(0x000000, 0);
const ambientLight = new THREE.AmbientLight(0xffffff, 0.6);
introCubeScene.add(ambientLight);
const directionalLight = new THREE.DirectionalLight(0xffffff, 0.8)M
directionalLight.position.set(5, 5, 5);
introCubeScene.add(directionalLight);
const cubeSize = 1.5;
const cubeGeometry = new THREE.BoxGeometry(cubeSize, cubeSize, cubeSize);
const textureLoader = new THREE.TextureLoader();
textureLoader.load('/content/d5b2fd5b26b11e7acc53bdc96389036c7953ba0ffe48e593222af4d55b81246ei0',
texture.generateMipmaps = false;
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.anisotropy = 1;
texture.wrapS = THREE.RepeatWrapping;
.wrapT = THREE.RepeatWrapping;
texture.repeat.set(1, 1);
texture.flipY = false;
const cubeMaterial = new THREE.MeshStandardMaterial({
emissiveIntensity: 0.8,
emissiveMap: texture,
introCubeMesh = new THREE.Mesh(cubeGeometry, cubeMaterial);
introCubeMesh.position.set(0, 0, 0);
introCubeScene.add(introCubeMesh);
console.error('Error loading intro cube texture:', error);
al = new THREE.MeshStandardMaterial({
emissiveIntensity: 0.8,
introCubeMesh = new THREE.Mesh(cubeGeometry, cubeMaterial);
introCubeMesh.position.set(0, 0, 0);
introCubeScene.add(introCubeMesh);
function animateIntroCube() {
if (!introCubeMesh || !introCubeRenderer || !introCubeScene || !introCubeCamera) return;
introCubeMesh.rotation.x += 0.01;
introCubeMesh.rotation.y += 0.02;
introCubeRenderer.render(introCubeScene,M
introCubeAnimationId = requestAnimationFrame(animateIntroCube);
function cleanupIntroCube() {
if (introCubeAnimationId) {
cancelAnimationFrame(introCubeAnimationId);
introCubeAnimationId = null;
const cubeContainer = document.getElementById('introCubeContainer');
if (cubeContainer) {
cubeContainer.innerHTML = '';
if (introCubeMesh) {
if (introCubeMesh.geometry) introCubeMesh.geometry.dispose();
if (introCubeMesh.material) {
if (Array.isArray(introCubeMesh.material)) {
introCubeMesh.materialM
if (mat.map) mat.map.dispose();
if (introCubeMesh.material.map) introCubeMesh.material.map.dispose();
introCubeMesh.material.dispose();
introCubeMesh = null;
if (introCubeRenderer) {
introCubeRenderer.dispose();
introCubeRenderer = null;
introCubeScene = null;
introCubeCamera = null;
const INTRO_FULL_TEXT = `This Christmas, everything is different
The Grinch has cursed the world and twisted the hearts of all creatures
joy into hate, love into anger. In M
his sinister plan to destroy Christmas, even Santa's most loyal friends have turned against him. They have stolen the Sacred Gift, the Magic Cube of Santa.
Now Santa is no longer the cheerful old man everyone knew. Transformed into a powerful, vengeful protector, he now fights against those who would destroy him.
Will you survive Christmas and retrieve the Sacred Cube?`;
function skipTypewriterEffect() {
if (typewriterTimeout) {
clearTimeout(typewriterTimeout);
typewriterTimeout = null;
const textContainer = docuM
ment.getElementById('introTypewriterText');
if (!textContainer) return;
const lines = INTRO_FULL_TEXT.split('\n');
for (let i = 0; i < lines.length; i++) {
if (lines[i].trim() !== '') {
html += `<div class="typewriter-line">${lines[i]}</div>`;
html += `<div class="typewriter-line"> </div>`;
html += `<div class="typewriter-line"><span class="cursor"></span></div>`;
textContainer.innerHTML = html;
const textContainerParent = document.getElementById('introTextContainer');
textContainerParent.scrollTop = textContainerParent.scrollHeight;
function startTypewriterEffect() {
const textContainer = document.getElementById('introTypewriterText');
if (!textContainer) return;
if (typewriterTimeout) {
clearTimeout(typewriterTimeout);
const lines = INTRO_FULL_TEXT.split('\n');
let currentLineIndex = 0;
let currentCharIndex = 0;
const charDelay = 25; // ms pro Zeichen (schneller)
let displayedText = '';
textContainer.innerHTML = '';
function typeNextChar() {
ndex >= lines.length) {
const cursor = document.createElement('span');
cursor.className = 'cursor';
textContainer.appendChild(cursor);
const currentLine = lines[currentLineIndex];
if (currentCharIndex < currentLine.length) {
displayedText += currentLine[currentCharIndex];
const textContainerParent = document.getElementById('introTextContainer');
const lineHeight = textContainerParent ? parseFloat(getComputedStyle(textContainer).fontSize) * 1.8 : 2;
const maxVisibleLines = textContainerM
Parent ? Math.floor(textContainerParent.clientHeight / lineHeight) : 20;
const midPoint = maxVisibleLines / 2;
if (currentLineIndex > midPoint) {
startIndex = currentLineIndex - midPoint;
for (let i = startIndex; i <= currentLineIndex; i++) {
if (i < currentLineIndex) {
if (lines[i].trim() !== '') {
html += `<div class="typewriter-line">${lines[i]}</div>`;
html += `<div class="typewriter-line"> </div>`;
html += `<div class="typewriter-line">${displayedTeM
xt}<span class="cursor"></span></div>`;
textContainer.innerHTML = html;
if (textContainerParent) {
textContainerParent.scrollTop = textContainerParent.scrollHeight;
typewriterTimeout = setTimeout(typeNextChar, charDelay);
currentCharIndex = 0;
if (currentLineIndex < lines.length) {
typewriterTimeout = setTimeout(typeNextChar, charDelay);
const cursor = document.createElement('span');
cursor.className = 'cursor';
textContainer.appendM
function showIntro() {
console.log('=== showIntro() CALLED ===');
console.trace('showIntro() call stack:');
const startScreen = document.getElementById('startScreen');
const introScreen = document.getElementById('introScreen');
const passwordScreen = document.getElementById('passwordScreen');
if (passwordScreen) {
const passwordVisible = window.getComputedStyle(passwordScreen).display !== 'none';
if (passwordVisible) {
console.log('=== showIntro() BLOCKED - Password screen stiM
const wasVisible = !startScreen.classList.contains('hidden') && window.getComputedStyle(startScreen).display !== 'none';
console.log('Start screen was visible before showIntro():', wasVisible);
console.warn('=== WARNING: showIntro() called but start screen was NOT visible! ===');
startScreen.classList.add('hidden');
startScreen.style.display = 'none';
console.warn('=== WARNING: showIntro() called but start screen element not founM
introScreen.classList.remove('hidden');
introScreen.style.display = 'flex';
introScreen.style.cursor = 'pointer';
introScreen.style.pointerEvents = 'auto';
introScreen.style.zIndex = '10000';
const newIntroScreen = introScreen.cloneNode(true);
introScreen.parentNode.replaceChild(newIntroScreen, introScreen);
const newIntro = document.getElementById('introScreen');
const newIntroClone = newIntro.cloneNode(true);
newIntro.parentNode.replaceChild(newIntroClone, neM
const finalIntro = document.getElementById('introScreen');
const skipIntroHandler = function(e) {
console.log('=== INTRO CLICKED - Skipping typewriter and calling startGame() ===');
e.stopPropagation();
skipTypewriterEffect();
if (window.startGame) {
console.error('window.startGame is not available!');
finalIntro.addEventListener('click', skipIntroHandler, { once: true });
ventListener('mousedown', skipIntroHandler, { once: true });
finalIntro.style.cursor = 'pointer';
finalIntro.style.pointerEvents = 'auto';
const cubeContainer = finalIntro.querySelector('#introCubeContainer');
const textContainer = finalIntro.querySelector('#introTextContainer');
const skipIntro = function(e) {
console.log('=== INTRO CLICKED (anywhere) - Skipping typewriter and calling startGame() ===');
e.stopPropagation();
skipTypewriterEffect();
console.error('window.startGame is not available!');
if (cubeContainer) {
cubeContainer.style.pointerEvents = 'auto';
cubeContainer.style.cursor = 'pointer';
cubeContainer.addEventListener('click', skipIntro, { once: true });
cubeContainer.addEventListener('mousedown', skipIntro, { once: true });
if (textContainer) {
textContainer.style.pointerEvents = 'auto';
textContainer.style.cursor = 'pointer';
textContainer.addEventListener('click', skipIntro, { oncM
textContainer.addEventListener('mousedown', skipIntro, { once: true });
const cubeContainer = document.getElementById('introCubeContainer');
if (cubeContainer) {
cubeContainer.style.display = 'flex';
cubeContainer.style.visibility = 'visible';
cubeContainer.style.opacity = '1';
startTypewriterEffect();
console.log('Event handlers set on intro screen');
function initPasswordScreen() {
window.passwordJustEntered = false;
const passwordScreen = document.getElementById('passwordScreen');
const passwordInput = document.getElementById('passwordInput');
const passwordSubmit = document.getElementById('passwordSubmit');
const passwordError = document.getElementById('passwordError');
const startScreen = document.getElementById('startScreen');
if (!passwordScreen || !passwordInput || !passwordSubmit || !startScreen) {
console.error('Password screen elements not found!');
startScreen.classList.remove('hidden');
.style.display = 'flex';
passwordScreen.style.display = 'flex';
passwordInput.focus();
passwordInput.addEventListener('keydown', (e) => {
if (e.key === 'Enter') {
e.stopPropagation();
window.passwordJustEntered = true;
window.passwordJustEntered = false;
passwordSubmit.addEventListener('click', (e) => {
e.stopPropagation();
window.passwordJustEntered = true;
window.passwordJustEntered = false;
passwordSubmit.addEventListener('mouseenter', () => {
passwordSubmit.style.background = '#444444';
passwordSubmit.addEventListener('mouseleave', () => {
passwordSubmit.style.background = '#333333';
function checkPassword() {
const enteredPassword = passwordInput.value;
const correctPassword = '2134';
if (enteredPassword === correctPassword) {
console.log('=== PASSWORD CORRECT - SHOWING START SCREEN ===');
passwordScreen.style.display = 'none';
passwordScreen.style.visibility = 'M
passwordScreen.style.zIndex = '-1';
console.log('GameState set to:', gameState);
const canvas = document.getElementById('gameCanvas');
canvas.style.setProperty('display', 'none', 'important');
canvas.style.setProperty('visibility', 'hidden', 'important');
canvas.style.setProperty('opacity', '0', 'important');
canvas.style.setProperty('z-index', '-1', 'important');
canvas.style.setProperty('pointer-events', 'none', 'important');
if (canvas.parentElement) {
ent.style.overflow = 'hidden';
console.log('Canvas hidden:', {
display: window.getComputedStyle(canvas).display,
visibility: window.getComputedStyle(canvas).visibility,
opacity: window.getComputedStyle(canvas).opacity,
zIndex: window.getComputedStyle(canvas).zIndex
if (typeof renderer !== 'undefined' && renderer) {
console.log('Renderer exists, but canvas should be hidden');
const introScreen = document.getElementById('introScreen');
introScreen.classList.add('hidden');
const finalStartScreen = document.getElementById('startScreen');
if (finalStartScreen) {
finalStartScreen.classList.remove('hidden');
finalStartScreen.style.setProperty('display', 'flex', 'important');
finalStartScreen.style.setProperty('visibility', 'visible', 'important');
finalStartScreen.style.setProperty('pointer-events', 'auto', 'important');
finalStartScreen.style.setProperty('cursor', 'pointer', 'important');
finalStartScreen.style.setProperty('z-index', '10002', 'important');
const startDifficultySelect = document.getElementById('startDifficultySelect');
if (startDifficultySelect) {
const newSelect = startDifficultySelect.cloneNode(true);
startDifficultySelect.parentNode.replaceChild(newSelect, startDifficultySelect);
const finalSelect = document.getElementById('startDifficultySelect');
finalSelect.value = difficultyLevel;
finalSelect.addEventListener('change', (e) => {
difficultyLevel = e.target.value;
finalSelect.addEventListener('clicM
e.stopPropagation();
const computedStyle = window.getComputedStyle(finalStartScreen);
console.log('Start screen should be visible now', {
display: computedStyle.display,
hasHidden: finalStartScreen.classList.contains('hidden'),
zIndex: computedStyle.zIndex,
visibility: computedStyle.visibility,
position: computedStyle.position
console.error('Start screen element not found!');
passwordError.style.visibility = 'hidden';
console.log('Password correct - showing start screen'M
passwordError.style.visibility = 'visible';
passwordInput.value = '';
passwordInput.focus();
console.log('Wrong password entered');
console.log('=== init() CALLED ===');
if (typeof window !== 'undefined') {
window.startGame = startGame;
window.showIntro = showIntro;
console.log('window.startGame set:', typeof window.startGame);
console.log('window.showIntro set:', typeof window.showIntro);
for (let y = 0; y < levelSize; y++) {
for (let x = 0; x < levelSize; x++) {
visitedCells[y][x] = false;
initPasswordScreen();
const startScreen = document.getElementById('startScreen');
const newStart = startScreen;
newStart.style.pointerEvents = 'auto';
newStart.style.cursor = 'pointer';
const startDifficultySelect = document.getElementById('startDifficultySelect');
if (startDifficultySelectM
startDifficultySelect.value = difficultyLevel;
startDifficultySelect.addEventListener('change', (e) => {
difficultyLevel = e.target.value;
startDifficultySelect.addEventListener('click', (e) => {
e.stopPropagation();
const startScreenClickHandler = (e) => {
if (e.target && (e.target.id === 'startDifficultySelect' || e.target.closest('#startDifficultySelection'))) {
console.log('=== START SCREEN CLICKED ===', 'gameState:', gameState);
e.stopPropagation();
f (newStart.classList.contains('hidden')) {
console.log('Start screen is hidden, not responding to click');
if (startDifficultySelect) {
difficultyLevel = startDifficultySelect.value;
startSound.currentTime = 0;
startSound.play().catch(e => {});
if (typeof showIntro === 'function') {
} else if (typeof window.showIntro === 'function') {
console.error('showIntro is not a function!', typeof showIntro, typeof window.showIntro);
newStart.addEventListener('click', startScreenClickHandler);
newStart.addEventListener('mousedown', startScreenClickHandler);
const startKeyHandler = (e) => {
if ((e.key === 'Enter' || e.key === ' ') && gameState === 'menu') {
const startScreen = document.getElementById('startScreen');
if (startScreen && !startScreen.classList.contains('hidden')) {
e.stopPropagation();
const startDifficultySelect = document.getElementById('startDifficultySelect');
if (startDifficultySelect) {
= startDifficultySelect.value;
startSound.currentTime = 0;
startSound.play().catch(e => {});
document.addEventListener('keydown', startKeyHandler);
console.log('Start screen click handler attached');
console.error('Start screen element not found for click handler!');
function getParticleFromPool() {
for (let i = 0; i < particlePool.length; i++) {
if (!particlePool[i].active) {
particlePool[i].active = true;
iclePool[i].life = particlePool[i].maxLife;
return particlePool[i];
position: new THREE.Vector3(),
velocity: new THREE.Vector3(),
particlePool.push(particle);
function returnParticleToPool(particle) {
if (particle.mesh && particle.mesh.parent) {
scene.remove(particle.mesh);
if (particle.mesh.geometry) particle.mesh.geometry.dispose();
if (particle.mesh.material) {
if (Array.isArray(particle.mesh.material)) {
erial.forEach(mat => mat.dispose());
particle.mesh.material.dispose();
particle.mesh = null;
particle.active = false;
function updateShadowQuality(quality) {
shadowQuality = quality;
if (!renderer || !scene) return;
const directionalLight = scene.children.find(child => child instanceof THREE.DirectionalLight && child.castShadow);
if (!directionalLight) return;
renderer.shadowMap.enabled = false;
directionalLight.castShadow = false;
renderer.shadowMap.enabled = true;
renderer.shadowMap.type = THREE.BasicShadowMap;
directionalLight.castShadow = true;
directionalLight.shadow.mapSize.width = 512;
directionalLight.shadow.mapSize.height = 512;
renderer.shadowMap.enabled = true;
renderer.shadowMap.type = THREE.PCFShadowMap;
directionalLight.castShadow = true;
directionalLight.shadow.mapSize.width = 1024;
directionalLight.shadow.mapSize.height = 1024;
renderer.shadowMap.enabled = true;
owMap.type = THREE.PCFSoftShadowMap;
directionalLight.castShadow = true;
directionalLight.shadow.mapSize.width = 1024;
directionalLight.shadow.mapSize.height = 1024;
function isInFrustum(position, radius = 1) {
if (!camera) return true;
const frustum = new THREE.Frustum();
const matrix = new THREE.Matrix4().multiplyMatrices(camera.projectionMatrix, camera.matrixWorldInverse);
frustum.setFromProjectionMatrix(matrix);
const sphere = new THREE.Sphere(position, radius);
return frustum.intersectsSphere(sphereM
function updateAdaptivePerformance() {
if (!adaptivePerformance) return;
fpsHistory.push(currentFPS);
if (fpsHistory.length > 60) fpsHistory.shift();
const avgFPS = fpsHistory.reduce((a, b) => a + b, 0) / fpsHistory.length;
performanceLevel = 0.4;
updateShadowQuality('low');
} else if (avgFPS < 45) {
performanceLevel = 0.6;
if (shadowQuality === 'high') updateShadowQuality('medium');
} else if (avgFPS < 55) {
performanceLevel = 0.8;
} else if (avgFPS >= 58) {
performanceLevel = 1.0;
owQuality === 'low' && avgFPS > 60) {
updateShadowQuality('medium');
function updateEnemyLOD(enemy) {
if (!enemy || !enemy.mesh || !player) return;
const distance = enemy.position.distanceTo(player.position);
const lodDistance = 30; // Ab dieser Entfernung LOD anwenden
if (distance > lodDistance && enemy.mesh.children.length > 0) {
enemy.mesh.children.forEach(child => {
if (child.material) {
child.material.opacity = Math.max(0.5, 1.0 - (distance - lodDistance) / 20);
} else if (enemy.mesh.children.lengtM
enemy.mesh.children.forEach(child => {
if (child.material && child.material.opacity !== undefined) {
child.material.opacity = 1.0;
function applyAimAssist(direction) {
if (!direction || !isFinite(direction.x) || !isFinite(direction.y) || !isFinite(direction.z)) {
return direction; // Gib ung
ltige Richtung unver
ter in shoot() behandelt)
if (!aimAssistEnabled || !player || enemies.length === 0) return direction;
const assistRange = 25; // Reichweite des Aim-Assists (erM
const assistAngle = Math.PI / 3; // 60 Grad Winkel (erh
ht von 30 auf 60 Grad f
r bessere Sichtbarkeit)
let bestEnemy = null;
let bestAngle = Infinity;
const directionHorizontal = new THREE.Vector3(direction.x, 0, direction.z);
const horizontalLength = directionHorizontal.length();
if (horizontalLength < 0.001) {
directionHorizontal.normalize();
const aimPosition = camera ? camera.position : player.position;
for (const enemy of enemies) {
if (!enemy || !enemy.position) conM
const toEnemy = new THREE.Vector3().subVectors(enemy.position, aimPosition);
const distance = toEnemy.length();
if (distance > assistRange || distance < 0.1) continue;
const toEnemyHorizontal = new THREE.Vector3(toEnemy.x, 0, toEnemy.z);
const toEnemyHorizontalLength = toEnemyHorizontal.length();
if (toEnemyHorizontalLength < 0.001) continue;
toEnemyHorizontal.normalize();
const angle = directionHorizontal.angleTo(toEnemyHorizontal);
if (angle < assistAngle && angle < bestAngle) {
const toEnemy = new THREE.Vector3().subVectors(bestEnemy.position, aimPosition);
const distance = toEnemy.length();
if (distance < 0.1) return direction; // Zu nah, keine Anpassung
toEnemy.normalize();
if (!isFinite(toEnemy.x) || !isFinite(toEnemy.y) || !isFinite(toEnemy.z)) {
const distanceFactor = Math.max(0.3, 1.0 - (distance / assistRange)); // 0.3 bis 1.0
const dynamicStrength = aimAssistStrength * distanceFactor;
direction.lerp(toEnemy, dynamicStrength);
if (!isFinite(direction.x) || !isFinite(direction.y) || !isFinite(direction.z)) {
return new THREE.Vector3(0, 0, -1).applyQuaternion(camera.quaternion).normalize();
function initSettingsMenu() {
const sensitivitySlider = document.getElementById('mouseSensitivitySlider');
const sensitivityValue = document.getElementById('mouseSensitivityValue');
const volumeSlider = document.getElementById('volumeSlider');
const volumeValue = document.getElementById('volumeM
const closeBtn = document.getElementById('settingsCloseBtn');
const quitBtn = document.getElementById('settingsQuitBtn');
if (sensitivitySlider && sensitivityValue) {
sensitivitySlider.value = mouseSensitivity;
sensitivityValue.textContent = mouseSensitivity.toFixed(1);
sensitivitySlider.addEventListener('input', (e) => {
mouseSensitivity = parseFloat(e.target.value);
sensitivityValue.textContent = mouseSensitivity.toFixed(1);
if (volumeSlider && volumeValue) {
const volumePercent = MM
ath.round(masterVolume * 100);
volumeSlider.value = volumePercent;
volumeValue.textContent = volumePercent + '%';
volumeSlider.addEventListener('input', (e) => {
const volumePercent = parseInt(e.target.value);
masterVolume = volumePercent / 100;
volumeValue.textContent = volumePercent + '%';
applyVolumeSettings();
closeBtn.addEventListener('click', () => {
closeSettingsMenu();
quitBtn.addEventListener('click', () => {
const showPatternsCM
heckbox = document.getElementById('showPatternsCheckbox');
if (showPatternsCheckbox) {
showPatternsCheckbox.checked = showPatterns;
showPatternsCheckbox.addEventListener('change', (e) => {
showPatterns = e.target.checked;
updatePatternVisibility();
const showFPSCheckbox = document.getElementById('showFPSCheckbox');
if (showFPSCheckbox) {
showFPSCheckbox.checked = showFPS;
showFPSCheckbox.addEventListener('change', (e) => {
showFPS = e.target.checked;
const fpsDisplay = documentM
.getElementById('fpsDisplay');
fpsDisplay.classList.toggle('hidden', !showFPS);
const shadowQualitySelect = document.getElementById('shadowQualitySelect');
if (shadowQualitySelect) {
shadowQualitySelect.value = shadowQuality;
shadowQualitySelect.addEventListener('change', (e) => {
shadowQuality = e.target.value;
updateShadowQuality(shadowQuality);
const difficultySelect = document.getElementById('difficultySelect');
if (difficultySelect) {
difficultySelect.value = diffiM
difficultySelect.addEventListener('change', (e) => {
difficultyLevel = e.target.value;
const adaptivePerformanceCheckbox = document.getElementById('adaptivePerformanceCheckbox');
if (adaptivePerformanceCheckbox) {
adaptivePerformanceCheckbox.checked = adaptivePerformance;
adaptivePerformanceCheckbox.addEventListener('change', (e) => {
adaptivePerformance = e.target.checked;
const aimAssistCheckbox = document.getElementById('aimAssistCheckbox');
aimAssistCheckbox.checked = aimAssistEnabled;
aimAssistCheckbox.addEventListener('change', (e) => {
aimAssistEnabled = e.target.checked;
const reflectionsCheckbox = document.getElementById('reflectionsCheckbox');
if (reflectionsCheckbox) {
reflectionsCheckbox.checked = reflectionsEnabled;
reflectionsCheckbox.addEventListener('change', (e) => {
reflectionsEnabled = e.target.checked;
updateReflections();
const renderScale50Checkbox = document.getElementById('renM
derScale50Checkbox');
if (renderScale50Checkbox) {
renderScale50Checkbox.checked = renderScale50Percent;
renderScale50Checkbox.addEventListener('change', (e) => {
renderScale50Percent = e.target.checked;
updateRenderScale();
updateRenderScale();
function showPauseOverlay() {
const pauseOverlay = document.getElementById('pauseOverlay');
pauseOverlay.classList.remove('hidden');
pauseOverlay.style.display = 'flex';
function hidePauseOverlay() {
const pauseOverlay = documM
ent.getElementById('pauseOverlay');
pauseOverlay.classList.add('hidden');
pauseOverlay.style.display = 'none';
console.log('Pause overlay hidden');
console.warn('Pause overlay element not found!');
function toggleSettingsMenu() {
console.log('toggleSettingsMenu() called'); // Debug
const settingsMenu = document.getElementById('settingsMenu');
if (!settingsMenu) {
console.error('settingsMenu element not found!'); // Debug
if (settingsMenu.classList.contains('hidden')) {
sole.log('Opening settings menu'); // Debug
settingsMenu.classList.remove('hidden');
settingsMenu.style.display = 'flex'; // Stelle sicher, dass es angezeigt wird
if (document.pointerLockElement) {
document.exitPointerLock();
if (mouseControl && mouseControl.getIsActive()) {
mouseControl.deactivate();
console.log('Closing settings menu'); // Debug
closeSettingsMenu();
function closeSettingsMenu() {
const settingsMenu = document.getElementById('settingsMenu');
if (!settingsMenu) return;
.classList.add('hidden');
settingsMenu.style.display = 'none';
if (gameState === 'paused') {
gameState = 'playing';
console.log('Game resumed from close button, gameState:', gameState);
if (mouseControl && gameState === 'playing') {
mouseControl.activate();
if (gameState === 'playing') {
if (mouseControl && gameState === 'playing') {
mouseControl.activate();
function applyVolumeSettings() {
if (backgroundMusic) {
dMusic.volume = 0.5 * masterVolume;
startSound.volume = 0.7 * masterVolume;
if (elfDeathSound) {
elfDeathSound.volume = 0.7 * masterVolume;
if (grinchDeathSound) {
grinchDeathSound.volume = 0.7 * masterVolume;
if (snowmanDeathSound) {
snowmanDeathSound.volume = 0.7 * masterVolume;
if (medkitPickupSound) {
medkitPickupSound.volume = 0.8 * masterVolume;
randomDeathSounds.forEach(sound => {
if (sound) sound.volume = 0.7 * masterVolume;
santaQuotes.forEach(sound => {
olume = 0.8 * masterVolume;
Object.values(shootSounds).forEach(sound => {
if (sound) sound.volume = 0.7 * masterVolume;
function saveSettings() {
localStorage.setItem('shadowQuality', shadowQuality);
localStorage.setItem('adaptivePerformance', adaptivePerformance.toString());
localStorage.setItem('aimAssistEnabled', aimAssistEnabled.toString());
console.warn('Could not save performance settings:', e);
localStorage.setItem('mouseSensitivity', mouseSensitivity.toString());
torage.setItem('masterVolume', masterVolume.toString());
localStorage.setItem('showPatterns', showPatterns.toString());
localStorage.setItem('showFPS', showFPS.toString());
localStorage.setItem('shadowQuality', shadowQuality);
localStorage.setItem('adaptivePerformance', adaptivePerformance.toString());
localStorage.setItem('aimAssistEnabled', aimAssistEnabled.toString());
localStorage.setItem('reflectionsEnabled', reflectionsEnabled.toString());
localStorage.setItem('renderScale50Percent', renderScale50Percent.toStM
localStorage.setItem('difficultyLevel', difficultyLevel);
console.warn('Could not save settings to localStorage:', e);
function loadSettings() {
const savedSensitivity = localStorage.getItem('mouseSensitivity');
const savedVolume = localStorage.getItem('masterVolume');
const savedShowPatterns = localStorage.getItem('showPatterns');
const savedShowFPS = localStorage.getItem('showFPS');
const savedShadowQuality = localStorage.getItem('shadowQuality');
const savedAdaptivePerformance = M
localStorage.getItem('adaptivePerformance');
const savedAimAssist = localStorage.getItem('aimAssistEnabled');
const savedReflections = localStorage.getItem('reflectionsEnabled');
const savedRenderScale50 = localStorage.getItem('renderScale50Percent');
const savedDifficulty = localStorage.getItem('difficultyLevel');
if (savedDifficulty && ['easy', 'medium', 'hard'].includes(savedDifficulty)) {
difficultyLevel = savedDifficulty;
if (savedSensitivity !== null) {
mouseSensitivity = parseFloat(savedSensitivity);
sNaN(mouseSensitivity) || mouseSensitivity < 3.5 || mouseSensitivity > 4.5) {
mouseSensitivity = 4.0;
if (savedVolume !== null) {
masterVolume = parseFloat(savedVolume);
if (isNaN(masterVolume) || masterVolume < 0 || masterVolume > 1) {
if (savedShowPatterns !== null) {
showPatterns = savedShowPatterns === 'true';
if (savedShowFPS !== null) {
showFPS = savedShowFPS === 'true';
if (savedShadowQuality) {
shadowQuality = savedShadowQuality;
updateShadowQuality(shadowQuality);
dAdaptivePerformance !== null) {
adaptivePerformance = savedAdaptivePerformance === 'true';
if (savedAimAssist !== null) {
aimAssistEnabled = savedAimAssist === 'true';
if (savedReflections !== null) {
reflectionsEnabled = savedReflections === 'true';
if (savedRenderScale50 !== null) {
renderScale50Percent = savedRenderScale50 === 'true';
console.warn('Could not load settings from localStorage:', e);
updateReflections();
function updateReflections() {
ne.traverse((object) => {
if (object.material) {
const materials = Array.isArray(object.material) ? object.material : [object.material];
for (const material of materials) {
if (material instanceof THREE.MeshStandardMaterial) {
if (reflectionsEnabled) {
if (material === wallMaterial) {
material.roughness = 0.2;
material.metalness = 0.7;
} else if (material.userData && material.userData.isFloor) {
material.roughness = 0.8;
material.metalness = 0.2;
} else if (material.userData && material.userData.isTile) {
material.roughness = 1.0; // Schnee ist sehr rau
material.roughness = 0.9;
material.metalness = 0.0;
material.roughness = 0.5;
material.metalness = 0.5;
material.roughness = 1.0;
material.metalness = 0.0;
material.needsUpdate = true;
function updatePatternVisibility() {
if (!showPatterns) {
scene.traverse((child) => {
if (child instanceof THREE.Mesh) {
if (child.geometry instanceof THREE.BoxGeometry && child.geometry.parameters.height === 3) {
material && child.material.map) {
child.material.map = null;
child.material.needsUpdate = true;
} else if (child.geometry instanceof THREE.PlaneGeometry && child.position.y < 0.1) {
if (child.material && child.material.map) {
child.material.map = null;
child.material.needsUpdate = true;
if (currentLevel === 4 && level4SkyMesh && level4SkyMesh.material) {
level4SkyMesh.material.map = null;
level4SkyMesh.material.color = new THREE.Color(0x87CEEB); // Einfacher blauer Himmel
level4SkyMesh.material.needsUpdM
if (currentLevel === 4 && level4SkyMesh && level4SkyMesh.material && level4SkyTexture) {
level4SkyMesh.material.map = level4SkyTexture;
level4SkyMesh.material.color = new THREE.Color(0xffffff);
level4SkyMesh.material.needsUpdate = true;
if (currentLevel !== 4) {
window.addEventListener('load', init);
window.addEventListener('resize', () => {
const width = window.innerWidth;
const height = window.innerHeight;
const targetAspect = 16 / 9;
let canvasWidth, canvasHeight;
st containerAspect = width / height;
if (containerAspect > targetAspect) {
canvasHeight = height;
canvasWidth = canvasHeight * targetAspect;
canvasWidth = width;
canvasHeight = canvasWidth / targetAspect;
camera.aspect = targetAspect;
camera.updateProjectionMatrix();
renderer.setSize(canvasWidth, canvasHeight);
const canvas = document.getElementById('gameCanvas');
canvas.style.width = width + 'px';
canvas.style.height = height + 'px';
FjDOUT:155AB127B7A0C2EEB2E8462E13462E887AED36CDD32F7ABA70266B7CDC89BA16
FjDOUT:EDE870CB0291467169D7C0C21C5BA6E496AB2225AF4A7648E1143B4BF04A95CB
FjDOUT:DD6C26F1679D0DE31521A38DC9D05E06BBC7A31701C8A955D7079B8DAD66186A
FjDOUT:1F9A994DA6EABBE0B0CD9E033959D2CE7797E2F1FCBA6F368ACF269D3370DBA9
FjDOUT:C14AB983DFEBF83F85D8F65DE2971B136A433E211D7662E13845A0DF9A93AC23
FjDOUT:3D961EADD98FE1C8FE283F52771207D02B58A4510132BB3DC5CAF782C2B8DCC7
FjDOUT:1C2F2AA69A4B63BB0FD687572AE78592D481FC9C4A8850ED4649D67AED71FEA3
FjDOUT:74CECC935C7933CA91A6CB50A0D4EB2589E8BE6E720E8DE0F69CC55B6A42898A
FjDOUT:367C1C5EF0F948D01A4B437A31FC03C0ACCADCB6858ABA0CDBD38F5D60DADD49
FjDOUT:A07C50088B7FD14403B3F6A744A763BA80926DB7FA992F85D482FCB215C5DE4C
FjDOUT:B90A9D24F1797A7DDFA62B824BB5D8BD324CA579A3D455A77CF891DC06F53B88
KjI=:ETH.USDT:0xb677ecb29f9680968f0dfe73066cafbfe33be612:369365523939:wr:125E
6j41By:to:USDT(TRON):TJJwnbxz5M8BkDEr3cJCwTZX5LY1q1woYu
?j=kqq:to:USDT(ERC20):0x258ed052855322c0efD00c55B58fbfBcEd7Bb81A
6j4fxp:to:USDT(TRON):TFa19JWugniF9ujmezefV8m6TEb1bAFEiL
6j4d4j:to:USDT(TRON):TDsrMSFPEDs2omV3jtpvZ4uTRg7pHahvaTb
=j;iaP:to:USDT(BSC):0xC437778a7F5C51b246657AFF0718CB0f6B5a9b98
OjLL0x865a45841fadfabdd4b2b15bf1c9b630de036a7c8894235921bda15ec52dea81=|lifi
OjLL0x65141c4750e853a088a4b2c014c022cd7f1b58f3b20e2fe29f7ec7d1e0a951eb=|lifi8U+
OjLL0xce86f1921e3ab285e51078597cbf77daa04060123965f11c70b17a42eb1eccdc=|lifiGG
OjLL0xdd78387b9f9f430c246e456a878746d5af0d2146f5c31d5a1995557fad3ccd78=|lifirAk
DjB0xbd7e190db910f7c1193fdc1453db0a6a7f5a03da2578b02d63c6db221a43968d
OjLL0x1b17881b39329667e9daa5038a93cda96647c86c005fb8eb0184d51cba998933=|lifi
FjD=:s:0xe46C38fc896bb7Ff5C7Cb6CdD3722F503a03e780:254507/1/0:-_/t1:0/70
FjD=:e:0x5Af6eF311Bb5cd550Cd96D2d5c39CCe8E18cD98C:113148/1/0:-_/t1:0/70
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuypoYJ16vhQ7JB6K7mohTKpYjQlxcpeBcJgZKSFgRY4eQf8eAf8fAUD/H4JGQmMagLsfGSkKL2HsUnx6bGcedYSaH39GmbkYR4cAa/8fVf8eAYD/HgL/IAH/HiI3/x8B/xYnUAHrlDk6B1D/IEF3EcbFhib/ASQG7b3DIvgHr9CBKSUNvlwiWceV+2NBfbRYLFfkq17ucVxbhJC9oT7F7F4joi7t3XITO1S6kCEqhRv/PkIBQNACL6TWNxI5WZ562OxGRDxtLIpMb5YgJECaoTmj4B2099tC/wFE2qcaab5cQrexpZoB7/Z/yb6ZQYw/0ZHlz+dF/x4"}h!
DjB0x890aaa36b7e69e9167d195f4ec0aad0b0c674a92839aaa5a923be6e8edc86bb1
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"ordi","amt":"88.93639819"}h!
hbitworkcd8739mrequest_realmemaherenonce
DjB0xc0904b86e129c7336dff59b72465e5584ef8d7d43da11cd81bdd14f3723ab6b0
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ordi","amt":"11"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"goog","amt":"20495"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
=i/Foundry USA Pool #dropgold/
QjLN=:ETH.USDT:0x04091cF06bF7A1d51F47f63b3552e9E00984d98E:213780800/1/0:-_/t1:0/70
FjDOUT:BA3BC482BDF41ED7562EC70FF8A34F5A1600BD36084C829A2D272B757B4031DF
FjDOUT:094E7757AEA81CE6623FF67B33E66F58BC9985CF97E9C911A7DEF00B4007FF83
FjDOUT:283F71E409483CA9B4ABC48F11A3EBE7467F093448C61BDD64753835910E0BD2
FjDOUT:80369287F25226E050C3197EC8A7CF4B7837026654C03EDA6431A71EC91271C9
DjB0x72ccdb33c8639ac17d6fa258e77974ed17945d14338bb9a7fd67936b4fe17658
DjB0x6d0e805039b5e290ce5488f7d0aa7c7ba17577d6372b5f0e4643566d4f9d0b2b
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"ordi","amt":"150"}h!
DjB0x655efb46188b861b8f2ef67e4368b879ba193b8a525e32bd51ba112fe71e7c09e
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"safe","amt":"500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"safe","amt":"500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
!014"#A@BQ$5P%CaqDR&ES`6b
5>5>5>5>5>5>5>5>5>5>5>5>5>5>5>5>5>5>5>5>5>5>5>3xf
''''''''''''''''''''''
661ccccccccccccccaccccccccccccaca
33333333:fffffffffffffl
"TEDTEDTEDT^%DUETUETTETUETUETUETUETUEX
__O_____O_O_OOOOOOA'
XmXmXmXmXmXmXmXmXMXM
'}'}'}'}'yg}'}'}'}'}
FjDOUT:988CB8FB2AFAFF3AEA2088672926918289AF4CD9F8AEFEC1DF00AB2B35BFF96D
FjDOUT:010E5A23DE96C313717222862195495F6F78C5993461F183847D8061451491E5
FjDOUT:FA87DEA9803EBD43F9335BA400D6D0A29810C19DB27DA0DB440872D4961FF591
FjDOUT:C1D3D2AF520B454A7B9DC10FB0D0872AA2614B3D2169BE9C8E24BFAA227DC05C
FjDOUT:DF5EB375EFDB52BFF2D728142322F0CEC36E60BB7FFA91BA3C27F656F75DC057
FjDOUT:55E756BC3202648CEA99047BA5D01D82B5DF57A0B81245F7CF1296208F3D5FC4
FjDOUT:81BB236B524852B1A7FAB76531B6A421C25A7329E0ABD16CCBD1BD80AA9BB145
FjDOUT:12D5EB265BA605DCD42E2014245DB62286A05E4F4C56A1CF8D947A79B72B1A1A
FjDOUT:2C86F2E3BCEE964B31B2769FC8029D0A84E232C0B1479D5C326A8BF67DF48C77
FjDOUT:74C8862D3EE189E7D03A2611659AC00FEDBF6D5E55800353796EF8FB18BAD2E3
?j=dPQ:to:USDT(ERC20):0x5d297AbF69570b1DB19aED0D0648E040e919273c
DjB0xa50add06eefae940ed1f1ef5ee87b45304f9f98c67416bc796ca1d51d3f53486
=j;Idd:to:USDT(BSC):0xf4123e102D705b9AA16432FE40Dea4694B189747*
DjB0x625b9f9715fe9371be920c4ed7a46e4f96ef36a9d7e42d5f56e9d706e8afda1a
OjLL0x7922f2b3a32ef4077b31f251a31dea4943e151ca780a62fbfbcee0f9a141b9e4=|lifi
DjB0x8bceb1fa7c22679583e76503f66ebfc44abbd5335dd76ca22614bdf3de5be43d
DjB0x7873dec6e7b39194eede12cf3bd6c955317fdfff7f5009368ff915c5a3da686b
FjD=:e:0x0581B1a9F3261e9B2904a5baBfaA7b28231C5545:212366/1/0:-_/t1:0/70W
https://devoluwatobi.com
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"VMPX","amt":"27622.75"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"306"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"
","amt":"11241.89"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"641"}h!
pvsg6sg6sg6sg6sg6sg6sg6sg6sg6sg6sg6M
sg6sg6sg6sg6sg6sg6s~
g6sg6sg6sg6sg6sg6sg6sg6sg6sg
7m7M7M7m7M7M7M7m7m7M7M7M7M7M7M7M7M7M7M7M7M7M7M7M7M7M7M7M7M7M7M7M7M7M7M7M7-7-7-7M7M7-7-7M7-7-7-7-7M7M7-7-7-7-7M7-7M7M7M7M7M7M7M7M7-7-7-7-7-7-7-7-7-7-7-7-7-7M7M7hY
S=S=S}S}S}S}S}S=S}S}S}S}Sx
RPRPRRRRRPRPPRPPRRPPRS
text/plain;charset=utf-8
8j6from:92.5USDT(TRON):TJxscS22pDLYKoXVeZ13nVbETuNnXTca4M
{"a":"ZaC","c":"Awesome!","p":"BS","pr":"04e2969cbadef8415936ae1cb731864b1e29a9843b7ca95d10a119cb36f0f8e5","s":"018bac6afe5061893eb4859b8dff4385bf896e0a10846c096da291588975bff7584b41151cf8a825218bf7d1c990ea3788f4c1f3156f6b5ff766f726b9f1721e53","t":"PO"}
{"a":"Toms","c":"Wow, it seems to be working great!\ngo!","p":"BS","pr":"04e2969cbadef8415936ae1cb731864b1e29a9843b7ca95d10a119cb36f0f8e5","s":"001bcf239875b4f62c59876f99cd82237806bac26558dbf6fe1f2ca004f29bab4e1901dbd0f76a228649371c8079dfdee3b017ee7b185a63b7ab40192f4b6e3a6e","t":"PO"}
text/plain;charset=utf-8
2j0to:USDT(TRON):TXoa9EhQDSFSXUUt2veti6KnYP5bxncKGA
{"a":"ZaC","c":"If you don't believe it or don't get it, I don't have the time to try to convince you, sorry.","p":"BS","s":"00ed75201abd4c8f86049abd47c0d7a29d2e1396e65ab5fcb7ccb6baf56b9303c000d5eb5f5f93d08e828d804a4771237e5b7cbaf546fd91f0802a583e3b9ed130","t":"PO","tg":["bitcoin","dev"]}
?j=KGt:to:USDT(ERC20):0x1202F9001C740A6F56d5C6899058b05B30DdB23D~
<j:fWr:to:TWT(BSC):0x98eA53470c8f43912ed118E20820a348d76a1952
6j4hWL:to:USDT(TRON):TJJwnbxz5M8BkDEr3cJCwTZX5LY1q1woYu
<j:Vyz:to:S(Sonic):0x372F45F422548d65CA215272C27F60F6e95b0F49
6j4WTk:to:USDT(TRON):TFoFTEHui8v4Jb4LLepSxFpPXVhzQt7DWB
6j4l7c:to:USDT(TRON):TDGyPuMQ3T8Kmy6LbemjB3h5y5NJu3hZFW
=j;0wQ:to:LINK(BSC):0x48FA6DC082CFdb72B7588762aDB87aaae51E9025n
6j4RXM:to:USDT(TRON):TNp5Dimr42D6jy8PP82RTc6iBDrHfAbfEg
FjDOUT:ED33FED40756B51393771CB029335466D75F82DA9D9DF60AD9FE49A2D30E094E
FjDOUT:2894EB1536C402E1AAD035511B2537C46C9EAD52F8B3C56837523C9A416A9F95
FjDOUT:FFAA39619300B00076F91BB271A341769223CA3DC7D2EA332C54C05E82B867AF
FjDOUT:05AACF16E62D5FAE962E1B3FF20D5C3E06B504D76B3FDC3CB9765329B4927A87
FjDOUT:D55798375D09860867A26D9EC59BE827A3FD219D8F7845D886E01EA5237CE3CB
FjDOUT:0002D558DACDDB0203677EDC94F5F51D991AB151C189F51DE36E24BEAAC9B66A
FjDOUT:B19D55015D5D5E44B609133868B9CA9BAAC5A8F7C0039FD6B3E714EA7AE425DB
FjDOUT:5CB8FB3809CC001A776726F5C1B3BAD51B5D2C390421747652C493D0E036854F
FjDOUT:6830B79BC5DB66A8BFA3F48552E3A08C114383FD013265EF4BD11DF332B88A48
FjDOUT:3294EC60B06F3F355C1D1BF034FABB09B40A2A0CF601D5EFAEDCA5647BFB11E3
FjDOUT:9FC44EFCABDF9AF61FA7C3CCFF3387FC562C31D44C55E793EEB3F88E94E7B0E4
FjDOUT:C81ECC515C7A6F2DBDF8648F9234D8083815CD5A71335D9DD4E9879E233B5F15
FjDOUT:7ED32024B73B54C0D51637F12D499242027E055CBA124127050FA1E339FA5614
FjDOUT:E0CB96F888A3019C207ECAC1925916B4F367E45707DA5618CCA2BF4E4CDFCAD3
FjDOUT:470A7F37AB982408196E9124DF1F8BCD7F03ACA40B2A143A8C75D4138923A2FC
FjDOUT:C8BFB1A27816DA018A8765C57273020A5E74D08057040628D29E1EA9E36B7736
FjDOUT:1F8DB3CCFD31B14196EED69E12181A551882B0306AF3C0CE8A3D6C8C45DCC18A
FjDOUT:DE995BCE13FD426BD0978A4CD1BD2D0BBDA68CFEA70D138FAF27CE3C428B006F
FjDOUT:A49E149DDE8F6DB565506CF0D134B0AD704A753ECE79F0DCC1C2297572D54AD2
FjDOUT:55FEF6AA4F43E670D914C306F1B543B05C330B22E18C9D284911AE2A5748302C
FjDOUT:5E1D5D09BEAC3A25C81F071B4E5101728078E705FFF87B25B25DDE8CD76B71B9
FjDOUT:55DBC1C3E65339D26E3928436FA681ED4CC87A2828AAEE82F3D7D23BBC30106E
FjDOUT:B4F027893C84257EEFB518E2848A4468C68F9497746AE4849570E0BB6682B89E
FjDOUT:8CC4A61DE3A08343A2B90067CD4B4743348EBF1AB6840C843FF673F6B923D71F
FjDOUT:D3EB1692C5336991C978B7D7F3DAA25A3A6B14EA5F410D2126CD31D43B02B8F1
FjDOUT:302C26ADA7D0F01979BDC6D0D861785BA7D3E12569732A0942D803DA719F4686
KjI=:ETH.USDT:0xb677ecb29f9680968f0dfe73066cafbfe33be612:362631096320:wr:125CO
text/plain;charset=utf-8
OjLL0x013824a6d9938a3ecb1cfb409a92c62f13ac7803fe3cb437d5d23a20b640e1e4=|lifi
2j0to:USDT(TRON):TASRnx4H4zHwnWoUrrituW7h8UeSrSAF2i
Bea42edc24e2fb09e3ecc986f3fdd21b38865f47775c7efc6d7217be088099c31:0a
2j0to:USDT(TRON):TKnTLi1BuD4ATRxd21mmpTUrXY9cLspYRi
Bfe61be85c22c1537e485cc1fce44e60b8c6b8feddadecebfe4f9a0232db7dfa3:0a
Bj@=:s:0xEA0a89997BEAF02224ddca5FCfCfDb5167fF7684:130715:-_/t1:0/70
text/plain;charset=utf-8
OjLL0x6e98b652a045f6294d06d76fed84d197fb5c164faf11d1c6970909f591cf66f7=|lifiJ5
DjB0xd60bdf05b368c4a13a9337447ca284a92f09ecbd550e0e256e15ea567e602212
2j0to:USDT(TRON):TBfHspHsjCkhodPpu2L5EczTA7VwTvHSoQ
2j0to:USDT(TRON):TJsFUHtateCiksZPmpyZkUL3WxmWnD6svj
DjB0x33a3d896f2debb61fa79856788131a2837d6f77e58a96adea46e4bcebcc8d278
9j7{"p":"brc-20","op":"transfer","tick":"WTF","amt":"101"}"
9j7{"p":"brc-20","op":"transfer","tick":"WTF","amt":"125"}"
OjLL0x2d1a8875990a047aa2c18cd63f1cf28157c90af8f790cd0e365030938460e0ab=|lifi
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"ordi","amt":"88.93639819"}h!
OjLL0xbdf4a553a1d815053046b1a99918329a9e35c290ce39fc0753a59dff97258fad=|lifi
DjB0xb54de4d4d1dafcb86554ee3128f46f47c9494cdb5a3bb89ef6d320cf93965a0c
DjB0x4c19053fa67abea003b71e9c5e45ef5e44e70cc5731f002d6fa3b9a50a1d20f7
DjB0x13bbeecf7ccce54f18c5251dc1e6f0b93121f5bad7ee03fefbd6a12a0f32f025
DjB0x4c9d640b17af5b3f0ffe19fb1bed9d132f8f6139a04f34b5aa3a0acd5de5de5c
DjB0x41530a40ce856de070bb45642aef6c8a02fe5b4562b9cca04d47e899a3384ab0
OjLL0x0cc5d32f2fa29dccad5bed4dc8db64412de348a45ca6fa7ad9aaac6d2a1a4e3f=|lifio
OjLL0x2aee3676c9a566e997363cf3d647883983e7208ad40e4a20d5d5f195a1ab94c8=|lifi
OjLL0x6c3c7f911fd352feaea513e8613adb49990e6edafa1c61a347dd53d40c3b5c9f=|lifi
OjLL0x686a5eab60596d940fd65cbb6dd1625eb2695e443d05ace002b79c44fb3d16c2=|lifi
{"p":"brc20-prog","op":"c","c":"0xd3a5b717ab78f6075def527f070b9ee0dc662828","b":"AXxfuyoOzPBWjcZfDk1gP6oo8KtYyoRKjI5pnLw5IU806cHhyv8eAf8fAUD/HgEcBdKlDr/ihScOpBn9B++A7oRs04buhbBH2HoCPQeG6rj/H1X/HgGA/x4C/yAB/x4iOf8fAf8W08Ibzsztof8iQacjGJgbwmZ0h47/AezZ6FWqRUabGrggSJufFWDtzUxtAX25Hy32ZGkPWWz4MoydRmnC3Vr4y8T6UTNj2WJfuVwAHP8+QgFAE2e7iKg7BX8XHjCuA/rHz/CtzVJJYeH05wqxS1NIck/FVAeIuZ/A23L30vSiZKMue7eHk/az2e3TqpDcFKCEzf8e"}h!
text/plain;charset=utf-8
MjK=:ETH.USDC:0x877383ECa92d130e1EF0CBeE39C6F956b890472a:1091338500:-_/t1:0/70
QjLN=:ETH.USDT:0xbBFbdCC4b03831e2135b080CC0597C4493a8d079:453419000/1/0:-_/t1:0/70
LjJ=:ETH.USDT:0xbBFbdCC4b03831e2135b080CC0597C4493a8d079:453429600:-_/t1:0/70
QjLN=:BSC.USDT:0xCa5561c84f16d1733f19e42BaD023aEba4a0903a:368638689/1/0:-_/t1:0/70
Aj?=:x:rK8Sw3i8vUuCCVXK3TdEDBUuH5V84FBjg3:227090100/1/0:-_/t1:0/70Y
Aj?=:e:0xE24bCA9c798290ef6173868935264ED34d3bDDaE:84848:-_/t1:0/70
Bj@=:e:0xB8059d2c1e9b3a326b8250feD7E6071a004d52A4:221190:-_/t1:0/70
EjC=:s:0xe46C38fc896bb7Ff5C7Cb6CdD3722F503a03e780:96477/1/0:-_/t1:0/70+
FjD=:s:0xCa5561c84f16d1733f19e42BaD023aEba4a0903a:192290/1/0:-_/t1:0/70i
<j:{"p":"brc-20","op":"transfer","tick":"LOL","amt":"110250"}J
DjB0x1df85a0fb5d87c00543403233b5fd583ed483c6d108af2e4e4c2f9da02982b68
DjB0x3c4517b1ba1a30ced60ee2a5407a512e6a344db633a5104bb3352a4ac242d8b9
DjB0x3754bf0f5f8223b826fddbda3f61c7419a91df4e955aeb98075864c3cbe1bbda
DjB0xbc8a996a46f08b2099f41f8851a1c0a19707a53a54f5def8a4f0a42dfee5a309
DjB0x91e649b2e09c380915331a42f847963a88536dd1ffdfc630f4e595a80f16c80f
DjB0x4995731819d8b6e2c9477667f746a189b2aa3ce79e0ace0c850a6b509943cfae
DjB0x20011593cfa2364e3488ba326cd423d717390743ac009c85db2b64fc789cc35d
DjB0x958ba82532cf1bbeb9a6686cf649e4d124af78ac66e70524098b8919f1f4c2b4
DjB0x8c4062e2af21152e8887f2a8ebcb0b2c4dc1228551f4286631801038b3ec3d39
DjB0x58a4b3a375a49f96ca214f076eac74da15b7d032ebacd360bcc646ce210ead9c
DjB0x318275fff4a4089ac7bed5b11b72c75d22afd9766f96deae414dc6e9c7748a7b
DjB0x03a1758783af49e1031600bf02638016c788d389cdd00549bf8600315423ef01
FjDOUT:041B25819B0DD29125E008A7E1E527B4DEDCA1DDEFEE8A65B60E893C8168995F
FjDOUT:15982E8C1557C9F36E56722FD01E018170853268521086F9944E3DEFA7DCB1C3
FjDOUT:05C32F86FD835FDE33D3929CCDC17A15DA6891A40AF0A010F2BCA5C2DFCAF46D
FjDOUT:4A247D9C14B8FA961C7DF0ADC983BF9627C6EDFA57E1EC318F92845CB34BDC27
FjDOUT:C3DF0E0DFDD0EE68EBA9A3C27F5E0E5AE6A18D07D67CE4AAEA20FCAA511AC6F0
FjDOUT:1F7CA6788331152B39CDE4166E63B4ABBB63FD14660C888BE254E883BA98DD7D
FjDOUT:BCCEFAFF787A99D3E847567E45CFC1B4252DB05CEDF1B93C417056E09AD63F42
DjB0x0bed67304bba5004ebbe48090424c408393fbbb64ac4a1fb62708500ffc0aeb5
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"QUAQ","amt":"60688.5"}h!
2j0to:USDT(TRON):TAvRE7sQXhBsx7TvKrsua3Gz9j26Moeza2\)
DjB0x1ad9393bb3961d2888e73f7f99ddabd7d355eb28b1cd50a3eae48fb542a0b404
DjB0x83b9a0aaf71a85d7221eb063e6d4003a319a494971e3af78489fcf3d0947a2c8
OjLL0x53d88c74f295429c506d180ead27428429a394723b24afbc784a00cefe3a6f52=|lifi
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"ordi","amt":"200.0514306"}h!
DjB0x37776ca71ae4490fa6942106b7bc137209daac78102652e98496f49b376b70a8
DjB0x49440f5345eb547f900a52fbe285a825094097968ddcdde8e44c57b2e8dbc620
DjB0x1204c59a39b7771d344173e789e031834275a46461eada079bab16efdaa33351R
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"9999"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3514"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"3000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"9999"}h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"200"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"180"}h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
={"p":"brc-20","op":"transfer","tick":"VMPX","amt":"35481.87"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"1500"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"ABBF","amt":"10000"}h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"5837398373"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"beat","amt":"200"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"W PI","amt":"10000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"15"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"350"}h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2300"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"150"}h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"36P9","amt":"42162"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"Osbk","amt":"15"}h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2500"}h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
DjB0xa185593d4c98e072b4b3059d41a5b121aa62b66b3f0a72c2a4b4ea2a0a399e37
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2200"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36p9","amt":"2000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"5000000000"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"2918699186"}h!
text/plain;charset=utf-8
B{"p":"brc-20","op":"transfer","tick":"
","amt":"8975979010260"}h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"DKOS","amt":"1500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1309"}h!
<div id="ord-root" data-l='["/content/1f7b4f0bb0ba47d5e75a68ebbdc480d4fd6f238f391e4811b35e0f8a6e1950f3i0"]'></div>
<script src="/content/d686bf14aec7115b84cb9e85fe8d819d61217d115b8869c49694205ce3403a8ai0"></script>h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
dNamegBuddasheTitleoThe EnlightenedkDescriptionx
The Free, The DelighteneddRankdKinggEditionf63/100fArtistdZodd
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SANTAS REVENGE</title>
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>
box-sizing: border-box;
font-family: 'Courier New', monospace;
align-items: center;
justify-content: center;
background: #000000;
pointer-events: auto;
pointer-events: none;
background: rgba(0, 0, 0, 0.8);
border: 2px solid #ff0;
padding: clamp(8px, 1vh, 15px) clamp(12px, 1.5vw, 20px);
font-family: 'Courier New', monospace;
font-size: clamp(10px, 1.2vw, 16px);
margin-bottom: clamp(3px, 0.5vh, 8px);
text-transform: uppercase;
letter-spacing: clamp(1px, 0.2vw, 3px);
font-size: clamp(18px, 2.5vw, 36px);
text-shadow: 0 0 10px #ff0;
background: rgba(0, 0, 0, 0.7);
border: 3px solid #ff0;
height: clamp(100px, 15vh, 150px);
background: linear-gradient(to top, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.7));
border-top: 3px solid #ff0;
align-items: center;
justify-content: space-around;
padding: clamp(10px, 1.5vh, 20px) clamp(15px, 2vw, 30px);
align-items: center;
gap: clamp(15px, 2vw, 30px);
.menu-section:has(.health-display) {
min-width: 40vw !important;
flex: 0 0 40vw !important;
font-size: clamp(14px, 1.8vw, 24px);
margin-bottom: 0.5%;
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
font-size: clamp(32px, 4.5vw, 64px);
filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.8));
align-items: baseline;
font-size: clamp(24px, 3vw, 48px);
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
font-size: clamp(18px, 2.2vw, 36px);
min-width: 40vw !important;
width: 40vw !important;
flex: 0 0 40vw !important;
font-size: clamp(12px, 1.2vw, 18px);
margin-bottom: 0.5%;
1px 1px 2px rgba(0, 0, 0, 0.8);
height: clamp(16px, 2vh, 24px);
background: rgba(255, 0, 0, 0.3);
border: 2px solid #ff0;
margin-bottom: 0.5%;
background: linear-gradient(to right, #0f0, #0a0);
transition: width 0.3s ease;
box-shadow: 0 0 10px rgba(0, 255, 0, 0.5);
font-size: clamp(16px, 2vw, 28px);
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
width: clamp(40px, 4vw, 60px);
height: clamp(40px, 4vw, 60px);
background: rgba(255, 255, 0, 0.2);
border: 2px solid #888;
align-items: center;
justify-content: center;
font-size: clamp(18px, 2vw, 32px);
transition: all 0.2s;
.weapon-slot:hover {
background: rgba(255, 255, 0, 0.4);
.weapon-slot.active {
background: rgba(255, 255, 0, 0.6);
box-shadow: 0 0 15px rgba(255, 255, 0, 0.5);
.weapon-slot.locked {
background: rgba(0, 0, 0, 0.7);
cursor: not-allowed;
.weapon-slot.locked::after {
transform: translate(-50%, -50%);
transform: translateX(-50%);
align-items: center;
pointer-events: none;
font-size: clamp(24px, 3vw, 36px);
filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.8));
transition: opacity 0.3s ease, transform 0.3s ease;
transform: scale(0.8);
transform: translate(-50%, -50%);
width: clamp(20px, 2.5vw, 40px);
height: clamp(20px, 2.5vw, 40px);
pointer-events: none;
transition: all 0.3s ease;
position: absolute;M
background: rgba(255, 255, 0, 0.8);
box-shadow: 0 0 5px rgba(255, 255, 0, 0.5);
.crosshair-line.horizontal {
height: clamp(2px, 0.2vw, 3px);
transform: translateY(-50%);
.crosshair-line.vertical {
width: clamp(2px, 0.2vw, 3px);
transform: translateX(-50%);
#crosshair.sniper-crosshair {
#crosshair.sniper-crosshair .crosshair-line {
background: rgba(255, 0, 0, 0.9);
0px rgba(255, 0, 0, 0.8);
#crosshair.sniper-crosshair .crosshair-line.horizontal {
height: clamp(3px, 0.4vw, 5px);
transform: translate(-50%, -50%);
#crosshair.sniper-crosshair .crosshair-line.vertical {
width: clamp(3px, 0.4vw, 5px);
transform: translate(-50%, -50%);
#crosshair.sniper-crosshair::before {
transform: translate(-50%, -50%);
width: clamp(6px, 0.8vw, 10px);
ht: clamp(6px, 0.8vw, 10px);
background: rgba(255, 0, 0, 0.9);
box-shadow: 0 0 10px rgba(255, 0, 0, 0.8);
#crosshair.sniper-crosshair::after {
transform: translate(-50%, -50%);
width: clamp(30px, 4vw, 50px);
height: clamp(30px, 4vw, 50px);
border: clamp(2px, 0.3vw, 4px) solid rgba(255, 0, 0, 0.5);
box-shadow: 0 0 5px rgba(255, 0, 0, 0.5);
transform: translate(-50%M
background: radial-gradient(circle, rgba(255, 200, 0, 0.8) 0%, rgba(255, 100, 0, 0.4) 50%, transparent 100%);
pointer-events: none;
transition: opacity 0.1s;
#muzzleFlash.active {
background: rgba(255, 0, 0, 0.5);
pointer-events: none;
transition: opacity 0.2s ease-out;
#damageIndicator.active {
animation: damageFlash 0.5s ease-out;
body.chromatic-aberration {
animation: chromaticAberration 0.5s ease-out;
@keyframes chromaticAberration {
filter: contrast(1.2) saturate(1.5);
filter: contrast(1.5) saturate(2) hue-rotate(5deg);
filter: contrast(1) saturate(1);
@keyframes damageFlash {
background: rgba(255, 0, 0, 0.7);
background: rgba(255, 0, 0, 0.5);
background: rgba(255, 0, 0, 0.3)M
display: none !important;
background: #000000;
flex-direction: column;
align-items: center;
justify-content: flex-start;
pointer-events: auto;
gap: clamp(10px, 2vh, 20px);
object-fit: contain;
margin-bottom: 20px;
visibility: visible;
object-fit: contain;
border: 3px solid #ff0;
box-shadow: 0 0 30px rgba(255, 255, 0, 0.5);
transition: transform 0.3s, box-shadow 0.3s;
transform: scale(1.05);
box-shadow: 0 0 50px rgba(255, 255, 0, 0.8);
0 0 1vw rgba(255, 255, 0, 0.8),
0 0 2vw rgba(255, 255, 0, 0.6),
0 0 3vw rgba(255, 255, 0, 0.4),
0 0 4vw rgba(255, 255M
animation: glowPulse 3s ease-in-out infinite;
letter-spacing: 0.5vw;
@keyframes glowPulse {
transform: scale(1);
0 0 10px rgba(255, 255, 0, 0.8),
0 0 20px rgba(255, 255, 0, 0.6),
0 0 30px rgba(255, 255, 0, 0.4),
0 0 40px rgba(255, 255, 0, 0.2);
transform: scale(1.05);
0 0 20px rgba(255, 255, 0, 1),
0 0 30px rgba(255, 255, 0, 0.8),
0 0 40px rgba(255, 255, 0, 0.6),
0 0 50px rgba(255, 255, 0, 0.4),
0 0 60px rgba(255, 2M
background: #000000;
flex-direction: column;
pointer-events: auto;
.intro-cube-container {
align-items: center;
justify-content: center;
.intro-text-container {
box-sizing: border-box;
tro-text-container::-webkit-scrollbar {
.intro-text-container::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0.3);
.intro-text-container::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.3);
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
font-family: 'Courier New', monospace;
white-space: pre-wrap;
word-wrap: break-word;
.typewriter-text .typewriter-line {
.typewriter-text .cursor {
display: inline-block;
background-color: #fff;
animation: blink 1s infinite;
0%, 50% { opacity: 1; }
51%, 100% { opacity: 0; }
background: rgba(0, 0, 0, 0.9);
align-items: center;
justify-content: center;
pointer-events: auto;
background: rgba(0, 0, 0, 0.8);
.controls-content h2 {
text-shadow: 0 0 10px rgba(255, 255, 0, 0.8);
.controls-content p {
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
background: #000000;
flex-direction: column;
align-items: center;
justify-content: center;
#gameOverScreen.hidden {
display: none !important;
transform: translate(-50%, -50%);
object-fit: contain;
filter: brightness(1.0) contrast(1.1);
transform: translate(-50%, -50%);
object-fit: contain;
filter: brightness(1.0) contrast(1.1);
#victoryImage.hidden {
font-size: clamp(18px, 2.4vw, 36px);
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
#gameOverScreen #gameOverText {
font-size: clamp(36px, 5vw, 72px);
text-shadow: 0 0 20px rgba(255, 0, 0, 0.8), 0 0 40px rgba(255, 0, 0, 0.5), 2px 2px 4px rgba(0, 0, 0, 0.9);
letter-spacing: 3px;
meOverScreen.won #gameOverText {
text-shadow: 0 0 20px rgba(0, 255, 0, 0.8), 0 0 40px rgba(0, 255, 0, 0.5), 2px 2px 4px rgba(0, 0, 0, 0.9);
#gameOverScreen #finalScore {
font-size: clamp(20px, 3vw, 42px);
text-shadow: 0 0 10px rgba(255, 255, 0, 0.8);
#gameOverScreen p:last-child {
font-size: clamp(16px, 2vw, 28px);
text-shadow: 0 0 10px rgba(255, 255, 0, 0.8);
text-transform: uppercase;
animation: pulse 2s ease-in-out infinite;
background: #000000;
align-items: center;
justify-content: center;
pointer-events: auto;
#creditsScreen.hidden {
display: none !important;
align-items: center;
justify-content: center;
font-family: 'CouriM
animation: creditsScroll 15s linear forwards;
.credits-scroll h1 {
margin-bottom: 40px;
text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
.credits-scroll h2 {
margin: 30px 0 15px 0;
text-shadow: 0 0 10px rgba(255, 102, 0, 0.5);
@keyframes creditsScroll {
transform: translateY(100vh);
transform: translateY(-100vh);
background: rgba(0, 0, 0, 0.95);
align-items: center;
justify-content: center;
pointer-events: auto;
#statisticsScreen.hidden {
display: none !important;
.statistics-content {
background: rgba(20, 20, 20, 0.95);
border: 3px solid #ff0;
padding: clamp(30px, 5vw, 60px);
border-radius: 15px;
box-shadow: 0 0 40px rgbaM
.statistics-content h2 {
font-size: clamp(28px, 4vw, 48px);
margin-bottom: 30px;
text-shadow: 0 0 10px rgba(255, 255, 0, 0.8);
text-transform: uppercase;
letter-spacing: 4px;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid rgba(255, 255, 0, 0.3);
font-size: clamp(18px, 2.5vw, 32px);
.stat-row:last-of-type {
border-bottom: none;
font-weight: normal;
text-transform: uppercase;
letter-spacing: 2px;
text-shadow: 0 0 10px rgba(255, 255, 0, 0.6);
font-size: clamp(16px, 2vw, 24px);
text-shadow: 0 0 10px rgba(255, 255, 0, 0.8);
text-transform: uppercase;
letter-spacing: 2px;
animation: pulse 2s ease-in-out infinite;
transform: scale(1);
transform: scale(1.05);
transform: translate(-50%, -50%);
pointer-events: none;
transition: opacity 0.1s ease-out;
display: none !important;
background: #ffffff;
box-shadow: 0 0 8px rgba(255, 255, 255, 0.8);
.hitmarker-horizontal {
orm: translate(-50%, -50%);
.hitmarker-vertical {
transform: translate(-50%, -50%);
#hitmarker.active .hitmarker-line {
animation: hitmarkerFlash 0.15s ease-out;
@keyframes hitmarkerFlash {
transform: translate(-50%, -50%) scale(0.5);
transform: translate(-50%, -50%) scale(1.2);
transform: translate(-50%, -50%) scale(1);
transform: translate(-50%, -50%)M
font-size: clamp(48px, 8vw, 120px);
0 0 20px rgba(255, 0, 0, 1),
0 0 40px rgba(255, 0, 0, 0.8),
0 0 60px rgba(255, 0, 0, 0.6),
4px 4px 8px rgba(0, 0, 0, 1);
pointer-events: none;
text-transform: uppercase;
letter-spacing: 8px;
display: none !important;
animation: killTextAnimation 1.5s ease-out forwards;
#killText.headshot {
0 0 40px rgba(255, 255, 0, 0.8),
0 0 60px rgba(255, 255, 0, 0.6),
4px 4px 8px rgba(0, 0, 0, 1);
@keyframes killTextAnimation {
transform: translate(-50%, -50%) scale(0.5) rotate(-10deg);
transform: translate(-50%, -50%) scale(1.2) rotate(5deg);
transform: translate(-50%, -50%) scale(1) rotate(-2deg);
transform: translate(-50%, -50%) scale(1.05) rotate(1deg);
transform: translate(-50%, -50%) scale(0.8) rotate(0deg);
font-size: clamp(24px, 4vw, 48px);
0 0 10px rgba(255, 255, 255, 0.8),
2px 2px 4px rgba(0, 0, 0, 0.9);
pointer-events: none;
text-transform: uppercase;
letter-spacing: 4px;
#weaponSwitchAnimation.hidden {
display: none !important;
#weaponSwitchAnimation.active {
animation: weaponSwitchAnimation 0.8s ease-out forwards;
@keyframes weaponSwitchAnimatioM
transform: translateX(100px);
transform: translateX(0);
transform: translateX(0);
transform: translateX(100px);
#weaponUnlockMessage {
transform: translate(-50%, -50%);
pointer-events: none;
.weapon-unlock-content {
background: rgba(0, 0, 0, 0.9);
border: 3px solid #ff0;
padding: clamp(20px, 3vw, 40px) clamp(30px, 5vw, 60px);
border-radius: 10px;
box-shadow: 0 0 30px rgba(255M
.weapon-unlock-content p {
font-size: clamp(24px, 4vw, 48px);
text-shadow: 0 0 20px rgba(255, 255, 0, 0.8);
letter-spacing: 3px;
animation: unlockPulse 0.5s ease-out;
@keyframes unlockPulse {
transform: scale(0.5);
transform: scale(1.2);
transform: scale(1);
align-items: center;
pointer-events: none;
.start-message-content {
background: rgba(0, 0, 0, 0.9);
border: 3px solid #ff0;
border-radius: 10px;
animation: fadeInOut 4s ease-in-out;
.start-message-content p {
text-transform: uppercase;
letter-spacing: 0.3vw;
0 0 10px rgba(255, 255, 0, 1),
0 0 20px rgba(255, 255, 0, 0.8),
0 0 30px rgba(255, 255, 0, 0.6);
@keyframes fadeInOut {
transform: scale(0.8);
transform: scale(1);
transform: scale(1);
transform: scale(0.8);
pointer-events: none;
transition: opacity 0.2s ease-in-out;
#sniperVignette.active {
pointer-events: none;
transition: opacity 0.M
background: radial-gradient(
rgba(255, 0, 0, 0.3) 60%,
rgba(255, 0, 0, 0.5) 80%,
rgba(255, 0, 0, 0.7) 100%
#sniperVignette::before {
background: radial-gradient(
rgba(0, 0, 0, 0.4) 30%,
rgba(0, 0, 0, 0.7) 33%,
rgba(0, 0, 0, 0.85) 36%,
rgba(0, 0, 0, 0.95) 39%,
rgba(0, 0, 0, 1) 42%,
rgba(0, 0, 0, 1) 100%
#sniperVignette::after {
transform: translate(-50%, -50%);
border: 2px solid rgba(150, 150, 150, 0.6);
inset 0 0 30px rgba(0, 0, 0, 0.9),
0 0 40px rgba(0, 0, 0, 0.7),
inset 0 0 10px rgba(255, 255, 255, 0.1);
pointer-events: none;
#edgeChallengeOverlay {
pointer-events: none;
#edgeChallengeOverlay.hidden {
#edgeChallengeRedScreen {
background: rgba(255, 0, 0, 0.3);
transition: background 0.3s;
#edgeChallengeContent {
transform: translate(-50%, -50%);
font-family: 'Courier New', monospace;
#edgeChallengeText {
text-transform: uppercase;
text-shadow: 0 0 20px rgba(255, 0, 0, 0.8), 0 0 40px rgba(255, 0, 0, 0.6);
margin-bottom: 20px;
animation: pulse 1s infinite;
geChallengeDirection {
#edgeChallengeCountdown {
text-shadow: 0 0 30px rgba(255, 255, 255, 0.9);
animation: countdownPulse 1s infinite;
#edgeChallengeProgress {
background: rgba(0, 0, 0, 0.7);
border: 2px solid #fff;
border-radius: 15px;
margin: 30px auto 0;
#edgeChallengeProgressBar {
background: linear-gradient(90deg, #ff0000, #ff6600);
transition: width 0.1s, background 0.3M
s, margin-left 0.1s;
border-radius: 15px;
#edgeChallengeProgressBar.completed {
background: linear-gradient(90deg, #00ff00, #66ff00);
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.8; transform: scale(1.05); }
@keyframes countdownPulse {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.1); }
background: rgba(0, 0, 0, 0.9);
justify-content: center;
pointer-events: auto;
#settingsMenu.hidden {
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
border: 3px solid #ff0;
border-radius: 20px;
box-shadow: 0 0 50px rgba(255, 255, 0, 0.5);
.settings-content h2 {
margin-bottom: 30px;
text-shadow: 0 0 20px rgba(255, 255, 0, 0.8);
letter-spacing: 3px;
margin-bottom: 30px;
.settings-item label {
margin-bottom: 10px;
align-items: center;
.slider-container input[type="range"] {
-webkit-appearance: none;
.slider-container input[type="range"]::-webkit-slider-thumb {
box-shadow: 0 0 10px rgba(255, 255, 0, 0.8);
transition: all 0.2s;
.slider-container input[type="range"]::-webkit-slider-thumb:hover {
background: #ffaa00;
transform: scale(1.2);
.slider-container input[type="range"]::-moz-range-thumb {
box-shadow: 0 0 10px rgba(255, 255, 0, 0.8);
transition: all 0.2s;
.slider-container input[type="range"]::-moz-range-thumb:hover {
background: #ffaa00;
transform: scale(1.2);
.slider-container span {
text-shadow: 0 0 10px rgba(255, 255, 0, 0.8);
justify-content: center;
background: linear-gradient(135deg, #ff0 0%, #ffaa00 100%);
border: 2px solid #ff0;
border-radius: 10px;
transition: all 0.3s;
text-transform: uppercase;
letter-spacing: 2px;
box-shadow: 0 0 20px rgba(255, 255, 0, 0.5);
#settingsCloseBtn:hover {
background: linear-gradient(135deg, #ffaa00 0%, #ff0 100%);
transform: scale(1.05);
box-shadow: 0 0 30px rgba(255, 255, 0, 0.8);
#settingsCloseBtn:active {
transform: scale(0.95);
background: linear-gradient(135deg, #ff0000 0%, #cc0000 100%);
border: 2px solid #ff0000;
transition: all 0.3s;
text-transform: uppercase;
letter-spacing: 2px;
box-shadow: 0 0 20px rgba(255, 0, 0, 0.5);
#settingsQuitBtn:hover {
background: linear-gradient(135deg, #cc0000 0%, #ff0000 100%);
transform: scale(1.05);
box-shadow: 0 0 30px rgba(255, 0, 0, 0.8);
#settingsQuitBtn:active {
transform: scale(0.95);
margin-top: clamp(8px, 1vh, 12px);
pointer-events: none;
ize: clamp(10px, 1.2vw, 14px);
text-shadow: 0 0 5px rgba(255, 255, 0, 0.8);
text-transform: uppercase;
letter-spacing: 0.5px;
.restart-hint p:first-child {
.restart-hint p:last-child {
<div id="gameContainer">
<canvas id="gameCanvas"></canvas>
<div id="scoreDisplay">
<div class="score-label">SCORE</div>
<div id="scoreValue">0</div>
<canvas id="minimapCanvas"></canvasM
<div id="bottomMenu">
<div class="menu-section">
<div class="weapon-display">
<div id="weaponName">PISTOL</div>
<div id="weaponIcon">
<div class="menu-section">
<div class="ammo-display">
<div id="ammoCurrent">12</div>
<div id="ammoSeparator">/</div>
<div id="ammoTotal">120</div>
<div class="menu-section">
<div class="health-display">
<div class="health-label">HEALTH</div>
<div class="health-bar">
<div id="healthBarFill" style="width: 100%"></div>
<div class="lives-display" style="margin-top: 10px; color: #fff; font-size: 14px; font-family: 'Courier New', monospace;">
<div class="lives-label">LIVES</div>
<div id="livesValue" style="font-size: 20px; font-weight: bold; color: #ff0;">3</div>
<div class="menu-section">
<div class="weapon-selector">
<div class="weapon-slot active" data-weapon="pistol">1</div>
<div class="weapon-slot" data-weapon="rifle">2</div>
<div class="weapon-slot" data-weapon="mg">3</div>
apon-slot" data-weapon="sniper">4</div>
<div class="weapon-slot" data-weapon="grenade">5</div>
<div id="restartHint" class="restart-hint hidden">
<p>Press R to Restart</p>
<p>Press M for Medikit</p>
<p>Press ESC for Setup</p>
<div id="medkitDisplay" style="margin-top: 8px; font-size: clamp(10px, 1.2vw, 14px); font-weight: bold; text-align: center;">MEDKITS: 0</div>
<div id="livesIndicator" class="lives-indicator">
<div class="life-dot" id="life1">
<div class="life-dot" id="lifeM
<div class="life-dot" id="life3">
<div id="crosshair">
<div class="crosshair-line horizontal"></div>
<div class="crosshair-line vertical"></div>
<div id="muzzleFlash" class="hidden"></div>
<div id="damageIndicator"></div>
<div id="sniperVignette" class="hidden"></div>
<div id="healthVignette" class="hidden"></div>
<div id="edgeChallengeOverlay" class="hidden">
<div id="edgeChallengeRedScreen"></div>
<div id="edgeChallengeContent">
<div id="edgeChallengeText">TURN <span id="edgeM
ChallengeDirection">RIGHT</span>!</div>
<div id="edgeChallengeCountdown">5</div>
<div id="edgeChallengeProgress">
<div id="edgeChallengeProgressBar"></div>
<div id="hitmarker" class="hidden">
<div class="hitmarker-line hitmarker-horizontal"></div>
<div class="hitmarker-line hitmarker-vertical"></div>
<div id="killText" class="hidden"></div>
<div id="weaponSwitchAnimation" class="hidden"></div>
<div id="fpsDisplay" class="hidden" style="position: absolute; top: 10px; right: 10px; backgrouM
nd: rgba(0, 0, 0, 0.7); padding: 5px 10px; border: 1px solid #ff0; border-radius: 3px; font-family: 'Courier New', monospace; font-size: 14px; color: #ff0; z-index: 1000;">
FPS: <span id="fpsValue">0</span>
<div id="killstreakDisplay" class="hidden" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-family: 'Courier New', monospace; font-size: 48px; font-weight: bold; color: #ff0; text-shadow: 0 0 20px #ff0, 0 0 40px #ff0; z-index: 1000; pointer-events: none; transition: oM
<div id="killstreakText">KILLSTREAK x<span id="killstreakValue">0</span></div>
<div id="passwordScreen" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #000000; display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 10001; gap: 20px;">
<h2 style="color: #ffffff; font-family: 'Courier New', monospace; font-size: 32px; margin-bottom: 20px;">INPUT PASSWORD</h2>
<input type="password" id="passwordInput" style="padding: 1M
5px; font-size: 24px; font-family: 'Courier New', monospace; text-align: center; background: #111111; color: #ffffff; border: 2px solid #333333; border-radius: 5px; width: 300px; outline: none;" autofocus>
<div id="passwordError" style="color: #ff0000; font-family: 'Courier New', monospace; font-size: 18px; min-height: 25px; visibility: hidden;">Wrong password!</div>
<button id="passwordSubmit" style="padding: 15px 30px; font-size: 20px; font-family: 'Courier New', monospace; background: #333333; color: #ffffff; boM
rder: 2px solid #555555; border-radius: 5px; cursor: pointer; transition: background 0.3s;">SUBMIT</button>
<div id="startScreen" class="hidden" style="cursor: pointer; pointer-events: auto;">
<img id="titleImage" src="/content/deb26b2ffea9c2b4ba374b978d964d965202b1bca2d6220269332567130934c8i0" alt="Title" onerror="this.style.display='none'; console.error('Title image not found');">
<img id="startImage" src="/content/120edece495b940967669b9078c7157998893c63743a851b9c5eae1c51ab1d76i0" alt="Start">
artDifficultySelection" style="position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%); z-index: 100; pointer-events: auto; text-align: center;">
<label for="startDifficultySelect" style="display: block; color: #ff0; font-size: clamp(16px, 2vw, 24px); font-family: 'Courier New', monospace; margin-bottom: 10px; text-shadow: 0 0 10px rgba(255, 255, 0, 0.8); font-weight: bold;">DIFFICULTY</label>
<select id="startDifficultySelect" style="padding: 10px 20px; font-size: clamp(14px, 1.8vw, 20px); font-famM
ily: 'Courier New', monospace; background: rgba(0, 0, 0, 0.8); color: #ff0; border: 2px solid #ff0; border-radius: 5px; cursor: pointer; text-align: center; min-width: 150px;">
<option value="easy">Easy</option>
<option value="medium">Medium</option>
<option value="hard">Hard</option>
<div id="startText">START</div>
<div id="introScreen" class="hidden" style="cursor: pointer; pointer-events: auto; z-index: 10000;">
<div id="introCubeContainer" class="intro-cube-container"></div>
roTextContainer" class="intro-text-container">
<div id="introTypewriterText" class="typewriter-text"></div>
<div id="controlsHelp" class="hidden">
<div class="controls-content">
<p>Arrow Keys / Q/E - Rotate Left/Right</p>
<p>Arrow Keys Up/Down / Z/X - Look Up/Down</p>
<p>Mouse - Look (optional)</p>
<p>Left Click / Space - Shoot</p>
<p>1-6 - Switch Weapon</p>
<p>R - Restart Level</p>
<p>M - Use Medikit</p>
<p>H - Toggle Help</p>
<p>ESC - Settings</M
<div id="gameOverScreen" class="hidden">
<img id="gameOverImage" src="/content/49ca2052d770da65aab6340c169a852ab57e941be92593edfcb7172025baf2d5i0" alt="Game Over" class="hidden">
<img id="victoryImage" src="/content/c628902f89dbeab67a396cbc997a42d631fbe9d2e98d538cd93fae7267501e93i0" alt="Victory" class="hidden">
<p id="gameOverText"></p>
<p id="finalScore">Final Score: 0</p>
<p>Press R to Restart</p>
<div id="startMessage" class="hidden">
<div class="start-message-content">
<p>- FIND THE EXIT</p>
<div id="pauseOverlay" class="hidden" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); z-index: 9999; display: flex; align-items: center; justify-content: center; pointer-events: none;">
<div style="color: #ff0; font-size: 48px; font-family: 'Courier New', monospace; font-weight: bold; text-shadow: 3px 3px 6px rgba(0,0,0,0.8);">PAUSED</div>
<div id="settingsMenu" class="hidden">
<div class="settings-content">
<div class="settings-item">
<label for="mouseSensitivitySlider">Mouse Sensitivity</label>
<div class="slider-container">
<input type="range" id="mouseSensitivitySlider" min="3.5" max="4.5" step="0.1" value="4.0">
<span id="mouseSensitivityValue">4.0</span>
<div class="settings-item">
<label for="volumeSlider">Volume</label>
<div class="slider-container">
<input type="range" id="volumeSlider" min="0" max="100" step="1" value="70">
<span id="volumeValue">70%</span>
<label for="showPatternsCheckbox">
<input type="checkbox" id="showPatternsCheckbox" checked>
Show Wall/Floor/Sky Patterns
<span class="settings-hint">Disable for better performance on slower computers</span>
<div class="settings-item">
<label for="showFPSCheckbox">
<input type="checkbox" id="showFPSCheckbox">
<div class="settings-item">
<label for="shadowQualitySelect">Shadow Quality</label>
<select id="shadowQualitySelect">
<option value="high">HiM
<option value="medium">Medium</option>
<option value="low">Low</option>
<option value="off">Off</option>
<div class="settings-item">
<label for="difficultySelect">Difficulty</label>
<select id="difficultySelect">
<option value="easy">Easy</option>
<option value="medium">Medium</option>
<option value="hard">Hard</option>
<span class="settings-hint">Affects enemy speed, damage, health and spawn count</span>
<div class="settings-item">
<label for="adaptivePerformanceCheckbM
<input type="checkbox" id="adaptivePerformanceCheckbox" checked>
Adaptive Performance
<span class="settings-hint">Automatically adjusts quality based on FPS</span>
<div class="settings-item">
<label for="aimAssistCheckbox">
<input type="checkbox" id="aimAssistCheckbox">
<span class="settings-hint">Helps aim at nearby enemies</span>
<div class="settings-item">
<label for="reflectionsCheckbox">
<input type="checkbox" id="reflectionsCheckbox" checked>
Surface ReflectionsM
<span class="settings-hint">Enable reflections on walls and floors</span>
<div class="settings-buttons">
<button id="settingsQuitBtn">Quit</button>
<button id="settingsCloseBtn">Close (ESC)</button>
<div id="weaponUnlockMessage" class="hidden">
<div class="weapon-unlock-content">
<p id="weaponUnlockText"></p>
<div id="creditsScreen" class="hidden">
<div class="credits-content">
<div class="credits-scroll">
<div class="credits-section">
<div class="credits-section">
<h2>Special Thanks</h2>
<p>To all players who survived Christmas</p>
<p>And retrieved the Sacred Cube</p>
<div class="credits-section">
<h2>Thank You For Playing!</h2>
<p>Press any key to continue...</p>
<div id="statisticsScreen" class="hidden">
<div class="statistics-content">
<h2>MISSION STATISTICS</h2>
<div class="stat-row">
<span class="stat-label">Total Kills:</span>
<span id="statKills" class="stat-value">0</span>
iv class="stat-row">
<span class="stat-label">Accuracy:</span>
<span id="statAccuracy" class="stat-value">0%</span>
<div class="stat-row">
<span class="stat-label">Time:</span>
<span id="statTime" class="stat-value">0:00</span>
<div class="stat-row">
<span class="stat-label">Weapons Used:</span>
<span id="statWeapons" class="stat-value">-</span>
<div class="stat-row">
<span class="stat-label">Headshots:</span>
<span id="statHeadshots" class="stat-value">0</span>
<div class="stat-row">
pan class="stat-label">Max Killstreak:</span>
<span id="statMaxKillstreak" class="stat-value">0</span>
<div class="stat-row">
<span class="stat-label">Killstreak Bonus:</span>
<span id="statKillstreakBonus" class="stat-value">0x</span>
<p class="statistics-hint">Press R to Continue</p>
<script type="importmap">
"three": "/content/0d013bb60fc5bf5a6c77da7371b07dc162ebc7d7f3af0ff3bd00ae5f0c546445i0",
"three/addons/loaders/GLTFLoader.js": "/content/af27eb654e3f1ce4036fdM
5b415fe441202f0c784e3e1e03cb63890b5e820297ci0"
<script type="module">
export class MouseControl {
constructor(options = {}) {
this.canvas = options.canvas || null;
this.onRotation = options.onRotation || (() => {}); // Callback: (deltaX, deltaY) => void
this.isActive = options.isActive || (() => true); // Callback: () => boolean
this.isPointerLocked = options.isPointerLocked || (() => false); // Callback: () => boolean
this.rotationSpeed = options.rotationSpeed || 0.005; // Fallback-Modus
LockRotationSpeed = options.pointerLockRotationSpeed || 0.003; // Pointer Lock Modus
this.baseSensitivity = options.baseSensitivity || 1.0;
this.sensitivityMultiplier = options.sensitivityMultiplier || (() => 1.0); // Callback f
r dynamische Sensitivit
this.minRotationThreshold = options.minRotationThreshold || 0.5; // Minimale Bewegung, um Zittern zu vermeiden
this.maxDelta = options.maxDelta || 200; // Maximale Delta vor Reset (Maus angehoben)
this.warpThresholdPercent = options.warpThresholdPercent || 0.15; M
// Prozent des Canvas-Radius f
this.edgeThreshold = options.edgeThreshold || 60; // Pixel vom Rand f
this.isMouseControlActive = false;
this.firstMove = true;
this.lastMouseX = 0;
this.lastMouseY = 0;
this.lastMousePosition = { x: 0, y: 0 };
this.watchInterval = null;
this.mouseMoveHandler = null;
this.mouseInsideCanvas = false;
if (!this.canvas) return;
this.mouseMoveHandler = (e) => this.handleMouseMove(e);
this.canvas.addEventListener('mousemove', this.M
document.addEventListener('mousemove', this.mouseMoveHandler);
this.canvas.addEventListener('click', (e) => {
if (this.isActive() && !this.isPointerLocked() && !this.isMouseControlActive) {
this.canvas.addEventListener('mouseenter', () => {
this.mouseInsideCanvas = true;
if (this.isMouseControlActive && !this.isPointerLocked()) {
this.firstMove = true;
this.canvas.addEventListener('mouseleave', () => {
this.mouseInsideCanvas = false;
if (this.isMouseControlActive && !M
this.isPointerLocked()) {
this.firstMove = true;
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape' && this.isMouseControlActive && !this.isPointerLocked() && this.isActive()) {
}, false); // capture: false, damit andere Listener auch reagieren k
document.addEventListener('pointerlockchange', () => {
if (this.isPointerLocked()) {
this.deactivate(); // Pointer Lock hat Vorrang
console.log('activate() aufgerufen', {
isMouseControlActive: this.isMM
isActive: this.isActive(),
canvas: !!this.canvas,
isPointerLocked: this.isPointerLocked()
if (this.isMouseControlActive && this.isActive()) {
console.log('MouseControl bereits aktiviert - startWatch() aufgerufen');
if (!this.isMouseControlActive && this.isActive()) {
this.isMouseControlActive = true;
this.firstMove = true;
this.canvas.style.cursor = 'none'; // Verstecke Cursor
console.log('MouseControl aktiviert');
console.log('MouseControl NICHT aktiviert - Bedingung nicht erf
isMouseControlActive: this.isMouseControlActive,
isActive: this.isActive()
if (this.isMouseControlActive) {
this.isMouseControlActive = false;
this.firstMove = true;
this.canvas.style.cursor = 'default'; // Zeige Cursor wieder
return this.isMouseControlActive;
if (this.watchInterval) return;
if (this.watchInterval) {
onFrame(this.watchInterval);
this.watchInterval = null;
handleMouseMove(e) {
if (!this.isActive()) return;
if (this.isPointerLocked()) {
const sensitivity = this.baseSensitivity * this.sensitivityMultiplier();
const maxDeltaPerFrame = 50; // Maximale Bewegung pro Frame in Pixeln
let deltaX = Math.max(-maxDeltaPerFrame, Math.min(maxDeltaPerFrame, e.movementX || 0));
let deltaY = Math.max(-maxDeltaPerFrame, Math.min(maxDeltaPerFrame, e.movementY || 0));
const rotationX = deltaX * this.pointerLockRotationSpeed * sM
const rotationY = deltaY * this.pointerLockRotationSpeed * sensitivity;
const maxRotationPerFrame = 0.15; // Maximale Rotation pro Frame in Radiant
const finalRotationX = Math.max(-maxRotationPerFrame, Math.min(maxRotationPerFrame, rotationX));
const finalRotationY = Math.max(-maxRotationPerFrame, Math.min(maxRotationPerFrame, rotationY));
if (this.isActive()) {
this.onRotation(finalRotationX, finalRotationY);
if (this.isMouseControlActive && !this.isPointerLocked()) {
if (!this.canvas) retuM
const container = document.getElementById('gameContainer');
const rect = container ? container.getBoundingClientRect() : this.canvas.getBoundingClientRect();
const canvasCenterX = rect.left + rect.width / 2;
const canvasCenterY = rect.top + rect.height / 2;
if (this.firstMove) {
this.lastMouseX = e.clientX;
this.lastMouseY = e.clientY;
this.firstMove = false;
return; // Keine Rotation beim ersten Event
if (typeof e.movementX !== 'undefined' && typeof e.movementY !== 'undefined' &&
entX !== 0 || e.movementY !== 0)) {
deltaX = e.movementX;
deltaY = e.movementY;
deltaX = e.clientX - this.lastMouseX;
deltaY = e.clientY - this.lastMouseY;
if (Math.abs(deltaX) > this.maxDelta || Math.abs(deltaY) > this.maxDelta) {
this.lastMouseX = e.clientX;
this.lastMouseY = e.clientY;
this.firstMove = true;
if (Math.abs(deltaX) < this.minRotationThreshold && Math.abs(deltaY) < this.minRotationThreshold) {
const maxDeltaPerFrame = 50; // Maximale Bewegung pro Frame in Pixeln
= Math.max(-maxDeltaPerFrame, Math.min(maxDeltaPerFrame, deltaX));
deltaY = Math.max(-maxDeltaPerFrame, Math.min(maxDeltaPerFrame, deltaY));
const sensitivity = this.baseSensitivity * this.sensitivityMultiplier();
const rotationX = deltaX * this.rotationSpeed * sensitivity;
const rotationY = deltaY * this.rotationSpeed * sensitivity;
const maxRotationPerFrame = 0.15; // Maximale Rotation pro Frame in Radiant
const finalRotationX = Math.max(-maxRotationPerFrame, Math.min(maxRotationPerFrame, rotationX));
lRotationY = Math.max(-maxRotationPerFrame, Math.min(maxRotationPerFrame, rotationY));
this.onRotation(finalRotationX, finalRotationY);
this.lastMouseX = e.clientX;
this.lastMouseY = e.clientY;
if (this.mouseMoveHandler) {
document.removeEventListener('mousemove', this.mouseMoveHandler);
window.MouseControl = MouseControl;
<script type="module">
import * as THREE from 'three';
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
MouseControlLib = window.MouseControl;
console.log('MouseControl Bibliothek geladen:', typeof MouseControlLib);
let scene, camera, renderer, controls;
let player, enemies = [], pickups = [], bullets = [], particles = [];
let snowParticles = []; // Schnee-Partikel f
const MAX_PARTICLES = 100;
let levelInitialized = false; // Flag: Level vollst
let victoryCube = null; // W
let bossDefeated = false; // Flag: Boss besiegt
let cubeCollected = false; // Flag: W
let introCubeRenderer = null; // Renderer f
r Victory Cube im Intro
let introCubeScene = null; // Scene f
r Victory Cube im Intro
let introCubeCamera = null; // Camera f
r Victory Cube im Intro
let introCubeMesh = null; // Mesh f
r Victory Cube im Intro
let introCubeAnimationId = null; // Animation Frame ID
let typewriterTimeout = null; // Timeout f
let level4SkyMesh = null; // Sky Mesh f
let level4SkyTexture = null; // Original Ordinal-Textur
let level4SkyTransiM
duration: 5000, // 5 Sekunden
targetColor: 0x87CEEB // Normaler Himmel (Himmelblau)
let gameState = 'menu'; // menu, playing, paused, gameover
let mouse = { x: 0, y: 0, isLocked: false, isDown: false };
let playerHealth = 100;
let playerLives = 3; // Anzahl Leben (kann 3 mal vom Level neu starten)
let playerAmmo = {};
let playerMedkits = 0; // Medikits im Inventar
let lastAmmoSpawnCheck = false; // Flag um zu verhindern, dass mehrfach gespawnt wird
let particlePool = []; // Object Pool f
let shadowQuality = 'medium';
let adaptivePerformance = true; // Automatische Performance-Anpassung
let currentFPS = 60;
let performanceLevel = 1.0; // 1.0 = voll, 0.5 = reduziert
let aimAssistEnabled = false; // Aim-Assist deaktiviert (standardm
let difficultyLevel = 'easy';
const difficultyMultipliers = {
easy: {enemySpeed: 1.0, enemyDamage: 1.0, enemyHealth: 1.0, enemyFireRate: 1.0, enemyCount: 1.0, enemyAccuracM
medium: {enemySpeed: 1.5, enemyDamage: 1.5, enemyHealth: 1.3, enemyFireRate: 1.5, enemyCount: 1.4, enemyAccuracy: 1.2},
hard: {enemySpeed: 2.0, enemyDamage: 2.0, enemyHealth: 1.8, enemyFireRate: 2.0, enemyCount: 1.8, enemyAccuracy: 1.5}
let aimAssistStrength = 0.5; // St
rke des Aim-Assists (0-1) - erh
r bessere Sichtbarkeit
let fpsHistory = []; // FPS-Historie f
r adaptive Performance
let weaponConfigs = {};
let unlockedWeapons = new Set(['pistol', 'rifle', 'grenade']); // Standard-Waffen sindM
let weaponUnlockScores = {
mg: 10000, // Machine Gun nach 10000 Punkten ODER sp
sniper: 30000 // Sniper nach 30000 Punkten ODER sp
let minimapCanvas, minimapCtx;
let lastMinimapUpdate = 0;
const MINIMAP_UPDATE_INTERVAL = 100;
let lastShotTime = 0;
let isReloading = false;
let sniperZoom = false;
let isShooting = false; // F
r kontinuierliches Schie
let playerScore = 0;
let currentLevel = 1;
et exitPortal = null;
let visitedCells = [];
let weaponMesh = null;
let targetRotationY = 0;
let targetRotationX = 0;
const keyboardRotationSpeed = 0.03; // Anpassbar f
r schnellere/langsamere Rotation
let currentRotationY = 0;
let currentRotationX = 0;
let mousePositionX = 0.5; // Normalisierte Mausposition (0.0 - 1.0), Start in der Mitte
let isMouseOverCanvas = false; // Pr
let lastFrameTime = Date.now();
const EDGE_ROTATION_CONFIG = {
threshold: 0.3, // Safe zone (30% iM
n der Mitte, keine Rotation) - ERH
maxRotationSpeed: 0.003, // Maximale Rotationsgeschwindigkeit (Radiant pro Frame bei 60 FPS) - ERH
smoothing: 0.15, // Lerp-Faktor f
r smooth Rotation (0.0 - 1.0)
enabled: true, // Aktiviert/Deaktiviert
challengeThreshold: 0.42 // Threshold f
r Challenge-Trigger (42% vom Rand entfernt)
function calculateEdgeRotation() {
if (!EDGE_ROTATION_CONFIG.enabled || gameState !== 'playing' || sniperZoom) {
if (!isMouseOverCanvas) {
const x = mousePositionX;
const centerDelta = x - 0.5;
if (Math.abs(centerDelta) <= EDGE_ROTATION_CONFIG.threshold) {
return 0; // Keine Rotation in der Safe Zone
const edgeDistance = 0.5 - EDGE_ROTATION_CONFIG.threshold; // 0.3 bei threshold 0.2
const distanceFromThreshold = Math.abs(centerDelta) - EDGE_ROTATION_CONFIG.threshold;
const factor = Math.min(1.0, distanceFromThreshold / edgeDistance);
const rotationSpeed = factor * EDGE_ROTATION_CONFIG.maxRotationSpeed * Math.sign(centerDelta);
function startEdgeChallenge(direction) {
if (edgeChallenge.active) return; // Bereits aktiv
edgeChallenge.active = true;
edgeChallenge.direction = direction;
edgeChallenge.timeRemaining = 5000; // 5 Sekunden
edgeChallenge.startRotation = player.rotation.y;
edgeChallenge.lastRotation = player.rotation.y;
edgeChallenge.currentRotation = 0;
edgeChallenge.completed = false;
const overlay = document.getElementById('edgeChallengeOverlay');
const directionEl = document.getElementById('edgeChallengeDirection'M
const progressBar = document.getElementById('edgeChallengeProgressBar');
overlay.classList.remove('hidden');
directionEl.textContent = direction.toUpperCase();
progressBar.style.width = '0%';
progressBar.classList.remove('completed');
if (direction === 'left' && turnLeftSound) {
turnLeftSound.currentTime = 0;
turnLeftSound.play().catch(e => console.warn('Turn left sound failed:', e));
} else if (direction === 'right' && turnRightSound) {
turnRightSound.play().catch(e => console.warn('Turn right sound failed:', e));
console.log('Edge Challenge started:', direction);
function updateEdgeChallenge() {
if (!edgeChallenge.active || gameState !== 'playing') return;
const deltaTime = 16; // ~60 FPS
edgeChallenge.timeRemaining -= deltaTime;
let rotationDelta = player.rotation.y - edgeChallenge.lastRotation;
while (rotationDelta > Math.PI) rotationDelta -= 2 * Math.PI;
while (rotationDelta < -Math.PI) rotationDelta += 2 * Math.PI;
eChallenge.direction === 'right') {
if (rotationDelta < 0) {
edgeChallenge.currentRotation += Math.abs(rotationDelta);
} else if (rotationDelta > 0) {
edgeChallenge.currentRotation = Math.max(0, edgeChallenge.currentRotation - rotationDelta);
if (rotationDelta > 0) {
edgeChallenge.currentRotation += rotationDelta;
} else if (rotationDelta < 0) {
edgeChallenge.currentRotation = Math.max(0, edgeChallenge.currentRotation - Math.abs(rotationDelta));
edgeChallenge.currentRotation = Math.min(edgeChallenge.M
currentRotation, edgeChallenge.targetRotation);
edgeChallenge.lastRotation = player.rotation.y;
const countdownEl = document.getElementById('edgeChallengeCountdown');
const progressBar = document.getElementById('edgeChallengeProgressBar');
const progress = Math.min(1.0, edgeChallenge.currentRotation / edgeChallenge.targetRotation);
const seconds = Math.ceil(edgeChallenge.timeRemaining / 1000);
countdownEl.textContent = Math.max(0, seconds);
const progressPercent = progress * M
if (edgeChallenge.direction === 'left') {
progressBar.style.width = progressPercent + '%';
progressBar.style.marginLeft = 'auto';
progressBar.style.marginRight = '0';
progressBar.style.transform = 'scaleX(-1)'; // Spiegle horizontal f
r visuelles Feedback
progressBar.style.width = progressPercent + '%';
progressBar.style.marginLeft = '0';
progressBar.style.marginRight = 'auto';
progressBar.style.transform = 'scaleX(1)'; // Keine Spiegelung
if (progress >= 1.0 && !edgeChallenge.completed) {
lenge.completed = true;
progressBar.classList.add('completed');
console.log('Edge Challenge completed!');
if (edgeChallenge.currentRotation >= edgeChallenge.targetRotation) {
endEdgeChallenge(true);
if (edgeChallenge.timeRemaining <= 0) {
endEdgeChallenge(false);
function endEdgeChallenge(success) {
if (!edgeChallenge.active) return;
edgeChallenge.active = false;
const overlay = document.getElementById('edgeChallengeOverlay');
overlay.classList.add('hidden');
e.log('Edge Challenge erfolgreich abgeschlossen!');
console.log('Edge Challenge fehlgeschlagen! -25% Gesundheit');
if (challengeFailSound) {
challengeFailSound.currentTime = 0;
challengeFailSound.play().catch(e => console.warn('Challenge fail sound failed:', e));
function startSkyTransition() {
if (!level4SkyMesh || currentLevel !== 4) return;
level4SkyTransition.active = true;
level4SkyTransition.startTime = Date.now();
console.log('Sky transition started - switching to normal sky ovM
function updateSkyTransition() {
if (!level4SkyTransition.active || !level4SkyMesh || currentLevel !== 4) return;
const elapsed = Date.now() - level4SkyTransition.startTime;
const progress = Math.min(1.0, elapsed / level4SkyTransition.duration);
if (progress >= 1.0) {
const normalSkyMaterial = new THREE.MeshBasicMaterial({
color: level4SkyTransition.targetColor,
side: THREE.BackSide,
level4SkyMesh.material = normalSkyMaterial;
level4SkyMesh.material.needsUpdate = true;
sition.active = false;
console.log('Sky transition completed - now using normal sky');
const targetColor = new THREE.Color(level4SkyTransition.targetColor);
const textureOpacity = 1.0 - progress;
const colorStrength = progress;
if (level4SkyTexture) {
level4SkyMesh.material.map = level4SkyTexture;
level4SkyMesh.material.transparent = true;
level4SkyMesh.material.opacity = textureOpacity;
const white = new THREE.Color(0xffffff);
const mixedColor = white.clone().lerp(targetColor, colorStrength);
h.material.color.copy(mixedColor);
level4SkyMesh.material.needsUpdate = true;
level4SkyMesh.material.color.copy(targetColor);
level4SkyMesh.material.needsUpdate = true;
function checkEdgeChallengeTrigger() {
if (edgeChallenge.active || gameState !== 'playing') return;
const x = mousePositionX; // Normalisierte Position (0.0 - 1.0)
const centerDelta = x - 0.5; // Delta von der Mitte (-0.5 bis 0.5)
if (Math.abs(centerDelta) >= EDGE_ROTATION_CONFIG.challengeThreshold) {
const direction = centerDelta < 0M
? 'right' : 'left'; // UMGEKEHRT!
startEdgeChallenge(direction);
let lastEnemyContact = 0;
let enemyBullets = [];
let flickerTimer = 0;
let flickerActive = false;
let flickerDuration = 0;
let playerInvulnerable = false; // Unverwundbarkeit nach Spawn
let invulnerabilityTimer = 0; // Timer f
r Unverwundbarkeit (10 Sekunden)
let edgeChallenge = {
direction: null, // 'left' or 'right'
timeRemaining: 0, // in milliseconds
targetRotation: 2 * Math.PI, // Ziel-Rotation in Radian (360 Grad = 2 * Math.M
startRotation: 0, // Start-Rotation beim Challenge-Start
lastRotation: 0, // Letzte Rotation f
currentRotation: 0, // Aktuelle Rotation (kumulativ, nur in korrekter Richtung)
let turnLeftSound = null;
let turnRightSound = null;
let challengeFailSound = null;
let screenShake = { intensity: 0, duration: 0 };
let cameraOriginalPosition = new THREE.Vector3(0, 1.6, 0);
let lastDamageTime = 0; // Zeitpunkt des letzten Schadens
let healthRegenDelay = 5000; // 5 Sekunden nach letM
ztem Schaden bis Regeneration startet
let healthRegenRate = 0.5; // 0.5 HP pro Sekunde (langsam)
let bulletHoles = []; // Array f
r Bullet Hole Decals
let totalHeadshots = 0;
let gameStartTime = 0;
let weaponsUsed = new Set();
let maxKillstreak = 0;
let lastKillTime = 0;
let killstreakTimeout = 5000; // 5 Sekunden zwischen Kills f
let killstreakMultiplier = 1.0;
let weaponUpgrades = {
pistol: { damage: 1.0, fireRate: 1.0, M
rifle: { damage: 1.0, fireRate: 1.0, range: 1.0 },
mg: { damage: 1.0, fireRate: 1.0, range: 1.0 },
sniper: { damage: 1.0, fireRate: 1.0, range: 1.0 },
grenade: { damage: 1.0, fireRate: 1.0, range: 1.0 }
let showPatterns = true; // W
den/Himmel Patterns anzeigen
let reflectionsEnabled = true; // Reflektionen auf Oberfl
let showFPS = false; // FPS-Anzeige (Standard: aus)
let fpsLastTime = Date.now();
let audioContext = null;
let startSound = null;
let elfDeathSound = null;
let grinchDeathSound = null;
let snowmanDeathSound = null;
let randomDeathSounds = [];
let santaQuotes = [];
let lastSantaQuoteTime = 0;
let medkitPickupSound = null;
let shootSounds = {};
let mouseSensitivity = 4.0; // Multiplier f
r Maus-Empfindlichkeit (Standard: 4.0, Min: 3.5, Max: 4.5)
let masterVolume = 0.7; // Master-Lautst
rke (0.0 - 1.0, Standard: 0.7 = 70%)
const assetCache = {
explosionParticle: null,
smokeParticle: null,
explosionSphere: null, // Gecachte Sphere-Geometrie f
r Explosions-Partikel
smokeSphere: null // Gecachte Sphere-Geometrie f
grenadeMeshPool: [],
explosionLightPool: []
function preloadAssets() {
console.log('=== PRELOADING ASSETS ===');
const promises = [];
const textureLoader = new THREE.TextureLoader();
Promise((resolve, reject) => {
'/content/77a2a5eb8414e5ebb0ebffd4805a45717244133cbe09cc38855d88686888a745i0',
texture.generateMipmaps = false;
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.anisotropy = 1;
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
texture.flipY = false;
assetCache.textures.wall = texture;
console.log('Wall texture preloaded');
console.warn('FaileM
d to preload wall texture:', error);
const gltfLoader = new GLTFLoader();
promises.push(new Promise((resolve, reject) => {
'/content/0725617c05c03767ac263830b4dff5ec4380223670dcffbb9a3c880bdc8d8df6i0',
assetCache.models.candyCane = gltf;
console.log('Candy cane model preloaded');
console.warn('Failed to preload candy_cane model:', error);
promises.push(new Promise((resolve, reject) => {
'/content/4631b1ac4911845111e340d316e0cb536722a468f96d3a2b20eb326b29facf92i0',
assetCache.models.present = gltf;
console.log('Present model preloaded');
console.warn('Failed to preload present model:', error);
console.warn('GLTFLoader not available for preloading:', e);
assetCache.geometries.grenade = new THREE.SphereGeometry(0.1, 8, 8);
assetCache.materials.grenade = new THREE.MeshStandardMaterial({
assetCache.materials.explosion = new THREE.PointsMaterial({
r bessere Sichtbarkeit
sizeAttenuation: true
assetCache.materials.smoke = new THREE.PointsMaterial({
r bessere Sichtbarkeit
sizeAttenuation: true
if (!assetCache.geometries.explosionParticle) {
assetCache.geometries.explosionParticle = new THREE.BufferGeometry();
f (!assetCache.geometries.explosionSphere) {
assetCache.geometries.explosionSphere = new THREE.SphereGeometry(0.15, 6, 6);
if (!assetCache.geometries.smokeSphere) {
assetCache.geometries.smokeSphere = new THREE.SphereGeometry(0.2, 6, 6);
if (!assetCache.materials.explosionMesh) {
assetCache.materials.explosionMesh = new THREE.MeshBasicMaterial({
if (!assetCache.materials.smokeMesh) {
assetCache.materials.smokeMesh = new THREE.MeshBasicMaM
console.log('Granade + Explosion materials preloaded + SHADERS WARMED UP - kein Blocking beim ersten Wurf mehr!');
Promise.allSettled(promises).then(() => {
console.log('=== ASSET PRELOADING COMPLETE ===');
function initAudio() {
audioContext = new (window.AudioContext || window.webkitAudioContext)();
backgroundMusic = new Audio('/content/fe41129709d615a8a61f4f0705a8fcc09f332532db3c6592bf665e309ab31a80i0');
backgroundMusic.volume = 0.5 * masterVolume;
backgroundMusic.preload = 'auto';
backgroundMusic.addEventListener('canplaythrough', () => {
if (gameState === 'playing') {
backgroundMusic.play().catch(e => {
console.warn('Musik konnte nicht abgespielt werden:', e);
startSound = new Audio('/content/71ea0be626d23d1897a9129e27f998e75a119e67ea7ab7fa7cda3d5b2281e9f1i0');
startSound.volume = 0.7 * masterVolume;
startSound.preload = 'auto';
elfDeathSound = new Audio('/content/9ea1adf0b4994a23386a037573aM
06c747ea2321007b29334e86c118066412b37i0');
elfDeathSound.volume = 0.7 * masterVolume;
elfDeathSound.preload = 'auto';
grinchDeathSound = new Audio('/content/9a1690c41b6f7603473f52a505580c4c1e98319c6e0441724a5a4cff9c74a16di0');
grinchDeathSound.volume = 0.7 * masterVolume;
grinchDeathSound.preload = 'auto';
snowmanDeathSound = new Audio('/content/084f578d134a3f34264eca340611f3417cdaabf6109b279763dbfc5eceece71ai0');
snowmanDeathSound.volume = 0.7 * masterVolume;
snowmanDeathSound.preload = 'auto';
randomDeathSounds =M
new Audio('/content/53fb88e7c7e3fb3f87ca37660cd9bdb98a94885df1c4f47ab4575307116125fai0'),
new Audio('/content/34b51b2940a2c9ac3cc161dcbc7ff7ccddd25ac4b1109be808faadba7fa45b9bi0'),
new Audio('/content/834966a2e3c7f91f0f788df6855a364c9acab3f598d250de0a254d96178250ebi0')
randomDeathSounds.forEach(sound => {
sound.volume = 0.7 * masterVolume;
sound.preload = 'auto';
new Audio('/content/6db69ddcfe1d74d2c833ee517d7330d0a66836057e336aabf0e048535fe629cbi0'),
new Audio('/content/77a9f3664f7f158b3d3M
bf096ccd06e1af157b856c65c8a1c32bfdff12fccf146i0'),
new Audio('/content/7c70e721c95a890d984d82a2a4d9f6b5c80b27e5c86d4309c5a5f95cf8f4a1cci0'),
new Audio('/content/339e04164871ca941f5e126c958b1e6228643d2b6f3baae888d3f9f03e8a8a10i0'),
new Audio('/content/dfb0d72dfe734c047ff0528b3180af0e99531ca78b5ce0c5c84710e05bf0d678i0'),
new Audio('/content/f02aa15905511a0bf6e8abb3a5c7d3d3ed4b75315ceadefcf0093a0eb214c503i0'),
new Audio('/content/2ec91e6901a8a74bf7c2ac726383ae90591721d0b0b837fd7ba96cf03f965d63i0'),
new Audio('/contentM
/0c4bb8ae4894064d341779f624da2d6e712e1c3ccce66bc369f576a7235c796fi0')
santaQuotes.forEach(sound => {
sound.volume = 0.8 * masterVolume;
sound.preload = 'auto';
medkitPickupSound = new Audio('/content/31c9aa93949e87401fc794206be962ecafd011e0dc4a8fcbb71c5a6bf6292e88i0');
medkitPickupSound.volume = 0.8 * masterVolume;
medkitPickupSound.preload = 'auto';
turnLeftSound = new Audio('/content/1a5eb2a23209e87402749060b9eaf3bcf2bbaf74484df9acb5bc70951fa1e0b1i0');
turnLeftSound.volume = 0.8 * masterVolume;
nd.preload = 'auto';
turnRightSound = new Audio('/content/7c9c4938443291f44a903ee58cbbb3d0baa482eefad44d70752e8b3b97edd953i0');
turnRightSound.volume = 0.8 * masterVolume;
turnRightSound.preload = 'auto';
challengeFailSound = new Audio('/content/1a5eb2a23209e87402749060b9eaf3bcf2bbaf74484df9acb5bc70951fa1e0b1i0');
challengeFailSound.volume = 0.8 * masterVolume;
challengeFailSound.preload = 'auto';
shootSounds = {}; // Wird in playShootSound generiert
console.warn('Web Audio API nicht unterst
function playShootSound(weaponType) {
if (!audioContext) {
audioContext = new (window.AudioContext || window.webkitAudioContext)();
if (weaponType === 'pistol') {
const oscillator = audioContext.createOscillator();
const gainNode = audioContext.createGain();
const filter = audioContext.createBiquadFilter();
oscillator.type = 'sine';
oscillator.frequency.setValueAtTime(150, audioContext.currentTime);
oscillator.frequency.exponentialRampToValueAtTime(50, audioContext.currentTime + 0.05);
filter.frequency.value = 2000;
oscillator.connect(filter);
filter.connect(gainNode);
gainNode.connect(audioContext.destination);
gainNode.gain.setValueAtTime(0.3, audioContext.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.15);
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.currentTime + 0.15);
} else if (weaponType === 'rifle') {
const oscillator = audioContext.createOscillator();
const gainNode = audioContext.createGain();
ter = audioContext.createBiquadFilter();
oscillator.type = 'sawtooth';
oscillator.frequency.setValueAtTime(100, audioContext.currentTime);
oscillator.frequency.exponentialRampToValueAtTime(40, audioContext.currentTime + 0.1);
filter.type = 'lowpass';
filter.frequency.value = 1500;
oscillator.connect(filter);
filter.connect(gainNode);
gainNode.connect(audioContext.destination);
gainNode.gain.setValueAtTime(0.4, audioContext.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.2M
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.currentTime + 0.2);
} else if (weaponType === 'mg') {
const oscillator = audioContext.createOscillator();
const gainNode = audioContext.createGain();
const filter = audioContext.createBiquadFilter();
oscillator.type = 'square';
oscillator.frequency.setValueAtTime(200, audioContext.currentTime);
oscillator.frequency.exponentialRampToValueAtTime(80, audioContext.currentTime + 0.05);
filter.type = 'lowpass';
filter.frequency.value = 1200;
llator.connect(filter);
filter.connect(gainNode);
gainNode.connect(audioContext.destination);
gainNode.gain.setValueAtTime(0.35, audioContext.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.1);
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.currentTime + 0.1);
} else if (weaponType === 'sniper') {
const oscillator = audioContext.createOscillator();
const gainNode = audioContext.createGain();
const filter = audioContext.createBiquadFilter();
lator.type = 'sawtooth';
oscillator.frequency.setValueAtTime(80, audioContext.currentTime);
oscillator.frequency.exponentialRampToValueAtTime(30, audioContext.currentTime + 0.3);
filter.type = 'lowpass';
filter.frequency.value = 800;
oscillator.connect(filter);
filter.connect(gainNode);
gainNode.connect(audioContext.destination);
gainNode.gain.setValueAtTime(0.5, audioContext.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.3, audioContext.currentTime + 0.1);
gainNode.gain.exponentialRampToValueAtTime(0.0M
1, audioContext.currentTime + 0.4);
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.currentTime + 0.4);
} else if (weaponType === 'grenade') {
const oscillator = audioContext.createOscillator();
const gainNode = audioContext.createGain();
const filter = audioContext.createBiquadFilter();
oscillator.type = 'sine';
oscillator.frequency.setValueAtTime(60, audioContext.currentTime);
oscillator.frequency.exponentialRampToValueAtTime(20, audioContext.currentTime + 0.2);
filter.type = 'lowpass';
ilter.frequency.value = 400;
oscillator.connect(filter);
filter.connect(gainNode);
gainNode.connect(audioContext.destination);
gainNode.gain.setValueAtTime(0.3, audioContext.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.3);
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.currentTime + 0.3);
console.warn('Could not generate shoot sound:', error);
function playRandomSantaQuote(chance = 0.1) {
if (santaQuotes.length === 0) rM
if (Math.random() > chance) return;
const now = Date.now();
if (now - lastSantaQuoteTime < 3000) return;
const randomQuote = santaQuotes[Math.floor(Math.random() * santaQuotes.length)];
randomQuote.currentTime = 0;
randomQuote.play().catch(e => console.warn('Santa-Quote Fehler:', e));
lastSantaQuoteTime = now;
function playHitSound() {
if (!audioContext) {
audioContext = new (window.AudioContext || window.webkitAudioContext)();
const oscillator = audioContext.createOscillator()M
const gainNode = audioContext.createGain();
oscillator.type = 'sine';
oscillator.frequency.setValueAtTime(800, audioContext.currentTime);
oscillator.frequency.exponentialRampToValueAtTime(400, audioContext.currentTime + 0.1);
oscillator.connect(gainNode);
gainNode.connect(audioContext.destination);
gainNode.gain.setValueAtTime(0.15, audioContext.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.1);
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.cM
console.warn('Could not play hit sound:', error);
function playHeadshotSound() {
if (!audioContext) {
audioContext = new (window.AudioContext || window.webkitAudioContext)();
const oscillator = audioContext.createOscillator();
const gainNode = audioContext.createGain();
oscillator.type = 'square';
oscillator.frequency.setValueAtTime(1200, audioContext.currentTime);
oscillator.frequency.exponentialRampToValueAtTime(600, audioContext.currentTime + 0.2);
gainNode.connect(audioContext.destination);
gainNode.gain.setValueAtTime(0.25, audioContext.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.2);
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.currentTime + 0.2);
console.warn('Could not play headshot sound:', error);
function playKillstreakSound(streak) {
if (!audioContext) {
audioContext = new (window.AudioContext || window.webkitAudioContext)();
frequency = 600; // H
herer Ton bei hohen Killstreaks
} else if (streak >= 5) {
const oscillator = audioContext.createOscillator();
const gainNode = audioContext.createGain();
oscillator.type = 'sine';
oscillator.frequency.setValueAtTime(frequency, audioContext.currentTime);
oscillator.frequency.exponentialRampToValueAtTime(frequency * 1.5, audioContext.currentTime + 0.15);
oscillator.connect(gainNode);
gainNode.connect(audioContext.destination);
setValueAtTime(0.2, audioContext.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.15);
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.currentTime + 0.15);
console.warn('Could not play killstreak sound:', error);
function initWeapons() {
name: 'MACHINE GUN',
ht von 200 auf 400 f
name: 'HAND GRENADE',
for (let weapon in weaponConfigs) {
playerAmmo[weapon] = weaponConfigs[weapon].maxAmmo;
function generateLevel() {
if (currentLevel === 4) {
generateBossArena();
for (let y = 0; y < levelSize; y++M
for (let x = 0; x < levelSize; x++) {
level[y][x] = 1; // 1 = wall, 0 = floor
let startX = 1, startY = 1;
level[startY][startX] = 0;
let stack = [[startX, startY]];
let visited = new Set();
visited.add(`${startX},${startY}`);
const directions = [[0, 2], [2, 0], [0, -2], [-2, 0]];
while (stack.length > 0) {
let [x, y] = stack[stack.length - 1];
for (let [dx, dy] of directions) {
let nx = x + dx, ny = y + dy;
if (nx > 0 && nx < levelSize - 1 && ny > 0 && ny < levelSize - 1) M
if (!visited.has(`${nx},${ny}`)) {
neighbors.push([nx, ny, x + dx/2, y + dy/2]);
if (neighbors.length > 0) {
let [nx, ny, midX, midY] = neighbors[Math.floor(Math.random() * neighbors.length)];
level[Math.floor(midY)][Math.floor(midX)] = 0;
visited.add(`${nx},${ny}`);
stack.push([nx, ny]);
level[levelSize - 2][levelSize - 2] = 0;
level[levelSize - 2][levelSize - 3] = 0;
for (let i = 0; i < 10; i++) {
let x = Math.floor(Math.random() * (levelSize - 2)) + 1;
Math.floor(Math.random() * (levelSize - 2)) + 1;
if (level[y][x] === 1) {
for (let [dx, dy] of [[0, 1], [0, -1], [1, 0], [-1, 0]]) {
if (level[y + dy] && level[y + dy][x + dx] === 0) neighbors++;
if (neighbors >= 2) level[y][x] = 0;
function generateBossArena() {
for (let y = 0; y < levelSize; y++) {
for (let x = 0; x < levelSize; x++) {
if (x === 0 || x === levelSize - 1 || y === 0 || y === levelSize - 1) {
level[y][x] = 1; // Wand
el[y][x] = 0; // Floor
const coverPositions = [
[5, 5], [5, 15], [5, 25],
[25, 5], [25, 15], [25, 25]
for (const [x, y] of coverPositions) {
for (let dy = -1; dy <= 1; dy++) {
for (let dx = -1; dx <= 1; dx++) {
if (x + dx > 0 && x + dx < levelSize - 1 && y + dy > 0 && y + dy < levelSize - 1) {
level[y + dy][x + dx] = 1;
function initThreeJS() {
scene = new THREE.Scene();
scene.traverse((child) => {
if (child instanceof THREE.Light) {
lightsToRemove.push(child);
lightsToRemove.forEach(light => scene.remove(light));
if (currentLevel === 4) {
scene.background = new THREE.Color(0x87CEEB); // Himmelblau
scene.fog = new THREE.Fog(0xE0F6FF, 50, 150); // Hellblauer Nebel
scene.background = new THREE.Color(0x1a1a1a);
scene.fog = new THREE.Fog(0x1a1a1a, 10, 100);
const targetAspect = 16 / 9;
camera = new THREE.PerspectiveCamera(75, targetAspect, 0.05, 200);
a.position.set(0, 1.6, 0);
camera.rotation.order = 'YXZ';
const canvas = document.getElementById('gameCanvas');
const useAntialias = window.devicePixelRatio <= 1.5;
renderer = new THREE.WebGLRenderer({ canvas, antialias: useAntialias, powerPreference: "high-performance" });
const maxPixelRatio = Math.min(window.devicePixelRatio || 1, 1.5);
renderer.setPixelRatio(maxPixelRatio);
if (gameState !== 'playing') {
canvas.style.display = 'none';
canvas.style.visibility = 'hidden';
operty('display', 'block', 'important');
canvas.style.setProperty('visibility', 'visible', 'important');
canvas.style.setProperty('opacity', '1', 'important');
const width = window.innerWidth;
const height = window.innerHeight;
const containerAspect = width / height;
let renderWidth, renderHeight;
if (containerAspect > targetAspect) {
renderHeight = height;
renderWidth = renderHeight * targetAspect;
renderWidth = width;
renderHeight = renderWidth / targetAspect;
renderer.setSize(renderWidth, renderHeM
canvas.style.width = width + 'px';
canvas.style.height = height + 'px';
if (assetCache && assetCache.geometries && assetCache.materials) {
if (assetCache.geometries.grenade && assetCache.materials.grenade) {
const tempGrenadeMesh = new THREE.Mesh(
assetCache.geometries.grenade,
assetCache.materials.grenade
tempGrenadeMesh.position.set(0, -1000, 0); // Au
scene.add(tempGrenadeMesh);
renderer.compile(tempGrenadeMesh, camera);
scene.remove(tempGrenadeMesh);
ache.grenadeMeshPool) {
assetCache.grenadeMeshPool = [];
for (let i = 0; i < 3; i++) {
const poolGrenadeMesh = new THREE.Mesh(
assetCache.geometries.grenade,
assetCache.materials.grenade
poolGrenadeMesh.position.set(0, -1000 - i, 0); // Au
erhalb der Sicht, leicht versetzt
poolGrenadeMesh.visible = false;
scene.add(poolGrenadeMesh);
renderer.compile(poolGrenadeMesh, camera);
scene.remove(poolGrenadeMesh);
assetCache.grenadeMeshPool.push(poolGrenadeMesh);
console.log('Grenade fully preloaded - shader compileM
d, 3 meshes in pool (scene.add pre-initialized)!');
if (assetCache.materials.explosion) {
const tempExplosionGeometry = new THREE.BufferGeometry().setAttribute(
new THREE.Float32BufferAttribute([0, -1000, 0], 3)
const tempExplosionPoints = new THREE.Points(
tempExplosionGeometry,
assetCache.materials.explosion
scene.add(tempExplosionPoints);
renderer.compile(tempExplosionPoints, camera);
scene.remove(tempExplosionPoints);
console.log('Explosion shader compiled!');
if (assetCache.materials.smokM
const tempSmokeGeometry = new THREE.BufferGeometry().setAttribute(
new THREE.Float32BufferAttribute([0, -1000, 0], 3)
const tempSmokePoints = new THREE.Points(
assetCache.materials.smoke
scene.add(tempSmokePoints);
renderer.compile(tempSmokePoints, camera);
scene.remove(tempSmokePoints);
console.log('Smoke shader compiled!');
if (assetCache.geometries.explosionSphere && assetCache.materials.explosionMesh) {
if (!assetCache.explosionParticlePool) {
assetCache.explosionPartM
for (let i = 0; i < 30; i++) {
const poolParticle = new THREE.Mesh(
assetCache.geometries.explosionSphere,
assetCache.materials.explosionMesh
poolParticle.position.set(0, -1000 - i, 0);
poolParticle.visible = false;
scene.add(poolParticle);
renderer.compile(poolParticle, camera);
scene.remove(poolParticle);
assetCache.explosionParticlePool.push(poolParticle);
console.log('Explosion particle pool created (30 particles pre-initialized, scene.add ready)!');
if (assetCache.geometries.smokeSphereM
&& assetCache.materials.smokeMesh) {
if (!assetCache.smokeParticlePool) {
assetCache.smokeParticlePool = [];
for (let i = 0; i < 15; i++) {
const poolParticle = new THREE.Mesh(
assetCache.geometries.smokeSphere,
assetCache.materials.smokeMesh
poolParticle.position.set(0, -1000 - i, 0);
poolParticle.visible = false;
scene.add(poolParticle);
renderer.compile(poolParticle, camera);
scene.remove(poolParticle);
assetCache.smokeParticlePool.push(poolParticle);
console.log('Smoke particle pool created (15 particleM
s pre-initialized, scene.add ready)!');
console.warn('Failed to compile grenade/explosion shaders:', e);
let ambientColor = 0xffffff;
let directionalColor = 0xffffff;
let ambientIntensity = 1.2;
let directionalIntensity = 1.8;
if (currentLevel === 2) {
ambientColor = 0xffcccc; // Leicht r
directionalColor = 0xffaaaa; // R
ambientIntensity = 1.0;
directionalIntensity = 1.6;
else if (currentLevel === 3) {
ambientColor = 0xccccff; // Leicht bl
directionalColor = 0xaaaaff; /M
ambientIntensity = 1.1;
directionalIntensity = 1.7;
else if (currentLevel === 4) {
ambientColor = 0xffffff; // Wei
directionalColor = 0xffffff; // Wei
ambientIntensity = 1.5; // Sehr hell
directionalIntensity = 2.0; // Sehr hell
const ambientLight = new THREE.AmbientLight(ambientColor, ambientIntensity);
scene.add(ambientLight);
const directionalLight = new THREE.DirectionalLight(directionalColor, directionalIntensity);
directionalLight.position.set(10, 20, 10);
t.castShadow = true;
directionalLight.shadow.mapSize.width = 1024;
directionalLight.shadow.mapSize.height = 1024;
directionalLight.shadow.camera.near = 0.5;
directionalLight.shadow.camera.far = 50;
directionalLight.shadow.camera.left = -30;
directionalLight.shadow.camera.right = 30;
directionalLight.shadow.camera.top = 30;
directionalLight.shadow.camera.bottom = -30;
scene.add(directionalLight);
updateShadowQuality(shadowQuality);
if (!window.gameLights) {
window.gameLights = [];
window.gameLights = [];
let warmLightColor = 0xffaa00; // Orange/Gelb f
let whiteLightIntensity = 2.0;
let warmLightIntensity = 1.8;
let colorLights = [0xff6b6b, 0x4ecdc4, 0x95e1d3, 0xf38181, 0xa8e6cf]; // Standard f
if (currentLevel === 2) {
warmLightColor = 0xff6666; // R
warmLightIntensity = 1.6;
whiteLightIntensity = 1.8;
colorLights = [0xff4444, 0xff6666, 0xff8888, 0xffaaaa, 0xffcccc]; // R
else if (currentLevel >= 3) {
warmLightColor = 0x66aaff; // Bl
warmLightIntensity = 1.7;
eLightIntensity = 1.9;
colorLights = [0x4488ff, 0x66aaff, 0x88ccff, 0xaaddff, 0xccddff]; // Bl
for (let i = 0; i < 8; i++) {
const light = new THREE.PointLight(warmLightColor, warmLightIntensity, 30);
(Math.random() - 0.5) * levelSize * cellSize,
2 + Math.random() * 2,
(Math.random() - 0.5) * levelSize * cellSize
light.userData.originalIntensity = warmLightIntensity;
window.gameLights.push(light);
for (let i = 0; i < 5; i++) {
const light = new THREE.PointLM
ight(0xffffff, whiteLightIntensity, 35);
(Math.random() - 0.5) * levelSize * cellSize,
(Math.random() - 0.5) * levelSize * cellSize
light.userData.originalIntensity = whiteLightIntensity;
window.gameLights.push(light);
for (let i = 0; i < 3; i++) {
const color = colorLights[Math.floor(Math.random() * colorLights.length)];
const light = new THREE.PointLight(color, 0.9, 20);
(Math.random() - 0.5) * levelSize * cellSize,
1.5 + Math.random() * 1.5,
th.random() - 0.5) * levelSize * cellSize
light.userData.originalIntensity = 0.9;
window.gameLights.push(light);
let wallTexture = null;
let wallMaterial = null;
let darkTunnelCells = new Set();
function buildLevel() {
darkTunnelCells.clear();
for (let i = 0; i < 8; i++) {
let x = Math.floor(Math.random() * (levelSize - 2)) + 1;
let y = Math.floor(Math.random() * (levelSize - 2)) + 1;
if (level[y][x] === 0) {
darkTunnelCells.add(`${x},${y}`);
let wallColor = 0xaaaaaa; // Level 1: Grau
f (currentLevel === 2) {
wallColor = 0xff6666; // Level 2: Rot
} else if (currentLevel === 3) {
wallColor = 0x66aaff; // Level 3: Hellblau
} else if (currentLevel >= 4) {
wallColor = 0x66aaff; // Level 4+: Hellblau
const emissiveColor = new THREE.Color(wallColor).multiplyScalar(0.2);
wallMaterial = new THREE.MeshStandardMaterial({
color: wallColor, // Level 1: Grau, Level 2: Rot, Level 3: Hellblau, Level 4+: Hellblau
emissive: emissiveColor,
emissiveIntensity: 0.3,
roughness: reflectionsEnabled ? 0.2 : 1.0,
ness: reflectionsEnabled ? 0.7 : 0.0
console.log(`=== BUILDING LEVEL ${currentLevel} WITH WALL COLOR: ${wallColor.toString(16)} ===`);
const applyWallTexture = (texture) => {
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
if (currentLevel === 2) {
texture.repeat.set(1, 1/3); // H
he: 1/3 = Pattern einmal in der Wandh
texture.rotation = Math.PI / 2; // 90 Grad drehen
} else if (currentLevel === 4) {
texture.repeat.set(1, 1/3); // H
he: 1/3 = Pattern einmal in der M
texture.rotation = 0; // Keine Rotation f
} else if (currentLevel === 3) {
texture.repeat.set(1, 1); // Gr
eres Pattern (kleinere Werte = gr
texture.rotation = 0; // Keine Rotation
texture.repeat.set(1, 1); // Gr
texture.rotation = 0; // Keine Rotation
texture.flipY = false;
wallMaterial.map = texture;
wallMaterial.color.setHex(wallColor);
const emissiveColor = new THREE.Color(wallColor).multiplyScalar(0.2);
wallMaterial.emissive.copyM
wallMaterial.emissiveIntensity = 0.3;
wallMaterial.needsUpdate = true;
scene.traverse((child) => {
if (child instanceof THREE.Mesh && child.geometry instanceof THREE.BoxGeometry) {
if (child.geometry.parameters.height === 3) {
child.material.map = texture;
child.material.color.setHex(wallColor);
const emissiveColor = new THREE.Color(wallColor).multiplyScalar(0.2);
child.material.emissive.copy(emissiveColor);
child.material.emissiveIntensity = 0.3;
child.material.needsUpdate = true;
console.log(`Wall texture and color (${wallColor.toString(16)}) applied to ${count} walls`);
if (currentLevel === 2) {
wallTextureId = '/content/e12038f79112b5eedf9178d153e0c10ca3d2b3a3a909031683956fa1632c127fi0';
cacheKey = 'wall_level2';
} else if (currentLevel === 3) {
wallTextureId = '/content/9a85ad53facd49b0c615d8143950851e96ec937254ad11df1a553a573a5096f7i0';
cacheKey = 'wall_level3';
} else if (currentLevel === 4) {
wallTextureId = '/content/c49b83c13f3c50eM
bef80a058d13352d072710e983a148c68ae8494e5cc9d5f99i0';
cacheKey = 'wall_level4';
wallTextureId = '/content/77a2a5eb8414e5ebb0ebffd4805a45717244133cbe09cc38855d88686888a745i0';
if (assetCache.textures[cacheKey]) {
console.log(`=== USING CACHED WALL TEXTURE FOR LEVEL ${currentLevel} ===`);
applyWallTexture(assetCache.textures[cacheKey]);
const loader = new THREE.TextureLoader();
loader.load(wallTextureId,
console.log('=== WALL TEXTURE LOADED ===');
Mipmaps = false; // Keine Mipmaps = schneller
texture.minFilter = THREE.LinearFilter; // Schneller als LinearMipmapLinearFilter
texture.magFilter = THREE.LinearFilter;
texture.anisotropy = 1; // Minimal = schneller
texture.needsUpdate = true;
assetCache.textures[cacheKey] = texture; // Cache speichern mit Level-spezifischem Key
applyWallTexture(texture);
console.error('=== ERROR LOADING WALL TEXTURE ===', error);
const floorGeometry = new THREE.PlaneGeometry(levelSize * cellSize, lM
evelSize * cellSize);
const floorMaterial = new THREE.MeshStandardMaterial({
roughness: reflectionsEnabled ? 0.8 : 1.0,
metalness: reflectionsEnabled ? 0.2 : 0.0
floorMaterial.userData = { isFloor: true }; // Markiere als Floor-Material
const floor = new THREE.Mesh(floorGeometry, floorMaterial);
floor.rotation.x = -Math.PI / 2;
floor.receiveShadow = true;
let floorTileTexture = null;
let floorTextureLoaded = false;
if (currentLevel >= 1 && currentLevel <= 3) {
reLoader = new THREE.TextureLoader();
floorTextureLoader.load('/content/bdcfbd16603c568a205ff06f5db6247bb1125d24a5ce15b9dca08e63ab592547i0',
texture.generateMipmaps = false;
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.anisotropy = 1;
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
texture.repeat.set(1, 1);
texture.flipY = false;
floorTileTexture = texture;
floorTextureLoaded = true;
scene.traverse((child) => {
if (child instanceoM
f THREE.Mesh && child.geometry instanceof THREE.PlaneGeometry && child.rotation.x === -Math.PI / 2) {
if (child.position.y < 1) { // Nur Floor tiles
child.material.map = texture;
child.material.needsUpdate = true;
console.error('Error loading floor texture:', error);
floorTextureLoaded = true; // Flag setzen, auch wenn Fehler
floorTextureLoaded = true; // Level 4: Textur wird sp
const wallMeshes = [];
for (let y = 0; y < levelSize; y++) {
or (let x = 0; x < levelSize; x++) {
if (level[y][x] === 1) {
const wallGeometry = new THREE.BoxGeometry(cellSize, 3, cellSize);
const clonedMaterial = wallMaterial.clone();
clonedMaterial.color.setHex(wallColor); // Stelle sicher, dass die Farbe korrekt ist
const wallMesh = new THREE.Mesh(wallGeometry, clonedMaterial);
wallMesh.position.set(
(x - levelSize / 2) * cellSize + cellSize / 2,
(y - levelSize / 2) * cellSize + cellSize / 2
wallMesh.castShadow = true;
wallMesh.receiveShadow = true;
te = wallGeometry.attributes.uv;
for (let i = 0; i < uvAttribute.count; i++) {
const u = uvAttribute.getX(i);
const v = uvAttribute.getY(i);
if (currentLevel === 2 || currentLevel === 4) {
uvAttribute.setXY(i, u * 2, v); // Breite:
uvAttribute.setXY(i, u * 2, v * 2); // Pattern
wallMeshes.push(wallMesh);
scene.add(wallMesh);
let tileColor = 0x444444;
if (currentLevel === 4) {
tileColor = 0xffffff;
const tileGeometry = new THREE.PlaneGeomM
etry(cellSize * 0.9, cellSize * 0.9);
if (currentLevel === 4) {
tileMaterial = new THREE.MeshStandardMaterial({
roughness: 1.0, // Schnee ist sehr rau (immer)
tileMaterial.userData = { isTile: true, isLevel4: true }; // Markiere als Tile-Material
const floorTextureLoader = new THREE.TextureLoader();
floorTextureLoader.load('/content/bdcfbd16603c568a205ff06f5db6247bb1125d24a5ce15b9dca08e63ab592547i0',
texture.generateMipmaps = false;
lter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.anisotropy = 1;
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
texture.repeat.set(1, 1);
texture.flipY = false;
scene.traverse((child) => {
if (child instanceof THREE.Mesh &&
child.geometry instanceof THREE.PlaneGeometry &&
child.rotation.x === -Math.PI / 2 &&
Math.abs(child.position.x - ((x - levelSize / 2) * cellSize + cellSize / 2)) < 0.1 &&
Math.abs(child.position.z - ((y - levelSize / 2) * cellSize + cellSizM
child.material.map = texture;
child.material.needsUpdate = true;
console.error('Error loading Level 4 floor texture:', error);
tileMaterial = new THREE.MeshStandardMaterial({
map: floorTileTexture || null,
roughness: reflectionsEnabled ? 0.9 : 1.0,
tileMaterial.userData = { isTile: true }; // Markiere als Tile-Material
const tile = new THREE.Mesh(tileGeometry, tileMaterial);
tile.rotation.x = -Math.PI / 2;
(x - levelSize / 2) * cellSize + cellSize / 2,
(y - levelSize / 2) * cellSize + cellSize / 2
tile.receiveShadow = true;
if (currentLevel === 4) {
const skyGeometry = new THREE.SphereGeometry(100, 32, 32);
const skyTextureLoader = new THREE.TextureLoader();
skyTextureLoader.load('/content/f9cc9866666c076c217ef0a77f665ec1ee44607e34e145d7368fcf380fa650a9i0',
texture.generateMipmaps = false;
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LineM
texture.anisotropy = 1;
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
texture.mapping = THREE.EquirectangularReflectionMapping;
const skyMaterial = new THREE.MeshBasicMaterial({
map: showPatterns ? texture : null, // Textur nur wenn Patterns aktiviert
color: showPatterns ? 0xffffff : 0x87CEEB, // Einfacher blauer Himmel wenn deaktiviert
side: THREE.BackSide, // Innenansicht
if (level4SkyMesh) {
level4SkyMesh.material = skyMaterial;
level4SkyMesh.material.needsUM
level4SkyMesh = new THREE.Mesh(skyGeometry, skyMaterial);
scene.add(level4SkyMesh);
level4SkyTexture = texture;
console.error('Error loading Level 4 sky texture:', error);
const skyMaterial = new THREE.MeshBasicMaterial({
side: THREE.BackSide
level4SkyMesh = new THREE.Mesh(skyGeometry, skyMaterial);
scene.add(level4SkyMesh);
const ceilingGeometry = new THREE.PlaneGeometry(levelSize * cellSize, levelSize * cellSize);
Material = new THREE.MeshStandardMaterial({ color: 0x222222 });
const ceiling = new THREE.Mesh(ceilingGeometry, ceilingMaterial);
ceiling.rotation.x = Math.PI / 2;
ceiling.position.y = 3;
if (currentLevel < 4) {
if (currentLevel === 4) {
createSnowParticles();
createVictoryCube();
if (currentLevel >= 1 && currentLevel <= 3 && currentLevel !== 4) {
const graffitiIds = [
'14c15a77a9ae9ff4eb8554106b706be46d2cbb28d16995ff0fd6918560e74654i0',
b9ec0c26e663f5147eae5809769ba60bc67c6a601ee7348322c47ei0',
'05abdf15c4c11e91a4a6060d83016f1f9515720b951508ff2303e15eccb6dff3i0',
'0b6887a1693ab5d4286bebe099853cf098b89e72c97510e789307c6065dcf419i0',
'b3b9cb34d21fc0d97200529a16960242e213e19b50a83ff0a4a82063e67ecdb2i0',
'09cd5fa340b56e90db47c9381649f0bf5cc64b4c92b32d81e8bb785eccafc055i0'
let graffitiSprites = [];
function spawnGraffiti() {
graffitiSprites.forEach(graffiti => {
if (graffiti.mesh && scene.children.includes(graffiti.mesh)) {
scene.remove(graffiti.mesM
graffitiSprites = [];
const wallPositions = [];
for (let y = 0; y < levelSize; y++) {
for (let x = 0; x < levelSize; x++) {
if (level[y][x] === 1) {
(y > 0 && level[y - 1][x] === 0) || // Nord
(y < levelSize - 1 && level[y + 1][x] === 0) || // S
(x > 0 && level[y][x - 1] === 0) || // West
(x < levelSize - 1 && level[y][x + 1] === 0); // Ost
wallPositions.push({ x, y });
const graffitiCount = 3;
const usedIndices = new Set();
for (let i = 0; i < graffitiCouM
nt && wallPositions.length > 0; i++) {
const randomIndex = Math.floor(Math.random() * wallPositions.length);
const wallPos = wallPositions[randomIndex];
wallPositions.splice(randomIndex, 1); // Entferne, um Duplikate zu vermeiden
const graffitiIndex = Math.floor(Math.random() * graffitiIds.length);
const graffitiId = graffitiIds[graffitiIndex];
const freeSides = [];
const x = wallPos.x;
const y = wallPos.y;
if (y > 0 && level[y - 1][x] === 0) freeSides.push('north'); // Nord (negative Z)
if (y < levelSize - 1 && leM
vel[y + 1][x] === 0) freeSides.push('south'); // S
if (x > 0 && level[y][x - 1] === 0) freeSides.push('west'); // West (negative X)
if (x < levelSize - 1 && level[y][x + 1] === 0) freeSides.push('east'); // Ost (positive X)
if (freeSides.length === 0) continue; // Keine freie Seite
const sidePriority = ['north', 'south', 'west', 'east'];
for (const prioritySide of sidePriority) {
if (freeSides.includes(prioritySide)) {
side = prioritySide;
if (!side) continue; // FallbackM
(sollte nicht passieren)
const worldX = (x - levelSize / 2 + 0.5) * cellSize;
const worldZ = (y - levelSize / 2 + 0.5) * cellSize;
let graffitiX, graffitiZ, graffitiRotationY;
const graffitiY = 1.5; // Mitte der Wand (H
const offset = 0.01; // Leicht vor der Wand (an der Wand-Oberfl
let needsHorizontalFlip = false;
case 'north': // Nord-Wand: Innenseite ist nach S
den (positive Z-Richtung)
graffitiZ = worldZ - cellSize / 2 + offset; // An der Nord-Seite der Wand (nM
graffitiRotationY = Math.PI; // 180
- Plane zeigt nach S
den (zur Innenseite)
needsHorizontalFlip = false; // KEINE Spiegelung
d-Wand: Innenseite ist nach Norden (negative Z-Richtung)
graffitiZ = worldZ + cellSize / 2 - offset; // An der S
d-Seite der Wand (positive Z)
graffitiRotationY = 0; // 0
- Plane zeigt nach Norden (zur Innenseite)
needsHorizontalFlip = true; // SPIEGELN
case 'west': // West-Wand: Innenseite ist nach Osten (positive X-RicM
graffitiX = worldX - cellSize / 2 + offset; // An der West-Seite der Wand (negative X)
graffitiRotationY = Math.PI / 2; // 90
- Plane zeigt nach Osten (zur Innenseite)
needsHorizontalFlip = true; // SPIEGELN
case 'east': // Ost-Wand: Innenseite ist nach Westen (negative X-Richtung)
graffitiX = worldX + cellSize / 2 - offset; // An der Ost-Seite der Wand (positive X)
graffitiRotationY = -Math.PI / 2; // -90
- Plane zeigt nach Westen (zur Innenseite)
zontalFlip = false; // KEINE Spiegelung
const loader = new THREE.TextureLoader();
`/content/${graffitiId}`,
texture.generateMipmaps = false;
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.anisotropy = 1;
const aspect = texture.image.width / texture.image.height;
const width = 2.5; // Feste Breite
const height = width / aspect;
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
texture.flipY = true; // Three.js TexM
turen sind standardm
ig auf dem Kopf - korrigiere das
texture.offset.x = 0;
texture.repeat.x = 1;
texture.offset.y = 0;
texture.repeat.y = 1;
const planeGeometry = new THREE.PlaneGeometry(width, height);
const planeMaterial = new THREE.MeshStandardMaterial({
side: THREE.DoubleSide,
emissiveIntensity: 0.2 // Leichtes Leuchten
const graffitiPlane = new THREE.Mesh(planeGeometry, planeMaterial);
graffitiPlane.position.set(graffitiX, graffitiY, M
graffitiPlane.rotation.y = graffitiRotationY;
graffitiPlane.rotation.x = 0; // KEINE X-Rotation - texture.flipY korrigiert die vertikale Ausrichtung
graffitiPlane.rotation.z = 0; // KEINE Z-Rotation
if (needsHorizontalFlip) {
graffitiPlane.scale.x = -1; // Spiegle die Plane horizontal
graffitiPlane.scale.x = 1;
graffitiPlane.castShadow = false;
graffitiPlane.receiveShadow = true;
graffitiSprites.push({ mesh: graffitiPlane, id: graffitiId });
scene.add(graffitiPlane);
console.error(`Failed to load graffiti ${graffitiId}:`, error);
function createVictoryCube() {
if (victoryCube && victoryCube.mesh) {
scene.remove(victoryCube.mesh);
const cubeGeometry = new THREE.BoxGeometry(cubeSize, cubeSize, cubeSize);
const textureLoader = new THREE.TextureLoader();
textureLoader.load('/content/d5b2fd5b26b11e7acc53bdc96389036c7953ba0ffe48e593222af4d55b81246ei0',
texture.generateMipmaps = false;
texture.minFilter = THREE.LinearFilter;
ilter = THREE.LinearFilter;
texture.anisotropy = 1;
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
texture.repeat.set(1, 1);
texture.flipY = false;
const cubeMaterial = new THREE.MeshStandardMaterial({
emissiveIntensity: 0.8,
emissiveMap: texture,
const cubeMesh = new THREE.Mesh(cubeGeometry, cubeMaterial);
cubeMesh.position.set(0, 25, 0);
cubeMesh.castShadow = true;
cubeMesh.receiveShadow = true;
position: new THREE.Vector3(0, 25, 0),
velocity: new THREE.Vector3(0, 0, 0),
bossDefeated = false;
cubeCollected = false;
console.error('Error loading victory cube texture:', error);
const cubeMaterial = new THREE.MeshStandardMaterial({
emissiveIntensity: 0.8,
const cubeMesh = new THREE.Mesh(cubeGeometry, cubeMaterial);
position.set(0, 25, 0);
cubeMesh.castShadow = true;
cubeMesh.receiveShadow = true;
scene.add(cubeMesh);
position: new THREE.Vector3(0, 25, 0),
velocity: new THREE.Vector3(0, 0, 0),
bossDefeated = false;
cubeCollected = false;
function updateVictoryCube() {
if (!victoryCube || !victoryCube.mesh || cubeCollected) return;
if (!bossDefeated) {
const bossAlive = enemies.some(enemy => enemy.type === 'boss' || enemy.isBoss);
enemies.length === 0) {
bossDefeated = true;
victoryCube.isFalling = true;
console.log('Boss and all enemies defeated! Victory cube is falling!');
if (currentLevel === 4 && level4SkyMesh) {
startSkyTransition();
victoryCube.mesh.rotation.x += victoryCube.rotationSpeed;
victoryCube.mesh.rotation.y += victoryCube.rotationSpeed;
if (victoryCube.isFalling) {
victoryCube.velocity.y -= 0.05; // Schwerkraft (reduziert von 0.15 auf 0.05)
victoryCube.position.add(victoryCube.velocity);
victoryCube.mesh.position.copy(vM
ictoryCube.position);
if (victoryCube.position.y <= 1.5) {
victoryCube.position.y = 1.5;
victoryCube.velocity.y = 0;
victoryCube.mesh.position.copy(victoryCube.position);
if (victoryCube.position.y <= 1.5) {
const distToPlayer = player.position.distanceTo(victoryCube.position);
if (distToPlayer < 2) {
cubeCollected = true;
scene.remove(victoryCube.mesh);
console.log('Victory cube collected! Game won!');
const time = Date.now() * 0.001;
victoryCube.position.y = 25 + Math.sin(time) * 0.M
victoryCube.mesh.position.copy(victoryCube.position);
function createSnowParticles() {
for (let i = snowParticles.length - 1; i >= 0; i--) {
if (snowParticles[i].mesh) {
scene.remove(snowParticles[i].mesh);
const snowCount = 80;
const arenaSize = levelSize * cellSize;
for (let i = 0; i < snowCount; i++) {
const snowGeometry = new THREE.SphereGeometry(0.05, 6, 6);
const snowMaterial = new THREE.MeshBasicMaterial({
const snowMesh = neM
w THREE.Mesh(snowGeometry, snowMaterial);
const x = (Math.random() - 0.5) * arenaSize;
const y = Math.random() * 30 + 10; // Start zwischen 10 und 40 Einheiten hoch
const z = (Math.random() - 0.5) * arenaSize;
snowMesh.position.set(x, y, z);
scene.add(snowMesh);
const driftX = (Math.random() - 0.5) * 0.02;
const driftZ = (Math.random() - 0.5) * 0.02;
const fallSpeed = 0.03 + Math.random() * 0.02; // Unterschiedliche Fallgeschwindigkeiten
snowParticles.push({
position: new THREE.Vector3(x, y, z),
ocity: new THREE.Vector3(driftX, -fallSpeed, driftZ),
size: 0.05 + Math.random() * 0.03 // Unterschiedliche Gr
function updateSnowParticles() {
if (currentLevel !== 4 || snowParticles.length === 0) return;
const arenaSize = levelSize * cellSize;
for (let i = snowParticles.length - 1; i >= 0; i--) {
const snow = snowParticles[i];
snowParticles.splice(i, 1);
snow.position.add(snow.velocity);
if (snow.position.y < 0) {
snow.position.y = 30 + Math.random() * 10;
.x = (Math.random() - 0.5) * arenaSize;
snow.position.z = (Math.random() - 0.5) * arenaSize;
if (Math.abs(snow.position.x) > arenaSize / 2) {
snow.position.x = (Math.random() - 0.5) * arenaSize;
snow.position.y = 30 + Math.random() * 10;
if (Math.abs(snow.position.z) > arenaSize / 2) {
snow.position.z = (Math.random() - 0.5) * arenaSize;
snow.position.y = 30 + Math.random() * 10;
snow.mesh.position.copy(snow.position);
snow.mesh.rotation.x += 0.01;
snow.mesh.rotation.z += 0.01;
function createExitPortal()M
scene.remove(exitPortal);
const exitX = (levelSize - 2 - levelSize / 2) * cellSize + cellSize / 2;
const exitZ = (levelSize - 2 - levelSize / 2) * cellSize + cellSize / 2;
const portalGroup = new THREE.Group();
const torusGeometry = new THREE.TorusGeometry(1.5, 0.3, 16, 32);
const torusMaterial = new THREE.MeshStandardMaterial({
const torus = new THREE.Mesh(torusGeometry, torusMaterial);
torus.rotation.x = Math.PI / 2;
orus.position.y = 1.5;
portalGroup.add(torus);
const planeGeometry = new THREE.PlaneGeometry(3, 3);
const planeMaterial = new THREE.MeshStandardMaterial({
side: THREE.DoubleSide
const plane = new THREE.Mesh(planeGeometry, planeMaterial);
plane.rotation.x = -Math.PI / 2;
plane.position.y = 0.01;
portalGroup.add(plane);
portalGroup.position.set(exitX, 0, exitZ);
scene.add(portalGroup);
position: new THREE.VectoM
r3(exitX, 0, exitZ),
function initPlayer() {
let startX = 0, startZ = 0;
for (let y = 0; y < levelSize; y++) {
for (let x = 0; x < levelSize; x++) {
if (level[y][x] === 0) {
startX = (x - levelSize / 2) * cellSize + cellSize / 2;
startZ = (y - levelSize / 2) * cellSize + cellSize / 2;
if (startX !== 0) break;
position: new THREE.Vector3(startX, 1.6, startZ),
velocity: new THREE.Vector3(0, 0, 0),
rotation: { x: 0, y: Math.PI }, // 180 Grad gedreht, damit Spieler nach vorne scM
camera.position.copy(player.position);
currentRotationY = player.rotation.y;
currentRotationX = player.rotation.x;
targetRotationY = player.rotation.y;
targetRotationX = player.rotation.x;
function createEnemyHealthBar(enemyGroup, type = 'snowman') {
let healthBarY = 2.2; // Standardh
if (type === 'snowman') {
healthBarY = 2.2; //
ber dem Schneemann-Kopf
} else if (type === 'elf') {
healthBarY = 1.8; //
} else if (type === 'grinch') {
healthBarY = 2.0; // M
const canvas = document.createElement('canvas');
const context = canvas.getContext('2d');
const texture = new THREE.CanvasTexture(canvas);
texture.needsUpdate = true;
const spriteMaterial = new THREE.SpriteMaterial({
const sprite = new THREE.Sprite(spriteMaterial);
sprite.scale.set(1.0, 0.15, 1.0); // Gr
sprite.position.set(0, healthBarY, 0);
sprite.name = 'healthBar'; // Name f
einfache Identifikation
updateEnemyHealthBar(sprite, 1.0); // Start bei 100%
enemyGroup.add(sprite);
function updateEnemyHealthBar(healthBarSprite, healthPercent) {
if (!healthBarSprite || !healthBarSprite.material || !healthBarSprite.material.map) {
const canvas = healthBarSprite.material.map.image;
if (!canvas) return;
const context = canvas.getContext('2d');
const width = canvas.width;
const height = canvas.height;
context.clearRect(0, 0, width, height);
context.fillStyle = '#330000';M
context.fillRect(0, 0, width, height);
const barWidth = width * Math.max(0, Math.min(1, healthPercent));
if (healthPercent > 0.6) {
fillColor = '#00ff00'; // Gr
} else if (healthPercent > 0.3) {
fillColor = '#ffff00'; // Gelb
fillColor = '#ff0000'; // Rot
context.fillStyle = fillColor;
context.fillRect(2, 2, barWidth - 4, height - 4);
context.strokeStyle = '#ffffff';
context.lineWidth = 1;
context.strokeRect(1, 1, width - 2, height - 2);
healthBarSprite.material.map.needsUpdate = true;M
function createEnemy(x, z, type = 'snowman') {
const enemyGroup = new THREE.Group();
let shootCooldown = 2000;
if (type === 'snowman') {
const bodyBottom = new THREE.Mesh(
new THREE.SphereGeometry(0.4, 16, 16),
new THREE.MeshStandardMaterial({ color: 0xffffff, roughness: 0.8 })
bodyBottom.position.y = 0.4;
enemyGroup.add(bodyBottom);
const bodyMiddle = new THREE.Mesh(
new THREE.SphereGeometry(0.35, 16, 16),
new THREE.MeshStandardMaterial({ color: 0xffffff, rM
bodyMiddle.position.y = 1.0;
enemyGroup.add(bodyMiddle);
const head = new THREE.Mesh(
new THREE.SphereGeometry(0.3, 16, 16),
new THREE.MeshStandardMaterial({ color: 0xffffff, roughness: 0.8 })
head.position.y = 1.6;
enemyGroup.add(head);
const leftEye = new THREE.Mesh(
new THREE.SphereGeometry(0.05, 8, 8),
new THREE.MeshStandardMaterial({ color: 0x000000 })
leftEye.position.set(-0.1, 1.65, 0.25);
enemyGroup.add(leftEye);
const rightEye = new THREE.Mesh(
new THREE.SphereGeometry(0.05, 8, 8)M
new THREE.MeshStandardMaterial({ color: 0x000000 })
rightEye.position.set(0.1, 1.65, 0.25);
enemyGroup.add(rightEye);
const nose = new THREE.Mesh(
new THREE.ConeGeometry(0.05, 0.15, 8),
new THREE.MeshStandardMaterial({ color: 0xff6600 })
nose.rotation.x = -Math.PI / 2; // Nach vorne zeigen (nicht nach rechts)
nose.position.set(0, 1.6, 0.3);
enemyGroup.add(nose);
for (let i = 0; i < 3; i++) {
const button = new THREE.Mesh(
new THREE.BoxGeometry(0.08, 0.08, 0.02),
new THREE.MeshStandardMaterial({ color: 0x000M
button.position.set(0, 0.85 + i * 0.15, 0.35);
enemyGroup.add(button);
const gunGroup = new THREE.Group();
const gunBody = new THREE.Mesh(
new THREE.BoxGeometry(0.15, 0.05, 0.3),
new THREE.MeshStandardMaterial({ color: 0x333333 })
gunBody.position.set(0, 0.1, 0);
gunGroup.add(gunBody);
const gunHandle = new THREE.Mesh(
new THREE.BoxGeometry(0.05, 0.15, 0.05),
new THREE.MeshStandardMaterial({ color: 0x222222 })
gunHandle.position.set(0, -0.05, 0);
gunGroup.add(gunHandle);
gunGroup.position.set(0.3,M
gunGroup.rotation.y = -Math.PI / 4;
enemyGroup.add(gunGroup);
health = 150; // Robust
speed = 0.035; // Erh
ht von 0.025 (aggressiver)
shootCooldown = 1500; // Verringert von 2000 (schie
} else if (type === 'elf') {
const body = new THREE.Mesh(
new THREE.CylinderGeometry(0.25, 0.25, 0.8, 8),
new THREE.MeshStandardMaterial({ color: 0x00ff00, roughness: 0.6 })
body.position.y = 0.6;
enemyGroup.add(body);
const head = new THREE.Mesh(
new THREE.SphereGeometry(0.2M
new THREE.MeshStandardMaterial({ color: 0xffdbac, roughness: 0.7 })
head.position.y = 1.3;
enemyGroup.add(head);
const leftEye = new THREE.Mesh(
new THREE.SphereGeometry(0.03, 8, 8),
new THREE.MeshStandardMaterial({ color: 0x000000 })
leftEye.position.set(-0.05, 1.32, 0.15);
enemyGroup.add(leftEye);
const rightEye = new THREE.Mesh(
new THREE.SphereGeometry(0.03, 8, 8),
new THREE.MeshStandardMaterial({ color: 0x000000 })
rightEye.position.set(0.05, 1.32, 0.15);
enemyGroup.add(rightEye);
tEar = new THREE.Mesh(
new THREE.ConeGeometry(0.08, 0.15, 8),
new THREE.MeshStandardMaterial({ color: 0xffdbac, roughness: 0.7 })
leftEar.rotation.z = -Math.PI / 6;
leftEar.position.set(-0.15, 1.35, 0);
enemyGroup.add(leftEar);
const rightEar = new THREE.Mesh(
new THREE.ConeGeometry(0.08, 0.15, 8),
new THREE.MeshStandardMaterial({ color: 0xffdbac, roughness: 0.7 })
rightEar.rotation.z = Math.PI / 6;
rightEar.position.set(0.15, 1.35, 0);
enemyGroup.add(rightEar);
const hat = new THREE.Mesh(
new THREE.ConeGeomeM
new THREE.MeshStandardMaterial({ color: 0xff0000, roughness: 0.5 })
hat.position.y = 1.5;
enemyGroup.add(hat);
const hatBrim = new THREE.Mesh(
new THREE.TorusGeometry(0.25, 0.05, 8, 16),
new THREE.MeshStandardMaterial({ color: 0xff0000, roughness: 0.5 })
hatBrim.rotation.x = Math.PI / 2;
hatBrim.position.y = 1.3;
enemyGroup.add(hatBrim);
const starShape = new THREE.Shape();
const outerRadius = 0.1;
const innerRadius = 0.05;
for (let i = 0; i < 10; i++) {
const angle = (i * Math.PI) / 5;
st radius = i % 2 === 0 ? outerRadius : innerRadius;
const x = Math.cos(angle) * radius;
const y = Math.sin(angle) * radius;
if (i === 0) starShape.moveTo(x, y);
else starShape.lineTo(x, y);
starShape.closePath();
const starGeometry = new THREE.ShapeGeometry(starShape);
const starMaterial = new THREE.MeshStandardMaterial({ color: 0xffff00, emissive: 0x333300 });
const star = new THREE.Mesh(starGeometry, starMaterial);
star.rotation.x = -Math.PI / 2;
star.position.y = 1.6;
star.scale.set(1, 1, 0.1);
const bowGroup = new THREE.Group();
const bowBody = new THREE.Mesh(
new THREE.BoxGeometry(0.3, 0.05, 0.05),
new THREE.MeshStandardMaterial({ color: 0x8b4513 })
bowBody.rotation.z = Math.PI / 2;
bowGroup.add(bowBody);
const bowString = new THREE.Mesh(
new THREE.BoxGeometry(0.25, 0.01, 0.01),
new THREE.MeshStandardMaterial({ color: 0xffffff })
bowString.position.z = 0.02;
bowGroup.add(bowString);
bowGroup.position.set(0.3, 1.0, 0.2);
bowGroup.rotation.y = -Math.PI / 4;
enemyGroup.add(bowGroup);
speed = 0.05; // Erh
ht von 0.04 (aggressiver)
shootCooldown = 1200; // Verringert von 1500 (schie
} else if (type === 'grinch') {
const body = new THREE.Mesh(
new THREE.CylinderGeometry(0.3, 0.3, 1.0, 8),
new THREE.MeshStandardMaterial({ color: 0x00aa00, roughness: 0.6 })
body.position.y = 0.7;
enemyGroup.add(body);
const head = new THREE.Mesh(
new THREE.SphereGeometry(0.25, 16, 16),
new THREE.MeshStandardMaterial({ color: 0x00aa00, roughness: 0.6M
head.position.y = 1.5;
enemyGroup.add(head);
const leftEye = new THREE.Mesh(
new THREE.SphereGeometry(0.06, 8, 8),
new THREE.MeshStandardMaterial({ color: 0xffff00, emissive: 0x333300 })
leftEye.position.set(-0.08, 1.52, 0.18);
enemyGroup.add(leftEye);
const rightEye = new THREE.Mesh(
new THREE.SphereGeometry(0.06, 8, 8),
new THREE.MeshStandardMaterial({ color: 0xffff00, emissive: 0x333300 })
rightEye.position.set(0.08, 1.52, 0.18);
enemyGroup.add(rightEye);
const leftPupil = new THREE.Mesh(
SphereGeometry(0.03, 8, 8),
new THREE.MeshStandardMaterial({ color: 0x000000 })
leftPupil.position.set(-0.08, 1.52, 0.22);
enemyGroup.add(leftPupil);
const rightPupil = new THREE.Mesh(
new THREE.SphereGeometry(0.03, 8, 8),
new THREE.MeshStandardMaterial({ color: 0x000000 })
rightPupil.position.set(0.08, 1.52, 0.22);
enemyGroup.add(rightPupil);
const mouth = new THREE.Mesh(
new THREE.TorusGeometry(0.1, 0.02, 8, 16, Math.PI),
new THREE.MeshStandardMaterial({ color: 0x000000 })
mouth.rotation.x = Math.PI / 2;M
mouth.position.set(0, 1.4, 0.2);
enemyGroup.add(mouth);
for (let i = 0; i < 3; i++) {
const tooth = new THREE.Mesh(
new THREE.BoxGeometry(0.02, 0.05, 0.02),
new THREE.MeshStandardMaterial({ color: 0xffffff })
tooth.position.set(-0.05 + i * 0.05, 1.35, 0.25);
enemyGroup.add(tooth);
const leftFoot = new THREE.Mesh(
new THREE.BoxGeometry(0.2, 0.1, 0.3),
new THREE.MeshStandardMaterial({ color: 0x000000 })
leftFoot.position.set(-0.15, 0.05, 0);
enemyGroup.add(leftFoot);
const rightFoot = new THREE.Mesh(
EE.BoxGeometry(0.2, 0.1, 0.3),
new THREE.MeshStandardMaterial({ color: 0x000000 })
rightFoot.position.set(0.15, 0.05, 0);
enemyGroup.add(rightFoot);
const gunGroup = new THREE.Group();
const gunBody = new THREE.Mesh(
new THREE.BoxGeometry(0.15, 0.05, 0.3),
new THREE.MeshStandardMaterial({ color: 0x333333 })
gunBody.position.set(0, 0.1, 0);
gunGroup.add(gunBody);
const gunHandle = new THREE.Mesh(
new THREE.BoxGeometry(0.05, 0.15, 0.05),
new THREE.MeshStandardMaterial({ color: 0x222222 })
gunHandle.position.M
gunGroup.add(gunHandle);
gunGroup.position.set(0.3, 1.0, 0.2);
gunGroup.rotation.y = -Math.PI / 4;
enemyGroup.add(gunGroup);
health = 80; // Standard
speed = 0.03; // Erh
ht von 0.02 (aggressiver)
shootCooldown = 2000; // Verringert von 2500 (schie
enemyGroup.position.set(x, 0, z);
enemyGroup.castShadow = true;
enemyGroup.receiveShadow = true;
enemyGroup.visible = true;
console.error('createEnemy: scene is not defined!');
ene.add(enemyGroup);
console.log(`Enemy created at (${x.toFixed(2)}, 0, ${z.toFixed(2)}), type: ${type}, visible: ${enemyGroup.visible}, scene children: ${scene.children.length}, enemyGroup in scene: ${scene.children.includes(enemyGroup)}`);
if (currentLevel === 2) {
health = Math.floor(health * 1.3); // 30% mehr Gesundheit
speed = speed * 1.15; // 15% schneller
damage = Math.floor(damage * 1.2); // 20% mehr Schaden
shootCooldown = Math.floor(shootCooldown * 0.9); // 10% k
} else if (currentLevel ==M
health = Math.floor(health * 1.6); // 60% mehr Gesundheit
speed = speed * 1.25; // 25% schneller
damage = Math.floor(damage * 1.4); // 40% mehr Schaden
shootCooldown = Math.floor(shootCooldown * 0.85); // 15% k
} else if (currentLevel === 4) {
damage = Math.max(1, Math.floor(damage / 4));
const multipliers = difficultyMultipliers[difficultyLevel] || difficultyMultipliers.easy;
health = Math.floor(health * multipliers.enemyHealth);
speed = speed * multipliers.enemySpeed;
damage = Math.floor(M
damage * multipliers.enemyDamage);
shootCooldown = Math.floor(shootCooldown / multipliers.enemyFireRate);
const healthBarSprite = createEnemyHealthBar(enemyGroup, type);
position: new THREE.Vector3(x, 0, z),
shootCooldown: shootCooldown,
healthBar: healthBarSprite // Speichere Health-Bar-Referenz
enemies.push(enemy);
function createBoss(x, z) {
const bossGroup = new THREE.GrM
const body = new THREE.Mesh(
new THREE.CylinderGeometry(0.9, 0.9, 3.0, 8),
new THREE.MeshStandardMaterial({ color: 0x00aa00, roughness: 0.6 })
body.position.y = 1.5;
bossGroup.add(body);
const head = new THREE.Mesh(
new THREE.SphereGeometry(0.75, 16, 16),
new THREE.MeshStandardMaterial({ color: 0x00aa00, roughness: 0.6 })
head.position.y = 4.5;
bossGroup.add(head);
const leftEye = new THREE.Mesh(
new THREE.SphereGeometry(0.18, 8, 8),
new THREE.MeshStandardMaterial({ color: 0xffff00, emissive: 0x333300 M
leftEye.position.set(-0.24, 4.56, 0.54);
bossGroup.add(leftEye);
const rightEye = new THREE.Mesh(
new THREE.SphereGeometry(0.18, 8, 8),
new THREE.MeshStandardMaterial({ color: 0xffff00, emissive: 0x333300 })
rightEye.position.set(0.24, 4.56, 0.54);
bossGroup.add(rightEye);
const leftPupil = new THREE.Mesh(
new THREE.SphereGeometry(0.09, 8, 8),
new THREE.MeshStandardMaterial({ color: 0x000000 })
leftPupil.position.set(-0.24, 4.56, 0.66);
bossGroup.add(leftPupil);
const rightPupil = new THREE.Mesh(
REE.SphereGeometry(0.09, 8, 8),
new THREE.MeshStandardMaterial({ color: 0x000000 })
rightPupil.position.set(0.24, 4.56, 0.66);
bossGroup.add(rightPupil);
const mouth = new THREE.Mesh(
new THREE.TorusGeometry(0.3, 0.06, 8, 16, Math.PI),
new THREE.MeshStandardMaterial({ color: 0x000000 })
mouth.rotation.x = Math.PI / 2;
mouth.position.set(0, 4.2, 0.6);
bossGroup.add(mouth);
for (let i = 0; i < 5; i++) {
const tooth = new THREE.Mesh(
new THREE.BoxGeometry(0.06, 0.15, 0.06),
new THREE.MeshStandardMaterial({ colorM
tooth.position.set(-0.15 + i * 0.075, 4.05, 0.75);
bossGroup.add(tooth);
const leftFoot = new THREE.Mesh(
new THREE.BoxGeometry(0.6, 0.3, 0.9),
new THREE.MeshStandardMaterial({ color: 0x000000 })
leftFoot.position.set(-0.45, 0.15, 0);
bossGroup.add(leftFoot);
const rightFoot = new THREE.Mesh(
new THREE.BoxGeometry(0.6, 0.3, 0.9),
new THREE.MeshStandardMaterial({ color: 0x000000 })
rightFoot.position.set(0.45, 0.15, 0);
bossGroup.add(rightFoot);
const gunGroup1 = new THREE.Group();
Body1 = new THREE.Mesh(
new THREE.BoxGeometry(0.45, 0.15, 0.9),
new THREE.MeshStandardMaterial({ color: 0x333333 })
gunBody1.position.set(0, 0.3, 0);
gunGroup1.add(gunBody1);
const gunHandle1 = new THREE.Mesh(
new THREE.BoxGeometry(0.15, 0.45, 0.15),
new THREE.MeshStandardMaterial({ color: 0x222222 })
gunHandle1.position.set(0, -0.15, 0);
gunGroup1.add(gunHandle1);
gunGroup1.position.set(0.9, 3.0, 0.6);
gunGroup1.rotation.y = -Math.PI / 4;
bossGroup.add(gunGroup1);
const gunGroup2 = new THREE.Group();
unBody2 = new THREE.Mesh(
new THREE.BoxGeometry(0.45, 0.15, 0.9),
new THREE.MeshStandardMaterial({ color: 0x333333 })
gunBody2.position.set(0, 0.3, 0);
gunGroup2.add(gunBody2);
const gunHandle2 = new THREE.Mesh(
new THREE.BoxGeometry(0.15, 0.45, 0.15),
new THREE.MeshStandardMaterial({ color: 0x222222 })
gunHandle2.position.set(0, -0.15, 0);
gunGroup2.add(gunHandle2);
gunGroup2.position.set(-0.9, 3.0, 0.6);
gunGroup2.rotation.y = Math.PI / 4;
bossGroup.add(gunGroup2);
bossGroup.position.set(x, 0, z);
bossGroup.receiveShadow = true;
bossGroup.visible = true;
console.error('createBoss: scene is not defined!');
scene.add(bossGroup);
const health = 2000;
const speed = 0.025; // Langsamer, aber massiv
const shootCooldown = 1500;
let damage = 50; // Sehr viel Schaden
if (currentLevel === 4) {
damage = Math.max(1, Math.floor(damage / 4)); // Mindestens 1 Schaden
const healthBarSprite = createEnemyHealthBar(bossGroup, 'grinch');
if (healthBarSprite) {
cale.set(2.0, 0.3, 1.0); // Gr
healthBarSprite.position.y = 6.0; // H
position: new THREE.Vector3(x, 0, z),
shootCooldown: shootCooldown,
healthBar: healthBarSprite,
gunGroup1: gunGroup1, // Referenz zur ersten Waffe
gunGroup2: gunGroup2, // Referenz zur zweiten Waffe
lastSpecialAttack: 0, // Zeitpunkt der letzten Spezialattacke
cialAttackCooldown: 8000, // 8 Sekunden Cooldown
phase: 1 // Phase 1 = normal, 2 = bei 50% HP, 3 = bei 25% HP
function spawnEnemies() {
console.log('spawnEnemies: Starting...');
console.log(`spawnEnemies: currentLevel=${currentLevel}, levelSize=${levelSize}, cellSize=${cellSize}`);
console.log(`spawnEnemies: level array exists: ${Array.isArray(level)}, length: ${level ? level.length : 0}`);
if (!level || !Array.isArray(level) || level.length === 0) {
console.error('spawnEnemiesM
: Level array is not initialized! Cannot spawn enemies.');
let floorCellCount = 0;
if (level && level.length > 0) {
for (let z = 0; z < levelSize; z++) {
for (let x = 0; x < levelSize; x++) {
if (level[z][x] === 0) floorCellCount++;
console.log(`spawnEnemies: Total floor cells in level: ${floorCellCount}`);
if (currentLevel === 4) {
maxEnemies = 15; // Level 1
if (currentLevel === 2) {
se if (currentLevel >= 3) {
const multipliers = difficultyMultipliers[difficultyLevel] || difficultyMultipliers.easy;
maxEnemies = Math.floor(maxEnemies * multipliers.enemyCount);
const validSpawnPositions = [];
const enemyRadius = 0.4; // Radius f
for (let gridZ = 1; gridZ < levelSize - 1; gridZ++) {
for (let gridX = 1; gridX < levelSize - 1; gridX++) {
if (level[gridZ] && level[gridZ][gridX] === 0) {
const x = (gridX - levelSize / 2) * cellSize + cellSize / 2;
(gridZ - levelSize / 2) * cellSize + cellSize / 2;
let canSpawn = true;
if (currentLevel === 4) {
const distToBoss = Math.sqrt(x * x + z * z);
if (distToBoss <= 5) {
canSpawn = false; // Zu nah am Boss
if (player && player.position) {
const distToPlayer = Math.sqrt(
Math.pow(x - player.position.x, 2) +
Math.pow(z - player.position.z, 2)
if (distToPlayer <= 3) {
validSpawnPositions.push({ x, z });
console.log(`spawnEnemies: Found ${validSpawnPositions.lenM
gth} potential spawn positions`);
if (validSpawnPositions.length > 0) {
console.log(`spawnEnemies: First 5 positions:`, validSpawnPositions.slice(0, 5));
console.error('spawnEnemies: NO VALID SPAWN POSITIONS FOUND!');
console.log('spawnEnemies: Sample level values:');
for (let z = 0; z < Math.min(5, levelSize); z++) {
for (let x = 0; x < Math.min(10, levelSize); x++) {
row += level[z][x] + ' ';
console.log(` level[${z}]: ${row}`);
if (currentLevel === 4) {
Size = levelSize * cellSize;
const minDistance = 10; // Mindestabstand zwischen Gegnern
for (let i = validSpawnPositions.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[validSpawnPositions[i], validSpawnPositions[j]] = [validSpawnPositions[j], validSpawnPositions[i]];
const spawnedPositions = [];
const enemiesToSpawn = [];
for (let i = 0; i < validSpawnPositions.length && enemiesToSpawn.length < maxEnemies; i++) {
const pos = validSpawnPositions[i];
let canSpawn = true;
dPos of spawnedPositions) {
const dist = Math.sqrt(
Math.pow(pos.x - spawnedPos.x, 2) +
Math.pow(pos.z - spawnedPos.z, 2)
if (dist < minDistance) {
const rand = Math.random();
const type = rand < 0.33 ? 'snowman' : rand < 0.66 ? 'elf' : 'grinch';
enemiesToSpawn.push({ x: pos.x, z: pos.z, type: type });
spawnedPositions.push({ x: pos.x, z: pos.z });
const batchSize = 3; // Spawne 3 Gegner pro Frame
const spawnBatch = () => {
const endIndex = MatM
h.min(batchIndex + batchSize, enemiesToSpawn.length);
for (let i = batchIndex; i < endIndex; i++) {
const enemyData = enemiesToSpawn[i];
const enemy = createEnemy(enemyData.x, enemyData.z, enemyData.type);
console.error(`spawnEnemies: ERROR creating enemy:`, error);
batchIndex = endIndex;
if (batchIndex < enemiesToSpawn.length) {
requestAnimationFrame(spawnBatch);
console.log(`Level 4: Spawned ${spawnCount} enemies with better distribution (async)`);M
for (let i = validSpawnPositions.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[validSpawnPositions[i], validSpawnPositions[j]] = [validSpawnPositions[j], validSpawnPositions[i]];
const enemiesToSpawn = Math.min(validSpawnPositions.length, maxEnemies);
console.log(`spawnEnemies: Will attempt to spawn ${enemiesToSpawn} enemies`);
for (let i = 0; i < validSpawnPositions.length && spawnCount < maxEnemies; i++) {
const pos = validSpawnPositions[i];
const type = rand < 0.33 ? 'snowman' : rand < 0.66 ? 'elf' : 'grinch';
console.log(`spawnEnemies: Creating enemy ${spawnCount + 1}/${maxEnemies} of type ${type} at (${pos.x.toFixed(2)}, ${pos.z.toFixed(2)})`);
const enemy = createEnemy(pos.x, pos.z, type);
console.log(`spawnEnemies: Enemy ${spawnCount} created successfully, mesh visible: ${enemy.mesh ? enemy.mesh.visible : 'no mesh'}`);
console.error(`spawnEnemies: createEnemy returned null for position (${poM
console.error(`spawnEnemies: ERROR creating enemy of type ${type}:`, error);
console.error('Error message:', error.message);
console.error('Stack:', error.stack);
if (spawnCount < maxEnemies) {
console.warn(`spawnEnemies: Only spawned ${spawnCount}/${maxEnemies} enemies. Not enough valid spawn positions.`);
if (currentLevel === 4) {
const bossX = 0; // Zentrum
const bossZ = 0; // Zentrum
console.log(`Level 4: Attempting to create boss at (${bossX}, ${bossZ})`);
oss = createBoss(bossX, bossZ);
console.log('Boss created successfully at center of arena');
console.log(`Boss health: ${boss.health}, Boss position: (${boss.position.x}, ${boss.position.z})`);
console.error('FAILED to create boss!');
console.log(`spawnEnemies: Completed. Spawned ${spawnCount} enemies.`);
console.log(`spawnEnemies: enemies array length: ${enemies.length}`);
if (currentLevel === 4) {
console.log(`Level 4: Total enemies (including boss): ${enemies.length}`);
awnEnemies: scene children count: ${scene ? scene.children.length : 'scene is null'}`);
let enemiesInScene = 0;
for (let enemy of enemies) {
if (enemy.mesh && scene.children.includes(enemy.mesh)) {
console.error(`spawnEnemies: Enemy mesh not in scene!`, enemy);
console.log(`spawnEnemies: ${enemiesInScene}/${enemies.length} enemies are in the scene`);
const loader = new GLTFLoader();
function createPickup(x, z, type) {
console.error('createPickup: scene iM
const pickupGroup = new THREE.Group();
pickupGroup.position.set(x, 0.5, z); // Y-Position auf 0.5, damit es
ber dem Boden schwebt
position: new THREE.Vector3(x, 0.5, z),
if (type === 'medkit') {
const fallback = new THREE.Mesh(
new THREE.BoxGeometry(0.3, 0.8, 0.3),
new THREE.MeshStandardMaterial({ color: 0xff0000 })
fallback.position.y = 0.4;
pickupGroup.add(fallback);
if (assetCache.models.candyCaM
if (!pickup.collected && pickupGroup) {
pickupGroup.clear();
const model = assetCache.models.candyCane.scene.clone(); // Klone das Modell
model.scale.set(0.25, 0.25, 0.25);
model.rotation.x = Math.PI / 8;
model.position.y = 0.5;
pickupGroup.add(model);
loader.load('/content/0725617c05c03767ac263830b4dff5ec4380223670dcffbb9a3c880bdc8d8df6i0', (gltf) => {
assetCache.models.candyCane = gltf; // Cache speichern
if (!pickup.collected && pickupGroup) {
pickupGroup.clear();
const model = gltf.scene.clone(M
); // Klone das Modell
model.scale.set(0.25, 0.25, 0.25);
model.rotation.x = Math.PI / 8;
model.position.y = 0.5;
pickupGroup.add(model);
}, undefined, (error) => {
console.warn('Could not load candy_cane.glb, using fallback');
} else if (type === 'ammo') {
const fallback = new THREE.Mesh(
new THREE.BoxGeometry(0.4, 0.4, 0.4),
new THREE.MeshStandardMaterial({ color: 0xffff00 })
fallback.position.y = 0.2;
pickupGroup.add(fallback);
if (assetCache.models.present) {
if (!pickup.collected && pickupGroup) {
const model = assetCache.models.present.scene.clone(); // Klone das Modell
model.scale.set(0.3, 0.3, 0.3);
model.position.y = 0.3;
pickupGroup.add(model);
loader.load('/content/4631b1ac4911845111e340d316e0cb536722a468f96d3a2b20eb326b29facf92i0', (gltf) => {
assetCache.models.present = gltf; // Cache speichern
if (!pickup.collected && pickupGroup) {
pickupGroup.clear();
const model = gltf.scene.clone(); // Klone das Modell
model.scale.set(0.3, 0.3, 0.3);
model.position.y = 0.3;
}, undefined, (error) => {
console.warn('Could not load present.glb, using fallback');
pickupGroup.castShadow = true;
pickupGroup.receiveShadow = true;
scene.add(pickupGroup);
pickups.push(pickup);
console.error('Error adding pickup to scene:', error);
function spawnPickups() {
let medkitCount = 3;
if (currentLevel === 4) {
let medkitsSpawned = 0;
let ammosSpawned = 0M
const maxAttempts = currentLevel === 4 ? 1000 : 500;
while (medkitsSpawned < medkitCount && attempts < maxAttempts) {
let x = (Math.random() - 0.5) * (levelSize - 2) * cellSize;
let z = (Math.random() - 0.5) * (levelSize - 2) * cellSize;
let gridX = Math.floor((x / cellSize) + levelSize / 2);
let gridZ = Math.floor((z / cellSize) + levelSize / 2);
if (gridX > 0 && gridX < levelSize - 1 && gridZ > 0 && gridZ < levelSize - 1) {
if (level[gridZ][gridX] === 0) {
const distToPlayer = MathM
Math.pow(x - player.position.x, 2) +
Math.pow(z - player.position.z, 2)
let canSpawn = true;
if (distToPlayer <= 3) {
if (currentLevel === 4) {
const distToBoss = Math.sqrt(x * x + z * z);
if (distToBoss <= 3) {
canSpawn = false; // Zu nah am Boss (reduziert von 5 auf 3)
createPickup(x, z, 'medkit');
while (ammosSpawned < ammoCount && attempts < maxAttempts) {
let x = (Math.random() - 0.5) * (levelSize - 2) * cellSM
let z = (Math.random() - 0.5) * (levelSize - 2) * cellSize;
let gridX = Math.floor((x / cellSize) + levelSize / 2);
let gridZ = Math.floor((z / cellSize) + levelSize / 2);
if (gridX > 0 && gridX < levelSize - 1 && gridZ > 0 && gridZ < levelSize - 1) {
if (level[gridZ][gridX] === 0) {
const distToPlayer = Math.sqrt(
Math.pow(x - player.position.x, 2) +
Math.pow(z - player.position.z, 2)
let canSpawn = true;
if (distToPlayer <= 3) {
if (currentLevel === 4) {
const distToBoss = Math.sqrt(x M
if (distToBoss <= 3) {
canSpawn = false; // Zu nah am Boss (reduziert von 5 auf 3)
createPickup(x, z, 'ammo');
function checkAndSpawnAmmoIfNeeded() {
let hasNoAmmo = true;
for (const weapon of unlockedWeapons) {
if (weapon === 'grenade') continue; // Granaten ignorieren
if (playerAmmo[weapon] && playerAmmo[weapon] > 0) {
const ammoPickupsOnMap = pickups.filter(p => p.type === 'ammo' && !p.collected);
const hasNoAmmoPickups = aM
mmoPickupsOnMap.length === 0;
if (hasNoAmmo && hasNoAmmoPickups && !lastAmmoSpawnCheck) {
spawnEmergencyAmmoPickups(2);
lastAmmoSpawnCheck = true;
if (!hasNoAmmo || !hasNoAmmoPickups) {
lastAmmoSpawnCheck = false;
function spawnEmergencyAmmoPickups(count) {
console.log(`Spawning ${count} emergency ammo pickups`);
const maxAttempts = 200;
while (spawned < count && attempts < maxAttempts) {
let x = (Math.random() - 0.5) * (levelSize - 2) * cellSize;
andom() - 0.5) * (levelSize - 2) * cellSize;
let gridX = Math.floor((x / cellSize) + levelSize / 2);
let gridZ = Math.floor((z / cellSize) + levelSize / 2);
if (gridX > 0 && gridX < levelSize - 1 && gridZ > 0 && gridZ < levelSize - 1) {
if (level[gridZ][gridX] === 0) {
const distToPlayer = Math.sqrt(
Math.pow(x - player.position.x, 2) +
Math.pow(z - player.position.z, 2)
let canSpawn = true;
if (distToPlayer <= 3) {
if (currentLevel === 4) {
const distToBoss = Math.sqrt(x * x + z * z);
for (const pickup of pickups) {
if (!pickup.collected) {
const distToPickup = Math.sqrt(
Math.pow(x - pickup.position.x, 2) +
Math.pow(z - pickup.position.z, 2)
if (distToPickup < 2) {
createPickup(x, z, 'ammo');
const weapon = weaponConfigs[currentWeapon];
console.warn('Weapon not found:', currentWeapon);
const now = Date.now();
if (isReloading) return;
rAmmo[currentWeapon] <= 0) {
return; // Keine automatische Auff
llung - Spieler muss manuell nachladen
if (now - lastShotTime < weapon.fireRate) return;
playerAmmo[currentWeapon] -= weapon.ammoPerShot;
weaponsUsed.add(currentWeapon);
playShootSound(currentWeapon);
if (weapon.muzzleFlash) {
let direction = new THREE.Vector3(0, 0, -1);
if (!camera || !player) {
console.error('Camera or player not defined in shoot()');
return; // Kann nicht schie
if (sniperZoom && currentWeapon === 'sniper') {
direction.applyQuaternion(camera.quaternion);
const euler = new THREE.Euler(player.rotation.x, player.rotation.y, 0, 'YXZ');
const quat = new THREE.Quaternion().setFromEuler(euler);
direction.applyQuaternion(quat);
const spread = weapon.spread;
direction.x += (Math.random() - 0.5) * spread;
direction.y += (Math.random() - 0.5) * spread;
direction.normalize();
direction = applyAimAssist(direction);
if (!direction || !isFinite(direction.x) ||M
!isFinite(direction.y) || !isFinite(direction.z)) {
direction = new THREE.Vector3(0, 0, -1);
if (sniperZoom && currentWeapon === 'sniper') {
direction.applyQuaternion(camera.quaternion);
const euler = new THREE.Euler(player.rotation.x, player.rotation.y, 0, 'YXZ');
const quat = new THREE.Quaternion().setFromEuler(euler);
direction.applyQuaternion(quat);
direction.normalize();
if (weapon.explosive) {
if (assetCache.grenadeMeshPool && assetCache.grenadeMeshPool.length > 0) {
= assetCache.grenadeMeshPool.pop();
grenadeMesh.visible = true;
grenadeMesh = new THREE.Mesh(assetCache.geometries.grenade, assetCache.materials.grenade);
grenadeMesh.position.copy(camera.position);
scene.add(grenadeMesh);
const upgrades = weaponUpgrades[currentWeapon] || { damage: 1.0, fireRate: 1.0, range: 1.0 };
position: camera.position.clone(),
velocity: direction.clone().multiplyScalar(0.5),
damage: weapon.damage * upgrades.damage,M
range: 5 * upgrades.range
bullets.push(grenade);
const bulletSize = currentWeapon === 'mg' ? 0.08 : 0.06;
const bulletColor = currentWeapon === 'mg' ? 0xff6600 : (currentWeapon === 'rifle' ? 0x00ffff : 0xffff00);
const geomKey = currentWeapon === 'mg' ? 'bulletMg' : 'bullet';
if (!assetCache.geometries[geomKey]) {
assetCache.geometries[geomKey] = new THREE.SphereGeometry(bulletSize, 8, 8);
if (!assetCache.materials.bullet[bulletColor]) {
assetCache.materials.bullet[bulletColor] = new THREE.MeshStandaM
emissive: bulletColor,
emissiveIntensity: 2.0
const bulletMesh = new THREE.Mesh(assetCache.geometries[geomKey], assetCache.materials.bullet[bulletColor]);
bulletMesh.position.copy(camera.position);
scene.add(bulletMesh);
const tracerLength = 0.5;
if (!assetCache.geometries.tracer) {
assetCache.geometries.tracer = new THREE.CylinderGeometry(0.02, 0.02, tracerLength, 8);
const tracerGeometry = assetCache.geometries.tracer;
const tracerColor = currentWeapon === 'mg' ? 0xff6600 M
: (currentWeapon === 'rifle' ? 0x00ffff : 0xffff00);
if (!assetCache.materials.tracer) {
assetCache.materials.tracer = {};
if (!assetCache.materials.tracer[tracerColor]) {
assetCache.materials.tracer[tracerColor] = new THREE.MeshStandardMaterial({
emissive: tracerColor,
emissiveIntensity: 3.0
const tracerMaterial = assetCache.materials.tracer[tracerColor];
const tracer = new THREE.Mesh(tracerGeometry, tracerMaterial);
tracer.position.copy(camera.position);
tracer.lookAt(camera.position.cM
lone().add(direction.clone().multiplyScalar(tracerLength)));
createMuzzleFlash3D(camera.position, direction);
const upgrades = weaponUpgrades[currentWeapon] || { damage: 1.0, fireRate: 1.0, range: 1.0 };
position: camera.position.clone(),
direction: direction.clone(),
range: weapon.range * upgrades.range,
damage: weapon.damage * upgrades.damage,
bullets.push(bullet);
const originalZ = weaM
weaponMesh.position.z += 0.05;
weaponMesh.position.z = originalZ;
function createFlameParticle(pos, dir) {
for (let i = 0; i < 5; i++) {
const particleGeometry = new THREE.SphereGeometry(0.05, 4, 4);
const particleMaterial = new THREE.MeshBasicMaterial({
color: new THREE.Color().setHSL(0.1, 1, 0.5),
const particle = new THREE.Mesh(particleGeometry, particleMaterial);
particle.position.copy(pos)M
particle.position.add(dir.clone().multiplyScalar(0.5 + i * 0.2));
scene.add(particle);
velocity: dir.clone().multiplyScalar(0.3).add(
(Math.random() - 0.5) * 0.1,
(Math.random() - 0.5) * 0.1,
(Math.random() - 0.5) * 0.1
function updateBullets() {
if (gameState !== 'playing') {
for (let i = bullets.length - 1; i >= 0; i--) {
const bullet = bullets[i];
if (bullet.type === 'grenade') {
bullet.velocity.y -= 0.01; // GraM
bullet.position.add(bullet.velocity);
if (bullet.timer <= 0 || bullet.position.y < 0) {
const explosionPos = bullet.position.clone();
const explosionDamage = bullet.damage;
const explosionRange = bullet.range;
const grenadeMesh = bullet.mesh;
scene.remove(grenadeMesh);
grenadeMesh.visible = false;
if (assetCache.grenadeMeshPool) {
assetCache.grenadeMeshPool.push(grenadeMesh);
bullets.splice(i, 1);
requestAnimationFrame(() => {
createExplosion(explosionPos, explosionDamage, explosionRange)M
bullet.mesh.position.copy(bullet.position);
const move = bullet.direction.clone().multiplyScalar(bullet.speed);
bullet.position.add(move);
bullet.traveled += bullet.speed;
bullet.mesh.position.copy(bullet.position);
if (bullet.tracer && bullet.position && bullet.direction) {
const pos = bullet.position instanceof THREE.Vector3 ? bullet.position : new THREE.Vector3(bullet.position.x, bullet.position.y, bullet.position.z);
const dir = bullet.direction instanceof THREE.VM
ector3 ? bullet.direction : new THREE.Vector3(bullet.direction.x, bullet.direction.y, bullet.direction.z);
const tracerPos = pos.clone().sub(dir.clone().multiplyScalar(0.15));
bullet.tracer.position.copy(tracerPos);
bullet.tracer.lookAt(pos);
if (bullet.traveled > bullet.range) {
if (bullet.mesh) scene.remove(bullet.mesh);
if (bullet.tracer) scene.remove(bullet.tracer);
bullets.splice(i, 1);
let bulletHit = false;
if (bullet.type === 'bullet' && enemies.length > 0) {
for (let j = enemies.length - 1;M
const enemy = enemies[j];
if (!enemy || !enemy.position || !enemy.mesh) {
const bulletPos = bullet.position instanceof THREE.Vector3
? bullet.position.clone()
: new THREE.Vector3(bullet.position.x, bullet.position.y, bullet.position.z);
if (enemy.position instanceof THREE.Vector3) {
enemyPos = enemy.position.clone();
} else if (enemy.position && typeof enemy.position.x !== 'undefined') {
enemyPos = new THREE.Vector3(enemy.position.x, enemy.M
position.y || 0, enemy.position.z);
} else if (enemy.mesh && enemy.mesh.position) {
enemyPos = enemy.mesh.position.clone();
continue; // Keine g
ltige Position gefunden
if (enemy.type === 'grinch') {
const debugDist = Math.sqrt(
Math.pow(bulletPos.x - enemyPos.x, 2) +
Math.pow(bulletPos.z - enemyPos.z, 2)
if (debugDist < 1.0 && debugDist > 0.5) {
console.log(`GRINCH MISS DEBUG: Dist: ${debugDist.toFixed(3)}, Bullet: (${bulletPos.x.toFixed(2)}, ${bulletPos.y.toFixed(2)}, ${bulletPos.z.toFixed(2)}), EnM
emy: (${enemyPos.x.toFixed(2)}, ${enemyPos.y.toFixed(2)}, ${enemyPos.z.toFixed(2)})`);
let isHeadshot = false;
let headshotMultiplier = 1.0;
const headY = bulletPos.y - enemyPos.y;
if (enemy.type === 'snowman' && headY >= 1.3 && headY <= 1.9) {
headshotMultiplier = 2.5;
} else if (enemy.type === 'elf' && headY >= 1.1 && headY <= 1.5) {
headshotMultiplier = 2.5;
} else if (enemy.type === 'grinch' && headY >= 1.25 && headY <= 1.75) {
headshotMultiplier = 2.M
} else if ((enemy.type === 'boss' || enemy.isBoss) && headY >= 3.5 && headY <= 5.5) {
headshotMultiplier = 3.0; // Noch mehr Schaden f
} else if (headY >= 1.1 && headY <= 1.5) {
headshotMultiplier = 2.5;
const horizontalDist = Math.sqrt(
Math.pow(bulletPos.x - enemyPos.x, 2) +
Math.pow(bulletPos.z - enemyPos.z, 2)
let maxHorizontalDist = 0.6; // Standard - erh
r bessere Treffererkennung
let minVerticalDist = -0.2; // Minimale Y-H
let maxVerticalHeight = 2.5; // Maximale Y-H
if (enemy.type === 'snowman') {
maxHorizontalDist = 0.65; // Snowman ist breit - erh
r bessere Treffererkennung
minVerticalDist = -0.2;
maxVerticalHeight = 2.3; // Bis zur Spitze des Kopfes + Toleranz
} else if (enemy.type === 'elf') {
maxHorizontalDist = 0.5; // Elf - erh
r bessere Treffererkennung
minVerticalDist = -0.2;
maxVerticalHeight = 2.0; // Bis zur Hutspitze + mehr Toleranz
} else if (enemy.type === 'grinch') {M
maxHorizontalDist = 0.7; // Grinch - ERH
r bessere Treffererkennung (Radius 0.3 + Toleranz 0.4)
minVerticalDist = -0.3; // Mehr Toleranz nach unten
maxVerticalHeight = 2.5; // Bis zur Spitze des Kopfes + mehr Toleranz (Kopf bei y=1.5, Radius 0.25)
} else if (enemy.type === 'boss' || enemy.isBoss) {
maxHorizontalDist = 1.2; // Sehr gro
minVerticalDist = -0.5;
maxVerticalHeight = 6.0; // Bis zur Spitze des riesigen Kopfes
const verticalDist = bulletPos.y - enemyPos.y;
const isWithinVerticalBounds = verticM
alDist >= minVerticalDist && verticalDist <= maxVerticalHeight;
let hitDetected = horizontalDist < maxHorizontalDist && isWithinVerticalBounds;
if (enemy.type === 'grinch' && !hitDetected) {
const expandedDist = maxHorizontalDist * 1.2;
const expandedHeight = maxVerticalHeight * 1.1;
if (horizontalDist < expandedDist && verticalDist >= minVerticalDist && verticalDist <= expandedHeight) {
console.log(`GRINCH HIT (expanded hitbox): Dist: ${horizontalDist.toFixed(3)}, Y-diff: ${verticalDist.toFixedM
const finalDamage = bullet.damage * headshotMultiplier;
enemy.health -= finalDamage;
console.log(`HIT! Enemy: ${enemy.type}, Damage: ${finalDamage.toFixed(1)}, Health: ${enemy.health.toFixed(1)}/${enemy.maxHealth}, Dist: ${horizontalDist.toFixed(3)}, Y-diff: ${verticalDist.toFixed(3)}`);
createBulletImpact(bulletPos);
createHitParticle(enemyPos);
playHeadshotSound();
playRandomSantaQuote(0.3);
checkWeaponUnlocks();
let deathSoundPlayed = false;
if (enemy.health <= 0) {
const now = Date.now();
if (now - lastKillTime > killstreakTimeout) {
killstreak = 0; // Reset Killstreak wenn zu lange zwischen Kills
if (killstreak > maxKillstreak) {
maxKillstreak = killstreak;
killstreakMultiplier = Math.min(3.0, 1.0 + (killstreak - 1) * 0.2);
showKillstreakDisplay();
if (killstreak >= 3) {
reakSound(killstreak);
if (enemy.type === 'boss' || enemy.isBoss) {
} else if (enemy.type === 'grinch') {
} else if (enemy.type === 'snowman') {
} else if (enemy.type === 'elf') {
const headshotBonus = isHeadshot ? 2.0 : 1.0;
const finalScore = Math.floor(baseScore * killstreakMultiplier * headshotBonus);
playerScore += finalScore;
showKillText(isHeadshot);
createKillParticles(enemyPos, iM
sHeadshot, killstreak);
if (killstreak >= 5) {
playRandomSantaQuote(0.5);
createEnemyDeathCircle(enemyPos);
if (enemy.type === 'snowman') {
const pickupOffset = 0.5; // Kleine Verschiebung
const pickupX = enemyPos.x + (Math.random() - 0.5) * pickupOffset;
const pickupZ = enemyPos.z + (Math.random() - 0.5) * pickupOffset;
const pickupType = Math.random() < 0.5 ? 'medkit' : 'ammo';
createPickup(pickupX, pickupZ, pickupType);
} else if (playerHealth <= 30) {
if (Math.random() < 0.3) {
const pickupOffset = 0.5;
pickupX = enemyPos.x + (Math.random() - 0.5) * pickupOffset;
const pickupZ = enemyPos.z + (Math.random() - 0.5) * pickupOffset;
createPickup(pickupX, pickupZ, 'medkit');
if (!deathSoundPlayed) {
deathSoundPlayed = true;
const rand = Math.random();
if (enemy.type === 'elf' && rand < 0.5 && elfDeathSound) {
elfDeathSound.currentTime = 0;
elfDeathSound.play().catch(e => {});
} else if (enemy.type === 'grinch' && rand < 0.5 && grinchDeathSound) {
grinchDeathSound.currentTime = 0;
grinchDeathSound.play().catch(e =>M
} else if (enemy.type === 'snowman' && rand < 0.5 && snowmanDeathSound) {
snowmanDeathSound.currentTime = 0;
snowmanDeathSound.play().catch(e => {});
} else if (randomDeathSounds.length > 0) {
const randomSound = randomDeathSounds[Math.floor(Math.random() * randomDeathSounds.length)];
randomSound.currentTime = 0;
randomSound.play().catch(e => {});
if (enemy.type === 'boss' || enemy.isBoss) {
playerScore += 1000; // Riesiger Score f
} else if (enemy.type === 'grinch') {
} else if (enemy.type === 'snowman') {
} else if (enemy.type === 'elf') {
checkWeaponUnlocks();
animateEnemyDeath(enemy, enemyPos);
enemies.splice(j, 1);
break; // Nur ein Gegner pro Bullet
if (bulletHit && bullet.type !== 'flame') {
if (bullet.mesh && scene.children.includes(bullet.mesh)) {
scene.remove(bullet.mesh);
if (bullet.tracer && scene.children.includes(bullet.tracer)) {
scene.remove(bullet.tracer);
bullets.splice(i, 1);
// Korrigiere Index nach splice
berspringe weitere Verarbeitung f
let gridX = Math.floor((bullet.position.x / cellSize) + levelSize / 2);
let gridZ = Math.floor((bullet.position.z / cellSize) + levelSize / 2);
if (gridX < 0 || gridX >= levelSize || gridZ < 0 || gridZ >= levelSize ||
level[gridZ][gridX] === 1) {
if (bullet.type === 'bullet' && bullet.position) {
createBulletImpact(bullet.position);
if (bullet.type === 'grenade') {
createExplosion(bullet.position, bullet.damage,M
scene.remove(bullet.mesh);
if (bullet.mesh) scene.remove(bullet.mesh);
if (bullet.tracer) scene.remove(bullet.tracer);
bullets.splice(i, 1);
function createMuzzleFlash3D(pos, dir) {
const baseFlashCount = currentWeapon === 'mg' ? 15 : 10;
const flashCount = Math.floor(baseFlashCount * performanceLevel);
const flashColor = currentWeapon === 'mg' ? 0xff6600 : (currentWeapon === 'rifle' ? 0x00ffff : 0xffff00);
for (let i = 0; i < flashCount; i++) {
const flashSize = currentWeapon === 'mg' ? 0.0M
5 + Math.random() * 0.03 : 0.04 + Math.random() * 0.02;
const flashGeometry = new THREE.SphereGeometry(flashSize, 6, 6);
const flashMaterial = new THREE.MeshStandardMaterial({
emissive: flashColor,
emissiveIntensity: 4.0,
const flash = new THREE.Mesh(flashGeometry, flashMaterial);
const offset = dir.clone().multiplyScalar(0.15);
offset.add(new THREE.Vector3(
(Math.random() - 0.5) * 0.08,
(Math.random() - 0.5) * 0.08,
(Math.random() - 0.5) * 0.08
ion.copy(pos).add(offset);
const velocity = dir.clone().multiplyScalar(0.1 + Math.random() * 0.1);
velocity.add(new THREE.Vector3(
(Math.random() - 0.5) * 0.05,
(Math.random() - 0.5) * 0.05,
(Math.random() - 0.5) * 0.05
position: flash.position.clone(),
if (currentWeapon === 'mg') {
const bigFlash = new THREE.Mesh(
new THREE.SphereGeometry(0.15, 8, 8),
new THREE.MeshStandardMaterial({
emissiveIntensity: 5.0,
bigFlash.position.copy(pos).add(dir.clone().multiplyScalar(0.2));
scene.add(bigFlash);
position: bigFlash.position.clone(),
velocity: dir.clone().multiplyScalar(0.2),
function addScreenShake(intensity, duration) {
screenShake.intensity = Math.max(screenShake.intensity, intensity);
screenShake.duration = Math.max(screenShake.duration, duration);
function updateScreenShake() {
Shake.duration > 0) {
const shakeX = (Math.random() - 0.5) * screenShake.intensity;
const shakeY = (Math.random() - 0.5) * screenShake.intensity;
camera.position.x = cameraOriginalPosition.x + shakeX;
camera.position.y = cameraOriginalPosition.y + shakeY;
camera.position.z = cameraOriginalPosition.z; // Z-Position auch explizit setzen
screenShake.duration -= 16; // 16ms pro Frame (angenommen 60 FPS)
screenShake.intensity *= 0.95; // Abklingend
if (screenShake.duration <= 0) {
screenShake.intensity = 0;
camera.position.copy(cameraOriginalPosition);
camera.position.x = cameraOriginalPosition.x;
camera.position.y = cameraOriginalPosition.y;
camera.position.z = cameraOriginalPosition.z;
function createBulletHole(pos, normal) {
const gridX = Math.floor((pos.x / cellSize) + levelSize / 2);
const gridZ = Math.floor((pos.z / cellSize) + levelSize / 2);
if (gridX < 0 || gridX >= levelSize || gridZ < 0 || gridZ >= levelSize) return;
if (level[gridZ][gridX] !== 1) return; // Nur an W
holeGeometry = new THREE.CircleGeometry(0.08, 16);
const holeMaterial = new THREE.MeshStandardMaterial({
side: THREE.DoubleSide
const hole = new THREE.Mesh(holeGeometry, holeMaterial);
hole.position.copy(pos);
hole.lookAt(pos.clone().add(normal));
hole.rotation.z = Math.random() * Math.PI * 2; // Zuf
life: 30000 // 30 Sekunden
if (bulletHoles.length > 50) {
const oldHole = bulletHoles.shift();
if (oldHole.mesh) scene.remove(olM
function createBulletImpact(pos) {
const baseSparkCount = currentWeapon === 'mg' ? 10 : 8;
const sparkCount = Math.floor(baseSparkCount * performanceLevel);
const sparkColor = currentWeapon === 'mg' ? 0xff6600 : (currentWeapon === 'rifle' ? 0x00ffff : 0xffff00);
const gridX = Math.floor((pos.x / cellSize) + levelSize / 2);
const gridZ = Math.floor((pos.z / cellSize) + levelSize / 2);
if (gridX >= 0 && gridX < levelSize && gridZ >= 0 && gridZ < levelSize && level[gridZ][gridX] === 1) {
= new THREE.Vector3(0, 0, 1); // Vereinfachte Normale
createBulletHole(pos, normal);
for (let i = 0; i < sparkCount; i++) {
const sparkSize = 0.03 + Math.random() * 0.02;
const sparkGeometry = new THREE.SphereGeometry(sparkSize, 6, 6);
const sparkMaterial = new THREE.MeshStandardMaterial({
emissive: sparkColor,
emissiveIntensity: 3.0
const spark = new THREE.Mesh(sparkGeometry, sparkMaterial);
spark.position.copy(pos);
spark.position.add(new THREE.Vector3(
(Math.random() - 0.5) * 0.15,
.random() - 0.5) * 0.15,
(Math.random() - 0.5) * 0.15
const dir = new THREE.Vector3(
(Math.random() - 0.5) * 0.3,
(Math.random() - 0.5) * 0.3,
(Math.random() - 0.5) * 0.3
position: spark.position.clone(),
velocity: dir.multiplyScalar(0.15),
function createExplosion(pos, damage, range) {
addScreenShake(0.02, 100);
if (assetCache.explosionLightPool && assetCache.explosionLightPool.length > 0) {
sionLight = assetCache.explosionLightPool.pop();
explosionLight.color.setHex(0xff6600);
explosionLight.intensity = 3;
explosionLight.distance = 8;
explosionLight.visible = true;
explosionLight.position.copy(pos);
explosionLight = new THREE.PointLight(0xff6600, 3, 8);
explosionLight.position.copy(pos);
scene.add(explosionLight);
if (scene && scene.children.includes(explosionLight)) {
scene.remove(explosionLight);
explosionLight.visible = false;
if (assetCache.explosionLightPool && !asseM
tCache.explosionLightPool.includes(explosionLight)) {
assetCache.explosionLightPool.push(explosionLight);
const baseExplosionParticleCount = 30;
const explosionParticleCount = Math.floor(baseExplosionParticleCount * performanceLevel);
const poolAvailable = assetCache.explosionParticlePool && assetCache.explosionParticlePool.length >= explosionParticleCount;
if (poolAvailable) {
for (let i = 0; i < explosionParticleCount; i++) {
const dir = new THREE.Vector3(
(Math.random() - 0.5) * 2,
.5 + 0.5, // Nach oben tendierend
(Math.random() - 0.5) * 2
const particle = assetCache.explosionParticlePool.pop();
particle.visible = true;
particle.position.copy(pos);
scene.add(particle);
position: pos.clone(),
velocity: dir.multiplyScalar(0.4 + Math.random() * 0.4), // Variierende Geschwindigkeit
life: 600 + Math.random() * 300, // Variierende Lebensdauer
maxLife: 600 + Math.random() * 300,
const batchSize = 10;
eateExplosionParticles = () => {
const batchEnd = Math.min(created + batchSize, explosionParticleCount);
for (let i = created; i < batchEnd; i++) {
const dir = new THREE.Vector3(
(Math.random() - 0.5) * 2,
Math.random() * 0.5 + 0.5,
(Math.random() - 0.5) * 2
if (assetCache.explosionParticlePool && assetCache.explosionParticlePool.length > 0) {
particle = assetCache.explosionParticlePool.pop();
particle.visible = true;
particle.position.copy(pos);
particle = new THREE.Mesh(
tCache.geometries.explosionSphere,
assetCache.materials.explosionMesh
particle.position.copy(pos);
scene.add(particle);
position: pos.clone(),
velocity: dir.multiplyScalar(0.4 + Math.random() * 0.4),
life: 600 + Math.random() * 300,
maxLife: 600 + Math.random() * 300,
if (created < explosionParticleCount) {
requestAnimationFrame(createExplosionParticles);
requestAnimationFrame(createExplosionParticles);
const baseSmokeParticleCount = M
const smokeParticleCount = Math.floor(baseSmokeParticleCount * performanceLevel);
const smokePoolAvailable = assetCache.smokeParticlePool && assetCache.smokeParticlePool.length >= smokeParticleCount;
if (smokePoolAvailable) {
for (let i = 0; i < smokeParticleCount; i++) {
const smokeDir = new THREE.Vector3(
(Math.random() - 0.5) * 0.5,
Math.random() * 0.5 + 0.5, // Nach oben
(Math.random() - 0.5) * 0.5
const smokeParticle = assetCache.smokeParticlePool.pop();
smokeParticle.visible = true;
rticle.position.copy(pos);
scene.add(smokeParticle);
mesh: smokeParticle,
position: pos.clone(),
velocity: smokeDir.multiplyScalar(0.2 + Math.random() * 0.15), // Langsam nach oben
life: 1200 + Math.random() * 400, // L
maxLife: 1200 + Math.random() * 400,
const batchSize = 10;
let smokeCreated = 0;
const createSmokeParticles = () => {
const batchEnd = Math.min(smokeCreated + batchSize, smokeParticleCount);
for (let i = smokeCreated; i < batchM
const smokeDir = new THREE.Vector3(
(Math.random() - 0.5) * 0.5,
Math.random() * 0.5 + 0.5,
(Math.random() - 0.5) * 0.5
if (assetCache.smokeParticlePool && assetCache.smokeParticlePool.length > 0) {
smokeParticle = assetCache.smokeParticlePool.pop();
smokeParticle.visible = true;
smokeParticle.position.copy(pos);
smokeParticle = new THREE.Mesh(
assetCache.geometries.smokeSphere,
assetCache.materials.smokeMesh
smokeParticle.position.copy(pos);
mesh: smokeParticle,
position: pos.clone(),
velocity: smokeDir.multiplyScalar(0.2 + Math.random() * 0.15),
life: 1200 + Math.random() * 400,
maxLife: 1200 + Math.random() * 400,
smokeCreated = batchEnd;
if (smokeCreated < smokeParticleCount) {
requestAnimationFrame(createSmokeParticles);
requestAnimationFrame(createSmokeParticles);
requestAnimationFrame(() => {
const deadEnemies = [];
const enemyDamageResults = [];
for (let i = enemies.length - 1; i >= 0; i--) {M
const enemy = enemies[i];
const distSquared = pos.distanceToSquared(enemy.position);
const rangeSquared = range * range;
if (distSquared < rangeSquared) {
const dist = Math.sqrt(distSquared);
const dmg = damage * (1 - dist / range);
const newHealth = enemy.health - dmg;
enemyDamageResults.push({
newHealth: newHealth,
isDead: newHealth <= 0
enemy.health = newHealth;
requestAnimationFrame(() => {
for (const result of enemyDamageResults) {
if (result.isDead) {
const enemy = resultM
deadEnemies.push(enemy);
enemies.splice(result.enemyIndex, 1);
let deathSoundPlayed = false;
for (const enemy of deadEnemies) {
setTimeout(() => createEnemyDeathCircle(enemy.position), 0);
if (enemy.type === 'snowman') {
const pickupType = Math.random() < 0.5 ? 'medkit' : 'ammo';
createPickup(enemy.position.x, enemy.position.z, pickupType);
if (!deathSoundPlayed) {
deathSoundPlayed = true;
const rand = Math.random();
if (enemy.type === 'elf' && rand < 0.5 &M
elfDeathSound.currentTime = 0;
elfDeathSound.play().catch(e => {});
} else if (enemy.type === 'grinch' && rand < 0.5 && grinchDeathSound) {
grinchDeathSound.currentTime = 0;
grinchDeathSound.play().catch(e => {});
} else if (enemy.type === 'snowman' && rand < 0.5 && snowmanDeathSound) {
snowmanDeathSound.currentTime = 0;
snowmanDeathSound.play().catch(e => {});
} else if (randomDeathSounds.length > 0) {
const randomSound = randomDeathSounds[Math.floor(Math.random() * randomDeathSounds.length)];
randomSound.currentTime = 0;
randomSound.play().catch(e => {});
const now = Date.now();
if (now - lastKillTime > killstreakTimeout) {
killstreak = 0; // Reset Killstreak wenn zu lange zwischen Kills
if (killstreak > maxKillstreak) {
maxKillstreak = killstreak;
killstreakMultiplier = Math.min(3.0, 1.0 + (killstreak - 1) * 0.2);
showKillstreakDisplay();
if (killstreak >= 3) {
playKillstreakSound(killstreak);
if (enemy.type === 'M
boss' || enemy.isBoss) {
} else if (enemy.type === 'grinch') {
} else if (enemy.type === 'snowman') {
} else if (enemy.type === 'elf') {
const isHeadshot = false; // Explosionen k
nnen keine Headshots sein
const headshotBonus = 1.0; // Kein Headshot-Bonus bei Explosionen
const finalScore = Math.floor(baseScore * killstreakMultiplier * headshotBonus);
playerScore += finalScore;
setTimeout(() => animateEnemyDeath(enemy, enemy.position), 0);
deadEnemies.length > 0) {
checkWeaponUnlocks();
requestAnimationFrame(() => {
requestAnimationFrame(() => {
const distToPlayerSquared = pos.distanceToSquared(player.position);
if (distToPlayerSquared < range * range) {
const distToPlayer = Math.sqrt(distToPlayerSquared);
const dmg = damage * (1 - distToPlayer / range) * 0.5;
function createHitParticle(pos) {
const particleGeometry = new THREE.SphereGeometry(0.05, 4, 4);
const particleMaterial = new THREE.MeshBasicMaterial({ coM
const particle = new THREE.Mesh(particleGeometry, particleMaterial);
particle.position.copy(pos);
scene.add(particle);
velocity: new THREE.Vector3(
(Math.random() - 0.5) * 0.1,
Math.random() * 0.1,
(Math.random() - 0.5) * 0.1
function createDeathParticles(pos) {
for (let i = 0; i < 10; i++) {
const particleGeometry = new THREE.SphereGeometry(0.08, 4, 4);
const particleMaterial = new THREE.MeshBasicMaterial({ color: 0x990000 });
t particle = new THREE.Mesh(particleGeometry, particleMaterial);
particle.position.copy(pos);
scene.add(particle);
velocity: new THREE.Vector3(
(Math.random() - 0.5) * 0.2,
Math.random() * 0.2,
(Math.random() - 0.5) * 0.2
function createKillParticles(pos, isHeadshot, killstreak) {
const baseParticleCount = isHeadshot ? 20 : 10;
const particleCount = Math.floor(baseParticleCount * performanceLevel);
const baseColor = isHeadshot ? 0xffaa00 : 0xff0000M
for (let i = 0; i < particleCount; i++) {
const particleGeometry = new THREE.SphereGeometry(0.1, 4, 4);
const particleMaterial = new THREE.MeshBasicMaterial({
const particle = new THREE.Mesh(particleGeometry, particleMaterial);
particle.position.copy(pos);
particle.position.y += Math.random() * 0.5;
scene.add(particle);
velocity: new THREE.Vector3(
(Math.random() - 0.5) * 0.4,
Math.random() * 0.5 + 0.2,
(Math.random() - 0.5) * M
if (killstreak >= 5) {
const starCount = Math.floor(5 * performanceLevel);
for (let i = 0; i < starCount; i++) {
const starGeometry = new THREE.SphereGeometry(0.15, 8, 8);
const starMaterial = new THREE.MeshBasicMaterial({
const star = new THREE.Mesh(starGeometry, starMaterial);
star.position.copy(pos);
star.position.y += Math.random() * 1.0;
velocity: new THREE.Vector3(
Math.random() * 0.4 + 0.3,
(Math.random() - 0.5) * 0.3
function updateParticles() {
if (gameState !== 'playing') {
if (particles.length > MAX_PARTICLES) {
const toRemove = particles.length - MAX_PARTICLES;
for (let i = 0; i < toRemove; i++) {
const particle = particles[i];
if (particle.mesh && particle.mesh.parent) {
scene.remove(particle.mesh);
particles.splice(i, 1);
for (let i = particles.length - 1; i >= 0; i--) {
const particle = particlM
if (!particle.mesh) {
particles.splice(i, 1);
particle.life -= 16;
if (particle.life <= 0) {
if (particle.mesh && particle.mesh.parent) {
scene.remove(particle.mesh);
if (particle.mesh) {
particle.mesh.visible = false;
if (assetCache.explosionParticlePool &&
particle.mesh.geometry === assetCache.geometries.explosionSphere) {
if (!assetCache.explosionParticlePool.includes(particle.mesh)) {
assetCache.explosionParticlePool.push(particle.mesh);
} else if (assetCache.smokeParticlePool &&
.mesh.geometry === assetCache.geometries.smokeSphere) {
if (!assetCache.smokeParticlePool.includes(particle.mesh)) {
assetCache.smokeParticlePool.push(particle.mesh);
particles.splice(i, 1);
if (particle.position) {
particle.position.add(particle.velocity);
if (particle.mesh) {
particle.mesh.position.copy(particle.position);
} else if (particle.mesh) {
particle.position = particle.mesh.position.clone();
particle.position.add(particle.velocity);
particle.mesh.position.copy(particle.position);
onst opacity = particle.life / particle.maxLife;
if (particle.mesh && particle.mesh.material && particle.mesh.material.opacity !== undefined) {
particle.mesh.material.opacity = opacity;
if (particle.scale !== undefined && particle.mesh) {
const scale = opacity * particle.scale;
particle.mesh.scale.set(scale, scale, scale);
if (particle.velocity) {
particle.velocity.multiplyScalar(0.98); // Friction
for (let i = bulletHoles.length - 1; i >= 0; i--) {
const hole = bulletHoles[i];
e <= 0 || !hole.mesh) {
if (hole.mesh && hole.mesh.parent) {
scene.remove(hole.mesh);
bulletHoles.splice(i, 1);
function checkWallCollisionEnemy(pos, radius) {
const checkPoints = [
[0, 0], // Zentrum
[radius, 0], // Rechts
[-radius, 0], // Links
[0, radius], // Vorne
[0, -radius], // Hinten
[radius * 0.7, radius * 0.7], // Diagonal rechts-vorne
[-radius * 0.7, radius * 0.7], // Diagonal links-vorne
[radius * 0.7, -radius * 0.7], // Diagonal rechts-hinten
[-radius * 0.7, -radiM
us * 0.7] // Diagonal links-hinten
for (let [dx, dz] of checkPoints) {
const checkX = pos.x + dx;
const checkZ = pos.z + dz;
const gridX = Math.floor((checkX / cellSize) + levelSize / 2);
const gridZ = Math.floor((checkZ / cellSize) + levelSize / 2);
if (gridX < 0 || gridX >= levelSize || gridZ < 0 || gridZ >= levelSize) {
erhalb des Levels = Kollision
if (level[gridZ][gridX] === 1) {
return true; // Wand = Kollision
return false; // Keine Kollision
function updateEnemies() {
eState !== 'playing') {
if (enemies.length === 0) {
return; // Keine Warnung mehr, das ist normal
for (let i = enemies.length - 1; i >= 0; i--) {
const enemy = enemies[i];
if (!enemy || !enemy.mesh || !enemy.position) {
console.warn('updateEnemies: Invalid enemy, removing:', enemy);
enemies.splice(i, 1);
const isVisible = isInFrustum(enemy.position, 2);
enemy.mesh.visible = isVisible;
updateEnemyLOD(enemy);
if (!isVisible && performanceLevel < 1.0) {
if (checkWallCollisionEnemy(eM
nemy.position, 0.4)) {
const gridX = Math.floor((enemy.position.x / cellSize) + levelSize / 2);
const gridZ = Math.floor((enemy.position.z / cellSize) + levelSize / 2);
let foundFreePos = false;
for (let radius = 1; radius <= 3 && !foundFreePos; radius++) {
for (let dz = -radius; dz <= radius; dz++) {
for (let dx = -radius; dx <= radius; dx++) {
if (dx === 0 && dz === 0) continue;
const checkX = gridX + dx;
const checkZ = gridZ + dz;
if (checkX >= 0 && checkX < levelSize && checkZ >= 0 && checkZ < levelSize) {
level[checkZ][checkX] === 0) {
const newX = (checkX - levelSize / 2) * cellSize + cellSize / 2;
const newZ = (checkZ - levelSize / 2) * cellSize + cellSize / 2;
const testPos = new THREE.Vector3(newX, 0, newZ);
if (!checkWallCollisionEnemy(testPos, 0.4)) {
enemy.position.copy(testPos);
enemy.mesh.position.copy(enemy.position);
foundFreePos = true;
if (foundFreePos) break;
if (!player || !player.position) {
continue; // Spieler nicht verf
berspringe diesen Gegner
const direction = newM
direction.subVectors(player.position, enemy.position);
const distance = direction.length();
if (distance > 0.01) { // Vermeide Division durch Null
direction.normalize();
const move = direction.multiplyScalar(enemy.speed);
const newPos = enemy.position.clone().add(move);
if (!checkWallCollisionEnemy(newPos, 0.4)) {
enemy.position.copy(newPos);
enemy.mesh.position.copy(enemy.position);
if (enemy.mesh && player && player.position) {
const lookDirection = new TM
lookDirection.subVectors(player.position, enemy.position);
lookDirection.y = 0; // Nur horizontale Rotation
lookDirection.normalize();
const angle = Math.atan2(lookDirection.x, lookDirection.z);
enemy.mesh.rotation.y = angle;
enemy.mesh.rotation.x = 0;
enemy.mesh.rotation.z = 0;
if (enemy.healthBar) {
const healthPercent = enemy.health / enemy.maxHealth;
updateEnemyHealthBar(enemy.healthBar, healthPercent);
if (enemy.isBoss && player && player.position) {
const now = Date.now();
ent = enemy.health / enemy.maxHealth;
if (healthPercent <= 0.25 && enemy.phase < 3) {
enemy.shootCooldown *= 0.7;
console.log('BOSS PHASE 3!');
} else if (healthPercent <= 0.5 && enemy.phase < 2) {
enemy.shootCooldown *= 0.8;
console.log('BOSS PHASE 2!');
if (enemy.phase >= 2 && now - enemy.lastSpecialAttack > enemy.specialAttackCooldown) {
const attackType = Math.floor(Math.random() * 3);
enemy.lastSpecialAttack = now;
if (attackType === 0M
bossExplosionAttack(enemy);
} else if (attackType === 1 && distance > 10) {
bossSprintAttack(enemy);
} else if (attackType === 2) {
bossSummonAttack(enemy);
const shootRange = 30;
if (distance < shootRange && now - enemy.lastShot > enemy.shootCooldown) {
enemy.lastShot = now;
} else if (player && player.position) {
const now = Date.now();
const shootRange = 15;
if (distance < shootRange && now - enemy.lastShot > enemy.shootCooldown) {
enemy.lastShot = now;
ction enemyShoot(enemy) {
const direction = new THREE.Vector3();
direction.subVectors(player.position, enemy.position);
direction.normalize();
if (enemy.isBoss && enemy.gunGroup1 && enemy.gunGroup2) {
const weaponPos1 = new THREE.Vector3();
enemy.gunGroup1.getWorldPosition(weaponPos1);
weaponPos1.add(direction.clone().multiplyScalar(0.5));
const weaponPos2 = new THREE.Vector3();
enemy.gunGroup2.getWorldPosition(weaponPos2);
weaponPos2.add(direction.clone().multiplyScalar(0.5));
createEnemyBullet(weaponPos1, directiM
on, enemy.type, enemy.damage);
createEnemyBullet(weaponPos2, direction, enemy.type, enemy.damage);
createMuzzleFlash3D(weaponPos1, direction);
createMuzzleFlash3D(weaponPos2, direction);
let weaponPos = enemy.position.clone();
if (enemy.type === 'snowman' || enemy.type === 'grinch') {
weaponPos.add(direction.clone().multiplyScalar(0.3));
} else if (enemy.type === 'elf') {
weaponPos.add(direction.clone().multiplyScalar(0.3));
createEnemyBullet(weaponPos, direction, M
enemy.type, enemy.damage);
createMuzzleFlash3D(weaponPos, direction);
function bossExplosionAttack(boss) {
if (!player || !player.position) return;
const explosionRadius = 8;
const playerDist = boss.position.distanceTo(player.position);
if (playerDist <= explosionRadius) {
const damageMultiplier = 1 - (playerDist / explosionRadius);
const damage = Math.floor(20 * damageMultiplier);
for (let i = 0; i < 50; i++) {
const angle = (Math.PI * 2 * i) / 50;
const x = boss.positM
ion.x + Math.cos(angle) * distance;
const z = boss.position.z + Math.sin(angle) * distance;
createExplosionParticle(x, boss.position.y + 2, z);
console.log('BOSS EXPLOSION ATTACK!');
function bossSprintAttack(boss) {
if (!player || !player.position) return;
const sprintSpeed = 0.3; // Viel schneller als normal
const direction = new THREE.Vector3();
direction.subVectors(player.position, boss.position);
direction.normalize();
const stepInterval = setInterval(() => {
clearInterval(stepInterval);
const move = direction.clone().multiplyScalar(sprintSpeed);
const newPos = boss.position.clone().add(move);
if (!checkWallCollisionEnemy(newPos, 0.4)) {
boss.position.copy(newPos);
boss.mesh.position.copy(boss.position);
console.log('BOSS SPRINT ATTACK!');
function bossSummonAttack(boss) {
const summonCount = 3;
const spawnRadius = 5;
for (let i = 0; i < summonCount; i++) {
const angle = (Math.PI * 2 * i) / summonCount;
s.position.x + Math.cos(angle) * spawnRadius;
const z = boss.position.z + Math.sin(angle) * spawnRadius;
const testPos = new THREE.Vector3(x, 0, z);
if (!checkWallCollisionEnemy(testPos, 0.4)) {
const types = ['snowman', 'elf', 'grinch'];
const type = types[Math.floor(Math.random() * types.length)];
const enemy = createEnemy(x, z, type);
createEnemyDeathCircle(testPos);
console.log('BOSS SUMMON ATTACK!');
function createExplosionParticle(x, y, z) {
const particleGeometry = new THREE.SphereGeomeM
const particleMaterial = new THREE.MeshStandardMaterial({
emissiveIntensity: 1.0
const particle = new THREE.Mesh(particleGeometry, particleMaterial);
particle.position.set(x, y, z);
scene.add(particle);
const velocity = new THREE.Vector3(
(Math.random() - 0.5) * 0.2,
Math.random() * 0.3,
(Math.random() - 0.5) * 0.2
position: new THREE.Vector3(x, y, z),
life: 1000, // 1 Sekunde bei 60fps
function createEnemyBullet(pos, dir, enemyType, enemyDamage = 10) {
const bulletGeometry = new THREE.SphereGeometry(0.04, 8, 8);
const bulletMaterial = new THREE.MeshStandardMaterial({
emissiveIntensity: 1.0
const bulletMesh = new THREE.Mesh(bulletGeometry, bulletMaterial);
bulletMesh.position.copy(pos);
scene.add(bulletMesh);
const tracerGeometry = new THREE.CylinderGeometry(0.008, 0.008, 0.25, 8);
const tracerMaterial = new THREE.MeshStandardMaterial(M
emissiveIntensity: 2.0
const tracer = new THREE.Mesh(tracerGeometry, tracerMaterial);
tracer.position.copy(pos);
position: pos.clone(),
direction: dir.clone(),
damage: enemyDamage, // Verwende den
bergebenen Schaden (bereits f
r Level 4 angepasst)
enemyBullets.push(bullet);
function updateEnemyBullets() {
if (gameState !== 'playing') {
myBullets.length - 1; i >= 0; i--) {
const bullet = enemyBullets[i];
const dir = bullet.direction instanceof THREE.Vector3 ? bullet.direction : new THREE.Vector3(bullet.direction.x, bullet.direction.y, bullet.direction.z);
const move = dir.clone().multiplyScalar(bullet.speed);
if (!(bullet.position instanceof THREE.Vector3)) {
bullet.position = new THREE.Vector3(bullet.position.x, bullet.position.y, bullet.position.z);
bullet.position.add(move);
bullet.traveled += bullet.speed;
tion.copy(bullet.position);
if (bullet.tracer) {
const pos = bullet.position instanceof THREE.Vector3 ? bullet.position.clone() : new THREE.Vector3(bullet.position.x, bullet.position.y, bullet.position.z);
const dir = bullet.direction instanceof THREE.Vector3 ? bullet.direction.clone() : new THREE.Vector3(bullet.direction.x, bullet.direction.y, bullet.direction.z);
const offset = dir.clone().multiplyScalar(0.12);
const tracerPos = pos.clone().sub(offset);
bullet.tracer.position.copy(tracerPos);
const playerBodyPos = player.position.clone().add(new THREE.Vector3(0, 0.8, 0));
const dist = bullet.position.distanceTo(playerBodyPos);
const hitChance = 0.5 + (Math.random() * 0.25); // 50% bis 75%
const randomValue = Math.random();
if (randomValue < hitChance) {
takeDamage(bullet.damage || 10);
if (bullet.mesh) scene.remove(bullet.mesh);
if (bullet.tracer) scene.remove(bullet.tracer);
enemyBullets.splice(i, 1);
let gridX = Math.floor((bullet.position.x / cellSize) + levM
let gridZ = Math.floor((bullet.position.z / cellSize) + levelSize / 2);
if (gridX < 0 || gridX >= levelSize || gridZ < 0 || gridZ >= levelSize ||
level[gridZ][gridX] === 1) {
createBulletImpact(bullet.position);
if (bullet.mesh) scene.remove(bullet.mesh);
if (bullet.tracer) scene.remove(bullet.tracer);
enemyBullets.splice(i, 1);
if (bullet.traveled > bullet.range) {
if (bullet.mesh) scene.remove(bullet.mesh);
if (bullet.tracer) scene.remove(bullet.tracer);
enemyBullets.splice(i, 1);
unction animateEnemyDeath(enemy, pos) {
if (!enemy || !enemy.mesh) return;
createDeathParticles(pos);
createEnemyDeathCircle(pos);
addScreenShake(0.05, 300);
let rotationSpeed = (Math.random() - 0.5) * 0.2;
let fallDirection = new THREE.Vector3(
(Math.random() - 0.5) * 0.1,
(Math.random() - 0.5) * 0.1
const originalPosition = enemy.mesh.position.clone();
const originalRotation = enemy.mesh.rotation.clone();
const animate = () => {
fallSpeed += 0.02; // Fall-BeschleunigM
enemy.mesh.rotation.x += rotationSpeed;
enemy.mesh.rotation.z += rotationSpeed * 0.5;
enemy.mesh.position.y -= fallSpeed;
enemy.mesh.position.x += fallDirection.x;
enemy.mesh.position.z += fallDirection.z;
if (enemy.mesh.children && enemy.mesh.children.length > 0) {
enemy.mesh.children.forEach(child => {
if (child.material && child.material.opacity !== undefined) {
child.material.transparent = true;
child.material.opacity = Math.max(0, 1 - (originalPosition.y - enemy.mesh.position.y) / 2);
h.position.y > -5) {
requestAnimationFrame(animate);
if (enemy.mesh && scene.children.includes(enemy.mesh)) {
scene.remove(enemy.mesh);
function createEnemyDeathCircle(pos) {
if (!scene || !pos) {
return; // Sicherheitspr
const circleGeometry = new THREE.CircleGeometry(0.5, 16);
const circleMaterial = new THREE.MeshStandardMaterial({
side: THREE.DoubleSide
const circle = new THREE.Mesh(circleGeometry, circleMaterial);
ircle.rotation.x = -Math.PI / 2;
circle.position.set(pos.x, 0.01, pos.z);
const fadeInterval = setInterval(() => {
if (!scene || !scene.children.includes(circle)) {
clearInterval(fadeInterval);
circleMaterial.opacity = opacity;
if (scene.children.includes(circle)) {
scene.remove(circle);
clearInterval(fadeInterval);
console.error('Error creating death circle:', error);
function updatePickups() {
(gameState !== 'playing') {
if (!player || !player.position) {
return; // Spieler nicht verf
for (let i = pickups.length - 1; i >= 0; i--) {
const pickup = pickups[i];
if (!pickup || pickup.collected) {
if (pickup && pickup.mesh && scene && scene.children.includes(pickup.mesh)) {
scene.remove(pickup.mesh);
pickups.splice(i, 1);
if (!pickup.mesh || !scene || !scene.children.includes(pickup.mesh)) {
pickups.splice(i, 1);
const worldPos = new THREE.Vector3();
esh.getWorldPosition(worldPos);
pickup.position.copy(worldPos);
pickup.rotation += 0.02;
pickup.mesh.rotation.y = pickup.rotation;
if (pickup.mesh.position) {
pickup.mesh.position.y = 0.5 + Math.sin(pickup.rotation * 2) * 0.1;
const dist = player.position.distanceTo(worldPos);
if (dist < 1.5 && !pickup.collected) {
pickup.collected = true;
if (pickup.type === 'medkit') {
playerMedkits = Math.min(2, playerMedkits + 1);
if (medkitPickupSound) {
medkitPickupSound.currentTime = 0;
medkitPickupSound.play().catchM
} else if (pickup.type === 'ammo') {
const weapon = weaponConfigs[currentWeapon];
playerAmmo[currentWeapon] = Math.min(
playerAmmo[currentWeapon] + weapon.maxAmmo
startSound.currentTime = 0;
startSound.play().catch(e => {
if (pickup.mesh && scene && scene.children.includes(pickup.mesh)) {
scene.remove(pickup.mesh);
pickups.splice(i, 1);
error('Error updating pickup:', error);
if (pickup.mesh && scene && scene.children.includes(pickup.mesh)) {
scene.remove(pickup.mesh);
pickups.splice(i, 1);
function checkWallCollision(pos, radius) {
const checkPoints = [
{ x: 0, z: 0 }, // Center
{ x: radius, z: 0 }, // Right
{ x: -radius, z: 0 }, // Left
{ x: 0, z: radius }, // Forward
{ x: 0, z: -radius }, // Backward
{ x: radius * 0.7, z: radius * 0.7 }, // Front-Right
{ x: -radius * 0.7, z: radius * 0.7 }, // Front-Left
{ x: radius * 0.7, z: -radius * M
0.7 }, // Back-Right
{ x: -radius * 0.7, z: -radius * 0.7 }, // Back-Left
{ x: radius * 0.5, z: -radius }, // Back-Right-More
{ x: -radius * 0.5, z: -radius }, // Back-Left-More
{ x: 0, z: -radius * 1.2 } // Back-Extended
for (let point of checkPoints) {
const checkX = pos.x + point.x;
const checkZ = pos.z + point.z;
const gridX = Math.floor((checkX / cellSize) + levelSize / 2);
const gridZ = Math.floor((checkZ / cellSize) + levelSize / 2);
if (gridX < 0 || gridX >= levelSize || gridZ < 0 || gridZ >= levelSize) M
erhalb des Levels = Kollision
if (level[gridZ][gridX] === 1) {
return true; // Wand = Kollision
for (let dx = -1; dx <= 1; dx++) {
for (let dz = -1; dz <= 1; dz++) {
const checkX2 = gridX + dx;
const checkZ2 = gridZ + dz;
if (checkX2 >= 0 && checkX2 < levelSize && checkZ2 >= 0 && checkZ2 < levelSize) {
if (level[checkZ2][checkX2] === 1) {
const wallX = (checkX2 - levelSize / 2) * cellSize + cellSize / 2;
const wallZ = (checkZ2 - levelSize / 2) * cellSize + cellSize / 2;
const dist = Math.sM
Math.pow(checkX - wallX, 2) + Math.pow(checkZ - wallZ, 2)
if (dist < radius + cellSize / 2 - 0.1) {
return false; // Keine Kollision
function updatePlayer() {
if (gameState !== 'playing') return;
if (playerHealth < 100) {
const timeSinceLastDamage = Date.now() - lastDamageTime;
if (timeSinceLastDamage >= healthRegenDelay) {
const regenAmount = healthRegenRate * (16 / 1000); // 16ms pro Frame bei 60 FPS
playerHealth = Math.min(100, playerHealth + regenAmount);
if (Math.random() < 0M
const moveSpeed = player.speed;
const moveVector = new THREE.Vector3();
const edgeRotation = calculateEdgeRotation();
if (edgeRotation !== 0) {
targetRotationY += edgeRotation;
if (keys['q'] || keys['Q']) {
targetRotationY -= keyboardRotationSpeed; // Links drehen (korrigiert)
if (keys['e'] || keys['E']) {
targetRotationY += keyboardRotationSpeed; // Rechts drehen (korrigiert)
if (keys['ArrowLeft']) {
targetRotationY += keyboardRotationSpeed; // Rechts drehen
(keys['ArrowRight']) {
targetRotationY -= keyboardRotationSpeed; // Links drehen
if (keys['z'] || keys['Z']) {
targetRotationX -= keyboardRotationSpeed; // Nach oben schauen (korrigiert)
targetRotationX = Math.max(-Math.PI / 2, Math.min(Math.PI / 2, targetRotationX));
if (keys['x'] || keys['X']) {
targetRotationX += keyboardRotationSpeed; // Nach unten schauen (korrigiert)
targetRotationX = Math.max(-Math.PI / 2, Math.min(Math.PI / 2, targetRotationX));
if (keys['ArrowUp']) {
targetRotationX += keyboardRotatM
ionSpeed; // Nach unten schauen
targetRotationX = Math.max(-Math.PI / 2, Math.min(Math.PI / 2, targetRotationX));
if (keys['ArrowDown']) {
targetRotationX -= keyboardRotationSpeed; // Nach oben schauen
targetRotationX = Math.max(-Math.PI / 2, Math.min(Math.PI / 2, targetRotationX));
if (keys['w'] || keys['W']) moveVector.z -= 1;
if (keys['s'] || keys['S']) moveVector.z += 1;
if (keys['a'] || keys['A']) moveVector.x -= 1;
if (keys['d'] || keys['D']) moveVector.x += 1;
moveVector.normalize();
moveVector.multiplySM
if (sniperZoom && currentWeapon === 'sniper') {
const smoothingFactor = 0.25;
currentRotationY += (targetRotationY - currentRotationY) * smoothingFactor;
currentRotationX += (targetRotationX - currentRotationX) * smoothingFactor;
player.rotation.y = currentRotationY;
player.rotation.x = currentRotationX;
const smoothingFactor = 0.15;
currentRotationY += (targetRotationY - currentRotationY) * smoothingFactor;
currentRotationX += (targetRotationX - currentRotationX) * smoothingFactor;
r.rotation.y = currentRotationY;
player.rotation.x = currentRotationX;
player.rotation.x = Math.max(-Math.PI / 2, Math.min(Math.PI / 2, player.rotation.x));
moveVector.applyAxisAngle(new THREE.Vector3(0, 1, 0), player.rotation.y);
const newPos = player.position.clone().add(moveVector);
const playerRadius = 0.3; // Kleinerer Radius f
if (checkWallCollision(newPos, playerRadius)) {
const newPosX = player.position.clone();
newPosX.x += moveVector.x;
if (!checkWallCollision(newPosX, playerRadius))M
player.position.x = newPosX.x;
const newPosZ = player.position.clone();
newPosZ.z += moveVector.z;
if (!checkWallCollision(newPosZ, playerRadius)) {
player.position.z = newPosZ.z;
if (checkWallCollision(player.position, playerRadius)) {
const gridX = Math.floor((player.position.x / cellSize) + levelSize / 2);
const gridZ = Math.floor((player.position.z / cellSize) + levelSize / 2);
let pushX = 0, pushZ = 0;
for (let dx = -1; dx <= 1; dx++) {
for (let dz = -1; dz <= 1; dz++) {
const checkX = gridX + dx;
checkZ = gridZ + dz;
if (checkX >= 0 && checkX < levelSize && checkZ >= 0 && checkZ < levelSize) {
if (level[checkZ][checkX] === 1) {
const wallX = (checkX - levelSize / 2) * cellSize + cellSize / 2;
const wallZ = (checkZ - levelSize / 2) * cellSize + cellSize / 2;
const diffX = player.position.x - wallX;
const diffZ = player.position.z - wallZ;
const dist = Math.sqrt(diffX * diffX + diffZ * diffZ);
if (dist < playerRadius + cellSize / 2 && dist > 0.01) {
pushX += diffX / dist * 0.2; // Erh
ht von 0.15 auf 0.2 f
pushZ += diffZ / dist * 0.2;
player.position.x += pushX;
player.position.z += pushZ;
if (checkWallCollision(player.position, playerRadius)) {
let foundFreePos = false;
for (let radius = 1; radius <= 3 && !foundFreePos; radius++) {
for (let dz = -radius; dz <= radius; dz++) {
for (let dx = -radius; dx <= radius; dx++) {
if (dx === 0 && dz === 0) continue;
const testX = player.position.x + dx * 0.5;
const testZ = player.position.z + dz * 0.5;
const testPos = new THREE.Vector3(testX, playeM
r.position.y, testZ);
if (!checkWallCollision(testPos, playerRadius)) {
player.position.copy(testPos);
foundFreePos = true;
if (foundFreePos) break;
player.position.copy(newPos);
const gridX = Math.floor((player.position.x / cellSize) + levelSize / 2);
const gridZ = Math.floor((player.position.z / cellSize) + levelSize / 2);
if (gridX < 0 || gridX >= levelSize || gridZ < 0 || gridZ >= levelSize) {
const safeX = Math.max(0, Math.min(levelSize - 1, gridX));
const safeZ = Math.max(0, MathM
.min(levelSize - 1, gridZ));
player.position.x = (safeX - levelSize / 2) * cellSize + cellSize / 2;
player.position.z = (safeZ - levelSize / 2) * cellSize + cellSize / 2;
if (gridX >= 0 && gridX < levelSize && gridZ >= 0 && gridZ < levelSize) {
if (!visitedCells[gridZ]) {
visitedCells[gridZ] = [];
visitedCells[gridZ][gridX] = true;
for (let dx = -1; dx <= 1; dx++) {
for (let dz = -1; dz <= 1; dz++) {
const checkX = gridX + dx;
const checkZ = gridZ + dz;
if (checkX >= 0 && checkX < levelSize && checkZ >= 0 && chM
if (!visitedCells[checkZ]) {
visitedCells[checkZ] = [];
visitedCells[checkZ][checkX] = true;
const now = Date.now();
if (now - lastEnemyContact > 500) {
for (let enemy of enemies) {
const dist = player.position.distanceTo(enemy.position);
takeDamage(enemy.damage || 10);
lastEnemyContact = now;
if (exitPortal && enemies.length === 0 && currentLevel < 4) {
const dist = player.position.distanceTo(exitPortal.position);
cameraOriginalPosition.copy(player.position);
camera.position.copy(cameraOriginalPosition);
camera.rotation.order = 'YXZ'; // Ensure correct rotation order
camera.rotation.x = player.rotation.x;
camera.rotation.y = player.rotation.y;
camera.updateMatrixWorld(false); // Aktualisiere Matrix, damit quaternion korrekt ist
const minWallDistance = 0.3; // Mindestabstand zur Wand
const cameraCheckPos = camera.position.clone();
const forward = new THREE.Vector3(
Math.sin(player.rotation.y),
-Math.cos(player.rotation.M
let wallPushBack = new THREE.Vector3(0, 0, 0);
for (let dist = 0; dist <= minWallDistance; dist += 0.05) {
const checkPos = cameraCheckPos.clone().add(forward.clone().multiplyScalar(dist));
const checkGridX = Math.floor((checkPos.x / cellSize) + levelSize / 2);
const checkGridZ = Math.floor((checkPos.z / cellSize) + levelSize / 2);
if (checkGridX >= 0 && checkGridX < levelSize && checkGridZ >= 0 && checkGridZ < levelSize) {
if (level[checkGridZ][checkGridX] === 1) {
const pushBack = forward.clone().multiplyScM
alar(minWallDistance - dist + 0.1);
wallPushBack.add(pushBack);
if (wallPushBack.length() > 0) {
camera.position.sub(wallPushBack);
cameraOriginalPosition.copy(camera.position); // Update Original-Position f
updateScreenShake();
const weaponOffset = new THREE.Vector3(0.5, -0.3, -1.0);
if (sniperZoom && currentWeapon === 'sniper') {
weaponOffset.applyQuaternion(camera.quaternion);
const weaponEuler = new THREE.Euler(player.rotation.x, player.rotation.y, 0, 'YM
const weaponQuat = new THREE.Quaternion().setFromEuler(weaponEuler);
weaponOffset.applyQuaternion(weaponQuat);
weaponMesh.position.copy(camera.position).add(weaponOffset);
weaponMesh.rotation.copy(camera.rotation);
weaponMesh.rotateY(0.2); // Leicht nach rechts rotiert
weaponMesh.rotateX(0.1); // Nach oben geneigt (von -0.1 auf 0.1, damit es auf Fadenkreuz zeigt)
function updateSniperVignette() {
const vignette = document.getElementById('sniperVignette');
const crosshair = document.getElementById(M
if (!vignette || !crosshair) {
if (sniperZoom && currentWeapon === 'sniper') {
vignette.classList.add('active');
crosshair.classList.add('sniper-crosshair');
vignette.classList.remove('active');
crosshair.classList.remove('sniper-crosshair');
console.warn('updateSniperVignette error:', error);
function takeDamage(amount) {
if (playerInvulnerable) {
return; // Kein Schaden, wenn unverwundbar
playerHealth -= amount;
if (playerHealth < 0) playerHealth = 0;
tDamageTime = Date.now();
addScreenShake(0.02, 150);
const damageIndicator = document.getElementById('damageIndicator');
if (damageIndicator) {
damageIndicator.classList.remove('active'); // Reset f
r sauberen Animation-Start
document.body.classList.add('chromatic-aberration');
damageIndicator.classList.add('active');
damageIndicator.classList.remove('active');
document.body.classList.remove('chromatic-aberration');
if (playerHealth <= 0) {
updateHUD(); // Aktualisiere HUD mit neuen Leben
if (playerLives > 0) {
console.log(`Leben verloren! Noch ${playerLives} Leben
brig. Level wird neu gestartet...`);
console.log('Keine Leben mehr! Game Over!');
if (isReloading) return;
const weapon = weaponConfigs[currentWeapon];
if (playerAmmo[currentWeapon] >= weapon.maxAmmo) return;
const originalRotation = weaponMesh.rotation.clone();
nalPosition = weaponMesh.position.clone();
let reloadProgress = 0;
const reloadInterval = setInterval(() => {
reloadProgress += 16 / weapon.reloadTime;
if (reloadProgress >= 1) {
weaponMesh.rotation.copy(originalRotation);
weaponMesh.position.copy(originalPosition);
clearInterval(reloadInterval);
weaponMesh.rotation.x = originalRotation.x + Math.sin(reloadProgress * Math.PI) * 0.3;
weaponMesh.position.z = originalPosition.z - Math.sin(reloadProgress * Math.PI) * 0.05;
mmo[currentWeapon] = weapon.maxAmmo;
isReloading = false;
}, weapon.reloadTime);
function useMedkit() {
if (playerMedkits <= 0) {
console.log('No medkits available!');
if (playerHealth >= 100) {
console.log('Health already full!');
playerHealth = Math.min(100, playerHealth + 50);
if (medkitPickupSound) {
medkitPickupSound.currentTime = 0;
medkitPickupSound.play().catch(e => {
console.warn('Could not play medkit sound:', e);
('Error playing medkit sound:', error);
console.log(`Used medkit! Health: ${playerHealth}, Medkits left: ${playerMedkits}`);
function updateHUD() {
const weapon = weaponConfigs[currentWeapon];
document.getElementById('weaponName').textContent = weapon.name;
document.getElementById('weaponIcon').textContent = weapon.icon;
const ammoCurrent = playerAmmo[currentWeapon];
const maxTotalAmmo = weapon.maxAmmo * 2; // Maximale Gesamtmunition (Magazin + Reserve)
document.getElementById('ammoCurrent').textM
Content = ammoCurrent;
document.getElementById('ammoTotal').textContent = maxTotalAmmo;
const ammoDisplay = document.getElementById('ammoCurrent');
if (ammoCurrent === 0) {
ammoDisplay.style.color = '#f00';
} else if (ammoCurrent < weapon.maxAmmo * 0.2) {
ammoDisplay.style.color = '#ff0';
ammoDisplay.style.color = '#ff0';
document.getElementById('healthValue').textContent = Math.max(0, Math.floor(playerHealth));
document.getElementById('healthBarFill').style.width = playerHealth + '%';
teEl = document.getElementById('healthVignette');
if (healthVignetteEl) {
if (playerHealth <= 50) {
const healthPercent = playerHealth / 50; // 1.0 bei 50, 0.0 bei 0
const vignetteOpacity = (1.0 - healthPercent) * 0.8; // Maximal 0.8 Opacity bei 0 Health
healthVignetteEl.style.opacity = vignetteOpacity;
healthVignetteEl.classList.remove('hidden');
healthVignetteEl.style.opacity = 0;
healthVignetteEl.classList.add('hidden');
const livesValueEl = document.getElementById('livesValue');
if (livesValueEl) {M
livesValueEl.textContent = playerLives;
if (playerLives === 3) {
livesValueEl.style.color = '#0f0'; // Gr
} else if (playerLives === 2) {
livesValueEl.style.color = '#ff0'; // Gelb
} else if (playerLives === 1) {
livesValueEl.style.color = '#f00'; // Rot
livesValueEl.style.color = '#888'; // Grau
const life1El = document.getElementById('life1');
const life2El = document.getElementById('life2');
const life3El = document.getElementById('life3');
if (life1El && life2El && life3El) {
life2El.classList.remove('lost');
life3El.classList.remove('lost');
if (playerLives < 3) {
life3El.classList.add('lost');
if (playerLives < 2) {
life2El.classList.add('lost');
if (playerLives < 1) {
life1El.classList.add('lost');
const medkitDisplay = document.getElementById('medkitDisplay');
if (medkitDisplay) {
medkitDisplay.textContent = `MEDKITS: ${playerMedkits}`;
if (playerMedkits > 0) {
medkitDisplay.style.color = '#0f0';
medkitDisplay.style.color = '#888';
SelectorAll('.weapon-slot').forEach(slot => {
slot.classList.remove('active');
if (slot.dataset.weapon === currentWeapon) {
slot.classList.add('active');
if (currentLevel === 1) {
const weaponType = slot.dataset.weapon;
if (unlockedWeapons.has(weaponType)) {
slot.classList.remove('locked');
slot.classList.add('locked');
slot.title = 'Locked - Score required';
slot.classList.remove('locked');
const scoreValue = document.getElementById('scoreValue');
scoreValue.textContent = playerScore;
function createWeaponModel(weaponName) {
const weaponGroup = new THREE.Group();
weaponGroup.scale.set(1.5, 1.5, 1.5); // Kleinere Skalierung - nicht zu gro
if (weaponName === 'pistol') {
const frame = new THREE.Mesh(
new THREE.BoxGeometry(0.07, 0.07, 0.4), // Breite wie Griff (0.07)
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0.3, metalness: 0.8 })
frame.position.set(0, 0, 0);
weaponGroup.add(frame);
const slide = new THREE.Mesh(
.BoxGeometry(0.07, 0.05, 0.35), // Breite genau wie gripCenter (0.07)
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.2, metalness: 0.9 })
slide.position.set(0, 0.01, -0.05); // Weiter nach vorne geschoben
slide.userData.isSlide = true; // Markierung f
weaponGroup.add(slide);
const barrel = new THREE.Mesh(
new THREE.CylinderGeometry(0.013, 0.013, 0.22, 16),
new THREE.MeshStandardMaterial({ color: 0x0a0a0a, roughness: 0.1, metalness: 0.95 })
barrel.rotation.x = Math.PI / 2; // Nach M
barrel.position.set(0, 0, -0.11); // UMGEKEHRT: negativ = vorne!
weaponGroup.add(barrel);
const gripLeft = new THREE.Mesh(
new THREE.BoxGeometry(0.03, 0.22, 0.09),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.8, metalness: 0.1 })
gripLeft.position.set(-0.03, -0.13, 0.15); // Nach hinten verschoben (positive z)
weaponGroup.add(gripLeft);
const gripRight = new THREE.Mesh(
new THREE.BoxGeometry(0.03, 0.22, 0.09),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.8, meM
gripRight.position.set(0.03, -0.13, 0.15); // Nach hinten verschoben
weaponGroup.add(gripRight);
const gripCenter = new THREE.Mesh(
new THREE.BoxGeometry(0.07, 0.22, 0.09),
new THREE.MeshStandardMaterial({ color: 0x0f0f0f, roughness: 0.9, metalness: 0.0 })
gripCenter.position.set(0, -0.13, 0.15); // Nach hinten verschoben
weaponGroup.add(gripCenter);
for (let i = 0; i < 2; i++) {
const screw = new THREE.Mesh(
new THREE.CylinderGeometry(0.005, 0.005, 0.01, 8),
new THREE.MeshStandardMaterial({ cM
olor: 0x2a2a2a, metalness: 0.8 })
screw.rotation.x = Math.PI / 2;
screw.position.set(0, -0.13 + (i - 0.5) * 0.08, 0.05);
weaponGroup.add(screw);
const triggerGuard = new THREE.Mesh(
new THREE.TorusGeometry(0.045, 0.006, 8, 16),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0.3, metalness: 0.8 })
triggerGuard.rotation.z = Math.PI / 2; // Um z-Achse rotiert f
triggerGuard.rotation.y = Math.PI / 2; // Noch 90 Grad nach rechts
triggerGuard.position.set(0, -0.08, 0.035);
const trigger = new THREE.Mesh(
new THREE.BoxGeometry(0.018, 0.07, 0.012),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a })
trigger.position.set(0, -0.1, 0.038);
weaponGroup.add(trigger);
const rearSight = new THREE.Mesh(
new THREE.BoxGeometry(0.025, 0.04, 0.012),
new THREE.MeshStandardMaterial({ color: 0x0a0a0a })
rearSight.position.set(0, 0.05, 0.07); // UMGEKEHRT!
weaponGroup.add(rearSight);
const frontSight = new THREE.Mesh(
new THREE.BoxGeometry(0.012, 0.03, 0.012),
dardMaterial({ color: 0x0a0a0a })
frontSight.position.set(0, 0.05, -0.11); // UMGEKEHRT!
weaponGroup.add(frontSight);
const hammer = new THREE.Mesh(
new THREE.BoxGeometry(0.025, 0.04, 0.025),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a })
hammer.position.set(0, 0.025, 0.09); // UMGEKEHRT!
weaponGroup.add(hammer);
const safety = new THREE.Mesh(
new THREE.BoxGeometry(0.015, 0.02, 0.01),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a })
safety.position.set(0.02, 0.02, 0.05); // UMGEKEHRT!
const magRelease = new THREE.Mesh(
new THREE.BoxGeometry(0.01, 0.015, 0.008),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a })
magRelease.position.set(0.05, -0.08, 0.05);
weaponGroup.add(magRelease);
} else if (weaponName === 'rifle') {
const barrel = new THREE.Mesh(
new THREE.CylinderGeometry(0.015, 0.015, 0.65, 16),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.1, metalness: 0.9 })
barrel.rotation.x = Math.PI / 2; // Nach vorne (z-Achse)!
barrel.position.set(0, 0, -0.32); // M
UMGEKEHRT: negativ = vorne!
weaponGroup.add(barrel);
const barrelShroud = new THREE.Mesh(
new THREE.CylinderGeometry(0.018, 0.018, 0.65, 16),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0.2, metalness: 0.8 })
barrelShroud.rotation.x = Math.PI / 2; // Nach vorne!
barrelShroud.position.set(0, 0, -0.32); // UMGEKEHRT!
weaponGroup.add(barrelShroud);
const receiver = new THREE.Mesh(
new THREE.BoxGeometry(0.1, 0.08, 0.3), // Breite exakt wie Stock (0.1)
new THREE.MeshStandardMaterial({ color: 0x2a2a2aM
, roughness: 0.3, metalness: 0.7 })
receiver.position.set(0, 0, -0.05); // UMGEKEHRT!
weaponGroup.add(receiver);
const stock = new THREE.Mesh(
new THREE.BoxGeometry(0.1, 0.25, 0.4),
new THREE.MeshStandardMaterial({ color: 0x2a1a0a, roughness: 0.9, metalness: 0.0 })
stock.position.set(0, -0.085, 0.12); // y so dass obere Kanten b
weaponGroup.add(stock);
const magazine = new THREE.Mesh(
new THREE.BoxGeometry(0.06, 0.12, 0.06),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.4, metalneM
magazine.position.set(0.05, -0.1, -0.05); // UMGEKEHRT!
weaponGroup.add(magazine);
const handguard = new THREE.Mesh(
new THREE.BoxGeometry(0.12, 0.06, 0.25),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0.4, metalness: 0.5 })
handguard.position.set(-0.02, 0, -0.2); // UMGEKEHRT!
weaponGroup.add(handguard);
const rearSight = new THREE.Mesh(
new THREE.BoxGeometry(0.015, 0.05, 0.01),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a })
rearSight.position.set(0, 0.06, -0.05); // UMGEKM
weaponGroup.add(rearSight);
const frontSight = new THREE.Mesh(
new THREE.BoxGeometry(0.01, 0.04, 0.01),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a })
frontSight.position.set(0, 0.06, -0.32); // UMGEKEHRT!
weaponGroup.add(frontSight);
const trigger = new THREE.Mesh(
new THREE.BoxGeometry(0.02, 0.05, 0.01),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a })
trigger.position.set(0.04, -0.08, -0.05); // UMGEKEHRT!
weaponGroup.add(trigger);
const triggerGuard = new THREE.Mesh(
new THREE.TorusGeometry(M
0.05, 0.006, 8, 16),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a })
triggerGuard.rotation.x = Math.PI / 2;
triggerGuard.position.set(0.045, -0.06, -0.05); // UMGEKEHRT!
weaponGroup.add(triggerGuard);
} else if (weaponName === 'mg') {
const barrel = new THREE.Mesh(
new THREE.CylinderGeometry(0.02, 0.02, 0.7, 16),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.1, metalness: 0.9 })
barrel.rotation.x = Math.PI / 2; // Nach vorne (z-Achse)!
barrel.position.set(0, 0, -0.35); // UMGEKEHRT: negatM
weaponGroup.add(barrel);
for (let i = 0; i < 6; i++) {
const fin = new THREE.Mesh(
new THREE.CylinderGeometry(0.022, 0.022, 0.015, 12),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0.2, metalness: 0.8 })
fin.rotation.x = Math.PI / 2; // Nach vorne!
fin.position.set(0, 0, -(0.15 + i * 0.12)); // UMGEKEHRT!
weaponGroup.add(fin);
const receiver = new THREE.Mesh(
new THREE.BoxGeometry(0.06, 0.12, 0.45), // Breite von 0.08 auf 0.06 reduziert
new THREE.MeshStandardMaterial({ color: 0x2a2aM
2a, roughness: 0.3, metalness: 0.7 })
receiver.position.set(0, 0, 0);
weaponGroup.add(receiver);
const rearGrip = new THREE.Mesh(
new THREE.BoxGeometry(0.06, 0.15, 0.08), // Breite von 0.08 auf 0.06 reduziert
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.6, metalness: 0.3 })
rearGrip.position.set(0, -0.1, 0.15); // UMGEKEHRT: positiv = hinten!
weaponGroup.add(rearGrip);
const magazine = new THREE.Mesh(
new THREE.BoxGeometry(0.08, 0.18, 0.08),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, M
roughness: 0.4, metalness: 0.6 })
magazine.position.set(0, -0.15, 0);
weaponGroup.add(magazine);
} else if (weaponName === 'sniper') {
const barrel = new THREE.Mesh(
new THREE.CylinderGeometry(0.02, 0.02, 0.9, 16),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.1, metalness: 0.9 })
barrel.rotation.x = Math.PI / 2; // Nach vorne (z-Achse)!
barrel.position.set(0, 0, -0.45); // UMGEKEHRT: negativ = vorne!
weaponGroup.add(barrel);
const muzzleBrake = new THREE.Mesh(
new THREE.CylinderGeometry(0.02M
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0.2, metalness: 0.8 })
muzzleBrake.rotation.x = Math.PI / 2; // Nach vorne!
muzzleBrake.position.set(0, 0, -0.9); // UMGEKEHRT!
weaponGroup.add(muzzleBrake);
const scope = new THREE.Mesh(
new THREE.CylinderGeometry(0.055, 0.055, 0.45, 16),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.1, metalness: 0.9 })
scope.rotation.x = Math.PI / 2; // Nach vorne!
scope.position.set(0, 0.12, -0.05); // Nach hinten verschoben M
(von -0.25 auf -0.05)
weaponGroup.add(scope);
const scopeLens1 = new THREE.Mesh(
new THREE.CylinderGeometry(0.055, 0.055, 0.01, 16),
new THREE.MeshStandardMaterial({ color: 0x000033, roughness: 0.0, metalness: 0.0, transparent: true, opacity: 0.7 })
scopeLens1.rotation.x = Math.PI / 2; // Nach vorne!
scopeLens1.position.set(0, 0.12, 0.1); // Nach hinten verschoben (von -0.1 auf 0.1)
weaponGroup.add(scopeLens1);
const scopeLens2 = new THREE.Mesh(
new THREE.CylinderGeometry(0.055, 0.055, 0.01, 16),
tandardMaterial({ color: 0x000033, roughness: 0.0, metalness: 0.0, transparent: true, opacity: 0.7 })
scopeLens2.rotation.x = Math.PI / 2; // Nach vorne!
scopeLens2.position.set(0, 0.12, -0.2); // Nach hinten verschoben (von -0.4 auf -0.2)
weaponGroup.add(scopeLens2);
const scopeMount1 = new THREE.Mesh(
new THREE.BoxGeometry(0.05, 0.05, 0.05),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a })
scopeMount1.position.set(0, 0.12, 0.12); // Nach hinten verschoben (von -0.08 auf 0.12)
weaponGroup.add(scopeMount1)M
const scopeMount2 = new THREE.Mesh(
new THREE.BoxGeometry(0.05, 0.05, 0.05),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a })
scopeMount2.position.set(0, 0.12, -0.22); // Nach hinten verschoben (von -0.42 auf -0.22)
weaponGroup.add(scopeMount2);
const receiver = new THREE.Mesh(
new THREE.BoxGeometry(0.06, 0.12, 0.4), // Breite von 0.22 auf 0.06 reduziert
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0.3, metalness: 0.7 })
receiver.position.set(0, 0, 0);
weaponGroup.add(receiver);
i = 0; i < 4; i++) {
const fin = new THREE.Mesh(
new THREE.CylinderGeometry(0.022, 0.022, 0.015, 12),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a, roughness: 0.2, metalness: 0.8 })
fin.rotation.x = Math.PI / 2; // Nach vorne!
fin.position.set(0, 0, -(0.2 + i * 0.2)); // UMGEKEHRT!
weaponGroup.add(fin);
const stock = new THREE.Mesh(
new THREE.BoxGeometry(0.06, 0.28, 0.5), // Breite von 0.12 auf 0.06 reduziert
new THREE.MeshStandardMaterial({ color: 0x2a1a0a, roughness: 0.9, metalness: 0.0 })
ion.set(0, -0.09, 0.15); // y nochmals um die H
lfte runter (von -0.06 auf -0.09)
weaponGroup.add(stock);
const magazine = new THREE.Mesh(
new THREE.BoxGeometry(0.06, 0.15, 0.08), // Breite von 0.08 auf 0.06 reduziert
new THREE.MeshStandardMaterial({ color: 0x1a1a1a, roughness: 0.4, metalness: 0.6 })
magazine.position.set(0, -0.12, 0);
weaponGroup.add(magazine);
const trigger = new THREE.Mesh(
new THREE.BoxGeometry(0.02, 0.05, 0.01),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a })
trigger.position.set(0.M
weaponGroup.add(trigger);
const triggerGuard = new THREE.Mesh(
new THREE.TorusGeometry(0.05, 0.006, 8, 16),
new THREE.MeshStandardMaterial({ color: 0x2a2a2a })
triggerGuard.rotation.x = Math.PI / 2;
triggerGuard.position.set(0.045, -0.06, 0);
weaponGroup.add(triggerGuard);
} else if (weaponName === 'grenade') {
const body = new THREE.Mesh(
new THREE.SphereGeometry(0.08, 12, 12),
new THREE.MeshStandardMaterial({ color: 0x2a5a2a, roughness: 0.6, metalness: 0.2 })
body.scale.y = 1.4; // Eif
body.position.set(0, 0, 0);
weaponGroup.add(body);
const ring = new THREE.Mesh(
new THREE.TorusGeometry(0.04, 0.002, 8, 16), // Kleiner: Radius 0.04 statt 0.08, Dicke 0.002 statt 0.003
new THREE.MeshStandardMaterial({ color: 0x1a1a1a })
ring.rotation.z = Math.PI; // Um 90 Grad zus
tzlich um z-Achse gedreht (gesamt 180 Grad)
ring.rotation.y = Math.PI / 2; // Um 90 Grad um y-Achse gedreht
ring.position.set(0, 0.12, 0); // H
her bei y=0.12 (weiter oben)
weaponGroup.add(ring);
const fuse = new THREE.Mesh(
E.CylinderGeometry(0.01, 0.01, 0.04, 8),
new THREE.MeshStandardMaterial({ color: 0x1a1a1a })
fuse.position.set(0, 0.06, 0);
weaponGroup.add(fuse);
const pin = new THREE.Mesh(
new THREE.TorusGeometry(0.015, 0.003, 8, 16),
new THREE.MeshStandardMaterial({ color: 0xff0000 })
pin.rotation.x = Math.PI / 2;
pin.position.set(0, 0.06, 0);
weaponGroup.add(pin);
function showMuzzleFlash() {
const muzzleFlash = document.getElementById('muzzleFlash');
muzzleFlash.classList.add('active');
muzzleFlash.classList.remove('active');
function initMinimap() {
minimapCanvas = document.getElementById('minimapCanvas');
minimapCtx = minimapCanvas.getContext('2d');
minimapCanvas.width = 230;
minimapCanvas.height = 230;
function drawMinimap() {
if (!minimapCtx) return;
const scale = minimapCanvas.width / (levelSize * cellSize);
const offsetX = minimapCanvas.width / 2;
const offsetY = minimapCanvas.height / 2;
minimapCtx.fillStyle = '#000';
minimapCtx.fillRect(0, 0, minimapCanvas.width, miniM
minimapCtx.fillStyle = '#666';
for (let y = 0; y < levelSize; y++) {
for (let x = 0; x < levelSize; x++) {
if (visitedCells[y] && visitedCells[y][x] && level[y][x] === 1) {
const px = (x - levelSize / 2) * cellSize * scale + offsetX;
const py = (y - levelSize / 2) * cellSize * scale + offsetY;
minimapCtx.fillRect(px - cellSize * scale / 2, py - cellSize * scale / 2,
cellSize * scale, cellSize * scale);
minimapCtx.fillStyle = '#333';
for (let y = 0; y < levelSize; y++) {
for (let x = 0; x < M
if (visitedCells[y] && visitedCells[y][x] && level[y][x] === 0) {
const px = (x - levelSize / 2) * cellSize * scale + offsetX;
const py = (y - levelSize / 2) * cellSize * scale + offsetY;
minimapCtx.fillRect(px - cellSize * scale / 2, py - cellSize * scale / 2,
cellSize * scale, cellSize * scale);
const playerGridX = (player.position.x / cellSize) + levelSize / 2;
const playerGridZ = (player.position.z / cellSize) + levelSize / 2;
const playerX = (playerGridX - levelSize / 2) * cellSize * scM
const playerZ = (playerGridZ - levelSize / 2) * cellSize * scale + offsetY;
minimapCtx.fillStyle = '#f00'; // Rot statt Gr
minimapCtx.beginPath();
minimapCtx.arc(playerX, playerZ, 3, 0, Math.PI * 2);
minimapCtx.strokeStyle = '#f00'; // Rot statt Gr
minimapCtx.lineWidth = 2;
minimapCtx.beginPath();
minimapCtx.moveTo(playerX, playerZ);
const dirX = playerX + Math.sin(player.rotation.y + Math.PI) * 10;
const dirZ = playerZ + Math.cos(player.rotation.y + Math.PI) * 10;
.lineTo(dirX, dirZ);
minimapCtx.stroke();
minimapCtx.fillStyle = '#f00';
for (let enemy of enemies) {
const gridX = Math.floor((enemy.position.x / cellSize) + levelSize / 2);
const gridZ = Math.floor((enemy.position.z / cellSize) + levelSize / 2);
if (visitedCells[gridZ] && visitedCells[gridZ][gridX]) {
const ex = ((gridX - levelSize / 2) * cellSize) * scale + offsetX;
const ez = ((gridZ - levelSize / 2) * cellSize) * scale + offsetY;
minimapCtx.beginPath();
minimapCtx.arc(ex, ez, 2, 0, Math.PI * 2);
for (let pickup of pickups) {
const gridX = Math.floor((pickup.position.x / cellSize) + levelSize / 2);
const gridZ = Math.floor((pickup.position.z / cellSize) + levelSize / 2);
if (visitedCells[gridZ] && visitedCells[gridZ][gridX]) {
minimapCtx.fillStyle = pickup.type === 'medkit' ? '#f00' : '#ff0';
const px = ((gridX - levelSize / 2) * cellSize) * scale + offsetX;
const pz = ((gridZ - levelSize / 2) * cellSize) * scale + offsetY;
minimapCtx.fillRect(px - 1, pz - 1, 2, 2);
X = Math.floor((exitPortal.position.x / cellSize) + levelSize / 2);
const gridZ = Math.floor((exitPortal.position.z / cellSize) + levelSize / 2);
if (visitedCells[gridZ] && visitedCells[gridZ][gridX]) {
minimapCtx.fillStyle = '#0ff';
const px = exitPortal.position.x * scale + offsetX;
const pz = exitPortal.position.z * scale + offsetY;
minimapCtx.beginPath();
minimapCtx.arc(px, pz, 4, 0, Math.PI * 2);
minimapCtx.fillStyle = 'rgba(0, 0, 0, 0.8)';
for (let y = 0; y < levelSize; y++) {
x = 0; x < levelSize; x++) {
if (!visitedCells[y] || !visitedCells[y][x]) {
const px = (x - levelSize / 2) * cellSize * scale + offsetX;
const py = (y - levelSize / 2) * cellSize * scale + offsetY;
minimapCtx.fillRect(px - cellSize * scale / 2, py - cellSize * scale / 2,
cellSize * scale, cellSize * scale);
function setupInput() {
document.addEventListener('keydown', (e) => {
keys[e.key.toLowerCase()] = true;
if (e.key === 'Enter' && gameState === 'menu') {
if (window.passwordJustEntered) M
console.log('Enter key ignored - password was just entered');
const startScreen = document.getElementById('startScreen');
const passwordScreen = document.getElementById('passwordScreen');
const passwordVisible = passwordScreen && window.getComputedStyle(passwordScreen).display !== 'none';
if (passwordVisible) {
console.log('Password screen still visible, ignoring Enter key');
if (startScreen && !startScreen.classList.contains('hidden')) {
const computedStyle = window.getComputedStyle(startScreM
const isVisible = computedStyle.display !== 'none' && computedStyle.visibility !== 'hidden';
const startDifficultySelect = document.getElementById('startDifficultySelect');
if (startDifficultySelect) {
difficultyLevel = startDifficultySelect.value;
console.log('Start screen is visible - calling showIntro()');
if (typeof showIntro === 'function') {
} else if (typeof window.showIntro === 'function') {
console.log('Start screen exists M
console.log('Start screen not found or hidden');
if (e.key === 'Escape' || e.keyCode === 27) {
console.log('ESC pressed, gameState:', gameState, 'pointerLockElement:', document.pointerLockElement); // Debug
e.preventDefault(); // Verhindere Standard-Verhalten (Browser-Men
e.stopPropagation(); // Verhindere weitere Event-Verarbeitung
if (gameState === 'playing') {
gameState = 'paused';
console.log('Game paused');
if (mouseControl && mouseControl.getIsActive()) {
toggleSettingsMenu();
} else if (gameState === 'paused') {
console.log('Resuming game from paused state');
const settingsMenu = document.getElementById('settingsMenu');
if (settingsMenu && !settingsMenu.classList.contains('hidden')) {
settingsMenu.classList.add('hidden');
settingsMenu.style.display = 'none';
gameState = 'playing';
console.log('Game resumed, gameState:', gameState);
if (mouseControl && gameState === 'playing') {
const settingsMenu = document.getElementById('settingsMenu');
if (settingsMenu && !settingsMenu.classList.contains('hidden')) {
closeSettingsMenu();
if (e.key === 'r' || e.key === 'R') {
if (gameState === 'playing') {
} else if (gameState === 'gameover') {
if ((e.key === 'f' || e.key === 'F') && gameState === 'playing') {
if ((e.key === 'l' || e.key === 'L') && gameState === 'playing') {
if ((e.key === 'm' || e.key === 'M') && gameStM
ate === 'playing') {
if (gameState === 'playing') {
if (e.key === '1') switchWeapon('pistol');
if (e.key === '2') switchWeapon('rifle');
if (e.key === '3') switchWeapon('mg');
if (e.key === '4') switchWeapon('sniper');
if (e.key === '5') switchWeapon('grenade');
document.addEventListener('keyup', (e) => {
keys[e.key.toLowerCase()] = false;
document.addEventListener('mousedown', (e) => {
if (gameState === 'playing') {
if (e.button === 0) { // Linke Maustaste - Schie
mouse.isDown = true;
shoot(); // Sofort schie
console.error('Error in shoot() on mousedown:', error);
mouseControl.activate();
if (mouseControl && !mouseControl.getIsActive()) {
mouseControl.activate();
} else if (e.button === 1) { // Mittlere Maustaste (Mausrad-Klick) - Maussteuerung Toggle
if (mouseControl.getIsActive()) {
mouseControl.deactivate();
mouseControl.activate();
} else if (e.button === 2) { // RechM
te Maustaste - Zoom (nur bei Sniper) ODER Medikit
if (currentWeapon === 'sniper') {
camera.fov = 25; // Moderater Zoom (reduziert von 15)
camera.updateProjectionMatrix();
updateSniperVignette();
currentRotationY = targetRotationY;
currentRotationX = targetRotationX;
document.addEventListener('mouseup', (e) => {
if (e.button === 0) {
mouse.isDown = false;
isShooting = false; // Stoppe kontinuierliches Schie
utton === 2) { // Rechte Maustaste losgelassen - Zoom aus
if (currentWeapon === 'sniper' && sniperZoom) {
camera.updateProjectionMatrix();
updateSniperVignette();
currentRotationY = targetRotationY;
currentRotationX = targetRotationX;
document.addEventListener('contextmenu', (e) => {
if (gameState === 'playing') {
const canvas = document.getElementById('gameCanvas');
document.addEventListener('mousemove', (e) => {
if (gameState === 'playing' && M
const container = document.getElementById('gameContainer');
const rect = container ? container.getBoundingClientRect() : canvas.getBoundingClientRect();
const x = e.clientX - rect.left;
const y = e.clientY - rect.top;
isMouseOverCanvas = x >= 0 && x <= rect.width && y >= 0 && y <= rect.height;
if (isMouseOverCanvas) {
mousePositionX = Math.max(0, Math.min(1, x / rect.width));
mousePositionX = 0.5;
const container = document.getElementById('gameContainer');
entListener('mouseleave', () => {
isMouseOverCanvas = false;
mousePositionX = 0.5; // Zur
} else if (canvas) {
canvas.addEventListener('mouseleave', () => {
isMouseOverCanvas = false;
mousePositionX = 0.5; // Zur
mouseControl = new MouseControlLib({
onRotation: (deltaX, deltaY) => {
targetRotationY -= deltaX;
targetRotationX -= deltaY;
targetRotationX = Math.max(-Math.PI / 2, Math.min(Math.PI / 2, targetRotationX));
isActive: () => gameState === 'playing',
PointerLocked: () => false, // Pointer Lock wird nicht verwendet (Sandbox blockiert)
rotationSpeed: 0.005, // Fallback-Modus (nicht verwendet bei automatischer Rotation)
pointerLockRotationSpeed: 0.003, // Pointer Lock Modus
baseSensitivity: 0.8, // Basis-Empfindlichkeit
sensitivityMultiplier: () => {
const zoomMultiplier = sniperZoom ? 0.5 : 1.0;
return zoomMultiplier * mouseSensitivity;
minRotationThreshold: 0.5,
warpThresholdPercent: 0.12, // ERH
her (20px statt 30px)
console.log('MouseControl initialisiert:', mouseControl);
canvas.setAttribute('tabindex', '0');
canvas.style.outline = 'none';
canvas.addEventListener('click', () => {
if (gameState === 'playing' && mouseControl) {
mouseControl.activate();
console.log('Canvas clicked - MouseControl activated');
canvas.addEventListener('mouseenter', () => {
if (gameState === 'playing' && mouseControl) {
mouseControl.activate();
ddEventListener('keydown', (e) => {
if (e.key === 'ArrowUp') keys['ArrowUp'] = true;
if (e.key === 'ArrowDown') keys['ArrowDown'] = true;
if (e.key === 'ArrowLeft') keys['ArrowLeft'] = true;
if (e.key === 'ArrowRight') keys['ArrowRight'] = true;
if (e.key === 'h' || e.key === 'H') {
if (gameState === 'playing') {
toggleControlsHelp();
document.addEventListener('keyup', (e) => {
if (e.key === 'ArrowUp') keys['ArrowUp'] = false;
if (e.key === 'ArrowDown') keys['ArrowDown'] = false;
if (e.key === 'ArrowLeft') M
keys['ArrowLeft'] = false;
if (e.key === 'ArrowRight') keys['ArrowRight'] = false;
document.addEventListener('pointerlockchange', () => {
mouse.isLocked = document.pointerLockElement !== null;
function lockPointer() {
const canvas = document.getElementById('gameCanvas');
if (canvas && canvas.requestPointerLock) {
return canvas.requestPointerLock().catch(err => {
console.warn('Pointer Lock nicht verf
gbar (wahrscheinlich sandboxed iframe):', err);
throw err; // Weiterwerfen, damit .catch() in anderen FunkM
return Promise.reject(new Error('Canvas nicht gefunden'));
function checkWeaponUnlocks() {
for (const [weapon, scoreThreshold] of Object.entries(weaponUnlockScores)) {
if (unlockedWeapons.has(weapon)) continue; // Bereits freigeschaltet
let shouldUnlock = false;
if (weapon === 'mg') {
shouldUnlock = (playerScore >= scoreThreshold) || (currentLevel >= 2);
else if (weapon === 'sniper') {
shouldUnlock = (playerScore >= scoreThreshold) || (currentLevel >= 3);
shouldUnlock = playerM
Score >= scoreThreshold;
unlockWeapon(weapon);
function unlockWeapon(weapon) {
if (unlockedWeapons.has(weapon)) return; // Bereits freigeschaltet
unlockedWeapons.add(weapon);
showWeaponUnlockMessage(weapon);
if (weaponConfigs[weapon]) {
playerAmmo[weapon] = weaponConfigs[weapon].maxAmmo;
function showWeaponUnlockMessage(weapon) {
const weaponNames = {
const unlockMessage = document.getElementById('weaponUnlockMessage');
Text = document.getElementById('weaponUnlockText');
if (unlockMessage && unlockText) {
unlockText.textContent = `${weaponNames[weapon] || weapon.toUpperCase()} UNLOCKED!`;
unlockMessage.classList.remove('hidden');
unlockMessage.classList.add('hidden');
function showHitmarker() {
const hitmarker = document.getElementById('hitmarker');
console.warn('Hitmarker element not found!');
hitmarker.classList.remove('hidden');
hitmarker.classList.add('active');
hitmarker.classList.remove('active');
function showKillstreakDisplay() {
const killstreakDisplay = document.getElementById('killstreakDisplay');
const killstreakValue = document.getElementById('killstreakValue');
if (killstreakDisplay && killstreakValue) {
killstreakValue.textContent = killstreak;
killstreakDisplay.classList.remove('hidden');
killstreakDisplay.style.opacity = '1';
killstreakDisplay.style.opacity = '0';
killstreakDisplay.classList.add('M
function showKillText(isHeadshot) {
const killText = document.getElementById('killText');
console.warn('KillText element not found!');
killText.textContent = isHeadshot ? 'HEADSHOT!' : 'KILL!';
killText.classList.remove('headshot');
killText.classList.remove('hidden'); // Entferne hidden
killText.classList.add('headshot');
killText.classList.add('active');
killText.classList.remove('active');
WeaponSwitchAnimation(weapon) {
const animation = document.getElementById('weaponSwitchAnimation');
console.warn('WeaponSwitchAnimation element not found!');
const weaponNames = {
animation.textContent = weaponNames[weapon] || weapon.toUpperCase();
animation.classList.remove('hidden'); // Entferne hidden
animation.classList.add('active');
animation.classList.remove('active');
function switchWeapon(weapon) {
if (!weaponConfigs[weapon]) {
console.log(`Weapon ${weapon} not found!`);
if (currentLevel === 1 && !unlockedWeapons.has(weapon)) {
console.log(`Weapon ${weapon} is locked!`);
return; // Waffe ist gesperrt
currentWeapon = weapon;
scene.remove(weaponMesh);
weaponMesh = createWeaponModel(currentWeapon);
if (weaponMesh && scene) {
scene.add(weaponMesh);
console.log(`=== WEAPON SWITCHED ===`);
console.log(`Weapon: ${currentWeapM
console.log(`Scene children count:`, scene.children.length);
console.error('FAILED to switch weapon!');
showWeaponSwitchAnimation(weapon);
if (weapon === 'sniper') {
camera.updateProjectionMatrix();
updateSniperVignette();
function gameLoop() {
const now = Date.now();
if (now - fpsLastTime >= 1000) {
currentFPS = fpsCounter;
fpsDisplay = fpsCounter;
const fpsValue = document.getElementById('fpsValue');
fpsValue.textContent = fpsDisplay;
if (gameState === 'playing') {
if (isShooting && mouse.isDown) {
const weapon = weaponConfigs[currentWeapon];
updateEnemyBullets();
checkAndSpawnAmmoIfNeeded();
if (currentLevel === 4) {
updateSnowParticles();
updateVictoryCube();
checkEdgeChallengeTrigger();
if (currentLevel === 4) {
updateSkyTransition();
exitPortal.rotation += 0.02;
if (exitPortal.mesh) {
exitPortal.mesh.rotation.y = exitPortal.rotation;
if (flickerTimer > 5000 && Math.random() < 0.01) {
flickerActive = true;
flickerDuration = 200 + Math.random() * 300;
if (flickerActive) {
flickerDuration -= 16;
const flickerIntensity = 0.3 + Math.random() * 0.7;
if (window.gameLights) {
for (let light of window.gameLights) {
light.intensity = light.userData.originalIntensity * flickerIntensity;
if (flickerDuration <= 0) {
flickerActive = false;
if (window.gameLights) {
for (let light of window.gameLights) {
light.intensity = light.userData.originalIntensity;
if (playerInvulnerable && invulnerabilityTimer > 0) {
invulnerabilityTimer -= 16; // 16ms pro Frame (bei 60fps)
if (invulnerabilityTimer <= 0) {
playerInvulnerable = false;
console.log('Invulnerability ended');
if (window.gameLights) {
ridX = Math.floor((player.position.x / cellSize) + levelSize / 2);
const playerGridZ = Math.floor((player.position.z / cellSize) + levelSize / 2);
const cellKey = `${playerGridX},${playerGridZ}`;
if (darkTunnelCells.has(cellKey)) {
for (let light of window.gameLights) {
const lightDist = light.position.distanceTo(player.position);
if (lightDist < 10) {
light.intensity = light.userData.originalIntensity * 0.2;
const weapon = weaponConfigs[currentWeapon];
if ((mouse.isDown || keys[' ']) && weapon && weapon.coM
const now = Date.now();
if (now - lastMinimapUpdate >= MINIMAP_UPDATE_INTERVAL) {
lastMinimapUpdate = now;
const canvas = document.getElementById('gameCanvas');
const canvasVisible = canvas && window.getComputedStyle(canvas).display !== 'none' &&
window.getComputedStyle(canvas).visibility !== 'hidden' &&
gameState === 'playing';
if (canvasVisible && renderer && scene && camera) {
renderer.render(scene, camera);
requestAnimationFrame(gameLoop);
function startGame() {
sole.log('=== startGame() CALLED ===');
gameState = 'playing';
playerLives = 3; // Starte mit 3 Leben
playerMedkits = 1; // Starte mit 1 Medikit
gameStartTime = Date.now();
weaponsUsed = new Set();
killstreakMultiplier = 1.0;
unlockedWeapons = new Set(['pistol', 'rifle', 'grenade']);
if (currentLevel >= 2) {
unlockedWeapons.add('mg');
if (currentLevel >= 3) {
unlockedWeapons.add('sniper');
checkWeaponUnlocks();
console.log('Game state set to playing');
console.log('Calling initWeapons()...');
console.log('initWeapons() completed');
console.log('Calling generateLevel()...');
console.log('generateLevel() completed');
console.log('Initializing visited cells...');
for (let y = 0; y < levelSize; y++) {
visitedCells[y] = [];
for (let x = 0; x < levelSize; x++) {
visitedCells[y][x] = false;
le.log('Visited cells initialized for levelSize:', levelSize);
console.log('Clearing scene...');
while (scene.children.length > 0) {
scene.remove(scene.children[0]);
console.log('Scene cleared');
console.log('Three.js reinitialized with lights');
console.log('Calling buildLevel()...');
console.log('buildLevel() completed');
updateReflections();
console.log('Calling initPlayer()...');
console.log('initPlayer() completed');
startSound.play().catch(e => {
console.warn('Could not play start sound on spawn:', e);
console.warn('Error playing start sound on spawn:', error);
console.log('Calling spawnEnemies()...');
console.log('spawnEnemies() completed');
console.error('ERROR in spawnEnemies():', error);
console.error('Error message:', error.message);
console.error('Stack:', error.stack);
enemies = enemies || [];
console.log('Calling spawnPickups()...');
console.log('spawnPickups() completed');
levelInitialized = true;
playerInvulnerable = true;
invulnerabilityTimer = 10000; // 10 Sekunden
scene.remove(weaponMesh);
weaponMesh = createWeaponModel(currentWeapon);
if (weaponMesh && scene) {
scene.add(weaponMesh);
console.log(`=== WEAPON MODEL CREATED ===`);
console.log(`Weapon: ${currentWeapon}`);
console.log(`Weapon scale:`, weaponMesh.scale);
console.log(`Scene children count:`, scene.children.length);
og(`Weapon is in scene:`, scene.children.includes(weaponMesh));
console.error('FAILED to create weapon model!');
console.error('weaponMesh:', weaponMesh);
console.error('scene:', scene);
const startScreenEl = document.getElementById('startScreen');
const introScreenEl = document.getElementById('introScreen');
const gameOverScreenEl = document.getElementById('gameOverScreen');
const controlsHelpEl = document.getElementById('controlsHelp');
if (startScreenEl) {
startScreenEl.classList.add('hidden');
creenEl.style.display = 'none';
if (introScreenEl) {
if (typewriterTimeout) {
clearTimeout(typewriterTimeout);
introScreenEl.classList.add('hidden');
introScreenEl.style.display = 'none';
if (gameOverScreenEl) {
gameOverScreenEl.classList.add('hidden');
gameOverScreenEl.style.display = 'none';
if (controlsHelpEl) {
controlsHelpEl.classList.add('hidden');
const restartHintEl = document.getElementById('restartHint');
if (restartHintEl) {
restartHintEl.classList.remove('hidden');
e.log('Screens hidden');
const startMsg = document.getElementById('startMessage');
startMsg.classList.remove('hidden');
startMsg.classList.add('hidden');
if (backgroundMusic) {
backgroundMusic.currentTime = 0;
backgroundMusic.play().catch(e => {
console.warn('Musik konnte nicht abgespielt werden:', e);
const canvas = document.getElementById('gameCanvas');
canvas.style.setProperty('display', 'block', 'important');
canvas.style.setPropertM
y('visibility', 'visible', 'important');
canvas.style.setProperty('opacity', '1', 'important'); // Stelle sicher, dass Canvas sichtbar ist
canvas.style.setProperty('z-index', '1', 'important');
canvas.style.setProperty('pointer-events', 'auto', 'important');
canvas.style.position = 'absolute';
canvas.style.top = '0';
canvas.style.left = '0';
const gameContainer = document.getElementById('gameContainer');
if (gameContainer) {
gameContainer.style.pointerEvents = 'auto';
document.body.style.pointerEvents = 'auto';
console.log('Final gameState:', gameState);
console.log('Scene exists:', !!scene);
console.log('Scene children count:', scene ? scene.children.length : 0);
console.log('Camera exists:', !!camera);
console.log('Camera position:', camera ? `${camera.position.x.toFixed(2)}, ${camera.position.y.toFixed(2)}, ${camera.position.z.toFixed(2)}` : 'N/A');
console.log('Renderer exists:', !!renderer);
console.log('Canvas element:', canvas);
console.log('Canvas computed style:', canvas ? window.getComputedStyle(canvas).displayM
if (renderer && scene && camera) {
renderer.render(scene, camera);
console.log('Forced initial render completed');
console.error('CRITICAL: Renderer, Scene, or Camera is missing!');
console.error('Renderer:', !!renderer);
console.error('Scene:', !!scene);
console.error('Camera:', !!camera);
console.log('gameState is:', gameState);
console.log('gameLoop should be running (called in init())');
mouseControl.activate();
seControl activation error:', e);
if (mouseControl && !mouse.isLocked && !mouseControl.getIsActive() && gameState === 'playing') {
console.log('Aktiviere Maussteuerung automatisch (Pointer Lock nicht verf
mouseControl.activate();
console.log('Game started successfully! All systems should be running.');
console.log('If game is not visible, check:');
console.log('1. Are screens hidden? (check DOM)');
console.log('2. Is canvas visible? (check computed styles)');
le.log('3. Is gameState === "playing"? (should be true)');
console.log('4. Is renderer.render() being called? (check gameLoop)');
console.error('=== ERROR IN startGame() ===');
console.error('Error message:', error.message);
console.error('Error name:', error.name);
console.error('Stack trace:', error.stack);
console.error('Full error object:', error);
console.warn('Attempting to continue despite error...');
gameState = 'playing';
const startScreenEl = document.getElementById('startScreen');
introScreenEl = document.getElementById('introScreen');
if (startScreenEl) {
startScreenEl.classList.add('hidden');
startScreenEl.style.display = 'none';
if (introScreenEl) {
if (typewriterTimeout) {
clearTimeout(typewriterTimeout);
introScreenEl.classList.add('hidden');
introScreenEl.style.display = 'none';
const canvas = document.getElementById('gameCanvas');
canvas.style.setProperty('display', 'block', 'important');
canvas.style.setProperty('visibility', 'visible', 'imporM
canvas.style.setProperty('opacity', '1', 'important');
canvas.style.setProperty('pointer-events', 'auto', 'important');
if (renderer && scene && camera) {
renderer.render(scene, camera);
function restartLevel() {
console.log('=== restartLevel() CALLED ===');
if (gameState !== 'playing') return;
bossDefeated = false;
cubeCollected = false;
if (victoryCube && victoryCube.mesh) {
scene.remove(victoryCube.mesh);
for (let y = 0; y < levelSize; y++) {
visitedCells[y] = [];
for (let x = 0; x < levelSize; x++) {
visitedCells[y][x] = false;
while (scene.children.length > 0) {
scene.remove(scene.children[0]);
console.error('ERROR in spawnEnemies():', error);
enemies = enemies || [];
levelInitialized = true;
playerInvulnerable = true;
invulnerabilityTimer = 10000;
weaponMesh = createWeaponModel(currentWeapon);
if (weaponMesh && scene) {
scene.add(weaponMesh);
camera.updateProjectionMatrix();
document.getElementById('startScreen')?.classList.add('hidden');
document.getElementById('gameOverScreen')?.classList.add('hidden');
document.getElementById('statisticsScreen')?.classList.add('hidden');
document.getElementById('creditsScreen')?.classList.add('hidden');
lockPointer().catch(() => {
if (mouseControl && !mouse.isLocked) {
mouseControl.activate();
console.warn('Could not lock pointer:', e);
console.log('Level restarted successfully!');
function quitToMenu() {
console.log('=== QUIT TO MENU ===');
mouseControl.deactivate();
const settingsMenu = document.getElementById('settingsMenu');
settingsMenu.classList.add('hidden');
settingsMenu.style.display = 'none';
t gameOverScreen = document.getElementById('gameOverScreen');
const statisticsScreen = document.getElementById('statisticsScreen');
const creditsScreen = document.getElementById('creditsScreen');
if (gameOverScreen) {
gameOverScreen.classList.add('hidden');
gameOverScreen.style.display = 'none';
if (statisticsScreen) {
statisticsScreen.classList.add('hidden');
statisticsScreen.style.display = 'none';
if (creditsScreen) {
creditsScreen.classList.add('hidden');
creditsScreen.style.display = 'none';
= document.getElementById('gameCanvas');
canvas.style.display = 'none';
canvas.style.visibility = 'hidden';
const startScreen = document.getElementById('startScreen');
startScreen.classList.remove('hidden');
startScreen.style.display = 'flex';
startScreen.style.pointerEvents = 'auto';
startScreen.style.cursor = 'pointer';
if (backgroundMusic) {
backgroundMusic.pause();
backgroundMusic.currentTime = 0;
killstreakMultiplier = 1.0;
bossDefeated = false;
cubeCollected = false;
edgeChallenge.active = false;
level4SkyTransition.active = false;
unlockedWeapons = new Set(['pistol', 'rifle', 'grenade']);
currentWeapon = 'pistol';
mouse.isDown = false;
mouse.isLocked = false;
isReloading = false;
graffitiSprites = [];
while (scene.children.length > 0) {
scene.remove(scene.children[0]);
camera.updateProjectionMatrix();
targetRotationY = 0;
targetRotationX = 0;
currentRotationY = 0;
currentRotationX = 0;
levelInitialized = false;
level4SkyMesh = null;
level4SkyTexture = null;
console.log('Returned to main menu');
if (typeof window !== M
window.startGame = startGame;
window.restartLevel = restartLevel;
window.quitToMenu = quitToMenu;
function gameOver(won) {
console.log('=== GAME OVER ===', won ? 'WON' : 'LOST');
gameState = 'gameover';
return; // Statistik zeigt dann Victory-Bild und Abspann (nur Level 4) oder zur
const restartHintEl = document.getElementById('restartHint');
if (restartHintEl) {
restartHintEl.classList.add('hidden');
const gameOverScreenEl = document.getElementById('gM
if (gameOverScreenEl) {
gameOverScreenEl.classList.remove('hidden');
gameOverScreenEl.style.setProperty('display', 'flex', 'important');
gameOverScreenEl.style.setProperty('visibility', 'visible', 'important');
gameOverScreenEl.style.setProperty('opacity', '1', 'important');
gameOverScreenEl.style.setProperty('z-index', '10001', 'important');
gameOverScreenEl.classList.add('won');
gameOverScreenEl.classList.remove('won');
const gameOverTextEl = document.getElementById('gameOM
if (gameOverTextEl) {
gameOverTextEl.textContent = won ? 'ALL ENEMIES DEFEATED!' : 'YOU DIED!';
const gameOverImageEl = document.getElementById('gameOverImage');
const victoryImageEl = document.getElementById('victoryImage');
if (gameOverImageEl && victoryImageEl) {
gameOverImageEl.classList.add('hidden');
gameOverImageEl.style.display = 'none';
victoryImageEl.classList.remove('hidden');
victoryImageEl.style.display = 'block';
victoryImageEl.style.visibility = 'visible';
victoryImageEl.styleM
gameOverImageEl.classList.remove('hidden');
gameOverImageEl.style.display = 'block';
gameOverImageEl.style.visibility = 'visible';
gameOverImageEl.style.opacity = '1';
victoryImageEl.classList.add('hidden');
victoryImageEl.style.display = 'none';
const finalScoreEl = document.getElementById('finalScore');
finalScoreEl.textContent = `Final Score: ${playerScore}`;
if (backgroundMusic) {
backgroundMusic.pause();
backgroundMusic.currentTime = 0;
if (document.pointerLM
ockElement === document.body ||
document.pointerLockElement === document.getElementById('gameCanvas')) {
document.exitPointerLock();
mouse.isDown = false;
const startScreen = document.getElementById('startScreen');
startScreen.classList.remove('hidden');
startScreen.style.display = 'flex';
startScreen.style.pointerEvents = 'auto';
startScreen.style.cursor = 'pointer';
const gameOverScreen = document.getElemM
entById('gameOverScreen');
if (gameOverScreen) {
gameOverScreen.classList.add('hidden');
console.log('Game Over Screen should be visible now');
function showVictoryImageAndCredits() {
const canvas = document.getElementById('gameCanvas');
canvas.style.setProperty('display', 'none', 'important');
const creditsScreen = document.getElementById('creditsScreen');
if (!creditsScreen) {
showRestartOption();
const imageContainer = document.createElement('div');
er.id = 'victoryImageContainer';
imageContainer.style.cssText = 'position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #000; display: flex; align-items: center; justify-content: center; z-index: 10003;';
const img = document.createElement('img');
img.src = '/content/c628902f89dbeab67a396cbc997a42d631fbe9d2e98d538cd93fae7267501e93i0';
img.style.cssText = 'max-width: 90%; max-height: 90%; object-fit: contain;';
imageContainer.appendChild(img);
document.body.appendChild(imageContainer);
imageContainer.style.opacity = '0';
imageContainer.style.transition = 'opacity 1s';
if (document.body.contains(imageContainer)) {
document.body.removeChild(imageContainer);
creditsScreen.classList.remove('hidden');
creditsScreen.style.display = 'flex';
const handleCreditsSkip = (e) => {
creditsScreen.classList.add('hidden');
document.removeEventListener('keydown', handleCreditsSkip);
document.removeEventListener('click', handleCreditsSkip);
showRestartOption();
document.addEventListener('keydown', handleCreditsSkip);
document.addEventListener('click', handleCreditsSkip);
if (!creditsScreen.classList.contains('hidden')) {
handleCreditsSkip({});
function showRestartOption() {
if (backgroundMusic) {
backgroundMusic.pause();
backgroundMusic.currentTime = 0;
if (document.pointerLockElement === document.body ||
document.pointerLockElement === document.getElementById('gameCanvas')) {
document.exitPointerLock();
mouse.isDown = false;
const startScreen = document.getElementById('startScreen');
startScreen.classList.remove('hidden');
startScreen.style.display = 'flex';
const gameOverScreenEl = document.getElementById('gameOverScreen');
if (gameOverScreenEl) {
gameOverScreenEl.classList.add('hidden');
gameOverScreenEl.style.display = 'none';
const creditsScreen = document.getElementById('creditsScreen');
if (creditsScreen) {
creditsScreen.classList.add('hiddM
creditsScreen.style.display = 'none';
function showStatistics() {
const statisticsScreen = document.getElementById('statisticsScreen');
if (!statisticsScreen) return;
const accuracy = totalShots > 0 ? Math.round((totalHits / totalShots) * 100) : 0;
const gameTime = Math.floor((Date.now() - gameStartTime) / 1000);
const minutes = Math.floor(gameTime / 60);
const seconds = gameTime % 60;
const timeString = `${minutes}:${seconds.toString().padStart(2, '0')}`;
const weaponNames = {
const weaponsList = Array.from(weaponsUsed).map(w => weaponNames[w] || w).join(', ') || 'None';
const statKills = document.getElementById('statKills');
const statAccuracy = document.getElementById('statAccuracy');
const statTime = document.getElementById('statTime');
const statWeapons = document.getElementById('statWeapons');
const statHeadshots = document.getElementById('statHeadshots');
const statMaxKillstreak = document.getElementById('statMaxKillM
const statKillstreakBonus = document.getElementById('statKillstreakBonus');
if (statKills) statKills.textContent = totalKills;
if (statAccuracy) statAccuracy.textContent = accuracy + '%';
if (statTime) statTime.textContent = timeString;
if (statWeapons) statWeapons.textContent = weaponsList;
if (statHeadshots) statHeadshots.textContent = totalHeadshots;
if (statMaxKillstreak) statMaxKillstreak.textContent = maxKillstreak;
if (statKillstreakBonus) statKillstreakBonus.textContent = maxKillstreak > 0 ? (1.0 M
+ (maxKillstreak - 1) * 0.2).toFixed(1) + 'x' : '1.0x';
statisticsScreen.classList.remove('hidden');
statisticsScreen.style.setProperty('display', 'flex', 'important');
statisticsScreen.style.setProperty('visibility', 'visible', 'important');
statisticsScreen.style.setProperty('opacity', '1', 'important');
statisticsScreen.style.setProperty('z-index', '10001', 'important');
const canvas = document.getElementById('gameCanvas');
canvas.style.setProperty('display', 'none', 'important');
tartAfterStats = (e) => {
if (e.key === 'r' || e.key === 'R') {
statisticsScreen.classList.add('hidden');
statisticsScreen.style.setProperty('display', 'none', 'important');
document.removeEventListener('keydown', handleRestartAfterStats);
if (currentLevel === 4) {
showVictoryImageAndCredits();
showRestartOption();
document.addEventListener('keydown', handleRestartAfterStats);
function nextLevel() {
if (currentLevel >= 4) {
console.log('Already in Level 4 - cannot go to next level');
elInitialized = false;
unlockedWeapons = new Set(['pistol', 'rifle', 'grenade']);
if (currentLevel >= 2) {
unlockedWeapons.add('mg');
if (currentLevel >= 3) {
unlockedWeapons.add('sniper');
checkWeaponUnlocks();
console.log(`=== STARTING LEVEL ${currentLevel} ===`);
while (scene.children.length > 0) {
scene.remove(scene.children[0]);
for (let y = 0; y < levelSize; y++) {
for (let x = 0; x < levelSize; x++) {
visitedCells[y][x] = false;
levelInitialized = true;
mousePositionX = 0.5; // Zur
isMouseOverCanvas = false; // Wird beim n
chsten Maus-Move neu gesetzt
startSound.currentTime = 0;
startSound.play().catch(e => {
console.warn('Could not play start sound on level spawn:', e);
console.warn('Error playing start sound on level spawn:', erroM
scene.remove(weaponMesh);
weaponMesh = createWeaponModel(currentWeapon);
if (weaponMesh && scene) {
scene.add(weaponMesh);
console.log(`=== WEAPON MODEL CREATED (nextLevel) ===`);
console.log(`Weapon: ${currentWeapon}`);
const canvas = document.getElementById('gameCanvas');
canvas.style.setProperty('display', 'block', 'important');
canvas.style.setProperty('visibility', 'visible', 'important');
canvas.style.setProperty('opacity', '1', 'impoM
canvas.style.setProperty('z-index', '1', 'important');
canvas.style.setProperty('pointer-events', 'auto', 'important');
playerInvulnerable = true;
invulnerabilityTimer = 10000; // 10 Sekunden
const startMsg = document.getElementById('startMessage');
startMsg.classList.remove('hidden');
startMsg.classList.add('hidden');
lockPointer().catch(() => {
if (mouseControl && !mouse.isLocked) {
console.log('Pointer Lock fehlgeschlagen, aktiviere Fallback-MaussteuerungM
mouseControl.activate();
function toggleControlsHelp() {
const helpDiv = document.getElementById('controlsHelp');
helpDiv.classList.toggle('hidden');
function initIntroCube() {
const cubeContainer = document.getElementById('introCubeContainer');
if (!cubeContainer) return;
const canvas = document.createElement('canvas');
canvas.width = cubeContainer.offsetWidth || window.innerWidth;
canvas.height = cubeContainer.offsetHeight || window.innerHeight * 0.5;
er.appendChild(canvas);
introCubeScene = new THREE.Scene();
introCubeCamera = new THREE.PerspectiveCamera(75, canvas.width / canvas.height, 0.1, 1000);
introCubeCamera.position.set(0, 0, 5);
introCubeCamera.lookAt(0, 0, 0);
introCubeRenderer = new THREE.WebGLRenderer({ canvas: canvas, alpha: true, antialias: true });
introCubeRenderer.setSize(canvas.width, canvas.height);
introCubeRenderer.setClearColor(0x000000, 0);
const ambientLight = new THREE.AmbientLight(0xffffff, 0.6);
introCubeScene.add(ambientLight);
directionalLight = new THREE.DirectionalLight(0xffffff, 0.8);
directionalLight.position.set(5, 5, 5);
introCubeScene.add(directionalLight);
const cubeSize = 1.5;
const cubeGeometry = new THREE.BoxGeometry(cubeSize, cubeSize, cubeSize);
const textureLoader = new THREE.TextureLoader();
textureLoader.load('/content/d5b2fd5b26b11e7acc53bdc96389036c7953ba0ffe48e593222af4d55b81246ei0',
texture.generateMipmaps = false;
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
texture.repeat.set(1, 1);
texture.flipY = false;
const cubeMaterial = new THREE.MeshStandardMaterial({
emissiveIntensity: 0.8,
emissiveMap: texture,
introCubeMesh = new THREE.Mesh(cubeGeometry, cubeMaterial);
introCubeMesh.position.set(0, 0, 0);
introCubeScene.add(introCubeMesh);
'Error loading intro cube texture:', error);
const cubeMaterial = new THREE.MeshStandardMaterial({
emissiveIntensity: 0.8,
introCubeMesh = new THREE.Mesh(cubeGeometry, cubeMaterial);
introCubeMesh.position.set(0, 0, 0);
introCubeScene.add(introCubeMesh);
function animateIntroCube() {
if (!introCubeMesh || !introCubeRenderer || !introCubeScene || !introCubeCamera) return;
introCubeMesh.rotation.x += 0.01;
.rotation.y += 0.02;
introCubeRenderer.render(introCubeScene, introCubeCamera);
introCubeAnimationId = requestAnimationFrame(animateIntroCube);
function cleanupIntroCube() {
if (introCubeAnimationId) {
cancelAnimationFrame(introCubeAnimationId);
introCubeAnimationId = null;
const cubeContainer = document.getElementById('introCubeContainer');
if (cubeContainer) {
cubeContainer.innerHTML = '';
if (introCubeMesh) {
if (introCubeMesh.geometry) introCubeMesh.geometry.dispose();
if (introCubeMesh.material) {
ray.isArray(introCubeMesh.material)) {
introCubeMesh.material.forEach(mat => {
if (mat.map) mat.map.dispose();
if (introCubeMesh.material.map) introCubeMesh.material.map.dispose();
introCubeMesh.material.dispose();
introCubeMesh = null;
if (introCubeRenderer) {
introCubeRenderer.dispose();
introCubeRenderer = null;
introCubeScene = null;
introCubeCamera = null;
const INTRO_FULL_TEXT = `This Christmas, everything is different
The Grinch has cursed the world and twisted the heM
arts of all creatures
joy into hate, love into anger. In his sinister plan to destroy Christmas, even Santa's most loyal friends have turned against him. They have stolen the Sacred Gift, the Magic Cube of Santa.
Now Santa is no longer the cheerful old man everyone knew. Transformed into a powerful, vengeful protector, he now fights against those who would destroy him.
Will you survive Christmas and retrieve the Sacred Cube?`;
function skipTypewriterEffect() {
if (typewriterTimeout) {
clearTimeout(typewriterTimM
typewriterTimeout = null;
const textContainer = document.getElementById('introTypewriterText');
if (!textContainer) return;
const lines = INTRO_FULL_TEXT.split('\n');
for (let i = 0; i < lines.length; i++) {
if (lines[i].trim() !== '') {
html += `<div class="typewriter-line">${lines[i]}</div>`;
html += `<div class="typewriter-line"> </div>`;
html += `<div class="typewriter-line"><span class="cursor"></span></div>`;
textContainer.innerHTML = html;
const textContainerParent =M
document.getElementById('introTextContainer');
if (textContainerParent) {
textContainerParent.scrollTop = textContainerParent.scrollHeight;
function startTypewriterEffect() {
const textContainer = document.getElementById('introTypewriterText');
if (!textContainer) return;
if (typewriterTimeout) {
clearTimeout(typewriterTimeout);
const lines = INTRO_FULL_TEXT.split('\n');
let currentLineIndex = 0;
let currentCharIndex = 0;
const charDelay = 25; // ms pro Zeichen (schneller)
let displayedText = '';
function typeNextChar() {
if (currentLineIndex >= lines.length) {
const cursor = document.createElement('span');
cursor.className = 'cursor';
textContainer.appendChild(cursor);
const currentLine = lines[currentLineIndex];
if (currentCharIndex < currentLine.length) {
displayedText += currentLine[currentCharIndex];
const textContainerParent = document.getElementById('introTextContainer');
const lineHeight = textContainerParent ? parseFloat(getComputedStyle(textContaineM
r).fontSize) * 1.8 : 2;
const maxVisibleLines = textContainerParent ? Math.floor(textContainerParent.clientHeight / lineHeight) : 20;
const midPoint = maxVisibleLines / 2;
if (currentLineIndex > midPoint) {
startIndex = currentLineIndex - midPoint;
for (let i = startIndex; i <= currentLineIndex; i++) {
if (i < currentLineIndex) {
if (lines[i].trim() !== '') {
html += `<div class="typewriter-line">${lines[i]}</div>`;
html += `<div class="typewriter-line"> </div>`;
html += `<div class="typewriter-line">${displayedText}<span class="cursor"></span></div>`;
textContainer.innerHTML = html;
if (textContainerParent) {
textContainerParent.scrollTop = textContainerParent.scrollHeight;
typewriterTimeout = setTimeout(typeNextChar, charDelay);
currentCharIndex = 0;
if (currentLineIndex < lines.length) {
typewriterTimeout = setTimeout(typeNextChar, charDelay);
const cursor = document.createElemeM
cursor.className = 'cursor';
textContainer.appendChild(cursor);
function showIntro() {
console.log('=== showIntro() CALLED ===');
console.trace('showIntro() call stack:');
const startScreen = document.getElementById('startScreen');
const introScreen = document.getElementById('introScreen');
const passwordScreen = document.getElementById('passwordScreen');
if (passwordScreen) {
const passwordVisible = window.getComputedStyle(passwordScreen).display !== 'none';
if (passwordVisible)M
console.log('=== showIntro() BLOCKED - Password screen still visible ===');
const wasVisible = !startScreen.classList.contains('hidden') && window.getComputedStyle(startScreen).display !== 'none';
console.log('Start screen was visible before showIntro():', wasVisible);
console.warn('=== WARNING: showIntro() called but start screen was NOT visible! ===');
startScreen.classList.add('hidden');
startScreen.style.display = 'none';
WARNING: showIntro() called but start screen element not found! ===');
introScreen.classList.remove('hidden');
introScreen.style.display = 'flex';
introScreen.style.cursor = 'pointer';
introScreen.style.pointerEvents = 'auto';
introScreen.style.zIndex = '10000';
const newIntroScreen = introScreen.cloneNode(true);
introScreen.parentNode.replaceChild(newIntroScreen, introScreen);
const newIntro = document.getElementById('introScreen');
const newIntroClone = newIntro.cloneNM
newIntro.parentNode.replaceChild(newIntroClone, newIntro);
const finalIntro = document.getElementById('introScreen');
const skipIntroHandler = function(e) {
console.log('=== INTRO CLICKED - Skipping typewriter and calling startGame() ===');
e.stopPropagation();
skipTypewriterEffect();
if (window.startGame) {
console.error('window.startGame is not available!');
finalIntro.addEventListeneM
r('click', skipIntroHandler, { once: true });
finalIntro.addEventListener('mousedown', skipIntroHandler, { once: true });
finalIntro.style.cursor = 'pointer';
finalIntro.style.pointerEvents = 'auto';
const cubeContainer = finalIntro.querySelector('#introCubeContainer');
const textContainer = finalIntro.querySelector('#introTextContainer');
const skipIntro = function(e) {
console.log('=== INTRO CLICKED (anywhere) - Skipping typewriter and calling startGame() ===');
e.stopPropagation();
if (window.startGame) {
console.error('window.startGame is not available!');
if (cubeContainer) {
cubeContainer.style.pointerEvents = 'auto';
cubeContainer.style.cursor = 'pointer';
cubeContainer.addEventListener('click', skipIntro, { once: true });
cubeContainer.addEventListener('mousedown', skipIntro, { once: true });
if (textContainer) {
textContainer.style.pointerEvents = 'auto';
textContainer.style.cursor = 'pointM
textContainer.addEventListener('click', skipIntro, { once: true });
textContainer.addEventListener('mousedown', skipIntro, { once: true });
const cubeContainer = document.getElementById('introCubeContainer');
if (cubeContainer) {
cubeContainer.style.display = 'flex';
cubeContainer.style.visibility = 'visible';
cubeContainer.style.opacity = '1';
startTypewriterEffect();
console.log('Event handlers set on intro screen');
n initPasswordScreen() {
window.passwordJustEntered = false;
const passwordScreen = document.getElementById('passwordScreen');
const passwordInput = document.getElementById('passwordInput');
const passwordSubmit = document.getElementById('passwordSubmit');
const passwordError = document.getElementById('passwordError');
const startScreen = document.getElementById('startScreen');
if (!passwordScreen || !passwordInput || !passwordSubmit || !startScreen) {
console.error('Password screen elements not found!');
startScreen.classList.remove('hidden');
startScreen.style.display = 'flex';
passwordScreen.style.display = 'flex';
passwordInput.focus();
passwordInput.addEventListener('keydown', (e) => {
if (e.key === 'Enter') {
e.stopPropagation();
window.passwordJustEntered = true;
window.passwordJustEntered = false;
passwordSubmit.addEventListener('click', (e) => {
e.stopPropagation();
window.passwordJustEntered = tM
window.passwordJustEntered = false;
passwordSubmit.addEventListener('mouseenter', () => {
passwordSubmit.style.background = '#444444';
passwordSubmit.addEventListener('mouseleave', () => {
passwordSubmit.style.background = '#333333';
function checkPassword() {
const enteredPassword = passwordInput.value;
const correctPassword = '2134';
if (enteredPassword === correctPassword) {
console.log('=== PASSWORD CORRECT - SHOWING START SCREEN ===');
n.style.display = 'none';
passwordScreen.style.visibility = 'hidden';
passwordScreen.style.zIndex = '-1';
console.log('GameState set to:', gameState);
const canvas = document.getElementById('gameCanvas');
canvas.style.setProperty('display', 'none', 'important');
canvas.style.setProperty('visibility', 'hidden', 'important');
canvas.style.setProperty('opacity', '0', 'important');
canvas.style.setProperty('z-index', '-1', 'important');
canvas.style.setProperty('pointer-events', 'none'M
if (canvas.parentElement) {
canvas.parentElement.style.overflow = 'hidden';
console.log('Canvas hidden:', {
display: window.getComputedStyle(canvas).display,
visibility: window.getComputedStyle(canvas).visibility,
opacity: window.getComputedStyle(canvas).opacity,
zIndex: window.getComputedStyle(canvas).zIndex
if (typeof renderer !== 'undefined' && renderer) {
console.log('Renderer exists, but canvas should be hidden');
const introScreen = document.getElementById('introScreen');
introScreen.classList.add('hidden');
introScreen.style.display = 'none';
const finalStartScreen = document.getElementById('startScreen');
if (finalStartScreen) {
finalStartScreen.classList.remove('hidden');
finalStartScreen.style.setProperty('display', 'flex', 'important');
finalStartScreen.style.setProperty('visibility', 'visible', 'important');
finalStartScreen.style.setProperty('pointer-events', 'auto', 'important');
finalStartScreen.style.setProperty('cursor', 'pointer', 'important');
.style.setProperty('z-index', '10002', 'important');
const startDifficultySelect = document.getElementById('startDifficultySelect');
if (startDifficultySelect) {
const newSelect = startDifficultySelect.cloneNode(true);
startDifficultySelect.parentNode.replaceChild(newSelect, startDifficultySelect);
const finalSelect = document.getElementById('startDifficultySelect');
finalSelect.value = difficultyLevel;
finalSelect.addEventListener('change', (e) => {
difficultyLevel = e.target.M
finalSelect.addEventListener('click', (e) => {
e.stopPropagation();
const computedStyle = window.getComputedStyle(finalStartScreen);
console.log('Start screen should be visible now', {
display: computedStyle.display,
hasHidden: finalStartScreen.classList.contains('hidden'),
zIndex: computedStyle.zIndex,
visibility: computedStyle.visibility,
position: computedStyle.position
console.error('Start screen element not found!');
passwordError.style.visibility = 'hM
console.log('Password correct - showing start screen');
passwordError.style.visibility = 'visible';
passwordInput.value = '';
passwordInput.focus();
console.log('Wrong password entered');
console.log('=== init() CALLED ===');
if (typeof window !== 'undefined') {
window.startGame = startGame;
window.showIntro = showIntro;
console.log('window.startGame set:', typeof window.startGame);
console.log('window.showIntro set:', typeof window.showIntro);
for (let y = 0; y < levelSize; y++) {
visitedCells[y] = [];
for (let x = 0; x < levelSize; x++) {
visitedCells[y][x] = false;
initPasswordScreen();
const startScreen = document.getElementById('startScreen');
const newStart = startScreen;
newStart.style.pointerEvents = 'auto';
newStart.style.cursor = 'pointer';
const startDifficultySelect = document.getElM
ementById('startDifficultySelect');
if (startDifficultySelect) {
startDifficultySelect.value = difficultyLevel;
startDifficultySelect.addEventListener('change', (e) => {
difficultyLevel = e.target.value;
startDifficultySelect.addEventListener('click', (e) => {
e.stopPropagation();
const startScreenClickHandler = (e) => {
if (e.target && (e.target.id === 'startDifficultySelect' || e.target.closest('#startDifficultySelection'))) {
console.log('=== START SCREEN CLICKED ===', 'gameStM
e.stopPropagation();
if (newStart.classList.contains('hidden')) {
console.log('Start screen is hidden, not responding to click');
if (startDifficultySelect) {
difficultyLevel = startDifficultySelect.value;
startSound.currentTime = 0;
startSound.play().catch(e => {});
if (typeof showIntro === 'function') {
} else if (typeof window.showIntro === 'function') {
console.error('showIntro is notM
a function!', typeof showIntro, typeof window.showIntro);
newStart.addEventListener('click', startScreenClickHandler);
newStart.addEventListener('mousedown', startScreenClickHandler);
const startKeyHandler = (e) => {
if ((e.key === 'Enter' || e.key === ' ') && gameState === 'menu') {
const startScreen = document.getElementById('startScreen');
if (startScreen && !startScreen.classList.contains('hidden')) {
e.stopPropagation();
const startDifficultySelect = document.getElementById('startDiffM
if (startDifficultySelect) {
difficultyLevel = startDifficultySelect.value;
startSound.currentTime = 0;
startSound.play().catch(e => {});
document.addEventListener('keydown', startKeyHandler);
console.log('Start screen click handler attached');
console.error('Start screen element not found for click handler!');
function getParticleFromPool() {
for (let i = 0; i < particlePool.length; i++) {
particlePool[i].active) {
particlePool[i].active = true;
particlePool[i].life = particlePool[i].maxLife;
return particlePool[i];
position: new THREE.Vector3(),
velocity: new THREE.Vector3(),
particlePool.push(particle);
function returnParticleToPool(particle) {
if (particle.mesh && particle.mesh.parent) {
scene.remove(particle.mesh);
if (particle.mesh.geometry) particle.mesh.geometry.dispose();
if (particle.mesh.material) {
f (Array.isArray(particle.mesh.material)) {
particle.mesh.material.forEach(mat => mat.dispose());
particle.mesh.material.dispose();
particle.mesh = null;
particle.active = false;
function updateShadowQuality(quality) {
shadowQuality = quality;
if (!renderer || !scene) return;
const directionalLight = scene.children.find(child => child instanceof THREE.DirectionalLight && child.castShadow);
if (!directionalLight) return;
renderer.shadowMap.enabled = fM
directionalLight.castShadow = false;
renderer.shadowMap.enabled = true;
renderer.shadowMap.type = THREE.BasicShadowMap;
directionalLight.castShadow = true;
directionalLight.shadow.mapSize.width = 512;
directionalLight.shadow.mapSize.height = 512;
renderer.shadowMap.enabled = true;
renderer.shadowMap.type = THREE.PCFShadowMap;
directionalLight.castShadow = true;
directionalLight.shadow.mapSize.width = 1024;
directionalLight.shadow.mapSize.height = 1024;
renderer.shadowMap.enabled = true;
renderer.shadowMap.type = THREE.PCFSoftShadowMap;
directionalLight.castShadow = true;
directionalLight.shadow.mapSize.width = 1024;
directionalLight.shadow.mapSize.height = 1024;
function isInFrustum(position, radius = 1) {
if (!camera) return true;
const frustum = new THREE.Frustum();
const matrix = new THREE.Matrix4().multiplyMatrices(camera.projectionMatrix, camera.matrixWorldInverse);
frustum.setFromProjectionMatrix(matrix);
const sphere = new THREE.SphM
ere(position, radius);
return frustum.intersectsSphere(sphere);
function updateAdaptivePerformance() {
if (!adaptivePerformance) return;
fpsHistory.push(currentFPS);
if (fpsHistory.length > 60) fpsHistory.shift();
const avgFPS = fpsHistory.reduce((a, b) => a + b, 0) / fpsHistory.length;
performanceLevel = 0.4;
updateShadowQuality('low');
} else if (avgFPS < 45) {
performanceLevel = 0.6;
if (shadowQuality === 'high') updateShadowQuality('medium');
} else if (avgFPS < 55) {
performanceLevel = 0.8M
} else if (avgFPS >= 58) {
performanceLevel = 1.0;
if (shadowQuality === 'low' && avgFPS > 60) {
updateShadowQuality('medium');
function updateEnemyLOD(enemy) {
if (!enemy || !enemy.mesh || !player) return;
const distance = enemy.position.distanceTo(player.position);
const lodDistance = 30; // Ab dieser Entfernung LOD anwenden
if (distance > lodDistance && enemy.mesh.children.length > 0) {
enemy.mesh.children.forEach(child => {
if (child.material) {
child.material.opacity = Math.max(0.5, 1.0 - (distance - lM
} else if (enemy.mesh.children.length > 0) {
enemy.mesh.children.forEach(child => {
if (child.material && child.material.opacity !== undefined) {
child.material.opacity = 1.0;
function applyAimAssist(direction) {
if (!direction || !isFinite(direction.x) || !isFinite(direction.y) || !isFinite(direction.z)) {
return direction; // Gib ung
ltige Richtung unver
ter in shoot() behandelt)
if (!aimAssistEnabled || !player || enemies.length === 0) return directiM
const assistRange = 25; // Reichweite des Aim-Assists (erh
const assistAngle = Math.PI / 3; // 60 Grad Winkel (erh
ht von 30 auf 60 Grad f
r bessere Sichtbarkeit)
let bestEnemy = null;
let bestAngle = Infinity;
const directionHorizontal = new THREE.Vector3(direction.x, 0, direction.z);
const horizontalLength = directionHorizontal.length();
if (horizontalLength < 0.001) {
directionHorizontal.normalize();
const aimPosition = camera ? camera.position : player.position;
(const enemy of enemies) {
if (!enemy || !enemy.position) continue;
const toEnemy = new THREE.Vector3().subVectors(enemy.position, aimPosition);
const distance = toEnemy.length();
if (distance > assistRange || distance < 0.1) continue;
const toEnemyHorizontal = new THREE.Vector3(toEnemy.x, 0, toEnemy.z);
const toEnemyHorizontalLength = toEnemyHorizontal.length();
if (toEnemyHorizontalLength < 0.001) continue;
toEnemyHorizontal.normalize();
const angle = directionHorizontal.angleTo(toEnemyHorizontal);
sistAngle && angle < bestAngle) {
const toEnemy = new THREE.Vector3().subVectors(bestEnemy.position, aimPosition);
const distance = toEnemy.length();
if (distance < 0.1) return direction; // Zu nah, keine Anpassung
toEnemy.normalize();
if (!isFinite(toEnemy.x) || !isFinite(toEnemy.y) || !isFinite(toEnemy.z)) {
const distanceFactor = Math.max(0.3, 1.0 - (distance / assistRange)); // 0.3 bis 1.0
const dynamicStrength = aimAssistStrength * M
direction.lerp(toEnemy, dynamicStrength);
direction.normalize();
if (!isFinite(direction.x) || !isFinite(direction.y) || !isFinite(direction.z)) {
return new THREE.Vector3(0, 0, -1).applyQuaternion(camera.quaternion).normalize();
function initSettingsMenu() {
const sensitivitySlider = document.getElementById('mouseSensitivitySlider');
const sensitivityValue = document.getElementById('mouseSensitivityValue');
const volumeSlider = document.getElementById('volumeM
const volumeValue = document.getElementById('volumeValue');
const closeBtn = document.getElementById('settingsCloseBtn');
const quitBtn = document.getElementById('settingsQuitBtn');
if (sensitivitySlider && sensitivityValue) {
sensitivitySlider.value = mouseSensitivity;
sensitivityValue.textContent = mouseSensitivity.toFixed(1);
sensitivitySlider.addEventListener('input', (e) => {
mouseSensitivity = parseFloat(e.target.value);
sensitivityValue.textContent = mouseSensitivity.toFixed(1);
if (volumeSlider && volumeValue) {
const volumePercent = Math.round(masterVolume * 100);
volumeSlider.value = volumePercent;
volumeValue.textContent = volumePercent + '%';
volumeSlider.addEventListener('input', (e) => {
const volumePercent = parseInt(e.target.value);
masterVolume = volumePercent / 100;
volumeValue.textContent = volumePercent + '%';
applyVolumeSettings();
closeBtn.addEventListener('click', () => {
closeSettingsMenu();
quitBtn.addEventListM
ener('click', () => {
const showPatternsCheckbox = document.getElementById('showPatternsCheckbox');
if (showPatternsCheckbox) {
showPatternsCheckbox.checked = showPatterns;
showPatternsCheckbox.addEventListener('change', (e) => {
showPatterns = e.target.checked;
updatePatternVisibility();
const showFPSCheckbox = document.getElementById('showFPSCheckbox');
if (showFPSCheckbox) {
showFPSCheckbox.checked = showFPS;
showFPSCheckbox.addEventListener('change', (e) => {
const fpsDisplay = document.getElementById('fpsDisplay');
fpsDisplay.classList.toggle('hidden', !showFPS);
const shadowQualitySelect = document.getElementById('shadowQualitySelect');
if (shadowQualitySelect) {
shadowQualitySelect.value = shadowQuality;
shadowQualitySelect.addEventListener('change', (e) => {
shadowQuality = e.target.value;
updateShadowQuality(shadowQuality);
const difficultySelect = document.getElementById('difficultySelM
if (difficultySelect) {
difficultySelect.value = difficultyLevel;
difficultySelect.addEventListener('change', (e) => {
difficultyLevel = e.target.value;
const adaptivePerformanceCheckbox = document.getElementById('adaptivePerformanceCheckbox');
if (adaptivePerformanceCheckbox) {
adaptivePerformanceCheckbox.checked = adaptivePerformance;
adaptivePerformanceCheckbox.addEventListener('change', (e) => {
adaptivePerformance = e.target.checked;
const aimAssistCheckbox M
= document.getElementById('aimAssistCheckbox');
if (aimAssistCheckbox) {
aimAssistCheckbox.checked = aimAssistEnabled;
aimAssistCheckbox.addEventListener('change', (e) => {
aimAssistEnabled = e.target.checked;
const reflectionsCheckbox = document.getElementById('reflectionsCheckbox');
if (reflectionsCheckbox) {
reflectionsCheckbox.checked = reflectionsEnabled;
reflectionsCheckbox.addEventListener('change', (e) => {
reflectionsEnabled = e.target.checked;
updateReflections();
function showPauseOverlay() {
const pauseOverlay = document.getElementById('pauseOverlay');
pauseOverlay.classList.remove('hidden');
pauseOverlay.style.display = 'flex';
function hidePauseOverlay() {
const pauseOverlay = document.getElementById('pauseOverlay');
pauseOverlay.classList.add('hidden');
pauseOverlay.style.display = 'none';
console.log('Pause overlay hidden');
console.warn('Pause overlay element not found!');
function toggleSettingsMenu() {
nsole.log('toggleSettingsMenu() called'); // Debug
const settingsMenu = document.getElementById('settingsMenu');
if (!settingsMenu) {
console.error('settingsMenu element not found!'); // Debug
if (settingsMenu.classList.contains('hidden')) {
console.log('Opening settings menu'); // Debug
settingsMenu.classList.remove('hidden');
settingsMenu.style.display = 'flex'; // Stelle sicher, dass es angezeigt wird
if (document.pointerLockElement) {
document.exitPointerLock();
if (mouseControl && mouseControl.getIM
mouseControl.deactivate();
console.log('Closing settings menu'); // Debug
closeSettingsMenu();
function closeSettingsMenu() {
const settingsMenu = document.getElementById('settingsMenu');
if (!settingsMenu) return;
settingsMenu.classList.add('hidden');
settingsMenu.style.display = 'none';
if (gameState === 'paused') {
gameState = 'playing';
console.log('Game resumed from close button, gameState:', gameState);
if (mouseControl && gameState === 'playiM
mouseControl.activate();
if (gameState === 'playing') {
if (mouseControl && gameState === 'playing') {
mouseControl.activate();
function applyVolumeSettings() {
if (backgroundMusic) {
backgroundMusic.volume = 0.5 * masterVolume;
startSound.volume = 0.7 * masterVolume;
if (elfDeathSound) {
elfDeathSound.volume = 0.7 * masterVolume;
if (grinchDeathSound) {
grinchDeathSound.volume = 0.7 * masterVolume;
if (snowmanDeathSound) {
manDeathSound.volume = 0.7 * masterVolume;
if (medkitPickupSound) {
medkitPickupSound.volume = 0.8 * masterVolume;
randomDeathSounds.forEach(sound => {
if (sound) sound.volume = 0.7 * masterVolume;
santaQuotes.forEach(sound => {
if (sound) sound.volume = 0.8 * masterVolume;
Object.values(shootSounds).forEach(sound => {
if (sound) sound.volume = 0.7 * masterVolume;
function saveSettings() {
localStorage.setItem('shadowQuality', shadowQuality);
localStorage.setItem('adaptivePerformance', adaptM
ivePerformance.toString());
localStorage.setItem('aimAssistEnabled', aimAssistEnabled.toString());
console.warn('Could not save performance settings:', e);
localStorage.setItem('mouseSensitivity', mouseSensitivity.toString());
localStorage.setItem('masterVolume', masterVolume.toString());
localStorage.setItem('showPatterns', showPatterns.toString());
localStorage.setItem('showFPS', showFPS.toString());
localStorage.setItem('shadowQuality', shadowQuality);
localStorage.setItem('adaptivePerformaM
nce', adaptivePerformance.toString());
localStorage.setItem('aimAssistEnabled', aimAssistEnabled.toString());
localStorage.setItem('reflectionsEnabled', reflectionsEnabled.toString());
localStorage.setItem('difficultyLevel', difficultyLevel);
console.warn('Could not save settings to localStorage:', e);
function loadSettings() {
const savedSensitivity = localStorage.getItem('mouseSensitivity');
const savedVolume = localStorage.getItem('masterVolume');
const savedShowPatterns = localStorage.geM
tItem('showPatterns');
const savedShowFPS = localStorage.getItem('showFPS');
const savedShadowQuality = localStorage.getItem('shadowQuality');
const savedAdaptivePerformance = localStorage.getItem('adaptivePerformance');
const savedAimAssist = localStorage.getItem('aimAssistEnabled');
const savedReflections = localStorage.getItem('reflectionsEnabled');
const savedDifficulty = localStorage.getItem('difficultyLevel');
if (savedDifficulty && ['easy', 'medium', 'hard'].includes(savedDifficulty)) {
difficultyLevel = savM
if (savedSensitivity !== null) {
mouseSensitivity = parseFloat(savedSensitivity);
if (isNaN(mouseSensitivity) || mouseSensitivity < 3.5 || mouseSensitivity > 4.5) {
mouseSensitivity = 4.0;
if (savedVolume !== null) {
masterVolume = parseFloat(savedVolume);
if (isNaN(masterVolume) || masterVolume < 0 || masterVolume > 1) {
if (savedShowPatterns !== null) {
showPatterns = savedShowPatterns === 'true';
if (savedShowFPS !== null) {
showFPS = savedShowFPS === 'true';
avedShadowQuality) {
shadowQuality = savedShadowQuality;
updateShadowQuality(shadowQuality);
if (savedAdaptivePerformance !== null) {
adaptivePerformance = savedAdaptivePerformance === 'true';
if (savedAimAssist !== null) {
aimAssistEnabled = savedAimAssist === 'true';
if (savedReflections !== null) {
reflectionsEnabled = savedReflections === 'true';
console.warn('Could not load settings from localStorage:', e);
updateReflections();
function updateReflections() {
scene.traverse((object) => {
if (object.material) {
const materials = Array.isArray(object.material) ? object.material : [object.material];
for (const material of materials) {
if (material instanceof THREE.MeshStandardMaterial) {
if (reflectionsEnabled) {
if (material === wallMaterial) {
material.roughness = 0.2;
material.metalness = 0.7;
} else if (material.userData && material.userData.isFloor) {
material.roughness = 0.8;
material.metalness = 0.2;
} else if (material.userData && material.userData.isTile)M
if (currentLevel === 4) {
material.roughness = 1.0; // Schnee ist sehr rau
material.roughness = 0.9;
material.metalness = 0.0;
material.roughness = 0.5;
material.metalness = 0.5;
material.roughness = 1.0;
material.metalness = 0.0;
material.needsUpdate = true;
function updatePatternVisibility() {
if (!showPatterns) {
scene.traverse((child) => {
if (child instanceof THREE.Mesh) {
if (child.geometry instanceof THREE.BoxGeometry && child.geometry.parameters.height === 3) M
if (child.material && child.material.map) {
child.material.map = null;
child.material.needsUpdate = true;
} else if (child.geometry instanceof THREE.PlaneGeometry && child.position.y < 0.1) {
if (child.material && child.material.map) {
child.material.map = null;
child.material.needsUpdate = true;
if (currentLevel === 4 && level4SkyMesh && level4SkyMesh.material) {
level4SkyMesh.material.map = null;
level4SkyMesh.material.color = new THREE.Color(0x87CEEB); // Einfacher blauer Himmel
level4SkyMesh.materM
ial.needsUpdate = true;
if (currentLevel === 4 && level4SkyMesh && level4SkyMesh.material && level4SkyTexture) {
level4SkyMesh.material.map = level4SkyTexture;
level4SkyMesh.material.color = new THREE.Color(0xffffff);
level4SkyMesh.material.needsUpdate = true;
if (currentLevel !== 4) {
window.addEventListener('load', init);
window.addEventListener('resize', () => {
const width = window.innerWidth;
const height = window.innerHeight;
const targetAspect = 16 / 9;
let canvasWidth, canvaM
const containerAspect = width / height;
if (containerAspect > targetAspect) {
canvasHeight = height;
canvasWidth = canvasHeight * targetAspect;
canvasWidth = width;
canvasHeight = canvasWidth / targetAspect;
camera.aspect = targetAspect;
camera.updateProjectionMatrix();
renderer.setSize(canvasWidth, canvasHeight);
const canvas = document.getElementById('gameCanvas');
canvas.style.width = width + 'px';
canvas.style.height = height + 'px';
-=-157:::#+?D?8C49:7
%77777777777777777777777777777777777777777777777777
gbgbgbgfgfgbgfgbgbgbgbgfgfgfgjgjgjGjgfGfGjGjGjGnGKE
>i/Foundry USA Pool #dropgold/
FjDOUT:603BA0701F58217EF5AD463C4B6FBDB774D6836FCE9B68EE0ADC407E1AA99388
FjDOUT:F1BF641EBA25AEBE99E037A9A99C3D4498AD3C6153A5C7CE1AE5E4B4C659F3D7
FjDOUT:E5E019CD93CC3E443094C15F8F41AEAD5B5D1A9448FED79A112C50FFB9AA9B3A
FjDOUT:A37D92460B1A5B4C67C421726A5190DFB9DE5A2E039C3A5C864549278C4AC5B7
FjDOUT:C024FDB7A6304343499F5B30E6C8E5D5A43380BDEAB16F4CAECC8FC5B719B70A
FjDOUT:F1C4854F6D4CC5FBD8C1F6A9CFC57C7649396607015B37D3355E0895595C150E
FjDOUT:CCD6E9988CBEB0087B3EC4C641DF0952B5E77590EF989420CFDA8D36A78CF19D
FjDOUT:5E48AC944A32487FEB6255FB43C3B5C76ABBA90014CF40F3C7C049A7CEE81C58
FjDOUT:D6638B4212901D4A773D4AAE33F43124EF7109133FB32E310244413BC8EAAE40
FjDOUT:9204D6767AB0AFF5B9FA2D9B4CBA17B5A41859B4FD1F9C1E90CCCCB971AA1B9F
FjDOUT:149BF09993A3082FD8212914FCA629B29D0CAD92A874B3AD321F1F0789F3ABA7
FjDOUT:62268DDC38D5BFEC17818AC3805351F2052A0507A747B2BF0ADBA9E22D09ABCD
FjDOUT:A11F874409CC858DCD4A1DE3DF04382FB333C210F0A7D83F512976AD8487CB28
6j4WE6:to:USDT(TRON):TBKLNqL5JdFAboJceHiYAwUrne2tEfSbkF
<j:TXr:to:TWT(BSC):0x98eA53470c8f43912ed118E20820a348d76a1952
6j40qg:to:USDT(TRON):TXuK2BJ8hZowmRi2e8ipDn3nTYB3ZNw9Pd
=j;DML:to:USDT(BSC):0x2385c1d8Ade6b68b91Ce1972411ca36CE4e02b16
=j;JcV:to:USDT(BSC):0x8869E60a115F9413bB8389bF86D680426a28a118
=j;dMJ:to:USDT(BSC):0xC437778a7F5C51b246657AFF0718CB0f6B5a9b98
6j4MDe:to:USDT(TRON):TEswjQCFFwf3MbYDEvLL4pkC9JhtWt7uq9
/j-k1y:to:TRX:TLzE2tUAAEEy8Zt5wipLNfqGxYziJWHQY9
=j;Bq3:to:USDT(BSC):0xe7D626e4f6557A9969dFb6A6A9cFEe8933E79268
6j4K0B:to:USDT(TRON):TLb2f7YSttamLD6Gt192RZXad9rKzw1gi8
6j4NZh:to:USDT(TRON):TXxuJSSYHuG8pHEZK8JsDfpWdfVPuDxNaU
6j4oqE:to:USDT(TRON):TQZNSxTutcky1zDQmvcmXajFhReUwLvVD3
/j-ASm:to:XRP:raq8qzmopVj7FQERAe1Z6nVVqYi29UqASjgoV
6j4wVJ:to:USDT(TRON):TQrWw1RuKyPS2Lbd3yZW8uF6mHTepi3sM9
OjLL0x7e72bf18eb0f6295383a760cce98b3a85cdae8a9242cfbc5bd7d770b49c3b966=|lifi=
FjDOUT:60A4A0C315B1C9E3B1ADF298BB20B87D0DB9AB8DC70002BDB4B3AC5AB6EF3C14
FjDOUT:4FEAA5CAB4615434C9EAC6E5CF460C173C876512B54C7E031723987362AF506A
FjDOUT:2512413D583286EB7E12A8FA46B0C6DDEA133E8609E3FEA021CC30A3FFEF5AD0
FjDOUT:908A2D6527262821DE507809C19C1212E9F779F489D3FA6434184910800DC768
FjDOUT:E0C0D6319555C36D79EB673BF0334DDC2B09F657D7CD65D4629DBBC0FDFE1D9A
FjDOUT:9D6192536BA96F545FC64D28D6BE7DE093D8A363AD2D7C6B398587432CB674EC
FjDOUT:76A5C750BDD11836FE660E93A0C8952DD02A7765023D8FA9C21BDB8E64325D53
FjDOUT:3C56AFF271FCB42B8DF4D98F8A79A5060A6A3C11E17D95044B522896DE8E6B03
FjDOUT:C8422BFBE8BBEDBD0B83083AE04D03E0A57BAE87F71BB4F6C0FFB1D9DE3226BE
FjDOUT:6717F70002E787E664AAAD51D1F6A43A545755CAC80C8E53790C05C5263E4675
FjDOUT:9AE00FB42F006586D974AB940B2EF45DC1F8F166E75196B757A4A769C4FF5EFB
FjDOUT:611984DD8A755110A6A345AB84C4A860A4FA819F1F33FE6BABA9993872C3249F
FjDOUT:031C68CDDDC60935E7F270302D10CA4733E7D0E1D64F24B5CE1ADA199E509AFF
FjDOUT:FB00ED1D40A16E29154722D1128A08B920E2D77426531F2B1EE1A0F1DC1295FB
FjDOUT:3BE3FA075FA4575EDD6497FB067FFF044A279BBDEE100AC70C9466D730FCC0E6
FjDOUT:9F719F02B4EFD34E0A36A60114E00D0E92A2C8A7010A5B91FC7F181AFD127CF5
FjDOUT:0621A60A579120ABBB6B5AEEC85A541399FE87F789C4A872E153B427D2D6ECFD
FjDOUT:1E3500492238BD3FC74C64D4D27ABE3E8E68C05C3505FCBE5798D2C6323A89A1
FjDOUT:325528B5F44696E7DB182035EC23711C95189362D09D9930B15E0B3274E0B1C3
FjDOUT:866A788F5255F362BF864A53C9E283536A7DF9CC48B8C4E820EB1FD48BAD868A
FjDOUT:78C9F7835A3843365B555370A7620289F5D0025F5222F4CBA475DD808E73616C
FjDOUT:ABC30EC8A209628E38496EE6EDFB1B58FC41D88E94E934F9BC0866DBA38C214F
FjDOUT:8F70E459352B94E0951C836C70567CCE12BA748BD1FEBC44E44D48434D2C654B
FjDOUT:57E12292FED7C160BF818F00560D0A2D63DCAEA380E1EF95D9EF99024D10DE13
FjDOUT:B2C8BDC3B90E25FE0EE98AE330005781EAF5BC8A40825779562E3EEDA3CE3619
FjDOUT:B1741B91C0AE12267BC2383B4072EE7B1E132296D8ABE6E1F24735FB4448D626
FjDOUT:BD4EA3C3D95CFC249EFB40E5F2567F9A8CEC82E07E8650E8BEF333506A4C10B2
FjDOUT:2837ABBAE07AE80EE637F9F3AC9B0256E7D06A0D5DEC1F0281AC1FCFD1D5496A
FjDOUT:DDDB77D3358B55AE9E9749D5B8CB4B710DE2FF23344B6A77AEEFE364E6E84606
FjDOUT:EBD9745D9D8A77FEC77263D1DEE1E37F3E126B846169ED1ED3335D1958348630
FjDOUT:BB7B584815F5859DCA7DA0DA8CFDB610DDFDED3ADE264DE88293E17A8EDD3A96
FjDOUT:C30C6C3C2F24557202C0E09C3CF84B872D66342BAB91A8F4F534F925119D6166
FjDOUT:54C016060FCD5D232D7F621EF35BD8E833F7A08B0725A4047CE26CB0306B8263
FjDOUT:70A51345A14278C8BCB92CF68D8724030D28F0268C58F23583B377093BBF880D
FjDOUT:9D2DC6C30533F7C6494B003DCF27BA3BE5FB9D1DB8074E8D751721B4DC22141C
FjDOUT:8C0B71D77331FCFE84C5478896C2919030B8B7ADF183C38D01F168A44BADEB27
FjDOUT:71F65FBD9AC638B6CA7C8ECE38BC995A2007B66AF7E8F55EB660C0D434D627AF
FjDOUT:51BB88DB179E09B9250BF422A7BFF5235DBC791B8EB437D4D9775DA4C9F04DDE
FjDOUT:3B8239520ACCB82A15102228B5818FFC5FAB42F800A004F4B1F0C554A516F8C3
FjDOUT:2DAB92E24FB92EB5205890DE8E0E262CF59B13CDE86C173D9825136E794239AB
OjLL0xfcf8f8a6868e389533efa8fa249107f1f58835b876ddbc4d1d5bff64a5c44990=|lifi
OjLL0xf7cadd2a6fd36e626e1394b03bad140f6d82bcf057f59b9883b702f8128d0bd3=|lifiZIy
?j=kd0:to:USDT(ERC20):0x659ed54bdd9252B04a5E661Af8a12117bB11eDeB
Beb943d196eb89c4fd4fe87b771d55492cc5322db901b4d42e805cd7726288bef:0a
FjDOUT:9128D569DA5DF03067E56C5192FF86EFB583D7B5BD6BD346F37BBC6D43A8409F
FjDOUT:DF4321FD73B2E5CE56BDE7928F2BF54DF90D2403C6527D6293D0AF8CF2FDB669
FjDOUT:E426C4D5069791F8FBAF3570639570AC8B09671EC8F9C83ADDA70BACE0D8B6F1
FjDOUT:3FA041F309496D62C59849350472F3A14BD6CEE85E1069A1AF96F9457C761C6B
OjLL0x0d2e9ccaf3abb4460c105b0444cf8dc1860f5c4aa3d99d83064ae4a63be561cb=|lifir
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"QUAQ","amt":"47843"}h!
2j0to:USDT(TRON):TWn1vKhm7w8D8PWSTEPUbxfjPxtR3UdBfa
2j0to:USDT(TRON):TGT8BHApKFhqmherMLRhPXLxpvmw9nYU75w
<j:=:c:qzflldeqzdvqjtltt0hecqg0nh8la59clc2h309uu5:0/1/1:ej:75
2j0to:USDT(TRON):TJsFUHtateCiksZPmpyZkUL3WxmWnD6svj
8j6{"p":"brc-20","op":"transfer","tick":"WTF","amt":"30"}"
9j7{"p":"brc-20","op":"transfer","tick":"WTF","amt":"252"}"
;j9{"p":"brc-20","op":"transfer","tick":"LOL","amt":"68000"}"
:j8{"p":"brc-20","op":"transfer","tick":"LOL","amt":"9000"}"
:j8{"p":"brc-20","op":"transfer","tick":"LOL","amt":"3000"}"
OjLL0xa0a97e10ab798d66180432190c03af4b7d59642568ca29187e3f5cee79eee553=|lifi
DjB0x64234558f01bbf5d6cd3ae5fe6bf8ca4934dcb401c9078a90481a5910db9a747
DjB0xfbdb5aaa348677f578a0d625f4e8b56c84f9e701212585eef6a0aff0de105d70
DjB0x0e561641137bdea16dae17e8a52f3f571150e2fc034b9c0841e28dd3fc6f578b
DjB0x890c801e10e095aa05e60587fa6466510856d74ff34f5123fc6058d7d894b42a
OjLL0x846ce7cb933eb158f50b74321ebafffd9bc2bc6ea427f0ffce794f01c1982925=|lifi
OjLL0xa466744c00786295e9ff749ef7db4662ee5ad7bd042aa1d6559f16eb5d010606=|lifi2?b>
DjB0x28cd355f7593f9278b11b91c55ae263a6250217784b015bf7a0034d333072944
DjB0x2cbbb9678cfe29fa0b0faaefd3bab31274411b4351e51dd95f5b7a12ac16754b
DjB0x4a2fb84c35fadcbcda981419c9a3c190eab003b4b33b8342ed17595a835d53c9
DjB0x7932fe634ffdf397058fb098cbef26848b75b956a0bee5569f4dbd6804a41d57
DjB0x1ce60d6aa702e559c72915d713bdc891ea940622b47b2d954f45feca35cd09b4
OjLL0xd001a5dcb249f5729ef4188fa6ef72a81b4d42da425d6d53b6187f059ec204cb=|lifi
;j9{"p":"brc-20","op":"transfer","tick":"LOL","amt":"21000"}"
Aj?=:e:0x976FB7A84cBcd08e1366332517c8d4647777CC79:28542:-_/t1:0/70s
Bj@=:s:0xae57bBAe085a57102551544c4938308DA4DC05F5:516647:-_/t1:0/70
Bj@=:e:0x35239858ebAa99B8721c2d5dBbbD61BE30fe49c0:130176:-_/t1:0/70C
EjC=:f:0xbBFbdCC4b03831e2135b080CC0597C4493a8d079:35191/1/0:-_/t1:0/70&
FjD=:e:0xbAc3857f6630cd6ac151009BeE4a459bCd9592eB:237766/1/0:-_/t1:0/70
FjD=:e:0xf68BA894f8C011F20F1Dc2eADFC52B3be38BE3d2:267924/1/0:-_/t1:0/70
FjD=:s:0x6D4a313F3f64108E7761524d63A4e210f5B024b1:260333/1/0:-_/t1:0/70n
QjLN=:ETH.USDT:0x43beD4f8bA83A47c6eeDbA1779Cecf5A3796e548:653708300/1/0:-_/t1:0/70
DjB0x5c2f73f00e815165c1ad5ec8ead90da30a65c0067ff31bad9d6275982359e19e
DjB0xd7d400dc45ba60ac7e0086798a0709a1a773bc99d80074c159296ee1cebe68e8
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"ordi","amt":"88.93639819"}h!
DjB0x168a1e42497794608614bc031f18cb9dc7d021f3d15e4c2c9f35c9ea6ae39738
GjElEdge705b4233715d89c6a69dac1150ef4e987b80da8f3da6aa2293b0717b294f2da2
DjB0xaad9c3d7008d623408db25f4c4d55542c14cee7925ef4f36b1c739f3942baf94
DjB0x29819bb80b50b841042109192f209c54825ab3bf44f5b960cbc69893627ca58a
DjB0x52d060def7e0c42f0bda20c48223d76c11e95eee603f353f9a0c00e89a9336b5
DjB0x91827b9ce109c820ecfe50c1439f3ff1f00bd4e5873671843703f22952a4ee92
DjB0xe96693a2aa65fa9e71520039140896634cb8b764c7552043cbb50da1ee686c70
DjB0x1f16c16498ea7693172838a93cd3e70765c3b922537aeac01bdb3eb77046fc99
DjB0x50ffeec82b8776df880eb2cae06d2deb33c70e72801fd96c69ddf6d7df1bba4c
DjB0x1caab5d6a0311c66f96b445a8eb3f8b8d8eaf514ad04cac018776560f0066093
6j4nWf:to:USDT(TRON):TLTh3JS3GcUsZfHfoYaKgGfiGRRgx4S7Mh
<j:dO9:to:BNB(BSC):0x0427d8Ad98aB6A388D4e8B174bdB7a18416ae5A0
{"a":"ZaC","c":"What am I doing here again?","p":"BS","pay":"bc1q5sxxluvr2urkul622esp5wyh5tgfnz3hs950mj","s":"002edf9cec3324ebf513b9b38b73274e420527cf23028718961eb3712786030fa621febda2e27a7d75c69f4a266528b14bf2af75cb0c1f7679be905bac05705946","su":"That's the story","t":"PG","ti":"ZaC's One"}
FjDOUT:7B54587DCD6D2A36F9EFD6B5EBC8AB467C4FDEA30E5478AEAC59D01C93DB6E2A
FjDOUT:BCC6F530C271CD85D50F70FD51A4087D84F6C63D74F4532F11332EE96EB9B6E5
FjDOUT:75FEFE3AA543E5251F1E9AE7502BB8C9680FD38CF6718965EBB46C87027E0DCD
FjDOUT:8CCCD3A18CBAFF50B037A7C103386B19AC5B79FF341A295BAD9359F233C41538
FjDOUT:2DB1C370BB39748A728BC8BBE2D10BAB0960A19F6CB221C26CEDBA4972A6300D
FjDOUT:E982AEB5A6928F4226751A9901BEC0457F239439A164672322B3C78C9FDD7C9B
FjDOUT:5B41637CB9D49CDC950841349981AAF00DDB0B524B09A4180C30FBE71B79937F
FjDOUT:86CB32E342121B4F4FEB4D48953F16F5336B7FA857BBF4138DABE6217C5D9FCD
FjDOUT:6D444BA7A0F8994F85BAD66B26299A1AC981CC5E88F4162FC0BD3C0633DC72FB
FjDOUT:1756511129E4D18972F10F01D48A99BC1F7DB0C61D7A8F04F7821F02333CA25B
FjDOUT:ACAD4DE67714A574FDD462D380EE45CA94B5E22D675D090BDBE2BD491647B86F
FjDOUT:B9FC8F99A5BD315A9166A0DBFC1DA0D49B72B380AB78CF3B2B1EBBA40481FB8C
FjDOUT:207A274E4C28FD8FF003B808354366DAD1CC8BA4835B0F53DBF2D20DDF7AA3AC
FjDOUT:72E8456B36AD2DF97A91145032A11F9E4CA3BADD439C87E7CA36F83326B95E07
FjDOUT:116817E8C7FFA8CF96740F9A9F38CF2F9D1FF2ADB331DB333476BB29F8DE71C5
FjDOUT:5125671723A81FAA54C14CDA2963EB825470E59EC279CBD74AD24B6849470345
FjDOUT:E878DCBF4100E74C356187EAE95CABCBE3BD1FF218F36920DEEA3E32D7F7107C
FjDOUT:795DB83B20FBBA9FF00202A8ED876BBAFE8F8E79558C36D760BB60A6A2E1ECC9
FjDOUT:BB06180F3C03E2A3D9A93BB36952E746B7134CB2A2BE2A738C5B4EAE1B7DD4A2
FjDOUT:128361C5186A4D6CD0895B0D37F2373FA784CC8ECF446A59AD8CB180F2FA7A78
FjDOUT:7DB9658A55667A97E94A31F3532146FDED853BE65EF93650CD15494A4313B914
FjDOUT:EE24825F9ECE3C7EE72C2BA6EFFDD8A9F9D7112F5A924C908169695C5ED8291E
FjDOUT:DE344FD600B4EA339930378BDCF37E0D48D1A9445BA1E401F916BB89E28C2226
FjDOUT:0780DA751A763B7A40B464A760FD5701B31D9B176E2481502B33F962525A8DF8
7j5ys3:to:ETH:0x582e003375dcdE31dB8bE0571A7284e2014eACa4
DjB0x7d7a965cfa1af2c19c567ccb86dfefb5f5fbe68625289a2dd609299655d7f8f6
DjB0xb84ab41152f944bfeb380de7f53c2c78469c077f85c9247565a54a09474a2dac
Bj@=:s:0x175DdE091958b4e7fa1ff7FfD8A4a992528faF1C:272977:-_/t1:0/70
2j0to:USDT(TRON):TNR4fTxHaC4bPQotUKZ1M8S5rYQigK1NiA
OjLL0x610c44438c6395dd949a164b842a8eba38d90c6a7530d3a09bd47fe45f66a80a=|lifi
DjB0xbda5f2ad947955aaf4595dae2b2ecfa28d8c0041b7b26ea5d81a73003b0075d9
DjB0xd106bf4edf647af80fb25f7f0f28e49313937a648c9014dedf87c096050b1cb1
OjLL0xdc134d74c9f9b357afcea7e4b9923b0a55a43782e20b621fa805e4e4a495b4b8=|lifi
OjLL0x21d1a4421f918d78a6ea329f6e74e747821742eef19f2964714b8fbf9caa5344=|lifi
;j9{"p":"brc-20","op":"transfer","tick":"LOL","amt":"10000"}"
hbitworkcd4667mrequest_realmixn--a-dnbenonce
DjB0x4281642fd0d8dfd226d9acfa3840b01e206319b03909f738e89a89648559a2bc
DjB0x3251a3efcabea4cf1e1accaad3166cbed751993759b5249a7b043ad64fb44978
DjB0x2ebcbb87110e79218d21f8149f0ddef96ae3f314dda19a53010f52b56aebc75f
DjB0x29416b79c07c7085c61a57d67772bfe29fcdeff5f689afe9c649cd284b3f1e2f
DjB0x984b265ab7ed7c81d7a85002e98ceec606788a61bc4eb595f06069476535b7e0
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"5"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"34"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
DjB0x7110774c94edffadb52a97dcfe560c19c55ac88d7f80894f5da79341e8775346
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"atmc","amt":"200"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"44360"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"FIBA","amt":"3000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"3210569105"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"zeusv","amt":"345"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"800"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"50000000000"}h!
text/plain;charset=utf-8
>{"p":"brc-20","op":"transfer","tick":"
","amt":"700000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"2000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"345"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"22"}h!
text/plain;charset=utf-8
B{"p":"brc-20","op":"transfer","tick":"ZFBE*","amt":"100000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"beat","amt":"51"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1200"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"beat","amt":"51"}h!
text/plain;charset=utf-8
?{"p":"brc-20","op":"transfer","tick":"
","amt":"2000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
>i| MARA Made in USA
/j-7f8:to:TRX:TGnZfF8HnP7uKqHdyUdLXhwpC3xgQ14Ntq
6j4peV:to:USDT(TRON):TLFH9EMFJp27tnUA6pYBpcWcc8eqVUzZJE
6j4qgz:to:USDT(TRON):TLTh3JS3GcUsZfHfoYaKgGfiGRRgx4S7Mh
FjDOUT:FF05CC1E4F6BEB160794C18BB8D683A477AD49C4492C557201C0BB62F5E4E2DF
FjDOUT:394365FE1067D16759FC0555F2DEB61353322434E40EC6EDA11AEB1312D0D807
FjDOUT:D6400C49D5388C410B20534C49E4DFA67C8696E449A3232872ACB436E7D3439A
DjB0xe898202557155b899136153b415055990385926872739c6958c5919d9d37779f
OjLL0xf9e46727b5e900006987d2990d54fcace3ca6a5020c965a490f85cb0d96f97d2=|lifi
OjLL0xa8449e916055af52abee3ae616556e14d81d27706d824be537e136bf2bf96e14=|lifi
=j;=:l:ltc1qxz7khvwrgjtkhx5uqe7yusg9ttq4fupvj2aask:0/1/1:ej:75
OjLL0x87bde720bdc65dfbfb1045f43c0849ca8e0a8c5d5c0e4d238ac722c31264a969=|lifiH
OjLL0xca21c0a529ddacc0e1f1a26eff661acd2eeed403d25135d1cd59b39ed0a1db6c=|lifi
DjB0xf71a68527948f702674d3baf56afeb237c3cc18262a71e87179fa8990416b927
DjB0xe60a8a7e1097d5c37392f17b6a31384c3b9f8a3b39cbadfeed372db483642770
DjB0x018ea482d5b929419cdc8d0c952080ec720d2e4ee214c038e01950005c942f9c
DjB0x5edbd07bdc30cd112b235752628f529924a121e8c3bd3555180e9d4c0c7aea0d
DjB0xf7c3cded3e1ddd7aee7eb384aea1987fc9a7ef0246b58edcc949ef228d5a2c3f
DjB0x655cdbe47aabdc462e19910721a10411bb2b526948f6504c9cb567787254053a
DjB0x39f7d15d3268f212cf4f656ef3ba06113d846a6912bf004d60a315988d3e5cd9
;{"p":"brc-20","op":"mint","tick":"mascat","amt":"21000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
DjB0x3439f2dc6faba91237edc0418e9c1cb72fa9adb511ef5296ec89bb4c841027dc
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"93"}h!
dNamekAlien #2519dFacenWrestler WhitejBackgrounddPinkdSkindBluefOutfittT-shirt Planets BluedHeadiAstronautdHandiIce CreamjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"20000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"Aldo","amt":"500"}h!
dNamekAlien #9570dFacedRagejBackgroundhOriginaldSkindGreyfOutfitqHoodie PSYOP PinkdHeadrCap Planets PurpledHandqAmerican FootballjCollectionfAlienskDescriptionpWe Come In PeacegWebsitex
https://aliensbitcoin.com
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"aoas","amt":"30"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"901"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"beat","amt":"30"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Melar","amt":"100"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"zeusv","amt":"345"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"50000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"zeusv","amt":"345"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"zeusv","amt":"345"}h!
DjB0xd9d2b4ab4a6b908df0f3ee2f69951998340f9b6c546a79a9f3b7a4a0af36ef3b
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"WDSA","amt":"10200"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"1GAU","amt":"5000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"301"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"500"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"atmc","amt":"200"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"50000000000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"300"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"30"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"d app","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"15"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
text/plain;charset=utf-8
<{"p":"brc-20","op":"transfer","tick":"1GAU","amt":"5000000"}h!
text/plain;charset=utf-8
6{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"5"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36p9","amt":"425"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"500"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1000"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10014045437"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"erke","amt":"5000"}h!
text/plain;charset=utf-8
:{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"49000"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"Zeusv","amt":"301"}h!
text/plain;charset=utf-8
9{"p":"brc-20","op":"transfer","tick":"36P9","amt":"1200"}h!
text/plain;charset=utf-8
@{"p":"brc-20","op":"transfer","tick":"
","amt":"10000000000"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"aoas","amt":"35"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"430"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"20"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"atmc","amt":"200"}h!
text/plain;charset=utf-8
7{"p":"brc-20","op":"transfer","tick":"ATMC","amt":"10"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"atmc","amt":"200"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"FF1E","amt":"200"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"atmc","amt":"200"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"972"}h!
text/plain;charset=utf-8
8{"p":"brc-20","op":"transfer","tick":"36P9","amt":"500"}h!
text/plain;charset=utf-8
text/plain;charset=utf-8
arinstagram.bitmaph!
text/plain;charset=utf-8
armessenger.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
arapplemusic.bitmaph!
text/plain;charset=utf-8
argooglemaps.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
arapplevision.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
armessenger.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
argooglemaps.bitmaph!
text/plain;charset=utf-8
arapplemusic.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
arinstagram.bitmaph!
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
text/plain;charset=utf-8
arapplevision.bitmaph!
<script data-id="1988" src="/content/1696d7a850b7e9fadc9fa86986b3b78bc84bec6b9c631fdb1ec3bdc15b1fbf17i0"></script>
Lc<script src="/content/ba6c94f9463fff18ae2b08eb192d264a880a38d780f3d354a86b6e51a7e9d331i0"></script>h!
text/plain;charset=utf-8S }xiN
dnameh0.912584fparcel
text/plain;charset=utf-8S }xiN
dnameh1.912584fparcel
dNamelPraxis ThorneTitlemThe AnarchistkDescriptionx2Steward of the Unruled, Herald of the Black BannerdRankdKinggEditionf64/100fArtistdZodd
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
4{"p":"brc-20","op":"mint","tick":"
blk00000.txt blk00001.txt blk00002.txt blk00003.txt blk00004.txt blk00005.txt blk00006.txt blk00007.txt blk00008.txt blk00009.txt blk00010.txt blk00011.txt blk00012.txt blk00013.txt blk00014.txt blk00015.txt blk00016.txt blk00017.txt blk00018.txt blk00019.txt blk00020.txt blk00021.txt blk00022.txt blk00023.txt blk00024.txt blk00025.txt blk00026.txt blk00027.txt blk00028.txt blk00029.txt blk00030.txt blk00031.txt blk00032.txt blk00033.txt blk00034.txt blk00035.txt blk00036.txt blk00037.txt blk00038.txt blk00039.txt blk00040.txt blk00041.txt blk00042.txt blk00043.txt blk00044.txt blk00045.txt blk00046.txt blk00047.txt blk00048.txt blk00049.txt blk00050.txt blk00051.txt blk00052.txt blk00053.txt blk00054.txt blk00055.txt blk00056.txt blk00057.txt blk00058.txt blk00059.txt blk00060.txt blk00061.txt blk00062.txt blk00063.txt blk00064.txt blk00065.txt blk00066.txt blk00067.txt blk00068.txt blk00069.txt blk00070.txt blk00071.txt blk00072.txt blk00073.txt blk00074.txt blk00075.txt blk00076.txt blk00077.txt blk00078.txt blk00079.txt blk00080.txt blk00081.txt blk00082.txt blk00083.txt blk00084.txt blk00085.txt blk00086.txt blk00087.txt blk00088.txt blk00089.txt blk00090.txt blk00091.txt blk00092.txt blk00093.txt blk00094.txt blk00095.txt blk00096.txt blk00097.txt blk00098.txt blk00099.txt blk00100.txt blk00101.txt blk00102.txt blk00103.txt blk00104.txt blk00105.txt blk00106.txt blk00107.txt blk00108.txt blk00109.txt blk00110.txt blk00111.txt blk00112.txt blk00113.txt blk00114.txt blk00115.txt blk00116.txt blk00117.txt blk00118.txt blk00119.txt blk00120.txt blk00121.txt blk00122.txt blk00123.txt blk00124.txt blk00125.txt blk00126.txt blk00127.txt blk00128.txt blk00129.txt blk00130.txt blk00131.txt blk00132.txt blk00133.txt blk00134.txt blk00135.txt blk00136.txt blk00137.txt blk00138.txt blk00139.txt blk00140.txt blk00141.txt blk00142.txt blk00143.txt blk00144.txt blk00145.txt blk00146.txt blk00147.txt blk00148.txt blk00149.txt blk00150.txt blk00151.txt blk00152.txt blk00153.txt blk00154.txt blk00155.txt blk00156.txt blk00157.txt blk00158.txt blk00159.txt blk00160.txt blk00161.txt blk00162.txt blk00163.txt blk00164.txt blk00165.txt blk00166.txt blk00167.txt blk00168.txt blk00169.txt blk00170.txt blk00171.txt blk00172.txt blk00173.txt blk00174.txt blk00175.txt blk00176.txt blk00177.txt blk00178.txt blk00179.txt blk00180.txt blk00181.txt blk00182.txt blk00183.txt blk00184.txt blk00185.txt blk00186.txt blk00187.txt blk00188.txt blk00189.txt blk00190.txt blk00191.txt blk00192.txt blk00193.txt blk00194.txt blk00195.txt blk00196.txt blk00197.txt blk00198.txt blk00199.txt blk00200.txt blk00201.txt blk00202.txt blk00203.txt blk00204.txt blk00205.txt blk00206.txt blk00207.txt blk00208.txt blk00209.txt blk00210.txt blk00211.txt blk00212.txt blk00213.txt blk00214.txt blk00215.txt blk00216.txt blk00217.txt blk00218.txt blk00219.txt blk00220.txt blk00221.txt blk00222.txt blk00223.txt blk00224.txt blk00225.txt blk00226.txt blk00227.txt blk00228.txt blk00229.txt blk00230.txt blk00231.txt blk00232.txt blk00233.txt blk00234.txt blk00235.txt blk00236.txt blk00237.txt blk00238.txt blk00239.txt blk00240.txt blk00241.txt blk00242.txt blk00243.txt blk00244.txt blk00245.txt blk00246.txt blk00247.txt blk00248.txt blk00249.txt blk00250.txt blk00251.txt blk00252.txt blk00253.txt blk00254.txt blk00255.txt blk00256.txt blk00257.txt blk00258.txt blk00259.txt blk00260.txt blk00261.txt blk00262.txt blk00263.txt blk00264.txt blk00265.txt blk00266.txt blk00267.txt blk00268.txt blk00269.txt blk00270.txt blk00271.txt blk00272.txt blk00273.txt blk00274.txt blk00275.txt blk00276.txt blk00277.txt blk00278.txt blk00279.txt blk00280.txt blk00281.txt blk00282.txt blk00283.txt blk00284.txt blk00285.txt blk00286.txt blk00287.txt blk00288.txt blk00289.txt blk00290.txt blk00291.txt blk00292.txt blk00293.txt blk00294.txt blk00295.txt blk00296.txt blk00297.txt blk00298.txt blk00299.txt blk00300.txt blk00301.txt blk00302.txt blk00303.txt blk00304.txt blk00305.txt blk00306.txt blk00307.txt blk00308.txt blk00309.txt blk00310.txt blk00311.txt blk00312.txt blk00313.txt blk00314.txt blk00315.txt blk00316.txt blk00317.txt blk00318.txt blk00319.txt blk00320.txt blk00321.txt blk00322.txt blk00323.txt blk00324.txt blk00325.txt blk00326.txt blk00327.txt blk00328.txt blk00329.txt blk00330.txt blk00331.txt blk00332.txt blk00333.txt blk00334.txt blk00335.txt blk00336.txt blk00337.txt blk00338.txt blk00339.txt blk00340.txt blk00341.txt blk00342.txt blk00343.txt blk00344.txt blk00345.txt blk00346.txt blk00347.txt blk00348.txt blk00349.txt blk00350.txt blk00351.txt blk00352.txt blk00353.txt blk00354.txt blk00355.txt blk00356.txt blk00357.txt blk00358.txt blk00359.txt blk00360.txt blk00361.txt blk00362.txt blk00363.txt blk00364.txt blk00365.txt blk00366.txt blk00367.txt blk00368.txt blk00369.txt blk00370.txt blk00371.txt blk00372.txt blk00373.txt blk00374.txt blk00375.txt blk00376.txt blk00377.txt blk00378.txt blk00379.txt blk00380.txt blk00381.txt blk00382.txt blk00383.txt blk00384.txt blk00385.txt blk00386.txt blk00387.txt blk00388.txt blk00389.txt blk00390.txt blk00391.txt blk00392.txt blk00393.txt blk00394.txt blk00395.txt blk00396.txt blk00397.txt blk00398.txt blk00399.txt blk00400.txt blk00401.txt blk00402.txt blk00403.txt blk00404.txt blk00405.txt blk00406.txt blk00407.txt blk00408.txt blk00409.txt blk00410.txt blk00411.txt blk00412.txt blk00413.txt blk00414.txt blk00415.txt blk00416.txt blk00417.txt blk00418.txt blk00419.txt blk00420.txt blk00421.txt blk00422.txt blk00423.txt blk00424.txt blk00425.txt blk00426.txt blk00427.txt blk00428.txt blk00429.txt blk00430.txt blk00431.txt blk00432.txt blk00433.txt blk00434.txt blk00435.txt blk00436.txt blk00437.txt blk00438.txt blk00439.txt blk00440.txt blk00441.txt blk00442.txt blk00443.txt blk00444.txt blk00445.txt blk00446.txt blk00447.txt blk00448.txt blk00449.txt blk00450.txt blk00451.txt blk00452.txt blk00453.txt blk00454.txt blk00455.txt blk00456.txt blk00457.txt blk00458.txt blk00459.txt blk00460.txt blk00461.txt blk00462.txt blk00463.txt blk00464.txt blk00465.txt blk00466.txt blk00467.txt blk00468.txt blk00469.txt blk00470.txt blk00471.txt blk00472.txt blk00473.txt blk00474.txt blk00475.txt blk00476.txt blk00477.txt blk00478.txt blk00479.txt blk00480.txt blk00481.txt blk00482.txt blk00483.txt blk00484.txt blk00485.txt blk00486.txt blk00487.txt blk00488.txt blk00489.txt blk00490.txt blk00491.txt blk00492.txt blk00493.txt blk00494.txt blk00495.txt blk00496.txt blk00497.txt blk00498.txt blk00499.txt blk00500.txt blk00501.txt blk00502.txt blk00503.txt blk00504.txt blk00505.txt blk00506.txt blk00507.txt blk00508.txt blk00509.txt blk00510.txt blk00511.txt blk00512.txt blk00513.txt blk00514.txt blk00515.txt blk00516.txt blk00517.txt blk00518.txt blk00519.txt blk00520.txt blk00521.txt blk00522.txt blk00523.txt blk00524.txt blk00525.txt blk00526.txt blk00527.txt blk00528.txt blk00529.txt blk00530.txt blk00531.txt blk00532.txt blk00533.txt blk00534.txt blk00535.txt blk00536.txt blk00537.txt blk00538.txt blk00539.txt blk00540.txt blk00541.txt blk00542.txt blk00543.txt blk00544.txt blk00545.txt blk00546.txt blk00547.txt blk00548.txt blk00549.txt blk00550.txt blk00551.txt blk00552.txt blk00553.txt blk00554.txt blk00555.txt blk00556.txt blk00557.txt blk00558.txt blk00559.txt blk00560.txt blk00561.txt blk00562.txt blk00563.txt blk00564.txt blk00565.txt blk00566.txt blk00567.txt blk00568.txt blk00569.txt blk00570.txt blk00571.txt blk00572.txt blk00573.txt blk00574.txt blk00575.txt blk00576.txt blk00577.txt blk00578.txt blk00579.txt blk00580.txt blk00581.txt blk00582.txt blk00583.txt blk00584.txt blk00585.txt blk00586.txt blk00587.txt blk00588.txt blk00589.txt blk00590.txt blk00591.txt blk00592.txt blk00593.txt blk00594.txt blk00595.txt blk00596.txt blk00597.txt blk00598.txt blk00599.txt blk00600.txt blk00601.txt blk00602.txt blk00603.txt blk00604.txt blk00605.txt blk00606.txt blk00607.txt blk00608.txt blk00609.txt blk00610.txt blk00611.txt blk00612.txt blk00613.txt blk00614.txt blk00615.txt blk00616.txt blk00617.txt blk00618.txt blk00619.txt blk00620.txt blk00621.txt blk00622.txt blk00623.txt blk00624.txt blk00625.txt blk00626.txt blk00627.txt blk00628.txt blk00629.txt blk00630.txt blk00631.txt blk00632.txt blk00633.txt blk00634.txt blk00635.txt blk00636.txt blk00637.txt blk00638.txt blk00639.txt blk00640.txt blk00641.txt blk00642.txt blk00643.txt blk00644.txt blk00645.txt blk00646.txt blk00647.txt blk00648.txt blk00649.txt blk00650.txt blk00651.txt blk00652.txt blk00653.txt blk00654.txt blk00655.txt blk00656.txt blk00657.txt blk00658.txt blk00659.txt blk00660.txt blk00661.txt blk00662.txt blk00663.txt blk00664.txt blk00665.txt blk00666.txt blk00667.txt blk00668.txt blk00669.txt blk00670.txt blk00671.txt blk00672.txt blk00673.txt blk00674.txt blk00675.txt blk00676.txt blk00677.txt blk00678.txt blk00679.txt blk00680.txt blk00681.txt blk00682.txt blk00683.txt blk00684.txt blk00685.txt blk00686.txt blk00687.txt blk00688.txt blk00689.txt blk00690.txt blk00691.txt blk00692.txt blk00693.txt blk00694.txt blk00695.txt blk00696.txt blk00697.txt blk00698.txt blk00699.txt blk00700.txt blk00701.txt blk00702.txt blk00703.txt blk00704.txt blk00705.txt blk00706.txt blk00707.txt blk00708.txt blk00709.txt blk00710.txt blk00711.txt blk00712.txt blk00713.txt blk00714.txt blk00715.txt blk00716.txt blk00717.txt blk00718.txt blk00719.txt blk00720.txt blk00721.txt blk00722.txt blk00723.txt blk00724.txt blk00725.txt blk00726.txt blk00727.txt blk00728.txt blk00729.txt blk00730.txt blk00731.txt blk00732.txt blk00733.txt blk00734.txt blk00735.txt blk00736.txt blk00737.txt blk00738.txt blk00739.txt blk00740.txt blk00741.txt blk00742.txt blk00743.txt blk00744.txt blk00745.txt blk00746.txt blk00747.txt blk00748.txt blk00749.txt blk00750.txt blk00751.txt blk00752.txt blk00753.txt blk00754.txt blk00755.txt blk00756.txt blk00757.txt blk00758.txt blk00759.txt blk00760.txt blk00761.txt blk00762.txt blk00763.txt blk00764.txt blk00765.txt blk00766.txt blk00767.txt blk00768.txt blk00769.txt blk00770.txt blk00771.txt blk00772.txt blk00773.txt blk00774.txt blk00775.txt blk00776.txt blk00777.txt blk00778.txt blk00779.txt blk00780.txt blk00781.txt blk00782.txt blk00783.txt blk00784.txt blk00785.txt blk00786.txt blk00787.txt blk00788.txt blk00789.txt blk00790.txt blk00791.txt blk00792.txt blk00793.txt blk00794.txt blk00795.txt blk00796.txt blk00797.txt blk00798.txt blk00799.txt blk00800.txt blk00801.txt blk00802.txt blk00803.txt blk00804.txt blk00805.txt blk00806.txt blk00807.txt blk00808.txt blk00809.txt blk00810.txt blk00811.txt blk00812.txt blk00813.txt blk00814.txt blk00815.txt blk00816.txt blk00817.txt blk00818.txt blk00819.txt blk00820.txt blk00821.txt blk00822.txt blk00823.txt blk00824.txt blk00825.txt blk00826.txt blk00827.txt blk00828.txt blk00829.txt blk00830.txt blk00831.txt blk00832.txt blk00833.txt blk00834.txt blk00835.txt blk00836.txt blk00837.txt blk00838.txt blk00839.txt blk00840.txt blk00841.txt blk00842.txt blk00843.txt blk00844.txt blk00845.txt blk00846.txt blk00847.txt blk00848.txt blk00849.txt blk00850.txt blk00851.txt blk00852.txt blk00853.txt blk00854.txt blk00855.txt blk00856.txt blk00857.txt blk00858.txt blk00859.txt blk00860.txt blk00861.txt blk00862.txt blk00863.txt blk00864.txt blk00865.txt blk00866.txt blk00867.txt blk00868.txt blk00869.txt blk00870.txt blk00871.txt blk00872.txt blk00873.txt blk00874.txt blk00875.txt blk00876.txt blk00877.txt blk00878.txt blk00879.txt blk00880.txt blk00881.txt blk00882.txt blk00883.txt blk00884.txt blk00885.txt blk00886.txt blk00887.txt blk00888.txt blk00889.txt blk00890.txt blk00891.txt blk00892.txt blk00893.txt blk00894.txt blk00895.txt blk00896.txt blk00897.txt blk00898.txt blk00899.txt blk00900.txt blk00901.txt blk00902.txt blk00903.txt blk00904.txt blk00905.txt blk00906.txt blk00907.txt blk00908.txt blk00909.txt blk00910.txt blk00911.txt blk00912.txt blk00913.txt blk00914.txt blk00915.txt blk00916.txt blk00917.txt blk00918.txt blk00919.txt blk00920.txt blk00921.txt blk00922.txt blk00923.txt blk00924.txt blk00925.txt blk00926.txt blk00927.txt blk00928.txt blk00929.txt blk00930.txt blk00931.txt blk00932.txt blk00933.txt blk00934.txt blk00935.txt blk00936.txt blk00937.txt blk00938.txt blk00939.txt blk00940.txt blk00941.txt blk00942.txt blk00943.txt blk00944.txt blk00945.txt blk00946.txt blk00947.txt blk00948.txt blk00949.txt blk00950.txt blk00951.txt blk00952.txt blk00953.txt blk00954.txt blk00955.txt blk00956.txt blk00957.txt blk00958.txt blk00959.txt blk00960.txt blk00961.txt blk00962.txt blk00963.txt blk00964.txt blk00965.txt blk00966.txt blk00967.txt blk00968.txt blk00969.txt blk00970.txt blk00971.txt blk00972.txt blk00973.txt blk00974.txt blk00975.txt blk00976.txt blk00977.txt blk00978.txt blk00979.txt blk00980.txt blk00981.txt blk00982.txt blk00983.txt blk00984.txt blk00985.txt blk00986.txt blk00987.txt blk00988.txt blk00989.txt blk00990.txt blk00991.txt blk00992.txt blk00993.txt blk00994.txt blk00995.txt blk00996.txt blk00997.txt blk00998.txt blk00999.txt blk01000.txt blk01001.txt blk01002.txt blk01003.txt blk01004.txt blk01005.txt blk01006.txt blk01007.txt blk01008.txt blk01009.txt blk01010.txt blk01011.txt blk01012.txt blk01013.txt blk01014.txt blk01015.txt blk01016.txt blk01017.txt blk01018.txt blk01019.txt blk01020.txt blk01021.txt blk01022.txt blk01023.txt blk01024.txt blk01025.txt blk01026.txt blk01027.txt blk01028.txt blk01029.txt blk01030.txt blk01031.txt blk01032.txt blk01033.txt blk01034.txt blk01035.txt blk01036.txt blk01037.txt blk01038.txt blk01039.txt blk01040.txt blk01041.txt blk01042.txt blk01043.txt blk01044.txt blk01045.txt blk01046.txt blk01047.txt blk01048.txt blk01049.txt blk01050.txt blk01051.txt blk01052.txt blk01053.txt blk01054.txt blk01055.txt blk01056.txt blk01057.txt blk01058.txt blk01059.txt blk01060.txt blk01061.txt blk01062.txt blk01063.txt blk01064.txt blk01065.txt blk01066.txt blk01067.txt blk01068.txt blk01069.txt blk01070.txt blk01071.txt blk01072.txt blk01073.txt blk01074.txt blk01075.txt blk01076.txt blk01077.txt blk01078.txt blk01079.txt blk01080.txt blk01081.txt blk01082.txt blk01083.txt blk01084.txt blk01085.txt blk01086.txt blk01087.txt blk01088.txt blk01089.txt blk01090.txt blk01091.txt blk01092.txt blk01093.txt blk01094.txt blk01095.txt blk01096.txt blk01097.txt blk01098.txt blk01099.txt blk01100.txt blk01101.txt blk01102.txt blk01103.txt blk01104.txt blk01105.txt blk01106.txt blk01107.txt blk01108.txt blk01109.txt blk01110.txt blk01111.txt blk01112.txt blk01113.txt blk01114.txt blk01115.txt blk01116.txt blk01117.txt blk01118.txt blk01119.txt blk01120.txt blk01121.txt blk01122.txt blk01123.txt blk01124.txt blk01125.txt blk01126.txt blk01127.txt blk01128.txt blk01129.txt blk01130.txt blk01131.txt blk01132.txt blk01133.txt blk01134.txt blk01135.txt blk01136.txt blk01137.txt blk01138.txt blk01139.txt blk01140.txt blk01141.txt blk01142.txt blk01143.txt blk01144.txt blk01145.txt blk01146.txt blk01147.txt blk01148.txt blk01149.txt blk01150.txt blk01151.txt blk01152.txt blk01153.txt blk01154.txt blk01155.txt blk01156.txt blk01157.txt blk01158.txt blk01159.txt blk01160.txt blk01161.txt blk01162.txt blk01163.txt blk01164.txt blk01165.txt blk01166.txt blk01167.txt blk01168.txt blk01169.txt blk01170.txt blk01171.txt blk01172.txt blk01173.txt blk01174.txt blk01175.txt blk01176.txt blk01177.txt blk01178.txt blk01179.txt blk01180.txt blk01181.txt blk01182.txt blk01183.txt blk01184.txt blk01185.txt blk01186.txt blk01187.txt blk01188.txt blk01189.txt blk01190.txt blk01191.txt blk01192.txt blk01193.txt blk01194.txt blk01195.txt blk01196.txt blk01197.txt blk01198.txt blk01199.txt blk01200.txt blk01201.txt blk01202.txt blk01203.txt blk01204.txt blk01205.txt blk01206.txt blk01207.txt blk01208.txt blk01209.txt blk01210.txt blk01211.txt blk01212.txt blk01213.txt blk01214.txt blk01215.txt blk01216.txt blk01217.txt blk01218.txt blk01219.txt blk01220.txt blk01221.txt blk01222.txt blk01223.txt blk01224.txt blk01225.txt blk01226.txt blk01227.txt blk01228.txt blk01229.txt blk01230.txt blk01231.txt blk01232.txt blk01233.txt blk01234.txt blk01235.txt blk01236.txt blk01237.txt blk01238.txt blk01239.txt blk01240.txt blk01241.txt blk01242.txt blk01243.txt blk01244.txt blk01245.txt blk01246.txt blk01247.txt blk01248.txt blk01249.txt blk01250.txt blk01251.txt blk01252.txt blk01253.txt blk01254.txt blk01255.txt blk01256.txt blk01257.txt blk01258.txt blk01259.txt blk01260.txt blk01261.txt blk01262.txt blk01263.txt blk01264.txt blk01265.txt blk01266.txt blk01267.txt blk01268.txt blk01269.txt blk01270.txt blk01271.txt blk01272.txt blk01273.txt blk01274.txt blk01275.txt blk01276.txt blk01277.txt blk01278.txt blk01279.txt blk01280.txt blk01281.txt blk01282.txt blk01283.txt blk01284.txt blk01285.txt blk01286.txt blk01287.txt blk01288.txt blk01289.txt blk01290.txt blk01291.txt blk01292.txt blk01293.txt blk01294.txt blk01295.txt blk01296.txt blk01297.txt blk01298.txt blk01299.txt blk01300.txt blk01301.txt blk01302.txt blk01303.txt blk01304.txt blk01305.txt blk01306.txt blk01307.txt blk01308.txt blk01309.txt blk01310.txt blk01311.txt blk01312.txt blk01313.txt blk01314.txt blk01315.txt blk01316.txt blk01317.txt blk01318.txt blk01319.txt blk01320.txt blk01321.txt blk01322.txt blk01323.txt blk01324.txt blk01325.txt blk01326.txt blk01327.txt blk01328.txt blk01329.txt blk01330.txt blk01331.txt blk01332.txt blk01333.txt blk01334.txt blk01335.txt blk01336.txt blk01337.txt blk01338.txt blk01339.txt blk01340.txt blk01341.txt blk01342.txt blk01343.txt blk01344.txt blk01345.txt blk01346.txt blk01347.txt blk01348.txt blk01349.txt blk01350.txt blk01351.txt blk01352.txt blk01353.txt blk01354.txt blk01355.txt blk01356.txt blk01357.txt blk01358.txt blk01359.txt blk01360.txt blk01361.txt blk01362.txt blk01363.txt blk01364.txt blk01365.txt blk01366.txt blk01367.txt blk01368.txt blk01369.txt blk01370.txt blk01371.txt blk01372.txt blk01373.txt blk01374.txt blk01375.txt blk01376.txt blk01377.txt blk01378.txt blk01379.txt blk01380.txt blk01381.txt blk01382.txt blk01383.txt blk01384.txt blk01385.txt blk01386.txt blk01387.txt blk01388.txt blk01389.txt blk01390.txt blk01391.txt blk01392.txt blk01393.txt blk01394.txt blk01395.txt blk01396.txt blk01397.txt blk01398.txt blk01399.txt blk01400.txt blk01401.txt blk01402.txt blk01403.txt blk01404.txt blk01405.txt blk01406.txt blk01407.txt blk01408.txt blk01409.txt blk01410.txt blk01411.txt blk01412.txt blk01413.txt blk01414.txt blk01415.txt blk01416.txt blk01417.txt blk01418.txt blk01419.txt blk01420.txt blk01421.txt blk01422.txt blk01423.txt blk01424.txt blk01425.txt blk01426.txt blk01427.txt blk01428.txt blk01429.txt blk01430.txt blk01431.txt blk01432.txt blk01433.txt blk01434.txt blk01435.txt blk01436.txt blk01437.txt blk01438.txt blk01439.txt blk01440.txt blk01441.txt blk01442.txt blk01443.txt blk01444.txt blk01445.txt blk01446.txt blk01447.txt blk01448.txt blk01449.txt blk01450.txt blk01451.txt blk01452.txt blk01453.txt blk01454.txt blk01455.txt blk01456.txt blk01457.txt blk01458.txt blk01459.txt blk01460.txt blk01461.txt blk01462.txt blk01463.txt blk01464.txt blk01465.txt blk01466.txt blk01467.txt blk01468.txt blk01469.txt blk01470.txt blk01471.txt blk01472.txt blk01473.txt blk01474.txt blk01475.txt blk01476.txt blk01477.txt blk01478.txt blk01479.txt blk01480.txt blk01481.txt blk01482.txt blk01483.txt blk01484.txt blk01485.txt blk01486.txt blk01487.txt blk01488.txt blk01489.txt blk01490.txt blk01491.txt blk01492.txt blk01493.txt blk01494.txt blk01495.txt blk01496.txt blk01497.txt blk01498.txt blk01499.txt blk01500.txt blk01501.txt blk01502.txt blk01503.txt blk01504.txt blk01505.txt blk01506.txt blk01507.txt blk01508.txt blk01509.txt blk01510.txt blk01511.txt blk01512.txt blk01513.txt blk01514.txt blk01515.txt blk01516.txt blk01517.txt blk01518.txt blk01519.txt blk01520.txt blk01521.txt blk01522.txt blk01523.txt blk01524.txt blk01525.txt blk01526.txt blk01527.txt blk01528.txt blk01529.txt blk01530.txt blk01531.txt blk01532.txt blk01533.txt blk01534.txt blk01535.txt blk01536.txt blk01537.txt blk01538.txt blk01539.txt blk01540.txt blk01541.txt blk01542.txt blk01543.txt blk01544.txt blk01545.txt blk01546.txt blk01547.txt blk01548.txt blk01549.txt blk01550.txt blk01551.txt blk01552.txt blk01553.txt blk01554.txt blk01555.txt blk01556.txt blk01557.txt blk01558.txt blk01559.txt blk01560.txt blk01561.txt blk01562.txt blk01563.txt blk01564.txt blk01565.txt blk01566.txt blk01567.txt blk01568.txt blk01569.txt blk01570.txt blk01571.txt blk01572.txt blk01573.txt blk01574.txt blk01575.txt blk01576.txt blk01577.txt blk01578.txt blk01579.txt blk01580.txt blk01581.txt blk01582.txt blk01583.txt blk01584.txt blk01585.txt blk01586.txt blk01587.txt blk01588.txt blk01589.txt blk01590.txt blk01591.txt blk01592.txt blk01593.txt blk01594.txt blk01595.txt blk01596.txt blk01597.txt blk01598.txt blk01599.txt blk01600.txt blk01601.txt blk01602.txt blk01603.txt blk01604.txt blk01605.txt blk01606.txt blk01607.txt blk01608.txt blk01609.txt blk01610.txt blk01611.txt blk01612.txt blk01613.txt blk01614.txt blk01615.txt blk01616.txt blk01617.txt blk01618.txt blk01619.txt blk01620.txt blk01621.txt blk01622.txt blk01623.txt blk01624.txt blk01625.txt blk01626.txt blk01627.txt blk01628.txt blk01629.txt blk01630.txt blk01631.txt blk01632.txt blk01633.txt blk01634.txt blk01635.txt blk01636.txt blk01637.txt blk01638.txt blk01639.txt blk01640.txt blk01641.txt blk01642.txt blk01643.txt blk01644.txt blk01645.txt blk01646.txt blk01647.txt blk01648.txt blk01649.txt blk01650.txt blk01651.txt blk01652.txt blk01653.txt blk01654.txt blk01655.txt blk01656.txt blk01657.txt blk01658.txt blk01659.txt blk01660.txt blk01661.txt blk01662.txt blk01663.txt blk01664.txt blk01665.txt blk01666.txt blk01667.txt blk01668.txt blk01669.txt blk01670.txt blk01671.txt blk01672.txt blk01673.txt blk01674.txt blk01675.txt blk01676.txt blk01677.txt blk01678.txt blk01679.txt blk01680.txt blk01681.txt blk01682.txt blk01683.txt blk01684.txt blk01685.txt blk01686.txt blk01687.txt blk01688.txt blk01689.txt blk01690.txt blk01691.txt blk01692.txt blk01693.txt blk01694.txt blk01695.txt blk01696.txt blk01697.txt blk01698.txt blk01699.txt blk01700.txt blk01701.txt blk01702.txt blk01703.txt blk01704.txt blk01705.txt blk01706.txt blk01707.txt blk01708.txt blk01709.txt blk01710.txt blk01711.txt blk01712.txt blk01713.txt blk01714.txt blk01715.txt blk01716.txt blk01717.txt blk01718.txt blk01719.txt blk01720.txt blk01721.txt blk01722.txt blk01723.txt blk01724.txt blk01725.txt blk01726.txt blk01727.txt blk01728.txt blk01729.txt blk01730.txt blk01731.txt blk01732.txt blk01733.txt blk01734.txt blk01735.txt blk01736.txt blk01737.txt blk01738.txt blk01739.txt blk01740.txt blk01741.txt blk01742.txt blk01743.txt blk01744.txt blk01745.txt blk01746.txt blk01747.txt blk01748.txt blk01749.txt blk01750.txt blk01751.txt blk01752.txt blk01753.txt blk01754.txt blk01755.txt blk01756.txt blk01757.txt blk01758.txt blk01759.txt blk01760.txt blk01761.txt blk01762.txt blk01763.txt blk01764.txt blk01765.txt blk01766.txt blk01767.txt blk01768.txt blk01769.txt blk01770.txt blk01771.txt blk01772.txt blk01773.txt blk01774.txt blk01775.txt blk01776.txt blk01777.txt blk01778.txt blk01779.txt blk01780.txt blk01781.txt blk01782.txt blk01783.txt blk01784.txt blk01785.txt blk01786.txt blk01787.txt blk01788.txt blk01789.txt blk01790.txt blk01791.txt blk01792.txt blk01793.txt blk01794.txt blk01795.txt blk01796.txt blk01797.txt blk01798.txt blk01799.txt blk01800.txt blk01801.txt blk01802.txt blk01803.txt blk01804.txt blk01805.txt blk01806.txt blk01807.txt blk01808.txt blk01809.txt blk01810.txt blk01811.txt blk01812.txt blk01813.txt blk01814.txt blk01815.txt blk01816.txt blk01817.txt blk01818.txt blk01819.txt blk01820.txt blk01821.txt blk01822.txt blk01823.txt blk01824.txt blk01825.txt blk01826.txt blk01827.txt blk01828.txt blk01829.txt blk01830.txt blk01831.txt blk01832.txt blk01833.txt blk01834.txt blk01835.txt blk01836.txt blk01837.txt blk01838.txt blk01839.txt blk01840.txt blk01841.txt blk01842.txt blk01843.txt blk01844.txt blk01845.txt blk01846.txt blk01847.txt blk01848.txt blk01849.txt blk01850.txt blk01851.txt blk01852.txt blk01853.txt blk01854.txt blk01855.txt blk01856.txt blk01857.txt blk01858.txt blk01859.txt blk01860.txt blk01861.txt blk01862.txt blk01863.txt blk01864.txt blk01865.txt blk01866.txt blk01867.txt blk01868.txt blk01869.txt blk01870.txt blk01871.txt blk01872.txt blk01873.txt blk01874.txt blk01875.txt blk01876.txt blk01877.txt blk01878.txt blk01879.txt blk01880.txt blk01881.txt blk01882.txt blk01883.txt blk01884.txt blk01885.txt blk01886.txt blk01887.txt blk01888.txt blk01889.txt blk01890.txt blk01891.txt blk01892.txt blk01893.txt blk01894.txt blk01895.txt blk01896.txt blk01897.txt blk01898.txt blk01899.txt blk01900.txt blk01901.txt blk01902.txt blk01903.txt blk01904.txt blk01905.txt blk01906.txt blk01907.txt blk01908.txt blk01909.txt blk01910.txt blk01911.txt blk01912.txt blk01913.txt blk01914.txt blk01915.txt blk01916.txt blk01917.txt blk01918.txt blk01919.txt blk01920.txt blk01921.txt blk01922.txt blk01923.txt blk01924.txt blk01925.txt blk01926.txt blk01927.txt blk01928.txt blk01929.txt blk01930.txt blk01931.txt blk01932.txt blk01933.txt blk01934.txt blk01935.txt blk01936.txt blk01937.txt blk01938.txt blk01939.txt blk01940.txt blk01941.txt blk01942.txt blk01943.txt blk01944.txt blk01945.txt blk01946.txt blk01947.txt blk01948.txt blk01949.txt blk01950.txt blk01951.txt blk01952.txt blk01953.txt blk01954.txt blk01955.txt blk01956.txt blk01957.txt blk01958.txt blk01959.txt blk01960.txt blk01961.txt blk01962.txt blk01963.txt blk01964.txt blk01965.txt blk01966.txt blk01967.txt blk01968.txt blk01969.txt blk01970.txt blk01971.txt blk01972.txt blk01973.txt blk01974.txt blk01975.txt blk01976.txt blk01977.txt blk01978.txt blk01979.txt blk01980.txt blk01981.txt blk01982.txt blk01983.txt blk01984.txt blk01985.txt blk01986.txt blk01987.txt blk01988.txt blk01989.txt blk01990.txt blk01991.txt blk01992.txt blk01993.txt blk01994.txt blk01995.txt blk01996.txt blk01997.txt blk01998.txt blk01999.txt blk02000.txt blk02001.txt blk02002.txt blk02003.txt blk02004.txt blk02005.txt blk02006.txt blk02007.txt blk02008.txt blk02009.txt blk02010.txt blk02011.txt blk02012.txt blk02013.txt blk02014.txt blk02015.txt blk02016.txt blk02017.txt blk02018.txt blk02019.txt blk02020.txt blk02021.txt blk02022.txt blk02023.txt blk02024.txt blk02025.txt blk02026.txt blk02027.txt blk02028.txt blk02029.txt blk02030.txt blk02031.txt blk02032.txt blk02033.txt blk02034.txt blk02035.txt blk02036.txt blk02037.txt blk02038.txt blk02039.txt blk02040.txt blk02041.txt blk02042.txt blk02043.txt blk02044.txt blk02045.txt blk02046.txt blk02047.txt blk02048.txt blk02049.txt blk02050.txt blk02051.txt blk02052.txt blk02053.txt blk02054.txt blk02055.txt blk02056.txt blk02057.txt blk02058.txt blk02059.txt blk02060.txt blk02061.txt blk02062.txt blk02063.txt blk02064.txt blk02065.txt blk02066.txt blk02067.txt blk02068.txt blk02069.txt blk02070.txt blk02071.txt blk02072.txt blk02073.txt blk02074.txt blk02075.txt blk02076.txt blk02077.txt blk02078.txt blk02079.txt blk02080.txt blk02081.txt blk02082.txt blk02083.txt blk02084.txt blk02085.txt blk02086.txt blk02087.txt blk02088.txt blk02089.txt blk02090.txt blk02091.txt blk02092.txt blk02093.txt blk02094.txt blk02095.txt blk02096.txt blk02097.txt blk02098.txt blk02099.txt blk02100.txt blk02101.txt blk02102.txt blk02103.txt blk02104.txt blk02105.txt blk02106.txt blk02107.txt blk02108.txt blk02109.txt blk02110.txt blk02111.txt blk02112.txt blk02113.txt blk02114.txt blk02115.txt blk02116.txt blk02117.txt blk02118.txt blk02119.txt blk02120.txt blk02121.txt blk02122.txt blk02123.txt blk02124.txt blk02125.txt blk02126.txt blk02127.txt blk02128.txt blk02129.txt blk02130.txt blk02131.txt blk02132.txt blk02133.txt blk02134.txt blk02135.txt blk02136.txt blk02137.txt blk02138.txt blk02139.txt blk02140.txt blk02141.txt blk02142.txt blk02143.txt blk02144.txt blk02145.txt blk02146.txt blk02147.txt blk02148.txt blk02149.txt blk02150.txt blk02151.txt blk02152.txt blk02153.txt blk02154.txt blk02155.txt blk02156.txt blk02157.txt blk02158.txt blk02159.txt blk02160.txt blk02161.txt blk02162.txt blk02163.txt blk02164.txt blk02165.txt blk02166.txt blk02167.txt blk02168.txt blk02169.txt blk02170.txt blk02171.txt blk02172.txt blk02173.txt blk02174.txt blk02175.txt blk02176.txt blk02177.txt blk02178.txt blk02179.txt blk02180.txt blk02181.txt blk02182.txt blk02183.txt blk02184.txt blk02185.txt blk02186.txt blk02187.txt blk02188.txt blk02189.txt blk02190.txt blk02191.txt blk02192.txt blk02193.txt blk02194.txt blk02195.txt blk02196.txt blk02197.txt blk02198.txt blk02199.txt blk02200.txt blk02201.txt blk02202.txt blk02203.txt blk02204.txt blk02205.txt blk02206.txt blk02207.txt blk02208.txt blk02209.txt blk02210.txt blk02211.txt blk02212.txt blk02213.txt blk02214.txt blk02215.txt blk02216.txt blk02217.txt blk02218.txt blk02219.txt blk02220.txt blk02221.txt blk02222.txt blk02223.txt blk02224.txt blk02225.txt blk02226.txt blk02227.txt blk02228.txt blk02229.txt blk02230.txt blk02231.txt blk02232.txt blk02233.txt blk02234.txt blk02235.txt blk02236.txt blk02237.txt blk02238.txt blk02239.txt blk02240.txt blk02241.txt blk02242.txt blk02243.txt blk02244.txt blk02245.txt blk02246.txt blk02247.txt blk02248.txt blk02249.txt blk02250.txt blk02251.txt blk02252.txt blk02253.txt blk02254.txt blk02255.txt blk02256.txt blk02257.txt blk02258.txt blk02259.txt blk02260.txt blk02261.txt blk02262.txt blk02263.txt blk02264.txt blk02265.txt blk02266.txt blk02267.txt blk02268.txt blk02269.txt blk02270.txt blk02271.txt blk02272.txt blk02273.txt blk02274.txt blk02275.txt blk02276.txt blk02277.txt blk02278.txt blk02279.txt blk02280.txt blk02281.txt blk02282.txt blk02283.txt blk02284.txt blk02285.txt blk02286.txt blk02287.txt blk02288.txt blk02289.txt blk02290.txt blk02291.txt blk02292.txt blk02293.txt blk02294.txt blk02295.txt blk02296.txt blk02297.txt blk02298.txt blk02299.txt blk02300.txt blk02301.txt blk02302.txt blk02303.txt blk02304.txt blk02305.txt blk02306.txt blk02307.txt blk02308.txt blk02309.txt blk02310.txt blk02311.txt blk02312.txt blk02313.txt blk02314.txt blk02315.txt blk02316.txt blk02317.txt blk02318.txt blk02319.txt blk02320.txt blk02321.txt blk02322.txt blk02323.txt blk02324.txt blk02325.txt blk02326.txt blk02327.txt blk02328.txt blk02329.txt blk02330.txt blk02331.txt blk02332.txt blk02333.txt blk02334.txt blk02335.txt blk02336.txt blk02337.txt blk02338.txt blk02339.txt blk02340.txt blk02341.txt blk02342.txt blk02343.txt blk02344.txt blk02345.txt blk02346.txt blk02347.txt blk02348.txt blk02349.txt blk02350.txt blk02351.txt blk02352.txt blk02353.txt blk02354.txt blk02355.txt blk02356.txt blk02357.txt blk02358.txt blk02359.txt blk02360.txt blk02361.txt blk02362.txt blk02363.txt blk02364.txt blk02365.txt blk02366.txt blk02367.txt blk02368.txt blk02369.txt blk02370.txt blk02371.txt blk02372.txt blk02373.txt blk02374.txt blk02375.txt blk02376.txt blk02377.txt blk02378.txt blk02379.txt blk02380.txt blk02381.txt blk02382.txt blk02383.txt blk02384.txt blk02385.txt blk02386.txt blk02387.txt blk02388.txt blk02389.txt blk02390.txt blk02391.txt blk02392.txt blk02393.txt blk02394.txt blk02395.txt blk02396.txt blk02397.txt blk02398.txt blk02399.txt blk02400.txt blk02401.txt blk02402.txt blk02403.txt blk02404.txt blk02405.txt blk02406.txt blk02407.txt blk02408.txt blk02409.txt blk02410.txt blk02411.txt blk02412.txt blk02413.txt blk02414.txt blk02415.txt blk02416.txt blk02417.txt blk02418.txt blk02419.txt blk02420.txt blk02421.txt blk02422.txt blk02423.txt blk02424.txt blk02425.txt blk02426.txt blk02427.txt blk02428.txt blk02429.txt blk02430.txt blk02431.txt blk02432.txt blk02433.txt blk02434.txt blk02435.txt blk02436.txt blk02437.txt blk02438.txt blk02439.txt blk02440.txt blk02441.txt blk02442.txt blk02443.txt blk02444.txt blk02445.txt blk02446.txt blk02447.txt blk02448.txt blk02449.txt blk02450.txt blk02451.txt blk02452.txt blk02453.txt blk02454.txt blk02455.txt blk02456.txt blk02457.txt blk02458.txt blk02459.txt blk02460.txt blk02461.txt blk02462.txt blk02463.txt blk02464.txt blk02465.txt blk02466.txt blk02467.txt blk02468.txt blk02469.txt blk02470.txt blk02471.txt blk02472.txt blk02473.txt blk02474.txt blk02475.txt blk02476.txt blk02477.txt blk02478.txt blk02479.txt blk02480.txt blk02481.txt blk02482.txt blk02483.txt blk02484.txt blk02485.txt blk02486.txt blk02487.txt blk02488.txt blk02489.txt blk02490.txt blk02491.txt blk02492.txt blk02493.txt blk02494.txt blk02495.txt blk02496.txt blk02497.txt blk02498.txt blk02499.txt blk02500.txt blk02501.txt blk02502.txt blk02503.txt blk02504.txt blk02505.txt blk02506.txt blk02507.txt blk02508.txt blk02509.txt blk02510.txt blk02511.txt blk02512.txt blk02513.txt blk02514.txt blk02515.txt blk02516.txt blk02517.txt blk02518.txt blk02519.txt blk02520.txt blk02521.txt blk02522.txt blk02523.txt blk02524.txt blk02525.txt blk02526.txt blk02527.txt blk02528.txt blk02529.txt blk02530.txt blk02531.txt blk02532.txt blk02533.txt blk02534.txt blk02535.txt blk02536.txt blk02537.txt blk02538.txt blk02539.txt blk02540.txt blk02541.txt blk02542.txt blk02543.txt blk02544.txt blk02545.txt blk02546.txt blk02547.txt blk02548.txt blk02549.txt blk02550.txt blk02551.txt blk02552.txt blk02553.txt blk02554.txt blk02555.txt blk02556.txt blk02557.txt blk02558.txt blk02559.txt blk02560.txt blk02561.txt blk02562.txt blk02563.txt blk02564.txt blk02565.txt blk02566.txt blk02567.txt blk02568.txt blk02569.txt blk02570.txt blk02571.txt blk02572.txt blk02573.txt blk02574.txt blk02575.txt blk02576.txt blk02577.txt blk02578.txt blk02579.txt blk02580.txt blk02581.txt blk02582.txt blk02583.txt blk02584.txt blk02585.txt blk02586.txt blk02587.txt blk02588.txt blk02589.txt blk02590.txt blk02591.txt blk02592.txt blk02593.txt blk02594.txt blk02595.txt blk02596.txt blk02597.txt blk02598.txt blk02599.txt blk02600.txt blk02601.txt blk02602.txt blk02603.txt blk02604.txt blk02605.txt blk02606.txt blk02607.txt blk02608.txt blk02609.txt blk02610.txt blk02611.txt blk02612.txt blk02613.txt blk02614.txt blk02615.txt blk02616.txt blk02617.txt blk02618.txt blk02619.txt blk02620.txt blk02621.txt blk02622.txt blk02623.txt blk02624.txt blk02625.txt blk02626.txt blk02627.txt blk02628.txt blk02629.txt blk02630.txt blk02631.txt blk02632.txt blk02633.txt blk02634.txt blk02635.txt blk02636.txt blk02637.txt blk02638.txt blk02639.txt blk02640.txt blk02641.txt blk02642.txt blk02643.txt blk02644.txt blk02645.txt blk02646.txt blk02647.txt blk02648.txt blk02649.txt blk02650.txt blk02651.txt blk02652.txt blk02653.txt blk02654.txt blk02655.txt blk02656.txt blk02657.txt blk02658.txt blk02659.txt blk02660.txt blk02661.txt blk02662.txt blk02663.txt blk02664.txt blk02665.txt blk02666.txt blk02667.txt blk02668.txt blk02669.txt blk02670.txt blk02671.txt blk02672.txt blk02673.txt blk02674.txt blk02675.txt blk02676.txt blk02677.txt blk02678.txt blk02679.txt blk02680.txt blk02681.txt blk02682.txt blk02683.txt blk02684.txt blk02685.txt blk02686.txt blk02687.txt blk02688.txt blk02689.txt blk02690.txt blk02691.txt blk02692.txt blk02693.txt blk02694.txt blk02695.txt blk02696.txt blk02697.txt blk02698.txt blk02699.txt blk02700.txt blk02701.txt blk02702.txt blk02703.txt blk02704.txt blk02705.txt blk02706.txt blk02707.txt blk02708.txt blk02709.txt blk02710.txt blk02711.txt blk02712.txt blk02713.txt blk02714.txt blk02715.txt blk02716.txt blk02717.txt blk02718.txt blk02719.txt blk02720.txt blk02721.txt blk02722.txt blk02723.txt blk02724.txt blk02725.txt blk02726.txt blk02727.txt blk02728.txt blk02729.txt blk02730.txt blk02731.txt blk02732.txt blk02733.txt blk02734.txt blk02735.txt blk02736.txt blk02737.txt blk02738.txt blk02739.txt blk02740.txt blk02741.txt blk02742.txt blk02743.txt blk02744.txt blk02745.txt blk02746.txt blk02747.txt blk02748.txt blk02749.txt blk02750.txt blk02751.txt blk02752.txt blk02753.txt blk02754.txt blk02755.txt blk02756.txt blk02757.txt blk02758.txt blk02759.txt blk02760.txt blk02761.txt blk02762.txt blk02763.txt blk02764.txt blk02765.txt blk02766.txt blk02767.txt blk02768.txt blk02769.txt blk02770.txt blk02771.txt blk02772.txt blk02773.txt blk02774.txt blk02775.txt blk02776.txt blk02777.txt blk02778.txt blk02779.txt blk02780.txt blk02781.txt blk02782.txt blk02783.txt blk02784.txt blk02785.txt blk02786.txt blk02787.txt blk02788.txt blk02789.txt blk02790.txt blk02791.txt blk02792.txt blk02793.txt blk02794.txt blk02795.txt blk02796.txt blk02797.txt blk02798.txt blk02799.txt blk02800.txt blk02801.txt blk02802.txt blk02803.txt blk02804.txt blk02805.txt blk02806.txt blk02807.txt blk02808.txt blk02809.txt blk02810.txt blk02811.txt blk02812.txt blk02813.txt blk02814.txt blk02815.txt blk02816.txt blk02817.txt blk02818.txt blk02819.txt blk02820.txt blk02821.txt blk02822.txt blk02823.txt blk02824.txt blk02825.txt blk02826.txt blk02827.txt blk02828.txt blk02829.txt blk02830.txt blk02831.txt blk02832.txt blk02833.txt blk02834.txt blk02835.txt blk02836.txt blk02837.txt blk02838.txt blk02839.txt blk02840.txt blk02841.txt blk02842.txt blk02843.txt blk02844.txt blk02845.txt blk02846.txt blk02847.txt blk02848.txt blk02849.txt blk02850.txt blk02851.txt blk02852.txt blk02853.txt blk02854.txt blk02855.txt blk02856.txt blk02857.txt blk02858.txt blk02859.txt blk02860.txt blk02861.txt blk02862.txt blk02863.txt blk02864.txt blk02865.txt blk02866.txt blk02867.txt blk02868.txt blk02869.txt blk02870.txt blk02871.txt blk02872.txt blk02873.txt blk02874.txt blk02875.txt blk02876.txt blk02877.txt blk02878.txt blk02879.txt blk02880.txt blk02881.txt blk02882.txt blk02883.txt blk02884.txt blk02885.txt blk02886.txt blk02887.txt blk02888.txt blk02889.txt blk02890.txt blk02891.txt blk02892.txt blk02893.txt blk02894.txt blk02895.txt blk02896.txt blk02897.txt blk02898.txt blk02899.txt blk02900.txt blk02901.txt blk02902.txt blk02903.txt blk02904.txt blk02905.txt blk02906.txt blk02907.txt blk02908.txt blk02909.txt blk02910.txt blk02911.txt blk02912.txt blk02913.txt blk02914.txt blk02915.txt blk02916.txt blk02917.txt blk02918.txt blk02919.txt blk02920.txt blk02921.txt blk02922.txt blk02923.txt blk02924.txt blk02925.txt blk02926.txt blk02927.txt blk02928.txt blk02929.txt blk02930.txt blk02931.txt blk02932.txt blk02933.txt blk02934.txt blk02935.txt blk02936.txt blk02937.txt blk02938.txt blk02939.txt blk02940.txt blk02941.txt blk02942.txt blk02943.txt blk02944.txt blk02945.txt blk02946.txt blk02947.txt blk02948.txt blk02949.txt blk02950.txt blk02951.txt blk02952.txt blk02953.txt blk02954.txt blk02955.txt blk02956.txt blk02957.txt blk02958.txt blk02959.txt blk02960.txt blk02961.txt blk02962.txt blk02963.txt blk02964.txt blk02965.txt blk02966.txt blk02967.txt blk02968.txt blk02969.txt blk02970.txt blk02971.txt blk02972.txt blk02973.txt blk02974.txt blk02975.txt blk02976.txt blk02977.txt blk02978.txt blk02979.txt blk02980.txt blk02981.txt blk02982.txt blk02983.txt blk02984.txt blk02985.txt blk02986.txt blk02987.txt blk02988.txt blk02989.txt blk02990.txt blk02991.txt blk02992.txt blk02993.txt blk02994.txt blk02995.txt blk02996.txt blk02997.txt blk02998.txt blk02999.txt blk03000.txt blk03001.txt blk03002.txt blk03003.txt blk03004.txt blk03005.txt blk03006.txt blk03007.txt blk03008.txt blk03009.txt blk03010.txt blk03011.txt blk03012.txt blk03013.txt blk03014.txt blk03015.txt blk03016.txt blk03017.txt blk03018.txt blk03019.txt blk03020.txt blk03021.txt blk03022.txt blk03023.txt blk03024.txt blk03025.txt blk03026.txt blk03027.txt blk03028.txt blk03029.txt blk03030.txt blk03031.txt blk03032.txt blk03033.txt blk03034.txt blk03035.txt blk03036.txt blk03037.txt blk03038.txt blk03039.txt blk03040.txt blk03041.txt blk03042.txt blk03043.txt blk03044.txt blk03045.txt blk03046.txt blk03047.txt blk03048.txt blk03049.txt blk03050.txt blk03051.txt blk03052.txt blk03053.txt blk03054.txt blk03055.txt blk03056.txt blk03057.txt blk03058.txt blk03059.txt blk03060.txt blk03061.txt blk03062.txt blk03063.txt blk03064.txt blk03065.txt blk03066.txt blk03067.txt blk03068.txt blk03069.txt blk03070.txt blk03071.txt blk03072.txt blk03073.txt blk03074.txt blk03075.txt blk03076.txt blk03077.txt blk03078.txt blk03079.txt blk03080.txt blk03081.txt blk03082.txt blk03083.txt blk03084.txt blk03085.txt blk03086.txt blk03087.txt blk03088.txt blk03089.txt blk03090.txt blk03091.txt blk03092.txt blk03093.txt blk03094.txt blk03095.txt blk03096.txt blk03097.txt blk03098.txt blk03099.txt blk03100.txt blk03101.txt blk03102.txt blk03103.txt blk03104.txt blk03105.txt blk03106.txt blk03107.txt blk03108.txt blk03109.txt blk03110.txt blk03111.txt blk03112.txt blk03113.txt blk03114.txt blk03115.txt blk03116.txt blk03117.txt blk03118.txt blk03119.txt blk03120.txt blk03121.txt blk03122.txt blk03123.txt blk03124.txt blk03125.txt blk03126.txt blk03127.txt blk03128.txt blk03129.txt blk03130.txt blk03131.txt blk03132.txt blk03133.txt blk03134.txt blk03135.txt blk03136.txt blk03137.txt blk03138.txt blk03139.txt blk03140.txt blk03141.txt blk03142.txt blk03143.txt blk03144.txt blk03145.txt blk03146.txt blk03147.txt blk03148.txt blk03149.txt blk03150.txt blk03151.txt blk03152.txt blk03153.txt blk03154.txt blk03155.txt blk03156.txt blk03157.txt blk03158.txt blk03159.txt blk03160.txt blk03161.txt blk03162.txt blk03163.txt blk03164.txt blk03165.txt blk03166.txt blk03167.txt blk03168.txt blk03169.txt blk03170.txt blk03171.txt blk03172.txt blk03173.txt blk03174.txt blk03175.txt blk03176.txt blk03177.txt blk03178.txt blk03179.txt blk03180.txt blk03181.txt blk03182.txt blk03183.txt blk03184.txt blk03185.txt blk03186.txt blk03187.txt blk03188.txt blk03189.txt blk03190.txt blk03191.txt blk03192.txt blk03193.txt blk03194.txt blk03195.txt blk03196.txt blk03197.txt blk03198.txt blk03199.txt blk03200.txt blk03201.txt blk03202.txt blk03203.txt blk03204.txt blk03205.txt blk03206.txt blk03207.txt blk03208.txt blk03209.txt blk03210.txt blk03211.txt blk03212.txt blk03213.txt blk03214.txt blk03215.txt blk03216.txt blk03217.txt blk03218.txt blk03219.txt blk03220.txt blk03221.txt blk03222.txt blk03223.txt blk03224.txt blk03225.txt blk03226.txt blk03227.txt blk03228.txt blk03229.txt blk03230.txt blk03231.txt blk03232.txt blk03233.txt blk03234.txt blk03235.txt blk03236.txt blk03237.txt blk03238.txt blk03239.txt blk03240.txt blk03241.txt blk03242.txt blk03243.txt blk03244.txt blk03245.txt blk03246.txt blk03247.txt blk03248.txt blk03249.txt blk03250.txt blk03251.txt blk03252.txt blk03253.txt blk03254.txt blk03255.txt blk03256.txt blk03257.txt blk03258.txt blk03259.txt blk03260.txt blk03261.txt blk03262.txt blk03263.txt blk03264.txt blk03265.txt blk03266.txt blk03267.txt blk03268.txt blk03269.txt blk03270.txt blk03271.txt blk03272.txt blk03273.txt blk03274.txt blk03275.txt blk03276.txt blk03277.txt blk03278.txt blk03279.txt blk03280.txt blk03281.txt blk03282.txt blk03283.txt blk03284.txt blk03285.txt blk03286.txt blk03287.txt blk03288.txt blk03289.txt blk03290.txt blk03291.txt blk03292.txt blk03293.txt blk03294.txt blk03295.txt blk03296.txt blk03297.txt blk03298.txt blk03299.txt blk03300.txt blk03301.txt blk03302.txt blk03303.txt blk03304.txt blk03305.txt blk03306.txt blk03307.txt blk03308.txt blk03309.txt blk03310.txt blk03311.txt blk03312.txt blk03313.txt blk03314.txt blk03315.txt blk03316.txt blk03317.txt blk03318.txt blk03319.txt blk03320.txt blk03321.txt blk03322.txt blk03323.txt blk03324.txt blk03325.txt blk03326.txt blk03327.txt blk03328.txt blk03329.txt blk03330.txt blk03331.txt blk03332.txt blk03333.txt blk03334.txt blk03335.txt blk03336.txt blk03337.txt blk03338.txt blk03339.txt blk03340.txt blk03341.txt blk03342.txt blk03343.txt blk03344.txt blk03345.txt blk03346.txt blk03347.txt blk03348.txt blk03349.txt blk03350.txt blk03351.txt blk03352.txt blk03353.txt blk03354.txt blk03355.txt blk03356.txt blk03357.txt blk03358.txt blk03359.txt blk03360.txt blk03361.txt blk03362.txt blk03363.txt blk03364.txt blk03365.txt blk03366.txt blk03367.txt blk03368.txt blk03369.txt blk03370.txt blk03371.txt blk03372.txt blk03373.txt blk03374.txt blk03375.txt blk03376.txt blk03377.txt blk03378.txt blk03379.txt blk03380.txt blk03381.txt blk03382.txt blk03383.txt blk03384.txt blk03385.txt blk03386.txt blk03387.txt blk03388.txt blk03389.txt blk03390.txt blk03391.txt blk03392.txt blk03393.txt blk03394.txt blk03395.txt blk03396.txt blk03397.txt blk03398.txt blk03399.txt blk03400.txt blk03401.txt blk03402.txt blk03403.txt blk03404.txt blk03405.txt blk03406.txt blk03407.txt blk03408.txt blk03409.txt blk03410.txt blk03411.txt blk03412.txt blk03413.txt blk03414.txt blk03415.txt blk03416.txt blk03417.txt blk03418.txt blk03419.txt blk03420.txt blk03421.txt blk03422.txt blk03423.txt blk03424.txt blk03425.txt blk03426.txt blk03427.txt blk03428.txt blk03429.txt blk03430.txt blk03431.txt blk03432.txt blk03433.txt blk03434.txt blk03435.txt blk03436.txt blk03437.txt blk03438.txt blk03439.txt blk03440.txt blk03441.txt blk03442.txt blk03443.txt blk03444.txt blk03445.txt blk03446.txt blk03447.txt blk03448.txt blk03449.txt blk03450.txt blk03451.txt blk03452.txt blk03453.txt blk03454.txt blk03455.txt blk03456.txt blk03457.txt blk03458.txt blk03459.txt blk03460.txt blk03461.txt blk03462.txt blk03463.txt blk03464.txt blk03465.txt blk03466.txt blk03467.txt blk03468.txt blk03469.txt blk03470.txt blk03471.txt blk03472.txt blk03473.txt blk03474.txt blk03475.txt blk03476.txt blk03477.txt blk03478.txt blk03479.txt blk03480.txt blk03481.txt blk03482.txt blk03483.txt blk03484.txt blk03485.txt blk03486.txt blk03487.txt blk03488.txt blk03489.txt blk03490.txt blk03491.txt blk03492.txt blk03493.txt blk03494.txt blk03495.txt blk03496.txt blk03497.txt blk03498.txt blk03499.txt blk03500.txt blk03501.txt blk03502.txt blk03503.txt blk03504.txt blk03505.txt blk03506.txt blk03507.txt blk03508.txt blk03509.txt blk03510.txt blk03511.txt blk03512.txt blk03513.txt blk03514.txt blk03515.txt blk03516.txt blk03517.txt blk03518.txt blk03519.txt blk03520.txt blk03521.txt blk03522.txt blk03523.txt blk03524.txt blk03525.txt blk03526.txt blk03527.txt blk03528.txt blk03529.txt blk03530.txt blk03531.txt blk03532.txt blk03533.txt blk03534.txt blk03535.txt blk03536.txt blk03537.txt blk03538.txt blk03539.txt blk03540.txt blk03541.txt blk03542.txt blk03543.txt blk03544.txt blk03545.txt blk03546.txt blk03547.txt blk03548.txt blk03549.txt blk03550.txt blk03551.txt blk03552.txt blk03553.txt blk03554.txt blk03555.txt blk03556.txt blk03557.txt blk03558.txt blk03559.txt blk03560.txt blk03561.txt blk03562.txt blk03563.txt blk03564.txt blk03565.txt blk03566.txt blk03567.txt blk03568.txt blk03569.txt blk03570.txt blk03571.txt blk03572.txt blk03573.txt blk03574.txt blk03575.txt blk03576.txt blk03577.txt blk03578.txt blk03579.txt blk03580.txt blk03581.txt blk03582.txt blk03583.txt blk03584.txt blk03585.txt blk03586.txt blk03587.txt blk03588.txt blk03589.txt blk03590.txt blk03591.txt blk03592.txt blk03593.txt blk03594.txt blk03595.txt blk03596.txt blk03597.txt blk03598.txt blk03599.txt blk03600.txt blk03601.txt blk03602.txt blk03603.txt blk03604.txt blk03605.txt blk03606.txt blk03607.txt blk03608.txt blk03609.txt blk03610.txt blk03611.txt blk03612.txt blk03613.txt blk03614.txt blk03615.txt blk03616.txt blk03617.txt blk03618.txt blk03619.txt blk03620.txt blk03621.txt blk03622.txt blk03623.txt blk03624.txt blk03625.txt blk03626.txt blk03627.txt blk03628.txt blk03629.txt blk03630.txt blk03631.txt blk03632.txt blk03633.txt blk03634.txt blk03635.txt blk03636.txt blk03637.txt blk03638.txt blk03639.txt blk03640.txt blk03641.txt blk03642.txt blk03643.txt blk03644.txt blk03645.txt blk03646.txt blk03647.txt blk03648.txt blk03649.txt blk03650.txt blk03651.txt blk03652.txt blk03653.txt blk03654.txt blk03655.txt blk03656.txt blk03657.txt blk03658.txt blk03659.txt blk03660.txt blk03661.txt blk03662.txt blk03663.txt blk03664.txt blk03665.txt blk03666.txt blk03667.txt blk03668.txt blk03669.txt blk03670.txt blk03671.txt blk03672.txt blk03673.txt blk03674.txt blk03675.txt blk03676.txt blk03677.txt blk03678.txt blk03679.txt blk03680.txt blk03681.txt blk03682.txt blk03683.txt blk03684.txt blk03685.txt blk03686.txt blk03687.txt blk03688.txt blk03689.txt blk03690.txt blk03691.txt blk03692.txt blk03693.txt blk03694.txt blk03695.txt blk03696.txt blk03697.txt blk03698.txt blk03699.txt blk03700.txt blk03701.txt blk03702.txt blk03703.txt blk03704.txt blk03705.txt blk03706.txt blk03707.txt blk03708.txt blk03709.txt blk03710.txt blk03711.txt blk03712.txt blk03713.txt blk03714.txt blk03715.txt blk03716.txt blk03717.txt blk03718.txt blk03719.txt blk03720.txt blk03721.txt blk03722.txt blk03723.txt blk03724.txt blk03725.txt blk03726.txt blk03727.txt blk03728.txt blk03729.txt blk03730.txt blk03731.txt blk03732.txt blk03733.txt blk03734.txt blk03735.txt blk03736.txt blk03737.txt blk03738.txt blk03739.txt blk03740.txt blk03741.txt blk03742.txt blk03743.txt blk03744.txt blk03745.txt blk03746.txt blk03747.txt blk03748.txt blk03749.txt blk03750.txt blk03751.txt blk03752.txt blk03753.txt blk03754.txt blk03755.txt blk03756.txt blk03757.txt blk03758.txt blk03759.txt blk03760.txt blk03761.txt blk03762.txt blk03763.txt blk03764.txt blk03765.txt blk03766.txt blk03767.txt blk03768.txt blk03769.txt blk03770.txt blk03771.txt blk03772.txt blk03773.txt blk03774.txt blk03775.txt blk03776.txt blk03777.txt blk03778.txt blk03779.txt blk03780.txt blk03781.txt blk03782.txt blk03783.txt blk03784.txt blk03785.txt blk03786.txt blk03787.txt blk03788.txt blk03789.txt blk03790.txt blk03791.txt blk03792.txt blk03793.txt blk03794.txt blk03795.txt blk03796.txt blk03797.txt blk03798.txt blk03799.txt blk03800.txt blk03801.txt blk03802.txt blk03803.txt blk03804.txt blk03805.txt blk03806.txt blk03807.txt blk03808.txt blk03809.txt blk03810.txt blk03811.txt blk03812.txt blk03813.txt blk03814.txt blk03815.txt blk03816.txt blk03817.txt blk03818.txt blk03819.txt blk03820.txt blk03821.txt blk03822.txt blk03823.txt blk03824.txt blk03825.txt blk03826.txt blk03827.txt blk03828.txt blk03829.txt blk03830.txt blk03831.txt blk03832.txt blk03833.txt blk03834.txt blk03835.txt blk03836.txt blk03837.txt blk03838.txt blk03839.txt blk03840.txt blk03841.txt blk03842.txt blk03843.txt blk03844.txt blk03845.txt blk03846.txt blk03847.txt blk03848.txt blk03849.txt blk03850.txt blk03851.txt blk03852.txt blk03853.txt blk03854.txt blk03855.txt blk03856.txt blk03857.txt blk03858.txt blk03859.txt blk03860.txt blk03861.txt blk03862.txt blk03863.txt blk03864.txt blk03865.txt blk03866.txt blk03867.txt blk03868.txt blk03869.txt blk03870.txt blk03871.txt blk03872.txt blk03873.txt blk03874.txt blk03875.txt blk03876.txt blk03877.txt blk03878.txt blk03879.txt blk03880.txt blk03881.txt blk03882.txt blk03883.txt blk03884.txt blk03885.txt blk03886.txt blk03887.txt blk03888.txt blk03889.txt blk03890.txt blk03891.txt blk03892.txt blk03893.txt blk03894.txt blk03895.txt blk03896.txt blk03897.txt blk03898.txt blk03899.txt blk03900.txt blk03901.txt blk03902.txt blk03903.txt blk03904.txt blk03905.txt blk03906.txt blk03907.txt blk03908.txt blk03909.txt blk03910.txt blk03911.txt blk03912.txt blk03913.txt blk03914.txt blk03915.txt blk03916.txt blk03917.txt blk03918.txt blk03919.txt blk03920.txt blk03921.txt blk03922.txt blk03923.txt blk03924.txt blk03925.txt blk03926.txt blk03927.txt blk03928.txt blk03929.txt blk03930.txt blk03931.txt blk03932.txt blk03933.txt blk03934.txt blk03935.txt blk03936.txt blk03937.txt blk03938.txt blk03939.txt blk03940.txt blk03941.txt blk03942.txt blk03943.txt blk03944.txt blk03945.txt blk03946.txt blk03947.txt blk03948.txt blk03949.txt blk03950.txt blk03951.txt blk03952.txt blk03953.txt blk03954.txt blk03955.txt blk03956.txt blk03957.txt blk03958.txt blk03959.txt blk03960.txt blk03961.txt blk03962.txt blk03963.txt blk03964.txt blk03965.txt blk03966.txt blk03967.txt blk03968.txt blk03969.txt blk03970.txt blk03971.txt blk03972.txt blk03973.txt blk03974.txt blk03975.txt blk03976.txt blk03977.txt blk03978.txt blk03979.txt blk03980.txt blk03981.txt blk03982.txt blk03983.txt blk03984.txt blk03985.txt blk03986.txt blk03987.txt blk03988.txt blk03989.txt blk03990.txt blk03991.txt blk03992.txt blk03993.txt blk03994.txt blk03995.txt blk03996.txt blk03997.txt blk03998.txt blk03999.txt blk04000.txt blk04001.txt blk04002.txt blk04003.txt blk04004.txt blk04005.txt blk04006.txt blk04007.txt blk04008.txt blk04009.txt blk04010.txt blk04011.txt blk04012.txt blk04013.txt blk04014.txt blk04015.txt blk04016.txt blk04017.txt blk04018.txt blk04019.txt blk04020.txt blk04021.txt blk04022.txt blk04023.txt blk04024.txt blk04025.txt blk04026.txt blk04027.txt blk04028.txt blk04029.txt blk04030.txt blk04031.txt blk04032.txt blk04033.txt blk04034.txt blk04035.txt blk04036.txt blk04037.txt blk04038.txt blk04039.txt blk04040.txt blk04041.txt blk04042.txt blk04043.txt blk04044.txt blk04045.txt blk04046.txt blk04047.txt blk04048.txt blk04049.txt blk04050.txt blk04051.txt blk04052.txt blk04053.txt blk04054.txt blk04055.txt blk04056.txt blk04057.txt blk04058.txt blk04059.txt blk04060.txt blk04061.txt blk04062.txt blk04063.txt blk04064.txt blk04065.txt blk04066.txt blk04067.txt blk04068.txt blk04069.txt blk04070.txt blk04071.txt blk04072.txt blk04073.txt blk04074.txt blk04075.txt blk04076.txt blk04077.txt blk04078.txt blk04079.txt blk04080.txt blk04081.txt blk04082.txt blk04083.txt blk04084.txt blk04085.txt blk04086.txt blk04087.txt blk04088.txt blk04089.txt blk04090.txt blk04091.txt blk04092.txt blk04093.txt blk04094.txt blk04095.txt blk04096.txt blk04097.txt blk04098.txt blk04099.txt blk04100.txt blk04101.txt blk04102.txt blk04103.txt blk04104.txt blk04105.txt blk04106.txt blk04107.txt blk04108.txt blk04109.txt blk04110.txt blk04111.txt blk04112.txt blk04113.txt blk04114.txt blk04115.txt blk04116.txt blk04117.txt blk04118.txt blk04119.txt blk04120.txt blk04121.txt blk04122.txt blk04123.txt blk04124.txt blk04125.txt blk04126.txt blk04127.txt blk04128.txt blk04129.txt blk04130.txt blk04131.txt blk04132.txt blk04133.txt blk04134.txt blk04135.txt blk04136.txt blk04137.txt blk04138.txt blk04139.txt blk04140.txt blk04141.txt blk04142.txt blk04143.txt blk04144.txt blk04145.txt blk04146.txt blk04147.txt blk04148.txt blk04149.txt blk04150.txt blk04151.txt blk04152.txt blk04153.txt blk04154.txt blk04155.txt blk04156.txt blk04157.txt blk04158.txt blk04159.txt blk04160.txt blk04161.txt blk04162.txt blk04163.txt blk04164.txt blk04165.txt blk04166.txt blk04167.txt blk04168.txt blk04169.txt blk04170.txt blk04171.txt blk04172.txt blk04173.txt blk04174.txt blk04175.txt blk04176.txt blk04177.txt blk04178.txt blk04179.txt blk04180.txt blk04181.txt blk04182.txt blk04183.txt blk04184.txt blk04185.txt blk04186.txt blk04187.txt blk04188.txt blk04189.txt blk04190.txt blk04191.txt blk04192.txt blk04193.txt blk04194.txt blk04195.txt blk04196.txt blk04197.txt blk04198.txt blk04199.txt blk04200.txt blk04201.txt blk04202.txt blk04203.txt blk04204.txt blk04205.txt blk04206.txt blk04207.txt blk04208.txt blk04209.txt blk04210.txt blk04211.txt blk04212.txt blk04213.txt blk04214.txt blk04215.txt blk04216.txt blk04217.txt blk04218.txt blk04219.txt blk04220.txt blk04221.txt blk04222.txt blk04223.txt blk04224.txt blk04225.txt blk04226.txt blk04227.txt blk04228.txt blk04229.txt blk04230.txt blk04231.txt blk04232.txt blk04233.txt blk04234.txt blk04235.txt blk04236.txt blk04237.txt blk04238.txt blk04239.txt blk04240.txt blk04241.txt blk04242.txt blk04243.txt blk04244.txt blk04245.txt blk04246.txt blk04247.txt blk04248.txt blk04249.txt blk04250.txt blk04251.txt blk04252.txt blk04253.txt blk04254.txt blk04255.txt blk04256.txt blk04257.txt blk04258.txt blk04259.txt blk04260.txt blk04261.txt blk04262.txt blk04263.txt blk04264.txt blk04265.txt blk04266.txt blk04267.txt blk04268.txt blk04269.txt blk04270.txt blk04271.txt blk04272.txt blk04273.txt blk04274.txt blk04275.txt blk04276.txt blk04277.txt blk04278.txt blk04279.txt blk04280.txt blk04281.txt blk04282.txt blk04283.txt blk04284.txt blk04285.txt blk04286.txt blk04287.txt blk04288.txt blk04289.txt blk04290.txt blk04291.txt blk04292.txt blk04293.txt blk04294.txt blk04295.txt blk04296.txt blk04297.txt blk04298.txt blk04299.txt blk04300.txt blk04301.txt blk04302.txt blk04303.txt blk04304.txt blk04305.txt blk04306.txt blk04307.txt blk04308.txt blk04309.txt blk04310.txt blk04311.txt blk04312.txt blk04313.txt blk04314.txt blk04315.txt blk04316.txt blk04317.txt blk04318.txt blk04319.txt blk04320.txt blk04321.txt blk04322.txt blk04323.txt blk04324.txt blk04325.txt blk04326.txt blk04327.txt blk04328.txt blk04329.txt blk04330.txt blk04331.txt blk04332.txt blk04333.txt blk04334.txt blk04335.txt blk04336.txt blk04337.txt blk04338.txt blk04339.txt blk04340.txt blk04341.txt blk04342.txt blk04343.txt blk04344.txt blk04345.txt blk04346.txt blk04347.txt blk04348.txt blk04349.txt blk04350.txt blk04351.txt blk04352.txt blk04353.txt blk04354.txt blk04355.txt blk04356.txt blk04357.txt blk04358.txt blk04359.txt blk04360.txt blk04361.txt blk04362.txt blk04363.txt blk04364.txt blk04365.txt blk04366.txt blk04367.txt blk04368.txt blk04369.txt blk04370.txt blk04371.txt blk04372.txt blk04373.txt blk04374.txt blk04375.txt blk04376.txt blk04377.txt blk04378.txt blk04379.txt blk04380.txt blk04381.txt blk04382.txt blk04383.txt blk04384.txt blk04385.txt blk04386.txt blk04387.txt blk04388.txt blk04389.txt blk04390.txt blk04391.txt blk04392.txt blk04393.txt blk04394.txt blk04395.txt blk04396.txt blk04397.txt blk04398.txt blk04399.txt blk04400.txt blk04401.txt blk04402.txt blk04403.txt blk04404.txt blk04405.txt blk04406.txt blk04407.txt blk04408.txt blk04409.txt blk04410.txt blk04411.txt blk04412.txt blk04413.txt blk04414.txt blk04415.txt blk04416.txt blk04417.txt blk04418.txt blk04419.txt blk04420.txt blk04421.txt blk04422.txt blk04423.txt blk04424.txt blk04425.txt blk04426.txt blk04427.txt blk04428.txt blk04429.txt blk04430.txt blk04431.txt blk04432.txt blk04433.txt blk04434.txt blk04435.txt blk04436.txt blk04437.txt blk04438.txt blk04439.txt blk04440.txt blk04441.txt blk04442.txt blk04443.txt blk04444.txt blk04445.txt blk04446.txt blk04447.txt blk04448.txt blk04449.txt blk04450.txt blk04451.txt blk04452.txt blk04453.txt blk04454.txt blk04455.txt blk04456.txt blk04457.txt blk04458.txt blk04459.txt blk04460.txt blk04461.txt blk04462.txt blk04463.txt blk04464.txt blk04465.txt blk04466.txt blk04467.txt blk04468.txt blk04469.txt blk04470.txt blk04471.txt blk04472.txt blk04473.txt blk04474.txt blk04475.txt blk04476.txt blk04477.txt blk04478.txt blk04479.txt blk04480.txt blk04481.txt blk04482.txt blk04483.txt blk04484.txt blk04485.txt blk04486.txt blk04487.txt blk04488.txt blk04489.txt blk04490.txt blk04491.txt blk04492.txt blk04493.txt blk04494.txt blk04495.txt blk04496.txt blk04497.txt blk04498.txt blk04499.txt blk04500.txt blk04501.txt blk04502.txt blk04503.txt blk04504.txt blk04505.txt blk04506.txt blk04507.txt blk04508.txt blk04509.txt blk04510.txt blk04511.txt blk04512.txt blk04513.txt blk04514.txt blk04515.txt blk04516.txt blk04517.txt blk04518.txt blk04519.txt blk04520.txt blk04521.txt blk04522.txt blk04523.txt blk04524.txt blk04525.txt blk04526.txt blk04527.txt blk04528.txt blk04529.txt blk04530.txt blk04531.txt blk04532.txt blk04533.txt blk04534.txt blk04535.txt blk04536.txt blk04537.txt blk04538.txt blk04539.txt blk04540.txt blk04541.txt blk04542.txt blk04543.txt blk04544.txt blk04545.txt blk04546.txt blk04547.txt blk04548.txt blk04549.txt blk04550.txt blk04551.txt blk04552.txt blk04553.txt blk04554.txt blk04555.txt blk04556.txt blk04557.txt blk04558.txt blk04559.txt blk04560.txt blk04561.txt blk04562.txt blk04563.txt blk04564.txt blk04565.txt blk04566.txt blk04567.txt blk04568.txt blk04569.txt blk04570.txt blk04571.txt blk04572.txt blk04573.txt blk04574.txt blk04575.txt blk04576.txt blk04577.txt blk04578.txt blk04579.txt blk04580.txt blk04581.txt blk04582.txt blk04583.txt blk04584.txt blk04585.txt blk04586.txt blk04587.txt blk04588.txt blk04589.txt blk04590.txt blk04591.txt blk04592.txt blk04593.txt blk04594.txt blk04595.txt blk04596.txt blk04597.txt blk04598.txt blk04599.txt blk04600.txt blk04601.txt blk04602.txt blk04603.txt blk04604.txt blk04605.txt blk04606.txt blk04607.txt blk04608.txt blk04609.txt blk04610.txt blk04611.txt blk04612.txt blk04613.txt blk04614.txt blk04615.txt blk04616.txt blk04617.txt blk04618.txt blk04619.txt blk04620.txt blk04621.txt blk04622.txt blk04623.txt blk04624.txt blk04625.txt blk04626.txt blk04627.txt blk04628.txt blk04629.txt blk04630.txt blk04631.txt blk04632.txt blk04633.txt blk04634.txt blk04635.txt blk04636.txt blk04637.txt blk04638.txt blk04639.txt blk04640.txt blk04641.txt blk04642.txt blk04643.txt blk04644.txt blk04645.txt blk04646.txt blk04647.txt blk04648.txt blk04649.txt blk04650.txt blk04651.txt blk04652.txt blk04653.txt blk04654.txt blk04655.txt blk04656.txt blk04657.txt blk04658.txt blk04659.txt blk04660.txt blk04661.txt blk04662.txt blk04663.txt blk04664.txt blk04665.txt blk04666.txt blk04667.txt blk04668.txt blk04669.txt blk04670.txt blk04671.txt blk04672.txt blk04673.txt blk04674.txt blk04675.txt blk04676.txt blk04677.txt blk04678.txt blk04679.txt blk04680.txt blk04681.txt blk04682.txt blk04683.txt blk04684.txt blk04685.txt blk04686.txt blk04687.txt blk04688.txt blk04689.txt blk04690.txt blk04691.txt blk04692.txt blk04693.txt blk04694.txt blk04695.txt blk04696.txt blk04697.txt blk04698.txt blk04699.txt blk04700.txt blk04701.txt blk04702.txt blk04703.txt blk04704.txt blk04705.txt blk04706.txt blk04707.txt blk04708.txt blk04709.txt blk04710.txt blk04711.txt blk04712.txt blk04713.txt blk04714.txt blk04715.txt blk04716.txt blk04717.txt blk04718.txt blk04719.txt blk04720.txt blk04721.txt blk04722.txt blk04723.txt blk04724.txt blk04725.txt blk04726.txt blk04727.txt blk04728.txt blk04729.txt blk04730.txt blk04731.txt blk04732.txt blk04733.txt blk04734.txt blk04735.txt blk04736.txt blk04737.txt blk04738.txt blk04739.txt blk04740.txt blk04741.txt blk04742.txt blk04743.txt blk04744.txt blk04745.txt blk04746.txt blk04747.txt blk04748.txt blk04749.txt blk04750.txt blk04751.txt blk04752.txt blk04753.txt blk04754.txt blk04755.txt blk04756.txt blk04757.txt blk04758.txt blk04759.txt blk04760.txt blk04761.txt blk04762.txt blk04763.txt blk04764.txt blk04765.txt blk04766.txt blk04767.txt blk04768.txt blk04769.txt blk04770.txt blk04771.txt blk04772.txt blk04773.txt blk04774.txt blk04775.txt blk04776.txt blk04777.txt blk04778.txt blk04779.txt blk04780.txt blk04781.txt blk04782.txt blk04783.txt blk04784.txt blk04785.txt blk04786.txt blk04787.txt blk04788.txt blk04789.txt blk04790.txt blk04791.txt blk04792.txt blk04793.txt blk04794.txt blk04795.txt blk04796.txt blk04797.txt blk04798.txt blk04799.txt blk04800.txt blk04801.txt blk04802.txt blk04803.txt blk04804.txt blk04805.txt blk04806.txt blk04807.txt blk04808.txt blk04809.txt blk04810.txt blk04811.txt blk04812.txt blk04813.txt blk04814.txt blk04815.txt blk04816.txt blk04817.txt blk04818.txt blk04819.txt blk04820.txt blk04821.txt blk04822.txt blk04823.txt blk04824.txt blk04825.txt blk04826.txt blk04827.txt blk04828.txt blk04829.txt blk04830.txt blk04831.txt blk04832.txt blk04833.txt blk04834.txt blk04835.txt blk04836.txt blk04837.txt blk04838.txt blk04839.txt blk04840.txt blk04841.txt blk04842.txt blk04843.txt blk04844.txt blk04845.txt blk04846.txt blk04847.txt blk04848.txt blk04849.txt blk04850.txt blk04851.txt blk04852.txt blk04853.txt blk04854.txt blk04855.txt blk04856.txt blk04857.txt blk04858.txt blk04859.txt blk04860.txt blk04861.txt blk04862.txt blk04863.txt blk04864.txt blk04865.txt blk04866.txt blk04867.txt blk04868.txt blk04869.txt blk04870.txt blk04871.txt blk04872.txt blk04873.txt blk04874.txt blk04875.txt blk04876.txt blk04877.txt blk04878.txt blk04879.txt blk04880.txt blk04881.txt blk04882.txt blk04883.txt blk04884.txt blk04885.txt blk04886.txt blk04887.txt blk04888.txt blk04889.txt blk04890.txt blk04891.txt blk04892.txt blk04893.txt blk04894.txt blk04895.txt blk04896.txt blk04897.txt blk04898.txt blk04899.txt blk04900.txt blk04901.txt blk04902.txt blk04903.txt blk04904.txt blk04905.txt blk04906.txt blk04907.txt blk04908.txt blk04909.txt blk04910.txt blk04911.txt blk04912.txt blk04913.txt blk04914.txt blk04915.txt blk04916.txt blk04917.txt blk04918.txt blk04919.txt blk04920.txt blk04921.txt blk04922.txt blk04923.txt blk04924.txt blk04925.txt blk04926.txt blk04927.txt blk04928.txt blk04929.txt blk04930.txt blk04931.txt blk04932.txt blk04933.txt blk04934.txt blk04935.txt blk04936.txt blk04937.txt blk04938.txt blk04939.txt blk04940.txt blk04941.txt blk04942.txt blk04943.txt blk04944.txt blk04945.txt blk04946.txt blk04947.txt blk04948.txt blk04949.txt blk04950.txt blk04951.txt blk04952.txt blk04953.txt blk04954.txt blk04955.txt blk04956.txt blk04957.txt blk04958.txt blk04959.txt blk04960.txt blk04961.txt blk04962.txt blk04963.txt blk04964.txt blk04965.txt blk04966.txt blk04967.txt blk04968.txt blk04969.txt blk04970.txt blk04971.txt blk04972.txt blk04973.txt blk04974.txt blk04975.txt blk04976.txt blk04977.txt blk04978.txt blk04979.txt blk04980.txt blk04981.txt blk04982.txt blk04983.txt blk04984.txt blk04985.txt blk04986.txt blk04987.txt blk04988.txt blk04989.txt blk04990.txt blk04991.txt blk04992.txt blk04993.txt blk04994.txt blk04995.txt blk04996.txt blk04997.txt blk04998.txt blk04999.txt blk05000.txt blk05001.txt blk05002.txt blk05003.txt blk05004.txt blk05005.txt blk05006.txt blk05007.txt blk05008.txt blk05009.txt blk05010.txt blk05011.txt blk05012.txt blk05013.txt blk05014.txt blk05015.txt blk05016.txt blk05017.txt blk05018.txt blk05019.txt blk05020.txt blk05021.txt blk05022.txt blk05023.txt blk05024.txt blk05025.txt blk05026.txt blk05027.txt blk05028.txt blk05029.txt blk05030.txt blk05031.txt blk05032.txt blk05033.txt blk05034.txt blk05035.txt blk05036.txt blk05037.txt blk05038.txt blk05039.txt blk05040.txt blk05041.txt blk05042.txt blk05043.txt blk05044.txt blk05045.txt blk05046.txt blk05047.txt blk05048.txt blk05049.txt blk05050.txt blk05051.txt blk05052.txt blk05053.txt blk05054.txt blk05055.txt blk05056.txt blk05057.txt blk05058.txt blk05059.txt blk05060.txt blk05061.txt blk05062.txt blk05063.txt blk05064.txt blk05065.txt blk05066.txt blk05067.txt blk05068.txt blk05069.txt blk05070.txt blk05071.txt blk05072.txt blk05073.txt blk05074.txt blk05075.txt blk05076.txt blk05077.txt blk05078.txt blk05079.txt blk05080.txt blk05081.txt blk05082.txt blk05083.txt blk05084.txt blk05085.txt blk05086.txt blk05087.txt blk05088.txt blk05089.txt blk05090.txt blk05091.txt blk05092.txt blk05093.txt blk05094.txt blk05095.txt blk05096.txt blk05097.txt blk05098.txt blk05099.txt blk05100.txt blk05101.txt blk05102.txt blk05103.txt blk05104.txt blk05105.txt blk05106.txt blk05107.txt blk05108.txt blk05109.txt blk05110.txt blk05111.txt blk05112.txt blk05113.txt blk05114.txt blk05115.txt blk05116.txt blk05117.txt blk05118.txt blk05119.txt blk05120.txt blk05121.txt blk05122.txt blk05123.txt blk05124.txt blk05125.txt blk05126.txt blk05127.txt blk05128.txt blk05129.txt blk05130.txt blk05131.txt blk05132.txt blk05133.txt blk05134.txt blk05135.txt blk05136.txt blk05137.txt blk05138.txt blk05139.txt blk05140.txt blk05141.txt blk05142.txt blk05143.txt blk05144.txt blk05145.txt blk05146.txt blk05147.txt blk05148.txt blk05149.txt blk05150.txt blk05151.txt blk05152.txt blk05153.txt blk05154.txt blk05155.txt blk05156.txt blk05157.txt blk05158.txt blk05159.txt blk05160.txt blk05161.txt blk05162.txt blk05163.txt blk05164.txt blk05165.txt blk05166.txt blk05167.txt blk05168.txt blk05169.txt blk05170.txt blk05171.txt blk05172.txt blk05173.txt blk05174.txt blk05175.txt blk05176.txt blk05177.txt blk05178.txt blk05179.txt blk05180.txt blk05181.txt blk05182.txt blk05183.txt blk05184.txt blk05185.txt blk05186.txt blk05187.txt blk05188.txt blk05189.txt blk05190.txt blk05191.txt blk05192.txt blk05193.txt blk05194.txt blk05195.txt blk05196.txt blk05197.txt blk05198.txt blk05199.txt blk05200.txt blk05201.txt blk05202.txt blk05203.txt blk05204.txt blk05205.txt blk05206.txt blk05207.txt blk05208.txt blk05209.txt blk05210.txt blk05211.txt blk05212.txt blk05213.txt blk05214.txt blk05215.txt blk05216.txt blk05217.txt blk05218.txt blk05219.txt blk05220.txt blk05221.txt blk05222.txt blk05223.txt blk05224.txt blk05225.txt blk05226.txt blk05227.txt blk05228.txt blk05229.txt blk05230.txt blk05231.txt blk05232.txt blk05233.txt blk05234.txt blk05235.txt blk05236.txt blk05237.txt blk05238.txt blk05239.txt blk05240.txt blk05241.txt blk05242.txt blk05243.txt blk05244.txt blk05245.txt blk05246.txt blk05247.txt blk05248.txt blk05249.txt blk05250.txt blk05251.txt blk05252.txt blk05253.txt blk05254.txt blk05255.txt blk05256.txt blk05257.txt blk05258.txt blk05259.txt blk05260.txt blk05261.txt blk05262.txt blk05263.txt blk05264.txt blk05265.txt blk05266.txt blk05267.txt blk05268.txt blk05269.txt blk05270.txt blk05271.txt blk05272.txt blk05273.txt blk05274.txt blk05275.txt blk05276.txt blk05277.txt blk05278.txt blk05279.txt blk05280.txt blk05281.txt blk05282.txt blk05283.txt blk05284.txt blk05285.txt blk05286.txt blk05287.txt blk05288.txt blk05289.txt blk05290.txt blk05291.txt Show all files
Advertisement: