@jjlmoya/utils-science 1.50.0 → 1.52.0
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/package.json +2 -2
- package/src/category/i18n/es.ts +3 -4
- package/src/category/i18n/fr.ts +2 -2
- package/src/category/i18n/it.ts +2 -2
- package/src/category/i18n/pt.ts +2 -2
- package/src/category/index.ts +25 -25
- package/src/components/PreviewNavSidebar.astro +1 -1
- package/src/components/PreviewToolbar.astro +1 -1
- package/src/data.ts +1 -1
- package/src/env.d.ts +1 -1
- package/src/layouts/PreviewLayout.astro +1 -1
- package/src/pages/index.astro +1 -1
- package/src/tests/bibliography_wellformed_export.test.ts +46 -0
- package/src/tests/category_seo_quality.test.ts +76 -0
- package/src/tests/faq_count.test.ts +19 -19
- package/src/tests/i18n_coverage.test.ts +36 -36
- package/src/tests/mocks/astro_mock.js +1 -1
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/script_density.test.ts +94 -94
- package/src/tests/seo_length.test.ts +24 -24
- package/src/tests/seo_parity.test.ts +5 -5
- package/src/tests/seo_translation_completeness.test.ts +76 -0
- package/src/tests/seo_wellformed_export.test.ts +65 -0
- package/src/tests/spanish_leakage.test.ts +175 -153
- package/src/tool/asteroid-impact/component.astro +251 -251
- package/src/tool/asteroid-impact/helpers.ts +17 -17
- package/src/tool/asteroid-impact/i18n/de.ts +2 -2
- package/src/tool/asteroid-impact/i18n/en.ts +2 -2
- package/src/tool/asteroid-impact/i18n/es.ts +2 -2
- package/src/tool/asteroid-impact/i18n/fr.ts +2 -2
- package/src/tool/asteroid-impact/i18n/id.ts +2 -2
- package/src/tool/asteroid-impact/i18n/it.ts +2 -2
- package/src/tool/asteroid-impact/i18n/ja.ts +2 -2
- package/src/tool/asteroid-impact/i18n/ko.ts +2 -2
- package/src/tool/asteroid-impact/i18n/nl.ts +2 -2
- package/src/tool/asteroid-impact/i18n/pl.ts +2 -2
- package/src/tool/asteroid-impact/i18n/pt.ts +2 -2
- package/src/tool/asteroid-impact/i18n/ru.ts +2 -2
- package/src/tool/asteroid-impact/i18n/sv.ts +2 -2
- package/src/tool/asteroid-impact/i18n/tr.ts +2 -2
- package/src/tool/asteroid-impact/i18n/zh.ts +2 -2
- package/src/tool/asteroid-impact/script.ts +262 -262
- package/src/tool/asteroid-impact/seo.astro +15 -15
- package/src/tool/asteroid-impact/ui.ts +69 -69
- package/src/tool/black-hole-event-horizon-simulator/i18n/de.ts +249 -241
- package/src/tool/black-hole-event-horizon-simulator/i18n/fr.ts +252 -247
- package/src/tool/black-hole-event-horizon-simulator/i18n/id.ts +259 -259
- package/src/tool/black-hole-event-horizon-simulator/i18n/it.ts +255 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/ja.ts +254 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/ko.ts +258 -258
- package/src/tool/black-hole-event-horizon-simulator/i18n/nl.ts +256 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/pl.ts +258 -258
- package/src/tool/black-hole-event-horizon-simulator/i18n/pt.ts +256 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/ru.ts +258 -258
- package/src/tool/black-hole-event-horizon-simulator/i18n/sv.ts +257 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/tr.ts +256 -251
- package/src/tool/black-hole-event-horizon-simulator/i18n/zh.ts +261 -252
- package/src/tool/cellular-renewal/component.astro +126 -126
- package/src/tool/cellular-renewal/i18n/de.ts +1 -1
- package/src/tool/cellular-renewal/i18n/en.ts +1 -1
- package/src/tool/cellular-renewal/i18n/es.ts +1 -1
- package/src/tool/cellular-renewal/i18n/fr.ts +1 -1
- package/src/tool/cellular-renewal/i18n/id.ts +1 -1
- package/src/tool/cellular-renewal/i18n/it.ts +1 -1
- package/src/tool/cellular-renewal/i18n/ja.ts +1 -1
- package/src/tool/cellular-renewal/i18n/ko.ts +1 -1
- package/src/tool/cellular-renewal/i18n/nl.ts +1 -1
- package/src/tool/cellular-renewal/i18n/pl.ts +1 -1
- package/src/tool/cellular-renewal/i18n/pt.ts +1 -1
- package/src/tool/cellular-renewal/i18n/ru.ts +1 -1
- package/src/tool/cellular-renewal/i18n/sv.ts +1 -1
- package/src/tool/cellular-renewal/i18n/tr.ts +1 -1
- package/src/tool/cellular-renewal/i18n/zh.ts +1 -1
- package/src/tool/cellular-renewal/seo.astro +15 -15
- package/src/tool/colony-counter/i18n/de.ts +1 -1
- package/src/tool/colony-counter/i18n/en.ts +1 -1
- package/src/tool/colony-counter/i18n/es.ts +1 -1
- package/src/tool/colony-counter/i18n/fr.ts +1 -1
- package/src/tool/colony-counter/i18n/id.ts +1 -1
- package/src/tool/colony-counter/i18n/it.ts +1 -1
- package/src/tool/colony-counter/i18n/ja.ts +1 -1
- package/src/tool/colony-counter/i18n/ko.ts +1 -1
- package/src/tool/colony-counter/i18n/nl.ts +1 -1
- package/src/tool/colony-counter/i18n/pl.ts +1 -1
- package/src/tool/colony-counter/i18n/pt.ts +1 -1
- package/src/tool/colony-counter/i18n/ru.ts +1 -1
- package/src/tool/colony-counter/i18n/sv.ts +1 -1
- package/src/tool/colony-counter/i18n/tr.ts +1 -1
- package/src/tool/colony-counter/i18n/zh.ts +1 -1
- package/src/tool/colony-counter/seo.astro +15 -15
- package/src/tool/conway-life-rule-lab/component.astro +1 -1
- package/src/tool/conway-life-rule-lab/i18n/de.ts +145 -141
- package/src/tool/conway-life-rule-lab/i18n/es.ts +146 -142
- package/src/tool/conway-life-rule-lab/i18n/fr.ts +146 -142
- package/src/tool/conway-life-rule-lab/i18n/id.ts +146 -145
- package/src/tool/conway-life-rule-lab/i18n/it.ts +146 -145
- package/src/tool/conway-life-rule-lab/i18n/ja.ts +146 -145
- package/src/tool/conway-life-rule-lab/i18n/ko.ts +146 -145
- package/src/tool/conway-life-rule-lab/i18n/nl.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/pl.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/pt.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/ru.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/sv.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/tr.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/zh.ts +147 -145
- package/src/tool/conway-life-rule-lab/logic/LifeLabRuntime.ts +2 -2
- package/src/tool/cosmic-inflation/i18n/ru.ts +105 -105
- package/src/tool/crystal-lattice-structure-finder/i18n/de.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/en.ts +1 -1
- package/src/tool/crystal-lattice-structure-finder/i18n/es.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/fr.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/id.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/it.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/ja.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/ko.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/nl.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/pl.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/pt.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/ru.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/sv.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/tr.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/zh.ts +217 -217
- package/src/tool/double-slit-decoherence/i18n/de.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/fr.ts +180 -180
- package/src/tool/double-slit-decoherence/i18n/id.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/it.ts +180 -180
- package/src/tool/double-slit-decoherence/i18n/ja.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/ko.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/nl.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/pl.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/pt.ts +178 -174
- package/src/tool/double-slit-decoherence/i18n/ru.ts +180 -180
- package/src/tool/double-slit-decoherence/i18n/sv.ts +176 -172
- package/src/tool/double-slit-decoherence/i18n/tr.ts +180 -180
- package/src/tool/double-slit-decoherence/i18n/zh.ts +181 -181
- package/src/tool/dyson-sphere-energy-capture/component.astro +253 -253
- package/src/tool/dyson-sphere-energy-capture/i18n/de.ts +194 -194
- package/src/tool/dyson-sphere-energy-capture/i18n/en.ts +6 -6
- package/src/tool/dyson-sphere-energy-capture/i18n/es.ts +6 -6
- package/src/tool/dyson-sphere-energy-capture/i18n/fr.ts +194 -194
- package/src/tool/dyson-sphere-energy-capture/i18n/id.ts +195 -195
- package/src/tool/dyson-sphere-energy-capture/i18n/it.ts +194 -194
- package/src/tool/dyson-sphere-energy-capture/i18n/ja.ts +194 -190
- package/src/tool/dyson-sphere-energy-capture/i18n/ko.ts +194 -193
- package/src/tool/dyson-sphere-energy-capture/i18n/nl.ts +197 -197
- package/src/tool/dyson-sphere-energy-capture/i18n/pl.ts +168 -166
- package/src/tool/dyson-sphere-energy-capture/i18n/pt.ts +194 -193
- package/src/tool/dyson-sphere-energy-capture/i18n/ru.ts +195 -193
- package/src/tool/dyson-sphere-energy-capture/i18n/sv.ts +195 -193
- package/src/tool/dyson-sphere-energy-capture/i18n/tr.ts +168 -166
- package/src/tool/dyson-sphere-energy-capture/i18n/zh.ts +194 -193
- package/src/tool/epidemic-sir-simulator/i18n/de.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/es.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/fr.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/it.ts +346 -346
- package/src/tool/epidemic-sir-simulator/i18n/nl.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/ru.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/sv.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/zh.ts +347 -347
- package/src/tool/exoplanet-biosignature-detector/i18n/de.ts +186 -186
- package/src/tool/exoplanet-biosignature-detector/i18n/en.ts +195 -195
- package/src/tool/exoplanet-biosignature-detector/i18n/es.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/fr.ts +183 -183
- package/src/tool/exoplanet-biosignature-detector/i18n/id.ts +193 -193
- package/src/tool/exoplanet-biosignature-detector/i18n/it.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/ja.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/ko.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/nl.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/pl.ts +144 -144
- package/src/tool/exoplanet-biosignature-detector/i18n/pt.ts +146 -146
- package/src/tool/exoplanet-biosignature-detector/i18n/ru.ts +143 -143
- package/src/tool/exoplanet-biosignature-detector/i18n/sv.ts +144 -144
- package/src/tool/exoplanet-biosignature-detector/i18n/tr.ts +145 -145
- package/src/tool/exoplanet-biosignature-detector/i18n/zh.ts +194 -194
- package/src/tool/global-albedo-snowball-simulator/component.astro +1 -1
- package/src/tool/global-albedo-snowball-simulator/i18n/de.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/fr.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/id.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/it.ts +87 -87
- package/src/tool/global-albedo-snowball-simulator/i18n/ja.ts +87 -87
- package/src/tool/global-albedo-snowball-simulator/i18n/ko.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/nl.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/pl.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/pt.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/ru.ts +165 -161
- package/src/tool/global-albedo-snowball-simulator/i18n/sv.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/tr.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/zh.ts +169 -169
- package/src/tool/lorenz-attractor/i18n/de.ts +144 -143
- package/src/tool/lorenz-attractor/i18n/fr.ts +144 -144
- package/src/tool/lorenz-attractor/i18n/id.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/it.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/ja.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/ko.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/nl.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/pl.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/pt.ts +142 -141
- package/src/tool/lorenz-attractor/i18n/ru.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/sv.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/tr.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/zh.ts +149 -149
- package/src/tool/mandelbrot-fractal/i18n/de.ts +158 -158
- package/src/tool/mandelbrot-fractal/i18n/fr.ts +158 -158
- package/src/tool/mandelbrot-fractal/i18n/id.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/it.ts +155 -151
- package/src/tool/mandelbrot-fractal/i18n/ja.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/ko.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/nl.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/pl.ts +157 -153
- package/src/tool/mandelbrot-fractal/i18n/pt.ts +158 -158
- package/src/tool/mandelbrot-fractal/i18n/ru.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/sv.ts +159 -150
- package/src/tool/mandelbrot-fractal/i18n/tr.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/zh.ts +159 -159
- package/src/tool/microwave-detector/component.astro +238 -238
- package/src/tool/microwave-detector/i18n/de.ts +1 -1
- package/src/tool/microwave-detector/i18n/en.ts +1 -1
- package/src/tool/microwave-detector/i18n/es.ts +1 -1
- package/src/tool/microwave-detector/i18n/fr.ts +1 -1
- package/src/tool/microwave-detector/i18n/id.ts +1 -1
- package/src/tool/microwave-detector/i18n/it.ts +1 -1
- package/src/tool/microwave-detector/i18n/ja.ts +1 -1
- package/src/tool/microwave-detector/i18n/ko.ts +1 -1
- package/src/tool/microwave-detector/i18n/nl.ts +1 -1
- package/src/tool/microwave-detector/i18n/pl.ts +1 -1
- package/src/tool/microwave-detector/i18n/pt.ts +1 -1
- package/src/tool/microwave-detector/i18n/ru.ts +1 -1
- package/src/tool/microwave-detector/i18n/sv.ts +1 -1
- package/src/tool/microwave-detector/i18n/tr.ts +1 -1
- package/src/tool/microwave-detector/i18n/zh.ts +1 -1
- package/src/tool/microwave-detector/seo.astro +15 -15
- package/src/tool/natural-selection-drift/component.astro +135 -135
- package/src/tool/natural-selection-drift/i18n/de.ts +164 -160
- package/src/tool/natural-selection-drift/i18n/fr.ts +204 -204
- package/src/tool/natural-selection-drift/i18n/id.ts +156 -154
- package/src/tool/natural-selection-drift/i18n/it.ts +197 -193
- package/src/tool/natural-selection-drift/i18n/ja.ts +155 -154
- package/src/tool/natural-selection-drift/i18n/ko.ts +155 -154
- package/src/tool/natural-selection-drift/i18n/nl.ts +164 -163
- package/src/tool/natural-selection-drift/i18n/pl.ts +168 -166
- package/src/tool/natural-selection-drift/i18n/pt.ts +200 -195
- package/src/tool/natural-selection-drift/i18n/ru.ts +186 -184
- package/src/tool/natural-selection-drift/i18n/sv.ts +157 -154
- package/src/tool/natural-selection-drift/i18n/tr.ts +186 -184
- package/src/tool/natural-selection-drift/i18n/zh.ts +160 -154
- package/src/tool/natural-selection-drift/natural-selection-drift.css +563 -563
- package/src/tool/phase-diagram-critical-points/i18n/de.ts +178 -178
- package/src/tool/phase-diagram-critical-points/i18n/fr.ts +178 -178
- package/src/tool/phase-diagram-critical-points/i18n/id.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/it.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/ja.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/ko.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/nl.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/pl.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/pt.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/ru.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/sv.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/tr.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/zh.ts +179 -179
- package/src/tool/planet-atmosphere-survival/i18n/de.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/fr.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/id.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/it.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/ja.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/ko.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/nl.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/pl.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/pt.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/ru.ts +227 -223
- package/src/tool/planet-atmosphere-survival/i18n/sv.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/tr.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/zh.ts +255 -255
- package/src/tool/radioactive-decay/i18n/de.ts +168 -164
- package/src/tool/radioactive-decay/i18n/fr.ts +76 -75
- package/src/tool/radioactive-decay/i18n/id.ts +169 -165
- package/src/tool/radioactive-decay/i18n/it.ts +76 -74
- package/src/tool/radioactive-decay/i18n/ja.ts +168 -167
- package/src/tool/radioactive-decay/i18n/ko.ts +168 -167
- package/src/tool/radioactive-decay/i18n/nl.ts +170 -168
- package/src/tool/radioactive-decay/i18n/pl.ts +170 -168
- package/src/tool/radioactive-decay/i18n/pt.ts +169 -167
- package/src/tool/radioactive-decay/i18n/ru.ts +170 -168
- package/src/tool/radioactive-decay/i18n/sv.ts +170 -168
- package/src/tool/radioactive-decay/i18n/tr.ts +171 -168
- package/src/tool/radioactive-decay/i18n/zh.ts +171 -167
- package/src/tool/roche-limit-satellite-disruption/i18n/de.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/fr.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/id.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/it.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/ja.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/ko.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/nl.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/pl.ts +237 -229
- package/src/tool/roche-limit-satellite-disruption/i18n/pt.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/ru.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/sv.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/tr.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/zh.ts +241 -241
- package/src/tool/simulation-probability/component.astro +138 -138
- package/src/tool/simulation-probability/i18n/de.ts +1 -1
- package/src/tool/simulation-probability/i18n/en.ts +1 -1
- package/src/tool/simulation-probability/i18n/es.ts +1 -1
- package/src/tool/simulation-probability/i18n/fr.ts +1 -1
- package/src/tool/simulation-probability/i18n/id.ts +1 -1
- package/src/tool/simulation-probability/i18n/it.ts +1 -1
- package/src/tool/simulation-probability/i18n/ja.ts +1 -1
- package/src/tool/simulation-probability/i18n/ko.ts +1 -1
- package/src/tool/simulation-probability/i18n/nl.ts +1 -1
- package/src/tool/simulation-probability/i18n/pl.ts +1 -1
- package/src/tool/simulation-probability/i18n/pt.ts +1 -1
- package/src/tool/simulation-probability/i18n/ru.ts +1 -1
- package/src/tool/simulation-probability/i18n/sv.ts +1 -1
- package/src/tool/simulation-probability/i18n/tr.ts +1 -1
- package/src/tool/simulation-probability/i18n/zh.ts +1 -1
- package/src/tool/simulation-probability/seo.astro +15 -15
- package/src/tool/stellar-habitability-zone/i18n/ru.ts +189 -189
- package/src/tool/temperature-timeline/i18n/de.ts +2 -1
- package/src/tool/temperature-timeline/i18n/fr.ts +177 -177
- package/src/tool/temperature-timeline/i18n/it.ts +142 -141
- package/src/tool/temperature-timeline/i18n/pt.ts +3 -1
- package/src/tool/temperature-timeline/i18n/ru.ts +116 -114
- package/src/tool/three-body-problem/app.ts +4 -4
- package/src/tool/three-body-problem/component.astro +6 -6
- package/src/tool/twin-paradox-visualizer/i18n/de.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/es.ts +165 -165
- package/src/tool/twin-paradox-visualizer/i18n/fr.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/id.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/it.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/ja.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/ko.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/nl.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/pl.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/pt.ts +164 -160
- package/src/tool/twin-paradox-visualizer/i18n/ru.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/sv.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/tr.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/zh.ts +168 -168
- package/src/types.ts +1 -1
|
@@ -1,149 +1,149 @@
|
|
|
1
|
-
const slug = 'lorenz-attractor';
|
|
2
|
-
const title = '로렌츠 아틀랙터 카오스 시뮬레이터: 3D 나비 효과';
|
|
3
|
-
const description = '인터랙티브 3D 로렌츠 아틀랙터 시뮬레이션으로 카오스 이론을 탐구하고 나비 효과를 시각화하세요.';
|
|
4
|
-
|
|
5
|
-
const howTo = [
|
|
6
|
-
{
|
|
7
|
-
"name": "화면 회전",
|
|
8
|
-
"text": "3D 뷰포트를 클릭하고 드래그하여 아틀랙터를 다양한 각도에서 관찰하세요."
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"name": "슬라이더 조정",
|
|
12
|
-
"text": "시그마, 로, 베타 매개변수를 수정하여 카오스로 진입하는 상태를 관찰하세요."
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"name": "발산 관찰",
|
|
16
|
-
"text": "두 궤적 사이의 거리가 지수함수적으로 증가하는 과정을 확인하세요."
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"name": "일시정지 및 리셋",
|
|
20
|
-
"text": "컨트롤을 사용해 시뮬레이션을 일시정지하거나 기본값으로 초기화하세요."
|
|
21
|
-
}
|
|
22
|
-
];
|
|
23
|
-
|
|
24
|
-
const faq = [
|
|
25
|
-
{
|
|
26
|
-
"question": "로렌츠 아틀랙터란 무엇인가요?",
|
|
27
|
-
"answer": "로렌츠 아틀랙터는 로렌츠 방정식계에서 나타나는 카오스적 해의 집합입니다."
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"question": "나비 효과란 무엇인가요?",
|
|
31
|
-
"answer": "비선형 시스템에서 초기 조건의 미세한 변화가 시간이 지나며 거대한 차이를 만들어내는 현상입니다."
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"question": "매개변수들은 무엇을 나타내나요?",
|
|
35
|
-
"answer": "시그마는 프란틀 수, 로는 레일리 수, 베타는 기하학적 종횡비를 의미합니다."
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"question": "왜 아틀랙터 모양이 나비 형태인가요?",
|
|
39
|
-
"answer": "시스템이 두 개의 불안정한 평형점을 가지고 있어 궤적이 그 주변을 예측 불가능하게 회전하면서 나비 날개 모양을 만들어냅니다."
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"question": "로렌츠 아틀랙터는 정말 무작위인가요?",
|
|
43
|
-
"answer": "아닙니다. 시스템은 완전히 결정론적입니다. 그러나 카오스적이기 때문에 초기 조건의 무한한 정밀도 없이는 장기 예측이 불가능합니다."
|
|
44
|
-
}
|
|
45
|
-
];
|
|
46
|
-
|
|
47
|
-
import { bibliography } from '../bibliography';
|
|
48
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
49
|
-
|
|
50
|
-
export const content: ToolLocaleContent = {
|
|
51
|
-
slug,
|
|
52
|
-
title,
|
|
53
|
-
description,
|
|
54
|
-
ui: {
|
|
55
|
-
"copied": "복사됨",
|
|
56
|
-
"noHistory": "기록 없음",
|
|
57
|
-
"load": "불러오기",
|
|
58
|
-
"delete": "삭제",
|
|
59
|
-
"title": "로렌츠 아틀랙터",
|
|
60
|
-
"subTitle": "결정론적 카오스",
|
|
61
|
-
"parameterControls": "시스템 매개변수",
|
|
62
|
-
"simulationSpeed": "속도 (dt)",
|
|
63
|
-
"initialPerturbation": "초기 미세 차이 (dx)",
|
|
64
|
-
"trajectories": "궤적",
|
|
65
|
-
"distance": "발산 거리",
|
|
66
|
-
"exponentialGrowth": "지수 발산",
|
|
67
|
-
"resetDefault": "Reset",
|
|
68
|
-
"clearPath": "Clear",
|
|
69
|
-
"play": "Resume",
|
|
70
|
-
"pause": "Pause",
|
|
71
|
-
"coords": "좌표",
|
|
72
|
-
"divergenceExplanation": "발산 그래프는 두 궤적 간의 유클리드 거리 변화를 실시간으로 나타냅니다."
|
|
73
|
-
},
|
|
74
|
-
seo: [
|
|
75
|
-
{ type: 'title', text: "결정론적 혼돈: 로렌츠 방정식 이해하기", level: 2 },
|
|
76
|
-
{ type: 'paragraph', html: "로렌츠 시스템은 비선형 동역학 및 혼돈 이론의 역사적 기초입니다. 1963년 기상학자이자 수학자 <strong>에드워드 로렌츠</strong>에 의해 처음 유도된 이 모델은 대기 대류의 단순화된 표현에서 탄생했습니다. 로렌츠는 복잡한 유체 역학 방정식을 세 개의 연립 상미분 방정식으로 단순화했습니다. 이 단순하고 결정론적인 방정식들이 복잡하고 비주기적이며 혼돈적인 거동을 만들어낼 수 있다는 발견은 물리 시스템에 대한 우리의 이해를 바꾸었습니다." },
|
|
77
|
-
{ type: 'paragraph', html: "이 시스템은 3차원 위상 공간의 좌표를 시간에 따라 추적하는 세 개의 연립 미분 방정식으로 정의됩니다:" },
|
|
78
|
-
{
|
|
79
|
-
type: 'list',
|
|
80
|
-
items: [
|
|
81
|
-
"<strong>dx/dt = σ * (y - x):</strong> 대류 운동의 속도를 나타냅니다. 매개변수 σ (프란틀 수)는 유체 점성 대 열전도율의 비율을 의미합니다.",
|
|
82
|
-
"<strong>dy/dt = x * (ρ - z) - y:</strong> 상승 및 하강 대류 전류 간의 온도 차이를 나타냅니다. ρ (레일리 수)는 대류 가열 강도를 의미합니다.",
|
|
83
|
-
"<strong>dz/dt = x * y - β * z:</strong> 수직 온도 프로파일의 왜곡을 추적합니다. β는 대류 셀의 기하학적 종횡비입니다.",
|
|
84
|
-
],
|
|
85
|
-
},
|
|
86
|
-
{ type: 'title', text: "나비 효과: 초기 조건에 대한 민감한 의존성", level: 3 },
|
|
87
|
-
{ type: 'paragraph', html: "혼돈 시스템의 정의적 특성은 <strong>초기 조건에 대한 민감한 의존성</strong>이며, 이는 <strong>나비 효과</strong>로 널리 알려져 있습니다. 이 시뮬레이터는 미세한 초기 분리를 가진 두 궤적(T1: 시안, T2: 분홍)을 실행하여 이를 보여줍니다. 처음에는 거의 동일한 경로를 따르지만, 잠시 후 비선형 항이 차이를 증폭시켜 경로가 완전히 분기됩니다." },
|
|
88
|
-
{ type: 'paragraph', html: "이 민감성은 매우 가까운 초기 분리를 시작으로 두 궤적을 추적하여 가시화됩니다." },
|
|
89
|
-
{
|
|
90
|
-
type: 'table',
|
|
91
|
-
headers: ["매개변수","표준값","물리적 의미","변경 시 거동"],
|
|
92
|
-
rows: [
|
|
93
|
-
["σ (시그마)","10.0","프란틀 수","유체의 내부 마찰을 결정합니다. 값이 클수록 온도 구배에 대한 속도 변화의 반응이 빨라집니다."],
|
|
94
|
-
["ρ (로)","28.0","레일리 수","ρ = 1 미만에서는 원점이 유일한 안정점입니다. ρ = 28에서 시스템은 완전히 혼돈 상태입니다."],
|
|
95
|
-
["β (베타)","8/3 (2.667)","기하학적 종횡비","대류 셀의 폭 대 높이 비율을 제어합니다. 궤도의 규모와 회전 속도를 조절합니다."],
|
|
96
|
-
],
|
|
97
|
-
},
|
|
98
|
-
{ type: 'title', text: "위상 공간, 이상한 끌개, 프랙탈", level: 3 },
|
|
99
|
-
{ type: 'paragraph', html: "고전 물리학에서 궤적은 결국 고정점에 정착하거나 한계 사이클로 반복됩니다. 로렌츠 시스템은 그 어느 것도 하지 않습니다: 경로는 3차원에서 자신과 교차하지 않고 무한히 반복되어 하우스도르프 차원 약 2.06의 프랙탈 기하학을 가진 <strong>이상한 끌개</strong>를 형성합니다." },
|
|
100
|
-
{ type: 'paragraph', html: "이 끌개의 기하학 구조는 하우스도르프 차원 약 2.06의 프랙탈 구조입니다." },
|
|
101
|
-
{ type: 'title', text: "과학에서의 혼돈 이론 응용", level: 3 },
|
|
102
|
-
{ type: 'paragraph', html: "로렌츠 끌개의 교훈은 날씨 예측을 훨씬 넘어서며 많은 현대 연구 분야에 영향을 미쳤습니다:" },
|
|
103
|
-
{
|
|
104
|
-
type: 'list',
|
|
105
|
-
items: [
|
|
106
|
-
"<strong>기상학:</strong> 날씨 예측 가능성의 근본적인 한계를 확립하여 앙상블 예측 방법을 이끌었습니다.",
|
|
107
|
-
"<strong>암호학:</strong> 혼돈 궤도의 결정론적이지만 예측 불가능한 특성은 안전한 의사 난수 키 생성 및 민감한 데이터 암호화에 사용됩니다.",
|
|
108
|
-
"<strong>심장학:</strong> 심장 리듬을 모델링하는 데 사용됩니다. 건강한 심장은 혼돈적 특성을 보이는 반면, 주기적 리듬은 병리를 나타낼 수 있습니다.",
|
|
109
|
-
"<strong>공학:</strong> 현수교 및 기계 시스템의 혼돈 공명을 분석하고 방지하여 안정적인 구조 설계를 지원합니다.",
|
|
110
|
-
],
|
|
111
|
-
},
|
|
112
|
-
],
|
|
113
|
-
faq,
|
|
114
|
-
bibliography,
|
|
115
|
-
howTo,
|
|
116
|
-
schemas: [
|
|
117
|
-
{
|
|
118
|
-
'@context': 'https://schema.org',
|
|
119
|
-
'@type': 'SoftwareApplication',
|
|
120
|
-
name: title,
|
|
121
|
-
description: description,
|
|
122
|
-
applicationCategory: 'ScientificApplication',
|
|
123
|
-
operatingSystem: 'Any',
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
'@context': 'https://schema.org',
|
|
127
|
-
'@type': 'FAQPage',
|
|
128
|
-
mainEntity: faq.map((item) => ({
|
|
129
|
-
'@type': 'Question',
|
|
130
|
-
name: item.question,
|
|
131
|
-
acceptedAnswer: {
|
|
132
|
-
'@type': 'Answer',
|
|
133
|
-
text: item.answer,
|
|
134
|
-
},
|
|
135
|
-
})),
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
'@context': 'https://schema.org',
|
|
139
|
-
'@type': 'HowTo',
|
|
140
|
-
name: title,
|
|
141
|
-
step: howTo.map((step) => ({
|
|
142
|
-
'@type': 'HowToStep',
|
|
143
|
-
name: step.name,
|
|
144
|
-
stepValue: step.name,
|
|
145
|
-
text: step.text,
|
|
146
|
-
})),
|
|
147
|
-
},
|
|
148
|
-
],
|
|
149
|
-
};
|
|
1
|
+
const slug = 'lorenz-attractor';
|
|
2
|
+
const title = '로렌츠 아틀랙터 카오스 시뮬레이터: 3D 나비 효과';
|
|
3
|
+
const description = '인터랙티브 3D 로렌츠 아틀랙터 시뮬레이션으로 카오스 이론을 탐구하고 나비 효과를 시각화하세요.';
|
|
4
|
+
|
|
5
|
+
const howTo = [
|
|
6
|
+
{
|
|
7
|
+
"name": "화면 회전",
|
|
8
|
+
"text": "3D 뷰포트를 클릭하고 드래그하여 아틀랙터를 다양한 각도에서 관찰하세요."
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"name": "슬라이더 조정",
|
|
12
|
+
"text": "시그마, 로, 베타 매개변수를 수정하여 카오스로 진입하는 상태를 관찰하세요."
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "발산 관찰",
|
|
16
|
+
"text": "두 궤적 사이의 거리가 지수함수적으로 증가하는 과정을 확인하세요."
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "일시정지 및 리셋",
|
|
20
|
+
"text": "컨트롤을 사용해 시뮬레이션을 일시정지하거나 기본값으로 초기화하세요."
|
|
21
|
+
}
|
|
22
|
+
];
|
|
23
|
+
|
|
24
|
+
const faq = [
|
|
25
|
+
{
|
|
26
|
+
"question": "로렌츠 아틀랙터란 무엇인가요?",
|
|
27
|
+
"answer": "로렌츠 아틀랙터는 로렌츠 방정식계에서 나타나는 카오스적 해의 집합입니다."
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"question": "나비 효과란 무엇인가요?",
|
|
31
|
+
"answer": "비선형 시스템에서 초기 조건의 미세한 변화가 시간이 지나며 거대한 차이를 만들어내는 현상입니다."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"question": "매개변수들은 무엇을 나타내나요?",
|
|
35
|
+
"answer": "시그마는 프란틀 수, 로는 레일리 수, 베타는 기하학적 종횡비를 의미합니다."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"question": "왜 아틀랙터 모양이 나비 형태인가요?",
|
|
39
|
+
"answer": "시스템이 두 개의 불안정한 평형점을 가지고 있어 궤적이 그 주변을 예측 불가능하게 회전하면서 나비 날개 모양을 만들어냅니다."
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"question": "로렌츠 아틀랙터는 정말 무작위인가요?",
|
|
43
|
+
"answer": "아닙니다. 시스템은 완전히 결정론적입니다. 그러나 카오스적이기 때문에 초기 조건의 무한한 정밀도 없이는 장기 예측이 불가능합니다."
|
|
44
|
+
}
|
|
45
|
+
];
|
|
46
|
+
|
|
47
|
+
import { bibliography } from '../bibliography';
|
|
48
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
49
|
+
|
|
50
|
+
export const content: ToolLocaleContent = {
|
|
51
|
+
slug,
|
|
52
|
+
title,
|
|
53
|
+
description,
|
|
54
|
+
ui: {
|
|
55
|
+
"copied": "복사됨",
|
|
56
|
+
"noHistory": "기록 없음",
|
|
57
|
+
"load": "불러오기",
|
|
58
|
+
"delete": "삭제",
|
|
59
|
+
"title": "로렌츠 아틀랙터",
|
|
60
|
+
"subTitle": "결정론적 카오스",
|
|
61
|
+
"parameterControls": "시스템 매개변수",
|
|
62
|
+
"simulationSpeed": "속도 (dt)",
|
|
63
|
+
"initialPerturbation": "초기 미세 차이 (dx)",
|
|
64
|
+
"trajectories": "궤적",
|
|
65
|
+
"distance": "발산 거리",
|
|
66
|
+
"exponentialGrowth": "지수 발산",
|
|
67
|
+
"resetDefault": "Reset",
|
|
68
|
+
"clearPath": "Clear",
|
|
69
|
+
"play": "Resume",
|
|
70
|
+
"pause": "Pause",
|
|
71
|
+
"coords": "좌표",
|
|
72
|
+
"divergenceExplanation": "발산 그래프는 두 궤적 간의 유클리드 거리 변화를 실시간으로 나타냅니다."
|
|
73
|
+
},
|
|
74
|
+
seo: [
|
|
75
|
+
{ type: 'title', text: "결정론적 혼돈: 로렌츠 방정식 이해하기", level: 2 },
|
|
76
|
+
{ type: 'paragraph', html: "로렌츠 시스템은 비선형 동역학 및 혼돈 이론의 역사적 기초입니다. 1963년 기상학자이자 수학자 <strong>에드워드 로렌츠</strong>에 의해 처음 유도된 이 모델은 대기 대류의 단순화된 표현에서 탄생했습니다. 로렌츠는 복잡한 유체 역학 방정식을 세 개의 연립 상미분 방정식으로 단순화했습니다. 이 단순하고 결정론적인 방정식들이 복잡하고 비주기적이며 혼돈적인 거동을 만들어낼 수 있다는 발견은 물리 시스템에 대한 우리의 이해를 바꾸었습니다." },
|
|
77
|
+
{ type: 'paragraph', html: "이 시스템은 3차원 위상 공간의 좌표를 시간에 따라 추적하는 세 개의 연립 미분 방정식으로 정의됩니다:" },
|
|
78
|
+
{
|
|
79
|
+
type: 'list',
|
|
80
|
+
items: [
|
|
81
|
+
"<strong>dx/dt = σ * (y - x):</strong> 대류 운동의 속도를 나타냅니다. 매개변수 σ (프란틀 수)는 유체 점성 대 열전도율의 비율을 의미합니다.",
|
|
82
|
+
"<strong>dy/dt = x * (ρ - z) - y:</strong> 상승 및 하강 대류 전류 간의 온도 차이를 나타냅니다. ρ (레일리 수)는 대류 가열 강도를 의미합니다.",
|
|
83
|
+
"<strong>dz/dt = x * y - β * z:</strong> 수직 온도 프로파일의 왜곡을 추적합니다. β는 대류 셀의 기하학적 종횡비입니다.",
|
|
84
|
+
],
|
|
85
|
+
},
|
|
86
|
+
{ type: 'title', text: "나비 효과: 초기 조건에 대한 민감한 의존성", level: 3 },
|
|
87
|
+
{ type: 'paragraph', html: "혼돈 시스템의 정의적 특성은 <strong>초기 조건에 대한 민감한 의존성</strong>이며, 이는 <strong>나비 효과</strong>로 널리 알려져 있습니다. 이 시뮬레이터는 미세한 초기 분리를 가진 두 궤적(T1: 시안, T2: 분홍)을 실행하여 이를 보여줍니다. 처음에는 거의 동일한 경로를 따르지만, 잠시 후 비선형 항이 차이를 증폭시켜 경로가 완전히 분기됩니다." },
|
|
88
|
+
{ type: 'paragraph', html: "이 민감성은 매우 가까운 초기 분리를 시작으로 두 궤적을 추적하여 가시화됩니다." },
|
|
89
|
+
{
|
|
90
|
+
type: 'table',
|
|
91
|
+
headers: ["매개변수","표준값","물리적 의미","변경 시 거동"],
|
|
92
|
+
rows: [
|
|
93
|
+
["σ (시그마)","10.0","프란틀 수","유체의 내부 마찰을 결정합니다. 값이 클수록 온도 구배에 대한 속도 변화의 반응이 빨라집니다."],
|
|
94
|
+
["ρ (로)","28.0","레일리 수","ρ = 1 미만에서는 원점이 유일한 안정점입니다. ρ = 28에서 시스템은 완전히 혼돈 상태입니다."],
|
|
95
|
+
["β (베타)","8/3 (2.667)","기하학적 종횡비","대류 셀의 폭 대 높이 비율을 제어합니다. 궤도의 규모와 회전 속도를 조절합니다."],
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
{ type: 'title', text: "위상 공간, 이상한 끌개, 프랙탈", level: 3 },
|
|
99
|
+
{ type: 'paragraph', html: "고전 물리학에서 궤적은 결국 고정점에 정착하거나 한계 사이클로 반복됩니다. 로렌츠 시스템은 그 어느 것도 하지 않습니다: 경로는 3차원에서 자신과 교차하지 않고 무한히 반복되어 하우스도르프 차원 약 2.06의 프랙탈 기하학을 가진 <strong>이상한 끌개</strong>를 형성합니다." },
|
|
100
|
+
{ type: 'paragraph', html: "이 끌개의 기하학 구조는 하우스도르프 차원 약 2.06의 프랙탈 구조입니다." },
|
|
101
|
+
{ type: 'title', text: "과학에서의 혼돈 이론 응용", level: 3 },
|
|
102
|
+
{ type: 'paragraph', html: "로렌츠 끌개의 교훈은 날씨 예측을 훨씬 넘어서며 많은 현대 연구 분야에 영향을 미쳤습니다:" },
|
|
103
|
+
{
|
|
104
|
+
type: 'list',
|
|
105
|
+
items: [
|
|
106
|
+
"<strong>기상학:</strong> 날씨 예측 가능성의 근본적인 한계를 확립하여 앙상블 예측 방법을 이끌었습니다.",
|
|
107
|
+
"<strong>암호학:</strong> 혼돈 궤도의 결정론적이지만 예측 불가능한 특성은 안전한 의사 난수 키 생성 및 민감한 데이터 암호화에 사용됩니다.",
|
|
108
|
+
"<strong>심장학:</strong> 심장 리듬을 모델링하는 데 사용됩니다. 건강한 심장은 혼돈적 특성을 보이는 반면, 주기적 리듬은 병리를 나타낼 수 있습니다.",
|
|
109
|
+
"<strong>공학:</strong> 현수교 및 기계 시스템의 혼돈 공명을 분석하고 방지하여 안정적인 구조 설계를 지원합니다.",
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
faq,
|
|
114
|
+
bibliography,
|
|
115
|
+
howTo,
|
|
116
|
+
schemas: [
|
|
117
|
+
{
|
|
118
|
+
'@context': 'https://schema.org',
|
|
119
|
+
'@type': 'SoftwareApplication',
|
|
120
|
+
name: title,
|
|
121
|
+
description: description,
|
|
122
|
+
applicationCategory: 'ScientificApplication',
|
|
123
|
+
operatingSystem: 'Any',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
'@context': 'https://schema.org',
|
|
127
|
+
'@type': 'FAQPage',
|
|
128
|
+
mainEntity: faq.map((item) => ({
|
|
129
|
+
'@type': 'Question',
|
|
130
|
+
name: item.question,
|
|
131
|
+
acceptedAnswer: {
|
|
132
|
+
'@type': 'Answer',
|
|
133
|
+
text: item.answer,
|
|
134
|
+
},
|
|
135
|
+
})),
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
'@context': 'https://schema.org',
|
|
139
|
+
'@type': 'HowTo',
|
|
140
|
+
name: title,
|
|
141
|
+
step: howTo.map((step) => ({
|
|
142
|
+
'@type': 'HowToStep',
|
|
143
|
+
name: step.name,
|
|
144
|
+
stepValue: step.name,
|
|
145
|
+
text: step.text,
|
|
146
|
+
})),
|
|
147
|
+
},
|
|
148
|
+
],
|
|
149
|
+
};
|
|
@@ -1,149 +1,149 @@
|
|
|
1
|
-
const slug = 'lorenzattractor';
|
|
2
|
-
const title = 'Lorenz attractor Chaos Simulator Het Vlindereffect in 3D';
|
|
3
|
-
const description = 'Verken chaostheorie met deze interactieve 3D Lorenz-attractor simulatie. Visualiseer het vlindereffect.';
|
|
4
|
-
|
|
5
|
-
const howTo = [
|
|
6
|
-
{
|
|
7
|
-
"name": "Draai het canvas",
|
|
8
|
-
"text": "Klik en sleep in de 3D-viewport om de attractor te roteren."
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"name": "Pas de sliders aan",
|
|
12
|
-
"text": "Wijzig de Sigma, Rho en Beta parameters om de chaos te beinvloeden."
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"name": "Observeer de divergentie",
|
|
16
|
-
"text": "Zie hoe de afstand tussen de twee banen exponentieel groeit."
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"name": "Pauzeer en reset",
|
|
20
|
-
"text": "Gebruik de knoppen om de simulatie te pauzeren of te resetten."
|
|
21
|
-
}
|
|
22
|
-
];
|
|
23
|
-
|
|
24
|
-
const faq = [
|
|
25
|
-
{
|
|
26
|
-
"question": "Wat is de Lorenz-attractor?",
|
|
27
|
-
"answer": "De Lorenz-attractor is een verzameling chaotische oplossingen van het Lorenz-systeem."
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"question": "Wat is het Vlindereffect?",
|
|
31
|
-
"answer": "De gevoelige afhankelijkheid van beginvoorwaarden in niet-lineaire systemen."
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"question": "Wat betekenen de parameters?",
|
|
35
|
-
"answer": "Sigma is het Prandtl-getal, Rho het Rayleigh-getal en Beta de geometrische verhouding."
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"question": "Waarom lijkt de attractor op een vlinder?",
|
|
39
|
-
"answer": "De iconische vorm met twee vleugels ontstaat omdat het systeem twee onstabiele evenwichtspunten heeft waar de banen onvoorspelbaar omheen draaien."
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"question": "Is de Lorenz-attractor echt willekeurig?",
|
|
43
|
-
"answer": "Nee, het systeem is volledig deterministisch. Omdat het echter chaotisch is, is het op lange termijn onvoorspelbaar zonder oneindige precisie."
|
|
44
|
-
}
|
|
45
|
-
];
|
|
46
|
-
|
|
47
|
-
import { bibliography } from '../bibliography';
|
|
48
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
49
|
-
|
|
50
|
-
export const content: ToolLocaleContent = {
|
|
51
|
-
slug,
|
|
52
|
-
title,
|
|
53
|
-
description,
|
|
54
|
-
ui: {
|
|
55
|
-
"copied": "Kopieert",
|
|
56
|
-
"noHistory": "Geen geschiedenis",
|
|
57
|
-
"load": "Laden",
|
|
58
|
-
"delete": "Verwijderen",
|
|
59
|
-
"title": "Lorenz-attractor",
|
|
60
|
-
"subTitle": "Deterministische Chaos",
|
|
61
|
-
"parameterControls": "Systeemparameters",
|
|
62
|
-
"simulationSpeed": "Snelheid (dt)",
|
|
63
|
-
"initialPerturbation": "Initiele Verstoring (dx)",
|
|
64
|
-
"trajectories": "Banen",
|
|
65
|
-
"distance": "Divergentie-afstand",
|
|
66
|
-
"exponentialGrowth": "Exponentiele Divergentie",
|
|
67
|
-
"resetDefault": "Reset",
|
|
68
|
-
"clearPath": "Clear",
|
|
69
|
-
"play": "Resume",
|
|
70
|
-
"pause": "Pause",
|
|
71
|
-
"coords": "Coordinaten",
|
|
72
|
-
"divergenceExplanation": "De divergentiegrafiek toont de Euclidische afstand tussen de twee banen over de tijd."
|
|
73
|
-
},
|
|
74
|
-
seo: [
|
|
75
|
-
{ type: 'title', text: "Deterministisch Chaos: De Lorenz-vergelijkingen begrijpen", level: 2 },
|
|
76
|
-
{ type: 'paragraph', html: "Het Lorenz-systeem is een mijlpaal in de niet-lineaire dynamica en de chaostheorie. Oorspronkelijk afgeleid in 1963 door de meteoroloog en wiskundige <strong>Edward Lorenz</strong>, ontstond het model uit een vereenvoudigde weergave van atmosferische convectie. Lorenz vereenvoudigde de complexe vloeistofdynamica tot drie gekoppelde gewone differentiaalvergelijkingen. Zijn ontdekking dat deze eenvoudige, deterministische vergelijkingen hoogcomplex, niet-periodiek en chaotisch gedrag konden produceren, veranderde ons begrip van fysische systemen." },
|
|
77
|
-
{ type: 'paragraph', html: "Het systeem wordt gedefinieerd door drie gekoppelde differentiaalvergelijkingen die een coordinaat in de driedimensionale faseruimte in de tijd volgen:" },
|
|
78
|
-
{
|
|
79
|
-
type: 'list',
|
|
80
|
-
items: [
|
|
81
|
-
"<strong>dx/dt = σ * (y - x):</strong> Beschrijft de snelheid van convectieve beweging. De parameter σ (Prandtl-getal) staat voor de verhouding van vloeistofviscositeit tot warmtegeleiding.",
|
|
82
|
-
"<strong>dy/dt = x * (ρ - z) - y:</strong> Stelt het temperatuurverschil voor tussen stijgende en dalende convectiestromen. ρ (Rayleigh-getal) representeert de convectieve verwarmingsintensiteit.",
|
|
83
|
-
"<strong>dz/dt = x * y - β * z:</strong> Volgt de vervorming van het verticale temperatuurprofiel. β is de geometrische aspectverhouding van de convectiecel.",
|
|
84
|
-
],
|
|
85
|
-
},
|
|
86
|
-
{ type: 'title', text: "Het Vlindereffect: Gevoelige Afhankelijkheid van Beginwaarden", level: 3 },
|
|
87
|
-
{ type: 'paragraph', html: "De bepalende eigenschap van chaotische systemen is hun <strong>gevoelige afhankelijkheid van begincondities</strong>, populair bekend als het <strong>Vlindereffect</strong>. Dit simulatieprogramma illustreert dit door twee trajecten (T1 in cyaan en T2 in roze) gelijktijdig te laten lopen met een minimaal verschil. Aanvankelijk volgen ze vrijwel hetzelfde pad. Na korte tijd versterken de niet-lineaire termen het verschil en divergeren de paden volledig." },
|
|
88
|
-
{ type: 'paragraph', html: "Deze gevoeligheid wordt gedemonstreerd door twee vrijwel identieke banen te volgen die exponentieel divergeren." },
|
|
89
|
-
{
|
|
90
|
-
type: 'table',
|
|
91
|
-
headers: ["Parameter","Standaardwaarde","Fysische Context","Gedrag bij Wijziging"],
|
|
92
|
-
rows: [
|
|
93
|
-
["σ (Sigma)","10.0","Prandtl-getal","Bepaalt de interne wrijving van de vloeistof. Hogere waarden versnellen de reactie van snelheidsveranderingen op temperatuurgradienten."],
|
|
94
|
-
["ρ (Rho)","28.0","Rayleigh-getal","Belangrijkste aandrijver van chaos. Onder ρ = 1 is de oorsprong het enige stabiele punt. Bij ρ = 28 is het systeem volledig chaotisch."],
|
|
95
|
-
["β (Beta)","8/3 (2.667)","Geometrische Aspectverhouding","Beheert de breedte-hoogteverhouding van de convectiecellen. Wijzigt de schaal en rotatiesnelheid van de banen."],
|
|
96
|
-
],
|
|
97
|
-
},
|
|
98
|
-
{ type: 'title', text: "Faseruimte, Vreemde Attractoren en Fractalen", level: 3 },
|
|
99
|
-
{ type: 'paragraph', html: "In de klassieke fysica stabiliseren trajecten in vaste punten of herhalen ze zich als limietcycli. Het Lorenz-systeem doet geen van beide: het pad kronkelt oneindig in drie dimensies zonder zichzelf ooit te kruisen, en vormt een <strong>vreemde aantrekker</strong> met een fractale geometrie (Hausdorff-dimensie circa 2,06)." },
|
|
100
|
-
{ type: 'paragraph', html: "De geometrie van deze attractor is fractal met een Hausdorff-dimensie van ongeveer 2,06." },
|
|
101
|
-
{ type: 'title', text: "Toepassingen van de Chaostheorie in de Wetenschap", level: 3 },
|
|
102
|
-
{ type: 'paragraph', html: "De lessen van de Lorenz-aantrekker reiken veel verder dan weersvoorspelling en hebben veel moderne vakgebieden beinvloed:" },
|
|
103
|
-
{
|
|
104
|
-
type: 'list',
|
|
105
|
-
items: [
|
|
106
|
-
"<strong>Meteorologie:</strong> Stelde de fundamentele limieten van weersvoorspelbaarheid vast, wat leidde tot ensemble-voorspellingsmethoden.",
|
|
107
|
-
"<strong>Cryptografie:</strong> De deterministische maar onvoorspelbare aard van chaotische banen wordt gebruikt om veilige pseudo-willekeurige sleutels te genereren.",
|
|
108
|
-
"<strong>Cardiologie:</strong> Gebruikt om hartritmen te modelleren, waarbij gezonde harten chaotische kenmerken vertonen.",
|
|
109
|
-
"<strong>Techniek:</strong> Helpt stabiele constructies te ontwerpen door chaotische resonantie in hangbruggen en mechanische systemen te analyseren en te vermijden.",
|
|
110
|
-
],
|
|
111
|
-
},
|
|
112
|
-
],
|
|
113
|
-
faq,
|
|
114
|
-
bibliography,
|
|
115
|
-
howTo,
|
|
116
|
-
schemas: [
|
|
117
|
-
{
|
|
118
|
-
'@context': 'https://schema.org',
|
|
119
|
-
'@type': 'SoftwareApplication',
|
|
120
|
-
name: title,
|
|
121
|
-
description: description,
|
|
122
|
-
applicationCategory: 'ScientificApplication',
|
|
123
|
-
operatingSystem: 'Any',
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
'@context': 'https://schema.org',
|
|
127
|
-
'@type': 'FAQPage',
|
|
128
|
-
mainEntity: faq.map((item) => ({
|
|
129
|
-
'@type': 'Question',
|
|
130
|
-
name: item.question,
|
|
131
|
-
acceptedAnswer: {
|
|
132
|
-
'@type': 'Answer',
|
|
133
|
-
text: item.answer,
|
|
134
|
-
},
|
|
135
|
-
})),
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
'@context': 'https://schema.org',
|
|
139
|
-
'@type': 'HowTo',
|
|
140
|
-
name: title,
|
|
141
|
-
step: howTo.map((step) => ({
|
|
142
|
-
'@type': 'HowToStep',
|
|
143
|
-
name: step.name,
|
|
144
|
-
stepValue: step.name,
|
|
145
|
-
text: step.text,
|
|
146
|
-
})),
|
|
147
|
-
},
|
|
148
|
-
],
|
|
149
|
-
};
|
|
1
|
+
const slug = 'lorenzattractor';
|
|
2
|
+
const title = 'Lorenz attractor Chaos Simulator Het Vlindereffect in 3D';
|
|
3
|
+
const description = 'Verken chaostheorie met deze interactieve 3D Lorenz-attractor simulatie. Visualiseer het vlindereffect.';
|
|
4
|
+
|
|
5
|
+
const howTo = [
|
|
6
|
+
{
|
|
7
|
+
"name": "Draai het canvas",
|
|
8
|
+
"text": "Klik en sleep in de 3D-viewport om de attractor te roteren."
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"name": "Pas de sliders aan",
|
|
12
|
+
"text": "Wijzig de Sigma, Rho en Beta parameters om de chaos te beinvloeden."
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "Observeer de divergentie",
|
|
16
|
+
"text": "Zie hoe de afstand tussen de twee banen exponentieel groeit."
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "Pauzeer en reset",
|
|
20
|
+
"text": "Gebruik de knoppen om de simulatie te pauzeren of te resetten."
|
|
21
|
+
}
|
|
22
|
+
];
|
|
23
|
+
|
|
24
|
+
const faq = [
|
|
25
|
+
{
|
|
26
|
+
"question": "Wat is de Lorenz-attractor?",
|
|
27
|
+
"answer": "De Lorenz-attractor is een verzameling chaotische oplossingen van het Lorenz-systeem."
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"question": "Wat is het Vlindereffect?",
|
|
31
|
+
"answer": "De gevoelige afhankelijkheid van beginvoorwaarden in niet-lineaire systemen."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"question": "Wat betekenen de parameters?",
|
|
35
|
+
"answer": "Sigma is het Prandtl-getal, Rho het Rayleigh-getal en Beta de geometrische verhouding."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"question": "Waarom lijkt de attractor op een vlinder?",
|
|
39
|
+
"answer": "De iconische vorm met twee vleugels ontstaat omdat het systeem twee onstabiele evenwichtspunten heeft waar de banen onvoorspelbaar omheen draaien."
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"question": "Is de Lorenz-attractor echt willekeurig?",
|
|
43
|
+
"answer": "Nee, het systeem is volledig deterministisch. Omdat het echter chaotisch is, is het op lange termijn onvoorspelbaar zonder oneindige precisie."
|
|
44
|
+
}
|
|
45
|
+
];
|
|
46
|
+
|
|
47
|
+
import { bibliography } from '../bibliography';
|
|
48
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
49
|
+
|
|
50
|
+
export const content: ToolLocaleContent = {
|
|
51
|
+
slug,
|
|
52
|
+
title,
|
|
53
|
+
description,
|
|
54
|
+
ui: {
|
|
55
|
+
"copied": "Kopieert",
|
|
56
|
+
"noHistory": "Geen geschiedenis",
|
|
57
|
+
"load": "Laden",
|
|
58
|
+
"delete": "Verwijderen",
|
|
59
|
+
"title": "Lorenz-attractor",
|
|
60
|
+
"subTitle": "Deterministische Chaos",
|
|
61
|
+
"parameterControls": "Systeemparameters",
|
|
62
|
+
"simulationSpeed": "Snelheid (dt)",
|
|
63
|
+
"initialPerturbation": "Initiele Verstoring (dx)",
|
|
64
|
+
"trajectories": "Banen",
|
|
65
|
+
"distance": "Divergentie-afstand",
|
|
66
|
+
"exponentialGrowth": "Exponentiele Divergentie",
|
|
67
|
+
"resetDefault": "Reset",
|
|
68
|
+
"clearPath": "Clear",
|
|
69
|
+
"play": "Resume",
|
|
70
|
+
"pause": "Pause",
|
|
71
|
+
"coords": "Coordinaten",
|
|
72
|
+
"divergenceExplanation": "De divergentiegrafiek toont de Euclidische afstand tussen de twee banen over de tijd."
|
|
73
|
+
},
|
|
74
|
+
seo: [
|
|
75
|
+
{ type: 'title', text: "Deterministisch Chaos: De Lorenz-vergelijkingen begrijpen", level: 2 },
|
|
76
|
+
{ type: 'paragraph', html: "Het Lorenz-systeem is een mijlpaal in de niet-lineaire dynamica en de chaostheorie. Oorspronkelijk afgeleid in 1963 door de meteoroloog en wiskundige <strong>Edward Lorenz</strong>, ontstond het model uit een vereenvoudigde weergave van atmosferische convectie. Lorenz vereenvoudigde de complexe vloeistofdynamica tot drie gekoppelde gewone differentiaalvergelijkingen. Zijn ontdekking dat deze eenvoudige, deterministische vergelijkingen hoogcomplex, niet-periodiek en chaotisch gedrag konden produceren, veranderde ons begrip van fysische systemen." },
|
|
77
|
+
{ type: 'paragraph', html: "Het systeem wordt gedefinieerd door drie gekoppelde differentiaalvergelijkingen die een coordinaat in de driedimensionale faseruimte in de tijd volgen:" },
|
|
78
|
+
{
|
|
79
|
+
type: 'list',
|
|
80
|
+
items: [
|
|
81
|
+
"<strong>dx/dt = σ * (y - x):</strong> Beschrijft de snelheid van convectieve beweging. De parameter σ (Prandtl-getal) staat voor de verhouding van vloeistofviscositeit tot warmtegeleiding.",
|
|
82
|
+
"<strong>dy/dt = x * (ρ - z) - y:</strong> Stelt het temperatuurverschil voor tussen stijgende en dalende convectiestromen. ρ (Rayleigh-getal) representeert de convectieve verwarmingsintensiteit.",
|
|
83
|
+
"<strong>dz/dt = x * y - β * z:</strong> Volgt de vervorming van het verticale temperatuurprofiel. β is de geometrische aspectverhouding van de convectiecel.",
|
|
84
|
+
],
|
|
85
|
+
},
|
|
86
|
+
{ type: 'title', text: "Het Vlindereffect: Gevoelige Afhankelijkheid van Beginwaarden", level: 3 },
|
|
87
|
+
{ type: 'paragraph', html: "De bepalende eigenschap van chaotische systemen is hun <strong>gevoelige afhankelijkheid van begincondities</strong>, populair bekend als het <strong>Vlindereffect</strong>. Dit simulatieprogramma illustreert dit door twee trajecten (T1 in cyaan en T2 in roze) gelijktijdig te laten lopen met een minimaal verschil. Aanvankelijk volgen ze vrijwel hetzelfde pad. Na korte tijd versterken de niet-lineaire termen het verschil en divergeren de paden volledig." },
|
|
88
|
+
{ type: 'paragraph', html: "Deze gevoeligheid wordt gedemonstreerd door twee vrijwel identieke banen te volgen die exponentieel divergeren." },
|
|
89
|
+
{
|
|
90
|
+
type: 'table',
|
|
91
|
+
headers: ["Parameter","Standaardwaarde","Fysische Context","Gedrag bij Wijziging"],
|
|
92
|
+
rows: [
|
|
93
|
+
["σ (Sigma)","10.0","Prandtl-getal","Bepaalt de interne wrijving van de vloeistof. Hogere waarden versnellen de reactie van snelheidsveranderingen op temperatuurgradienten."],
|
|
94
|
+
["ρ (Rho)","28.0","Rayleigh-getal","Belangrijkste aandrijver van chaos. Onder ρ = 1 is de oorsprong het enige stabiele punt. Bij ρ = 28 is het systeem volledig chaotisch."],
|
|
95
|
+
["β (Beta)","8/3 (2.667)","Geometrische Aspectverhouding","Beheert de breedte-hoogteverhouding van de convectiecellen. Wijzigt de schaal en rotatiesnelheid van de banen."],
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
{ type: 'title', text: "Faseruimte, Vreemde Attractoren en Fractalen", level: 3 },
|
|
99
|
+
{ type: 'paragraph', html: "In de klassieke fysica stabiliseren trajecten in vaste punten of herhalen ze zich als limietcycli. Het Lorenz-systeem doet geen van beide: het pad kronkelt oneindig in drie dimensies zonder zichzelf ooit te kruisen, en vormt een <strong>vreemde aantrekker</strong> met een fractale geometrie (Hausdorff-dimensie circa 2,06)." },
|
|
100
|
+
{ type: 'paragraph', html: "De geometrie van deze attractor is fractal met een Hausdorff-dimensie van ongeveer 2,06." },
|
|
101
|
+
{ type: 'title', text: "Toepassingen van de Chaostheorie in de Wetenschap", level: 3 },
|
|
102
|
+
{ type: 'paragraph', html: "De lessen van de Lorenz-aantrekker reiken veel verder dan weersvoorspelling en hebben veel moderne vakgebieden beinvloed:" },
|
|
103
|
+
{
|
|
104
|
+
type: 'list',
|
|
105
|
+
items: [
|
|
106
|
+
"<strong>Meteorologie:</strong> Stelde de fundamentele limieten van weersvoorspelbaarheid vast, wat leidde tot ensemble-voorspellingsmethoden.",
|
|
107
|
+
"<strong>Cryptografie:</strong> De deterministische maar onvoorspelbare aard van chaotische banen wordt gebruikt om veilige pseudo-willekeurige sleutels te genereren.",
|
|
108
|
+
"<strong>Cardiologie:</strong> Gebruikt om hartritmen te modelleren, waarbij gezonde harten chaotische kenmerken vertonen.",
|
|
109
|
+
"<strong>Techniek:</strong> Helpt stabiele constructies te ontwerpen door chaotische resonantie in hangbruggen en mechanische systemen te analyseren en te vermijden.",
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
faq,
|
|
114
|
+
bibliography,
|
|
115
|
+
howTo,
|
|
116
|
+
schemas: [
|
|
117
|
+
{
|
|
118
|
+
'@context': 'https://schema.org',
|
|
119
|
+
'@type': 'SoftwareApplication',
|
|
120
|
+
name: title,
|
|
121
|
+
description: description,
|
|
122
|
+
applicationCategory: 'ScientificApplication',
|
|
123
|
+
operatingSystem: 'Any',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
'@context': 'https://schema.org',
|
|
127
|
+
'@type': 'FAQPage',
|
|
128
|
+
mainEntity: faq.map((item) => ({
|
|
129
|
+
'@type': 'Question',
|
|
130
|
+
name: item.question,
|
|
131
|
+
acceptedAnswer: {
|
|
132
|
+
'@type': 'Answer',
|
|
133
|
+
text: item.answer,
|
|
134
|
+
},
|
|
135
|
+
})),
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
'@context': 'https://schema.org',
|
|
139
|
+
'@type': 'HowTo',
|
|
140
|
+
name: title,
|
|
141
|
+
step: howTo.map((step) => ({
|
|
142
|
+
'@type': 'HowToStep',
|
|
143
|
+
name: step.name,
|
|
144
|
+
stepValue: step.name,
|
|
145
|
+
text: step.text,
|
|
146
|
+
})),
|
|
147
|
+
},
|
|
148
|
+
],
|
|
149
|
+
};
|