render: sample the static sun map in the volumetric shaft march

This commit is contained in:
mchughalex 2026-07-19 19:54:55 +01:00
parent 2e03593801
commit 37cc3715a0
3 changed files with 438 additions and 272 deletions

View file

@ -26,7 +26,9 @@
// ps_vol_shafts half res: reconstruct the world position from depth,
// march the camera->pixel ray with per-pixel jitter and
// test each step's sun visibility against the CSM atlas
// and the static world-shadow map, real shadowed air,
// and the native static sun-shadow map (falling back to
// the baked world-shadow map outside its coverage),
// real shadowed air,
// so occlusion never depends on on-screen silhouettes
// (no ghosting around near characters) and beams appear
// wherever shadow volumes cross the view ray.
@ -57,8 +59,8 @@ cbuffer C : register(b0) {
};
// Per-frame shadow constant slice (the scene pass's b1; see scene.hlsl for
// the authoritative layout); ps_vol_shafts samples sun visibility with the
// exact receiver math the materials use. Only the rows up to the static
// world-shadow transform are declared (the tail is water state).
// exact receiver math the materials use. Declared through the native static
// sun-shadow rows; the water/ocean material rows in between are padding.
cbuffer S : register(b1) {
float4 sh_x; // light-space X row (xyz) + translation (w)
float4 sh_y; // light-space Y row
@ -79,6 +81,20 @@ cbuffer S : register(b1) {
float4 dyn_wsx; // static world-shadow rows: u = dot(wp4, wsx)*0.5+0.5,
float4 dyn_wsy; // v = dot(wp4, wsy)*-0.5+0.5,
float4 dyn_wsz; // ray depth = dot(wp4, wsz)
// Rows 19-33 carry water/ocean material state, not consumed here.
float4 s_water[15];
float4 sh_pcss; // contact-hardening knobs (surface receivers only)
float4 sh_pcss2;
// Native static sun-shadow map transform (authoritative layout and
// receiver math in scene.hlsl SampleStaticSun): world -> far-tile rows
// uc = dot(nsm_*.xyz, wp) + nsm_*.w, depth = dot(nsm_z.xyz, wp) + nsm_z.w.
// nsm_p.x = strength (0 = feature off / map not rendered this frame),
// nsm_p2.x = base receiver bias, nsm_p2.w = tile size in pixels.
float4 nsm_x;
float4 nsm_y;
float4 nsm_z;
float4 nsm_p;
float4 nsm_p2;
};
Texture2D<float4> tex0 : register(t0); // per-pass primary input
#ifdef VOL_MSAA
@ -101,6 +117,11 @@ Texture2D<float4> vol_plane : register(t3);
// depth; sge(stored >= ray) = lit, uncovered texels hold the far clear).
Texture2D<float4> ws_tex : register(t3);
Texture2D<float> lin_depth : register(t4);
// ps_vol_shafts: the native static sun-shadow atlas (the scene pass's t10,
// three tiles inner/mid/far left to right, x = depth along the material
// sun). White fallback = the far clear = lit everywhere when the map was
// not rendered this frame.
Texture2D<float2> nsm_tex : register(t4);
SamplerState smp_point : register(s0);
SamplerState smp_linear : register(s1);
@ -192,10 +213,55 @@ float WorldVis(float3 wp) {
: 0.0;
}
// Native static sun-shadow visibility (nsm_tex, the scene pass's t10): the
// static world rendered along the TRUE material sun, so static-geometry
// shafts align with the sun glow; the baked ws map above projects along
// the game's near-vertical utility axis, ~40 degrees off the sun, which
// skews its shadow volumes accordingly. Cascade select mirrors
// SampleStaticSun (three tiles sharing the origin, ratios 6/2/1); a single
// soft-free compare per step is enough for the jittered march average.
// Returns -1 outside the map or with the feature off. Uncovered texels
// hold the far clear = lit.
float NsmVis(float3 wp) {
if (nsm_p.x <= 0.0) {
return -1.0;
}
float2 uc_far = float2(dot(nsm_x.xyz, wp) + nsm_x.w,
dot(nsm_y.xyz, wp) + nsm_y.w);
if (max(abs(uc_far.x), abs(uc_far.y)) >= 0.99) {
return -1.0;
}
float2 uc0 = uc_far * 6.0;
float2 uc1 = uc_far * 2.0;
float tile;
float2 uc;
if (max(abs(uc0.x), abs(uc0.y)) < 0.99) {
tile = 0.0;
uc = uc0;
} else if (max(abs(uc1.x), abs(uc1.y)) < 0.99) {
tile = 1.0;
uc = uc1;
} else {
tile = 2.0;
uc = uc_far;
}
float2 suv = float2(uc.x / 6.0 + (tile * 2.0 + 1.0) / 6.0,
uc.y * -0.5 + 0.5);
// Keep the bilinear tap off the tile seams (the atlas is 3 tiles wide).
float hx = 0.1666667 / nsm_p2.w;
suv.x = clamp(suv.x, tile / 3.0 + hx, tile / 3.0 + 0.3333333 - hx);
float refd = dot(nsm_z.xyz, wp) + nsm_z.w - nsm_p2.x;
float s = nsm_tex.SampleLevel(smp_linear, suv, 0).x >= refd ? 1.0 : 0.0;
// The material receive bottoms out at 1 - strength; shadowed air follows
// the same authored blend so the shafts fade with the surface shadows.
return 1.0 - nsm_p.x * (1.0 - s);
}
// Shadow-marched volumetric sun shafts (half res). The camera->pixel ray
// is marched with per-pixel jitter; each step's sun visibility comes from
// the CSM atlas and the static world-shadow map, so the beams are cast by
// real shadow volumes, never by on-screen silhouettes. Output = the
// the CSM atlas plus the native static sun map (baked ws map outside its
// coverage), so the beams are cast by real shadow volumes, never by
// on-screen silhouettes. Output = the
// SHADOWED fraction x Henyey-Greenstein forward-scatter phase x marched
// path fraction: the game's sky and fog already carry the authored
// scattering of fully-lit air, so adding lit-air glow double-counts it
@ -227,9 +293,14 @@ float4 ps_vol_shafts(VSOut i) : SV_Target {
}
float3 sp = cam + rdir * ((float(k) + jitter) / steps * reach);
float cv = CsmVis(sp);
float wv = WorldVis(sp);
if (cv >= 0.0 || wv >= 0.0) {
lit += min(cv < 0.0 ? 1.0 : cv, wv < 0.0 ? 1.0 : wv);
// Static shade: the native sun map where it covers (true material-sun
// axis), else the baked ws map. Never both: inside the sun map's range
// the two would draw the same caster's shadow volume on two different
// axes and read as a doubled shaft.
float nv = NsmVis(sp);
float sv = nv >= 0.0 ? nv : WorldVis(sp);
if (cv >= 0.0 || sv >= 0.0) {
lit += min(cv < 0.0 ? 1.0 : cv, sv < 0.0 ? 1.0 : sv);
tot += 1.0;
}
}

View file

@ -17567,20 +17567,20 @@ static const uint32_t k_hdr_ps_tonemap[] = {
0x0000002a, 0x0000002a, 0x0004002b, 0x00000013, 0x00000035, 0x3fb47ae1, 0x00040017, 0x00000036,
0x00000013, 0x00000004, 0x000a001e, 0x00000005, 0x00000036, 0x00000036, 0x00000036, 0x00000036,
0x00000036, 0x00000036, 0x00000036, 0x00000036, 0x00040020, 0x00000037, 0x00000002, 0x00000005,
0x00090019, 0x00000007, 0x00000013, 0x00000001, 0x00000002, 0x00000000, 0x00000000, 0x00000001,
0x00000000, 0x00040020, 0x00000038, 0x00000000, 0x00000007, 0x0002001a, 0x0000000d, 0x00040020,
0x00000039, 0x00000000, 0x0000000d, 0x00040020, 0x0000003a, 0x00000001, 0x0000001d, 0x00040020,
0x0000003b, 0x00000003, 0x00000036, 0x00020013, 0x0000003c, 0x00030021, 0x0000003d, 0x0000003c,
0x00040015, 0x0000003e, 0x00000020, 0x00000000, 0x0003001b, 0x00000010, 0x00000007, 0x00040020,
0x00040015, 0x00000038, 0x00000020, 0x00000000, 0x00090019, 0x00000007, 0x00000013, 0x00000001,
0x00000002, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00040020, 0x00000039, 0x00000000,
0x00000007, 0x0002001a, 0x0000000d, 0x00040020, 0x0000003a, 0x00000000, 0x0000000d, 0x00040020,
0x0000003b, 0x00000001, 0x0000001d, 0x00040020, 0x0000003c, 0x00000003, 0x00000036, 0x00020013,
0x0000003d, 0x00030021, 0x0000003e, 0x0000003d, 0x0003001b, 0x00000010, 0x00000007, 0x00040020,
0x0000003f, 0x00000002, 0x00000036, 0x00040020, 0x00000040, 0x00000002, 0x00000013, 0x00020014,
0x00000041, 0x0004003b, 0x00000037, 0x00000006, 0x00000002, 0x0004003b, 0x00000038, 0x00000008,
0x00000000, 0x0004003b, 0x00000038, 0x00000009, 0x00000000, 0x0004003b, 0x00000038, 0x0000000a,
0x00000000, 0x0004003b, 0x00000038, 0x0000000b, 0x00000000, 0x0004003b, 0x00000038, 0x0000000c,
0x00000000, 0x0004003b, 0x00000039, 0x0000000e, 0x00000000, 0x0004003b, 0x00000039, 0x0000000f,
0x00000000, 0x0004003b, 0x0000003a, 0x00000003, 0x00000001, 0x0004003b, 0x0000003b, 0x00000004,
0x00000003, 0x0004002b, 0x0000003e, 0x00000042, 0x00000000, 0x0004002b, 0x00000013, 0x00000043,
0x00000041, 0x0004003b, 0x00000037, 0x00000006, 0x00000002, 0x0004003b, 0x00000039, 0x00000008,
0x00000000, 0x0004003b, 0x00000039, 0x00000009, 0x00000000, 0x0004003b, 0x00000039, 0x0000000a,
0x00000000, 0x0004003b, 0x00000039, 0x0000000b, 0x00000000, 0x0004003b, 0x00000039, 0x0000000c,
0x00000000, 0x0004003b, 0x0000003a, 0x0000000e, 0x00000000, 0x0004003b, 0x0000003a, 0x0000000f,
0x00000000, 0x0004003b, 0x0000003b, 0x00000003, 0x00000001, 0x0004003b, 0x0000003c, 0x00000004,
0x00000003, 0x0004002b, 0x00000038, 0x00000042, 0x00000000, 0x0004002b, 0x00000013, 0x00000043,
0x3ee00000, 0x0003002a, 0x00000041, 0x00000044, 0x00030029, 0x00000041, 0x00000045, 0x00050036,
0x0000003c, 0x00000002, 0x00000000, 0x0000003d, 0x000200f8, 0x00000046, 0x0004003d, 0x0000001d,
0x0000003d, 0x00000002, 0x00000000, 0x0000003e, 0x000200f8, 0x00000046, 0x0004003d, 0x0000001d,
0x00000047, 0x00000003, 0x000300f7, 0x00000048, 0x00000000, 0x000300fb, 0x00000042, 0x00000049,
0x000200f8, 0x00000049, 0x0004003d, 0x00000007, 0x0000004a, 0x0000000a, 0x0004003d, 0x0000000d,
0x0000004b, 0x0000000f, 0x00050056, 0x00000010, 0x0000004c, 0x0000004a, 0x0000004b, 0x00070058,
@ -17886,9 +17886,9 @@ static const uint32_t k_hdr_ps_vol_linearize_VOL_MSAA_1[] = {
0x00000010, 0x00000011, 0x0003003e, 0x00000004, 0x0000002a, 0x000100fd, 0x00010038,
};
// hdr.hlsl : ps_vol_shafts (8520 bytes)
// hdr.hlsl : ps_vol_shafts (11200 bytes)
static const uint32_t k_hdr_ps_vol_shafts[] = {
0x07230203, 0x00010300, 0x000e0000, 0x00000145, 0x00000000, 0x00020011, 0x00000001, 0x0006000b,
0x07230203, 0x00010300, 0x000e0000, 0x000001af, 0x00000000, 0x00020011, 0x00000001, 0x0006000b,
0x00000001, 0x4c534c47, 0x6474732e, 0x3035342e, 0x00000000, 0x0003000e, 0x00000000, 0x00000001,
0x000a000f, 0x00000004, 0x00000002, 0x765f7370, 0x735f6c6f, 0x74666168, 0x00000073, 0x00000003,
0x00000004, 0x00000005, 0x00030010, 0x00000002, 0x00000007, 0x00030003, 0x00000005, 0x00000258,
@ -17909,252 +17909,335 @@ static const uint32_t k_hdr_ps_vol_shafts[] = {
0x0000000d, 0x5f6e7964, 0x6373696d, 0x00000000, 0x00050006, 0x00000008, 0x0000000e, 0x635f6873,
0x00726168, 0x00050006, 0x00000008, 0x0000000f, 0x765f6873, 0x00000032, 0x00050006, 0x00000008,
0x00000010, 0x5f6e7964, 0x00787377, 0x00050006, 0x00000008, 0x00000011, 0x5f6e7964, 0x00797377,
0x00050006, 0x00000008, 0x00000012, 0x5f6e7964, 0x007a7377, 0x00030005, 0x00000009, 0x00000053,
0x00060005, 0x0000000a, 0x65707974, 0x2e64322e, 0x67616d69, 0x00000065, 0x00040005, 0x0000000b,
0x31786574, 0x00000064, 0x00050005, 0x0000000c, 0x64616873, 0x745f776f, 0x00007865, 0x00040005,
0x0000000d, 0x745f7377, 0x00007865, 0x00060005, 0x0000000e, 0x65707974, 0x6d61732e, 0x72656c70,
0x00000000, 0x00050005, 0x0000000f, 0x5f706d73, 0x6e696f70, 0x00000074, 0x00050005, 0x00000010,
0x5f706d73, 0x656e696c, 0x00007261, 0x00070005, 0x00000004, 0x762e6e69, 0x542e7261, 0x4f435845,
0x3044524f, 0x00000000, 0x00070005, 0x00000005, 0x2e74756f, 0x2e726176, 0x545f5653, 0x65677261,
0x00000074, 0x00060005, 0x00000002, 0x765f7370, 0x735f6c6f, 0x74666168, 0x00000073, 0x00070005,
0x00000011, 0x65707974, 0x6d61732e, 0x64656c70, 0x616d692e, 0x00006567, 0x00040047, 0x00000003,
0x0000000b, 0x0000000f, 0x00040047, 0x00000004, 0x0000001e, 0x00000000, 0x00040047, 0x00000005,
0x0000001e, 0x00000000, 0x00040047, 0x00000007, 0x00000022, 0x00000000, 0x00040047, 0x00000007,
0x00000021, 0x00000000, 0x00040047, 0x00000009, 0x00000022, 0x00000000, 0x00040047, 0x00000009,
0x00000021, 0x00000001, 0x00040047, 0x0000000b, 0x00000022, 0x00000002, 0x00040047, 0x0000000b,
0x00000021, 0x00000000, 0x00040047, 0x0000000c, 0x00000022, 0x00000003, 0x00040047, 0x0000000c,
0x00000021, 0x00000000, 0x00040047, 0x0000000d, 0x00000022, 0x00000004, 0x00040047, 0x0000000d,
0x00000021, 0x00000000, 0x00040047, 0x0000000f, 0x00000022, 0x00000000, 0x00040047, 0x0000000f,
0x00000021, 0x00000002, 0x00040047, 0x00000010, 0x00000022, 0x00000000, 0x00040047, 0x00000010,
0x00000021, 0x00000003, 0x00050048, 0x00000006, 0x00000000, 0x00000023, 0x00000000, 0x00050048,
0x00000006, 0x00000001, 0x00000023, 0x00000010, 0x00050048, 0x00000006, 0x00000002, 0x00000023,
0x00000020, 0x00050048, 0x00000006, 0x00000003, 0x00000023, 0x00000030, 0x00050048, 0x00000006,
0x00000004, 0x00000023, 0x00000040, 0x00050048, 0x00000006, 0x00000005, 0x00000023, 0x00000050,
0x00050048, 0x00000006, 0x00000006, 0x00000023, 0x00000060, 0x00050048, 0x00000006, 0x00000007,
0x00000023, 0x00000070, 0x00030047, 0x00000006, 0x00000002, 0x00050048, 0x00000008, 0x00000000,
0x00000023, 0x00000000, 0x00050048, 0x00000008, 0x00000001, 0x00000023, 0x00000010, 0x00050048,
0x00000008, 0x00000002, 0x00000023, 0x00000020, 0x00050048, 0x00000008, 0x00000003, 0x00000023,
0x00000030, 0x00050048, 0x00000008, 0x00000004, 0x00000023, 0x00000040, 0x00050048, 0x00000008,
0x00000005, 0x00000023, 0x00000050, 0x00050048, 0x00000008, 0x00000006, 0x00000023, 0x00000060,
0x00050048, 0x00000008, 0x00000007, 0x00000023, 0x00000070, 0x00050048, 0x00000008, 0x00000008,
0x00000023, 0x00000080, 0x00050048, 0x00000008, 0x00000009, 0x00000023, 0x00000090, 0x00050048,
0x00000008, 0x0000000a, 0x00000023, 0x000000a0, 0x00050048, 0x00000008, 0x0000000b, 0x00000023,
0x000000b0, 0x00050048, 0x00000008, 0x0000000c, 0x00000023, 0x000000c0, 0x00050048, 0x00000008,
0x0000000d, 0x00000023, 0x000000d0, 0x00050048, 0x00000008, 0x0000000e, 0x00000023, 0x000000e0,
0x00050048, 0x00000008, 0x0000000f, 0x00000023, 0x000000f0, 0x00050048, 0x00000008, 0x00000010,
0x00000023, 0x00000100, 0x00050048, 0x00000008, 0x00000011, 0x00000023, 0x00000110, 0x00050048,
0x00000008, 0x00000012, 0x00000023, 0x00000120, 0x00030047, 0x00000008, 0x00000002, 0x00040015,
0x00000012, 0x00000020, 0x00000001, 0x0004002b, 0x00000012, 0x00000013, 0x00000001, 0x00030016,
0x00000014, 0x00000020, 0x0004002b, 0x00000014, 0x00000015, 0x00000000, 0x0004002b, 0x00000012,
0x00000016, 0x00000000, 0x0004002b, 0x00000014, 0x00000017, 0x40000000, 0x0004002b, 0x00000014,
0x00000018, 0x3f800000, 0x0004002b, 0x00000012, 0x00000019, 0x00000003, 0x0004002b, 0x00000014,
0x0000001a, 0x38d1b717, 0x0004002b, 0x00000012, 0x0000001b, 0x00000004, 0x0004002b, 0x00000012,
0x0000001c, 0x00000005, 0x0004002b, 0x00000012, 0x0000001d, 0x00000006, 0x0004002b, 0x00000012,
0x0000001e, 0x00000002, 0x0004002b, 0x00000012, 0x0000001f, 0x00000007, 0x0004002b, 0x00000014,
0x00000020, 0x358637bd, 0x0004002b, 0x00000014, 0x00000021, 0x41000000, 0x0004002b, 0x00000014,
0x00000022, 0x42800000, 0x0004002b, 0x00000012, 0x00000023, 0x00000040, 0x00020014, 0x00000024,
0x00030029, 0x00000024, 0x00000025, 0x0004002b, 0x00000014, 0x00000026, 0x40200000, 0x00040017,
0x00000027, 0x00000014, 0x00000004, 0x0007002c, 0x00000027, 0x00000028, 0x00000015, 0x00000015,
0x00000015, 0x00000018, 0x0004002b, 0x00000014, 0x00000029, 0x3a83126f, 0x0004002b, 0x00000014,
0x0000002a, 0x3fc00000, 0x0004002b, 0x00000014, 0x0000002b, 0x4253ee82, 0x0004002b, 0x00000014,
0x0000002c, 0x3d897143, 0x0004002b, 0x00000014, 0x0000002d, 0x3bbf4590, 0x00040017, 0x0000002e,
0x00000014, 0x00000002, 0x0005002c, 0x0000002e, 0x0000002f, 0x0000002c, 0x0000002d, 0x0005002c,
0x0000002e, 0x00000030, 0x00000015, 0x00000015, 0x0004002b, 0x00000014, 0x00000031, 0x3f7d70a4,
0x0004002b, 0x00000014, 0x00000032, 0x40400000, 0x0004002b, 0x00000014, 0x00000033, 0xbf800000,
0x0004002b, 0x00000014, 0x00000034, 0xbf000000, 0x0004002b, 0x00000014, 0x00000035, 0x3f000000,
0x0004002b, 0x00000014, 0x00000036, 0x3c75c28f, 0x0004002b, 0x00000014, 0x00000037, 0x3be56041,
0x0004002b, 0x00000012, 0x00000038, 0x00000010, 0x0004002b, 0x00000012, 0x00000039, 0x00000011,
0x0005002c, 0x0000002e, 0x0000003a, 0x00000018, 0x00000018, 0x0004002b, 0x00000012, 0x0000003b,
0x00000012, 0x000a001e, 0x00000006, 0x00000027, 0x00000027, 0x00000027, 0x00000027, 0x00000027,
0x00000027, 0x00000027, 0x00000027, 0x00040020, 0x0000003c, 0x00000002, 0x00000006, 0x0015001e,
0x00000008, 0x00000027, 0x00000027, 0x00000027, 0x00000027, 0x00000027, 0x00000027, 0x00000027,
0x00000027, 0x00000027, 0x00000027, 0x00000027, 0x00000027, 0x00000027, 0x00000027, 0x00000027,
0x00000027, 0x00000027, 0x00000027, 0x00000027, 0x00040020, 0x0000003d, 0x00000002, 0x00000008,
0x00090019, 0x0000000a, 0x00000014, 0x00000001, 0x00000002, 0x00000000, 0x00000000, 0x00000001,
0x00000000, 0x00040020, 0x0000003e, 0x00000000, 0x0000000a, 0x0002001a, 0x0000000e, 0x00040020,
0x0000003f, 0x00000000, 0x0000000e, 0x00040020, 0x00000040, 0x00000001, 0x00000027, 0x00040020,
0x00000041, 0x00000001, 0x0000002e, 0x00040020, 0x00000042, 0x00000003, 0x00000027, 0x00020013,
0x00000043, 0x00030021, 0x00000044, 0x00000043, 0x00040017, 0x00000045, 0x00000014, 0x00000003,
0x0003001b, 0x00000011, 0x0000000a, 0x00040020, 0x00000046, 0x00000002, 0x00000027, 0x00040020,
0x00000047, 0x00000002, 0x00000014, 0x00040017, 0x00000048, 0x00000024, 0x00000002, 0x0004003b,
0x0000003c, 0x00000007, 0x00000002, 0x0004003b, 0x0000003d, 0x00000009, 0x00000002, 0x0004003b,
0x0000003e, 0x0000000b, 0x00000000, 0x0004003b, 0x0000003e, 0x0000000c, 0x00000000, 0x0004003b,
0x0000003e, 0x0000000d, 0x00000000, 0x0004003b, 0x0000003f, 0x0000000f, 0x00000000, 0x0004003b,
0x0000003f, 0x00000010, 0x00000000, 0x0004003b, 0x00000040, 0x00000003, 0x00000001, 0x0004003b,
0x00000041, 0x00000004, 0x00000001, 0x0004003b, 0x00000042, 0x00000005, 0x00000003, 0x00040015,
0x00000049, 0x00000020, 0x00000000, 0x0004002b, 0x00000049, 0x0000004a, 0x00000000, 0x0004002b,
0x00000014, 0x0000004b, 0x3e2aaaab, 0x00050036, 0x00000043, 0x00000002, 0x00000000, 0x00000044,
0x000200f8, 0x0000004c, 0x0004003d, 0x00000027, 0x0000004d, 0x00000003, 0x0004003d, 0x0000002e,
0x0000004e, 0x00000004, 0x000300f7, 0x0000004f, 0x00000000, 0x000300fb, 0x0000004a, 0x00000050,
0x000200f8, 0x00000050, 0x0004003d, 0x0000000a, 0x00000051, 0x0000000b, 0x0004003d, 0x0000000e,
0x00000052, 0x0000000f, 0x00050056, 0x00000011, 0x00000053, 0x00000051, 0x00000052, 0x00070058,
0x00000027, 0x00000054, 0x00000053, 0x0000004e, 0x00000002, 0x00000015, 0x00050051, 0x00000014,
0x00000055, 0x00000054, 0x00000000, 0x00050051, 0x00000014, 0x00000056, 0x0000004e, 0x00000000,
0x00050085, 0x00000014, 0x00000057, 0x00000056, 0x00000017, 0x00050083, 0x00000014, 0x00000058,
0x00000057, 0x00000018, 0x00050051, 0x00000014, 0x00000059, 0x0000004e, 0x00000001, 0x00050085,
0x00000014, 0x0000005a, 0x00000059, 0x00000017, 0x00050083, 0x00000014, 0x0000005b, 0x00000018,
0x0000005a, 0x00060041, 0x00000047, 0x0000005c, 0x00000007, 0x00000019, 0x00000016, 0x0004003d,
0x00000014, 0x0000005d, 0x0000005c, 0x00060041, 0x00000047, 0x0000005e, 0x00000007, 0x00000019,
0x00000013, 0x0004003d, 0x00000014, 0x0000005f, 0x0000005e, 0x0007000c, 0x00000014, 0x00000060,
0x00000001, 0x00000050, 0x00000055, 0x0000001a, 0x00050088, 0x00000014, 0x00000061, 0x0000005f,
0x00000060, 0x00050081, 0x00000014, 0x00000062, 0x0000005d, 0x00000061, 0x00050085, 0x00000014,
0x00000063, 0x00000058, 0x00000055, 0x00050085, 0x00000014, 0x00000064, 0x0000005b, 0x00000055,
0x00050085, 0x00000014, 0x00000065, 0x00000062, 0x00000055, 0x00050041, 0x00000046, 0x00000066,
0x00000007, 0x0000001b, 0x0004003d, 0x00000027, 0x00000067, 0x00000066, 0x0005008e, 0x00000027,
0x00000068, 0x00000067, 0x00000063, 0x00050041, 0x00000046, 0x00000069, 0x00000007, 0x0000001c,
0x0004003d, 0x00000027, 0x0000006a, 0x00000069, 0x0005008e, 0x00000027, 0x0000006b, 0x0000006a,
0x00000064, 0x00050081, 0x00000027, 0x0000006c, 0x00000068, 0x0000006b, 0x00050041, 0x00000046,
0x0000006d, 0x00000007, 0x0000001d, 0x0004003d, 0x00000027, 0x0000006e, 0x0000006d, 0x0005008e,
0x00000027, 0x0000006f, 0x0000006e, 0x00000065, 0x00050081, 0x00000027, 0x00000070, 0x0000006c,
0x0000006f, 0x00050041, 0x00000046, 0x00000071, 0x00000007, 0x0000001f, 0x0004003d, 0x00000027,
0x00000072, 0x00000071, 0x0005008e, 0x00000027, 0x00000073, 0x00000072, 0x00000055, 0x00050081,
0x00000027, 0x00000074, 0x00000070, 0x00000073, 0x0008004f, 0x00000045, 0x00000075, 0x00000074,
0x00000074, 0x00000000, 0x00000001, 0x00000002, 0x00050051, 0x00000014, 0x00000076, 0x00000074,
0x00000003, 0x0007000c, 0x00000014, 0x00000077, 0x00000001, 0x00000050, 0x00000076, 0x00000020,
0x00060050, 0x00000045, 0x00000078, 0x00000077, 0x00000077, 0x00000077, 0x00050088, 0x00000045,
0x00000079, 0x00000075, 0x00000078, 0x00050041, 0x00000046, 0x0000007a, 0x00000007, 0x00000013,
0x0004003d, 0x00000027, 0x0000007b, 0x0000007a, 0x0008004f, 0x00000045, 0x0000007c, 0x0000007b,
0x0000007b, 0x00000000, 0x00000001, 0x00000002, 0x00050083, 0x00000045, 0x0000007d, 0x00000079,
0x0000007c, 0x0006000c, 0x00000014, 0x0000007e, 0x00000001, 0x00000042, 0x0000007d, 0x0007000c,
0x00000014, 0x0000007f, 0x00000001, 0x00000050, 0x0000007e, 0x0000001a, 0x00060050, 0x00000045,
0x00000080, 0x0000007f, 0x0000007f, 0x0000007f, 0x00050088, 0x00000045, 0x00000081, 0x0000007d,
0x00000080, 0x00060041, 0x00000047, 0x00000082, 0x00000007, 0x00000013, 0x00000019, 0x0004003d,
0x00000014, 0x00000083, 0x00000082, 0x0007000c, 0x00000014, 0x00000084, 0x00000001, 0x0000004f,
0x0000007e, 0x00000083, 0x00060041, 0x00000047, 0x00000085, 0x00000007, 0x0000001e, 0x00000016,
0x0004003d, 0x00000014, 0x00000086, 0x00000085, 0x0008000c, 0x00000014, 0x00000087, 0x00000001,
0x0000002b, 0x00000086, 0x00000021, 0x00000022, 0x0007004f, 0x0000002e, 0x00000088, 0x0000004d,
0x0000004d, 0x00000000, 0x00000001, 0x00050094, 0x00000014, 0x00000089, 0x00000088, 0x0000002f,
0x0006000c, 0x00000014, 0x0000008a, 0x00000001, 0x0000000a, 0x00000089, 0x00050085, 0x00000014,
0x0000008b, 0x0000002b, 0x0000008a, 0x0006000c, 0x00000014, 0x0000008c, 0x00000001, 0x0000000a,
0x0000008b, 0x000200f9, 0x0000008d, 0x000200f8, 0x0000008d, 0x000700f5, 0x00000014, 0x0000008e,
0x00000015, 0x00000050, 0x0000008f, 0x00000090, 0x000700f5, 0x00000014, 0x00000091, 0x00000015,
0x00000050, 0x00000092, 0x00000090, 0x000700f5, 0x00000012, 0x00000093, 0x00000016, 0x00000050,
0x00000094, 0x00000090, 0x000500b1, 0x00000024, 0x00000095, 0x00000093, 0x00000023, 0x000400f6,
0x00000096, 0x00000090, 0x00000002, 0x000400fa, 0x00000095, 0x00000097, 0x00000096, 0x000200f8,
0x00000097, 0x0004006e, 0x00000012, 0x00000098, 0x00000087, 0x000500af, 0x00000024, 0x00000099,
0x00000093, 0x00000098, 0x000300f7, 0x0000009a, 0x00000000, 0x000400fa, 0x00000099, 0x0000009b,
0x0000009a, 0x000200f8, 0x0000009b, 0x000200f9, 0x00000096, 0x000200f8, 0x0000009a, 0x0004006f,
0x00000014, 0x0000009c, 0x00000093, 0x00050081, 0x00000014, 0x0000009d, 0x0000009c, 0x0000008c,
0x00050088, 0x00000014, 0x0000009e, 0x0000009d, 0x00000087, 0x00050085, 0x00000014, 0x0000009f,
0x0000009e, 0x00000084, 0x0005008e, 0x00000045, 0x000000a0, 0x00000081, 0x0000009f, 0x00050081,
0x00000045, 0x000000a1, 0x0000007c, 0x000000a0, 0x000300f7, 0x000000a2, 0x00000000, 0x000300fb,
0x0000004a, 0x000000a3, 0x000200f8, 0x000000a3, 0x00050041, 0x00000046, 0x000000a4, 0x00000009,
0x00000016, 0x0004003d, 0x00000027, 0x000000a5, 0x000000a4, 0x0008004f, 0x00000045, 0x000000a6,
0x000000a5, 0x000000a5, 0x00000000, 0x00000001, 0x00000002, 0x00050094, 0x00000014, 0x000000a7,
0x000000a6, 0x000000a1, 0x00060041, 0x00000047, 0x000000a8, 0x00000009, 0x00000016, 0x00000019,
0x0004003d, 0x00000014, 0x000000a9, 0x000000a8, 0x00050081, 0x00000014, 0x000000aa, 0x000000a7,
0x000000a9, 0x00050041, 0x00000046, 0x000000ab, 0x00000009, 0x00000013, 0x0004003d, 0x00000027,
0x000000ac, 0x000000ab, 0x0008004f, 0x00000045, 0x000000ad, 0x000000ac, 0x000000ac, 0x00000000,
0x00000001, 0x00000002, 0x00050094, 0x00000014, 0x000000ae, 0x000000ad, 0x000000a1, 0x00060041,
0x00000047, 0x000000af, 0x00000009, 0x00000013, 0x00000019, 0x0004003d, 0x00000014, 0x000000b0,
0x000000af, 0x00050081, 0x00000014, 0x000000b1, 0x000000ae, 0x000000b0, 0x00050050, 0x0000002e,
0x000000b2, 0x000000aa, 0x000000b1, 0x00050041, 0x00000046, 0x000000b3, 0x00000009, 0x0000001b,
0x0004003d, 0x00000027, 0x000000b4, 0x000000b3, 0x0007004f, 0x0000002e, 0x000000b5, 0x000000b4,
0x000000b4, 0x00000000, 0x00000001, 0x00050085, 0x0000002e, 0x000000b6, 0x000000b2, 0x000000b5,
0x0007004f, 0x0000002e, 0x000000b7, 0x000000b4, 0x000000b4, 0x00000002, 0x00000003, 0x00050081,
0x0000002e, 0x000000b8, 0x000000b6, 0x000000b7, 0x00050051, 0x00000014, 0x000000b9, 0x000000b8,
0x00000000, 0x0006000c, 0x00000014, 0x000000ba, 0x00000001, 0x00000004, 0x000000b9, 0x00050051,
0x00000014, 0x000000bb, 0x000000b8, 0x00000001, 0x0006000c, 0x00000014, 0x000000bc, 0x00000001,
0x00000004, 0x000000bb, 0x0007000c, 0x00000014, 0x000000bd, 0x00000001, 0x00000050, 0x000000ba,
0x000000bc, 0x000500b8, 0x00000024, 0x000000be, 0x000000bd, 0x00000031, 0x00050050, 0x00000048,
0x000000bf, 0x000000be, 0x000000be, 0x000600a9, 0x0000002e, 0x000000c0, 0x000000bf, 0x000000b8,
0x00000030, 0x000600a9, 0x00000014, 0x000000c1, 0x000000be, 0x00000032, 0x00000015, 0x00050041,
0x00000046, 0x000000c2, 0x00000009, 0x00000019, 0x0004003d, 0x00000027, 0x000000c3, 0x000000c2,
0x0007004f, 0x0000002e, 0x000000c4, 0x000000c3, 0x000000c3, 0x00000000, 0x00000001, 0x00050085,
0x0000002e, 0x000000c5, 0x000000b2, 0x000000c4, 0x0007004f, 0x0000002e, 0x000000c6, 0x000000c3,
0x000000c3, 0x00000002, 0x00000003, 0x00050081, 0x0000002e, 0x000000c7, 0x000000c5, 0x000000c6,
0x00050051, 0x00000014, 0x000000c8, 0x000000c7, 0x00000000, 0x0006000c, 0x00000014, 0x000000c9,
0x00000001, 0x00000004, 0x000000c8, 0x00050051, 0x00000014, 0x000000ca, 0x000000c7, 0x00000001,
0x0006000c, 0x00000014, 0x000000cb, 0x00000001, 0x00000004, 0x000000ca, 0x0007000c, 0x00000014,
0x000000cc, 0x00000001, 0x00000050, 0x000000c9, 0x000000cb, 0x000500b8, 0x00000024, 0x000000cd,
0x000000cc, 0x00000031, 0x00050050, 0x00000048, 0x000000ce, 0x000000cd, 0x000000cd, 0x000600a9,
0x0000002e, 0x000000cf, 0x000000ce, 0x000000c7, 0x000000c0, 0x000600a9, 0x00000014, 0x000000d0,
0x000000cd, 0x00000017, 0x000000c1, 0x0006000c, 0x00000014, 0x000000d1, 0x00000001, 0x00000004,
0x000000aa, 0x0006000c, 0x00000014, 0x000000d2, 0x00000001, 0x00000004, 0x000000b1, 0x0007000c,
0x00000014, 0x000000d3, 0x00000001, 0x00000050, 0x000000d1, 0x000000d2, 0x000500b8, 0x00000024,
0x000000d4, 0x000000d3, 0x00000031, 0x00050050, 0x00000048, 0x000000d5, 0x000000d4, 0x000000d4,
0x000600a9, 0x0000002e, 0x000000d6, 0x000000d5, 0x000000b2, 0x000000cf, 0x000600a9, 0x00000014,
0x000000d7, 0x000000d4, 0x00000018, 0x000000d0, 0x000500bc, 0x00000024, 0x000000d8, 0x000000d7,
0x00000015, 0x000300f7, 0x000000d9, 0x00000000, 0x000400fa, 0x000000d8, 0x000000da, 0x000000d9,
0x000200f8, 0x000000da, 0x000200f9, 0x000000a2, 0x000200f8, 0x000000d9, 0x00050051, 0x00000014,
0x000000db, 0x000000d6, 0x00000000, 0x00050085, 0x00000014, 0x000000dc, 0x000000d7, 0x00000017,
0x00050083, 0x00000014, 0x000000dd, 0x000000dc, 0x00000018, 0x00050081, 0x00000014, 0x000000de,
0x000000db, 0x000000dd, 0x00050085, 0x00000014, 0x000000df, 0x0000004b, 0x000000de, 0x00050051,
0x00000014, 0x000000e0, 0x000000d6, 0x00000001, 0x00050085, 0x00000014, 0x000000e1, 0x000000e0,
0x00000034, 0x00050081, 0x00000014, 0x000000e2, 0x000000e1, 0x00000035, 0x00050050, 0x0000002e,
0x000000e3, 0x000000df, 0x000000e2, 0x00050041, 0x00000046, 0x000000e4, 0x00000009, 0x0000001e,
0x0004003d, 0x00000027, 0x000000e5, 0x000000e4, 0x0008004f, 0x00000045, 0x000000e6, 0x000000e5,
0x000000e5, 0x00000000, 0x00000001, 0x00000002, 0x00050094, 0x00000014, 0x000000e7, 0x000000e6,
0x000000a1, 0x00060041, 0x00000047, 0x000000e8, 0x00000009, 0x0000001e, 0x00000019, 0x0004003d,
0x00000014, 0x000000e9, 0x000000e8, 0x00050081, 0x00000014, 0x000000ea, 0x000000e7, 0x000000e9,
0x000500ba, 0x00000024, 0x000000eb, 0x000000d7, 0x0000002a, 0x000600a9, 0x00000014, 0x000000ec,
0x000000eb, 0x00000036, 0x00000037, 0x00050083, 0x00000014, 0x000000ed, 0x000000ea, 0x000000ec,
0x0004003d, 0x0000000a, 0x000000ee, 0x0000000c, 0x0004003d, 0x0000000e, 0x000000ef, 0x00000010,
0x00050056, 0x00000011, 0x000000f0, 0x000000ee, 0x000000ef, 0x00070058, 0x00000027, 0x000000f1,
0x000000f0, 0x000000e3, 0x00000002, 0x00000015, 0x00050051, 0x00000014, 0x000000f2, 0x000000f1,
0x00000000, 0x000500be, 0x00000024, 0x000000f3, 0x000000f2, 0x000000ed, 0x000600a9, 0x00000014,
0x000000f4, 0x000000f3, 0x00000018, 0x00000015, 0x00050051, 0x00000014, 0x000000f5, 0x000000f1,
0x00000001, 0x00050083, 0x00000014, 0x000000f6, 0x00000018, 0x000000f5, 0x00050081, 0x00000014,
0x000000f7, 0x000000f4, 0x000000f6, 0x0008000c, 0x00000014, 0x000000f8, 0x00000001, 0x0000002b,
0x000000f7, 0x00000015, 0x00000018, 0x000200f9, 0x000000a2, 0x000200f8, 0x000000a2, 0x000700f5,
0x00000014, 0x000000f9, 0x00000033, 0x000000da, 0x000000f8, 0x000000d9, 0x000300f7, 0x000000fa,
0x00000000, 0x000300fb, 0x0000004a, 0x000000fb, 0x000200f8, 0x000000fb, 0x00050051, 0x00000014,
0x000000fc, 0x000000a1, 0x00000000, 0x00050051, 0x00000014, 0x000000fd, 0x000000a1, 0x00000001,
0x00050051, 0x00000014, 0x000000fe, 0x000000a1, 0x00000002, 0x00070050, 0x00000027, 0x000000ff,
0x000000fc, 0x000000fd, 0x000000fe, 0x00000018, 0x00050041, 0x00000046, 0x00000100, 0x00000009,
0x00000038, 0x0004003d, 0x00000027, 0x00000101, 0x00000100, 0x00050094, 0x00000014, 0x00000102,
0x000000ff, 0x00000101, 0x00050085, 0x00000014, 0x00000103, 0x00000102, 0x00000035, 0x00050081,
0x00000014, 0x00000104, 0x00000103, 0x00000035, 0x00050041, 0x00000046, 0x00000105, 0x00000009,
0x00000039, 0x0004003d, 0x00000027, 0x00000106, 0x00000105, 0x00050094, 0x00000014, 0x00000107,
0x000000ff, 0x00000106, 0x00050085, 0x00000014, 0x00000108, 0x00000107, 0x00000034, 0x00050081,
0x00000014, 0x00000109, 0x00000108, 0x00000035, 0x00050050, 0x0000002e, 0x0000010a, 0x00000104,
0x00000109, 0x0008000c, 0x0000002e, 0x0000010b, 0x00000001, 0x0000002b, 0x0000010a, 0x00000030,
0x0000003a, 0x000500b6, 0x00000048, 0x0000010c, 0x0000010b, 0x0000010a, 0x0004009a, 0x00000024,
0x0000010d, 0x0000010c, 0x000300f7, 0x0000010e, 0x00000000, 0x000400fa, 0x0000010d, 0x0000010f,
0x0000010e, 0x000200f8, 0x0000010f, 0x000200f9, 0x000000fa, 0x000200f8, 0x0000010e, 0x0004003d,
0x0000000a, 0x00000110, 0x0000000d, 0x0004003d, 0x0000000e, 0x00000111, 0x0000000f, 0x00050056,
0x00000011, 0x00000112, 0x00000110, 0x00000111, 0x00070058, 0x00000027, 0x00000113, 0x00000112,
0x0000010a, 0x00000002, 0x00000015, 0x00050051, 0x00000014, 0x00000114, 0x00000113, 0x00000000,
0x00050041, 0x00000046, 0x00000115, 0x00000009, 0x0000003b, 0x0004003d, 0x00000027, 0x00000116,
0x00000115, 0x00050094, 0x00000014, 0x00000117, 0x000000ff, 0x00000116, 0x000500be, 0x00000024,
0x00000118, 0x00000114, 0x00000117, 0x000600a9, 0x00000014, 0x00000119, 0x00000118, 0x00000018,
0x00000015, 0x000200f9, 0x000000fa, 0x000200f8, 0x000000fa, 0x000700f5, 0x00000014, 0x0000011a,
0x00000033, 0x0000010f, 0x00000119, 0x0000010e, 0x000500b9, 0x00000024, 0x0000011b, 0x000000f9,
0x00000015, 0x000300f7, 0x0000011c, 0x00000000, 0x000400fa, 0x0000011b, 0x0000011d, 0x0000011c,
0x000200f8, 0x0000011d, 0x000500be, 0x00000024, 0x0000011e, 0x0000011a, 0x00000015, 0x000200f9,
0x0000011c, 0x000200f8, 0x0000011c, 0x000700f5, 0x00000024, 0x0000011f, 0x00000025, 0x000000fa,
0x0000011e, 0x0000011d, 0x000300f7, 0x00000120, 0x00000000, 0x000400fa, 0x0000011f, 0x00000121,
0x00000120, 0x000200f8, 0x00000121, 0x000500b8, 0x00000024, 0x00000122, 0x000000f9, 0x00000015,
0x000600a9, 0x00000014, 0x00000123, 0x00000122, 0x00000018, 0x000000f9, 0x000500b8, 0x00000024,
0x00000124, 0x0000011a, 0x00000015, 0x000600a9, 0x00000014, 0x00000125, 0x00000124, 0x00000018,
0x0000011a, 0x0007000c, 0x00000014, 0x00000126, 0x00000001, 0x0000004f, 0x00000123, 0x00000125,
0x00050081, 0x00000014, 0x00000127, 0x00000091, 0x00000126, 0x00050081, 0x00000014, 0x00000128,
0x0000008e, 0x00000018, 0x000200f9, 0x00000120, 0x000200f8, 0x00000120, 0x000700f5, 0x00000014,
0x0000008f, 0x0000008e, 0x0000011c, 0x00000128, 0x00000121, 0x000700f5, 0x00000014, 0x00000092,
0x00000091, 0x0000011c, 0x00000127, 0x00000121, 0x000200f9, 0x00000090, 0x000200f8, 0x00000090,
0x00050080, 0x00000012, 0x00000094, 0x00000093, 0x00000013, 0x000200f9, 0x0000008d, 0x000200f8,
0x00000096, 0x000500b8, 0x00000024, 0x00000129, 0x0000008e, 0x00000026, 0x000300f7, 0x0000012a,
0x00000000, 0x000400fa, 0x00000129, 0x0000012b, 0x0000012a, 0x000200f8, 0x0000012b, 0x000200f9,
0x0000004f, 0x000200f8, 0x0000012a, 0x00050041, 0x00000046, 0x0000012c, 0x00000009, 0x0000001f,
0x0004003d, 0x00000027, 0x0000012d, 0x0000012c, 0x0008004f, 0x00000045, 0x0000012e, 0x0000012d,
0x0000012d, 0x00000000, 0x00000001, 0x00000002, 0x00050094, 0x00000014, 0x0000012f, 0x00000081,
0x0000012e, 0x00060041, 0x00000047, 0x00000130, 0x00000007, 0x0000001e, 0x0000001e, 0x0004003d,
0x00000014, 0x00000131, 0x00000130, 0x00050085, 0x00000014, 0x00000132, 0x00000131, 0x00000131,
0x00050083, 0x00000014, 0x00000133, 0x00000018, 0x00000132, 0x00050081, 0x00000014, 0x00000134,
0x00000018, 0x00000132, 0x00050085, 0x00000014, 0x00000135, 0x00000017, 0x00000131, 0x00050085,
0x00000014, 0x00000136, 0x00000135, 0x0000012f, 0x00050083, 0x00000014, 0x00000137, 0x00000134,
0x00000136, 0x0007000c, 0x00000014, 0x00000138, 0x00000001, 0x00000050, 0x00000137, 0x00000029,
0x0007000c, 0x00000014, 0x00000139, 0x00000001, 0x0000001a, 0x00000138, 0x0000002a, 0x00050088,
0x00000014, 0x0000013a, 0x00000133, 0x00000139, 0x0007000c, 0x00000014, 0x0000013b, 0x00000001,
0x0000004f, 0x0000013a, 0x00000017, 0x00050088, 0x00000014, 0x0000013c, 0x00000091, 0x0000008e,
0x00050083, 0x00000014, 0x0000013d, 0x00000018, 0x0000013c, 0x00050085, 0x00000014, 0x0000013e,
0x0000013d, 0x0000013b, 0x0007000c, 0x00000014, 0x0000013f, 0x00000001, 0x00000050, 0x00000083,
0x00000018, 0x00050088, 0x00000014, 0x00000140, 0x00000084, 0x0000013f, 0x0008000c, 0x00000014,
0x00000141, 0x00000001, 0x0000002b, 0x00000140, 0x00000015, 0x00000018, 0x00050085, 0x00000014,
0x00000142, 0x0000013e, 0x00000141, 0x00070050, 0x00000027, 0x00000143, 0x00000142, 0x00000142,
0x00000142, 0x00000018, 0x000200f9, 0x0000004f, 0x000200f8, 0x0000004f, 0x000700f5, 0x00000027,
0x00000144, 0x00000028, 0x0000012b, 0x00000143, 0x0000012a, 0x0003003e, 0x00000005, 0x00000144,
0x000100fd, 0x00010038,
0x00050006, 0x00000008, 0x00000012, 0x5f6e7964, 0x007a7377, 0x00050006, 0x00000008, 0x00000013,
0x61775f73, 0x00726574, 0x00050006, 0x00000008, 0x00000014, 0x705f6873, 0x00737363, 0x00060006,
0x00000008, 0x00000015, 0x705f6873, 0x32737363, 0x00000000, 0x00050006, 0x00000008, 0x00000016,
0x5f6d736e, 0x00000078, 0x00050006, 0x00000008, 0x00000017, 0x5f6d736e, 0x00000079, 0x00050006,
0x00000008, 0x00000018, 0x5f6d736e, 0x0000007a, 0x00050006, 0x00000008, 0x00000019, 0x5f6d736e,
0x00000070, 0x00050006, 0x00000008, 0x0000001a, 0x5f6d736e, 0x00003270, 0x00030005, 0x00000009,
0x00000053, 0x00060005, 0x0000000a, 0x65707974, 0x2e64322e, 0x67616d69, 0x00000065, 0x00040005,
0x0000000b, 0x31786574, 0x00000064, 0x00050005, 0x0000000c, 0x64616873, 0x745f776f, 0x00007865,
0x00040005, 0x0000000d, 0x745f7377, 0x00007865, 0x00040005, 0x0000000e, 0x5f6d736e, 0x00786574,
0x00060005, 0x0000000f, 0x65707974, 0x6d61732e, 0x72656c70, 0x00000000, 0x00050005, 0x00000010,
0x5f706d73, 0x6e696f70, 0x00000074, 0x00050005, 0x00000011, 0x5f706d73, 0x656e696c, 0x00007261,
0x00070005, 0x00000004, 0x762e6e69, 0x542e7261, 0x4f435845, 0x3044524f, 0x00000000, 0x00070005,
0x00000005, 0x2e74756f, 0x2e726176, 0x545f5653, 0x65677261, 0x00000074, 0x00060005, 0x00000002,
0x765f7370, 0x735f6c6f, 0x74666168, 0x00000073, 0x00070005, 0x00000012, 0x65707974, 0x6d61732e,
0x64656c70, 0x616d692e, 0x00006567, 0x00040047, 0x00000003, 0x0000000b, 0x0000000f, 0x00040047,
0x00000004, 0x0000001e, 0x00000000, 0x00040047, 0x00000005, 0x0000001e, 0x00000000, 0x00040047,
0x00000007, 0x00000022, 0x00000000, 0x00040047, 0x00000007, 0x00000021, 0x00000000, 0x00040047,
0x00000009, 0x00000022, 0x00000000, 0x00040047, 0x00000009, 0x00000021, 0x00000001, 0x00040047,
0x0000000b, 0x00000022, 0x00000002, 0x00040047, 0x0000000b, 0x00000021, 0x00000000, 0x00040047,
0x0000000c, 0x00000022, 0x00000003, 0x00040047, 0x0000000c, 0x00000021, 0x00000000, 0x00040047,
0x0000000d, 0x00000022, 0x00000004, 0x00040047, 0x0000000d, 0x00000021, 0x00000000, 0x00040047,
0x0000000e, 0x00000022, 0x00000005, 0x00040047, 0x0000000e, 0x00000021, 0x00000000, 0x00040047,
0x00000010, 0x00000022, 0x00000000, 0x00040047, 0x00000010, 0x00000021, 0x00000002, 0x00040047,
0x00000011, 0x00000022, 0x00000000, 0x00040047, 0x00000011, 0x00000021, 0x00000003, 0x00050048,
0x00000006, 0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x00000006, 0x00000001, 0x00000023,
0x00000010, 0x00050048, 0x00000006, 0x00000002, 0x00000023, 0x00000020, 0x00050048, 0x00000006,
0x00000003, 0x00000023, 0x00000030, 0x00050048, 0x00000006, 0x00000004, 0x00000023, 0x00000040,
0x00050048, 0x00000006, 0x00000005, 0x00000023, 0x00000050, 0x00050048, 0x00000006, 0x00000006,
0x00000023, 0x00000060, 0x00050048, 0x00000006, 0x00000007, 0x00000023, 0x00000070, 0x00030047,
0x00000006, 0x00000002, 0x00040047, 0x00000013, 0x00000006, 0x00000010, 0x00050048, 0x00000008,
0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x00000008, 0x00000001, 0x00000023, 0x00000010,
0x00050048, 0x00000008, 0x00000002, 0x00000023, 0x00000020, 0x00050048, 0x00000008, 0x00000003,
0x00000023, 0x00000030, 0x00050048, 0x00000008, 0x00000004, 0x00000023, 0x00000040, 0x00050048,
0x00000008, 0x00000005, 0x00000023, 0x00000050, 0x00050048, 0x00000008, 0x00000006, 0x00000023,
0x00000060, 0x00050048, 0x00000008, 0x00000007, 0x00000023, 0x00000070, 0x00050048, 0x00000008,
0x00000008, 0x00000023, 0x00000080, 0x00050048, 0x00000008, 0x00000009, 0x00000023, 0x00000090,
0x00050048, 0x00000008, 0x0000000a, 0x00000023, 0x000000a0, 0x00050048, 0x00000008, 0x0000000b,
0x00000023, 0x000000b0, 0x00050048, 0x00000008, 0x0000000c, 0x00000023, 0x000000c0, 0x00050048,
0x00000008, 0x0000000d, 0x00000023, 0x000000d0, 0x00050048, 0x00000008, 0x0000000e, 0x00000023,
0x000000e0, 0x00050048, 0x00000008, 0x0000000f, 0x00000023, 0x000000f0, 0x00050048, 0x00000008,
0x00000010, 0x00000023, 0x00000100, 0x00050048, 0x00000008, 0x00000011, 0x00000023, 0x00000110,
0x00050048, 0x00000008, 0x00000012, 0x00000023, 0x00000120, 0x00050048, 0x00000008, 0x00000013,
0x00000023, 0x00000130, 0x00050048, 0x00000008, 0x00000014, 0x00000023, 0x00000220, 0x00050048,
0x00000008, 0x00000015, 0x00000023, 0x00000230, 0x00050048, 0x00000008, 0x00000016, 0x00000023,
0x00000240, 0x00050048, 0x00000008, 0x00000017, 0x00000023, 0x00000250, 0x00050048, 0x00000008,
0x00000018, 0x00000023, 0x00000260, 0x00050048, 0x00000008, 0x00000019, 0x00000023, 0x00000270,
0x00050048, 0x00000008, 0x0000001a, 0x00000023, 0x00000280, 0x00030047, 0x00000008, 0x00000002,
0x00040015, 0x00000014, 0x00000020, 0x00000001, 0x0004002b, 0x00000014, 0x00000015, 0x00000001,
0x00030016, 0x00000016, 0x00000020, 0x0004002b, 0x00000016, 0x00000017, 0x00000000, 0x0004002b,
0x00000014, 0x00000018, 0x00000000, 0x0004002b, 0x00000016, 0x00000019, 0x40000000, 0x0004002b,
0x00000016, 0x0000001a, 0x3f800000, 0x0004002b, 0x00000014, 0x0000001b, 0x00000003, 0x0004002b,
0x00000016, 0x0000001c, 0x38d1b717, 0x0004002b, 0x00000014, 0x0000001d, 0x00000004, 0x0004002b,
0x00000014, 0x0000001e, 0x00000005, 0x0004002b, 0x00000014, 0x0000001f, 0x00000006, 0x0004002b,
0x00000014, 0x00000020, 0x00000002, 0x0004002b, 0x00000014, 0x00000021, 0x00000007, 0x0004002b,
0x00000016, 0x00000022, 0x358637bd, 0x0004002b, 0x00000016, 0x00000023, 0x41000000, 0x0004002b,
0x00000016, 0x00000024, 0x42800000, 0x0004002b, 0x00000014, 0x00000025, 0x00000040, 0x00020014,
0x00000026, 0x00030029, 0x00000026, 0x00000027, 0x0004002b, 0x00000016, 0x00000028, 0x40200000,
0x00040017, 0x00000029, 0x00000016, 0x00000004, 0x0007002c, 0x00000029, 0x0000002a, 0x00000017,
0x00000017, 0x00000017, 0x0000001a, 0x0004002b, 0x00000016, 0x0000002b, 0x3a83126f, 0x0004002b,
0x00000016, 0x0000002c, 0x3fc00000, 0x0004002b, 0x00000016, 0x0000002d, 0x4253ee82, 0x0004002b,
0x00000016, 0x0000002e, 0x3d897143, 0x0004002b, 0x00000016, 0x0000002f, 0x3bbf4590, 0x00040017,
0x00000030, 0x00000016, 0x00000002, 0x0005002c, 0x00000030, 0x00000031, 0x0000002e, 0x0000002f,
0x0005002c, 0x00000030, 0x00000032, 0x00000017, 0x00000017, 0x0004002b, 0x00000016, 0x00000033,
0x3f7d70a4, 0x0004002b, 0x00000016, 0x00000034, 0x40400000, 0x0004002b, 0x00000016, 0x00000035,
0xbf800000, 0x0004002b, 0x00000016, 0x00000036, 0x40c00000, 0x0004002b, 0x00000016, 0x00000037,
0xbf000000, 0x0004002b, 0x00000016, 0x00000038, 0x3f000000, 0x0004002b, 0x00000016, 0x00000039,
0x3c75c28f, 0x0004002b, 0x00000016, 0x0000003a, 0x3be56041, 0x0004002b, 0x00000014, 0x0000003b,
0x00000019, 0x0004002b, 0x00000014, 0x0000003c, 0x00000016, 0x0004002b, 0x00000014, 0x0000003d,
0x00000017, 0x0004002b, 0x00000016, 0x0000003e, 0x3e2aaaad, 0x0004002b, 0x00000014, 0x0000003f,
0x0000001a, 0x0004002b, 0x00000016, 0x00000040, 0x3eaaaaaa, 0x00040015, 0x00000041, 0x00000020,
0x00000000, 0x0004002b, 0x00000041, 0x00000042, 0x00000000, 0x0004002b, 0x00000014, 0x00000043,
0x00000018, 0x0004002b, 0x00000014, 0x00000044, 0x00000010, 0x0004002b, 0x00000014, 0x00000045,
0x00000011, 0x0005002c, 0x00000030, 0x00000046, 0x0000001a, 0x0000001a, 0x0004002b, 0x00000014,
0x00000047, 0x00000012, 0x000a001e, 0x00000006, 0x00000029, 0x00000029, 0x00000029, 0x00000029,
0x00000029, 0x00000029, 0x00000029, 0x00000029, 0x00040020, 0x00000048, 0x00000002, 0x00000006,
0x0004002b, 0x00000041, 0x00000049, 0x0000000f, 0x0004001c, 0x00000013, 0x00000029, 0x00000049,
0x001d001e, 0x00000008, 0x00000029, 0x00000029, 0x00000029, 0x00000029, 0x00000029, 0x00000029,
0x00000029, 0x00000029, 0x00000029, 0x00000029, 0x00000029, 0x00000029, 0x00000029, 0x00000029,
0x00000029, 0x00000029, 0x00000029, 0x00000029, 0x00000029, 0x00000013, 0x00000029, 0x00000029,
0x00000029, 0x00000029, 0x00000029, 0x00000029, 0x00000029, 0x00040020, 0x0000004a, 0x00000002,
0x00000008, 0x00090019, 0x0000000a, 0x00000016, 0x00000001, 0x00000002, 0x00000000, 0x00000000,
0x00000001, 0x00000000, 0x00040020, 0x0000004b, 0x00000000, 0x0000000a, 0x0002001a, 0x0000000f,
0x00040020, 0x0000004c, 0x00000000, 0x0000000f, 0x00040020, 0x0000004d, 0x00000001, 0x00000029,
0x00040020, 0x0000004e, 0x00000001, 0x00000030, 0x00040020, 0x0000004f, 0x00000003, 0x00000029,
0x00020013, 0x00000050, 0x00030021, 0x00000051, 0x00000050, 0x00040017, 0x00000052, 0x00000016,
0x00000003, 0x0003001b, 0x00000012, 0x0000000a, 0x00040020, 0x00000053, 0x00000002, 0x00000029,
0x00040020, 0x00000054, 0x00000002, 0x00000016, 0x00040017, 0x00000055, 0x00000026, 0x00000002,
0x0004003b, 0x00000048, 0x00000007, 0x00000002, 0x0004003b, 0x0000004a, 0x00000009, 0x00000002,
0x0004003b, 0x0000004b, 0x0000000b, 0x00000000, 0x0004003b, 0x0000004b, 0x0000000c, 0x00000000,
0x0004003b, 0x0000004b, 0x0000000d, 0x00000000, 0x0004003b, 0x0000004b, 0x0000000e, 0x00000000,
0x0004003b, 0x0000004c, 0x00000010, 0x00000000, 0x0004003b, 0x0000004c, 0x00000011, 0x00000000,
0x0004003b, 0x0000004d, 0x00000003, 0x00000001, 0x0004003b, 0x0000004e, 0x00000004, 0x00000001,
0x0004003b, 0x0000004f, 0x00000005, 0x00000003, 0x0004002b, 0x00000016, 0x00000056, 0x3e2aaaab,
0x0004002b, 0x00000016, 0x00000057, 0x3eaaaaab, 0x00050036, 0x00000050, 0x00000002, 0x00000000,
0x00000051, 0x000200f8, 0x00000058, 0x0004003d, 0x00000029, 0x00000059, 0x00000003, 0x0004003d,
0x00000030, 0x0000005a, 0x00000004, 0x000300f7, 0x0000005b, 0x00000000, 0x000300fb, 0x00000042,
0x0000005c, 0x000200f8, 0x0000005c, 0x0004003d, 0x0000000a, 0x0000005d, 0x0000000b, 0x0004003d,
0x0000000f, 0x0000005e, 0x00000010, 0x00050056, 0x00000012, 0x0000005f, 0x0000005d, 0x0000005e,
0x00070058, 0x00000029, 0x00000060, 0x0000005f, 0x0000005a, 0x00000002, 0x00000017, 0x00050051,
0x00000016, 0x00000061, 0x00000060, 0x00000000, 0x00050051, 0x00000016, 0x00000062, 0x0000005a,
0x00000000, 0x00050085, 0x00000016, 0x00000063, 0x00000062, 0x00000019, 0x00050083, 0x00000016,
0x00000064, 0x00000063, 0x0000001a, 0x00050051, 0x00000016, 0x00000065, 0x0000005a, 0x00000001,
0x00050085, 0x00000016, 0x00000066, 0x00000065, 0x00000019, 0x00050083, 0x00000016, 0x00000067,
0x0000001a, 0x00000066, 0x00060041, 0x00000054, 0x00000068, 0x00000007, 0x0000001b, 0x00000018,
0x0004003d, 0x00000016, 0x00000069, 0x00000068, 0x00060041, 0x00000054, 0x0000006a, 0x00000007,
0x0000001b, 0x00000015, 0x0004003d, 0x00000016, 0x0000006b, 0x0000006a, 0x0007000c, 0x00000016,
0x0000006c, 0x00000001, 0x00000050, 0x00000061, 0x0000001c, 0x00050088, 0x00000016, 0x0000006d,
0x0000006b, 0x0000006c, 0x00050081, 0x00000016, 0x0000006e, 0x00000069, 0x0000006d, 0x00050085,
0x00000016, 0x0000006f, 0x00000064, 0x00000061, 0x00050085, 0x00000016, 0x00000070, 0x00000067,
0x00000061, 0x00050085, 0x00000016, 0x00000071, 0x0000006e, 0x00000061, 0x00050041, 0x00000053,
0x00000072, 0x00000007, 0x0000001d, 0x0004003d, 0x00000029, 0x00000073, 0x00000072, 0x0005008e,
0x00000029, 0x00000074, 0x00000073, 0x0000006f, 0x00050041, 0x00000053, 0x00000075, 0x00000007,
0x0000001e, 0x0004003d, 0x00000029, 0x00000076, 0x00000075, 0x0005008e, 0x00000029, 0x00000077,
0x00000076, 0x00000070, 0x00050081, 0x00000029, 0x00000078, 0x00000074, 0x00000077, 0x00050041,
0x00000053, 0x00000079, 0x00000007, 0x0000001f, 0x0004003d, 0x00000029, 0x0000007a, 0x00000079,
0x0005008e, 0x00000029, 0x0000007b, 0x0000007a, 0x00000071, 0x00050081, 0x00000029, 0x0000007c,
0x00000078, 0x0000007b, 0x00050041, 0x00000053, 0x0000007d, 0x00000007, 0x00000021, 0x0004003d,
0x00000029, 0x0000007e, 0x0000007d, 0x0005008e, 0x00000029, 0x0000007f, 0x0000007e, 0x00000061,
0x00050081, 0x00000029, 0x00000080, 0x0000007c, 0x0000007f, 0x0008004f, 0x00000052, 0x00000081,
0x00000080, 0x00000080, 0x00000000, 0x00000001, 0x00000002, 0x00050051, 0x00000016, 0x00000082,
0x00000080, 0x00000003, 0x0007000c, 0x00000016, 0x00000083, 0x00000001, 0x00000050, 0x00000082,
0x00000022, 0x00060050, 0x00000052, 0x00000084, 0x00000083, 0x00000083, 0x00000083, 0x00050088,
0x00000052, 0x00000085, 0x00000081, 0x00000084, 0x00050041, 0x00000053, 0x00000086, 0x00000007,
0x00000015, 0x0004003d, 0x00000029, 0x00000087, 0x00000086, 0x0008004f, 0x00000052, 0x00000088,
0x00000087, 0x00000087, 0x00000000, 0x00000001, 0x00000002, 0x00050083, 0x00000052, 0x00000089,
0x00000085, 0x00000088, 0x0006000c, 0x00000016, 0x0000008a, 0x00000001, 0x00000042, 0x00000089,
0x0007000c, 0x00000016, 0x0000008b, 0x00000001, 0x00000050, 0x0000008a, 0x0000001c, 0x00060050,
0x00000052, 0x0000008c, 0x0000008b, 0x0000008b, 0x0000008b, 0x00050088, 0x00000052, 0x0000008d,
0x00000089, 0x0000008c, 0x00060041, 0x00000054, 0x0000008e, 0x00000007, 0x00000015, 0x0000001b,
0x0004003d, 0x00000016, 0x0000008f, 0x0000008e, 0x0007000c, 0x00000016, 0x00000090, 0x00000001,
0x0000004f, 0x0000008a, 0x0000008f, 0x00060041, 0x00000054, 0x00000091, 0x00000007, 0x00000020,
0x00000018, 0x0004003d, 0x00000016, 0x00000092, 0x00000091, 0x0008000c, 0x00000016, 0x00000093,
0x00000001, 0x0000002b, 0x00000092, 0x00000023, 0x00000024, 0x0007004f, 0x00000030, 0x00000094,
0x00000059, 0x00000059, 0x00000000, 0x00000001, 0x00050094, 0x00000016, 0x00000095, 0x00000094,
0x00000031, 0x0006000c, 0x00000016, 0x00000096, 0x00000001, 0x0000000a, 0x00000095, 0x00050085,
0x00000016, 0x00000097, 0x0000002d, 0x00000096, 0x0006000c, 0x00000016, 0x00000098, 0x00000001,
0x0000000a, 0x00000097, 0x000200f9, 0x00000099, 0x000200f8, 0x00000099, 0x000700f5, 0x00000016,
0x0000009a, 0x00000017, 0x0000005c, 0x0000009b, 0x0000009c, 0x000700f5, 0x00000016, 0x0000009d,
0x00000017, 0x0000005c, 0x0000009e, 0x0000009c, 0x000700f5, 0x00000014, 0x0000009f, 0x00000018,
0x0000005c, 0x000000a0, 0x0000009c, 0x000500b1, 0x00000026, 0x000000a1, 0x0000009f, 0x00000025,
0x000400f6, 0x000000a2, 0x0000009c, 0x00000002, 0x000400fa, 0x000000a1, 0x000000a3, 0x000000a2,
0x000200f8, 0x000000a3, 0x0004006e, 0x00000014, 0x000000a4, 0x00000093, 0x000500af, 0x00000026,
0x000000a5, 0x0000009f, 0x000000a4, 0x000300f7, 0x000000a6, 0x00000000, 0x000400fa, 0x000000a5,
0x000000a7, 0x000000a6, 0x000200f8, 0x000000a7, 0x000200f9, 0x000000a2, 0x000200f8, 0x000000a6,
0x0004006f, 0x00000016, 0x000000a8, 0x0000009f, 0x00050081, 0x00000016, 0x000000a9, 0x000000a8,
0x00000098, 0x00050088, 0x00000016, 0x000000aa, 0x000000a9, 0x00000093, 0x00050085, 0x00000016,
0x000000ab, 0x000000aa, 0x00000090, 0x0005008e, 0x00000052, 0x000000ac, 0x0000008d, 0x000000ab,
0x00050081, 0x00000052, 0x000000ad, 0x00000088, 0x000000ac, 0x000300f7, 0x000000ae, 0x00000000,
0x000300fb, 0x00000042, 0x000000af, 0x000200f8, 0x000000af, 0x00050041, 0x00000053, 0x000000b0,
0x00000009, 0x00000018, 0x0004003d, 0x00000029, 0x000000b1, 0x000000b0, 0x0008004f, 0x00000052,
0x000000b2, 0x000000b1, 0x000000b1, 0x00000000, 0x00000001, 0x00000002, 0x00050094, 0x00000016,
0x000000b3, 0x000000b2, 0x000000ad, 0x00060041, 0x00000054, 0x000000b4, 0x00000009, 0x00000018,
0x0000001b, 0x0004003d, 0x00000016, 0x000000b5, 0x000000b4, 0x00050081, 0x00000016, 0x000000b6,
0x000000b3, 0x000000b5, 0x00050041, 0x00000053, 0x000000b7, 0x00000009, 0x00000015, 0x0004003d,
0x00000029, 0x000000b8, 0x000000b7, 0x0008004f, 0x00000052, 0x000000b9, 0x000000b8, 0x000000b8,
0x00000000, 0x00000001, 0x00000002, 0x00050094, 0x00000016, 0x000000ba, 0x000000b9, 0x000000ad,
0x00060041, 0x00000054, 0x000000bb, 0x00000009, 0x00000015, 0x0000001b, 0x0004003d, 0x00000016,
0x000000bc, 0x000000bb, 0x00050081, 0x00000016, 0x000000bd, 0x000000ba, 0x000000bc, 0x00050050,
0x00000030, 0x000000be, 0x000000b6, 0x000000bd, 0x00050041, 0x00000053, 0x000000bf, 0x00000009,
0x0000001d, 0x0004003d, 0x00000029, 0x000000c0, 0x000000bf, 0x0007004f, 0x00000030, 0x000000c1,
0x000000c0, 0x000000c0, 0x00000000, 0x00000001, 0x00050085, 0x00000030, 0x000000c2, 0x000000be,
0x000000c1, 0x0007004f, 0x00000030, 0x000000c3, 0x000000c0, 0x000000c0, 0x00000002, 0x00000003,
0x00050081, 0x00000030, 0x000000c4, 0x000000c2, 0x000000c3, 0x00050051, 0x00000016, 0x000000c5,
0x000000c4, 0x00000000, 0x0006000c, 0x00000016, 0x000000c6, 0x00000001, 0x00000004, 0x000000c5,
0x00050051, 0x00000016, 0x000000c7, 0x000000c4, 0x00000001, 0x0006000c, 0x00000016, 0x000000c8,
0x00000001, 0x00000004, 0x000000c7, 0x0007000c, 0x00000016, 0x000000c9, 0x00000001, 0x00000050,
0x000000c6, 0x000000c8, 0x000500b8, 0x00000026, 0x000000ca, 0x000000c9, 0x00000033, 0x00050050,
0x00000055, 0x000000cb, 0x000000ca, 0x000000ca, 0x000600a9, 0x00000030, 0x000000cc, 0x000000cb,
0x000000c4, 0x00000032, 0x000600a9, 0x00000016, 0x000000cd, 0x000000ca, 0x00000034, 0x00000017,
0x00050041, 0x00000053, 0x000000ce, 0x00000009, 0x0000001b, 0x0004003d, 0x00000029, 0x000000cf,
0x000000ce, 0x0007004f, 0x00000030, 0x000000d0, 0x000000cf, 0x000000cf, 0x00000000, 0x00000001,
0x00050085, 0x00000030, 0x000000d1, 0x000000be, 0x000000d0, 0x0007004f, 0x00000030, 0x000000d2,
0x000000cf, 0x000000cf, 0x00000002, 0x00000003, 0x00050081, 0x00000030, 0x000000d3, 0x000000d1,
0x000000d2, 0x00050051, 0x00000016, 0x000000d4, 0x000000d3, 0x00000000, 0x0006000c, 0x00000016,
0x000000d5, 0x00000001, 0x00000004, 0x000000d4, 0x00050051, 0x00000016, 0x000000d6, 0x000000d3,
0x00000001, 0x0006000c, 0x00000016, 0x000000d7, 0x00000001, 0x00000004, 0x000000d6, 0x0007000c,
0x00000016, 0x000000d8, 0x00000001, 0x00000050, 0x000000d5, 0x000000d7, 0x000500b8, 0x00000026,
0x000000d9, 0x000000d8, 0x00000033, 0x00050050, 0x00000055, 0x000000da, 0x000000d9, 0x000000d9,
0x000600a9, 0x00000030, 0x000000db, 0x000000da, 0x000000d3, 0x000000cc, 0x000600a9, 0x00000016,
0x000000dc, 0x000000d9, 0x00000019, 0x000000cd, 0x0006000c, 0x00000016, 0x000000dd, 0x00000001,
0x00000004, 0x000000b6, 0x0006000c, 0x00000016, 0x000000de, 0x00000001, 0x00000004, 0x000000bd,
0x0007000c, 0x00000016, 0x000000df, 0x00000001, 0x00000050, 0x000000dd, 0x000000de, 0x000500b8,
0x00000026, 0x000000e0, 0x000000df, 0x00000033, 0x00050050, 0x00000055, 0x000000e1, 0x000000e0,
0x000000e0, 0x000600a9, 0x00000030, 0x000000e2, 0x000000e1, 0x000000be, 0x000000db, 0x000600a9,
0x00000016, 0x000000e3, 0x000000e0, 0x0000001a, 0x000000dc, 0x000500bc, 0x00000026, 0x000000e4,
0x000000e3, 0x00000017, 0x000300f7, 0x000000e5, 0x00000000, 0x000400fa, 0x000000e4, 0x000000e6,
0x000000e5, 0x000200f8, 0x000000e6, 0x000200f9, 0x000000ae, 0x000200f8, 0x000000e5, 0x00050051,
0x00000016, 0x000000e7, 0x000000e2, 0x00000000, 0x00050085, 0x00000016, 0x000000e8, 0x000000e3,
0x00000019, 0x00050083, 0x00000016, 0x000000e9, 0x000000e8, 0x0000001a, 0x00050081, 0x00000016,
0x000000ea, 0x000000e7, 0x000000e9, 0x00050085, 0x00000016, 0x000000eb, 0x00000056, 0x000000ea,
0x00050051, 0x00000016, 0x000000ec, 0x000000e2, 0x00000001, 0x00050085, 0x00000016, 0x000000ed,
0x000000ec, 0x00000037, 0x00050081, 0x00000016, 0x000000ee, 0x000000ed, 0x00000038, 0x00050050,
0x00000030, 0x000000ef, 0x000000eb, 0x000000ee, 0x00050041, 0x00000053, 0x000000f0, 0x00000009,
0x00000020, 0x0004003d, 0x00000029, 0x000000f1, 0x000000f0, 0x0008004f, 0x00000052, 0x000000f2,
0x000000f1, 0x000000f1, 0x00000000, 0x00000001, 0x00000002, 0x00050094, 0x00000016, 0x000000f3,
0x000000f2, 0x000000ad, 0x00060041, 0x00000054, 0x000000f4, 0x00000009, 0x00000020, 0x0000001b,
0x0004003d, 0x00000016, 0x000000f5, 0x000000f4, 0x00050081, 0x00000016, 0x000000f6, 0x000000f3,
0x000000f5, 0x000500ba, 0x00000026, 0x000000f7, 0x000000e3, 0x0000002c, 0x000600a9, 0x00000016,
0x000000f8, 0x000000f7, 0x00000039, 0x0000003a, 0x00050083, 0x00000016, 0x000000f9, 0x000000f6,
0x000000f8, 0x0004003d, 0x0000000a, 0x000000fa, 0x0000000c, 0x0004003d, 0x0000000f, 0x000000fb,
0x00000011, 0x00050056, 0x00000012, 0x000000fc, 0x000000fa, 0x000000fb, 0x00070058, 0x00000029,
0x000000fd, 0x000000fc, 0x000000ef, 0x00000002, 0x00000017, 0x00050051, 0x00000016, 0x000000fe,
0x000000fd, 0x00000000, 0x000500be, 0x00000026, 0x000000ff, 0x000000fe, 0x000000f9, 0x000600a9,
0x00000016, 0x00000100, 0x000000ff, 0x0000001a, 0x00000017, 0x00050051, 0x00000016, 0x00000101,
0x000000fd, 0x00000001, 0x00050083, 0x00000016, 0x00000102, 0x0000001a, 0x00000101, 0x00050081,
0x00000016, 0x00000103, 0x00000100, 0x00000102, 0x0008000c, 0x00000016, 0x00000104, 0x00000001,
0x0000002b, 0x00000103, 0x00000017, 0x0000001a, 0x000200f9, 0x000000ae, 0x000200f8, 0x000000ae,
0x000700f5, 0x00000016, 0x00000105, 0x00000035, 0x000000e6, 0x00000104, 0x000000e5, 0x000300f7,
0x00000106, 0x00000000, 0x000300fb, 0x00000042, 0x00000107, 0x000200f8, 0x00000107, 0x00060041,
0x00000054, 0x00000108, 0x00000009, 0x0000003b, 0x00000018, 0x0004003d, 0x00000016, 0x00000109,
0x00000108, 0x000500bc, 0x00000026, 0x0000010a, 0x00000109, 0x00000017, 0x000300f7, 0x0000010b,
0x00000000, 0x000400fa, 0x0000010a, 0x0000010c, 0x0000010b, 0x000200f8, 0x0000010c, 0x000200f9,
0x00000106, 0x000200f8, 0x0000010b, 0x00050041, 0x00000053, 0x0000010d, 0x00000009, 0x0000003c,
0x0004003d, 0x00000029, 0x0000010e, 0x0000010d, 0x0008004f, 0x00000052, 0x0000010f, 0x0000010e,
0x0000010e, 0x00000000, 0x00000001, 0x00000002, 0x00050094, 0x00000016, 0x00000110, 0x0000010f,
0x000000ad, 0x00060041, 0x00000054, 0x00000111, 0x00000009, 0x0000003c, 0x0000001b, 0x0004003d,
0x00000016, 0x00000112, 0x00000111, 0x00050081, 0x00000016, 0x00000113, 0x00000110, 0x00000112,
0x00050041, 0x00000053, 0x00000114, 0x00000009, 0x0000003d, 0x0004003d, 0x00000029, 0x00000115,
0x00000114, 0x0008004f, 0x00000052, 0x00000116, 0x00000115, 0x00000115, 0x00000000, 0x00000001,
0x00000002, 0x00050094, 0x00000016, 0x00000117, 0x00000116, 0x000000ad, 0x00060041, 0x00000054,
0x00000118, 0x00000009, 0x0000003d, 0x0000001b, 0x0004003d, 0x00000016, 0x00000119, 0x00000118,
0x00050081, 0x00000016, 0x0000011a, 0x00000117, 0x00000119, 0x00050050, 0x00000030, 0x0000011b,
0x00000113, 0x0000011a, 0x0006000c, 0x00000016, 0x0000011c, 0x00000001, 0x00000004, 0x00000113,
0x0006000c, 0x00000016, 0x0000011d, 0x00000001, 0x00000004, 0x0000011a, 0x0007000c, 0x00000016,
0x0000011e, 0x00000001, 0x00000050, 0x0000011c, 0x0000011d, 0x000500be, 0x00000026, 0x0000011f,
0x0000011e, 0x00000033, 0x000300f7, 0x00000120, 0x00000000, 0x000400fa, 0x0000011f, 0x00000121,
0x00000120, 0x000200f8, 0x00000121, 0x000200f9, 0x00000106, 0x000200f8, 0x00000120, 0x0005008e,
0x00000030, 0x00000122, 0x0000011b, 0x00000036, 0x0005008e, 0x00000030, 0x00000123, 0x0000011b,
0x00000019, 0x00050051, 0x00000016, 0x00000124, 0x00000122, 0x00000000, 0x0006000c, 0x00000016,
0x00000125, 0x00000001, 0x00000004, 0x00000124, 0x00050051, 0x00000016, 0x00000126, 0x00000122,
0x00000001, 0x0006000c, 0x00000016, 0x00000127, 0x00000001, 0x00000004, 0x00000126, 0x0007000c,
0x00000016, 0x00000128, 0x00000001, 0x00000050, 0x00000125, 0x00000127, 0x000500b8, 0x00000026,
0x00000129, 0x00000128, 0x00000033, 0x000300f7, 0x0000012a, 0x00000000, 0x000400fa, 0x00000129,
0x0000012b, 0x0000012c, 0x000200f8, 0x0000012b, 0x000200f9, 0x0000012a, 0x000200f8, 0x0000012c,
0x00050051, 0x00000016, 0x0000012d, 0x00000123, 0x00000000, 0x0006000c, 0x00000016, 0x0000012e,
0x00000001, 0x00000004, 0x0000012d, 0x00050051, 0x00000016, 0x0000012f, 0x00000123, 0x00000001,
0x0006000c, 0x00000016, 0x00000130, 0x00000001, 0x00000004, 0x0000012f, 0x0007000c, 0x00000016,
0x00000131, 0x00000001, 0x00000050, 0x0000012e, 0x00000130, 0x000500b8, 0x00000026, 0x00000132,
0x00000131, 0x00000033, 0x000600a9, 0x00000016, 0x00000133, 0x00000132, 0x0000001a, 0x00000019,
0x00050050, 0x00000055, 0x00000134, 0x00000132, 0x00000132, 0x000600a9, 0x00000030, 0x00000135,
0x00000134, 0x00000123, 0x0000011b, 0x000200f9, 0x0000012a, 0x000200f8, 0x0000012a, 0x000700f5,
0x00000016, 0x00000136, 0x00000017, 0x0000012b, 0x00000133, 0x0000012c, 0x000700f5, 0x00000030,
0x00000137, 0x00000122, 0x0000012b, 0x00000135, 0x0000012c, 0x00050051, 0x00000016, 0x00000138,
0x00000137, 0x00000000, 0x00050085, 0x00000016, 0x00000139, 0x00000136, 0x00000019, 0x00050081,
0x00000016, 0x0000013a, 0x00000139, 0x0000001a, 0x00050081, 0x00000016, 0x0000013b, 0x00000138,
0x0000013a, 0x00050085, 0x00000016, 0x0000013c, 0x00000056, 0x0000013b, 0x00050051, 0x00000016,
0x0000013d, 0x00000137, 0x00000001, 0x00050085, 0x00000016, 0x0000013e, 0x0000013d, 0x00000037,
0x00050081, 0x00000016, 0x0000013f, 0x0000013e, 0x00000038, 0x00050050, 0x00000030, 0x00000140,
0x0000013c, 0x0000013f, 0x00060041, 0x00000054, 0x00000141, 0x00000009, 0x0000003f, 0x0000001b,
0x0004003d, 0x00000016, 0x00000142, 0x00000141, 0x00050088, 0x00000016, 0x00000143, 0x0000003e,
0x00000142, 0x00050085, 0x00000016, 0x00000144, 0x00000136, 0x00000057, 0x00050081, 0x00000016,
0x00000145, 0x00000144, 0x00000143, 0x00050081, 0x00000016, 0x00000146, 0x00000144, 0x00000040,
0x00050083, 0x00000016, 0x00000147, 0x00000146, 0x00000143, 0x0008000c, 0x00000016, 0x00000148,
0x00000001, 0x0000002b, 0x0000013c, 0x00000145, 0x00000147, 0x00060052, 0x00000030, 0x00000149,
0x00000148, 0x00000140, 0x00000000, 0x00050041, 0x00000053, 0x0000014a, 0x00000009, 0x00000043,
0x0004003d, 0x00000029, 0x0000014b, 0x0000014a, 0x0008004f, 0x00000052, 0x0000014c, 0x0000014b,
0x0000014b, 0x00000000, 0x00000001, 0x00000002, 0x00050094, 0x00000016, 0x0000014d, 0x0000014c,
0x000000ad, 0x00060041, 0x00000054, 0x0000014e, 0x00000009, 0x00000043, 0x0000001b, 0x0004003d,
0x00000016, 0x0000014f, 0x0000014e, 0x00050081, 0x00000016, 0x00000150, 0x0000014d, 0x0000014f,
0x00060041, 0x00000054, 0x00000151, 0x00000009, 0x0000003f, 0x00000018, 0x0004003d, 0x00000016,
0x00000152, 0x00000151, 0x00050083, 0x00000016, 0x00000153, 0x00000150, 0x00000152, 0x0004003d,
0x0000000a, 0x00000154, 0x0000000e, 0x0004003d, 0x0000000f, 0x00000155, 0x00000011, 0x00050056,
0x00000012, 0x00000156, 0x00000154, 0x00000155, 0x00070058, 0x00000029, 0x00000157, 0x00000156,
0x00000149, 0x00000002, 0x00000017, 0x00050051, 0x00000016, 0x00000158, 0x00000157, 0x00000000,
0x000500be, 0x00000026, 0x00000159, 0x00000158, 0x00000153, 0x000600a9, 0x00000016, 0x0000015a,
0x00000159, 0x0000001a, 0x00000017, 0x00050083, 0x00000016, 0x0000015b, 0x0000001a, 0x0000015a,
0x00050085, 0x00000016, 0x0000015c, 0x00000109, 0x0000015b, 0x00050083, 0x00000016, 0x0000015d,
0x0000001a, 0x0000015c, 0x000200f9, 0x00000106, 0x000200f8, 0x00000106, 0x000900f5, 0x00000016,
0x0000015e, 0x00000035, 0x0000010c, 0x00000035, 0x00000121, 0x0000015d, 0x0000012a, 0x000500be,
0x00000026, 0x0000015f, 0x0000015e, 0x00000017, 0x000300f7, 0x00000160, 0x00000000, 0x000400fa,
0x0000015f, 0x00000161, 0x00000162, 0x000200f8, 0x00000161, 0x000200f9, 0x00000160, 0x000200f8,
0x00000162, 0x000300f7, 0x00000163, 0x00000000, 0x000300fb, 0x00000042, 0x00000164, 0x000200f8,
0x00000164, 0x00050051, 0x00000016, 0x00000165, 0x000000ad, 0x00000000, 0x00050051, 0x00000016,
0x00000166, 0x000000ad, 0x00000001, 0x00050051, 0x00000016, 0x00000167, 0x000000ad, 0x00000002,
0x00070050, 0x00000029, 0x00000168, 0x00000165, 0x00000166, 0x00000167, 0x0000001a, 0x00050041,
0x00000053, 0x00000169, 0x00000009, 0x00000044, 0x0004003d, 0x00000029, 0x0000016a, 0x00000169,
0x00050094, 0x00000016, 0x0000016b, 0x00000168, 0x0000016a, 0x00050085, 0x00000016, 0x0000016c,
0x0000016b, 0x00000038, 0x00050081, 0x00000016, 0x0000016d, 0x0000016c, 0x00000038, 0x00050041,
0x00000053, 0x0000016e, 0x00000009, 0x00000045, 0x0004003d, 0x00000029, 0x0000016f, 0x0000016e,
0x00050094, 0x00000016, 0x00000170, 0x00000168, 0x0000016f, 0x00050085, 0x00000016, 0x00000171,
0x00000170, 0x00000037, 0x00050081, 0x00000016, 0x00000172, 0x00000171, 0x00000038, 0x00050050,
0x00000030, 0x00000173, 0x0000016d, 0x00000172, 0x0008000c, 0x00000030, 0x00000174, 0x00000001,
0x0000002b, 0x00000173, 0x00000032, 0x00000046, 0x000500b6, 0x00000055, 0x00000175, 0x00000174,
0x00000173, 0x0004009a, 0x00000026, 0x00000176, 0x00000175, 0x000300f7, 0x00000177, 0x00000000,
0x000400fa, 0x00000176, 0x00000178, 0x00000177, 0x000200f8, 0x00000178, 0x000200f9, 0x00000163,
0x000200f8, 0x00000177, 0x0004003d, 0x0000000a, 0x00000179, 0x0000000d, 0x0004003d, 0x0000000f,
0x0000017a, 0x00000010, 0x00050056, 0x00000012, 0x0000017b, 0x00000179, 0x0000017a, 0x00070058,
0x00000029, 0x0000017c, 0x0000017b, 0x00000173, 0x00000002, 0x00000017, 0x00050051, 0x00000016,
0x0000017d, 0x0000017c, 0x00000000, 0x00050041, 0x00000053, 0x0000017e, 0x00000009, 0x00000047,
0x0004003d, 0x00000029, 0x0000017f, 0x0000017e, 0x00050094, 0x00000016, 0x00000180, 0x00000168,
0x0000017f, 0x000500be, 0x00000026, 0x00000181, 0x0000017d, 0x00000180, 0x000600a9, 0x00000016,
0x00000182, 0x00000181, 0x0000001a, 0x00000017, 0x000200f9, 0x00000163, 0x000200f8, 0x00000163,
0x000700f5, 0x00000016, 0x00000183, 0x00000035, 0x00000178, 0x00000182, 0x00000177, 0x000200f9,
0x00000160, 0x000200f8, 0x00000160, 0x000700f5, 0x00000016, 0x00000184, 0x0000015e, 0x00000161,
0x00000183, 0x00000163, 0x000500b9, 0x00000026, 0x00000185, 0x00000105, 0x00000017, 0x000300f7,
0x00000186, 0x00000000, 0x000400fa, 0x00000185, 0x00000187, 0x00000186, 0x000200f8, 0x00000187,
0x000500be, 0x00000026, 0x00000188, 0x00000184, 0x00000017, 0x000200f9, 0x00000186, 0x000200f8,
0x00000186, 0x000700f5, 0x00000026, 0x00000189, 0x00000027, 0x00000160, 0x00000188, 0x00000187,
0x000300f7, 0x0000018a, 0x00000000, 0x000400fa, 0x00000189, 0x0000018b, 0x0000018a, 0x000200f8,
0x0000018b, 0x000500b8, 0x00000026, 0x0000018c, 0x00000105, 0x00000017, 0x000600a9, 0x00000016,
0x0000018d, 0x0000018c, 0x0000001a, 0x00000105, 0x000500b8, 0x00000026, 0x0000018e, 0x00000184,
0x00000017, 0x000600a9, 0x00000016, 0x0000018f, 0x0000018e, 0x0000001a, 0x00000184, 0x0007000c,
0x00000016, 0x00000190, 0x00000001, 0x0000004f, 0x0000018d, 0x0000018f, 0x00050081, 0x00000016,
0x00000191, 0x0000009d, 0x00000190, 0x00050081, 0x00000016, 0x00000192, 0x0000009a, 0x0000001a,
0x000200f9, 0x0000018a, 0x000200f8, 0x0000018a, 0x000700f5, 0x00000016, 0x0000009b, 0x0000009a,
0x00000186, 0x00000192, 0x0000018b, 0x000700f5, 0x00000016, 0x0000009e, 0x0000009d, 0x00000186,
0x00000191, 0x0000018b, 0x000200f9, 0x0000009c, 0x000200f8, 0x0000009c, 0x00050080, 0x00000014,
0x000000a0, 0x0000009f, 0x00000015, 0x000200f9, 0x00000099, 0x000200f8, 0x000000a2, 0x000500b8,
0x00000026, 0x00000193, 0x0000009a, 0x00000028, 0x000300f7, 0x00000194, 0x00000000, 0x000400fa,
0x00000193, 0x00000195, 0x00000194, 0x000200f8, 0x00000195, 0x000200f9, 0x0000005b, 0x000200f8,
0x00000194, 0x00050041, 0x00000053, 0x00000196, 0x00000009, 0x00000021, 0x0004003d, 0x00000029,
0x00000197, 0x00000196, 0x0008004f, 0x00000052, 0x00000198, 0x00000197, 0x00000197, 0x00000000,
0x00000001, 0x00000002, 0x00050094, 0x00000016, 0x00000199, 0x0000008d, 0x00000198, 0x00060041,
0x00000054, 0x0000019a, 0x00000007, 0x00000020, 0x00000020, 0x0004003d, 0x00000016, 0x0000019b,
0x0000019a, 0x00050085, 0x00000016, 0x0000019c, 0x0000019b, 0x0000019b, 0x00050083, 0x00000016,
0x0000019d, 0x0000001a, 0x0000019c, 0x00050081, 0x00000016, 0x0000019e, 0x0000001a, 0x0000019c,
0x00050085, 0x00000016, 0x0000019f, 0x00000019, 0x0000019b, 0x00050085, 0x00000016, 0x000001a0,
0x0000019f, 0x00000199, 0x00050083, 0x00000016, 0x000001a1, 0x0000019e, 0x000001a0, 0x0007000c,
0x00000016, 0x000001a2, 0x00000001, 0x00000050, 0x000001a1, 0x0000002b, 0x0007000c, 0x00000016,
0x000001a3, 0x00000001, 0x0000001a, 0x000001a2, 0x0000002c, 0x00050088, 0x00000016, 0x000001a4,
0x0000019d, 0x000001a3, 0x0007000c, 0x00000016, 0x000001a5, 0x00000001, 0x0000004f, 0x000001a4,
0x00000019, 0x00050088, 0x00000016, 0x000001a6, 0x0000009d, 0x0000009a, 0x00050083, 0x00000016,
0x000001a7, 0x0000001a, 0x000001a6, 0x00050085, 0x00000016, 0x000001a8, 0x000001a7, 0x000001a5,
0x0007000c, 0x00000016, 0x000001a9, 0x00000001, 0x00000050, 0x0000008f, 0x0000001a, 0x00050088,
0x00000016, 0x000001aa, 0x00000090, 0x000001a9, 0x0008000c, 0x00000016, 0x000001ab, 0x00000001,
0x0000002b, 0x000001aa, 0x00000017, 0x0000001a, 0x00050085, 0x00000016, 0x000001ac, 0x000001a8,
0x000001ab, 0x00070050, 0x00000029, 0x000001ad, 0x000001ac, 0x000001ac, 0x000001ac, 0x0000001a,
0x000200f9, 0x0000005b, 0x000200f8, 0x0000005b, 0x000700f5, 0x00000029, 0x000001ae, 0x0000002a,
0x00000195, 0x000001ad, 0x00000194, 0x0003003e, 0x00000005, 0x000001ae, 0x000100fd, 0x00010038,
};
// ssr.hlsl : vs_main (800 bytes)

View file

@ -1186,8 +1186,9 @@ bool ApplyVolumetricPass(const NativeGuestOutputRenderContext& context,
cmd->FlushBarriers();
// 2) Shadow-marched shafts (half res): world-space camera->pixel march
// testing per-step sun visibility against the CSM atlas + the static
// world-shadow map (see ps_vol_shafts).
// testing per-step sun visibility against the CSM atlas + the native
// static sun-shadow map, with the baked world-shadow map as the fallback
// outside its coverage (see ps_vol_shafts).
bool shaft_plane = false;
if (shafts && inv_ok && g_r.vol_tex != nullptr && g_r.vol_tex_b != nullptr) {
const nrhi::Viewport vol_vp{0.0f, 0.0f, float(vw), float(vh), 0.0f, 1.0f};
@ -1218,6 +1219,15 @@ bool ApplyVolumetricPass(const NativeGuestOutputRenderContext& context,
g_r.world_shadow_in_srv)
? g_r.world_shadow_srv
: g_r.white.srv);
// t4 = the native static sun-shadow atlas (the scene pass's t10) when
// rendered this frame; the march prefers it over the ws map inside its
// coverage so static shafts follow the true material-sun axis. The b1
// nsm rows are zeroed when the map is invalid, so the white fallback is
// never actually compared.
cmd->SetTexture(5, (g_r.static_sun_valid && g_r.static_sun_in_srv &&
g_r.static_sun_srv != nullptr)
? g_r.static_sun_srv
: g_r.white.srv);
cmd->Draw(3, 0);
cmd->Barrier(g_r.vol_tex, nrhi::ResourceState::kRenderTarget,
nrhi::ResourceState::kPixelShaderResource);
@ -1270,13 +1280,15 @@ bool ApplyVolumetricPass(const NativeGuestOutputRenderContext& context,
if (s_vol_log < 4 || (s_vol_log % 36000) == 0) {
REXLOG_INFO(
"native-scene: vol2 shafts={} gates[cvar={} shvalid={} atlas={} "
"insrv={}] inv={} ws={} tex={} tint=({:.3f},{:.3f},{:.3f}) "
"insrv={}] inv={} ws={} nsm={} tex={} tint=({:.3f},{:.3f},{:.3f}) "
"expo={:.2f} sunv=({:.2f},{:.2f},{:.2f}) lin={}",
shaft_plane ? 1 : 0,
REXCVAR_GET(skate3_native_render_scene_shafts) ? 1 : 0,
scene.shadow_valid ? 1 : 0, g_r.shadow_srv_final != nullptr ? 1 : 0,
g_r.shadow_in_srv_state ? 1 : 0, inv_ok ? 1 : 0,
g_r.world_shadow_in_srv ? 1 : 0, g_r.vol_tex != nullptr ? 1 : 0,
g_r.world_shadow_in_srv ? 1 : 0,
(g_r.static_sun_valid && g_r.static_sun_in_srv) ? 1 : 0,
g_r.vol_tex != nullptr ? 1 : 0,
g_r.vol_rows[8], g_r.vol_rows[9], g_r.vol_rows[10], expo, sun_view[0],
sun_view[1], sun_view[2], lin_ready ? "ao" : "own");
}