For Humanity
Reference Guide

A complete reference for all five healing tools — Fibonacci mathematics, solfeggio frequencies, cymatics, sacred geometry, toroidal field, breathwork and binaural beats.

Fibonacci Sequence Kaleidoscopic Mirrors Solfeggio Tones Healing Features

What You Are Looking At

The kaleidoscope is a circular canvas divided into mirror-symmetric wedge segments. Coloured rings flow continuously outward from a bright central vanishing point, creating the sensation of travelling through an infinite tunnel. Every number driving the visual — ring spacing, ripple frequency, colour cycling rate, seam oscillation — is derived from the Fibonacci sequence or the golden ratio φ ≈ 1.618.

The audio layer adds nine ancient solfeggio frequencies as pure tones tuned to a 432 Hz foundation, paired with binaural beats or isochronic tones. A breathwork guide, intention setting, session timer, and frequency journey complete a fully structured healing experience.

🌀

Tunnel Motion

Rings spawn at the central vanishing point and expand outward continuously, creating the illusion of forward motion through an infinite coloured tube.

🪞

Mirror Symmetry

The circle is divided into N wedges. Alternate wedges are horizontally flipped before drawing, creating the bilateral symmetry that defines a kaleidoscope.

🌈

Golden Angle Colour

Hue values are spaced by the golden angle (137.5°), a direct property of φ. No two adjacent rings share a similar hue and no colour ever repeats in a cycle.

〰️

Fibonacci Ripple

Ring boundaries undulate according to a sum of sine waves at Fibonacci frequencies, giving organic, living edges.

Breathing Seams

The black gaps between segments oscillate at three Fibonacci-spaced frequencies simultaneously, breathing rhythmically rather than staying fixed.

🔊

432 Hz Audio

A 432 Hz foundation drone underlies all audio. Solfeggio tones, binaural beats, isochronic pulses, and voice guidance are all layered on top.


Opening the Controls

Desktop — move the mouse anywhere on screen and the settings panel slides in automatically from the bottom-right corner. It hides again after 3.5 seconds of mouse inactivity. While typing in any text field the panel stays open until you finish.

Mobile — tap the ⬡ Controls button at the bottom of the screen. The panel slides up full-width from the bottom. Tap outside it, swipe it down, or press Esc to close.

The panel is organised into five collapsible accordion sections: Visual, Audio, Breathwork, Session, and Frequency Journey. Tap any section header to expand or collapse it.

Keyboard Shortcuts

Space

Pause / play animation. Does not fire when typing in a text field.

F

Toggle fullscreen mode.

R

Recolour — generates a new random palette.

Esc

Close the controls panel.

Presets Section

ControlTypeWhat it does
Preset buttons5 buttonsOne-tap configurations: Morning Focus, Stress Relief, Sleep Prep, Deep Meditation, Full Journey. Each applies a complete set of visual, audio, breathwork, and session settings simultaneously. A green confirmation message fades in after application.

Visual Section

ControlTypeWhat it does
MirrorsDropdownNumber of symmetric wedge segments. Options follow the Fibonacci sequence: 0 (full circle), 1 (single), 3, 5, 8, 13, 21, 34, 55, 89, 144. At 55+ segments approach a prismatic shimmer. At 0 or 1 there are no seams.Default: 8
DepthSlider 5–16Number of concentric ring layers. Higher values produce denser tunnel geometry.Default: 10
SpeedSlider 1–12Tunnel flow rate and global rotation speed. Higher values feel like accelerating.Default: 5
RippleSlider 0–20Amplitude of the Fibonacci-frequency undulation on each ring's edges. At 0 rings are smooth arcs; at 20 they are highly organic.Default: 8
SeamsSlider 0–5°Maximum black gap between segments. Oscillates at Fibonacci frequencies up to this ceiling. At 0° segments merge into a seamless pattern.Default: 2.5°
SolfeggioDropdownSelects one of nine solfeggio frequencies. Changes the colour palette hue base and cycle rate, and updates audio if running.Default: 528 Hz — Miracle (MI)
Low StimulationToggleReduces saturation to ~30%, slows animation to 35%, widens seams, simplifies audio to a pure sine wave. For acute stress or sensory sensitivity.
RecolourButtonGenerates a new random palette while keeping Fibonacci structural constraints.
Pause / PlayButtonFreezes or resumes the animation. Keyboard: Space.
FullscreenButtonEnters native fullscreen. The canvas scales to fill the screen. Keyboard: F.
Save DefaultButtonDesktop (Chrome/Edge): picks your kaleidoscope folder once, then writes fibonacci_defaults.js directly — no overwrite prompt. Desktop (Firefox/Safari): downloads fibonacci_defaults.js to replace in your folder. Mobile: saves to localStorage on that device. On next load, settings restore automatically. Distribute all three files together for others to get your exact setup.
ResetButtonClears localStorage and resets all controls to factory defaults.

Audio Section

ControlTypeWhat it does
Beat Mode3-button toggleBinaural — left ear hears the solfeggio frequency, right ear hears it plus the beat offset. Brain perceives the difference as an internal pulsation. Requires headphones. Isochronic — the tone is amplitude-modulated at the beat frequency, creating audible pulses. Works over speakers. Blend — both methods at reduced individual volumes.
Start / Stop AudioButtonInitialises the Web Audio engine. Must be pressed after a user gesture due to browser policy.
ToneSlider 0–100Volume of the solfeggio tone — fundamental, 2nd harmonic, and sub-octave combined.Default: 60
BeatSlider 0–100Volume of the binaural or isochronic beat layer.Default: 40
FoundationSlider 0–100Volume of the constant 432 Hz foundation drone beneath all other audio.Default: 20
Voice — GenderFemale / Male toggleScans the device's available Text-to-Speech voices and selects the best match for the chosen gender. The selected voice name is shown below the toggle. Applies to both breath guide and intention voice.
Voice — SoftnessSlider 0–100Maps to TTS pitch. At 0 the voice speaks at natural pitch; at 100 pitch drops to ~62% of normal, producing a warmer, more resonant, meditative quality.Default: 50
Voice name displayDisplayShows the actual TTS voice in use. Updates when gender is changed.

Breathwork Section

ControlTypeWhat it does
Enable breath guideToggleOverlays an expanding and contracting ring on the visual that pulses in sync with the selected pattern. Phase name and countdown appear at a fixed position inside the ring.
Pattern4-button toggle Box 4·4·4·4 — four equal 4-second phases. Calming and balancing.
4·7·8 — 4s inhale, 7s hold, 8s exhale. Activates the parasympathetic nervous system; good for anxiety and sleep.
Fibonacci 5·8·5·3 — phases follow Fibonacci ratios. Integrates structurally with the visual mathematics.
Coherent 5·5 — 5s in, 5s out. Associated with HRV coherence and stress reduction research.
Text sizeS / M / LSize of the phase label and countdown displayed on the canvas.Default: M
Voice breath guideToggleSpeaks the phase name aloud at each transition using the selected TTS voice and softness setting. Short phrases take priority over intention voice if both are active.

Session Section

ControlTypeWhat it does
Duration5 / 10 / 20 / 30 minLength of the timed session.Default: 10 min
Start / Stop SessionButtonStarts a countdown visible in the top-right of the canvas. In the final 15 seconds audio fades and the visual dims, ending the session gently. Audio stops automatically at zero. Disabled when a journey is running (journey overrides session).
Intention textareaText inputPaste any paragraph, affirmation, or list of intentions. The text is split into individual sentences on full stops, exclamation marks, question marks, and line breaks. Each sentence cycles through: 2.2s fade in → 5.5s visible → 2.2s fade out, then the next begins. Editing or pasting new text resets the cycle immediately.
Show on visualToggleDisplays the fading intention sentences on the canvas above the centre line. Disable to use voice-only without visual text.Default: On
Intention text sizeS / M / LSize of the intention text displayed on the canvas.Default: M
Voice intentionToggleSpeaks each sentence aloud as it fades in using the selected TTS voice.
Voice speedSlider 0.60–1.10Reading rate for the intention voice specifically. Below 0.60 the voice quality degrades on most platforms.Default: 0.72
RepeatDropdown Loop continuously — cycles through all sentences indefinitely.
Every minute — resets to sentence one at each 60-second boundary, aligning the text with clock time.
Once / Twice / 3× / 5× / 10× — plays through all sentences that many full times then stops. Visual and voice both go quiet when the count is reached.
Export Session LogButtonDownloads a plain text file summarising all active settings and elapsed session time, with a blank personal notes section. Named with the current date. Can be kept as a practice record or shared with a therapist.

Frequency Journey Section

ControlTypeWhat it does
Frequency chipsToggleable buttonsGold chip buttons for each of the nine solfeggio frequencies. Click any chip to deselect it from the journey; click again to restore. The All button instantly reselects all nine. The journey plays only selected frequencies in ascending order.
Mins / stepSlider 1–5Minutes spent at each frequency before transitioning to the next. The journey button label shows total duration live: e.g. 9 steps × 2 min = 18 min.Default: 2
▶ Start / ⏸ PauseButtonStart begins the journey from the first selected frequency. During the journey it becomes ⏸ Pause — pressing it freezes the visual, mutes audio, and pauses the breathwork guide and countdown. The button then shows ▶ Continue.
↺ Stop & ResetButtonStops and resets the journey entirely, restoring audio gain, resuming the visual, and re-enabling the session timer. Only active when a journey is running or paused.
Progress barDisplayA row of step indicators below the buttons. Completed steps are amber, the active step is bright amber, upcoming steps are dim.
Journey infoDisplayShows current frequency, step number, and time remaining in the current step. On the canvas, the same info appears faintly at the bottom of the circle throughout the journey.
Journey overrides session timer. Starting a journey stops any active session and disables the session Start button until the journey ends or is stopped. This prevents conflicting timers. The most powerful combination is Journey + Breathwork + Intention for a fully automated, hands-free healing session.

How the Features Work Together

432 Hz Foundation

A constant subtle oscillator at 432 Hz runs beneath all other audio whenever audio is active. This tuning system is independent of the standard 440 Hz concert pitch and is widely used in sound healing for its perceived warmth and naturalness. The Foundation slider controls its level independently of the solfeggio tones.

Binaural vs Isochronic vs Blend

Binaural beats require headphones — the two slightly different frequencies must reach each ear independently for the brain to perceive the internal pulsation. Isochronic tones work over speakers because the pulse is built into the amplitude modulation of a single signal. Blend combines both at lower individual volumes. The beat frequency for each solfeggio tone is associated with a specific brainwave band (see the Solfeggio table below).

Breathwork Guide

The breath ring expands during Inhale and contracts during Exhale. The Hold phase after Inhale locks the ring at its maximum radius; the Hold or Rest phase after Exhale locks it at its minimum. The phase name and countdown are anchored at a fixed position inside the visual — they do not track the ring size, so they never fly out of the circle. If Voice breath guide is enabled, the phase name is spoken softly at each transition.

Intention Sentence Cycling

Paste a paragraph, a set of affirmations, or any multi-sentence text. The input splits it at sentence boundaries and cycles through each sentence with a gentle 2.2-second fade in and out, with 5.5 seconds of full visibility. This means a 3-sentence paragraph completes one full pass in about 30 seconds. The Repeat setting controls how many passes occur — Loop for continuous use, or a fixed count. Every minute resets back to the first sentence, which works well when aligned with a session timer.

Voice Settings

Both breath guidance and intention reading use the device's built-in Text-to-Speech engine. Gender selection scans available voices by name patterns (Samantha, Karen, Aria → female; Daniel, David, James → male). Softness adjusts the TTS pitch parameter — higher softness produces a warmer, lower-pitched delivery. Voice speed applies only to the intention reading rate, not the breath guide. The breath guide always speaks at the same measured pace regardless of voice speed.

Session Fade

In the final 15 seconds of a timed session, audio fades out gradually and a subtle darkening overlay dims the canvas. This prevents the jarring experience of a session ending abruptly — the experience dissolves gently rather than cutting off.

Low Stimulation Mode

When enabled: saturation drops to ~30% of normal producing soft, muted pastels; animation speed slows to 35%; seams widen; audio harmonics are removed leaving only a pure fundamental sine wave. Designed for acute stress, sensory sensitivity, or anyone who finds the full experience overwhelming.

Smooth Breath Ring Transitions

The breath ring radius now interpolates smoothly between phases rather than jumping instantly at each boundary. A lerp factor of 9% per frame means the ring glides organically — the visual matches the felt experience of breath, where inhale and exhale blend continuously rather than switching abruptly.

Preset Session Bundles

A Presets section sits at the top of the controls panel with five one-tap configurations. Each preset applies a complete set of settings simultaneously — frequency, beat mode, breathwork pattern, speed, low stim mode, session duration, and a suggested intention text. Tap any preset and everything reconfigures instantly.

🌅

Morning Focus

528 Hz · Binaural · Coherent 5·5 · Speed 6 · 10 min · Intention for the day

😌

Stress Relief

396 Hz · Isochronic · 4·7·8 · Speed 3 · Low Stim · 20 min · Releasing tension

🌙

Sleep Prep

174 Hz · Blend · 4·7·8 · Speed 2 · Low Stim · 30 min · Drifting into sleep

🧘

Deep Meditation

528 Hz · Binaural · Box 4·4·4·4 · 13 mirrors · Depth 12 · 20 min

🔮

Full Journey

All 9 frequencies · Binaural · Fibonacci breath · 2 min per step · 18 min total

HRV Biofeedback

The Kaleidoscope HRV and Toroidal HRV pages support Bluetooth Low Energy (BLE) heart rate monitors via the Web Bluetooth API. Tap 📶 Connect BLE Heart Rate Monitor and select your device from the Chrome device picker.

Chest straps are the recommended sensor. Finger pulse oximeters with a standard BLE GATT profile are also supported:

Chest straps (CooSpo, Magene, Polar H10 etc.) — measure the heart's electrical signal directly, giving highly accurate RR intervals for HRV calculation. These are the preferred option for serious HRV work. SpO₂ is not available from chest straps.

Finger pulse oximeters (BLE-enabled models) — measure heart rate and SpO₂ optically through the fingertip. When the device exposes a standard Pulse Oximeter GATT service, the toolkit will automatically detect and display SpO₂ alongside heart rate.

A note on accuracy: Finger-based BLE sensors measure the peripheral pulse wave rather than the cardiac electrical signal. Heart rate and SpO₂ readings are generally reliable, but RR interval timing — the basis of HRV and coherence scoring — is less accurate than a chest strap due to the additional transit time and motion sensitivity of peripheral pulse detection. For casual wellness use the difference is small; for precise HRV measurement a chest strap is recommended. Budget chest straps (CooSpo, Magene, around £20–25) provide data quality equivalent to sensors costing several times more for this purpose.
Desktop only — Chrome or Edge required. Web Bluetooth is not supported in Safari or Firefox, and is not available on iOS or Android browsers. HRV biofeedback requires a desktop or laptop computer running Chrome or Edge with a compatible BLE chest strap paired via Bluetooth.

Session Log Export

Tap 📋 Export Session Log at the bottom of the Session section to download a plain text file summarising everything active during your session — solfeggio frequency, beat mode, breathwork pattern, intention text, journey status, voice settings, BPM if biofeedback was running, and elapsed time. A blank personal notes section is included at the bottom.

The file is named with the date (e.g. kaleidoscope-2024-03-15.txt) and can be kept as a therapeutic practice record, shared with a practitioner, or used to reproduce a session that worked particularly well.

🌅

Morning Focus

528 Hz · Coherent 5·5 breathwork · 10 min session · Intention: your intention for the day

😌

Stress Relief

396 Hz · 4·7·8 breathwork · Low Stim on · Isochronic beats · 20 min session

🌙

Sleep Preparation

174 Hz · 4·7·8 breathwork · Low Stim on · 30 min session · Voice intention loop

🔮

Full Journey

All 9 frequencies · 2 min per step · Fibonacci breathwork · Intention cycling on every minute · No session timer needed — journey is 18 min


Solfeggio Frequencies & Binaural Beats

🎧 Headphones required for binaural beats. A binaural beat is perceived when two pure tones of slightly different frequency are delivered independently — one to each ear. Over speakers the two signals mix before reaching your ears and the effect is lost. Use Isochronic or Blend mode for speaker use.
FreqNameColourBeatBrainwaveAssociation
174 HzFoundationAmber2 HzDelta — deep sleepPain relief, grounding
285 HzHealingYellow-green3 HzDelta — dreamless restTissue regeneration
396 HzLiberation UTEmerald4 HzTheta — deep meditationRelease of fear and guilt
417 HzChange RECyan6 HzTheta — creative tranceFacilitating change
528 HzMiracle MIAzure8 HzAlpha — relaxed focusDNA repair — reference tone
639 HzConnection FAViolet10 HzAlpha — calm awarenessRelationships, communication
741 HzIntuition SOLMagenta12 HzAlpha/Beta — light focusAwakening intuition
852 HzOrder LARose14 HzBeta — active thoughtReturning to spiritual order
963 HzDivine SIFull spectrum16 HzBeta — alert presenceCrown activation

The Fibonacci Structure

The Fibonacci sequence F(1, 1, 2, 3, 5, 8, 13, 21…) appears at every level of the visual.

Ring Positions

Each ring's normalised radial position is (i / depth + time·speed) mod 1, scaled to canvas radius. When an inner boundary wraps past 1.0 it resets to 0, spawning a new ring at the vanishing point.

Ripple Formula

Boundary offset at angle θ
Σ (A / k) · sin( F(i) · F(k) · θ · 2.4 + t · speed · F(i) + k·1.7 )

k runs over the first three Fibonacci indices, so each ripple layer oscillates at a Fibonacci-multiple of the base frequency — true fractal self-similarity.

Golden Angle Colour Spacing

Golden angle = 360° × (1 − 1/φ) ≈ 137.508° — the most irrational rotation, derived from φ. Spacing hue values by this angle guarantees no two rings share a similar hue within any finite cycle. The same principle governs sunflower seed spirals and phyllotaxis.

Seam Oscillation

Gap angle (degrees)
Σ (F(k+1)/F(k+2)) · 2.8 · |sin( t · speed · F(k+1) · 0.09 + k·2.3 )|


Chakra Colour System

All nine solfeggio frequencies are now aligned to the traditional chakra colour system. Rather than cycling through the full 360° colour wheel, each frequency owns a colour range centred on its chakra hue. The Fibonacci wave function modulates within that range — so colour variation and geometric structure share the same mathematical source.

HzChakraColour centreRange
174EarthDeep crimson±28°
285Earth StarMagenta-red±28°
396Root — MuladharaRed±32°
417Sacral — SvadhisthanaOrange±32°
528Solar Plexus — ManipuraGold±36°
639Heart — AnahataGreen±36°
741Throat — VishuddhaSky blue±30°
852Third Eye — AjnaIndigo±28°
963Crown — SahasraraViolet±48°

The Crown chakra has the widest range (±48°) reflecting its traditional association with the full spectrum of light. A chakra name and description badge appears below the solfeggio selector in both apps, displayed in the chakra's own colour.

Panel Pin Button

A 📌 pin button sits in the top-left of the controls panel header on both apps. When activated (turns purple), the panel stays open permanently on desktop regardless of mouse inactivity. Click again to unpin and restore normal auto-hide behaviour. Useful when fine-tuning settings or during therapeutic sessions where you want controls accessible.

Screen Wake Lock

Both apps request a screen wake lock on load, preventing the device display from dimming or turning off during a session. The lock is automatically released when you switch away from the app and re-acquired when you return. Requires iOS 16.4+ or modern Android/Chrome. On unsupported devices the feature silently does nothing.

Breath Text Size Slider

The S/M/L buttons for breath guide text have been replaced with a continuous slider (range 1–5, default 2.5). This gives finer control over the phase label and countdown size on the canvas.

Mobile — Voice Desktop Only

All voice controls (gender, softness, breath guide voice, intention voice, speed) are hidden on touch/mobile devices and replaced with a quiet note "Voice guidance available on desktop." This is because the default TTS voices on iOS and Android are not suitable for a healing context. On desktop browsers the full voice system is available.


Liquid Style

The Cymatics page now offers three rendering styles for each of the nine solfeggio frequency patterns. Organic and Scientific were the original two; Liquid is the new addition.

🌿

Organic

The wave field modulates colour within the chakra hue range. Background is dark; nodal lines are bright. A gentle angular shimmer moves across the pattern continuously.

🔬

Scientific

Black background with glowing nodal lines in pure chakra colour. Maximum geometric clarity — closest to a photograph of an actual Chladni plate.

💧

Liquid

Fibonacci turbulence layers perturb the pattern with iridescent, oil-on-water colouring. The geometry is still present but reads as a living fluid surface rather than a static wave field.

How the Liquid style works

Two layers are added on top of the base wave field. The first is a Fibonacci turbulence field: four layers using Fibonacci spatial frequencies (1, 1, 2, 3, 5), with amplitudes decaying by 1/φ per layer and golden-angle phase offsets. The turbulence uses a cos(n·θ) formulation — integer multiples of the toroidal angle — which eliminates the seam artefact that appeared at the atan2 branch cut in earlier versions.

The second layer is iridescent colouring: a Cartesian gradient estimation maps gradient magnitude and angle to a hue shift within the chakra range, simulating the way light refracts off a liquid surface at different angles.

Performance note. Liquid style renders at 28% of screen resolution (vs 45% for Organic and Scientific), then GPU-upscales via canvas drawImage. This keeps frame rate smooth on mobile while still producing a visually rich result — the upscaling is handled in hardware and the resolution reduction is not perceptible at normal viewing distance.

Glow slider in Liquid style

The glow slider minimum is 5 in Liquid style (vs 10 in other styles). At low glow values the underlying geometric nodal structure becomes more visible through the liquid cell fills, giving control over the geometry-versus-texture balance. At high glow the iridescent fills dominate and the nodal lines become secondary.

Honest framing

The Cymatics patterns are cymatics-inspired — mathematically grounded in the same wave physics that produces real Chladni plate patterns, but rendered as living light rather than sand on a plate. A Chladni plate captures a single static moment; these patterns breathe, rotate, and evolve continuously, closer to what the wave field actually looks like as a living phenomenon. Informed viewers will recognise the connection to real cymatic plate photographs and appreciate the mathematical grounding. The interpretation is honest.


Toroidal Field

The Toroidal Field is the fifth public tool in the For Humanity toolkit. Where the other four tools visualise Fibonacci mathematics projected through light and geometry, the torus page visualises the electromagnetic field geometry of the heart itself.

What the visual shows

The heart's electromagnetic field has been measured and mapped by HeartMath Institute researchers. Its geometry is toroidal — energy flows out from the top of the heart, curves around the exterior of the body, and returns through the bottom in a continuous self-sustaining loop. This is not metaphor but measured physical reality: a torus-shaped field extending several feet beyond the body in all directions.

The visualisation renders this as a figure-8 mesh of dipole field lines — the mathematical curves that describe how field lines actually flow around a magnetic dipole. Each line follows the equation r(θ) = L·sin²(θ) in polar coordinates, which is the exact formula for a dipole field line. Multiple lines at different toroidal angles together form the characteristic figure-8 envelope. As coherence increases, more lines appear and the centre convergence point brightens — the field becomes more expansive and more ordered.

The coherence connection

HRV coherence — the degree to which the heart rhythm oscillates in a smooth, regular sine wave pattern — correlates with the degree of order in the heart's toroidal field. The 5·5 coherent breathing pattern at 0.1 Hz is the resonant frequency of the heart's toroidal field. Practising coherent breathing at this rate entrains the heart rhythm, increasing coherence and the measured order of the electromagnetic field.

5·5 Coherent breathing at 0.1 Hz — 5 seconds in, 5 seconds out — is the single most evidence-supported intervention for improving HRV coherence. At this breathing rate, the breath and heart rhythm come into resonance, producing a large, regular oscillation in RR intervals that HeartMath calls the coherence state. The Toroidal Field tool defaults to this pattern.

The torus in nature and tradition

The torus appears at every scale of physical reality. The magnetic field of the Earth is toroidal. Galaxy formation produces toroidal structures. Smoke rings and water vortices are transient tori. At the subatomic level, the electron probability cloud around a nucleus has toroidal modes. In sacred geometry traditions — which predate the physics by millennia — the torus was understood as the fundamental form through which energy sustains itself: the Flower of Life, the Merkaba, and the Sri Yantra all encode toroidal relationships. What modern physics measures as a self-sustaining electromagnetic field, the traditions called the light body or aura. The geometry is the same.

Epilepsy safety note

The Pulse speed slider is hard-capped at a maximum rate of 0.006 radians per tick, equivalent to one full field sweep cycle taking a minimum of approximately 8.7 seconds at 60 fps. This keeps the visual well below the 3 Hz flicker threshold associated with photosensitive epilepsy risk. The slow meditative sweep is a feature, not a limitation — it matches the timescale of coherent breathing and feels unhurried.

Ready to explore?

Return to the main page and open any of the five healing tools.

⬡ All Tools

Evidence  ·  Site Map