PageSourceSearch

https://www.dayowl.com/_next/static/chunks/2569.a5dcefb101068c94.js

js dayowl.com collected 2026-09-26 06:51:03 UTC 18,683 bytes, 397 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2569],{32569:function(e,t,o){o.r(t),o.d(t,{default:function(){return f}});var r=o(52322),i=o(2784),n=o(82175),a=o(96995);let s=new n.SUY,l=function(e=6){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let r=0;r<e;r++){let e=Math.floor(Math.random()*t.length);o+=t.charAt(e)}return o}();class c{_ref;_speed=-1;_horizontalPressure=-1;_verticalPressure=-1;_waveFrequencyX=-1;_waveFrequencyY=-1;_waveAmplitude=-1;_shadows=-1;_highlights=-1;_saturation=-1;_brightness=-1;_grainScale=-1;_grainIntensity=-1;_grainSpeed=-1;_colorBlending=-1;_colors=[];_wireframe=!1;_backgroundColor="#FFFFFF";_backgroundAlpha=1;requestRef=-1;sizeObserver;sceneState;constructor(e){let{ref:t,speed:o=4,horizontalPressure:r=3,verticalPressure:i=3,waveFrequencyX:a=5,waveFrequencyY:l=5,waveAmplitude:c=3,colors:v,highlights:g=4,shadows:_=4,colorSaturation:m=0,colorBrightness:x=1,colorBlending:f=5,grainScale:d=2,grainIntensity:y=.55,grainSpeed:p=.1,wireframe:w=!1,backgroundColor:b="#FFFFFF",backgroundAlpha:z=1,resolution:P=1,seed:F}=e;this._ref=t,this.destroy=this.destroy.bind(this),this._initScene=this._initScene.bind(this),this._buildMaterial=this._buildMaterial.bind(this),this.speed=o,this.horizontalPressure=r,this.verticalPressure=i,this.waveFrequencyX=a,this.waveFrequencyY=l,this.waveAmplitude=c,this.colorBlending=f,this.grainScale=d,this.grainIntensity=y,this.grainSpeed=p,this.colors=v,this.shadows=_,this.highlights=g,this.colorSaturation=m,this.colorBrightness=x,this.wireframe=w,this.backgroundColor=b,this.backgroundAlpha=z,this.sceneState=this._initScene(P);let S=void 0!==F?F:function(){let e=new Date;return 60*e.getMinutes()+e.getSeconds()}(),q=()=>{let{renderer:e,camera:o,scene:r,meshes:i}=this.sceneState;Math.floor(10*S)%5==0&&h(t),e.setClearColor(this._backgroundColor,this._backgroundAlpha),i.forEach(e=>{let t=this._ref.width,o=this._ref.height,r=[...this._colors.map(e=>{let t=new n.Ilk;return t.setStyle(e.color,""),{is_active:e.enabled,color:t,influence:e.influence}}),...Array.from({length:5-this._colors.length}).map(()=>({is_active:!1,color:new n.Ilk(0)}))];S+=s.getDelta()*this._speed,e.material.uniforms.u_time.value=S,e.material.uniforms.u_resolution={value:new n.FM8(t,o)},e.material.uniforms.u_color_pressure={value:new n.FM8(this._horizontalPressure,this._verticalPressure)},e.material.uniforms.u_wave_frequency_x={value:this._waveFrequencyX},e.material.uniforms.u_wave_frequency_y={value:this._waveFrequencyY},e.material.uniforms.u_wave_amplitude={value:this._waveAmplitude},e.material.uniforms.u_plane_width={value:50},e.material.uniforms.u_plane_height={value:80},e.material.uniforms.u_color_blending={value:this._colorBlending},e.material.uniforms.u_colors={value:r},e.material.uniforms.u_colors_count={value:5},e.material.uniforms.u_shadows={value:this._shadows},e.material.uniforms.u_highlights={value:this._highlights},e.material.uniforms.u_saturation={value:this._saturation},e.material.uniforms.u_brightness={value:this._brightness},e.material.uniforms.u_grain_intensity={value:this._grainIntensity},e.material.uniforms.u_grain_speed={value:this._grainSpeed},e.material.uniforms.u_grain_scale={value:this._grainScale},e.material.wireframe=this._wireframe}),e.render(r,o),this.requestRef=requestAnimationFrame(q)},C=()=>{let{renderer:e}=this.sceneState,t=e.domElement,o=t.clientWidth,r=t.clientHeight;this.sceneState.renderer.setSize(o,r,!1),u(this.sceneState.camera,o,r)};this.sizeObserver=new ResizeObserver(e=>{C()}),this.sizeObserver.observe(t),q()}destroy(){this&&(cancelAnimationFrame(this.requestRef),this.sizeObserver.disconnect())}set speed(e){this._speed=e/20}set horizontalPressure(e){this._horizontalPressure=e/4}set verticalPressure(e){this._verticalPressure=e/4}set waveFrequencyX(e){this._waveFrequencyX=.04*e}set waveFrequencyY(e){this._waveFrequencyY=.04*e}set waveAmplitude(e){this._waveAmplitude=.75*e}set colors(e){this._colors=e}set highlights(e){this._highlights=e/100}set shadows(e){this._shadows=e/100}set colorSaturation(e){this._saturation=e/10}
1set colorBrightness(e){this._brightness=e}set colorBlending(e){this._colorBlending=e/10}set grainScale(e){this._grainScale=0==e?1:e}set grainIntensity(e){this._grainIntensity=e}set grainSpeed(e){this._grainSpeed=e}set wireframe(e){this._wireframe=e}set resolution(e){this.sceneState=this._initScene(e)}set backgroundColor(e){this._backgroundColor=e}set backgroundAlpha(e){this._backgroundAlpha=e}_initScene(e){let t=this._ref.width,o=this._ref.height,r=new a.CP7({alpha:!0,canvas:this._ref});r.setClearColor(16711680,.5),r.setSize(t,o,!1);let i=[],s=new n.xsS,l=this._buildMaterial(t,o),c=new n._12(50,80,240*e,240*e),v=new n.Kj0(c,l);v.rotation.x=-Math.PI/3.5,v.position.z=-1,i.push(v),s.add(v);let g=new n.iKG(0,0,0,0,0,0);return g.position.z=5,u(g,t,o),{renderer:r,camera:g,scene:s,meshes:i,resolution:e}}_buildMaterial(e,t){let o=[...this._colors.map(e=>({is_active:e.enabled,color:new n.Ilk(e.color),influence:e.influence})),...Array.from({length:5-this._colors.length}).map(()=>({is_active:!1,color:new n.Ilk(0)}))],r={u_time:{value:0},u_color_pressure:{value:new n.FM8(this._horizontalPressure,this._verticalPressure)},u_wave_frequency_x:{value:this._waveFrequencyX},u_wave_frequency_y:{value:this._waveFrequencyY},u_wave_amplitude:{value:this._waveAmplitude},u_resolution:{value:new n.FM8(e,t)},u_colors:{value:o},u_colors_count:{value:this._colors.length},u_plane_width:{value:50},u_plane_height:{value:80},u_shadows:{value:this._shadows},u_highlights:{value:this._highlights},u_grain_intensity:{value:this._grainIntensity},u_grain_scale:{value:this._grainScale},u_grain_speed:{value:this._grainSpeed}},i=new n.jyz({uniforms:r,vertexShader:v()+g()+_()+`
2
3void main() {
4
5    vUv = uv;
6
7    v_displacement_amount = cnoise( vec3(
8        u_wave_frequency_x * position.x + u_time,
9        u_wave_frequency_y * position.y + u_time,
10        u_time
11    ));
12    
13    vec3 color;
14
15    // float t = mod(u_base_color, 100.0);
16    color = u_colors[0].color;
17    
18    vec2 noise_cord = vUv * u_color_pressure;
19    
20    const float minNoise = .0;
21    const float maxNoise = .9;
22    
23    for (int i = 1; i < u_colors_count; i++) {
24    
25        if(u_colors[i].is_active == 1.0){
26            float noiseFlow = (1. + float(i)) / 30.;
27            float noiseSpeed = (1. + float(i)) * 0.11;
28            float noiseSeed = 13. + float(i) * 7.;
29            
30            int reverseIndex = u_colors_count - i;
31            
32            float noise = snoise(
33                vec3(
34                    noise_cord.x * u_color_pressure.x + u_time * noiseFlow * 2.,
35                    noise_cord.y * u_color_pressure.y,
36                    u_time * noiseSpeed
37                ) + noiseSeed
38            ) - (.1 * float(i)) + (.5 * u_color_blending);
39            
40            noise = clamp(minNoise, maxNoise + float(i) * 0.02, noise);
41            vec3 nextColor = u_colors[i].color;
42            color = mix(color, nextColor, smoothstep(0.0, u_color_blending, noise));
43            
44            // vec3 colorOklab = oklab2rgb(color);
45            // vec3 nextColorOklab = oklab2rgb(nextColor);
46            // vec3 mixColor = mix(colorOklab, nextColorOklab, smoothstep(0.0, u_color_blending, noise));
47            // color = rgb2oklab(mixColor);
48            
49        }
50        
51    }
52    
53    v_color = color;
54    
55    vec3 newPosition = position + normal * v_displacement_amount * u_wave_amplitude;
56    gl_Position = projectionMatrix * modelViewMatrix * vec4( newPosition, 1.0 );
57    
58    v_new_position = gl_Position;
59}
60`,fragmentShader:v()+_()+g()+`
61float random(vec2 p) {
62    return fract(sin(dot(p, vec2(12.9898,78.233))) * 43758.5453);
63}
64
65float fbm(vec3 x) {
66    float value = 0.0;
67    float amplitude = 0.5;
68    float frequency = 1.0;
69
70    for (int i = 0; i < 4; i++) {
71        value += amplitude * snoise(x * frequency);
72        frequency *= 2.0;
73        amplitude *= 0.5;
74    }
75    return value;
76}
77    
78void main(){
79    vec3 color = v_color;
80    
81    color += pow(v_displacement_amount, 1.0) * u_highlights;
82    color -= pow(1.0 - v_displacement_amount, 2.0) * u_shadows;
83    color = saturation(color, 1.0 + u_saturation);
84    color = color * u_brightness;
85    
86    // Generate grain using fbm
87    vec2 noiseCoords = gl_FragCoord.xy / u_grain_scale;
88
89    float grain = (u_grain_speed != 0.0) 
90        ? fbm(vec3(noiseCoords, u_time * u_grain_speed)) 
91        : fbm(vec3(noiseCoords, 0.0));
92
93    // Center the grain around zero
94    grain = grain * 0.5 + 0.5;
95    grain -= 0.5;
96
97    // Apply grain intensity
98    grain *= u_grain_intensity;
99
100    // Add grain to color
101    color += vec3(grain);
102            
103    gl_FragColor = vec4(color,1.0);
104}
105`});return i.wireframe=!0,i}}function u(e,t,o){let r=t*o/1e6*4e3/1.5,i=Math.sqrt(t/o*r);e instanceof n.iKG?(e.left=-25,e.right=Math.min((-25+i)/1.5,25),e.top=20,e.bottom=Math.max((20-r/i)/2,-20),e.near=-100,e.far=1e3,e.updateProjectionMatrix()):e instanceof n.cPb&&(e.aspect=t/o,e.updateProjectionMatrix())}let v=()=>`
106precision highp float;
107
108struct Color {
109    float is_active;
110    vec3 color;
111    float value;
112};
113
114uniform float u_grain_intensity; 
115uniform float u_grain_scale; 
116uniform float u_grain_speed; 
117uniform float u_time;
118
119uniform float u_wave_amplitude;
120uniform float u_wave_frequency_x;
121uniform float u_wave_frequency_y;
122
123uniform vec2 u_color_pressure;
124
125uniform float u_plane_width;
126uniform float u_plane_height;
127
128uniform float u_shadows;
129uniform float u_highlights;
130uniform float u_saturation;
131uniform float u_brightness;
132
133uniform float u_color_blending;
134
135uniform int u_colors_count;
136uniform Color u_colors[5];
137uniform vec2 u_resolution;
138
139varying vec2 vUv;
140varying vec4 v_new_position;
141varying vec3 v_color;
142varying float v_displacement_amount;
143
144    `,g=()=>`
145
146vec3 mod289(vec3 x)
147{
148  return x - floor(x * (1.0 / 289.0)) * 289.0;
149}
150
151vec4 mod289(vec4 x)
152{
153  return x - floor(x * (1.0 / 289.0)) * 289.0;
154}
155
156vec4 permute(vec4 x)
157{
158  return mod289(((x*34.0)+1.0)*x);
159}
160
161vec4 taylorInvSqrt(vec4 r)
162{
163  return 1.79284291400159 - 0.85373472095314 * r;
164}
165
166vec3 fade(vec3 t) {
167  return t*t*t*(t*(t*6.0-15.0)+10.0);
168}
169
170float snoise(vec3 v)
171{
172  const vec2  C = vec2(1.0/6.0, 1.0/3.0) ;
173  const vec4  D = vec4(0.0, 0.5, 1.0, 2.0);
174
175// First corner
176  vec3 i  = floor(v + dot(v, C.yyy) );
177  vec3 x0 =   v - i + dot(i, C.xxx) ;
178
179// Other corners
180  vec3 g = step(x0.yzx, x0.xyz);
181  vec3 l = 1.0 - g;
182  vec3 i1 = min( g.xyz, l.zxy );
183  vec3 i2 = max( g.xyz, l.zxy );
184
185  //   x0 = x0 - 0.0 + 0.0 * C.xxx;
186  //   x1 = x0 - i1  + 1.0 * C.xxx;
187  //   x2 = x0 - i2  + 2.0 * C.xxx;
188  //   x3 = x0 - 1.0 + 3.0 * C.xxx;
189  vec3 x1 = x0 - i1 + C.xxx;
190  vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y
191  vec3 x3 = x0 - D.yyy;      // -1.0+3.0*C.x = -0.5 = -D.y
192
193// Permutations
194  i = mod289(i);
195  vec4 p = permute( permute( permute(
196            i.z + vec4(0.0, i1.z, i2.z, 1.0 ))
197          + i.y + vec4(0.0, i1.y, i2.y, 1.0 ))
198          + i.x + vec4(0.0, i1.x, i2.x, 1.0 ));
199
200// Gradients: 7x7 points over a square, mapped onto an octahedron.
201// The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294)
202  float n_ = 0.142857142857; // 1.0/7.0
203  vec3  ns = n_ * D.wyz - D.xzx;
204
205  vec4 j = p - 49.0 * floor(p * ns.z * ns.z);  //  mod(p,7*7)
206
207  vec4 x_ = floor(j * ns.z);
208  vec4 y_ = floor(j - 7.0 * x_ );    // mod(j,N)
209
210  vec4 x = x_ *ns.x + ns.yyyy;
211  vec4 y = y_ *ns.x + ns.yyyy;
212  vec4 h = 1.0 - abs(x) - abs(y);
213
214  vec4 b0 = vec4( x.xy, y.xy );
215  vec4 b1 = vec4( x.zw, y.zw );
216
217  //vec4 s0 = vec4(lessThan(b0,0.0))*2.0 - 1.0;
218  //vec4 s1 = vec4(lessThan(b1,0.0))*2.0 - 1.0;
219  vec4 s0 = floor(b0)*2.0 + 1.0;
220  vec4 s1 = floor(b1)*2.0 + 1.0;
221  vec4 sh = -step(h, vec4(0.0));
222
223  vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;
224  vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;
225
226  vec3 p0 = vec3(a0.xy,h.x);
227  vec3 p1 = vec3(a0.zw,h.y);
228  vec3 p2 = vec3(a1.xy,h.z);
229  vec3 p3 = vec3(a1.zw,h.w);
230
231//Normalise gradients
232  vec4 norm = taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));
233  p0 *= norm.x;
234  p1 *= norm.y;
235  p2 *= norm.z;
236  p3 *= norm.w;
237
238// Mix final noise value
239  vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);
240  m = m * m;
241  return 42.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1),
242                                dot(p2,x2), dot(p3,x3) ) );
243}
244
245// Classic Perlin noise
246float cnoise(vec3 P)
247{
248  vec3 Pi0 = floor(P); // Integer part for indexing
249  vec3 Pi1 = Pi0 + vec3(1.0); // Integer part + 1
250  Pi0 = mod289(Pi0);
251  Pi1 = mod289(Pi1);
252  vec3 Pf0 = fract(P); // Fractional part for interpolation
253  vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0
254  vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);
255  vec4 iy = vec4(Pi0.yy, Pi1.yy);
256  vec4 iz0 = Pi0.zzzz;
257  vec4 iz1 = Pi1.zzzz;
258
259  vec4 ixy = permute(permute(ix) + iy);
260  vec4 ixy0 = permute(ixy + iz0);
261  vec4 ixy1 = permute(ixy + iz1);
262
263  vec4 gx0 = ixy0 * (1.0 / 7.0);
264  vec4 gy0 = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;
265  gx0 = fract(gx0);
266  vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);
267  vec4 sz0 = step(gz0, vec4(0.0));
268  gx0 -= sz0 * (step(0.0, gx0) - 0.5);
269  gy0 -= sz0 * (step(0.0, gy0) - 0.5);
270
271  vec4 gx1 = ixy1 * (1.0 / 7.0);
272  vec4 gy1 = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;
273  gx1 = fract(gx1);
274  vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);
275  vec4 sz1 = step(gz1, vec4(0.0));
276  gx1 -= sz1 * (step(0.0, gx1) - 0.5);
277  gy1 -= sz1 * (step(0.0, gy1) - 0.5);
278
279  vec3 g000 = vec3(gx0.x,gy0.x,gz0.x);
280  vec3 g100 = vec3(gx0.y,gy0.y,gz0.y);
281  vec3 g010 = vec3(gx0.z,gy0.z,gz0.z);
282  vec3 g110 = vec3(gx0.w,gy0.w,gz0.w);
283  vec3 g001 = vec3(gx1.x,gy1.x,gz1.x);
284  vec3 g101 = vec3(gx1.y,gy1.y,gz1.y);
285  vec3 g011 = vec3(gx1.z,gy1.z,gz1.z);
286  vec3 g111 = vec3(gx1.w,gy1.w,gz1.w);
287
288  vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));
289  g000 *= norm0.x;
290  g010 *= norm0.y;
291  g100 *= norm0.z;
292  g110 *= norm0.w;
293  vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));
294  g001 *= norm1.x;
295  g011 *= norm1.y;
296  g101 *= norm1.z;
297  g111 *= norm1.w;
298
299  float n000 = dot(g000, Pf0);
300  float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));
301  float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));
302  float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));
303  float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));
304  float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));
305  float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));
306  float n111 = dot(g111, Pf1);
307
308  vec3 fade_xyz = fade(Pf0);
309  vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);
310  vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);
311  float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x);
312  return 2.2 * n_xyz;
313}
314
315// YUV to RGB matrix
316mat3 yuv2rgb = mat3(1.0, 0.0, 1.13983,
317                    1.0, -0.39465, -0.58060,
318                    1.0, 2.03211, 0.0);
319
320// RGB to YUV matrix
321mat3 rgb2yuv = mat3(0.2126, 0.7152, 0.0722,
322                    -0.09991, -0.33609, 0.43600,
323                    0.615, -0.5586, -0.05639);
324                    
325vec3 oklab2rgb(vec3 linear)
326{
327    const mat3 im1 = mat3(0.4121656120, 0.2118591070, 0.0883097947,
328                          0.5362752080, 0.6807189584, 0.2818474174,
329                          0.0514575653, 0.1074065790, 0.6302613616);
330                       
331    const mat3 im2 = mat3(+0.2104542553, +1.9779984951, +0.0259040371,
332                          +0.7936177850, -2.4285922050, +0.7827717662,
333                          -0.0040720468, +0.4505937099, -0.8086757660);
334                       
335    vec3 lms = im1 * linear;
336            
337    return im2 * (sign(lms) * pow(abs(lms), vec3(1.0/3.0)));
338}
339
340vec3 rgb2oklab(vec3 oklab)
341{
342    const mat3 m1 = mat3(+1.000000000, +1.000000000, +1.000000000,
343                         +0.396337777, -0.105561346, -0.089484178,
344                         +0.215803757, -0.063854173, -1.291485548);
345                       
346    const mat3 m2 = mat3(+4.076724529, -1.268143773, -0.004111989,
347                         -3.307216883, +2.609332323, -0.703476310,
348                         +0.230759054, -0.341134429, +1.706862569);
349    vec3 lms = m1 * oklab;
350    
351    return m2 * (lms * lms * lms);
352}
353
354    `,_=()=>`
355
356vec3 saturation(vec3 rgb, float adjustment) {
357    const vec3 W = vec3(0.2125, 0.7154, 0.0721);
358    vec3 intensity = vec3(dot(rgb, W));
359    return mix(intensity, rgb, adjustment);
360}
361
362float saturation(vec3 rgb)
363{
364    vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
365    vec4 p = mix(vec4(rgb.bg, K.wz), vec4(rgb.gb, K.xy), step(rgb.b, rgb.g));
366    vec4 q = mix(vec4(p.xyw, rgb.r), vec4(rgb.r, p.yzx), step(p.x, rgb.r));
367
368    float d = q.x - min(q.w, q.y);
369    float e = 1.0e-10;
370    return abs(6.0 * d + e);
371}
372
373// get saturation of a color in values between 0 and 1
374float getSaturation(vec3 color) {
375    float max = max(color.r, max(color.g, color.b));
376    float min = min(color.r, min(color.g, color.b));
377    return (max - min) / max;
378}
379    
380vec3 rgb2hsv(vec3 c)
381{
382    vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
383    vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));
384    vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));
385
386    float d = q.x - min(q.w, q.y);
387    float e = 1.0e-10;
388    return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
389}
390
391vec3 hsv2rgb(vec3 c)
392{
393    vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
394    vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
395    return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
396}
397`,m=e=>{e.id=l,e.href="https://neat.firecms.co",e.target="_blank",e.style.position="absolute",e.style.display="block",e.style.bottom="0",e.style.right="0",e.style.padding="10px",e.style.color="#dcdcdc",e.style.opacity="0.8",e.style.fontFamily="sans-serif",e.style.fontSize="16px",e.style.fontWeight="bold",e.style.textDecoration="none",e.style.zIndex="10000",e.innerHTML="NEAT"},h=e=>{let t=e.parentElement?.getElementsByTagName("a");if(t){for(let e=0;e<t.length;e++)if(t[e].id===l){m(t[e]);return}}let o=document.createElement("a");m(o),e.parentElement?.appendChild(o)},x={colors:[{color:"#FF0069",enabled:!0},{color:"#00EAFF",enabled:!0},{color:"#FFB700",enabled:!0},{color:"#B26AE6",enabled:!0},{color:"#2E0EC7",enabled:!0}],speed:4,horizontalPressure:3,verticalPressure:4,waveFrequencyX:10,waveFrequencyY:0,waveAmplitude:10,shadows:5,highlights:10,colorBrightness:1,colorSaturation:2,wireframe:!1,colorBlending:9,backgroundColor:"#003FFF",backgroundAlpha:1,grainScale:2,grainSparsity:0,grainIntensity:.05,grainSpeed:1,resolution:.5};var f=e=>{let{jsConfig:t,sampleData:o,...n}=e,a=(0,i.useRef)(null);return(0,i.useEffect)(()=>{a.current&&t&&(new c({ref:a.current,...t,...o&&!t?x:{}}).speed=5)},[]),(0,r.jsx)("canvas",{ref:a,style:{width:"100%",height:"100%"},...n})}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.