Movatterモバイル変換


[0]ホーム

URL:


Skip to content
Search Gists
Sign in Sign up

Instantly share code, notes, and snippets.

@d7samurai
Last activeDecember 13, 2025 22:52
    • Star(52)You must be signed in to star a gist
    • Fork(1)You must be signed in to fork a gist

    Select an option

    Save d7samurai/e51adec8a440126d028b87406556079b to your computer and use it in GitHub Desktop.
    Minimal D3D11 sprite renderer NEO

    sponsored by SuperNeo copy 4

    Minimal D3D11 sprite renderer NEO

    Ultra-compact sprite rendering code with example frame animation logic. This release contains tech bits from the upcoming SuperNeo™ 2D game engine and includes anchor/pivot point, rotation, color filtering, alpha blending and built-in antialiased point sampling. As usual: complete, runnable single-function app. ~150 LOC. No modern C++, OOP or (other) obscuring cruft.

    Minimal D3D11 sprite renderer NEO 1337

    Sprites are rendered back-to-front (AKA "painter's algorithm") in the order they are submitted, as one draw call. The provided setup employs a single texture atlas containing all the sprite graphics.

    The renderer is "immediate mode" in the sense that a fresh batch of sprite data (an array ofspritedesc entries specifying what textures to use, their position, scale, rotation etc) is uploaded every frame. The texture data itself is retained on the GPU.

    ARGB filtering & alpha blending:

    color tintingalpha blending

    Custom antialiased point sampling that works for smooth sub-pixel movement, non-integer scaling and arbitrary rotation:

    spacer281move double

    spacer281scale double

    spacer281rotate double

    Sprite textures must be separated by at least a 1-pixel wide, fully transparent gap (0x00000000, but indicated in green here):

    spacer212sprite_sheet_padding

    Anchor/pivot point:(0.0, 0.0) is top-left,(1.0, 1.0) is bottom-right, but can be set to anywhereinside or outside sprite:

    spacer354anchor topleftanchor bottomright

    The sprite'sposition corresponds to the position of the anchor point on screen, with the sprite texture aligned accordingly. Similarly,rotation andscale (including horizontal and vertical mirroring) are done around the anchor (pivot) point.

    Theantialiasing technique used in this renderer requires premultiplied alpha textures.TexPrep is a small (~17 KB) commandline tool that can read most image formats, convert to premultiplied alpha and output as PNG, BMP, BIN orTXT.

    Also seeMinimal D3D11 sprite renderer and the originalMinimal D3D11 reference for adjacent / elaborated example code.

    Sprite sheet uses characters fromTiny Heroes @ CraftPix.net.

    Follow onTwitter for future announcements. Soon™:

    sponsored by SuperNeo copy 4

    #pragma comment(lib, "user32")
    #pragma comment(lib, "d3d11")
    #pragma comment(lib, "d3dcompiler")
    ///////////////////////////////////////////////////////////////////////////////////////////////////
    #include<windows.h>
    #include<d3d11.h>
    #include<d3dcompiler.h>
    #include"spritesheet.h"
    ///////////////////////////////////////////////////////////////////////////////////////////////////
    #defineTITLE"Minimal D3D11 sprite renderer NEO by d7samurai"
    ///////////////////////////////////////////////////////////////////////////////////////////////////
    int WINAPIWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nShowCmd)
    {
    WNDCLASSA wndclass = {0, DefWindowProcA,0,0,0,0,0,0,0, TITLE };
    RegisterClassA(&wndclass);
    HWND window =CreateWindowExA(0, TITLE, TITLE, WS_POPUP | WS_MAXIMIZE | WS_VISIBLE,0,0,0,0,nullptr,nullptr,nullptr,nullptr);
    ///////////////////////////////////////////////////////////////////////////////////////////////
    D3D_FEATURE_LEVEL featurelevels[] = { D3D_FEATURE_LEVEL_11_0 };
    DXGI_SWAP_CHAIN_DESC swapchaindesc = {};
    swapchaindesc.BufferDesc.Format = DXGI_FORMAT_B8G8R8A8_UNORM;
    swapchaindesc.SampleDesc.Count =1;
    swapchaindesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
    swapchaindesc.BufferCount =2;
    swapchaindesc.OutputWindow = window;
    swapchaindesc.Windowed =TRUE;
    swapchaindesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD;
    IDXGISwapChain* swapchain;
    ID3D11Device* device;
    ID3D11DeviceContext* devicecontext;
    D3D11CreateDeviceAndSwapChain(nullptr, D3D_DRIVER_TYPE_HARDWARE,nullptr, D3D11_CREATE_DEVICE_BGRA_SUPPORT, featurelevels,ARRAYSIZE(featurelevels), D3D11_SDK_VERSION, &swapchaindesc, &swapchain, &device,nullptr, &devicecontext);
    swapchain->GetDesc(&swapchaindesc);
    ///////////////////////////////////////////////////////////////////////////////////////////////
    ID3D11Texture2D* framebuffer;
    swapchain->GetBuffer(0,__uuidof(ID3D11Texture2D), (void**)&framebuffer);
    D3D11_RENDER_TARGET_VIEW_DESC framebufferRTVdesc = {};// needed for SRGB framebuffer when using FLIP model swap effect (line 39)
    framebufferRTVdesc.Format = DXGI_FORMAT_B8G8R8A8_UNORM_SRGB;
    framebufferRTVdesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D;
    ID3D11RenderTargetView* framebufferRTV;
    device->CreateRenderTargetView(framebuffer, &framebufferRTVdesc, &framebufferRTV);
    ///////////////////////////////////////////////////////////////////////////////////////////////
    float constants[4] = {2.0f / swapchaindesc.BufferDesc.Width, -2.0f / swapchaindesc.BufferDesc.Height,1.0f / SPRITESHEET_WIDTH,1.0f / SPRITESHEET_HEIGHT };
    D3D11_BUFFER_DESC constantbufferdesc = {};
    constantbufferdesc.ByteWidth =sizeof(constants) +0xf &0xfffffff0;
    constantbufferdesc.Usage = D3D11_USAGE_IMMUTABLE;
    constantbufferdesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
    D3D11_SUBRESOURCE_DATA constantbufferSRD = { constants };
    ID3D11Buffer* constantbuffer;
    device->CreateBuffer(&constantbufferdesc, &constantbufferSRD, &constantbuffer);
    ///////////////////////////////////////////////////////////////////////////////////////////////
    D3D11_RASTERIZER_DESC rasterizerdesc = { D3D11_FILL_SOLID, D3D11_CULL_NONE };// allow horizontal/vertical mirroring of sprite using negative scaling values
    ID3D11RasterizerState* rasterizerstate;
    device->CreateRasterizerState(&rasterizerdesc, &rasterizerstate);
    ///////////////////////////////////////////////////////////////////////////////////////////////
    D3D11_SAMPLER_DESC samplerdesc = { D3D11_FILTER_MIN_MAG_MIP_LINEAR, D3D11_TEXTURE_ADDRESS_BORDER, D3D11_TEXTURE_ADDRESS_BORDER, D3D11_TEXTURE_ADDRESS_BORDER };
    ID3D11SamplerState* samplerstate;
    device->CreateSamplerState(&samplerdesc, &samplerstate);
    ///////////////////////////////////////////////////////////////////////////////////////////////
    D3D11_BLEND_DESC blenddesc = {FALSE,FALSE, {TRUE, D3D11_BLEND_ONE, D3D11_BLEND_INV_SRC_ALPHA, D3D11_BLEND_OP_ADD, D3D11_BLEND_ZERO, D3D11_BLEND_ZERO, D3D11_BLEND_OP_ADD, D3D11_COLOR_WRITE_ENABLE_ALL } };
    ID3D11BlendState* blendstate;
    device->CreateBlendState(&blenddesc, &blendstate);
    ///////////////////////////////////////////////////////////////////////////////////////////////
    ID3DBlob* vertexshaderCSO;
    D3DCompileFromFile(L"gpu.hlsl",0,0,"vs","vs_5_0",0,0, &vertexshaderCSO,0);
    ID3D11VertexShader* vertexshader;
    device->CreateVertexShader(vertexshaderCSO->GetBufferPointer(), vertexshaderCSO->GetBufferSize(),0, &vertexshader);
    ///////////////////////////////////////////////////////////////////////////////////////////////
    ID3DBlob* pixelshaderCSO;
    D3DCompileFromFile(L"gpu.hlsl",0,0,"ps","ps_5_0",0,0, &pixelshaderCSO,0);
    ID3D11PixelShader* pixelshader;
    device->CreatePixelShader(pixelshaderCSO->GetBufferPointer(), pixelshaderCSO->GetBufferSize(),0, &pixelshader);
    ///////////////////////////////////////////////////////////////////////////////////////////////
    FLOAT clearcolor[4] = {0.1337f,0.1337f,0.1337f,1.0f };// RGBA
    D3D11_VIEWPORT viewport = {0,0, (float)swapchaindesc.BufferDesc.Width, (float)swapchaindesc.BufferDesc.Height,0,1 };
    ///////////////////////////////////////////////////////////////////////////////////////////////
    D3D11_TEXTURE2D_DESC spritesheetdesc = {};
    spritesheetdesc.Width = SPRITESHEET_WIDTH;
    spritesheetdesc.Height = SPRITESHEET_HEIGHT;
    spritesheetdesc.MipLevels =1;
    spritesheetdesc.ArraySize =1;
    spritesheetdesc.Format = DXGI_FORMAT_B8G8R8A8_UNORM_SRGB;
    spritesheetdesc.SampleDesc.Count =1;
    spritesheetdesc.Usage = D3D11_USAGE_IMMUTABLE;
    spritesheetdesc.BindFlags = D3D11_BIND_SHADER_RESOURCE;
    D3D11_SUBRESOURCE_DATA spritesheetSRD = {};
    spritesheetSRD.pSysMem = spritesheetdata;
    spritesheetSRD.SysMemPitch = SPRITESHEET_WIDTH *sizeof(UINT);
    ID3D11Texture2D* spritesheet;
    device->CreateTexture2D(&spritesheetdesc, &spritesheetSRD, &spritesheet);
    ID3D11ShaderResourceView* spritesheetSRV;
    device->CreateShaderResourceView(spritesheet,nullptr, &spritesheetSRV);
    ///////////////////////////////////////////////////////////////////////////////////////////////
    #defineMAX_SPRITES65536// arbitrary limit
    structfloat2 {float x, y; };
    structspritedesc { float2 location, size, anchor, position, scale;float rotation;int color; };
    ///////////////////////////////////////////////////////////////////////////////////////////////
    D3D11_BUFFER_DESC spritebufferdesc = {};
    spritebufferdesc.ByteWidth =sizeof(spritedesc) * MAX_SPRITES;
    spritebufferdesc.Usage = D3D11_USAGE_DYNAMIC;
    spritebufferdesc.BindFlags = D3D11_BIND_SHADER_RESOURCE;
    spritebufferdesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
    spritebufferdesc.MiscFlags = D3D11_RESOURCE_MISC_BUFFER_STRUCTURED;
    spritebufferdesc.StructureByteStride =sizeof(spritedesc);
    ID3D11Buffer* spritebuffer;
    device->CreateBuffer(&spritebufferdesc,nullptr, &spritebuffer);
    D3D11_SHADER_RESOURCE_VIEW_DESC spritebufferSRVdesc = {};
    spritebufferSRVdesc.Format = DXGI_FORMAT_UNKNOWN;
    spritebufferSRVdesc.ViewDimension = D3D11_SRV_DIMENSION_BUFFER;
    spritebufferSRVdesc.Buffer.NumElements = MAX_SPRITES;
    ID3D11ShaderResourceView* spritebufferSRV;
    device->CreateShaderResourceView(spritebuffer, &spritebufferSRVdesc, &spritebufferSRV);
    ///////////////////////////////////////////////////////////////////////////////////////////////
    spritedesc* spritebatch = (spritedesc*)HeapAlloc(GetProcessHeap(),0,sizeof(spritedesc) * MAX_SPRITES);
    ///////////////////////////////////////////////////////////////////////////////////////////////
    while (true)
    {
    MSG msg;
    while (PeekMessageA(&msg,nullptr,0,0, PM_REMOVE))
    {
    if (msg.message == WM_KEYDOWN)return0;// PRESS ANY KEY TO EXIT
    DispatchMessageA(&msg);
    }
    ///////////////////////////////////////////////////////////////////////////////////////////
    staticint tick =0;
    staticfloat rotation =0.0f;
    int spritecount =0;// start a new batch every frame
    int frame = tick++ /6 % ANIMATION_FRAMES;// animation running at 1/6 refresh rate
    float2 cell = { (float)(frame % SPRITESHEET_COLUMNS), (float)(frame / SPRITESHEET_COLUMNS) };// map animation frame # to sprite sheet cell (x, y)
    spritedesc sprite;
    sprite.location = { cell.x * CELL_WIDTH, cell.y * CELL_HEIGHT };// texture location in sprite sheet
    sprite.size = { SPRITE_WIDTH, SPRITE_HEIGHT };// texture size in sprite sheet
    sprite.anchor = {0.5,2.0f };// anchor point relative to texture bounds
    sprite.position = { viewport.Width /2, viewport.Height /2};// sprite position on screen
    sprite.scale = {4,4 };// sprite fat-pixel size
    sprite.rotation = rotation;// in radians
    sprite.color =0xffffffff;// 0xAARRGGBB
    spritebatch[spritecount++] = sprite;// add sprite to batch
    rotation +=0.00873f;
    ///////////////////////////////////////////////////////////////////////////////////////////
    D3D11_MAPPED_SUBRESOURCE spritebufferMSR;
    devicecontext->Map(spritebuffer,0, D3D11_MAP_WRITE_DISCARD,0, &spritebufferMSR);
    {
    memcpy(spritebufferMSR.pData, spritebatch,sizeof(spritedesc) * spritecount);// upload sprite batch to gpu
    }
    devicecontext->Unmap(spritebuffer,0);
    ///////////////////////////////////////////////////////////////////////////////////////////
    devicecontext->OMSetRenderTargets(1, &framebufferRTV,nullptr);
    devicecontext->ClearRenderTargetView(framebufferRTV, clearcolor);
    devicecontext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);
    devicecontext->VSSetShader(vertexshader,nullptr,0);
    devicecontext->VSSetShaderResources(0,1, &spritebufferSRV);
    devicecontext->VSSetConstantBuffers(0,1, &constantbuffer);
    devicecontext->RSSetViewports(1, &viewport);
    devicecontext->RSSetState(rasterizerstate);
    devicecontext->PSSetShader(pixelshader,nullptr,0);
    devicecontext->PSSetShaderResources(1,1, &spritesheetSRV);
    devicecontext->PSSetConstantBuffers(0,1, &constantbuffer);
    devicecontext->PSSetSamplers(0,1, &samplerstate);
    devicecontext->OMSetBlendState(blendstate,nullptr,0xffffffff);
    ///////////////////////////////////////////////////////////////////////////////////////////
    devicecontext->DrawInstanced(4, spritecount,0,0);
    ///////////////////////////////////////////////////////////////////////////////////////////
    swapchain->Present(1,0);
    }
    }
    cbuffer constants :register(b0)
    {
    float2 rn_screensize;
    float2 r_texturesize;
    }
    ///////////////////////////////////////////////////////////////////////////////////////////////////
    struct spritedesc
    {
    float2 location;
    float2 size;
    float2 anchor;
    float2 position;
    float2 scale;
    float rotation;
    uint color;
    };
    struct pixeldesc
    {
    float4 position :SV_POSITION;
    float2 location : LOC;
    float4 color : COL;
    };
    ///////////////////////////////////////////////////////////////////////////////////////////////////
    StructuredBuffer<spritedesc> spritebatch :register(t0);
    Texture2D spritesheet :register(t1);
    SamplerState aaptsampler :register(s0);
    ///////////////////////////////////////////////////////////////////////////////////////////////////
    pixeldescvs(uint spriteid :SV_INSTANCEID,uint vertexid :SV_VERTEXID)
    {
    spritedesc sprite = spritebatch[spriteid];
    uint2 idx = { vertexid &2, (vertexid <<1 &2) ^3 };
    float4 piv =float4(0,0, sprite.size +1) * sprite.scale.xyxy - (sprite.size * sprite.scale * sprite.anchor).xyxy;
    float2 pos =float2(piv[idx.x] *cos(sprite.rotation) - piv[idx.y] *sin(sprite.rotation), piv[idx.y] *cos(sprite.rotation) + piv[idx.x] *sin(sprite.rotation)) + sprite.position -0.5f;
    float4 loc =float4(sprite.location, sprite.location + sprite.size +1);
    pixeldesc output;
    output.position =float4(pos * rn_screensize -float2(1, -1),0,1);
    output.location =float2(loc[idx.x], loc[idx.y]);
    output.color =float4(sprite.color >>uint4(16,8,0,24) &0xff) /255;
    return output;
    }
    float4ps(pixeldesc pixel) :SV_TARGET
    {
    float4 color = spritesheet.Sample(aaptsampler, (floor(pixel.location) +min(frac(pixel.location) /fwidth(pixel.location),1.0f) -0.5f) * r_texturesize) * pixel.color.a *float4(pixel.color.rgb,1);
    if (color.a ==0)discard;
    return color;
    }
    #defineSPRITESHEET_WIDTH 59
    #defineSPRITESHEET_HEIGHT 57
    #defineSPRITESHEET_COLUMNS 3
    #defineSPRITESHEET_ROWS 2
    #defineSPRITE_WIDTH 19
    #defineSPRITE_HEIGHT 28
    #defineCELL_WIDTH (SPRITE_WIDTH + 1)
    #defineCELL_HEIGHT (SPRITE_HEIGHT + 1)
    #defineANIMATION_FRAMES 6
    UINTspritesheetdata[]=
    {
    0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xff04193f,0xff04193f,0x00000000,0x00000000,0xff04193f,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0x00000000,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0x00000000,0x00000000,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0x00000000,0x00000000,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff04193f,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,
    0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff04193f,0x00000000,0x00000000,
    0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,
    0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff04193f,0x00000000,
    0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff780bf7,0xff04193f,
    0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,
    0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,
    0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,
    0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff780bf7,0xff04193f,
    0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0x00000000,
    0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff04193f,0x00000000,
    0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff04193f,0xff04193f,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,
    0x00000000,0x00000000,0xff04193f,0xff780bf7,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xffd840fb,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xffd840fb,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,
    0x00000000,0xff04193f,0xfff489f6,0xffd840fb,0xff780bf7,0xff780bf7,0xff780bf7,0xff780bf7,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xffd840fb,0xffd840fb,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xffd840fb,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,
    0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xffd840fb,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xffd840fb,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xffd840fb,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,
    0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xffd840fb,0xffd840fb,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,
    0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff04193f,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xffd840fb,0xffd840fb,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0x00000000,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0x00000000,0x00000000,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff04193f,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xff04193f,0xff04193f,0x00000000,0x00000000,0xff04193f,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0x00000000,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0x00000000,0x00000000,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0x00000000,0x00000000,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff04193f,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,
    0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff04193f,0x00000000,0x00000000,
    0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,
    0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff04193f,0x00000000,
    0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff780bf7,0xff04193f,
    0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,
    0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,
    0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,
    0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff780bf7,0xff04193f,
    0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0x00000000,
    0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff04193f,0x00000000,
    0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xffd840fb,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xfff489f6,0xfff489f6,0xffd840fb,0xffd840fb,0xffd840fb,0xff780bf7,0xff780bf7,0xff04193f,0xff04193f,0x00000000,0x00000000,
    0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xffd840fb,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xffd840fb,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,
    0x00000000,0xff04193f,0xff04193f,0xff04193f,0xff780bf7,0xffd840fb,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xffd840fb,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0xff04193f,0xffd840fb,0xffd840fb,0xfff489f6,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xffd840fb,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xffd840fb,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xffd840fb,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0xff780bf7,0xff780bf7,0xffd840fb,0xfff489f6,0xfff489f6,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xfffcfefe,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xffd840fb,0xffd840fb,0xfff489f6,0xfff489f6,0xffd840fb,0xfffcfefe,0xfffcfefe,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff780bf7,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff780bf7,0xff780bf7,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff04193f,0xfff489f6,0xfff489f6,0xfff489f6,0xfff489f6,0xff04193f,0xff04193f,0xff04193f,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,
    };
    @tinne26
    Copy link

    Hey, I've been seeing a lot of your code snippets here and on other platforms, and it's really good stuff, but I couldn't find any license for it, so I was wondering if you are ok with people using it, or not, or under which conditions. As it stands, you hold all the rights and we can't really make use of it on open source libraries and so on, so I thought I'd ask.

    @Sketch9920
    Copy link

    It's wonderful,

    @d7samurai
    Copy link
    Author

    Hey, I've been seeing a lot of your code snippets here and on other platforms, and it's really good stuff, but I couldn't find any license for it, so I was wondering if you are ok with people using it, or not, or under which conditions. As it stands, you hold all the rights and we can't really make use of it on open source libraries and so on, so I thought I'd ask.

    hey. sorry for the late reply. sure, just go ahead. but i'd like attribution and preferably a link back to the source.

    Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

    [8]ページ先頭

    ©2009-2025 Movatter.jp