dexbot 1.4.19 → 1.4.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/analysis/ama_fitting/analyze_lambda_vs_slow.ts +2 -2
- package/analysis/ama_fitting/optimizer_high_resolution.ts +2 -1
- package/analysis/ama_fitting/package.json +1 -1
- package/analysis/analyze_derivatives.ts +4 -2
- package/analysis/analyze_dynamic_weight.ts +3 -1
- package/analysis/analyze_kalman.ts +3 -1
- package/analysis/analyze_regime.ts +3 -1
- package/analysis/analyze_regime_windows.ts +3 -1
- package/analysis/analyze_volatility.ts +2 -2
- package/analysis/bot_fitting/backtest_ama_sweep.ts +2 -1
- package/analysis/bot_fitting/backtest_bot_fitting.ts +17 -12
- package/analysis/chart_utils.ts +24 -0
- package/analysis/derivative_chart_generator.ts +3 -2
- package/analysis/trend_detection/DYNAMIC_WEIGHT_RESEARCH.md +1 -1
- package/analysis/trend_detection/dynamic_weight_chart_generator.ts +91 -55
- package/analysis/trend_detection/package.json +1 -1
- package/claw/examples/claw_profiles_example.ts +4 -1
- package/claw/modules/claw_catalog.ts +1 -1
- package/claw/modules/claw_skill_md.ts +6 -5
- package/claw/modules/dexbot_profiles.ts +3 -1
- package/claw/modules/launcher_paths.ts +4 -2
- package/claw/package.json +1 -1
- package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
- package/claw/runtimes/openclaw-plugin/package.json +1 -1
- package/claw/tests/test_claw_mcp_transport.ts +2 -2
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js +2 -2
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js.map +1 -1
- package/dist/analysis/ama_fitting/optimizer_high_resolution.d.ts.map +1 -1
- package/dist/analysis/ama_fitting/optimizer_high_resolution.js +2 -1
- package/dist/analysis/ama_fitting/optimizer_high_resolution.js.map +1 -1
- package/dist/analysis/analyze_derivatives.d.ts.map +1 -1
- package/dist/analysis/analyze_derivatives.js +4 -2
- package/dist/analysis/analyze_derivatives.js.map +1 -1
- package/dist/analysis/analyze_dynamic_weight.js +3 -1
- package/dist/analysis/analyze_dynamic_weight.js.map +1 -1
- package/dist/analysis/analyze_kalman.js +3 -1
- package/dist/analysis/analyze_kalman.js.map +1 -1
- package/dist/analysis/analyze_regime.js +3 -1
- package/dist/analysis/analyze_regime.js.map +1 -1
- package/dist/analysis/analyze_regime_windows.js +3 -1
- package/dist/analysis/analyze_regime_windows.js.map +1 -1
- package/dist/analysis/analyze_volatility.js +2 -2
- package/dist/analysis/analyze_volatility.js.map +1 -1
- package/dist/analysis/bot_fitting/backtest_ama_sweep.d.ts.map +1 -1
- package/dist/analysis/bot_fitting/backtest_ama_sweep.js +2 -1
- package/dist/analysis/bot_fitting/backtest_ama_sweep.js.map +1 -1
- package/dist/analysis/bot_fitting/backtest_bot_fitting.js +18 -13
- package/dist/analysis/bot_fitting/backtest_bot_fitting.js.map +1 -1
- package/dist/analysis/chart_utils.d.ts +0 -3
- package/dist/analysis/chart_utils.d.ts.map +1 -1
- package/dist/analysis/chart_utils.js +25 -0
- package/dist/analysis/chart_utils.js.map +1 -1
- package/dist/analysis/derivative_chart_generator.d.ts.map +1 -1
- package/dist/analysis/derivative_chart_generator.js +3 -2
- package/dist/analysis/derivative_chart_generator.js.map +1 -1
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts.map +1 -1
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js +82 -50
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js.map +1 -1
- package/dist/dexbot.d.ts.map +1 -1
- package/dist/dexbot.js +2 -3
- package/dist/dexbot.js.map +1 -1
- package/dist/market_adapter/core/market_adapter_service.d.ts.map +1 -1
- package/dist/market_adapter/core/market_adapter_service.js +8 -3
- package/dist/market_adapter/core/market_adapter_service.js.map +1 -1
- package/dist/modules/config.d.ts +2 -0
- package/dist/modules/config.d.ts.map +1 -1
- package/dist/modules/config.js +2 -0
- package/dist/modules/config.js.map +1 -1
- package/dist/modules/constants.js +1 -1
- package/dist/modules/dexbot_cow_runtime.d.ts +0 -7
- package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_cow_runtime.js +95 -0
- package/dist/modules/dexbot_cow_runtime.js.map +1 -1
- package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
- package/dist/modules/dexbot_state_recovery.js +20 -1
- package/dist/modules/dexbot_state_recovery.js.map +1 -1
- package/dist/modules/order/grid.d.ts.map +1 -1
- package/dist/modules/order/grid.js +146 -32
- package/dist/modules/order/grid.js.map +1 -1
- package/dist/modules/order/manager.d.ts +13 -0
- package/dist/modules/order/manager.d.ts.map +1 -1
- package/dist/modules/order/manager.js +75 -2
- package/dist/modules/order/manager.js.map +1 -1
- package/dist/modules/order/utils/math.d.ts +74 -1
- package/dist/modules/order/utils/math.d.ts.map +1 -1
- package/dist/modules/order/utils/math.js +120 -2
- package/dist/modules/order/utils/math.js.map +1 -1
- package/dist/modules/paths.d.ts +26 -1
- package/dist/modules/paths.d.ts.map +1 -1
- package/dist/modules/paths.js +39 -6
- package/dist/modules/paths.js.map +1 -1
- package/dist/scripts/analyze-git.js +2 -1
- package/dist/scripts/analyze-git.js.map +1 -1
- package/dist/scripts/analyze-orders.js +2 -2
- package/dist/scripts/analyze-orders.js.map +1 -1
- package/docs/DEXBOT_COMPARISON.md +3 -3
- package/docs/EVOLUTION.md +8 -7
- package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +1 -1
- package/docs/README.md +1 -1
- package/package.json +2 -3
- package/scripts/lib/dexbot-paths.sh +20 -11
|
@@ -24,6 +24,39 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
|
|
|
24
24
|
const results = data.allResults || [];
|
|
25
25
|
if (results.length === 0)
|
|
26
26
|
throw new Error('No analysis results in input');
|
|
27
|
+
// Slider ranges — single source of truth for HTML attrs, tooltips,
|
|
28
|
+
// payload transport, and client paste-clamp bounds.
|
|
29
|
+
const LB_MIN = 1, LB_MAX = 32;
|
|
30
|
+
const GAIN_MIN = 0.5, GAIN_MAX = 2.0;
|
|
31
|
+
const AMA_MS_MIN = 0.04, AMA_MS_MAX = 0.12;
|
|
32
|
+
const KAL_MS_MIN = 0.5, KAL_MS_MAX = 1.5;
|
|
33
|
+
const CLIP_PCT_MAX = 20;
|
|
34
|
+
const TH_MIN = 0, TH_MAX = 0.5;
|
|
35
|
+
const KF_MIN = 0, KF_MAX = 200;
|
|
36
|
+
const KFD_MIN = 1.0, KFD_MAX = 3.0;
|
|
37
|
+
const DSP_MIN = 0.25, DSP_MAX = 4.0;
|
|
38
|
+
const KDT_MIN = 0.25, KDT_MAX = 3.0;
|
|
39
|
+
const KFS_MIN = 20, KFS_MAX = 200;
|
|
40
|
+
const CF_MIN = 0, CF_MAX = 5;
|
|
41
|
+
const REGI_MIN = 0, REGI_MAX = 2;
|
|
42
|
+
const SLIDER_RANGES = {
|
|
43
|
+
alpha: [0, 1],
|
|
44
|
+
dispWeight: [0, 1],
|
|
45
|
+
neutralZonePct: [0, 1],
|
|
46
|
+
lookbackBars: [LB_MIN, LB_MAX],
|
|
47
|
+
amaMaxSlopePct: [AMA_MS_MIN, AMA_MS_MAX],
|
|
48
|
+
kalmanMaxSlopePct: [KAL_MS_MIN, KAL_MS_MAX],
|
|
49
|
+
clipPct: [0, CLIP_PCT_MAX],
|
|
50
|
+
minOutputThreshold: [TH_MIN, TH_MAX],
|
|
51
|
+
kalmanSmoothPct: [KF_MIN, KF_MAX],
|
|
52
|
+
kalmanDispScaleMult: [KFD_MIN, KFD_MAX],
|
|
53
|
+
dispScaleMinPct: [DSP_MIN, DSP_MAX],
|
|
54
|
+
kalmanDispThresholdMult: [KDT_MIN, KDT_MAX],
|
|
55
|
+
kalmanSmoothSpanPct: [KFS_MIN, KFS_MAX],
|
|
56
|
+
signalConfirmBars: [CF_MIN, CF_MAX],
|
|
57
|
+
gain: [GAIN_MIN, GAIN_MAX],
|
|
58
|
+
regimeSensitivity: [REGI_MIN, REGI_MAX],
|
|
59
|
+
};
|
|
27
60
|
const ma = data.marketAdapter || {};
|
|
28
61
|
const amaWeightConfig = data.amaWeightConfig || {};
|
|
29
62
|
const defaultAlpha = data.alpha ?? ma.alpha ?? MARKET_ADAPTER.DYNAMIC_WEIGHT_ALPHA;
|
|
@@ -39,27 +72,23 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
|
|
|
39
72
|
?? MARKET_ADAPTER.DYNAMIC_WEIGHT_KALMAN_MAX_SLOPE_PCT;
|
|
40
73
|
const defaultClipPct = data.clipPct ?? ma.clipPercentile ?? MARKET_ADAPTER.DYNAMIC_WEIGHT_CLIP_PERCENTILE;
|
|
41
74
|
const defaultMinOutputThresholdRaw = data.minOutputThreshold ?? ma.minOutputThreshold ?? MARKET_ADAPTER.DYNAMIC_WEIGHT_ASYMMETRIC_TREND_THRESHOLD;
|
|
42
|
-
const defaultMinOutputThreshold = Math.min(Math.max(defaultMinOutputThresholdRaw,
|
|
75
|
+
const defaultMinOutputThreshold = Math.min(Math.max(defaultMinOutputThresholdRaw, TH_MIN), TH_MAX);
|
|
43
76
|
const defaultOutputClamp = data.outputClamp ?? ma.outputClamp ?? MARKET_ADAPTER.DYNAMIC_WEIGHT_ASYMMETRIC_OFFSET_CLAMP;
|
|
44
77
|
const lookbackBarsRaw = amaWeightConfig.lookbackBars ?? ma.amaLookbackBars ?? MARKET_ADAPTER.DYNAMIC_WEIGHT_AMA_LOOKBACK_BARS;
|
|
45
|
-
const lookbackBars = Math.ceil(Math.max(
|
|
46
|
-
// Log mapping for lookback slider
|
|
47
|
-
const LB_LOG_MIN_N = Math.log(
|
|
48
|
-
const LB_LOG_MAX_N = Math.log(
|
|
49
|
-
const clampedLb = Math.min(Math.max(lookbackBars,
|
|
78
|
+
const lookbackBars = Math.ceil(Math.max(LB_MIN, Math.min(LB_MAX, Number.isFinite(lookbackBarsRaw) ? lookbackBarsRaw : LB_MIN)));
|
|
79
|
+
// Log mapping for lookback slider
|
|
80
|
+
const LB_LOG_MIN_N = Math.log(LB_MIN);
|
|
81
|
+
const LB_LOG_MAX_N = Math.log(LB_MAX);
|
|
82
|
+
const clampedLb = Math.min(Math.max(lookbackBars, LB_MIN), LB_MAX);
|
|
50
83
|
const lbInitSlider = Math.round((Math.log(clampedLb) - LB_LOG_MIN_N) / (LB_LOG_MAX_N - LB_LOG_MIN_N) * 1000);
|
|
51
84
|
// Log mapping for gain slider
|
|
52
|
-
const GAIN_LOG_MIN_N = Math.log(
|
|
53
|
-
const GAIN_LOG_MAX_N = Math.log(
|
|
54
|
-
const clampedGain = Math.min(Math.max(defaultGain,
|
|
85
|
+
const GAIN_LOG_MIN_N = Math.log(GAIN_MIN);
|
|
86
|
+
const GAIN_LOG_MAX_N = Math.log(GAIN_MAX);
|
|
87
|
+
const clampedGain = Math.min(Math.max(defaultGain, GAIN_MIN), GAIN_MAX);
|
|
55
88
|
const gainInitSlider = Math.round((Math.log(clampedGain) - GAIN_LOG_MIN_N) / (GAIN_LOG_MAX_N - GAIN_LOG_MIN_N) * 1000);
|
|
56
89
|
// Log mapping for slope saturation sliders
|
|
57
|
-
const AMA_MS_MIN = 0.04;
|
|
58
|
-
const AMA_MS_MAX = 0.12;
|
|
59
90
|
const AMA_MS_LOG_MIN_N = Math.log(AMA_MS_MIN);
|
|
60
91
|
const AMA_MS_LOG_MAX_N = Math.log(AMA_MS_MAX);
|
|
61
|
-
const KAL_MS_MIN = 0.15;
|
|
62
|
-
const KAL_MS_MAX = 1.5;
|
|
63
92
|
const KAL_MS_LOG_MIN_N = Math.log(KAL_MS_MIN);
|
|
64
93
|
const KAL_MS_LOG_MAX_N = Math.log(KAL_MS_MAX);
|
|
65
94
|
const clampedAmaMs = Math.min(Math.max(defaultAmaMaxSlopePct, AMA_MS_MIN), AMA_MS_MAX);
|
|
@@ -86,7 +115,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
|
|
|
86
115
|
const amaSlopePct = results.map((r) => r.amaSlopePct ?? null);
|
|
87
116
|
const kalmanVelocityPctRaw = results.map((r) => r.velocityRawPct ?? r.velocityPct ?? null);
|
|
88
117
|
const kalmanDisplacementPct = results.map((r) => r.displacementRawPct ?? r.displacementPct ?? null);
|
|
89
|
-
const kalmanVelocityPct = buildKalmanVelocitySeries(results, {
|
|
118
|
+
const kalmanVelocityPct = buildKalmanVelocitySeries(results.map((r) => ({ velocityPct: r.velocityRawPct ?? r.velocityPct ?? null, displacementPct: r.displacementRawPct ?? r.displacementPct ?? null })), {
|
|
90
119
|
kalmanSmoothPct: defaultKalmanSmoothPct,
|
|
91
120
|
kalmanDispScaleMult: defaultKalmanDispScaleMult,
|
|
92
121
|
kalmanDispThresholdMult: defaultKalmanDispThresholdMult,
|
|
@@ -303,24 +332,24 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
|
|
|
303
332
|
|
|
304
333
|
<div class="group-sep"></div>
|
|
305
334
|
<div class="ctrl nz"><label for="nz-slider">nz%</label><input type="range" id="nz-slider" min="0" max="100" value="${Math.round(defaultNeutralZone * 100)}" title="Neutral Zone %"><span class="val" id="nz-value">${defaultNeutralZone.toFixed(2)}</span></div>
|
|
306
|
-
<div class="ctrl lb"><label for="lb-slider">lb</label><input type="range" id="lb-slider" min="0" max="1000" value="${lbInitSlider}" title="Lookback Bars (
|
|
307
|
-
<div class="ctrl ms-ama"><label for="ama-ms-slider">amaS%</label><input type="range" id="ama-ms-slider" min="0" max="1000" value="${amaMsInitSlider}" title="AMA Max Slope % per bar (
|
|
308
|
-
<div class="ctrl clip"><label for="clip-slider">clip%</label><input type="range" id="clip-slider" min="0" max="
|
|
335
|
+
<div class="ctrl lb"><label for="lb-slider">lb</label><input type="range" id="lb-slider" min="0" max="1000" value="${lbInitSlider}" title="Lookback Bars (${LB_MIN}-${LB_MAX})"><span class="val" id="lb-value">${lookbackBars}</span></div>
|
|
336
|
+
<div class="ctrl ms-ama"><label for="ama-ms-slider">amaS%</label><input type="range" id="ama-ms-slider" min="0" max="1000" value="${amaMsInitSlider}" title="AMA Max Slope % per bar (${AMA_MS_MIN}-${AMA_MS_MAX})"><span class="val" id="ama-ms-value">${defaultAmaMaxSlopePct.toFixed(4)}</span></div>
|
|
337
|
+
<div class="ctrl clip"><label for="clip-slider">clip%</label><input type="range" id="clip-slider" min="0" max="${CLIP_PCT_MAX}" value="${Math.min(defaultClipPct, CLIP_PCT_MAX)}" title="Outlier Clip %"><span class="val" id="clip-value">${Math.min(defaultClipPct, CLIP_PCT_MAX)}%</span></div>
|
|
309
338
|
|
|
310
339
|
<div class="group-sep"></div>
|
|
311
|
-
<div class="ctrl th"><label for="th-slider">th%</label><input type="range" id="th-slider" min="0" max="
|
|
340
|
+
<div class="ctrl th"><label for="th-slider">th%</label><input type="range" id="th-slider" min="0" max="${TH_MAX * 100}" value="${Math.round(defaultMinOutputThreshold * 100)}" title="Minimum pre-gain blended output required before the signal is allowed through (${TH_MIN.toFixed(2)}-${TH_MAX.toFixed(2)})"><span class="val" id="th-value">${defaultMinOutputThreshold.toFixed(2)}</span></div>
|
|
312
341
|
|
|
313
342
|
<div class="group-sep"></div>
|
|
314
343
|
<div class="row-break"></div>
|
|
315
|
-
<div class="ctrl ms-kal"><label for="kal-ms-slider">kalS%</label><input type="range" id="kal-ms-slider" min="0" max="1000" value="${kalMsInitSlider}" title="Kalman Max Slope % (
|
|
316
|
-
<div class="ctrl kf"><label for="kf-slider">kf</label><input type="range" id="kf-slider" min="
|
|
317
|
-
<div class="ctrl kfd"><label for="kfd-slider">kfd</label><input type="range" id="kfd-slider" min="100" max="
|
|
318
|
-
<div class="ctrl dsp"><label for="dsp-slider">dsp</label><input type="range" id="dsp-slider" min="
|
|
319
|
-
<div class="ctrl kdt"><label for="kdt-slider">kdt</label><input type="range" id="kdt-slider" min="
|
|
320
|
-
<div class="ctrl kfs"><label for="kfs-slider">kfs</label><input type="range" id="kfs-slider" min="
|
|
321
|
-
<div class="ctrl cf"><label for="cf-slider">cf</label><input type="range" id="cf-slider" min="
|
|
322
|
-
<div class="ctrl off"><label for="gain-slider">gain</label><input type="range" id="gain-slider" min="0" max="1000" value="${gainInitSlider}" title="Output Gain (
|
|
323
|
-
<div class="ctrl regime"><label for="regime-slider">regi</label><input type="range" id="regime-slider" min="0" max="
|
|
344
|
+
<div class="ctrl ms-kal"><label for="kal-ms-slider">kalS%</label><input type="range" id="kal-ms-slider" min="0" max="1000" value="${kalMsInitSlider}" title="Kalman Max Slope % (${KAL_MS_MIN}-${KAL_MS_MAX})"><span class="val" id="kal-ms-value">${clampedKalMs.toFixed(2)}</span></div>
|
|
345
|
+
<div class="ctrl kf"><label for="kf-slider">kf</label><input type="range" id="kf-slider" min="${KF_MIN}" max="${KF_MAX}" value="${defaultKalmanSmoothPct}" title="Kalman smoothing blend (${KF_MIN} = raw, 100 = current adaptive smoothing, ${KF_MAX} = stronger smoothing)"><span class="val" id="kf-value">${defaultKalmanSmoothPct}%</span></div>
|
|
346
|
+
<div class="ctrl kfd"><label for="kfd-slider">kfd</label><input type="range" id="kfd-slider" min="${KFD_MIN * 100}" max="${KFD_MAX * 100}" value="${Math.round(defaultKalmanDispScaleMult * 100)}" title="Kalman displacement scale multiplier (${KFD_MIN}x to ${KFD_MAX}x)"><span class="val" id="kfd-value">${defaultKalmanDispScaleMult.toFixed(2)}x</span></div>
|
|
347
|
+
<div class="ctrl dsp"><label for="dsp-slider">dsp</label><input type="range" id="dsp-slider" min="${DSP_MIN * 100}" max="${DSP_MAX * 100}" value="${Math.round(defaultDispScaleMinPct * 100)}" title="Minimum displacement scale floor (${DSP_MIN}x to ${DSP_MAX.toFixed(1)}x)"><span class="val" id="dsp-value">${defaultDispScaleMinPct.toFixed(2)}x</span></div>
|
|
348
|
+
<div class="ctrl kdt"><label for="kdt-slider">kdt</label><input type="range" id="kdt-slider" min="${KDT_MIN * 100}" max="${KDT_MAX * 100}" value="${Math.round(defaultKalmanDispThresholdMult * 100)}" title="Kalman displacement threshold multiplier (${KDT_MIN}x to ${KDT_MAX}x)"><span class="val" id="kdt-value">${defaultKalmanDispThresholdMult.toFixed(2)}x</span></div>
|
|
349
|
+
<div class="ctrl kfs"><label for="kfs-slider">kfs</label><input type="range" id="kfs-slider" min="${KFS_MIN}" max="${KFS_MAX}" value="${defaultKalmanSmoothSpanPct}" title="Adaptive EMA span ratio (${KFS_MIN}% span / ${KFS_MAX}% span; floor fixed at 0)"><span class="val" id="kfs-value">${defaultKalmanSmoothSpanPct}%</span></div>
|
|
350
|
+
<div class="ctrl cf"><label for="cf-slider">cf</label><input type="range" id="cf-slider" min="${CF_MIN}" max="${CF_MAX}" value="${defaultSignalConfirmBars}" title="Signal confirmation bars (0 disables latching; otherwise flips after N opposite echo bars)"><span class="val" id="cf-value">${defaultSignalConfirmBars}</span></div>
|
|
351
|
+
<div class="ctrl off"><label for="gain-slider">gain</label><input type="range" id="gain-slider" min="0" max="1000" value="${gainInitSlider}" title="Output Gain (${GAIN_MIN.toFixed(1)}-${GAIN_MAX.toFixed(1)})"><span class="val" id="gain-value">${clampedGain.toFixed(3)}</span></div>
|
|
352
|
+
<div class="ctrl regime"><label for="regime-slider">regi</label><input type="range" id="regime-slider" min="0" max="${REGI_MAX * 100}" value="${regimeInitSlider}" title="Regime Sensitivity"><span class="val" id="regime-value">${defaultRegimeSensitivity.toFixed(2)}</span></div>
|
|
324
353
|
<button class="copy-btn" id="copy-params-btn">copy</button>
|
|
325
354
|
<button class="paste-btn" id="paste-params-btn">paste</button>
|
|
326
355
|
</div>
|
|
@@ -337,7 +366,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
|
|
|
337
366
|
</div>
|
|
338
367
|
</div>
|
|
339
368
|
|
|
340
|
-
<script id="payload" type="application/json">${serializeJsonForScript({ dates, prices, hurstArr, peArr, hurstSegments, peSegments, ama3Prices, amaSeedSmaLine, amaSlopePct, kalmanVelocityPctRaw, kalmanVelocityPct, kalmanDisplacementPct, kalmanIsReady, signals, alpha: defaultAlpha, gain: defaultGain, kalmanSmoothPct: defaultKalmanSmoothPct, kalmanDispScaleMult: defaultKalmanDispScaleMult, kalmanDispThresholdMult: defaultKalmanDispThresholdMult, kalmanSmoothSpanPct: defaultKalmanSmoothSpanPct, signalConfirmBars: defaultSignalConfirmBars, neutralZonePct: defaultNeutralZone, dispWeight: defaultDispWeight, amaMaxSlopePct: defaultAmaMaxSlopePct, kalmanMaxSlopePct: defaultKalmanMaxSlopePct, maxDispPct, clipPct: defaultClipPct, minOutputThreshold: defaultMinOutputThreshold, outputClamp: defaultOutputClamp, regimeSensitivity: defaultRegimeSensitivity, absoluteThreshold: defaultAbsoluteThreshold, lookbackBars, amaErPeriod, amaSlowPeriod, amaWarmupBars, amaSlopeReadyBars, realBarCount, amaPctMax, kalPctMax, amaPercentiles, kalPercentiles, amaSlopeLogMin: AMA_MS_LOG_MIN_N, amaSlopeLogMax: AMA_MS_LOG_MAX_N, kalSlopeLogMin: KAL_MS_LOG_MIN_N, kalSlopeLogMax: KAL_MS_LOG_MAX_N, lbLogMin: LB_LOG_MIN_N, lbLogMax: LB_LOG_MAX_N, gainLogMin: GAIN_LOG_MIN_N, gainLogMax: GAIN_LOG_MAX_N, dispScaleMinPct: defaultDispScaleMinPct, weightMin: MARKET_ADAPTER.DYNAMIC_WEIGHT_MIN_WEIGHT, weightMax: MARKET_ADAPTER.DYNAMIC_WEIGHT_MAX_WEIGHT, marketAdapter: ma, amaWeightConfig, hNodes: [0.5 + MARKET_ADAPTER.HURST_ZONE_BAND, 0.5, 0.5 - MARKET_ADAPTER.HURST_ZONE_BAND], pNodes: MARKET_ADAPTER.PE_NODES, regimeTable: MARKET_ADAPTER.REGIME_TABLE })}</script>
|
|
369
|
+
<script id="payload" type="application/json">${serializeJsonForScript({ dates, prices, hurstArr, peArr, hurstSegments, peSegments, ama3Prices, amaSeedSmaLine, amaSlopePct, kalmanVelocityPctRaw, kalmanVelocityPct, kalmanDisplacementPct, kalmanIsReady, signals, alpha: defaultAlpha, gain: defaultGain, kalmanSmoothPct: defaultKalmanSmoothPct, kalmanDispScaleMult: defaultKalmanDispScaleMult, kalmanDispThresholdMult: defaultKalmanDispThresholdMult, kalmanSmoothSpanPct: defaultKalmanSmoothSpanPct, signalConfirmBars: defaultSignalConfirmBars, neutralZonePct: defaultNeutralZone, dispWeight: defaultDispWeight, amaMaxSlopePct: defaultAmaMaxSlopePct, kalmanMaxSlopePct: defaultKalmanMaxSlopePct, maxDispPct, clipPct: defaultClipPct, minOutputThreshold: defaultMinOutputThreshold, outputClamp: defaultOutputClamp, regimeSensitivity: defaultRegimeSensitivity, absoluteThreshold: defaultAbsoluteThreshold, lookbackBars, amaErPeriod, amaSlowPeriod, amaWarmupBars, amaSlopeReadyBars, realBarCount, amaPctMax, kalPctMax, amaPercentiles, kalPercentiles, amaSlopeLogMin: AMA_MS_LOG_MIN_N, amaSlopeLogMax: AMA_MS_LOG_MAX_N, kalSlopeLogMin: KAL_MS_LOG_MIN_N, kalSlopeLogMax: KAL_MS_LOG_MAX_N, lbLogMin: LB_LOG_MIN_N, lbLogMax: LB_LOG_MAX_N, gainLogMin: GAIN_LOG_MIN_N, gainLogMax: GAIN_LOG_MAX_N, sliderRanges: SLIDER_RANGES, dispScaleMinPct: defaultDispScaleMinPct, weightMin: MARKET_ADAPTER.DYNAMIC_WEIGHT_MIN_WEIGHT, weightMax: MARKET_ADAPTER.DYNAMIC_WEIGHT_MAX_WEIGHT, marketAdapter: ma, amaWeightConfig, hNodes: [0.5 + MARKET_ADAPTER.HURST_ZONE_BAND, 0.5, 0.5 - MARKET_ADAPTER.HURST_ZONE_BAND], pNodes: MARKET_ADAPTER.PE_NODES, regimeTable: MARKET_ADAPTER.REGIME_TABLE })}</script>
|
|
341
370
|
|
|
342
371
|
<script>
|
|
343
372
|
const data = JSON.parse(document.getElementById('payload').textContent);
|
|
@@ -348,6 +377,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
|
|
|
348
377
|
const Y_AXIS_SIZE = ${Y_AXIS_SIZE};
|
|
349
378
|
const ma = data.marketAdapter || {};
|
|
350
379
|
const amaWeightConfig = data.amaWeightConfig || {};
|
|
380
|
+
const SR = data.sliderRanges ?? ${serializeJsonForScript(SLIDER_RANGES)};
|
|
351
381
|
|
|
352
382
|
const ABSOLUTE_THRESHOLD = data.absoluteThreshold ?? ${JSON.stringify(defaultAbsoluteThreshold)};
|
|
353
383
|
const WEIGHT_MIN = data.weightMin ?? ${JSON.stringify(MARKET_ADAPTER.DYNAMIC_WEIGHT_MIN_WEIGHT)};
|
|
@@ -359,7 +389,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
|
|
|
359
389
|
|
|
360
390
|
let currentAlpha = data.alpha ?? ${JSON.stringify(defaultAlpha)};
|
|
361
391
|
let currentGain = data.gain ?? ${JSON.stringify(defaultGain)};
|
|
362
|
-
let currentMinOutputThreshold = Math.min(Math.max(data.minOutputThreshold ?? ${JSON.stringify(defaultMinOutputThreshold)}, 0),
|
|
392
|
+
let currentMinOutputThreshold = Math.min(Math.max(data.minOutputThreshold ?? ${JSON.stringify(defaultMinOutputThreshold)}, SR.minOutputThreshold[0]), SR.minOutputThreshold[1]);
|
|
363
393
|
let currentKalmanSmoothPct = data.kalmanSmoothPct ?? ${JSON.stringify(defaultKalmanSmoothPct)};
|
|
364
394
|
let currentKalmanDispScaleMult = data.kalmanDispScaleMult ?? ${JSON.stringify(defaultKalmanDispScaleMult)};
|
|
365
395
|
let currentKalmanDispThresholdMult = data.kalmanDispThresholdMult ?? ${JSON.stringify(defaultKalmanDispThresholdMult)};
|
|
@@ -381,7 +411,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
|
|
|
381
411
|
const LB_LOG_MIN = data.lbLogMin;
|
|
382
412
|
const LB_LOG_MAX = data.lbLogMax;
|
|
383
413
|
const lbSliderToVal = (pos) => Math.round(Math.exp(LB_LOG_MIN + (pos / 1000) * (LB_LOG_MAX - LB_LOG_MIN)));
|
|
384
|
-
const lbValToSlider = (val) => Math.round((Math.log(Math.max(
|
|
414
|
+
const lbValToSlider = (val) => Math.round((Math.log(Math.max(SR.lookbackBars[0], val)) - LB_LOG_MIN) / (LB_LOG_MAX - LB_LOG_MIN) * 1000);
|
|
385
415
|
|
|
386
416
|
const GAIN_LOG_MIN = data.gainLogMin;
|
|
387
417
|
const GAIN_LOG_MAX = data.gainLogMax;
|
|
@@ -468,7 +498,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
|
|
|
468
498
|
}
|
|
469
499
|
|
|
470
500
|
function recalcLatchedSignals() {
|
|
471
|
-
const confirmBars = Math.max(0, Math.min(
|
|
501
|
+
const confirmBars = Math.max(SR.signalConfirmBars[0], Math.min(SR.signalConfirmBars[1], currentSignalConfirmBars));
|
|
472
502
|
if (confirmBars === 0) {
|
|
473
503
|
for (let i = 0; i < data.dates.length; i++) {
|
|
474
504
|
currentLatchedSignals[i] = data.signals[i] || null;
|
|
@@ -546,8 +576,10 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
|
|
|
546
576
|
if (currentClipPct > 0) {
|
|
547
577
|
const slopes = [];
|
|
548
578
|
for (let i = amaReadyBar; i < data.realBarCount; i++) {
|
|
549
|
-
|
|
550
|
-
|
|
579
|
+
// Keep every finite slope (zeros included) — matches the live
|
|
580
|
+
// market adapter service clip pool exactly.
|
|
581
|
+
const s = computeAverageAmaSlopePct(data.ama3Prices[i], data.ama3Prices[i - lb], lb);
|
|
582
|
+
if (Number.isFinite(s)) slopes.push(Math.abs(s));
|
|
551
583
|
}
|
|
552
584
|
if (slopes.length > 0) {
|
|
553
585
|
slopes.sort((a, b) => a - b);
|
|
@@ -1065,7 +1097,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
|
|
|
1065
1097
|
});
|
|
1066
1098
|
|
|
1067
1099
|
document.getElementById('th-slider').addEventListener('input', (e) => {
|
|
1068
|
-
currentMinOutputThreshold = Math.min(Math.max(parseInt(e.target.value, 10) / 100, 0),
|
|
1100
|
+
currentMinOutputThreshold = Math.min(Math.max(parseInt(e.target.value, 10) / 100, SR.minOutputThreshold[0]), SR.minOutputThreshold[1]);
|
|
1069
1101
|
document.getElementById('th-value').textContent = currentMinOutputThreshold.toFixed(2);
|
|
1070
1102
|
recalcWeights();
|
|
1071
1103
|
refreshChartsPreservingZoom();
|
|
@@ -1143,67 +1175,67 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
|
|
|
1143
1175
|
function applyParams(p, btn) {
|
|
1144
1176
|
if (typeof p !== 'object' || p === null) throw new Error('not an object');
|
|
1145
1177
|
if (p.alpha != null) {
|
|
1146
|
-
currentAlpha = Math.max(0, Math.min(1, p.alpha));
|
|
1178
|
+
currentAlpha = Math.max(SR.alpha[0], Math.min(SR.alpha[1], p.alpha));
|
|
1147
1179
|
document.getElementById('alpha-slider').value = Math.round(currentAlpha * 100);
|
|
1148
1180
|
document.getElementById('alpha-value').textContent = currentAlpha.toFixed(2);
|
|
1149
1181
|
}
|
|
1150
1182
|
if (p.dispWeight != null) {
|
|
1151
|
-
currentDw = Math.max(0, Math.min(1, p.dispWeight));
|
|
1183
|
+
currentDw = Math.max(SR.dispWeight[0], Math.min(SR.dispWeight[1], p.dispWeight));
|
|
1152
1184
|
document.getElementById('dw-slider').value = Math.round(currentDw * 100);
|
|
1153
1185
|
document.getElementById('dw-value').textContent = currentDw.toFixed(2);
|
|
1154
1186
|
}
|
|
1155
1187
|
if (p.amaMaxSlopePct != null) {
|
|
1156
|
-
currentAmaMaxSlopePct = Math.max(0
|
|
1188
|
+
currentAmaMaxSlopePct = Math.max(SR.amaMaxSlopePct[0], Math.min(SR.amaMaxSlopePct[1], p.amaMaxSlopePct));
|
|
1157
1189
|
document.getElementById('ama-ms-slider').value = Math.round((Math.log(currentAmaMaxSlopePct) - AMA_MS_LOG_MIN) / (AMA_MS_LOG_MAX - AMA_MS_LOG_MIN) * 1000);
|
|
1158
1190
|
document.getElementById('ama-ms-value').textContent = currentAmaMaxSlopePct.toFixed(4);
|
|
1159
1191
|
}
|
|
1160
1192
|
if (p.kalmanMaxSlopePct != null) {
|
|
1161
|
-
currentKalmanMaxSlopePct = Math.max(0
|
|
1193
|
+
currentKalmanMaxSlopePct = Math.max(SR.kalmanMaxSlopePct[0], Math.min(SR.kalmanMaxSlopePct[1], p.kalmanMaxSlopePct));
|
|
1162
1194
|
document.getElementById('kal-ms-slider').value = Math.round((Math.log(currentKalmanMaxSlopePct) - KAL_MS_LOG_MIN) / (KAL_MS_LOG_MAX - KAL_MS_LOG_MIN) * 1000);
|
|
1163
1195
|
document.getElementById('kal-ms-value').textContent = currentKalmanMaxSlopePct.toFixed(2);
|
|
1164
1196
|
}
|
|
1165
1197
|
if (p.gain != null) {
|
|
1166
|
-
currentGain = Math.max(0
|
|
1198
|
+
currentGain = Math.max(SR.gain[0], Math.min(SR.gain[1], p.gain));
|
|
1167
1199
|
document.getElementById('gain-slider').value = gainValToSlider(currentGain);
|
|
1168
1200
|
document.getElementById('gain-value').textContent = currentGain.toFixed(3);
|
|
1169
1201
|
}
|
|
1170
1202
|
if (p.minOutputThreshold != null) {
|
|
1171
|
-
currentMinOutputThreshold = Math.max(0, Math.min(
|
|
1203
|
+
currentMinOutputThreshold = Math.max(SR.minOutputThreshold[0], Math.min(SR.minOutputThreshold[1], p.minOutputThreshold));
|
|
1172
1204
|
document.getElementById('th-slider').value = Math.round(currentMinOutputThreshold * 100);
|
|
1173
1205
|
document.getElementById('th-value').textContent = currentMinOutputThreshold.toFixed(2);
|
|
1174
1206
|
}
|
|
1175
1207
|
if (p.kalmanSmoothPct != null) {
|
|
1176
|
-
currentKalmanSmoothPct = Math.max(0, Math.min(
|
|
1208
|
+
currentKalmanSmoothPct = Math.max(SR.kalmanSmoothPct[0], Math.min(SR.kalmanSmoothPct[1], Math.round(p.kalmanSmoothPct)));
|
|
1177
1209
|
document.getElementById('kf-slider').value = currentKalmanSmoothPct;
|
|
1178
1210
|
document.getElementById('kf-value').textContent = currentKalmanSmoothPct + '%';
|
|
1179
1211
|
}
|
|
1180
1212
|
if (p.kalmanDispScaleMult != null) {
|
|
1181
|
-
currentKalmanDispScaleMult = Math.max(
|
|
1213
|
+
currentKalmanDispScaleMult = Math.max(SR.kalmanDispScaleMult[0], Math.min(SR.kalmanDispScaleMult[1], p.kalmanDispScaleMult));
|
|
1182
1214
|
document.getElementById('kfd-slider').value = Math.round(currentKalmanDispScaleMult * 100);
|
|
1183
1215
|
document.getElementById('kfd-value').textContent = currentKalmanDispScaleMult.toFixed(2) + 'x';
|
|
1184
1216
|
}
|
|
1185
1217
|
if (p.dispScaleMinPct != null) {
|
|
1186
|
-
currentDispScaleMinPct = Math.max(0
|
|
1218
|
+
currentDispScaleMinPct = Math.max(SR.dispScaleMinPct[0], Math.min(SR.dispScaleMinPct[1], p.dispScaleMinPct));
|
|
1187
1219
|
document.getElementById('dsp-slider').value = Math.round(currentDispScaleMinPct * 100);
|
|
1188
1220
|
document.getElementById('dsp-value').textContent = currentDispScaleMinPct.toFixed(2) + 'x';
|
|
1189
1221
|
}
|
|
1190
1222
|
if (p.kalmanDispThresholdMult != null) {
|
|
1191
|
-
currentKalmanDispThresholdMult = Math.max(0
|
|
1223
|
+
currentKalmanDispThresholdMult = Math.max(SR.kalmanDispThresholdMult[0], Math.min(SR.kalmanDispThresholdMult[1], p.kalmanDispThresholdMult));
|
|
1192
1224
|
document.getElementById('kdt-slider').value = Math.round(currentKalmanDispThresholdMult * 100);
|
|
1193
1225
|
document.getElementById('kdt-value').textContent = currentKalmanDispThresholdMult.toFixed(2) + 'x';
|
|
1194
1226
|
}
|
|
1195
1227
|
if (p.kalmanSmoothSpanPct != null) {
|
|
1196
|
-
currentKalmanSmoothSpanPct = Math.max(
|
|
1228
|
+
currentKalmanSmoothSpanPct = Math.max(SR.kalmanSmoothSpanPct[0], Math.min(SR.kalmanSmoothSpanPct[1], Math.round(p.kalmanSmoothSpanPct)));
|
|
1197
1229
|
document.getElementById('kfs-slider').value = currentKalmanSmoothSpanPct;
|
|
1198
1230
|
document.getElementById('kfs-value').textContent = currentKalmanSmoothSpanPct + '%';
|
|
1199
1231
|
}
|
|
1200
1232
|
if (p.signalConfirmBars != null) {
|
|
1201
|
-
currentSignalConfirmBars = Math.max(0, Math.min(
|
|
1233
|
+
currentSignalConfirmBars = Math.max(SR.signalConfirmBars[0], Math.min(SR.signalConfirmBars[1], Math.round(p.signalConfirmBars)));
|
|
1202
1234
|
document.getElementById('cf-slider').value = currentSignalConfirmBars;
|
|
1203
1235
|
document.getElementById('cf-value').textContent = currentSignalConfirmBars;
|
|
1204
1236
|
}
|
|
1205
1237
|
if (p.clipPct != null) {
|
|
1206
|
-
currentClipPct = Math.max(0, Math.min(
|
|
1238
|
+
currentClipPct = Math.max(SR.clipPct[0], Math.min(SR.clipPct[1], Math.round(p.clipPct)));
|
|
1207
1239
|
document.getElementById('clip-slider').value = currentClipPct;
|
|
1208
1240
|
document.getElementById('clip-value').textContent = currentClipPct + '%';
|
|
1209
1241
|
if (currentClipPct === 0) {
|
|
@@ -1215,17 +1247,17 @@ function applyParams(p, btn) {
|
|
|
1215
1247
|
}
|
|
1216
1248
|
}
|
|
1217
1249
|
if (p.neutralZonePct != null) {
|
|
1218
|
-
currentNz = Math.max(0, Math.min(1, p.neutralZonePct));
|
|
1250
|
+
currentNz = Math.max(SR.neutralZonePct[0], Math.min(SR.neutralZonePct[1], p.neutralZonePct));
|
|
1219
1251
|
document.getElementById('nz-slider').value = Math.round(currentNz * 100);
|
|
1220
1252
|
document.getElementById('nz-value').textContent = currentNz.toFixed(2);
|
|
1221
1253
|
}
|
|
1222
1254
|
if (p.regimeSensitivity != null) {
|
|
1223
|
-
currentRegimeSensitivity = Math.max(0, Math.min(
|
|
1255
|
+
currentRegimeSensitivity = Math.max(SR.regimeSensitivity[0], Math.min(SR.regimeSensitivity[1], p.regimeSensitivity));
|
|
1224
1256
|
document.getElementById('regime-slider').value = Math.round(currentRegimeSensitivity * 100);
|
|
1225
1257
|
document.getElementById('regime-value').textContent = currentRegimeSensitivity.toFixed(2);
|
|
1226
1258
|
}
|
|
1227
1259
|
if (p.lookbackBars != null) {
|
|
1228
|
-
currentLookbackBars = Math.max(
|
|
1260
|
+
currentLookbackBars = Math.max(SR.lookbackBars[0], Math.min(SR.lookbackBars[1], Math.round(p.lookbackBars)));
|
|
1229
1261
|
document.getElementById('lb-slider').value = lbValToSlider(currentLookbackBars);
|
|
1230
1262
|
document.getElementById('lb-value').textContent = currentLookbackBars;
|
|
1231
1263
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic_weight_chart_generator.js","sourceRoot":"","sources":["../../../analysis/trend_detection/dynamic_weight_chart_generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,+DAA+D,CAAC;AACjK,OAAO,EACH,yBAAyB,EACzB,kCAAkC,EAClC,oCAAoC,EACpC,yBAAyB,GAC5B,MAAM,gEAAgE,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,sBAAsB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAClI,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACjI,YAAY,CAAC;AAEb,gFAAgF;AAChF,+EAA+E;AAC/E,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;IAC/C,yBAAyB;IACzB,mBAAmB;IACnB,eAAe;IACf,yBAAyB;IACzB,oCAAoC;IACpC,yBAAyB;IACzB,kCAAkC;IAClC,0BAA0B;IAC1B,QAAQ;CACX,CAAC,CAAC;AAEH,SAAS,YAAY,CAAC,IAAS,EAAE,KAAK,GAAG,yBAAyB;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAE1E,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;IACpC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;IACnD,MAAM,YAAY,GAAU,IAAI,CAAC,KAAK,IAAe,EAAE,CAAC,KAAK,IAAI,cAAc,CAAC,oBAAoB,CAAC;IACrG,MAAM,WAAW,GAAW,IAAI,CAAC,IAAI,IAAgB,EAAE,CAAC,IAAI,IAAI,cAAc,CAAC,mBAAmB,CAAC;IACnG,MAAM,kBAAkB,GAAI,eAAe,CAAC,cAAc,IAAI,EAAE,CAAC,iBAAiB,IAAI,cAAc,CAAC,mCAAmC,CAAC;IACzI,MAAM,iBAAiB,GAAK,IAAI,CAAC,UAAU,IAAU,EAAE,CAAC,UAAU,IAAI,cAAc,CAAC,iBAAiB,CAAC;IACvG,MAAM,qBAAqB,GAAG,eAAe,CAAC,cAAc;WACrD,EAAE,CAAC,cAAc;WACjB,cAAc,CAAC,gCAAgC,CAAC;IACvD,MAAM,wBAAwB,GAAG,eAAe,CAAC,iBAAiB;WAC3D,EAAE,CAAC,iBAAiB;WACpB,qBAAqB;WACrB,cAAc,CAAC,mCAAmC,CAAC;IAC1D,MAAM,cAAc,GAAQ,IAAI,CAAC,OAAO,IAAa,EAAE,CAAC,cAAc,IAAI,cAAc,CAAC,8BAA8B,CAAC;IACxH,MAAM,4BAA4B,GAAG,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,kBAAkB,IAAI,cAAc,CAAC,yCAAyC,CAAC;IAClJ,MAAM,yBAAyB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3F,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,WAAW,IAAI,cAAc,CAAC,sCAAsC,CAAC;IACvH,MAAM,eAAe,GAAO,eAAe,CAAC,YAAY,IAAK,EAAE,CAAC,eAAe,IAAI,cAAc,CAAC,gCAAgC,CAAC;IACnI,MAAM,YAAY,GAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzH,iDAAiD;IACjD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;IAE7G,8BAA8B;IAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,cAAc,GAAG,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;IAEvH,2CAA2C;IAC3C,MAAM,UAAU,GAAG,IAAI,CAAC;IACxB,MAAM,UAAU,GAAG,IAAI,CAAC;IACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC;IACxB,MAAM,UAAU,GAAG,GAAG,CAAC;IACvB,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;IACvF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;IAC1F,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/H,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC;IAE/H,MAAM,wBAAwB,GAAI,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,iBAAiB,IAAI,cAAc,CAAC,iCAAiC,CAAC;IACrI,MAAM,wBAAwB,GAAI,EAAE,CAAC,iBAAiB,IAAI,cAAc,CAAC,yCAAyC,CAAC;IACnH,MAAM,sBAAsB,GAAO,IAAI,CAAC,eAAe,IAAK,EAAE,CAAC,eAAe,IAAI,cAAc,CAAC,iCAAiC,CAAC;IACnI,MAAM,sBAAsB,GAAG,IAAI,CAAC,eAAe,IAAI,cAAc,CAAC,wCAAwC,CAAC;IAC/G,MAAM,0BAA0B,GAAG,IAAI,CAAC,mBAAmB,IAAI,cAAc,CAAC,6CAA6C,CAAC;IAC5H,MAAM,8BAA8B,GAAG,IAAI,CAAC,uBAAuB,IAAI,cAAc,CAAC,iDAAiD,CAAC;IACxI,MAAM,0BAA0B,GAAG,IAAI,CAAC,mBAAmB,IAAI,cAAc,CAAC,6CAA6C,CAAC;IAC5H,MAAM,wBAAwB,GAAG,IAAI,CAAC,iBAAiB,IAAI,cAAc,CAAC,0CAA0C,CAAC;IACrH,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,GAAG,GAAG,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAExG,MAAM,KAAK,GAAgB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,GAAW,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAChH,MAAM,MAAM,GAAe,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAa,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;IACpE,MAAM,KAAK,GAAe,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IAChE,MAAM,aAAa,GAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAU,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;IACvE,MAAM,WAAW,GAAS,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;IACzE,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;IAChG,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;IACzG,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,OAAO,EAAE;QACzD,eAAe,EAAE,sBAAsB;QACvC,mBAAmB,EAAE,0BAA0B;QAC/C,uBAAuB,EAAE,8BAA8B;QACvD,mBAAmB,EAAE,0BAA0B;KAClD,CAAC,CAAC;IACH,MAAM,aAAa,GAAQ,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;IACvE,MAAM,OAAO,GAAc,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAa,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IACjD,MAAM,UAAU,GAAW,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,cAAc,CAAC,eAAmD,CAAC;IACzF,MAAM,WAAW,GAAU,IAAI,CAAC,SAAS,EAAE,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;IACnG,MAAM,aAAa,GAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC;IACvG,MAAM,aAAa,GAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC;IACvG,MAAM,iBAAiB,GAAI,IAAI,CAAC,SAAS,EAAE,cAAc,IAAI,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAQ,gBAAgB,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;IACxH,MAAM,iBAAiB,GAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC;IACjE,MAAM,cAAc,GAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,gBAAgB,GAAK,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAChF,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;QACxB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrB,SAAS,EAAE,CAAC;YAChB,CAAC;QACL,CAAC;QACD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YAChC,CAAC;QACL,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAEpC,SAAS,SAAS,CAAC,GAAU;QACzB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAElH,SAAS,gBAAgB,CAAC,GAAU,EAAE,UAAU,GAAG,CAAC;QAChD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,cAAc,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAC1G,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,cAAc,GAAG,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,OAAO;;;;aAIE,UAAU,CAAC,KAAK,CAAC;;;;UAIpB,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDAiF0B,UAAU,CAAC,KAAK,CAAC;;;;;;;;;8FASyB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4IAiCsC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,0EAA0E,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;oIACvI,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,GAAG,CAAC,iEAAiE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;;;qIAG/H,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,GAAG,CAAC,4DAA4D,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;qIAC7H,YAAY,kEAAkE,YAAY;oJAC3E,eAAe,qFAAqF,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;4IAC5I,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,8DAA8D,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC;;;oIAG9H,IAAI,CAAC,KAAK,CAAC,yBAAyB,GAAG,GAAG,CAAC,uIAAuI,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;;;;4IAI9M,eAAe,+EAA+E,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;4HACrI,sBAAsB,0IAA0I,sBAAsB;0IACxK,IAAI,CAAC,KAAK,CAAC,0BAA0B,GAAG,GAAG,CAAC,8FAA8F,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;yIAChL,IAAI,CAAC,KAAK,CAAC,sBAAsB,GAAG,GAAG,CAAC,+FAA+F,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;yIACxK,IAAI,CAAC,KAAK,CAAC,8BAA8B,GAAG,GAAG,CAAC,qGAAqG,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;yIAC9L,0BAA0B,+GAA+G,0BAA0B;kIAC1K,wBAAwB,wIAAwI,wBAAwB;4IAC9K,cAAc,qEAAqE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;kJACnG,gBAAgB,oEAAoE,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;mDAiBtN,sBAAsB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,cAAc,EAAE,kBAAkB,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,sBAAsB,EAAE,SAAS,EAAE,cAAc,CAAC,yBAAyB,EAAE,SAAS,EAAE,cAAc,CAAC,yBAAyB,EAAE,aAAa,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,cAAc,CAAC,eAAe,EAAE,GAAG,EAAE,GAAG,GAAG,cAAc,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,YAAY,EAAE,CAAC;;;;;UAK3lD,qBAAqB;;;8BAGD,WAAW;;;;+DAIsB,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;+CACxD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,yBAAyB,CAAC;+CACxD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,yBAAyB,CAAC;mDACpD,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;qCAChD,sBAAsB,CAAC,cAAc,CAAC,kBAAkB,CAAC;mGACK,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC;gGACzD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,kBAAkB,CAAC,GAAG,CAAC;;6CAExG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;0CAC/B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;uFACkB,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC;+DACjE,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;uEAC9B,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC;+EAClC,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC;uEACtD,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC;+DAClD,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;mEAClC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;sDACrD,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;kDACtC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;6DACtB,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;mEAC/B,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;;;;;;;;yDAQlD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;;;;;;;;;;;+CAWtC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gHAsJmC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,eAAmD,CAAC,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4HtN,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAgND,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA4Ed,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8E1B,gBAAgB,EAAE;cAClB,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAiU5D,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;;;UAG1I,eAAe,EAAE;;;;;;QAMnB,CAAC;AACT,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"dynamic_weight_chart_generator.js","sourceRoot":"","sources":["../../../analysis/trend_detection/dynamic_weight_chart_generator.ts"],"names":[],"mappings":"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"}
|
package/dist/dexbot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dexbot.d.ts","sourceRoot":"","sources":["../dexbot.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"dexbot.d.ts","sourceRoot":"","sources":["../dexbot.ts"],"names":[],"mappings":";AAi2CA,OAAO,EAAE,CAAC"}
|
package/dist/dexbot.js
CHANGED
|
@@ -138,7 +138,7 @@ async function _resolveCollateralAssetId(ref) {
|
|
|
138
138
|
const { setupGracefulShutdown, registerCleanup, unregisterCleanup } = require('./modules/graceful_shutdown');
|
|
139
139
|
const { collectValidationIssues, loadSettingsFile, normalizeBotEntries, resolveRawBotEntries, saveSettingsFile, } = require('./modules/bot_settings');
|
|
140
140
|
const { buildRuntimeScriptArgs } = require('./modules/launcher/runtime_entry');
|
|
141
|
-
const { PATHS, getRecalculateTriggerFile } = require('./modules/paths');
|
|
141
|
+
const { PATHS, HOME_PROFILES_DIR, getRecalculateTriggerFile } = require('./modules/paths');
|
|
142
142
|
const credentialPolicy = require('./modules/credential_policy');
|
|
143
143
|
const { Config } = require('./modules/config');
|
|
144
144
|
const { getErrorMessage } = require('./modules/utils/errors');
|
|
@@ -1188,9 +1188,8 @@ async function bootstrap() {
|
|
|
1188
1188
|
}
|
|
1189
1189
|
catch (err) {
|
|
1190
1190
|
if (err && (err.code === 'EACCES' || err.code === 'EPERM' || err.code === 'EROFS')) {
|
|
1191
|
-
const { homedir } = require('os');
|
|
1192
1191
|
const { spawnSync: respawn } = require('child_process');
|
|
1193
|
-
const fallbackDir =
|
|
1192
|
+
const fallbackDir = HOME_PROFILES_DIR;
|
|
1194
1193
|
console.log(`Config directory not writable at: ${PROFILES_DIR}`);
|
|
1195
1194
|
console.log(`Auto-using ${fallbackDir} instead. Set DEXBOT_PROFILE_ROOT to override.\n`);
|
|
1196
1195
|
const newEnv = { ...process.env, DEXBOT_PROFILE_ROOT: fallbackDir };
|