Laboratory of Babel / Archive / grad-noise-175k

grad-noise-175k

Gradient noise, 175k (run of 2026-09-23) · A complete batch run over 175,797 lattice-noise expressions, with 32 texture diagnostics and a frame of each.

About this collection

This collection is complete and closed. Every expression in the space below was rendered and measured once, in a single batch run. Each row is one expression, and its coordinate links to it running live on uto.run.

The purpose is exploratory. There is no target texture and no attempt to resemble Perlin noise. A constant field, a strongly directional pattern or an odd value distribution is an observation, not a failure. The measurements describe textures so they can be sorted, filtered and compared. They are a lossy fingerprint, not a judgement of quality and not a substitute for looking.

The space

An ither formula with two layers:

  • topo: expression trees of up to 64 nodes, built from unary (o1), binary (o2) and leaf (x) slots
  • expr: fills those slots
    • leaves: P, D, R
    • unary: sqt log frc flr cil sgn nrm
    • binary: add sub mlt div pow mod lrg eql min dot dst

A coordinate t·x·u·b follows the formula's projection: t the topology, x the leaf choices, u the unary choices, b the binary choices. Points outside the space were omitted from the run. Two orderings ride along: ordinal is the point's position in ither's whole enumeration (gaps where points were omitted), and batch index is its place in the batch run's sequence, 0 to 175,796 (the run's inputs.expr, and the number in its frame's file name).

The apparatus

Each expression is evaluated at the corners of a rectangular lattice with quintic blending (LATT.RECT.QUINTIC), over coordinates mlt(C, 8), in a 256 × 256 field #A. One configuration per expression: the dimension and coordinate scale were fixed for the whole run.

Measurements are taken from #A's x channel, its stored values (not a screenshot), at step 7, after which the run moves to the next expression. The frame in each row is that field, remapped for display.

The measurements

Notation: f is the field value, E averages the whole field, and E_I averages the interior (C-space [-0.98, 0.98]², which keeps wrapped edges out of the spatial measures).

Value distribution

key meaning
value_mean, value_abs_mean E[f] and E[|f|]: signed offset, typical distance from zero
value_positive_fraction share of values above 0 (field tolerance 0.0001)
value_variance, value_stddev population variance and SD: contrast
value_min, value_max, value_range sampled extrema and their difference
histogram_entropy_bits entropy of a 32-bin histogram over [−1, 1], 0 (one bin) to 5 (uniform) bits
histogram_probability_sum consistency check, ≈ 1

Local roughness (one-pixel differences dx, dy, and g = √(dx² + dy²))

key meaning
gradient_energy_x, gradient_energy_y E_I[dx²], E_I[dy²]
gradient_magnitude_mean E_I[g]: roughness
gradient_magnitude_variance, _stddev, _max how unevenly that roughness is spread, and its peak
gradient_magnitude_cv SD / mean of g: uneven activity (quiet areas interrupted by edges), independent of amplitude
gradient_axis_bias (Ex − Ey) / (Ex + Ey), −1 to 1: horizontal vs vertical preference. Zero does not mean isotropic (diagonals balance too)
gradient_nonzero_flag 1 if there is any gradient energy at all

Change of slope (four-neighbour Laplacian L)

key meaning
laplacian_mean, laplacian_energy, laplacian_abs_mean E_I[L], E_I[L²], E_I[|L|]. Sharp or high-frequency structure responds; a linear ramp does not

Normalised by contrast (comparable across amplitudes)

key meaning
gradient_energy_over_variance (Ex + Ey) / variance
laplacian_energy_over_variance E_I[L²] / variance
variance_normalization_valid_flag, gradient_cv_valid_flag whether the denominators above are meaningful (> 10⁻¹²). Filter on these before trusting a ratio

Three spatial scales (mean squared difference at a distance, over the central [-0.74, 0.74]²: 2, 8 and 32 pixels at this resolution)

key meaning
scale_diff2_near, _mid, _far raw difference energy at each distance
scale_diff2_near_over_variance, _mid_…, _far_… the same, normalised. Low near and rising far suggests smooth structure; a dip at a longer distance can hint at repetition

Each record's json also holds value_histogram (the 32 bin probabilities) and scale_curve (the three scales with their distances).

Reading them, and their limits

  • Clipping. #A kept its default signed domain, so values outside [−1, 1] were clipped before measuring. The diagnostics describe the clipped texture.
  • Combinations say more than any one key. A large range with modest SD and a high gradient peak suggests a few strong excursions. A broad histogram with low normalised detail suggests smooth variation. Similar roughness with a different CV means the activity is concentrated differently.
  • Entropy is about values, not space. A smooth ramp can have high entropy, and shuffling the pixels would not change it.
  • Raw spatial measures depend on resolution and amplitude. Prefer the normalised keys for detail independent of contrast, after checking the validity flags.
  • Not measured: full orientation, spectra or periodicity, lacunarity, tileability, colour, novelty, aesthetic merit.
  • Validation. The suite compiled and ran on every expression. Systematic numerical controls (constants, ramps, stripes, checkerboards, random pixels) and a comparison against longer settling times were not done before this run. Treat the values as exploratory.

Provenance

  • Apparatus: noiseBatch/one.uto, project SHA-256 b6fc8f27…be04d0
  • Expression corpus: SHA-256 7d3ec029…d72266
  • Run files (canonical), in ~/lab/data/grad-noise-175k/: the enumeration (grad-noise-175k.jsonl), the measurements (grad-noise-175k-output.jsonl, joined on inputs.expr), the formula (grad-noise-175k.manifest.json) and the frames (png/)
175,797 records
coordinate ▲ t x u b expression batch index ordinal topo measured step globalStep value_mean value_positive_fraction value_abs_mean value_variance value_stddev value_min value_max value_range histogram_probability_sum histogram_entropy_bits gradient_energy_x gradient_energy_y gradient_magnitude_mean gradient_axis_bias gradient_nonzero_flag laplacian_mean laplacian_energy laplacian_abs_mean gradient_magnitude_variance gradient_magnitude_stddev gradient_magnitude_cv gradient_magnitude_max gradient_energy_over_variance laplacian_energy_over_variance variance_normalization_valid_flag gradient_cv_valid_flag scale_diff2_near scale_diff2_mid scale_diff2_far scale_diff2_near_over_variance scale_diff2_mid_over_variance scale_diff2_far_over_variance
t11_x8_u13_b8 11 8 13 8 log(min(R,nrm(R))) 18800 89652440 o1(o2(x,o1(x))) true 150407 150407 -0.9875 0 0.9875 0.006125 0.07827 -1 -0.1337 0.8663 1 0.3035 0.0007049 0.0007609 0.004111 -0.03818 1 0.0000158 0.002884 0.005499 0.001448 0.03805 9.255 0.8424 0.2393 0.4708 1 1 0 0 0.001301 0 0 0.2124 json
t11_x8_u13_b9 11 8 13 9 log(dot(R,nrm(R))) 18801 89652441 o1(o2(x,o1(x))) true 150415 150415 -0.07705 0.4672 0.2057 0.07215 0.2686 -1 0.4433 1.443 1 3.97 0.0008163 0.001119 0.03282 -0.1565 1 0.00001519 0.0001677 0.007841 0.0008586 0.0293 0.8929 0.2795 0.02683 0.002324 1 1 0 0 0.003218 0 0 0.0446 json
t11_x8_u13_b10 11 8 13 10 log(dst(R,nrm(R))) 18802 89652442 o1(o2(x,o1(x))) true 150423 150423 -0.9779 0 0.9779 0.007061 0.08403 -1 -0.105 0.895 1 0.672 0.0002106 0.0003622 0.006509 -0.2647 1 0.00004537 0.0002802 0.004276 0.0005301 0.02302 3.538 0.2753 0.08112 0.03968 1 1 0 0 0.00087 0 0 0.1232 json
t11_x8_u14_b0 11 8 14 0 frc(add(R,sqt(R))) 18803 89652633 o1(o2(x,o1(x))) true 150431 150431 -0.9328 0.04297 0.9813 0.103 0.321 -1 0.9842 1.984 1 0.4188 0.01025 0.01092 0.01442 -0.03197 1 0.000005668 0.04419 0.02639 0.02095 0.1448 10.04 2.806 0.2055 0.4289 1 1 0 0 0.01584 0 0 0.1538 json
t11_x8_u14_b1 11 8 14 1 frc(sub(R,sqt(R))) 18804 89652634 o1(o2(x,o1(x))) true 150439 150439 -0.921 0.04297 0.9931 0.1392 0.3732 -1 0.9718 1.972 1 0.3315 0.0142 0.01386 0.01554 0.01213 1 0.000002847 0.05867 0.03061 0.02782 0.1668 10.73 2.738 0.2015 0.4213 1 1 0 0 0.02159 0 0 0.1551 json
t11_x8_u14_b2 11 8 14 2 frc(mlt(R,sqt(R))) 18805 89652635 o1(o2(x,o1(x))) true 150447 150447 -0.9372 0.04297 0.9769 0.08987 0.2998 -1 0.9155 1.916 1 0.4173 0.009033 0.00911 0.0134 -0.004231 1 0.00000985 0.03783 0.02446 0.01796 0.134 10 2.556 0.2019 0.4209 1 1 0 0 0.01444 0 0 0.1607 json
t11_x8_u14_b3 11 8 14 3 frc(div(R,sqt(R))) 18806 89652636 o1(o2(x,o1(x))) true 150455 150455 -0.9258 0.04297 0.9882 0.1235 0.3514 -1 0.971 1.971 1 0.3916 0.01252 0.01245 0.01513 0.002807 1 0.000005689 0.05219 0.02886 0.02476 0.1573 10.4 2.731 0.2023 0.4226 1 1 0 0 0.0197 0 0 0.1595 json
t11_x8_u14_b4 11 8 14 4 frc(pow(R,sqt(R))) 18807 89652637 o1(o2(x,o1(x))) true 150463 150463 -0.9277 0.04297 0.9864 0.1171 0.3422 -1 0.9445 1.944 1 0.3811 0.01187 0.01171 0.01462 0.006736 1 0.000005508 0.04928 0.02806 0.02339 0.1529 10.46 2.652 0.2014 0.4207 1 1 0 0 0.01836 0 0 0.1567 json
t11_x8_u14_b5 11 8 14 5 frc(mod(R,sqt(R))) 18808 89652638 o1(o2(x,o1(x))) true 150471 150471 -0.9327 0.04297 0.9813 0.1025 0.3202 -1 0.9428 1.943 1 0.413 0.01033 0.01038 0.01414 -0.00231 1 0.000008535 0.04322 0.0262 0.02051 0.1432 10.13 2.64 0.2021 0.4217 1 1 0 0 0.01648 0 0 0.1608 json
t11_x8_u14_b6 11 8 14 6 frc(lrg(R,sqt(R))) 18809 89652639 o1(o2(x,o1(x))) true 150479 150479 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u14_b7 11 8 14 7 frc(eql(R,sqt(R))) 18810 89652640 o1(o2(x,o1(x))) true 150487 150487 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u14_b8 11 8 14 8 frc(min(R,sqt(R))) 18811 89652641 o1(o2(x,o1(x))) true 150495 150495 0.5266 1 0.5266 0.05091 0.2256 0.001084 0.997 0.9959 1 3.815 0.0007236 0.0006853 0.03089 0.02719 1 0.00004432 0.00008334 0.007111 0.0004549 0.02133 0.6905 0.1132 0.02767 0.001637 1 1 0 0 0.002542 0 0 0.04993 json
t11_x8_u14_b9 11 8 14 9 frc(dot(R,sqt(R))) 18812 89652642 o1(o2(x,o1(x))) true 150503 150503 -1 0 1 0 0 -1 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u14_b10 11 8 14 10 frc(dst(R,sqt(R))) 18813 89652643 o1(o2(x,o1(x))) true 150511 150511 -1 0 1 0 0 -1 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u15_b0 11 8 15 0 frc(add(R,log(R))) 18814 89652834 o1(o2(x,o1(x))) true 150519 150519 -0.9327 0.04297 0.9814 0.1024 0.32 -1 0.9916 1.992 1 0.4093 0.01045 0.01005 0.01394 0.01958 1 0.000001424 0.04272 0.02606 0.0203 0.1425 10.22 2.484 0.2001 0.4171 1 1 0 0 0.01536 0 0 0.15 json
t11_x8_u15_b1 11 8 15 1 frc(sub(R,log(R))) 18815 89652835 o1(o2(x,o1(x))) true 150527 150527 -0.9484 0.04297 0.9657 0.06036 0.2457 -1 0.9795 1.979 1 0.3856 0.00609 0.006056 0.01078 0.002831 1 -0.000004318 0.02531 0.02009 0.01203 0.1097 10.18 2 0.2012 0.4194 1 1 0 0 0.008671 0 0 0.1436 json
t11_x8_u15_b2 11 8 15 2 frc(mlt(R,log(R))) 18816 89652836 o1(o2(x,o1(x))) true 150535 150535 -0.9249 0.04297 0.9891 0.1259 0.3548 -1 0.9445 1.945 1 0.3514 0.01281 0.01248 0.01492 0.01302 1 0.000003865 0.05283 0.02906 0.02507 0.1583 10.62 2.653 0.2009 0.4198 1 1 0 0 0.01935 0 0 0.1537 json
t11_x8_u15_b3 11 8 15 3 frc(div(R,log(R))) 18817 89652837 o1(o2(x,o1(x))) true 150543 150543 -0.9323 0.04297 0.9818 0.1038 0.3222 -1 0.9535 1.953 1 0.4112 0.0109 0.01029 0.01388 0.02896 1 -0.00000326 0.04425 0.02644 0.02099 0.1449 10.44 2.715 0.2042 0.4264 1 1 0 0 0.01604 0 0 0.1545 json
t11_x8_u15_b4 11 8 15 4 frc(pow(R,log(R))) 18818 89652838 o1(o2(x,o1(x))) true 150551 150551 -0.9466 0.04297 0.9675 0.06517 0.2553 -1 0.838 1.838 1 0.3951 0.007162 0.006797 0.01148 0.02614 1 -0.000006661 0.02922 0.02137 0.01382 0.1176 10.24 2.599 0.2142 0.4483 1 1 0 0 0.01149 0 0 0.1763 json
t11_x8_u15_b5 11 8 15 5 frc(mod(R,log(R))) 18819 89652839 o1(o2(x,o1(x))) true 150559 150559 -0.9473 0.04297 0.9668 0.06242 0.2498 -1 0.4832 1.483 1 0.3767 0.006595 0.006301 0.01097 0.02284 1 -0.000004966 0.02696 0.02073 0.01278 0.113 10.31 2.098 0.2066 0.4319 1 1 0 0 0.009796 0 0 0.1569 json
t11_x8_u15_b6 11 8 15 6 frc(lrg(R,log(R))) 18820 89652840 o1(o2(x,o1(x))) true 150567 150567 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u15_b7 11 8 15 7 frc(eql(R,log(R))) 18821 89652841 o1(o2(x,o1(x))) true 150575 150575 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u15_b8 11 8 15 8 frc(min(R,log(R))) 18822 89652842 o1(o2(x,o1(x))) true 150583 150583 0.5528 1 0.5528 0.05417 0.2327 0.001146 0.9993 0.9982 1 3.834 0.0007217 0.0008093 0.0319 -0.0572 1 0.00002951 0.0000914 0.007377 0.0005132 0.02265 0.7101 0.1148 0.02826 0.001687 1 1 0 0 0.002982 0 0 0.05505 json
t11_x8_u15_b9 11 8 15 9 frc(dot(R,log(R))) 18823 89652843 o1(o2(x,o1(x))) true 150591 150591 -1 0 1 0 0 -1 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u15_b10 11 8 15 10 frc(dst(R,log(R))) 18824 89652844 o1(o2(x,o1(x))) true 150599 150599 -1 0 1 0 0 -1 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u16_b0 11 8 16 0 frc(add(R,frc(R))) 18825 89653035 o1(o2(x,o1(x))) true 150607 150607 0.5219 1 0.5219 0.04854 0.2203 0.002148 0.9943 0.9922 1 3.801 0.0006102 0.0006854 0.02919 -0.05804 1 -0.00001544 0.00007528 0.006666 0.0004434 0.02106 0.7214 0.1096 0.02669 0.001551 1 1 0 0 0.002627 0 0 0.05412 json
t11_x8_u16_b1 11 8 16 1 frc(sub(R,frc(R))) 18826 89653036 o1(o2(x,o1(x))) true 150615 150615 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u16_b2 11 8 16 2 frc(mlt(R,frc(R))) 18827 89653037 o1(o2(x,o1(x))) true 150623 150623 0.613 1 0.613 0.05903 0.243 0.0002602 0.999 0.9987 1 3.716 0.0008337 0.0009654 0.03314 -0.07317 1 0.00003129 0.0001075 0.00776 0.0007007 0.02647 0.7987 0.1153 0.03048 0.001821 1 1 0 0 0.003105 0 0 0.05261 json
t11_x8_u16_b3 11 8 16 3 frc(div(R,frc(R))) 18828 89653038 o1(o2(x,o1(x))) true 150631 150631 0.3846 0.9714 0.3846 0.08936 0.2989 0 1 1 1 3.815 0.001147 0.001309 0.0401 -0.06594 1 -0.00002026 0.0001454 0.009375 0.0008481 0.02912 0.7262 0.1169 0.02749 0.001628 1 1 0 0 0.004638 0 0 0.0519 json
t11_x8_u16_b4 11 8 16 4 frc(pow(R,frc(R))) 18829 89653039 o1(o2(x,o1(x))) true 150639 150639 -0.9235 0.04297 0.9906 0.1306 0.3614 -1 0.9461 1.946 1 0.3372 0.01332 0.01296 0.0151 0.0136 1 0.000003032 0.05494 0.02962 0.02607 0.1615 10.7 2.664 0.2013 0.4207 1 1 0 0 0.0201 0 0 0.1539 json
t11_x8_u16_b5 11 8 16 5 frc(mod(R,frc(R))) 18830 89653040 o1(o2(x,o1(x))) true 150647 150647 0.4603 0.9756 0.4603 0.09791 0.3129 0 0.9996 0.9996 1 3.846 0.001175 0.00155 0.04205 -0.1378 1 -0.000009222 0.0001591 0.00985 0.0009566 0.03093 0.7355 0.1169 0.02783 0.001625 1 1 0 0 0.005013 0 0 0.0512 json
t11_x8_u16_b6 11 8 16 6 frc(lrg(R,frc(R))) 18831 89653041 o1(o2(x,o1(x))) true 150655 150655 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u16_b7 11 8 16 7 frc(eql(R,frc(R))) 18832 89653042 o1(o2(x,o1(x))) true 150663 150663 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u16_b8 11 8 16 8 frc(min(R,frc(R))) 18833 89653043 o1(o2(x,o1(x))) true 150671 150671 0.5266 1 0.5266 0.05091 0.2256 0.001084 0.997 0.9959 1 3.815 0.0007236 0.0006853 0.03089 0.02719 1 0.00004432 0.00008334 0.007111 0.0004549 0.02133 0.6905 0.1132 0.02767 0.001637 1 1 0 0 0.002542 0 0 0.04993 json
t11_x8_u16_b9 11 8 16 9 frc(dot(R,frc(R))) 18834 89653044 o1(o2(x,o1(x))) true 150679 150679 0.5061 1 0.5061 0.04654 0.2157 0.005609 0.9967 0.9911 1 3.79 0.0006221 0.000668 0.02925 -0.03556 1 0.00002552 0.00007467 0.006694 0.0004345 0.02084 0.7126 0.1084 0.02772 0.001604 1 1 0 0 0.002569 0 0 0.0552 json
t11_x8_u16_b10 11 8 16 10 frc(dst(R,frc(R))) 18835 89653045 o1(o2(x,o1(x))) true 150687 150687 0.2422 0.9349 0.2422 0.04288 0.2071 0 0.7321 0.7321 1 3.049 0.0006081 0.0006568 0.0281 -0.03848 1 -0.000007346 0.00007407 0.006672 0.0004755 0.02181 0.7761 0.08558 0.0295 0.001727 1 1 0 0 0.002286 0 0 0.05331 json
t11_x8_u17_b0 11 8 17 0 frc(add(R,flr(R))) 18836 89653236 o1(o2(x,o1(x))) true 150695 150695 0.5266 1 0.5266 0.05091 0.2256 0.001084 0.997 0.9959 1 3.815 0.0007236 0.0006853 0.03089 0.02719 1 0.00004432 0.00008334 0.007111 0.0004549 0.02133 0.6905 0.1132 0.02767 0.001637 1 1 0 0 0.002542 0 0 0.04993 json
t11_x8_u17_b1 11 8 17 1 frc(sub(R,flr(R))) 18837 89653237 o1(o2(x,o1(x))) true 150703 150703 0.5266 1 0.5266 0.05091 0.2256 0.001084 0.997 0.9959 1 3.815 0.0007236 0.0006853 0.03089 0.02719 1 0.00004432 0.00008334 0.007111 0.0004549 0.02133 0.6905 0.1132 0.02767 0.001637 1 1 0 0 0.002542 0 0 0.04993 json
t11_x8_u17_b2 11 8 17 2 frc(mlt(R,flr(R))) 18838 89653238 o1(o2(x,o1(x))) true 150711 150711 0.2541 0.9259 0.2541 0.06549 0.2559 0 0.9989 0.9989 1 3.357 0.000768 0.0009295 0.0314 -0.09514 1 -0.00001332 0.00009988 0.007359 0.0007117 0.02668 0.8497 0.1168 0.02592 0.001525 1 1 0 0 0.003123 0 0 0.04769 json
t11_x8_u17_b3 11 8 17 3 frc(div(R,flr(R))) 18839 89653239 o1(o2(x,o1(x))) true 150719 150719 -0.8925 0.07031 0.9668 0.1574 0.3968 -1 0.9989 1.999 1 0.6322 0.01298 0.01681 0.02049 -0.1286 1 0.000001441 0.06225 0.03779 0.02936 0.1713 8.361 2.672 0.1892 0.3954 1 1 0 0 0.02995 0 0 0.1903 json
t11_x8_u17_b4 11 8 17 4 frc(pow(R,flr(R))) 18840 89653240 o1(o2(x,o1(x))) true 150727 150727 -0.957 0 0.957 0.04112 0.2028 -1 0 1 1 0.2557 0.00422 0.004094 0.008259 0.01515 1 0 0.01738 0.01663 0.008241 0.09078 10.99 1.414 0.2022 0.4228 1 1 0 0 0.006357 0 0 0.1546 json
t11_x8_u17_b5 11 8 17 5 frc(mod(R,flr(R))) 18841 89653241 o1(o2(x,o1(x))) true 150735 150735 -0.8965 0.07031 0.9628 0.1462 0.3823 -1 0.9928 1.993 1 0.6322 0.01252 0.0145 0.01957 -0.07356 1 -0.000001442 0.05637 0.03594 0.02662 0.1632 8.336 2.703 0.1848 0.3856 1 1 0 0 0.0287 0 0 0.1963 json
t11_x8_u17_b6 11 8 17 6 frc(lrg(R,flr(R))) 18842 89653242 o1(o2(x,o1(x))) true 150743 150743 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u17_b7 11 8 17 7 frc(eql(R,flr(R))) 18843 89653243 o1(o2(x,o1(x))) true 150751 150751 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u17_b8 11 8 17 8 frc(min(R,flr(R))) 18844 89653244 o1(o2(x,o1(x))) true 150759 150759 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u17_b9 11 8 17 9 frc(dot(R,flr(R))) 18845 89653245 o1(o2(x,o1(x))) true 150767 150767 0.4358 0.9996 0.4358 0.06161 0.2482 0.00002315 0.9975 0.9975 1 3.902 0.0008686 0.000779 0.03335 0.0544 1 0.00003947 0.00009498 0.007631 0.0005355 0.02314 0.6939 0.1165 0.02674 0.001542 1 1 0 0 0.003072 0 0 0.04987 json
t11_x8_u17_b10 11 8 17 10 frc(dst(R,flr(R))) 18846 89653246 o1(o2(x,o1(x))) true 150775 150775 0.4483 1 0.4483 0.06636 0.2576 0.002284 0.999 0.9967 1 3.898 0.0009848 0.0009711 0.03617 0.006991 1 0.000003764 0.0001118 0.008341 0.0006479 0.02545 0.7038 0.1131 0.02947 0.001684 1 1 0 0 0.00395 0 0 0.05952 json
t11_x8_u18_b0 11 8 18 0 frc(add(R,cil(R))) 18847 89653437 o1(o2(x,o1(x))) true 150783 150783 0.5266 1 0.5266 0.05091 0.2256 0.001084 0.997 0.9959 1 3.815 0.0007236 0.0006853 0.03089 0.02719 1 0.00004432 0.00008334 0.007111 0.0004549 0.02133 0.6905 0.1132 0.02767 0.001637 1 1 0 0 0.002542 0 0 0.04993 json
t11_x8_u18_b1 11 8 18 1 frc(sub(R,cil(R))) 18848 89653438 o1(o2(x,o1(x))) true 150791 150791 0.5266 1 0.5266 0.05091 0.2256 0.001084 0.997 0.9959 1 3.815 0.0007236 0.0006853 0.03089 0.02719 1 0.00004432 0.00008334 0.007111 0.0004549 0.02133 0.6905 0.1132 0.02767 0.001637 1 1 0 0 0.002542 0 0 0.04993 json
t11_x8_u18_b2 11 8 18 2 frc(mlt(R,cil(R))) 18849 89653439 o1(o2(x,o1(x))) true 150799 150799 0.263 0.8999 0.263 0.06996 0.2645 0 0.9809 0.9809 1 3.339 0.0009721 0.001017 0.03412 -0.0225 1 0.0000132 0.0001175 0.007977 0.0008249 0.02872 0.8418 0.1147 0.02843 0.001679 1 1 0 0 0.003984 0 0 0.05695 json
t11_x8_u18_b3 11 8 18 3 frc(div(R,cil(R))) 18850 89653440 o1(o2(x,o1(x))) true 150807 150807 -0.9327 0.04297 0.9813 0.1025 0.3202 -1 0.9428 1.943 1 0.413 0.01033 0.01038 0.01414 -0.00231 1 0.000008535 0.04322 0.0262 0.02051 0.1432 10.13 2.64 0.2021 0.4217 1 1 0 0 0.01648 0 0 0.1608 json
t11_x8_u18_b4 11 8 18 4 frc(pow(R,cil(R))) 18851 89653441 o1(o2(x,o1(x))) true 150815 150815 0.263 0.8999 0.263 0.06996 0.2645 0 0.9809 0.9809 1 3.339 0.0009721 0.001017 0.03412 -0.0225 1 0.0000132 0.0001175 0.007977 0.0008249 0.02872 0.8418 0.1147 0.02843 0.001679 1 1 0 0 0.003984 0 0 0.05695 json
t11_x8_u18_b5 11 8 18 5 frc(mod(R,cil(R))) 18852 89653442 o1(o2(x,o1(x))) true 150823 150823 -0.9327 0.04297 0.9813 0.1025 0.3202 -1 0.9428 1.943 1 0.413 0.01033 0.01038 0.01414 -0.00231 1 0.000008535 0.04322 0.0262 0.02051 0.1432 10.13 2.64 0.2021 0.4217 1 1 0 0 0.01648 0 0 0.1608 json
t11_x8_u18_b6 11 8 18 6 frc(lrg(R,cil(R))) 18853 89653443 o1(o2(x,o1(x))) true 150831 150831 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u18_b7 11 8 18 7 frc(eql(R,cil(R))) 18854 89653444 o1(o2(x,o1(x))) true 150839 150839 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u18_b8 11 8 18 8 frc(min(R,cil(R))) 18855 89653445 o1(o2(x,o1(x))) true 150847 150847 0.5266 1 0.5266 0.05091 0.2256 0.001084 0.997 0.9959 1 3.815 0.0007236 0.0006853 0.03089 0.02719 1 0.00004432 0.00008334 0.007111 0.0004549 0.02133 0.6905 0.1132 0.02767 0.001637 1 1 0 0 0.002542 0 0 0.04993 json
t11_x8_u18_b9 11 8 18 9 frc(dot(R,cil(R))) 18856 89653446 o1(o2(x,o1(x))) true 150855 150855 0.4213 0.9968 0.4213 0.06207 0.2491 1.428e-8 0.9896 0.9896 1 3.866 0.000858 0.000844 0.03374 0.008189 1 0.00001072 0.00009853 0.007693 0.0005636 0.02374 0.7036 0.1157 0.02742 0.001587 1 1 0 0 0.003352 0 0 0.054 json
t11_x8_u18_b10 11 8 18 10 frc(dst(R,cil(R))) 18857 89653447 o1(o2(x,o1(x))) true 150863 150863 0.4903 1 0.4903 0.06912 0.2629 0.001316 0.9988 0.9975 1 3.951 0.0009084 0.0009135 0.03499 -0.002834 1 -0.000005287 0.0001088 0.008103 0.0005976 0.02445 0.6987 0.1137 0.02636 0.001574 1 1 0 0 0.003653 0 0 0.05285 json
t11_x8_u19_b0 11 8 19 0 frc(add(R,sgn(R))) 18858 89653638 o1(o2(x,o1(x))) true 150871 150871 0.5266 1 0.5266 0.05091 0.2256 0.001084 0.997 0.9959 1 3.815 0.0007236 0.0006853 0.03089 0.02719 1 0.00004432 0.00008334 0.007111 0.0004549 0.02133 0.6905 0.1132 0.02767 0.001637 1 1 0 0 0.002542 0 0 0.04993 json
t11_x8_u19_b1 11 8 19 1 frc(sub(R,sgn(R))) 18859 89653639 o1(o2(x,o1(x))) true 150879 150879 0.5266 1 0.5266 0.05091 0.2256 0.001084 0.997 0.9959 1 3.815 0.0007236 0.0006853 0.03089 0.02719 1 0.00004432 0.00008334 0.007111 0.0004549 0.02133 0.6905 0.1132 0.02767 0.001637 1 1 0 0 0.002542 0 0 0.04993 json
t11_x8_u19_b2 11 8 19 2 frc(mlt(R,sgn(R))) 18860 89653640 o1(o2(x,o1(x))) true 150887 150887 0.5171 1 0.5171 0.05134 0.2266 0.003042 0.9989 0.9959 1 3.837 0.000667 0.0007231 0.03061 -0.04037 1 -1.191e-7 0.0000839 0.007073 0.000453 0.02128 0.6953 0.1114 0.02708 0.001634 1 1 0 0 0.002392 0 0 0.0466 json
t11_x8_u19_b3 11 8 19 3 frc(div(R,sgn(R))) 18861 89653641 o1(o2(x,o1(x))) true 150895 150895 0.5171 1 0.5171 0.05134 0.2266 0.003042 0.9989 0.9959 1 3.837 0.000667 0.0007231 0.03061 -0.04037 1 -1.191e-7 0.0000839 0.007073 0.000453 0.02128 0.6953 0.1114 0.02708 0.001634 1 1 0 0 0.002392 0 0 0.0466 json
t11_x8_u19_b4 11 8 19 4 frc(pow(R,sgn(R))) 18862 89653642 o1(o2(x,o1(x))) true 150903 150903 -0.9327 0.04297 0.9813 0.1025 0.3202 -1 0.9428 1.943 1 0.413 0.01033 0.01038 0.01414 -0.00231 1 0.000008535 0.04322 0.0262 0.02051 0.1432 10.13 2.64 0.2021 0.4217 1 1 0 0 0.01648 0 0 0.1608 json
t11_x8_u19_b5 11 8 19 5 frc(mod(R,sgn(R))) 18863 89653643 o1(o2(x,o1(x))) true 150911 150911 0.5266 1 0.5266 0.05091 0.2256 0.001084 0.997 0.9959 1 3.815 0.0007236 0.0006853 0.03089 0.02719 1 0.00004432 0.00008334 0.007111 0.0004549 0.02133 0.6905 0.1132 0.02767 0.001637 1 1 0 0 0.002542 0 0 0.04993 json
t11_x8_u19_b6 11 8 19 6 frc(lrg(R,sgn(R))) 18864 89653644 o1(o2(x,o1(x))) true 150919 150919 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u19_b7 11 8 19 7 frc(eql(R,sgn(R))) 18865 89653645 o1(o2(x,o1(x))) true 150927 150927 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u19_b8 11 8 19 8 frc(min(R,sgn(R))) 18866 89653646 o1(o2(x,o1(x))) true 150935 150935 0.263 0.8999 0.263 0.06996 0.2645 0 0.9809 0.9809 1 3.339 0.0009721 0.001017 0.03412 -0.0225 1 0.0000132 0.0001175 0.007977 0.0008249 0.02872 0.8418 0.1147 0.02843 0.001679 1 1 0 0 0.003984 0 0 0.05695 json
t11_x8_u19_b9 11 8 19 9 frc(dot(R,sgn(R))) 18867 89653647 o1(o2(x,o1(x))) true 150943 150943 0.4919 1 0.4919 0.05337 0.231 0.002659 0.9949 0.9922 1 3.855 0.0007208 0.0007852 0.03204 -0.04272 1 0.00001313 0.00009017 0.007378 0.0004797 0.0219 0.6837 0.1153 0.02822 0.00169 1 1 0 0 0.002826 0 0 0.05296 json
t11_x8_u19_b10 11 8 19 10 frc(dst(R,sgn(R))) 18868 89653648 o1(o2(x,o1(x))) true 150951 150951 0.4565 1 0.4565 0.06411 0.2532 0.000573 0.9988 0.9982 1 3.911 0.0008757 0.0008361 0.03365 0.02314 1 0.000009491 0.0001009 0.007789 0.0005792 0.02407 0.7151 0.1139 0.0267 0.001575 1 1 0 0 0.003638 0 0 0.05675 json
t11_x8_u20_b0 11 8 20 0 frc(add(R,nrm(R))) 18869 89653839 o1(o2(x,o1(x))) true 150959 150959 0.53 1 0.53 0.03982 0.1995 0.005946 0.9918 0.9858 1 3.69 0.0005446 0.0006258 0.02774 -0.06938 1 -0.00001731 0.00006945 0.006346 0.0004006 0.02002 0.7214 0.1133 0.02939 0.001744 1 1 0 0 0.002431 0 0 0.06106 json
t11_x8_u20_b1 11 8 20 1 frc(sub(R,nrm(R))) 18870 89653840 o1(o2(x,o1(x))) true 150967 150967 0.4645 1 0.4645 0.09731 0.3119 0.0006872 0.9996 0.9989 1 3.94 0.001395 0.001306 0.04188 0.03285 1 -0.00004947 0.0001542 0.009801 0.0009467 0.03077 0.7347 0.1145 0.02775 0.001585 1 1 0 0 0.005287 0 0 0.05433 json
t11_x8_u20_b2 11 8 20 2 frc(mlt(R,nrm(R))) 18871 89653841 o1(o2(x,o1(x))) true 150975 150975 0.3279 1 0.3279 0.03921 0.198 0.00008412 0.9191 0.919 1 3.59 0.0005388 0.0005616 0.02724 -0.02064 1 -1.326e-7 0.0000669 0.006334 0.0003583 0.01893 0.6948 0.09822 0.02806 0.001706 1 1 0 0 0.001889 0 0 0.04817 json
t11_x8_u20_b3 11 8 20 3 frc(div(R,nrm(R))) 18872 89653842 o1(o2(x,o1(x))) true 150983 150983 0.4499 1 0.4499 0.06286 0.2507 0.01038 0.9973 0.9869 1 3.893 0.0007229 0.000849 0.03211 -0.08025 1 0.000009686 0.00009248 0.007393 0.0005409 0.02326 0.7242 0.1128 0.02501 0.001471 1 1 0 0 0.003189 0 0 0.05072 json
t11_x8_u20_b4 11 8 20 4 frc(pow(R,nrm(R))) 18873 89653843 o1(o2(x,o1(x))) true 150991 150991 -0.9252 0.04297 0.9888 0.125 0.3536 -1 0.955 1.955 1 0.3797 0.01288 0.0123 0.01501 0.02308 1 0.000003609 0.0526 0.02899 0.02496 0.158 10.52 2.704 0.2014 0.4207 1 1 0 0 0.01962 0 0 0.1569 json
t11_x8_u20_b5 11 8 20 5 frc(mod(R,nrm(R))) 18874 89653844 o1(o2(x,o1(x))) true 150999 150999 0.5063 1 0.5063 0.07174 0.2678 0.000733 0.9988 0.9981 1 3.959 0.000952 0.001165 0.03769 -0.1008 1 -0.00001656 0.0001245 0.008771 0.000697 0.0264 0.7005 0.114 0.02951 0.001735 1 1 0 0 0.004081 0 0 0.05688 json
t11_x8_u20_b6 11 8 20 6 frc(lrg(R,nrm(R))) 18875 89653845 o1(o2(x,o1(x))) true 151007 151007 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u20_b7 11 8 20 7 frc(eql(R,nrm(R))) 18876 89653846 o1(o2(x,o1(x))) true 151015 151015 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u20_b8 11 8 20 8 frc(min(R,nrm(R))) 18877 89653847 o1(o2(x,o1(x))) true 151023 151023 0.4599 1 0.4599 0.04368 0.209 0.001073 0.9944 0.9934 1 3.737 0.0005746 0.0006008 0.02801 -0.02228 1 0.00003123 0.00007003 0.006457 0.0003906 0.01976 0.7055 0.1079 0.02691 0.001603 1 1 0 0 0.002109 0 0 0.04827 json
t11_x8_u20_b9 11 8 20 9 frc(dot(R,nrm(R))) 18878 89653848 o1(o2(x,o1(x))) true 151031 151031 0.4499 1 0.4499 0.06286 0.2507 0.01038 0.9973 0.9869 1 3.893 0.0007229 0.000849 0.03211 -0.08025 1 0.000009686 0.00009248 0.007393 0.0005409 0.02326 0.7242 0.1128 0.02501 0.001471 1 1 0 0 0.003189 0 0 0.05072 json
t11_x8_u20_b10 11 8 20 10 frc(dst(R,nrm(R))) 18879 89653849 o1(o2(x,o1(x))) true 151039 151039 0.2295 1 0.2295 0.01658 0.1288 0.002534 0.9006 0.898 1 2.987 0.0001892 0.0002659 0.01671 -0.1684 1 -0.000008467 0.0000266 0.003827 0.0001758 0.01326 0.7934 0.09806 0.02744 0.001604 1 1 0 0 0.0008473 0 0 0.05109 json
t11_x8_u21_b0 11 8 21 0 flr(add(R,sqt(R))) 18880 89654040 o1(o2(x,o1(x))) true 151047 151047 -0.9258 0.04254 0.9883 0.1281 0.358 -1 1 2 1 0.3759 0.01341 0.0126 0.01571 0.03141 1 0.000008556 0.05416 0.02888 0.02576 0.1605 10.21 2.828 0.203 0.4227 1 1 0 0 0.02153 0 0 0.168 json
t11_x8_u21_b1 11 8 21 1 flr(sub(R,sqt(R))) 18881 89654041 o1(o2(x,o1(x))) true 151055 151055 -1 0 1 0 0 -1 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u21_b2 11 8 21 2 flr(mlt(R,sqt(R))) 18882 89654042 o1(o2(x,o1(x))) true 151063 151063 -0.957 0 0.957 0.04112 0.2028 -1 0 1 1 0.2557 0.00422 0.004094 0.008259 0.01515 1 0 0.01738 0.01663 0.008241 0.09078 10.99 1.414 0.2022 0.4228 1 1 0 0 0.006357 0 0 0.1546 json
t11_x8_u21_b3 11 8 21 3 flr(div(R,sqt(R))) 18883 89654043 o1(o2(x,o1(x))) true 151071 151071 -0.957 0 0.957 0.04112 0.2028 -1 0 1 1 0.2557 0.00422 0.004094 0.008259 0.01515 1 0 0.01738 0.01663 0.008241 0.09078 10.99 1.414 0.2022 0.4228 1 1 0 0 0.006357 0 0 0.1546 json
t11_x8_u21_b4 11 8 21 4 flr(pow(R,sqt(R))) 18884 89654044 o1(o2(x,o1(x))) true 151079 151079 -0.957 0 0.957 0.04112 0.2028 -1 0 1 1 0.2557 0.00422 0.004094 0.008259 0.01515 1 0 0.01738 0.01663 0.008241 0.09078 10.99 1.414 0.2022 0.4228 1 1 0 0 0.006357 0 0 0.1546 json
t11_x8_u21_b5 11 8 21 5 flr(mod(R,sqt(R))) 18885 89654045 o1(o2(x,o1(x))) true 151087 151087 -0.957 0 0.957 0.04112 0.2028 -1 0 1 1 0.2557 0.00422 0.004094 0.008259 0.01515 1 0 0.01738 0.01663 0.008241 0.09078 10.99 1.414 0.2022 0.4228 1 1 0 0 0.006357 0 0 0.1546 json
t11_x8_u21_b6 11 8 21 6 flr(lrg(R,sqt(R))) 18886 89654046 o1(o2(x,o1(x))) true 151095 151095 0.5176 0.9429 0.5176 0.1537 0.3921 0 1 1 1 3.429 0.001972 0.002442 0.05168 -0.1065 1 0.00001781 0.0002592 0.01257 0.001744 0.04176 0.8079 0.1169 0.02872 0.001686 1 1 0 0 0.008731 0 0 0.0568 json
t11_x8_u21_b7 11 8 21 7 flr(eql(R,sqt(R))) 18887 89654047 o1(o2(x,o1(x))) true 151103 151103 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u21_b8 11 8 21 8 flr(min(R,sqt(R))) 18888 89654048 o1(o2(x,o1(x))) true 151111 151111 -0.5176 0 0.5176 0.1537 0.3921 -1 0 1 1 3.585 0.001972 0.002442 0.05168 -0.1065 1 -0.00001781 0.0002592 0.01257 0.001744 0.04176 0.8079 0.1169 0.02872 0.001686 1 1 0 0 0.008731 0 0 0.0568 json
t11_x8_u21_b9 11 8 21 9 flr(dot(R,sqt(R))) 18889 89654049 o1(o2(x,o1(x))) true 151119 151119 -1 0 1 0 0 -1 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u21_b10 11 8 21 10 flr(dst(R,sqt(R))) 18890 89654050 o1(o2(x,o1(x))) true 151127 151127 -1 0 1 0 0 -1 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u22_b0 11 8 22 0 flr(add(R,log(R))) 18891 89654241 o1(o2(x,o1(x))) true 151135 151135 -0.9814 0 0.9814 0.01416 0.119 -1 -1.694e-7 1 1 0.2984 0.001597 0.001932 0.006287 -0.09488 1 0.00002478 0.006913 0.008246 0.003489 0.05907 9.395 1.413 0.2493 0.4884 1 1 0 0 0.003094 0 0 0.2186 json
t11_x8_u22_b1 11 8 22 1 flr(sub(R,log(R))) 18892 89654242 o1(o2(x,o1(x))) true 151143 151143 -0.9141 0.04297 1 0.1645 0.4056 -1 1 2 1 0.2557 0.01688 0.01638 0.01652 0.01515 1 0 0.06954 0.03326 0.03297 0.1816 10.99 2.828 0.2022 0.4228 1 1 0 0 0.02543 0 0 0.1546 json
t11_x8_u22_b2 11 8 22 2 flr(mlt(R,log(R))) 18893 89654243 o1(o2(x,o1(x))) true 151151 151151 -1 0 1 0 0 -1 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u22_b3 11 8 22 3 flr(div(R,log(R))) 18894 89654244 o1(o2(x,o1(x))) true 151159 151159 -1 0 1 0 0 -1 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u22_b4 11 8 22 4 flr(pow(R,log(R))) 18895 89654245 o1(o2(x,o1(x))) true 151167 151167 -0.9141 0.04297 1 0.1645 0.4056 -1 1 2 1 0.2557 0.01688 0.01638 0.01652 0.01515 1 0 0.06954 0.03326 0.03297 0.1816 10.99 2.828 0.2022 0.4228 1 1 0 0 0.02543 0 0 0.1546 json
t11_x8_u22_b5 11 8 22 5 flr(mod(R,log(R))) 18896 89654246 o1(o2(x,o1(x))) true 151175 151175 -0.957 0 0.957 0.04112 0.2028 -1 0 1 1 0.2557 0.00422 0.004094 0.008259 0.01515 1 0 0.01738 0.01663 0.008241 0.09078 10.99 1.414 0.2022 0.4228 1 1 0 0 0.006357 0 0 0.1546 json
t11_x8_u22_b6 11 8 22 6 flr(lrg(R,log(R))) 18897 89654247 o1(o2(x,o1(x))) true 151183 151183 1 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u22_b7 11 8 22 7 flr(eql(R,log(R))) 18898 89654248 o1(o2(x,o1(x))) true 151191 151191 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json
t11_x8_u22_b8 11 8 22 8 flr(min(R,log(R))) 18899 89654249 o1(o2(x,o1(x))) true 151199 151199 -1 0 1 0 0 -1 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 json