music/exemplars/formula_cards/UNMATCHED__2-26_Chrono_Trigger_Arrange_Version.json
{
"schema": "formula-card/v1",
"consumer": "docs/proposals/music/MASTERPIECE_PROGRAM.md rung 2 (the archetype synthesis -> MASTERPIECE_STANDARD.md)",
"tier": "RUNG-1 MEASURED",
"legal_posture": "ANALYSIS FOR UNDERSTANDING ONLY. Audio lawfully obtained by Josh, read from disk, measured, and never copied, redistributed, or used as model input of any kind.",
"track_id": "UNMATCHED__2-26_Chrono_Trigger_Arrange_Version",
"title": null,
"game": null,
"composer": null,
"purpose_class": null,
"source_path": "D:\\audio\\exemplars\\iTunes_Sweep\\Yasunori Mitsuda\\Chrono Trigger (Original Soundtrack) [DS\\2-26 Chrono Trigger (Arrange Version.m4a",
"sha256": "351c22311ca8790ded67acf772511688a3a587a07d5f8832ee72826aa0221dea",
"bytes": 1408097,
"source_format": "mov,mp4,m4a,3gp,3g2,mj2",
"source_codec": "aac",
"source_sample_rate_hz": 44100,
"source_channels": 2,
"lossless_source": false,
"analysis_sample_rate_hz": 22050,
"decoder": "ffmpeg.exe :: ffmpeg version 9.0-full_build-www.gyan.dev Copyright (c) 2000-2026 the FFmpeg developers",
"measured_at": "2026-08-07T13:29:06+00:00",
"format_induced_limit": "lossy source (aac); high-band timbre figures carry codec artefacts and the card declares it",
"control": {
"controls_passed": 31,
"controls_total": 31,
"ran_at": "2026-08-07T13:21:15+00:00",
"ffmpeg_version": "ffmpeg version 9.0-full_build-www.gyan.dev Copyright (c) 2000-2026 the FFmpeg developers",
"note": "This measurement is admissible only because the positive control recovered its planted answers in the same process, immediately before it."
},
"card": {
"duration_and_structure": {
"total_length_s": 27.602,
"section_boundaries_s": [
0.0,
0.743,
7.686,
19.458,
26.703,
27.602
],
"section_count": 5,
"repeat_map": [
{
"section": 0,
"most_like_section": null,
"similarity": 0.0,
"is_repeat": false
},
{
"section": 1,
"most_like_section": 0,
"similarity": 0.8213,
"is_repeat": false
},
{
"section": 2,
"most_like_section": 1,
"similarity": 0.9589,
"is_repeat": true
},
{
"section": 3,
"most_like_section": 2,
"similarity": 0.7824,
"is_repeat": false
},
{
"section": 4,
"most_like_section": 0,
"similarity": 0.8681,
"is_repeat": false
}
],
"novelty_peak_strength": [
1.0,
0.7287,
0.6031,
0.6987
],
"method": "checkerboard-kernel novelty over a chroma+MFCC self-similarity matrix"
},
"tempo_and_time_grammar": {
"tempo_function": {
"baseline_bpm": 136.0,
"curve_times_s": [
0.0,
0.37,
0.74,
1.11,
1.49,
1.86,
2.23,
2.6,
2.97,
3.34,
3.72,
4.09,
4.46,
4.83,
5.2,
5.57,
5.94,
6.32,
6.69,
7.06,
7.43,
7.8,
8.17,
8.54,
8.92,
9.29,
9.66,
10.03,
10.4,
10.77,
11.15,
11.52,
11.89,
12.26,
12.63,
13.0,
13.37,
13.75,
14.12,
14.49,
14.86,
15.23,
15.6,
15.98,
16.35,
16.72,
17.09,
17.46,
17.83,
18.2,
18.58,
18.95,
19.32,
19.69,
20.06,
20.43,
20.81,
21.18,
21.55,
21.92,
22.29,
22.66,
23.03,
23.41,
23.78,
24.15,
24.52,
24.89,
25.26,
25.63,
26.01,
26.38,
26.75,
27.12,
27.49
],
"curve_bpm": [
86.13,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
136.0,
136.0,
136.0,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
89.1,
136.0,
136.0,
136.0,
136.0,
136.0,
136.0,
136.0,
136.0,
136.0,
136.0,
136.0,
136.0,
136.0,
136.0,
136.0,
136.0,
258.4,
258.4,
258.4,
89.1,
89.1,
89.1,
92.29,
92.29,
92.29,
198.77,
198.77,
198.77,
129.2,
129.2,
129.2,
161.5,
161.5,
161.5,
161.5,
215.33,
215.33,
258.4,
258.4,
258.4,
258.4,
258.4,
258.4
],
"adjustment_events": [
{
"position_s": 0.0,
"duration_s": 12.59,
"delta_bpm": -41.92,
"shape": "ramp"
},
{
"position_s": 16.76,
"duration_s": 2.41,
"delta_bpm": 43.14,
"shape": "step"
},
{
"position_s": 20.78,
"duration_s": 6.71,
"delta_bpm": 53.91,
"shape": "step"
}
],
"dispersion_bpm": 56.998,
"rubato_depth_bpm": 169.296
},
"global_bpm": 136.0,
"octave_ambiguity_note": "Beat trackers pick a metrical level, and half/double-time readings are a real and known property, not an error -- the rig's own control plants 120 bpm and this estimator returns 60. Every bar figure on this card (time-to-hook in bars, the complexity index's bar length) inherits whichever level was picked, so compare bar counts within a card, never across cards, until rung 2 pins the metrical level per class.",
"windowed_tempo_stability": {
"tempo_bpm_global": 136.0,
"tempo_bpm_median_local": 136.0,
"tempo_iqr_bpm": 6.8,
"tempo_stability": 0.8,
"beat_interval_cv": 0.0398
},
"dominant_onset_period_s": 1.7879,
"dominant_onset_period_bpm": 33.56,
"metre": {
"assumed": "4/4",
"measured": null,
"note": "Bar arithmetic on this card uses 4 beats per bar at the baseline tempo. The onset period beside it is MEASURED; the signature is not."
},
"groove": {
"swing_ratio": 0.546,
"onset_rate_per_s": 10.758
}
},
"tonality": {
"key": "G#",
"mode": "minor",
"windowed_key_agreement": 0.2857,
"modulation_note": "Windowed key agreement below ~0.7 is the modulation signal at rung 1; a pivot-chord map needs symbolic transcription (rung 2)."
},
"the_hook": {
"available": true,
"onset_s": 0.871,
"onset_bars": 0.49,
"pitch_contour": "--D-U--D-U-DU--",
"interval_vocabulary_semitones": [
0,
2,
5
],
"intervals": [
-0.33,
0.33,
-5.0,
0.0,
5.0,
0.33,
-0.33,
-5.0,
0.0,
2.0,
0.0,
-5.0,
5.0,
-0.33,
0.33
],
"range_semitones": 8.33,
"distinctive_deviation": {
"largest_interval_semitones": -5.0,
"at_note_index": 3,
"is_licensed_leap": false
}
},
"motif_economy": {
"self_similarity_peak": 0.8792,
"self_similarity_baseline": 0.6864,
"self_similarity_lift": 0.1928,
"recurrence_lag_s": 0.464,
"interval_3gram_repetition": 0.2895,
"interval_4gram_repetition": 0.1351
},
"lane_analysis": {
"method": "spectral_band_proxy",
"confidence": "LOW-FOR-ROSTER, USABLE-FOR-ARRANGEMENT",
"method_note": "Section 11.1 requires the lane method be declared. Bands are not instruments: two instruments in one octave read as one lane, and one instrument spanning two octaves reads as two. Entry/exit and simultaneity shapes are trustworthy; a roster is not claimed.",
"lane_roster_bands": [
"sub",
"low_bass",
"bass",
"low_mid",
"mid",
"upper_mid",
"presence",
"brilliance",
"air",
"ultra"
],
"entry_exit_map": [
{
"lane": "sub",
"band_hz": [
20,
45
],
"entry_s": 0.789,
"exit_s": 19.598,
"active_fraction": 0.2405,
"segments": [
[
0.789,
1.672
],
[
7.872,
8.8
],
[
13.212,
13.955
],
[
15.0,
15.859
],
[
18.553,
19.598
]
]
},
{
"lane": "low_bass",
"band_hz": [
45,
90
],
"entry_s": 0.766,
"exit_s": 22.314,
"active_fraction": 0.6871,
"segments": [
[
0.766,
1.695
],
[
2.322,
3.019
],
[
4.11,
5.596
],
[
5.851,
7.43
],
[
7.616,
14.025
],
[
14.977,
22.314
]
]
},
{
"lane": "bass",
"band_hz": [
90,
180
],
"entry_s": 0.766,
"exit_s": 22.57,
"active_fraction": 0.7477,
"segments": [
[
0.766,
1.95
],
[
2.206,
7.454
],
[
7.639,
13.955
],
[
14.768,
22.57
]
]
},
{
"lane": "low_mid",
"band_hz": [
180,
355
],
"entry_s": 0.766,
"exit_s": 22.245,
"active_fraction": 0.7712,
"segments": [
[
0.766,
14.489
],
[
14.721,
22.245
]
]
},
{
"lane": "mid",
"band_hz": [
355,
710
],
"entry_s": 0.766,
"exit_s": 22.477,
"active_fraction": 0.7527,
"segments": [
[
0.766,
1.974
],
[
2.276,
3.762
],
[
4.063,
5.712
],
[
5.851,
7.361
],
[
7.663,
22.477
]
]
},
{
"lane": "upper_mid",
"band_hz": [
710,
1400
],
"entry_s": 0.766,
"exit_s": 22.338,
"active_fraction": 0.7561,
"segments": [
[
0.766,
2.02
],
[
2.229,
5.526
],
[
5.805,
7.361
],
[
7.663,
22.338
]
]
},
{
"lane": "presence",
"band_hz": [
1400,
2800
],
"entry_s": 0.766,
"exit_s": 22.221,
"active_fraction": 0.6644,
"segments": [
[
0.766,
1.811
],
[
2.276,
2.949
],
[
4.063,
4.598
],
[
5.851,
6.385
],
[
7.663,
13.491
],
[
13.63,
22.221
]
]
},
{
"lane": "brilliance",
"band_hz": [
2800,
5600
],
"entry_s": 0.766,
"exit_s": 22.338,
"active_fraction": 0.7822,
"segments": [
[
0.766,
22.338
]
]
},
{
"lane": "air",
"band_hz": [
5600,
11200
],
"entry_s": 0.766,
"exit_s": 22.105,
"active_fraction": 0.7653,
"segments": [
[
0.766,
13.375
],
[
13.63,
22.105
]
]
}
],
"interlap_matrix": {
"sub|low_bass": 0.3501,
"sub|bass": 0.3217,
"sub|low_mid": 0.3119,
"sub|mid": 0.3196,
"sub|upper_mid": 0.3181,
"sub|presence": 0.3251,
"sub|brilliance": 0.3075,
"sub|air": 0.3,
"low_bass|bass": 0.9104,
"low_bass|low_mid": 0.8848,
"low_bass|mid": 0.9022,
"low_bass|upper_mid": 0.892,
"low_bass|presence": 0.8557,
"low_bass|brilliance": 0.8785,
"low_bass|air": 0.859,
"bass|low_mid": 0.9398,
"bass|mid": 0.9307,
"bass|upper_mid": 0.9309,
"bass|presence": 0.8191,
"bass|brilliance": 0.9351,
"bass|air": 0.9138,
"low_mid|mid": 0.9359,
"low_mid|upper_mid": 0.9527,
"low_mid|presence": 0.8434,
"low_mid|brilliance": 0.986,
"low_mid|air": 0.973,
"mid|upper_mid": 0.965,
"mid|presence": 0.8827,
"mid|brilliance": 0.9498,
"mid|air": 0.9284,
"upper_mid|presence": 0.8788,
"upper_mid|brilliance": 0.9667,
"upper_mid|air": 0.9452,
"presence|brilliance": 0.8495,
"presence|air": 0.8478,
"brilliance|air": 0.9785
},
"simultaneity_curve": {
"times_s": [
0.0,
0.186,
0.372,
0.557,
0.743,
0.929,
1.115,
1.3,
1.486,
1.672,
1.858,
2.043,
2.229,
2.415,
2.601,
2.786,
2.972,
3.158,
3.344,
3.529,
3.715,
3.901,
4.087,
4.272,
4.458,
4.644,
4.83,
5.016,
5.201,
5.387,
5.573,
5.759,
5.944,
6.13,
6.316,
6.502,
6.687,
6.873,
7.059,
7.245,
7.43,
7.616,
7.802,
7.988,
8.173,
8.359,
8.545,
8.731,
8.916,
9.102,
9.288,
9.474,
9.66,
9.845,
10.031,
10.217,
10.403,
10.588,
10.774,
10.96,
11.146,
11.331,
11.517,
11.703,
11.889,
12.074,
12.26,
12.446,
12.632,
12.817,
13.003,
13.189,
13.375,
13.56,
13.746,
13.932,
14.118,
14.303,
14.489,
14.675,
14.861,
15.047,
15.232,
15.418,
15.604,
15.79,
15.975,
16.161,
16.347,
16.533,
16.718,
16.904,
17.09,
17.276,
17.461,
17.647,
17.833,
18.019,
18.204,
18.39,
18.576,
18.762,
18.947,
19.133,
19.319,
19.505,
19.691,
19.876,
20.062,
20.248,
20.434,
20.619,
20.805,
20.991,
21.177,
21.362,
21.548,
21.734,
21.92,
22.105,
22.291,
22.477,
22.663,
22.848,
23.034,
23.22,
23.406,
23.591,
23.777,
23.963,
24.149,
24.335,
24.52,
24.706,
24.892,
25.078,
25.263,
25.449,
25.635,
25.821,
26.006,
26.192,
26.378,
26.564,
26.749,
26.935,
27.121,
27.307,
27.492
],
"lanes": [
0,
0,
0,
0,
0,
9,
9,
9,
9,
9,
6,
3,
5,
8,
9,
9,
7,
6,
9,
8,
6,
5,
7,
8,
9,
8,
7,
9,
9,
8,
6,
4,
8,
9,
9,
7,
7,
9,
9,
7,
5,
4,
8,
9,
9,
9,
9,
9,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
9,
7,
9,
9,
6,
6,
6,
5,
7,
9,
9,
9,
9,
9,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
9,
9,
9,
9,
9,
9,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
5,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"max": 9,
"mean": 6.167
},
"register_spacing_octaves": [
1.085,
1.0,
0.99,
0.99,
0.99,
0.99,
1.0,
1.0
]
},
"event_grammar": {
"drops": [
{
"position": 0.0656,
"at_s": 1.811,
"db_delta": -5.59,
"lanes_removed": 3.26,
"bars_held_s": 0.093,
"re_enters_at_s": 1.904
},
{
"position": 0.1279,
"at_s": 3.529,
"db_delta": -4.74,
"lanes_removed": 1.54,
"bars_held_s": 0.139,
"re_enters_at_s": 3.669
},
{
"position": 0.191,
"at_s": 5.271,
"db_delta": -4.87,
"lanes_removed": 1.56,
"bars_held_s": 0.186,
"re_enters_at_s": 5.457
},
{
"position": 0.2541,
"at_s": 7.012,
"db_delta": -5.04,
"lanes_removed": 1.59,
"bars_held_s": 0.255,
"re_enters_at_s": 7.268
},
{
"position": 0.4871,
"at_s": 13.444,
"db_delta": -6.13,
"lanes_removed": 0.04,
"bars_held_s": 0.929,
"re_enters_at_s": 14.373
},
{
"position": 0.7908,
"at_s": 21.827,
"db_delta": -5.5,
"lanes_removed": 1.52,
"bars_held_s": 5.178,
"re_enters_at_s": 27.005
},
{
"position": 0.8345,
"at_s": 23.034,
"db_delta": -11.85,
"lanes_removed": 0.45,
"bars_held_s": 3.971,
"re_enters_at_s": 27.005
},
{
"position": 0.8783,
"at_s": 24.242,
"db_delta": -9.39,
"lanes_removed": -0.0,
"bars_held_s": 2.763,
"re_enters_at_s": 27.005
},
{
"position": 0.922,
"at_s": 25.449,
"db_delta": -12.39,
"lanes_removed": -0.0,
"bars_held_s": 1.556,
"re_enters_at_s": 27.005
},
{
"position": 0.9658,
"at_s": 26.657,
"db_delta": -34.43,
"lanes_removed": -0.0,
"bars_held_s": 0.255,
"re_enters_at_s": 26.912
}
],
"raises": [
{
"position": 0.0219,
"start_s": 0.604,
"end_s": 23.057,
"db_delta": 140.38,
"lanes_added": 6.54,
"slope_db_per_s": 6.252
},
{
"position": 0.5308,
"start_s": 14.652,
"end_s": 15.441,
"db_delta": 7.33,
"lanes_added": 1.67,
"slope_db_per_s": 9.285
}
],
"breaks": [
{
"position": 0.0,
"at_s": 0.0,
"duration_s": 0.72
},
{
"position": 0.8539,
"at_s": 23.568,
"duration_s": 4.017
}
],
"tuttis": [
{
"position": 0.2852,
"at_s": 7.872,
"duration_s": 0.929,
"lanes": 9
},
{
"position": 0.546,
"at_s": 15.07,
"duration_s": 0.789,
"lanes": 9
},
{
"position": 0.6722,
"at_s": 18.553,
"duration_s": 1.045,
"lanes": 9
}
],
"silence_budget": {
"fraction": 0.1733,
"seconds": 4.782,
"threshold": "40 dB below the track's own p95 RMS",
"note": "Section 11.2 treats rest as a FIRST-CLASS parameter, not an absence."
},
"counts": {
"drops": 10,
"raises": 2,
"breaks": 2,
"tuttis": 3
}
},
"opening_and_flow_law": {
"onset_type": "silence_then_hit",
"first_sound_at_s": 0.743,
"time_to_hook_s": 0.871,
"time_to_hook_bars": 0.49,
"time_to_full_texture_s": 0.789,
"time_to_full_texture_bars": 0.45,
"flow_curve": {
"definition": "energy = 0.45*density + 0.35*lane-simultaneity + 0.20*register, each normalised to the track's own maximum (section 11.4)",
"times_s": [
0.0,
0.74,
1.49,
2.23,
2.97,
3.72,
4.46,
5.2,
5.94,
6.69,
7.43,
8.17,
8.92,
9.66,
10.4,
11.15,
11.89,
12.63,
13.37,
14.12,
14.86,
15.6,
16.35,
17.09,
17.83,
18.58,
19.32,
20.06,
20.81,
21.55,
22.29,
23.03,
23.78,
24.52,
25.26,
26.01,
26.75,
27.49
],
"values": [
0.0434,
0.1853,
0.5701,
0.4636,
0.4612,
0.5286,
0.552,
0.5786,
0.5294,
0.5147,
0.4443,
0.6768,
0.6214,
0.5627,
0.5679,
0.6322,
0.5952,
0.5893,
0.5522,
0.5411,
0.5616,
0.6568,
0.5871,
0.5849,
0.5968,
0.6346,
0.6386,
0.5714,
0.5606,
0.5261,
0.3394,
0.0692,
0.0573,
0.0887,
0.1678,
0.0266,
0.0,
0.0
],
"peak_position_normalised": 0.681
}
},
"complexity_law": {
"available": true,
"bar_length_s": 1.7647,
"bars": 15,
"index_per_bar": [
0.7283,
0.8928,
0.9298,
0.934,
0.944,
0.9342,
0.9368,
0.9722,
0.9354,
0.928,
1.0,
0.9509,
0.6905,
0.0117,
0.0048
],
"definition": "lane count + 4*harmonic change rate + 0.6*onset strength + 0.4*register span, per bar, normalised to the track's own maximum (section 11.6)",
"step_map": [
{
"bar": 1,
"at_s": 1.76,
"delta": 0.165,
"at_section_boundary": true
},
{
"bar": 12,
"at_s": 21.18,
"delta": -0.26,
"at_section_boundary": true
},
{
"bar": 13,
"at_s": 22.94,
"delta": -0.679,
"at_section_boundary": false
}
],
"steps_at_section_boundaries": 2,
"steps_total": 3,
"boundary_step_share": 0.667,
"hypothesis_note": "Section 11.6 expects masterpieces to step complexity AT structural boundaries and hold it flat inside sections. This share is the measurement of that claim on this track; the corpus decides, not us."
},
"texture_and_density": {
"note_rate_per_s": 1.485,
"melodic_salience": 0.8561,
"voiced_fraction": 0.5273,
"note_count": 41,
"mean_lanes": 6.167,
"max_lanes": 9
},
"dynamics": {
"dynamic_range_db_p95_minus_p10": 75.76,
"peak_position_normalised": 0.4604,
"peak_at_s": 12.701,
"arc_curve_db": [
-93.58,
-101.11,
-18.79,
-19.46,
-18.29,
-19.74,
-19.11,
-20.27,
-19.8,
-18.26,
-18.21,
-16.2,
-15.58,
-15.54,
-16.07,
-16.06,
-15.27,
-14.17,
-16.21,
-19.3,
-16.19,
-14.08,
-15.19,
-15.53,
-16.25,
-15.42,
-14.49,
-14.79,
-15.74,
-17.66,
-26.01,
-40.58,
-55.14,
-68.41,
-81.76,
-128.31,
-182.98,
-113.85
],
"arc_times_s": [
0.0,
0.74,
1.49,
2.23,
2.97,
3.72,
4.46,
5.2,
5.94,
6.69,
7.43,
8.17,
8.92,
9.66,
10.4,
11.15,
11.89,
12.63,
13.37,
14.12,
14.86,
15.6,
16.35,
17.09,
17.83,
18.58,
19.32,
20.06,
20.81,
21.55,
22.29,
23.03,
23.78,
24.52,
25.26,
26.01,
26.75,
27.49
]
},
"register": {
"melody_span_semitones": 11.0,
"melody_tessitura_midi": 40.0,
"bass_floor_band": {
"sub": 0.03128,
"low_bass": 0.34368,
"bass": 0.26845,
"low_mid": 0.09327,
"mid": 0.11703,
"upper_mid": 0.07904,
"presence": 0.0487,
"brilliance": 0.01398,
"air": 0.00434,
"ultra": 0.0
},
"octave_band_profile": {
"sub": 0.03128,
"low_bass": 0.34368,
"bass": 0.26845,
"low_mid": 0.09327,
"mid": 0.11703,
"upper_mid": 0.07904,
"presence": 0.0487,
"brilliance": 0.01398,
"air": 0.00434,
"ultra": 0.0
}
},
"cadence_and_ending": {
"loop_seam": {
"measurable": true,
"seam_distance": 1.0,
"interior_distance_median": 0.03882,
"seam_ratio": 25.76,
"seam_clean": false,
"tail_rms_over_mid": 0.0,
"head_rms_over_mid": 0.0,
"tail_rms_trend": -0.4379,
"head_rms_trend": 0.4833,
"baked_fade_out": false,
"baked_fade_in": true
},
"ending": "through_or_loop",
"cadence_census_note": "A cadence census needs harmonic transcription and is a rung-2 dimension; the seam measurement is what rung 1 can honestly report about how it ends."
},
"timbre": {
"spectral_centroid_hz_mean": 1708.1,
"spectral_centroid_curve_hz": [
0.0,
1614.1,
1636.1,
2800.5,
1360.5,
3049.3,
1293.4,
1514.9,
1279.2,
2088.8,
1781.6,
2919.3,
2014.8,
1476.3,
1481.8,
2637.9,
1910.7,
1559.8,
831.3,
2782.3,
2277.2,
2140.9,
1884.2,
2058.6,
2025.7,
2052.1,
1747.2,
1550.6,
1594.1,
1636.4,
1278.9,
881.4,
986.1,
1626.9,
3098.1,
491.0,
0.0,
0.0
],
"spectral_rolloff85_hz_mean": 3789.0,
"spectral_flatness_mean": 0.08682,
"signature_colour": "warm"
}
}
}