{
	"camera" : 
	{
		"center" : "0.00000 0.00000 -1.00000",
		"eye" : "0.00000 0.00000 0.00000",
		"up" : "0.00000 1.00000 0.00000"
	},
	"general" : 
	{
		"ambientcolor" : "0.30000 0.30000 0.30000",
		"bloom" : false,
		"bloomhdrfeather" : 0.1,
		"bloomhdriterations" : 8,
		"bloomhdrscatter" : 1.619,
		"bloomhdrstrength" : 2.0,
		"bloomhdrthreshold" : 1.0,
		"bloomstrength" : 2.0,
		"bloomthreshold" : 0.64999998,
		"bloomtint" : "1.00000 1.00000 1.00000",
		"camerafade" : true,
		"cameraparallax" : false,
		"cameraparallaxamount" : 0.5,
		"cameraparallaxdelay" : 0.1,
		"cameraparallaxmouseinfluence" : 0.5,
		"camerapreview" : true,
		"camerashake" : false,
		"camerashakeamplitude" : 0.5,
		"camerashakeroughness" : 1.0,
		"camerashakespeed" : 3.0,
		"clearcolor" : "0.70196 0.70196 0.70196",
		"clearenabled" : true,
		"farz" : 10000.0,
		"fov" : 50.0,
		"gravitydirection" : "0.00000 -1.00000 0.00000",
		"gravitystrength" : 1.0,
		"hdr" : false,
		"nearz" : 0.0099999998,
		"orthogonalprojection" : 
		{
			"height" : 2160,
			"width" : 3840
		},
		"perspectiveoverridefov" : 90.0,
		"skylightcolor" : "0.30000 0.30000 0.30000",
		"winddirection" : "0.70700 0.70700 0.00000",
		"windenabled" : false,
		"windstrength" : 1.0,
		"zoom" : 1.0
	},
	"objects" : 
	[
		{
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/waterflow/effect.json",
					"id" : 70,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"feather" : 0.40000001,
								"phasescale" : 2.0,
								"speed" : 0.11,
								"strength" : 1.4
							},
							"id" : 71,
							"textures" : [ null, "masks/waterflow_mask_1e73d9b4", "effects/waterflowphase" ]
						}
					],
					"visible" : true
				}
			],
			"id" : 17,
			"image" : "models/120498462_p0 (1).json",
			"locktransforms" : true,
			"name" : "120498462_p0 (1)",
			"origin" : "1920.00000 1080.00000 0.00000",
			"size" : "3840.00000 2160.00000"
		},
		{
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"id" : 68,
			"image" : "models/120498462_p0 (1)bgbgbgbgbgbg_bg_fg.json",
			"locktransforms" : true,
			"name" : "Chair",
			"origin" : "626.50000 1280.50000 0.00000",
			"size" : "1253.00000 989.00000",
			"visible" : 
			{
				"user" : "chair",
				"value" : true
			}
		},
		{
			"disablepropagation" : false,
			"id" : 600,
			"instanceoverride" : 
			{
				"alpha" : 0.80000001,
				"controlpoint1" : "4709.65039 -4343.24023 0.00000",
				"controlpoint2" : "1900.70117 -4419.19678 0.00000",
				"id" : 603,
				"lifetime" : 2.0,
				"rate" : 5.0,
				"size" : 5.0
			},
			"name" : "birds",
			"origin" : "7914.31885 1105.39490 0.00000",
			"parallaxDepth" : "0.10000 0.10000",
			"particle" : "particles/workshop/2626112187/birds.json",
			"scale" : "-1.00000 1.00000 1.00000",
			"solid" : true,
			"visible" : 
			{
				"user" : "birds",
				"value" : true
			}
		},
		{
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"id" : 63,
			"image" : "models/120498462_p0 (1)bgbgbgbgbg_bg_fg.json",
			"locktransforms" : true,
			"name" : "120498462_p0 (1)bgbgbgbgbg_bg_fg",
			"origin" : "1920.00000 1080.00000 0.00000",
			"size" : "3840.00000 2160.00000"
		},
		{
			"anchor" : "none",
			"backgroundbrightness" : 1.0,
			"backgroundcolor" : "0.00000 0.00000 0.00000",
			"blockalign" : false,
			"castshadow" : false,
			"clampuvs" : true,
			"depthtest" : "enabled",
			"disablepropagation" : false,
			"font" : "systemfont_arial",
			"horizontalalign" : "center",
			"id" : 59,
			"limitrows" : false,
			"limituseellipsis" : false,
			"limitwidth" : false,
			"locktransforms" : true,
			"maxrows" : 1,
			"maxwidth" : 500.0,
			"name" : "--------------------------------------",
			"opaquebackground" : false,
			"origin" : "2241.60010 1029.59998 0.00000",
			"padding" : 32,
			"pointsize" : 32.0,
			"size" : "615.00000 153.00000",
			"text" : "Text Layer",
			"verticalalign" : "center",
			"visible" : false
		},
		{
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/waterwaves/effect.json",
					"id" : 354,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"direction" : 1.5816678,
								"exponent" : 1,
								"scale" : 0.0099999998,
								"speed" : 1.84,
								"strength" : 0.11
							},
							"id" : 355,
							"textures" : [ null, "masks/waterwaves_mask_5b425960" ]
						}
					],
					"visible" : true
				}
			],
			"id" : 53,
			"image" : "models/120498462_p0 (1)bgbgbgbg_bg_fg.json",
			"name" : "1",
			"origin" : "2793.00000 630.50000 0.00000",
			"size" : "404.00000 1055.00000"
		},
		{
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/waterwaves/effect.json",
					"id" : 125,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"direction" : -2.5869427,
								"exponent" : 1.0,
								"scale" : 27.530001,
								"speed" : 3.22,
								"strength" : 0.12
							},
							"id" : 126,
							"textures" : [ null, "masks/waterwaves_mask_5aa68dfd" ]
						}
					],
					"visible" : true
				},
				{
					"file" : "effects/waterwaves/effect.json",
					"id" : 202,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"direction" : 1.5816678,
								"exponent" : 1,
								"scale" : 0.0099999998,
								"speed" : 1.84,
								"strength" : 0.11
							},
							"id" : 203,
							"textures" : [ null, "masks/waterwaves_mask_8bea37d1" ]
						}
					],
					"visible" : true
				}
			],
			"id" : 48,
			"image" : "models/120498462_p0 (1)bgbgbg_bg_fg.json",
			"name" : "3",
			"origin" : "2803.50000 1221.50000 0.00000",
			"size" : "581.00000 749.00000"
		},
		{
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/waterwaves/effect.json",
					"id" : 175,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"direction" : -2.5869427,
								"exponent" : 1,
								"scale" : 27.530001,
								"speed" : 3.22,
								"strength" : 0.059999999
							},
							"id" : 176,
							"textures" : [ null, "masks/waterwaves_mask_4286fa34" ]
						}
					],
					"visible" : true
				},
				{
					"file" : "effects/waterwaves/effect.json",
					"id" : 242,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"direction" : 1.5816678,
								"exponent" : 1,
								"scale" : 0.0099999998,
								"speed" : 1.84,
								"strength" : 0.11
							},
							"id" : 243
						}
					],
					"visible" : true
				}
			],
			"id" : 36,
			"image" : "models/120498462_p0 (1)bg_bg_fg.json",
			"name" : "4",
			"origin" : "2804.00000 1313.50000 0.00000",
			"size" : "484.00000 381.00000"
		},
		{
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/waterwaves/effect.json",
					"id" : 283,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"direction" : 1.5816678,
								"exponent" : 1,
								"scale" : 0.0099999998,
								"speed" : 1.84,
								"strength" : 0.15000001
							},
							"id" : 284
						}
					],
					"visible" : true
				}
			],
			"id" : 43,
			"image" : "models/120498462_p0 (1)bgbg_bg_fg.json",
			"name" : "2",
			"origin" : "2798.50000 1652.00000 0.00000",
			"size" : "365.00000 360.00000"
		},
		{
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/waterwaves/effect.json",
					"id" : 268,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"direction" : 1.5816678,
								"exponent" : 1,
								"scale" : 0.0099999998,
								"speed" : 1.84,
								"strength" : 0.11
							},
							"id" : 269
						}
					],
					"visible" : true
				},
				{
					"file" : "effects/waterwaves/effect.json",
					"id" : 300,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"direction" : -2.6640666,
								"exponent" : 1,
								"scale" : 41.290001,
								"speed" : 3.45,
								"strength" : 0.1
							},
							"id" : 301,
							"textures" : [ null, "masks/waterwaves_mask_22ca8d10" ]
						}
					],
					"visible" : true
				}
			],
			"id" : 29,
			"image" : "models/120498462_p0 (1)_bg_fg.json",
			"name" : "5",
			"origin" : "2802.50000 1728.50000 0.00000",
			"size" : "481.00000 785.00000"
		},
		{
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/waterwaves/effect.json",
					"id" : 255,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"direction" : 1.5816678,
								"exponent" : 1,
								"scale" : 0.0099999998,
								"speed" : 1.84,
								"strength" : 0.07
							},
							"id" : 256
						}
					],
					"visible" : true
				},
				{
					"file" : "effects/waterwaves/effect.json",
					"id" : 524,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"direction" : -3.0619361,
								"exponent" : 1,
								"scale" : 0.0099999998,
								"speed" : 2.76,
								"strength" : 0.11
							},
							"id" : 525,
							"textures" : [ null, "masks/waterwaves_mask_cd7bec38" ]
						}
					],
					"visible" : true
				}
			],
			"id" : 22,
			"image" : "models/120498462_p0 (1)_fg.json",
			"name" : "6",
			"origin" : "2776.50000 1202.00000 0.00000",
			"size" : "709.00000 1154.00000"
		},
		{
			"alpha" : 0.67000002,
			"anchor" : "none",
			"angles" : "0.00000 -0.00000 0.24530",
			"backgroundbrightness" : 1.0,
			"backgroundcolor" : "0.00000 0.00000 0.00000",
			"blockalign" : false,
			"castshadow" : false,
			"clampuvs" : true,
			"color" : "0.63137 0.74902 1.00000",
			"depthtest" : "enabled",
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/blurprecise/effect.json",
					"id" : 285,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"scale" : "2 2"
							},
							"id" : 290
						},
						{
							"combos" : 
							{
								"ENABLEMASK" : 1,
								"VERTICAL" : 1
							},
							"constantshadervalues" : 
							{
								"scale" : "2 2"
							},
							"id" : 291
						}
					],
					"visible" : true
				}
			],
			"font" : "fonts/Storm Gust.otf",
			"horizontalalign" : "center",
			"id" : 55,
			"limitrows" : false,
			"limituseellipsis" : false,
			"limitwidth" : false,
			"maxrows" : 1,
			"maxwidth" : 500.0,
			"name" : "NW",
			"opaquebackground" : false,
			"origin" : "2221.60156 1653.94019 0.00000",
			"padding" : 32,
			"pointsize" : 32.0,
			"scale" : "0.79993 0.79993 0.79993",
			"size" : "234.00000 217.00000",
			"text" : "NW",
			"verticalalign" : "center"
		},
		{
			"angles" : "0.00000 0.00000 3.14159",
			"disablepropagation" : false,
			"id" : 639,
			"instanceoverride" : 
			{
				"alpha" : 0.20999999,
				"colorn" : "1.00000 1.00000 1.00000",
				"id" : 649,
				"rate" : 1.13,
				"size" : 5.0
			},
			"name" : "bokeh",
			"origin" : "-12.60522 22.48552 0.00000",
			"particle" : "particles/workshop/2491377235/presets/dust_motes_0.json",
			"scale" : "2.19882 2.19882 2.19882",
			"solid" : true,
			"visible" : 
			{
				"user" : "flyingtriangle",
				"value" : true
			}
		},
		{
			"angles" : "0.00000 0.00000 3.14159",
			"disablepropagation" : false,
			"id" : 245,
			"instanceoverride" : 
			{
				"alpha" : 0.20999999,
				"colorn" : "1.00000 1.00000 1.00000",
				"id" : 248,
				"rate" : 1.27,
				"size" : 0.72000003
			},
			"name" : "bokeh",
			"origin" : "509.84033 210.53578 0.00000",
			"particle" : "particles/workshop/2491377235/presets/dust_motes_0.json",
			"scale" : "2.19882 2.19882 2.19882",
			"solid" : true,
			"visible" : 
			{
				"user" : "flyingtriangle",
				"value" : true
			}
		},
		{
			"angles" : "0.00000 0.00000 3.14159",
			"disablepropagation" : false,
			"id" : 253,
			"instanceoverride" : 
			{
				"alpha" : 0.20999999,
				"colorn" : "1.00000 1.00000 1.00000",
				"id" : 257,
				"rate" : 1.27,
				"size" : 0.15000001
			},
			"name" : "bokeh",
			"origin" : "509.84033 210.53578 0.00000",
			"particle" : "particles/workshop/2491377235/presets/dust_motes_0.json",
			"scale" : "2.19882 2.19882 2.19882",
			"solid" : true,
			"visible" : 
			{
				"user" : "flyingtriangle",
				"value" : true
			}
		},
		{
			"angles" : "0.00000 -0.00000 -3.12852",
			"disablepropagation" : false,
			"id" : 588,
			"instanceoverride" : 
			{
				"alpha" : 2.0,
				"count" : 2.0,
				"id" : 591,
				"rate" : 0.74000001,
				"size" : 0.81,
				"speed" : 1.04
			},
			"name" : "Wind particles",
			"origin" : "4233.16602 1401.72009 0.00000",
			"particle" : "particles/workshop/2991402338/Gusts_of_wind.json",
			"scale" : "3.01311 3.01311 3.01311",
			"solid" : true,
			"visible" : 
			{
				"user" : "windparticles",
				"value" : true
			}
		},
		{
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/2795521260/color_grading/effect.json",
					"id" : 359,
					"name" : "",
					"passes" : 
					[
						{
							"combos" : 
							{
								"TOOLS" : 2
							},
							"constantshadervalues" : 
							{
								"Channel influence" : "1 1 1",
								"Luminance" : -0.02,
								"Opacity" : 1.0,
								"Saturation" : 0.039999999,
								"Vibrance" : 0.11
							},
							"id" : 360
						}
					],
					"visible" : true
				}
			],
			"id" : 356,
			"image" : "models/util/fullscreenlayer.json",
			"name" : "Couche de post-traitement",
			"parallaxDepth" : "0.00000 0.00000"
		},
		{
			"anchor" : "none",
			"backgroundbrightness" : 1.0,
			"backgroundcolor" : "0.00000 0.00000 0.00000",
			"blockalign" : false,
			"brightness" : 1.4,
			"castshadow" : false,
			"clampuvs" : true,
			"depthtest" : "enabled",
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3572249782/blurprecise/effect.json",
					"id" : 52,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"scale" : "0.43 0.43"
							},
							"id" : 0
						},
						{
							"combos" : 
							{
								"ENABLEMASK" : 1,
								"VERTICAL" : 1
							},
							"constantshadervalues" : 
							{
								"scale" : "0.43 0.43"
							},
							"id" : 56
						}
					],
					"visible" : true
				},
				{
					"file" : "effects/godrays/effect.json",
					"id" : 206,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"noiseamount" : 0.5,
								"noisescale" : 0.0099999998,
								"noisesmoothness" : 0.5,
								"noisespeed" : 0.15000001,
								"raythreshold" : 0
							},
							"id" : 207
						},
						{
							"constantshadervalues" : 
							{
								"center" : "0.027164679 0.49852085",
								"color" : "1 1 1",
								"rayintensity" : 0.91000003,
								"raylength" : 0.039999999
							},
							"id" : 209
						},
						{
							"constantshadervalues" : 
							{
								"blurscale" : "1.18 1.18"
							},
							"id" : 210
						},
						{
							"combos" : 
							{
								"VERTICAL" : 1
							},
							"constantshadervalues" : 
							{
								"blurscale" : "1.18 1.18"
							},
							"id" : 211
						},
						{
							"id" : 212
						}
					],
					"visible" : true
				}
			],
			"font" : "fonts/Garet-Book.otf",
			"horizontalalign" : "center",
			"id" : 51,
			"limitrows" : false,
			"limituseellipsis" : false,
			"limitwidth" : false,
			"maxrows" : 1,
			"maxwidth" : 500.0,
			"name" : "DAY (EN)",
			"opaquebackground" : false,
			"origin" : "498.90579 833.07635 0.00000",
			"padding" : 32,
			"parallaxDepth" : "2.00000 2.00000",
			"pointsize" : 23.0,
			"scale" : "1.14488 1.13179 0.95818",
			"size" : "676.00000 203.00000",
			"text" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3572249782';\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n\n\nexport var scriptProperties = createScriptProperties()\n\t.addCombo({\n\t\tname: 'monthFormat',\n\t\tlabel: 'Month Format',\n\t\toptions: [{\n\t\t\tlabel: 'Numeric',\n\t\t\tvalue: '1'\n\t\t}, {\n\t\t\tlabel: 'Abbreviated',\n\t\t\tvalue: '2'\n\t\t},{\n\t\t\tlabel: 'Full',\n\t\t\tvalue: '3'\n\t\t}]\n\t})\n\t.addCombo({\n\t\tname: 'dayFormat',\n\t\tlabel: 'Day Format',\n\t\toptions: [{\n\t\t\tlabel: 'Abbreviated',\n\t\t\tvalue: '1'\n\t\t}, {\n\t\t\tlabel: 'Full',\n\t\t\tvalue: '2'\n\t\t}]\n\t})\n\t.addCheckbox({\n\t\tname: 'showDay',\n\t\tlabel: 'Show Day',\n\t\tvalue: true\n\t})\n   .addCheckbox({\n\t\tname: 'alignVertical',\n\t\tlabel: 'Align Day Vertically',\n\t\tvalue: false\n\t})\n  .addCheckbox({\n\t\tname: 'useDelimiter',\n\t\tlabel: 'Use Delimiter',\n\t\tvalue: false\n\t})\n\t.addText({\n\t\tname: 'addDelimiter',\n\t\tlabel: 'Delimiter',\n\t\tvalue: '/'\n\t})\n\t.finish();\n\n\nlet months;\nlet day;\nvar delimiterValue;\nvar newLine;\n/**\n * @param {String} value (for property 'text')\n */\nexport function update(value){\n  if (scriptProperties.useDelimiter == true){\n  delimiterValue = scriptProperties.addDelimiter\n}\n  if (scriptProperties.useDelimiter == false){\n   delimiterValue = [\n  ' '\n]\n}\nif (scriptProperties.alignVertical == true){\n   newLine = [\n  '\\n'\n]\n}\nif (scriptProperties.alignVertical == false){\n   newLine = [\n  ''\n]\n}\n  if (scriptProperties.monthFormat == 1){\n  months = [\n  '1',\n  '2',\n  '3',\n  '4',\n  '5',\n  '6',\n  '7',\n  '8',\n  '9',\n  '10',\n  '11',\n  '12'\n]\n}\n if (scriptProperties.monthFormat == 2){\n months = [\n  'JAN',\n  'FEB',\n  'MAR',\n  'APR',\n  'MAY',\n  'JUN',\n  'JUL',\n  'AUG',\n  'SEP',\n  'OCT',\n  'NOV',\n  'DEC'\n]\n}\nif (scriptProperties.monthFormat == 3){\n months = [\n  'January',\n  'February',\n  'March',\n  'April',\n  'May',\n  'June',\n  'July',\n  'August',\n  'September',\n  'October',\n  'November',\n  'December'\n]\n}\nif (scriptProperties.dayFormat == 1){\n  day = [\n  'S U N',\n  'M O N',\n  'T U E',\n  'W E D',\n  'T H U',\n  'F R I',\n  'S A T'\n]\n}\nif (scriptProperties.dayFormat == 2){\n day = [\n  'SUNDAY',\n  'MONDAY',\n  'TUESDAY',\n  'WEDNESDAY',\n  'THURSDAY',\n  'FRIDAY',\n  'SATURDAY'\n]\n}\n\tlet date = new Date();{\n    if (scriptProperties.showDay == true ){\n    return day[date.getDay()]      }\n    if (scriptProperties.showDay == false ){\n\treturn   date.getDate() + delimiterValue + months[date.getMonth()] + delimiterValue + date.getFullYear();\n}\n}\n}\n",
				"scriptproperties" : 
				{
					"addDelimiter" : "/",
					"alignVertical" : false,
					"dayFormat" : "2",
					"monthFormat" : "1",
					"showDay" : true,
					"useDelimiter" : true
				},
				"value" : "WEDNESDAY"
			},
			"verticalalign" : "center",
			"visible" : 
			{
				"user" : "dayen",
				"value" : true
			}
		},
		{
			"angles" : "0.00000 -0.00000 1.57080",
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"id" : 164,
			"image" : "models/util/solidlayer.json",
			"name" : "ON",
			"origin" : "498.90579 748.61359 0.00000",
			"scale" : "0.98856 1.01157 1.00000",
			"size" : "5.00000 750.00000",
			"visible" : 
			{
				"user" : "soundbarfromthetop",
				"value" : true
			}
		},
		{
			"angles" : "0.00000 -0.00000 1.57080",
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"id" : 332,
			"image" : "models/util/solidlayer.json",
			"name" : "Solide",
			"origin" : "498.90579 523.54053 0.00000",
			"scale" : "0.98856 1.01157 1.00000",
			"size" : "5.00000 750.00000",
			"visible" : 
			{
				"user" : "bottomsoundbar",
				"value" : true
			}
		},
		{
			"alignment" : "right",
			"angles" : "-0.00000 -0.00000 -1.57079",
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3082978660/enhanced_simple_audio_bars/effect.json",
					"id" : 183,
					"name" : "",
					"passes" : 
					[
						{
							"combos" : 
							{
								"BAR_STYLE" : 2,
								"RESOLUTION" : 16,
								"SHAPE" : 3
							},
							"constantshadervalues" : 
							{
								"Anti-alias blurring" : "0.02, 0.02",
								"Anti-alias blurring " : "0.07 0.07",
								"Bar Color" : "1 1 1",
								"Bar Count" : 20,
								"Bar Spacing" : 0.5,
								"Lower/Upper Bar Bounds" : "0 0.6",
								"Minimum Height (Will be multiplied by the bar width)" : 0,
								"Radius" : 1,
								"Volume Factor" : 1.0,
								"ui_editor_properties_opacity" : 0.23
							},
							"id" : 184
						}
					],
					"visible" : true
				}
			],
			"id" : 182,
			"image" : "models/util/solidlayer.json",
			"name" : "SoundBar",
			"origin" : "498.90579 746.85529 0.00000",
			"scale" : "0.98856 1.01157 1.00000",
			"size" : "200.00000 750.00000",
			"visible" : 
			{
				"user" : "soundbarfromthetop",
				"value" : true
			}
		},
		{
			"alignment" : "right",
			"angles" : "0.00000 -0.00000 1.57080",
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3082978660/enhanced_simple_audio_bars/effect.json",
					"id" : 339,
					"name" : "",
					"passes" : 
					[
						{
							"combos" : 
							{
								"BAR_STYLE" : 2,
								"RESOLUTION" : 16,
								"SHAPE" : 3
							},
							"constantshadervalues" : 
							{
								"Anti-alias blurring" : "0.02, 0.02",
								"Anti-alias blurring " : "0.07 0.07",
								"Bar Color" : "1 1 1",
								"Bar Count" : 20,
								"Bar Spacing" : 0.5,
								"Lower/Upper Bar Bounds" : "0 0.6",
								"Minimum Height (Will be multiplied by the bar width)" : 0,
								"Radius" : 1,
								"Volume Factor" : 1.0,
								"ui_editor_properties_opacity" : 0.23
							},
							"id" : 344
						}
					],
					"visible" : true
				}
			],
			"id" : 336,
			"image" : "models/util/solidlayer.json",
			"name" : "SoundBar",
			"origin" : "498.90579 523.82483 0.00000",
			"scale" : "0.98856 1.01157 1.00000",
			"size" : "200.00000 750.00000",
			"visible" : 
			{
				"user" : "bottomsoundbar",
				"value" : true
			}
		},
		{
			"anchor" : "none",
			"angles" : "0.00000 -0.00000 0.00000",
			"backgroundbrightness" : 1.0,
			"backgroundcolor" : "0.00000 0.00000 0.00000",
			"blockalign" : false,
			"brightness" : 1.98,
			"castshadow" : false,
			"clampuvs" : true,
			"depthtest" : "enabled",
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3572249782/blurprecise/effect.json",
					"id" : 65,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"scale" : "1.33 1.33"
							},
							"id" : 66
						},
						{
							"combos" : 
							{
								"ENABLEMASK" : 1,
								"VERTICAL" : 1
							},
							"constantshadervalues" : 
							{
								"scale" : "1.33 1.33"
							},
							"id" : 67
						}
					],
					"visible" : true
				},
				{
					"file" : "effects/godrays/effect.json",
					"id" : 604,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"noiseamount" : 0.5,
								"noisescale" : 0.0099999998,
								"noisesmoothness" : 0.5,
								"noisespeed" : 0.15000001,
								"raythreshold" : 0
							},
							"id" : 605
						},
						{
							"constantshadervalues" : 
							{
								"center" : "0.027164679 0.49852085",
								"color" : "1 1 1",
								"rayintensity" : 0.91000003,
								"raylength" : 0.039999999
							},
							"id" : 606
						},
						{
							"constantshadervalues" : 
							{
								"blurscale" : "1.18 1.18"
							},
							"id" : 607
						},
						{
							"combos" : 
							{
								"VERTICAL" : 1
							},
							"constantshadervalues" : 
							{
								"blurscale" : "1.18 1.18"
							},
							"id" : 608
						},
						{
							"id" : 609
						}
					],
					"visible" : true
				}
			],
			"font" : "fonts/Garet-Book.otf",
			"horizontalalign" : "center",
			"id" : 61,
			"limitrows" : false,
			"limituseellipsis" : false,
			"limitwidth" : false,
			"maxrows" : 1,
			"maxwidth" : 500.0,
			"name" : "Date",
			"opaquebackground" : false,
			"origin" : "498.90579 488.55020 0.00000",
			"padding" : 32,
			"pointsize" : 50.0,
			"scale" : "0.31731 0.30580 0.44841",
			"size" : "802.00000 366.00000",
			"text" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3572249782';\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n\n\nexport var scriptProperties = createScriptProperties()\n\t.addCombo({\n\t\tname: 'monthFormat',\n\t\tlabel: 'Month Format',\n\t\toptions: [{\n\t\t\tlabel: 'Numeric',\n\t\t\tvalue: '1'\n\t\t}, {\n\t\t\tlabel: 'Abbreviated',\n\t\t\tvalue: '2'\n\t\t},{\n\t\t\tlabel: 'Full',\n\t\t\tvalue: '3'\n\t\t}]\n\t})\n\t.addCombo({\n\t\tname: 'dayFormat',\n\t\tlabel: 'Day Format',\n\t\toptions: [{\n\t\t\tlabel: 'Abbreviated',\n\t\t\tvalue: '1'\n\t\t}, {\n\t\t\tlabel: 'Full',\n\t\t\tvalue: '2'\n\t\t}]\n\t})\n\t.addCheckbox({\n\t\tname: 'showDay',\n\t\tlabel: 'Show Day',\n\t\tvalue: false\n\t})\n   .addCheckbox({\n\t\tname: 'alignVertical',\n\t\tlabel: 'Align Day Vertically',\n\t\tvalue: false\n\t})\n  .addCheckbox({\n\t\tname: 'useDelimiter',\n\t\tlabel: 'Use Delimiter',\n\t\tvalue: false\n\t})\n\t.addText({\n\t\tname: 'addDelimiter',\n\t\tlabel: 'Delimiter',\n\t\tvalue: '/'\n\t})\n\t.finish();\n\n\nlet months;\nlet day;\nvar delimiterValue;\nvar newLine;\n/**\n * @param {String} value (for property 'text')\n */\nexport function update(value){\n  if (scriptProperties.useDelimiter == true){\n  delimiterValue = scriptProperties.addDelimiter\n}\n  if (scriptProperties.useDelimiter == false){\n   delimiterValue = [\n  ' '\n]\n}\nif (scriptProperties.alignVertical == true){\n   newLine = [\n  '\\n'\n]\n}\nif (scriptProperties.alignVertical == false){\n   newLine = [\n  ''\n]\n}\n  if (scriptProperties.monthFormat == 1){\n  months = [\n  '1',\n  '2',\n  '3',\n  '4',\n  '5',\n  '6',\n  '7',\n  '8',\n  '9',\n  '10',\n  '11',\n  '12'\n]\n}\n if (scriptProperties.monthFormat == 2){\n months = [\n  ' JAN ',\n  ' FEB ',\n  ' MAR ',\n  ' APR ',\n  ' MAY ',\n  ' JUN ',\n  ' JUL ',\n  ' AUG ',\n  ' SEP ',\n  ' OCT ',\n  ' NOV ',\n  ' DEC '\n]\n}\nif (scriptProperties.monthFormat == 3){\n months = [\n  'January',\n  'February',\n  'March',\n  'April',\n  'May',\n  'June',\n  'July',\n  'August',\n  'September',\n  'October',\n  'November',\n  'December'\n]\n}\nif (scriptProperties.dayFormat == 1){\n  day = [\n  'Sun',\n  'Mon',\n  'Tue',\n  'Wed',\n  'Thu',\n  'Fri',\n  '\\nSat'\n]\n}\nif (scriptProperties.dayFormat == 2){\n day = [\n  'Sunday',\n  'Monday',\n  'Tuesday',\n  'Wednesday',\n  'Thursday',\n  'Friday',\n  '\\nSaturday'\n]\n}\n\tlet date = new Date();{\n    if (scriptProperties.showDay == true ){\n    return day[date.getDay()] + newLine + ' ' + date.getDate() + delimiterValue + months[date.getMonth()] + delimiterValue + date.getFullYear();\n    }\n    if (scriptProperties.showDay == false ){\n\treturn   date.getDate() + delimiterValue + months[date.getMonth()] + delimiterValue + date.getFullYear();\n}\n}\n}\n",
				"scriptproperties" : 
				{
					"addDelimiter" : "",
					"alignVertical" : false,
					"dayFormat" : "2",
					"monthFormat" : "2",
					"showDay" : false,
					"useDelimiter" : true
				},
				"value" : "<Date>"
			},
			"verticalalign" : "center",
			"visible" : 
			{
				"user" : "date",
				"value" : true
			}
		},
		{
			"anchor" : "none",
			"angles" : "0.00000 -0.00000 0.00000",
			"backgroundbrightness" : 1.0,
			"backgroundcolor" : "0.00000 0.00000 0.00000",
			"blockalign" : false,
			"brightness" : 2.3900001,
			"castshadow" : false,
			"clampuvs" : true,
			"depthtest" : "enabled",
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3572249782/blurprecise/effect.json",
					"id" : 80,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"scale" : "1.28 1.28"
							},
							"id" : 112
						},
						{
							"combos" : 
							{
								"ENABLEMASK" : 1,
								"VERTICAL" : 1
							},
							"constantshadervalues" : 
							{
								"scale" : "1.28 1.28"
							},
							"id" : 82
						}
					],
					"visible" : true
				},
				{
					"file" : "effects/godrays/effect.json",
					"id" : 615,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"noiseamount" : 0.5,
								"noisescale" : 0.0099999998,
								"noisesmoothness" : 0.5,
								"noisespeed" : 0.15000001,
								"raythreshold" : 0
							},
							"id" : 616
						},
						{
							"constantshadervalues" : 
							{
								"center" : "0.027164679 0.49852085",
								"color" : "1 1 1",
								"rayintensity" : 0.91000003,
								"raylength" : 0.039999999
							},
							"id" : 617
						},
						{
							"constantshadervalues" : 
							{
								"blurscale" : "1.18 1.18"
							},
							"id" : 618
						},
						{
							"combos" : 
							{
								"VERTICAL" : 1
							},
							"constantshadervalues" : 
							{
								"blurscale" : "1.18 1.18"
							},
							"id" : 619
						},
						{
							"id" : 620
						}
					],
					"visible" : true
				}
			],
			"font" : "fonts/Garet-Book.otf",
			"horizontalalign" : "center",
			"id" : 79,
			"limitrows" : false,
			"limituseellipsis" : false,
			"limitwidth" : false,
			"maxrows" : 1,
			"maxwidth" : 500.0,
			"name" : "Clock",
			"opaquebackground" : false,
			"origin" : "498.90579 425.16037 0.00000",
			"padding" : 32,
			"pointsize" : 50.0,
			"scale" : "0.28038 0.28038 0.28038",
			"size" : "576.00000 366.00000",
			"text" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3572249782';\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n\nexport var scriptProperties = createScriptProperties()\n\t// Whether you want a 24h or 12h style format\n\t.addCheckbox({\n\t\tname: 'use24hFormat',\n\t\tlabel: 'ui_editor_properties_use_24h_format',\n\t\tvalue: true\n\t})\n\t// Whether you want to see the seconds or not\n\t.addCheckbox({\n\t\tname: 'showSeconds',\n\t\tlabel: 'ui_editor_properties_show_seconds',\n\t\tvalue: false\n\t})\n\t// This will be used to separate each element\n\t.addText({\n\t\tname: 'delimiter',\n\t\tlabel: 'ui_editor_properties_delimiter',\n\t\tvalue: ':'\n\t})\n\t.finish();\n\n/**\n * @param {String} value (for property 'text')\n */\nexport function update(value) {\n\tlet time = new Date();\n\tvar hours = time.getHours();\n\tif (!scriptProperties.use24hFormat) {\n\t\thours %= 12;\n\t\tif (hours == 0) {\n\t\t\thours = 12;\n\t\t}\n\t}\n\thours = (\"00\" + hours).slice(-2);\n\tlet minutes = (\"00\" + time.getMinutes()).slice(-2);\n\tvalue = \"\" + hours + scriptProperties.delimiter + minutes+\"\";\n\tif (scriptProperties.showSeconds) {\n\t\tlet seconds = (\"00\" + time.getSeconds()).slice(-2);\n\t\tvalue += scriptProperties.delimiter + seconds;\n\t}\n\treturn value;\n}\n",
				"scriptproperties" : 
				{
					"delimiter" : ":",
					"showSeconds" : true,
					"use24hFormat" : true
				},
				"value" : "12:34"
			},
			"verticalalign" : "center",
			"visible" : 
			{
				"user" : 
				{
					"condition" : "0",
					"name" : "clock"
				},
				"value" : true
			}
		},
		{
			"anchor" : "none",
			"angles" : "0.00000 -0.00000 0.00000",
			"backgroundbrightness" : 1.0,
			"backgroundcolor" : "0.00000 0.00000 0.00000",
			"blockalign" : false,
			"brightness" : 2.3900001,
			"castshadow" : false,
			"clampuvs" : true,
			"depthtest" : "enabled",
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3572249782/blurprecise/effect.json",
					"id" : 458,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"scale" : "1.28 1.28"
							},
							"id" : 459
						},
						{
							"combos" : 
							{
								"ENABLEMASK" : 1,
								"VERTICAL" : 1
							},
							"constantshadervalues" : 
							{
								"scale" : "1.28 1.28"
							},
							"id" : 460
						}
					],
					"visible" : true
				},
				{
					"file" : "effects/godrays/effect.json",
					"id" : 461,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"noiseamount" : 0.5,
								"noisescale" : 0.0099999998,
								"noisesmoothness" : 0.5,
								"noisespeed" : 0.15000001,
								"raythreshold" : 0
							},
							"id" : 462
						},
						{
							"constantshadervalues" : 
							{
								"center" : "0.027164679 0.49852085",
								"color" : "1 1 1",
								"rayintensity" : 0.91000003,
								"raylength" : 0.039999999
							},
							"id" : 463
						},
						{
							"constantshadervalues" : 
							{
								"blurscale" : "1.18 1.18"
							},
							"id" : 464
						},
						{
							"combos" : 
							{
								"VERTICAL" : 1
							},
							"constantshadervalues" : 
							{
								"blurscale" : "1.18 1.18"
							},
							"id" : 465
						},
						{
							"id" : 466
						}
					],
					"visible" : true
				}
			],
			"font" : "fonts/Garet-Book.otf",
			"horizontalalign" : "center",
			"id" : 457,
			"limitrows" : false,
			"limituseellipsis" : false,
			"limitwidth" : false,
			"maxrows" : 1,
			"maxwidth" : 500.0,
			"name" : "Clock",
			"opaquebackground" : false,
			"origin" : "498.90579 425.16037 0.00000",
			"padding" : 32,
			"pointsize" : 50.0,
			"scale" : "0.28038 0.28038 0.28038",
			"size" : "576.00000 366.00000",
			"text" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3572249782';\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n// Please note: Do not remove this line or asset references may break.\n\nexport var scriptProperties = createScriptProperties()\n\t// Whether you want a 24h or 12h style format\n\t.addCheckbox({\n\t\tname: 'use24hFormat',\n\t\tlabel: 'ui_editor_properties_use_24h_format',\n\t\tvalue: true\n\t})\n\t// Whether you want to see the seconds or not\n\t.addCheckbox({\n\t\tname: 'showSeconds',\n\t\tlabel: 'ui_editor_properties_show_seconds',\n\t\tvalue: false\n\t})\n\t// This will be used to separate each element\n\t.addText({\n\t\tname: 'delimiter',\n\t\tlabel: 'ui_editor_properties_delimiter',\n\t\tvalue: ':'\n\t})\n\t.finish();\n\n/**\n * @param {String} value (for property 'text')\n */\nexport function update(value) {\n\tlet time = new Date();\n\tvar hours = time.getHours();\n\tif (!scriptProperties.use24hFormat) {\n\t\thours %= 12;\n\t\tif (hours == 0) {\n\t\t\thours = 12;\n\t\t}\n\t}\n\thours = (\"00\" + hours).slice(-2);\n\tlet minutes = (\"00\" + time.getMinutes()).slice(-2);\n\tvalue = \"\" + hours + scriptProperties.delimiter + minutes+\"\";\n\tif (scriptProperties.showSeconds) {\n\t\tlet seconds = (\"00\" + time.getSeconds()).slice(-2);\n\t\tvalue += scriptProperties.delimiter + seconds;\n\t}\n\treturn value;\n}\n",
				"scriptproperties" : 
				{
					"delimiter" : ":",
					"showSeconds" : true,
					"use24hFormat" : false
				},
				"value" : "12:34"
			},
			"verticalalign" : "center",
			"visible" : 
			{
				"user" : 
				{
					"condition" : "1",
					"name" : "clock"
				},
				"value" : false
			}
		},
		{
			"anchor" : "none",
			"backgroundbrightness" : 1.0,
			"backgroundcolor" : "0.00000 0.00000 0.00000",
			"blockalign" : false,
			"castshadow" : false,
			"clampuvs" : true,
			"depthtest" : "enabled",
			"disablepropagation" : false,
			"font" : "fonts/Garet-Book.otf",
			"horizontalalign" : "left",
			"id" : 99,
			"limitrows" : false,
			"limituseellipsis" : false,
			"limitwidth" : false,
			"maxrows" : 1,
			"maxwidth" : 500.0,
			"name" : "NOW PLAYING",
			"opaquebackground" : false,
			"origin" : "921.30835 638.41205 -59.29666",
			"padding" : 32,
			"pointsize" : 9.0,
			"size" : "275.00000 54.00000",
			"text" : "NOW PLAYING:",
			"verticalalign" : "center",
			"visible" : 
			{
				"user" : "mediainfo",
				"value" : true
			}
		},
		{
			"anchor" : "none",
			"angles" : "0.00000 -0.00000 0.00000",
			"backgroundbrightness" : 1.0,
			"backgroundcolor" : "0.00000 0.00000 0.00000",
			"blockalign" : false,
			"castshadow" : false,
			"clampuvs" : true,
			"depthtest" : "enabled",
			"disablepropagation" : false,
			"font" : "fonts/Garet-Book.otf",
			"horizontalalign" : "left",
			"id" : 103,
			"limitrows" : true,
			"limituseellipsis" : true,
			"limitwidth" : true,
			"maxrows" : 1,
			"maxwidth" : 2305.9763,
			"name" : "Song",
			"opaquebackground" : false,
			"origin" : "298.98007 0.00000 0.00000",
			"padding" : 32,
			"parent" : 99,
			"pointsize" : 9.0,
			"size" : "1252.00000 54.00000",
			"text" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3572282093';\n// Please note: Do not remove this line or asset references may break.\n\nvar mediaData = \"\";\n\n/**\n * @param {String} value - for property 'text'\n * @return {String} - update current property value\n */\nexport var scriptProperties = createScriptProperties()\n\t.addText({\n\t\tname: 'text',\n\t\tlabel: 'Text',\n\t\tvalue: 'This is the default text.'\n\t})\n\t.finish();\n\nexport function update(value) {\n    if (mediaData === \"\") {\n        return scriptProperties.text.toUpperCase(); // Convert text to uppercase\n    } else {\n        return mediaData.toUpperCase(); // Convert mediaData to uppercase\n    }\n}\n\n/**\n * @param {MediaPropertiesEvent} event\n */\nexport function mediaPropertiesChanged(event) {\n    mediaData = event.title;\n}\n",
				"scriptproperties" : 
				{
					"text" : 
					{
						"user" : "songnamewhenquiet",
						"value" : "It's so quiet here..."
					}
				},
				"value" : "song name here song name here song name here song name here"
			},
			"verticalalign" : "center"
		},
		{
			"anchor" : "none",
			"angles" : "0.00000 -0.00000 0.00000",
			"backgroundbrightness" : 1.0,
			"backgroundcolor" : "0.00000 0.00000 0.00000",
			"blockalign" : false,
			"castshadow" : false,
			"clampuvs" : true,
			"depthtest" : "enabled",
			"disablepropagation" : false,
			"font" : "fonts/Garet-Book.otf",
			"horizontalalign" : "left",
			"id" : 111,
			"limitrows" : false,
			"limituseellipsis" : false,
			"limitwidth" : false,
			"maxrows" : 1,
			"maxwidth" : 500.0,
			"name" : "status",
			"opaquebackground" : false,
			"origin" : "1.11935 76.38727 118.59332",
			"padding" : 32,
			"parent" : 99,
			"pointsize" : 10.0,
			"size" : "210.00000 60.00000",
			"text" : "STATUS    |",
			"verticalalign" : "center"
		},
		{
			"alpha" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3572282093';\n// Please note: Do not remove this line or asset references may break.\nlet audioData = engine.registerAudioBuffers(64);\n\n/**\n * @param {Number} value - for property 'alpha'\n * @return {Number} - update current property value\n */\nexport function update(value) {\n    let volume = audioData.average[0];\n    if (volume > 0) {\n        return 1; // Set alpha to 1 when sound is detected\n    } else {\n        return 0.25; // Set alpha to 0.25 when no sound is detected\n    }\n}\n",
				"value" : 1.0
			},
			"anchor" : "none",
			"angles" : "0.00000 -0.00000 0.00000",
			"backgroundbrightness" : 1.0,
			"backgroundcolor" : "0.00000 0.00000 0.00000",
			"blockalign" : false,
			"castshadow" : false,
			"clampuvs" : true,
			"depthtest" : "enabled",
			"disablepropagation" : false,
			"font" : "fonts/Garet-Book.otf",
			"horizontalalign" : "left",
			"id" : 112,
			"limitrows" : false,
			"limituseellipsis" : false,
			"limitwidth" : false,
			"maxrows" : 1,
			"maxwidth" : 500.0,
			"name" : "sound detection",
			"opaquebackground" : false,
			"origin" : "269.31174 76.38727 118.59332",
			"padding" : 32,
			"parent" : 99,
			"pointsize" : 10.0,
			"size" : "460.00000 60.00000",
			"text" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3572282093';\n// Please note: Do not remove this line or asset references may break.\nlet audioData = engine.registerAudioBuffers(64);\n\n/**\n * @param {String} value - for property 'text'\n * @return {String} - update current property value\n */\nexport function update(value) {\n    let volume = audioData.average[0];\n    if (volume > 0) {\n        return \"SOUND DETECTED\";\n    } else {\n        return \"NO SOUND DETECTED\";\n    }\n}\n",
				"value" : "NO SOUND DETECTED"
			},
			"verticalalign" : "center"
		},
		{
			"anchor" : "none",
			"angles" : "0.00000 -0.00000 0.00000",
			"backgroundbrightness" : 1.0,
			"backgroundcolor" : "0.00000 0.00000 0.00000",
			"blockalign" : false,
			"castshadow" : false,
			"clampuvs" : true,
			"depthtest" : "enabled",
			"disablepropagation" : false,
			"font" : "fonts/Garet-Book.otf",
			"horizontalalign" : "left",
			"id" : 107,
			"limitrows" : true,
			"limituseellipsis" : true,
			"limitwidth" : true,
			"maxrows" : 1,
			"maxwidth" : 1630.9214,
			"name" : "artist",
			"opaquebackground" : false,
			"origin" : "0.00000 -48.98370 0.00000",
			"padding" : 32,
			"parent" : 99,
			"pointsize" : 10.0,
			"size" : "306.00000 60.00000",
			"text" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3572282093';\n// Please note: Do not remove this line or asset references may break.\n\nvar mediaData = \"\";\n\n/**\n * @param {String} value - for property 'text'\n * @return {String} - update current property value\n */\nexport var scriptProperties = createScriptProperties()\n\t.addText({\n\t\tname: 'text',\n\t\tlabel: 'Text',\n\t\tvalue: 'This is the default text.'\n\t})\n\t.finish();\n\nexport function update(value) {\n    if (mediaData !== \"\") {\n        return \"BY \" + mediaData.toUpperCase(); // Convert mediaData to uppercase\n    } else {\n        return scriptProperties.text.toUpperCase(); // Convert text to uppercase\n    }\n}\n\n/**\n * @param {MediaPropertiesEvent} event\n */\nexport function mediaPropertiesChanged(event) {\n    var artist = event.artist;\n    if (artist.endsWith(\" - Topic\")) {\n        artist = artist.slice(0, -8);\n    }\n    mediaData = artist.toUpperCase(); // Convert artist to uppercase\n}\n",
				"scriptproperties" : 
				{
					"text" : "ArtWork By Hennnachoco ⎪ Animated By northway."
				},
				"value" : "by artist name"
			},
			"verticalalign" : "top"
		},
		{
			"disablepropagation" : false,
			"id" : 165,
			"name" : "",
			"origin" : "592.84998 587.61377 0.00000",
			"solid" : true,
			"visible" : 
			{
				"user" : "shortcut",
				"value" : true
			}
		},
		{
			"angles" : "0.00000 -0.00000 0.00000",
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3573358585/frame_builder/effect.json",
					"id" : 167,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"Bottom left" : 1,
								"Bottom right" : 1,
								"Edge extrude" : 0,
								"Notch size" : 0.5,
								"Thickness" : 0.1,
								"Top left" : 1,
								"Top right" : 1,
								"frameAlpha" : "0 1",
								"frameColor" : "1 1 1",
								"inColor" : "0.30000 0.30000 0.30000",
								"insideAlpha" : "0 0.3",
								"outAlpha" : "0 0",
								"outColor" : "0 0 0",
								"ui_editor_properties_opacity" : 1,
								"ui_editor_properties_position" : "0 0",
								"ui_editor_properties_rotation" : -2.3561945,
								"ui_editor_properties_size" : "0.8 0.8",
								"ui_settings_gfx_antialiasing" : 1
							},
							"id" : 168
						}
					],
					"visible" : true
				}
			],
			"id" : 166,
			"image" : "models/util/solidlayer.json",
			"name" : "User Shortcut Frame 1",
			"origin" : "-391.22925 47.48840 0.00000",
			"parent" : 165,
			"size" : "150.00000 150.00000"
		},
		{
			"angles" : "0.00000 -0.00000 0.00000",
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3573358585/spin/effect.json",
					"id" : 177,
					"name" : "",
					"passes" : 
					[
						{
							"combos" : 
							{
								"REPEAT" : 0
							},
							"constantshadervalues" : 
							{
								"angle" : 0.0,
								"center" : "0.50991 0.51052",
								"feather" : 0.0020000001,
								"phase" : 0.0,
								"ratio" : 1.0,
								"size" : 1.2776817,
								"speed" : 1.0
							},
							"id" : 178
						}
					],
					"visible" : true
				}
			],
			"id" : 170,
			"image" : "models/workshop/3573358585/noFilter-removebg-preview.json",
			"name" : "Star 1",
			"parent" : 166,
			"scale" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3573358585';\n\nexport var scriptProperties = createScriptProperties()\n    .addSlider({name: 'frequencyMin',       label: 'Frequency Min',         value: 0,       min: 0,     max: 31,    integer: true})\n    .addSlider({name: 'frequencyMax',       label: 'Frequency Max',         value: 31,      min: 0,     max: 31,    integer: true})\n    .addSlider({name: 'smoothing',          label: 'Smoothing (inverted)',  value: 16,      min: 0,     max: 32,    integer: true})\n    .addSlider({name: 'minvalue',           label: 'Min Value',             value: 0.8,     min: 0,     max: 3,     integer: false})\n    .addSlider({name: 'maxvalue',           label: 'Max Value',             value: 1.2,     min: 0,     max: 3,     integer: false})\n    .addSlider({name: 'minAudioBounds',     label: 'Minimum Audio Bound',   value: 0.0,     min: 0.0,   max: 1.0,   integer: false})\n    .addSlider({name: 'maxAudioBounds',     label: 'Maximum Audio Bound',   value: 1.0,     min: 0.0,   max: 1.0,   integer: false})\n    .addCombo({ name: 'audioChannel',       label: 'Audio Channel',         options: [\n              {label: 'Both Channels',      value: 'both'},\n              {label: 'Left Channel',       value: 'left'},\n              {label: 'Right Channel',      value: 'right'}\n    ]})\n    .addText({  name: 'sharedValueName',    label: 'Shared Value Name',     value: 'sharedAudioValue'})\n.finish();\n\nconst audioBuffer = engine.registerAudioBuffers(engine.AUDIO_RESOLUTION_32);\nlet smoothValue = 0;\n\nexport function update() {\n    const frequencyMin = Math.min(scriptProperties.frequencyMin, scriptProperties.frequencyMax);\n    const frequencyMax = Math.max(scriptProperties.frequencyMin, scriptProperties.frequencyMax);\n    const valueDelta = scriptProperties.maxvalue - scriptProperties.minvalue;\n\n    let audioAverage = 0;\n    let sampleCount = 0;\n\n    const channel = scriptProperties.audioChannel;\n    const processLeft = channel === 'left' || channel === 'both';\n    const processRight = channel === 'right' || channel === 'both';\n\n    for (let i = frequencyMin; i <= frequencyMax; i++) {\n        let sample = 0;\n        if (processLeft) sample += audioBuffer.left[i];\n        if (processRight) sample += audioBuffer.right[i];\n        if (processLeft && processRight) sample *= 0.5;\n        audioAverage += sample;\n        sampleCount++;\n    }\n\n    if (sampleCount > 0) {\n        audioAverage /= sampleCount;\n    }\n\n    const minAudioBounds = scriptProperties.minAudioBounds;\n    const maxAudioBounds = scriptProperties.maxAudioBounds;\n    let normalizedAudio = (audioAverage - minAudioBounds) / (maxAudioBounds - minAudioBounds);\n    normalizedAudio = Math.max(0, Math.min(1, normalizedAudio));\n\n    const audioDelta = normalizedAudio - smoothValue;\n    smoothValue += audioDelta * Math.min(1.0, engine.frametime * scriptProperties.smoothing);\n\n    const result = smoothValue * valueDelta + scriptProperties.minvalue;\n    shared[scriptProperties.sharedValueName] = result;\n\n    return result;\n}\n",
				"scriptproperties" : 
				{
					"audioChannel" : "both",
					"frequencyMax" : 31,
					"frequencyMin" : 0,
					"maxAudioBounds" : 1,
					"maxvalue" : 0.34999999,
					"minAudioBounds" : 0,
					"minvalue" : 0.25,
					"sharedValueName" : "sharedAudioValue",
					"smoothing" : 20
				},
				"value" : "0.29467 0.29467 0.29467"
			},
			"size" : "420.00000 420.00000"
		},
		{
			"angles" : "0.00000 -0.00000 0.00000",
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3573358585/frame_builder/effect.json",
					"id" : 186,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"Bottom left" : 1.0,
								"Bottom right" : 1.0,
								"Edge extrude" : 0.0,
								"Notch size" : 0.5,
								"Thickness" : 0.1,
								"Top left" : 1.0,
								"Top right" : 1.0,
								"frameAlpha" : "0 1",
								"frameColor" : "1 1 1",
								"inColor" : "0.3 0.3 0.3",
								"insideAlpha" : "0 1",
								"outAlpha" : "0 0",
								"outColor" : "0 0 0",
								"ui_editor_properties_opacity" : 1.0,
								"ui_editor_properties_position" : "0 0",
								"ui_editor_properties_rotation" : -2.3561945,
								"ui_editor_properties_size" : "0.8 0.8",
								"ui_settings_gfx_antialiasing" : 1.0
							},
							"id" : 187
						}
					],
					"visible" : true
				}
			],
			"id" : 180,
			"image" : "models/workshop/3573358585/solid_instance_model_99c5a772.json",
			"instance" : 
			{
				"combos" : 
				{
					"version" : 2
				},
				"id" : 181,
				"textures" : [ "util/white" ],
				"usertextures" : 
				[
					{
						"name" : "shortcut1",
						"type" : "usershortcut"
					}
				]
			},
			"name" : "User Shortcut #1",
			"parent" : 166,
			"scale" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3573358585';\n\nimport * as WEMath from 'WEMath';\n\nexport var scriptProperties = createScriptProperties()\n.addSlider({\n\t\tname: 'whY',\n\t\tlabel: 'Scale',\n\t\tvalue: 0.0,\n\t\tmin: -0.25,\n\t\tmax: 0.25,\n\t\tinteger: false\n\t})\n\t.addSlider({\n\t\tname: 'hoScale',\n\t\tlabel: 'Hover over scale multiplier',\n\t\tvalue: 0.9,\n\t\tmin: 0.1,\n\t\tmax: 2,\n\t\tinteger: false\n\t})\n\t.addSlider({\n\t\tname: 'speed',\n\t\tlabel: 'Scale change speed',\n\t\tvalue: 100,\n\t\tmin: 1,\n\t\tmax: 100,\n\t\tinteger: false\n\t})\n\t.finish();\n\nlet initScale, newScale, hover = false, propertyCheck = true, speed;\n\nexport function update(value) {\n\tif (hover) \n\t{\n\t\tvalue = new Vec3((WEMath.mix(value.x, newScale.x, speed) + scriptProperties.whY), (WEMath.mix(value.y, newScale.y, speed) + scriptProperties.whY), (WEMath.mix(value.z, newScale.z, speed) + scriptProperties.whY));\n\t}\n\telse\n\t{\n\t\tvalue = new Vec3((WEMath.mix(value.x, initScale.x, speed) + scriptProperties.whY), (WEMath.mix(value.y, initScale.y, speed) + scriptProperties.whY), (WEMath.mix(value.z, initScale.z, speed) + scriptProperties.whY));\n\t}\n\treturn value;\n}\n\nexport function init(value) {\n\tinitScale = value;\n\treturn value;\n}\n\nexport function cursorDown(event) {\n\thover = true;\n}\n\nexport function cursorUp(event) {\n\thover = false;\n}\n\nexport function applyUserProperties(changedUserProperties) {\n\tif (scriptProperties.hoScale != undefined && propertyCheck)\n\t{\n\t\tnewScale = new Vec3(initScale.multiply(scriptProperties.hoScale));\n\t\tspeed = scriptProperties.speed/100;\n\t\tpropertyCheck = false;\n\t}\n\t\n}\n",
				"scriptproperties" : 
				{
					"hoScale" : 0.80000001,
					"speed" : 50,
					"whY" : 0
				},
				"value" : "1.00000 1.00000 1.00000"
			},
			"size" : "130.00000 130.00000",
			"visible" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3573358585';\n\n/**\n * @param {Object} changedUserProperties - only includes user properties that were recently changed!\n */\nexport function applyUserProperties(changedUserProperties) {\n\t// Hide layer while user property is unbound\n\tif (changedUserProperties.hasOwnProperty('shortcut1')) {\n\t\tif (changedUserProperties.shortcut1.isbound) {\n\t\t\tthisLayer.visible = true;\n\t\t\tthisScene.getLayer(\"shortcut1_label\").text = changedUserProperties.shortcut1.file;\n\t\t} else {\n\t\t\tthisLayer.visible = false;\n\t\t\tthisScene.getLayer(\"shortcut1_label\").text = \"\";\n\t\t}\n\t}\n}\n\n/**\n * @param {CursorEvent} event\n */\nexport function cursorClick(event) {\n\t// you can run a *single* command in one click/up/down CursorEvent, other events are blocked\n\tengine.openUserShortcut(\"shortcut1\");\n}\n",
				"value" : true
			}
		},
		{
			"angles" : "0.00000 -0.00000 0.00000",
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3573358585/frame_builder/effect.json",
					"id" : 190,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"Bottom left" : 1,
								"Bottom right" : 1,
								"Edge extrude" : 0,
								"Notch size" : 0.5,
								"Thickness" : 0.1,
								"Top left" : 1,
								"Top right" : 1,
								"frameAlpha" : "0 1",
								"frameColor" : "1 1 1",
								"inColor" : "0.30000 0.30000 0.30000",
								"insideAlpha" : "0 0.3",
								"outAlpha" : "0 0",
								"outColor" : "0 0 0",
								"ui_editor_properties_opacity" : 1,
								"ui_editor_properties_position" : "0 0",
								"ui_editor_properties_rotation" : -2.3561945,
								"ui_editor_properties_size" : "0.8 0.8",
								"ui_settings_gfx_antialiasing" : 1
							},
							"id" : 191
						}
					],
					"visible" : true
				}
			],
			"id" : 189,
			"image" : "models/util/solidlayer.json",
			"name" : "User Shortcut Frame 2",
			"origin" : "-191.22925 47.48840 0.00000",
			"parent" : 165,
			"size" : "150.00000 150.00000"
		},
		{
			"angles" : "0.00000 -0.00000 0.00000",
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3573358585/spin/effect.json",
					"id" : 196,
					"name" : "",
					"passes" : 
					[
						{
							"combos" : 
							{
								"REPEAT" : 0
							},
							"constantshadervalues" : 
							{
								"angle" : 0.0,
								"center" : "0.50991 0.51052",
								"feather" : 0.0020000001,
								"phase" : 0.0,
								"ratio" : 1.0,
								"size" : 1.2776817,
								"speed" : 1.0
							},
							"id" : 197
						}
					],
					"visible" : true
				}
			],
			"id" : 193,
			"image" : "models/workshop/3573358585/noFilter-removebg-preview.json",
			"name" : "Star 2",
			"parent" : 189,
			"scale" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3573358585';\n\nexport var scriptProperties = createScriptProperties()\n    .addSlider({name: 'frequencyMin',       label: 'Frequency Min',         value: 0,       min: 0,     max: 31,    integer: true})\n    .addSlider({name: 'frequencyMax',       label: 'Frequency Max',         value: 31,      min: 0,     max: 31,    integer: true})\n    .addSlider({name: 'smoothing',          label: 'Smoothing (inverted)',  value: 16,      min: 0,     max: 32,    integer: true})\n    .addSlider({name: 'minvalue',           label: 'Min Value',             value: 0.8,     min: 0,     max: 3,     integer: false})\n    .addSlider({name: 'maxvalue',           label: 'Max Value',             value: 1.2,     min: 0,     max: 3,     integer: false})\n    .addSlider({name: 'minAudioBounds',     label: 'Minimum Audio Bound',   value: 0.0,     min: 0.0,   max: 1.0,   integer: false})\n    .addSlider({name: 'maxAudioBounds',     label: 'Maximum Audio Bound',   value: 1.0,     min: 0.0,   max: 1.0,   integer: false})\n    .addCombo({ name: 'audioChannel',       label: 'Audio Channel',         options: [\n              {label: 'Both Channels',      value: 'both'},\n              {label: 'Left Channel',       value: 'left'},\n              {label: 'Right Channel',      value: 'right'}\n    ]})\n    .addText({  name: 'sharedValueName',    label: 'Shared Value Name',     value: 'sharedAudioValue'})\n.finish();\n\nconst audioBuffer = engine.registerAudioBuffers(engine.AUDIO_RESOLUTION_32);\nlet smoothValue = 0;\n\nexport function update() {\n    const frequencyMin = Math.min(scriptProperties.frequencyMin, scriptProperties.frequencyMax);\n    const frequencyMax = Math.max(scriptProperties.frequencyMin, scriptProperties.frequencyMax);\n    const valueDelta = scriptProperties.maxvalue - scriptProperties.minvalue;\n\n    let audioAverage = 0;\n    let sampleCount = 0;\n\n    const channel = scriptProperties.audioChannel;\n    const processLeft = channel === 'left' || channel === 'both';\n    const processRight = channel === 'right' || channel === 'both';\n\n    for (let i = frequencyMin; i <= frequencyMax; i++) {\n        let sample = 0;\n        if (processLeft) sample += audioBuffer.left[i];\n        if (processRight) sample += audioBuffer.right[i];\n        if (processLeft && processRight) sample *= 0.5;\n        audioAverage += sample;\n        sampleCount++;\n    }\n\n    if (sampleCount > 0) {\n        audioAverage /= sampleCount;\n    }\n\n    const minAudioBounds = scriptProperties.minAudioBounds;\n    const maxAudioBounds = scriptProperties.maxAudioBounds;\n    let normalizedAudio = (audioAverage - minAudioBounds) / (maxAudioBounds - minAudioBounds);\n    normalizedAudio = Math.max(0, Math.min(1, normalizedAudio));\n\n    const audioDelta = normalizedAudio - smoothValue;\n    smoothValue += audioDelta * Math.min(1.0, engine.frametime * scriptProperties.smoothing);\n\n    const result = smoothValue * valueDelta + scriptProperties.minvalue;\n    shared[scriptProperties.sharedValueName] = result;\n\n    return result;\n}\n",
				"scriptproperties" : 
				{
					"audioChannel" : "both",
					"frequencyMax" : 31,
					"frequencyMin" : 0,
					"maxAudioBounds" : 1,
					"maxvalue" : 0.40000001,
					"minAudioBounds" : 0,
					"minvalue" : 0.25,
					"sharedValueName" : "sharedAudioValue",
					"smoothing" : 20
				},
				"value" : "0.29467 0.29467 0.29467"
			},
			"size" : "420.00000 420.00000"
		},
		{
			"angles" : "0.00000 -0.00000 0.00000",
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3573358585/frame_builder/effect.json",
					"id" : 201,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"Bottom left" : 1,
								"Bottom right" : 1,
								"Edge extrude" : 0,
								"Notch size" : 0.5,
								"Thickness" : 0.1,
								"Top left" : 1,
								"Top right" : 1,
								"frameAlpha" : "0 1",
								"frameColor" : "1 1 1",
								"inColor" : "0.3 0.3 0.3",
								"insideAlpha" : "0 1",
								"outAlpha" : "0 0",
								"outColor" : "0 0 0",
								"ui_editor_properties_opacity" : 1,
								"ui_editor_properties_position" : "0 0",
								"ui_editor_properties_rotation" : -2.3561945,
								"ui_editor_properties_size" : "0.8 0.8",
								"ui_settings_gfx_antialiasing" : 1
							},
							"id" : 204
						}
					],
					"visible" : true
				}
			],
			"id" : 199,
			"image" : "models/workshop/3573358585/solid_instance_model_99c5a772.json",
			"instance" : 
			{
				"combos" : 
				{
					"version" : 2
				},
				"id" : 200,
				"textures" : [ "util/white" ],
				"usertextures" : 
				[
					{
						"name" : "shortcut2",
						"type" : "usershortcut"
					}
				]
			},
			"name" : "User Shortcut #2",
			"parent" : 189,
			"scale" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3573358585';\n\nimport * as WEMath from 'WEMath';\n\nexport var scriptProperties = createScriptProperties()\n.addSlider({\n\t\tname: 'whY',\n\t\tlabel: 'Scale',\n\t\tvalue: 0.0,\n\t\tmin: -0.25,\n\t\tmax: 0.25,\n\t\tinteger: false\n\t})\n\t.addSlider({\n\t\tname: 'hoScale',\n\t\tlabel: 'Hover over scale multiplier',\n\t\tvalue: 0.9,\n\t\tmin: 0.1,\n\t\tmax: 2,\n\t\tinteger: false\n\t})\n\t.addSlider({\n\t\tname: 'speed',\n\t\tlabel: 'Scale change speed',\n\t\tvalue: 100,\n\t\tmin: 1,\n\t\tmax: 100,\n\t\tinteger: false\n\t})\n\t.finish();\n\nlet initScale, newScale, hover = false, propertyCheck = true, speed;\n\nexport function update(value) {\n\tif (hover) \n\t{\n\t\tvalue = new Vec3((WEMath.mix(value.x, newScale.x, speed) + scriptProperties.whY), (WEMath.mix(value.y, newScale.y, speed) + scriptProperties.whY), (WEMath.mix(value.z, newScale.z, speed) + scriptProperties.whY));\n\t}\n\telse\n\t{\n\t\tvalue = new Vec3((WEMath.mix(value.x, initScale.x, speed) + scriptProperties.whY), (WEMath.mix(value.y, initScale.y, speed) + scriptProperties.whY), (WEMath.mix(value.z, initScale.z, speed) + scriptProperties.whY));\n\t}\n\treturn value;\n}\n\nexport function init(value) {\n\tinitScale = value;\n\treturn value;\n}\n\nexport function cursorDown(event) {\n\thover = true;\n}\n\nexport function cursorUp(event) {\n\thover = false;\n}\n\nexport function applyUserProperties(changedUserProperties) {\n\tif (scriptProperties.hoScale != undefined && propertyCheck)\n\t{\n\t\tnewScale = new Vec3(initScale.multiply(scriptProperties.hoScale));\n\t\tspeed = scriptProperties.speed/100;\n\t\tpropertyCheck = false;\n\t}\n\t\n}\n",
				"scriptproperties" : 
				{
					"hoScale" : 0.80000001,
					"speed" : 50,
					"whY" : 0
				},
				"value" : "1.00000 1.00000 1.00000"
			},
			"size" : "130.00000 130.00000",
			"visible" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3573358585';\n\n/**\n * @param {Object} changedUserProperties - only includes user properties that were recently changed!\n */\nexport function applyUserProperties(changedUserProperties) {\n\t// Hide layer while user property is unbound\n\tif (changedUserProperties.hasOwnProperty('shortcut2')) {\n\t\tif (changedUserProperties.shortcut2.isbound) {\n\t\t\tthisLayer.visible = true;\n\t\t\tthisScene.getLayer(\"shortcut2_label\").text = changedUserProperties.shortcut2.file;\n\t\t} else {\n\t\t\tthisLayer.visible = false;\n\t\t\tthisScene.getLayer(\"shortcut2_label\").text = \"\";\n\t\t}\n\t}\n}\n\n/**\n * @param {CursorEvent} event\n */\nexport function cursorClick(event) {\n\t// you can run a *single* command in one click/up/down CursorEvent, other events are blocked\n\tengine.openUserShortcut(\"shortcut2\");\n}\n",
				"value" : true
			}
		},
		{
			"angles" : "0.00000 -0.00000 0.00000",
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3573358585/frame_builder/effect.json",
					"id" : 213,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"Bottom left" : 1,
								"Bottom right" : 1,
								"Edge extrude" : 0,
								"Notch size" : 0.5,
								"Thickness" : 0.1,
								"Top left" : 1,
								"Top right" : 1,
								"frameAlpha" : "0 1",
								"frameColor" : "1 1 1",
								"inColor" : "0.30000 0.30000 0.30000",
								"insideAlpha" : "0 0.3",
								"outAlpha" : "0 0",
								"outColor" : "0 0 0",
								"ui_editor_properties_opacity" : 1,
								"ui_editor_properties_position" : "0 0",
								"ui_editor_properties_rotation" : -2.3561945,
								"ui_editor_properties_size" : "0.8 0.8",
								"ui_settings_gfx_antialiasing" : 1
							},
							"id" : 214
						}
					],
					"visible" : true
				}
			],
			"id" : 208,
			"image" : "models/util/solidlayer.json",
			"name" : "User Shortcut Frame 3",
			"origin" : "8.77075 47.48840 0.00000",
			"parent" : 165,
			"size" : "150.00000 150.00000"
		},
		{
			"angles" : "0.00000 -0.00000 0.00000",
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3573358585/spin/effect.json",
					"id" : 219,
					"name" : "",
					"passes" : 
					[
						{
							"combos" : 
							{
								"REPEAT" : 0
							},
							"constantshadervalues" : 
							{
								"angle" : 0.0,
								"center" : "0.50991 0.51052",
								"feather" : 0.0020000001,
								"phase" : 0.0,
								"ratio" : 1.0,
								"size" : 1.2776817,
								"speed" : 1.0
							},
							"id" : 220
						}
					],
					"visible" : true
				}
			],
			"id" : 216,
			"image" : "models/workshop/3573358585/noFilter-removebg-preview.json",
			"name" : "Star 3",
			"parent" : 208,
			"scale" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3573358585';\n\nexport var scriptProperties = createScriptProperties()\n    .addSlider({name: 'frequencyMin',       label: 'Frequency Min',         value: 0,       min: 0,     max: 31,    integer: true})\n    .addSlider({name: 'frequencyMax',       label: 'Frequency Max',         value: 31,      min: 0,     max: 31,    integer: true})\n    .addSlider({name: 'smoothing',          label: 'Smoothing (inverted)',  value: 16,      min: 0,     max: 32,    integer: true})\n    .addSlider({name: 'minvalue',           label: 'Min Value',             value: 0.8,     min: 0,     max: 3,     integer: false})\n    .addSlider({name: 'maxvalue',           label: 'Max Value',             value: 1.2,     min: 0,     max: 3,     integer: false})\n    .addSlider({name: 'minAudioBounds',     label: 'Minimum Audio Bound',   value: 0.0,     min: 0.0,   max: 1.0,   integer: false})\n    .addSlider({name: 'maxAudioBounds',     label: 'Maximum Audio Bound',   value: 1.0,     min: 0.0,   max: 1.0,   integer: false})\n    .addCombo({ name: 'audioChannel',       label: 'Audio Channel',         options: [\n              {label: 'Both Channels',      value: 'both'},\n              {label: 'Left Channel',       value: 'left'},\n              {label: 'Right Channel',      value: 'right'}\n    ]})\n    .addText({  name: 'sharedValueName',    label: 'Shared Value Name',     value: 'sharedAudioValue'})\n.finish();\n\nconst audioBuffer = engine.registerAudioBuffers(engine.AUDIO_RESOLUTION_32);\nlet smoothValue = 0;\n\nexport function update() {\n    const frequencyMin = Math.min(scriptProperties.frequencyMin, scriptProperties.frequencyMax);\n    const frequencyMax = Math.max(scriptProperties.frequencyMin, scriptProperties.frequencyMax);\n    const valueDelta = scriptProperties.maxvalue - scriptProperties.minvalue;\n\n    let audioAverage = 0;\n    let sampleCount = 0;\n\n    const channel = scriptProperties.audioChannel;\n    const processLeft = channel === 'left' || channel === 'both';\n    const processRight = channel === 'right' || channel === 'both';\n\n    for (let i = frequencyMin; i <= frequencyMax; i++) {\n        let sample = 0;\n        if (processLeft) sample += audioBuffer.left[i];\n        if (processRight) sample += audioBuffer.right[i];\n        if (processLeft && processRight) sample *= 0.5;\n        audioAverage += sample;\n        sampleCount++;\n    }\n\n    if (sampleCount > 0) {\n        audioAverage /= sampleCount;\n    }\n\n    const minAudioBounds = scriptProperties.minAudioBounds;\n    const maxAudioBounds = scriptProperties.maxAudioBounds;\n    let normalizedAudio = (audioAverage - minAudioBounds) / (maxAudioBounds - minAudioBounds);\n    normalizedAudio = Math.max(0, Math.min(1, normalizedAudio));\n\n    const audioDelta = normalizedAudio - smoothValue;\n    smoothValue += audioDelta * Math.min(1.0, engine.frametime * scriptProperties.smoothing);\n\n    const result = smoothValue * valueDelta + scriptProperties.minvalue;\n    shared[scriptProperties.sharedValueName] = result;\n\n    return result;\n}\n",
				"scriptproperties" : 
				{
					"audioChannel" : "both",
					"frequencyMax" : 31,
					"frequencyMin" : 0,
					"maxAudioBounds" : 1,
					"maxvalue" : 0.33000001,
					"minAudioBounds" : 0,
					"minvalue" : 0.25,
					"sharedValueName" : "sharedAudioValue",
					"smoothing" : 20
				},
				"value" : "0.29467 0.29467 0.29467"
			},
			"size" : "420.00000 420.00000"
		},
		{
			"angles" : "0.00000 -0.00000 0.00000",
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3573358585/frame_builder/effect.json",
					"id" : 224,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"Bottom left" : 1,
								"Bottom right" : 1,
								"Edge extrude" : 0,
								"Notch size" : 0.5,
								"Thickness" : 0.1,
								"Top left" : 1,
								"Top right" : 1,
								"frameAlpha" : "0 1",
								"frameColor" : "1 1 1",
								"inColor" : "0.3 0.3 0.3",
								"insideAlpha" : "0 1",
								"outAlpha" : "0 0",
								"outColor" : "0 0 0",
								"ui_editor_properties_opacity" : 1,
								"ui_editor_properties_position" : "0 0",
								"ui_editor_properties_rotation" : -2.3561945,
								"ui_editor_properties_size" : "0.8 0.8",
								"ui_settings_gfx_antialiasing" : 1
							},
							"id" : 225
						}
					],
					"visible" : true
				}
			],
			"id" : 222,
			"image" : "models/workshop/3573358585/solid_instance_model_99c5a772.json",
			"instance" : 
			{
				"combos" : 
				{
					"version" : 2
				},
				"id" : 223,
				"textures" : [ "util/white" ],
				"usertextures" : 
				[
					{
						"name" : "shortcut3",
						"type" : "usershortcut"
					}
				]
			},
			"name" : "User Shortcut #3",
			"parent" : 208,
			"scale" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3573358585';\n\nimport * as WEMath from 'WEMath';\n\nexport var scriptProperties = createScriptProperties()\n.addSlider({\n\t\tname: 'whY',\n\t\tlabel: 'Scale',\n\t\tvalue: 0.0,\n\t\tmin: -0.25,\n\t\tmax: 0.25,\n\t\tinteger: false\n\t})\n\t.addSlider({\n\t\tname: 'hoScale',\n\t\tlabel: 'Hover over scale multiplier',\n\t\tvalue: 0.9,\n\t\tmin: 0.1,\n\t\tmax: 2,\n\t\tinteger: false\n\t})\n\t.addSlider({\n\t\tname: 'speed',\n\t\tlabel: 'Scale change speed',\n\t\tvalue: 100,\n\t\tmin: 1,\n\t\tmax: 100,\n\t\tinteger: false\n\t})\n\t.finish();\n\nlet initScale, newScale, hover = false, propertyCheck = true, speed;\n\nexport function update(value) {\n\tif (hover) \n\t{\n\t\tvalue = new Vec3((WEMath.mix(value.x, newScale.x, speed) + scriptProperties.whY), (WEMath.mix(value.y, newScale.y, speed) + scriptProperties.whY), (WEMath.mix(value.z, newScale.z, speed) + scriptProperties.whY));\n\t}\n\telse\n\t{\n\t\tvalue = new Vec3((WEMath.mix(value.x, initScale.x, speed) + scriptProperties.whY), (WEMath.mix(value.y, initScale.y, speed) + scriptProperties.whY), (WEMath.mix(value.z, initScale.z, speed) + scriptProperties.whY));\n\t}\n\treturn value;\n}\n\nexport function init(value) {\n\tinitScale = value;\n\treturn value;\n}\n\nexport function cursorDown(event) {\n\thover = true;\n}\n\nexport function cursorUp(event) {\n\thover = false;\n}\n\nexport function applyUserProperties(changedUserProperties) {\n\tif (scriptProperties.hoScale != undefined && propertyCheck)\n\t{\n\t\tnewScale = new Vec3(initScale.multiply(scriptProperties.hoScale));\n\t\tspeed = scriptProperties.speed/100;\n\t\tpropertyCheck = false;\n\t}\n\t\n}\n",
				"scriptproperties" : 
				{
					"hoScale" : 0.80000001,
					"speed" : 50,
					"whY" : 0
				},
				"value" : "1.00000 1.00000 1.00000"
			},
			"size" : "130.00000 130.00000",
			"visible" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3573358585';\n\n/**\n * @param {Object} changedUserProperties - only includes user properties that were recently changed!\n */\nexport function applyUserProperties(changedUserProperties) {\n\t// Hide layer while user property is unbound\n\tif (changedUserProperties.hasOwnProperty('shortcut3')) {\n\t\tif (changedUserProperties.shortcut3.isbound) {\n\t\t\tthisLayer.visible = true;\n\t\t\tthisScene.getLayer(\"shortcut3_label\").text = changedUserProperties.shortcut3.file;\n\t\t} else {\n\t\t\tthisLayer.visible = false;\n\t\t\tthisScene.getLayer(\"shortcut3_label\").text = \"\";\n\t\t}\n\t}\n}\n\n/**\n * @param {CursorEvent} event\n */\nexport function cursorClick(event) {\n\t// you can run a *single* command in one click/up/down CursorEvent, other events are blocked\n\tengine.openUserShortcut(\"shortcut3\");\n}\n",
				"value" : true
			}
		},
		{
			"angles" : "0.00000 -0.00000 0.00000",
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3573358585/frame_builder/effect.json",
					"id" : 228,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"Bottom left" : 1,
								"Bottom right" : 1,
								"Edge extrude" : 0,
								"Notch size" : 0.5,
								"Thickness" : 0.1,
								"Top left" : 1,
								"Top right" : 1,
								"frameAlpha" : "0 1",
								"frameColor" : "1 1 1",
								"inColor" : "0.30000 0.30000 0.30000",
								"insideAlpha" : "0 0.3",
								"outAlpha" : "0 0",
								"outColor" : "0 0 0",
								"ui_editor_properties_opacity" : 1,
								"ui_editor_properties_position" : "0 0",
								"ui_editor_properties_rotation" : -2.3561945,
								"ui_editor_properties_size" : "0.8 0.8",
								"ui_settings_gfx_antialiasing" : 1
							},
							"id" : 229
						}
					],
					"visible" : true
				}
			],
			"id" : 227,
			"image" : "models/util/solidlayer.json",
			"name" : "User Shortcut Frame 4",
			"origin" : "208.77075 47.48840 0.00000",
			"parent" : 165,
			"size" : "150.00000 150.00000"
		},
		{
			"angles" : "0.00000 -0.00000 0.00000",
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3573358585/spin/effect.json",
					"id" : 234,
					"name" : "",
					"passes" : 
					[
						{
							"combos" : 
							{
								"REPEAT" : 0
							},
							"constantshadervalues" : 
							{
								"angle" : 0.0,
								"center" : "0.50991 0.51052",
								"feather" : 0.0020000001,
								"phase" : 0.0,
								"ratio" : 1.0,
								"size" : 1.2776817,
								"speed" : 1.0
							},
							"id" : 235
						}
					],
					"visible" : true
				}
			],
			"id" : 231,
			"image" : "models/workshop/3573358585/noFilter-removebg-preview.json",
			"name" : "Star 4",
			"parent" : 227,
			"scale" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3573358585';\n\nexport var scriptProperties = createScriptProperties()\n    .addSlider({name: 'frequencyMin',       label: 'Frequency Min',         value: 0,       min: 0,     max: 31,    integer: true})\n    .addSlider({name: 'frequencyMax',       label: 'Frequency Max',         value: 31,      min: 0,     max: 31,    integer: true})\n    .addSlider({name: 'smoothing',          label: 'Smoothing (inverted)',  value: 16,      min: 0,     max: 32,    integer: true})\n    .addSlider({name: 'minvalue',           label: 'Min Value',             value: 0.8,     min: 0,     max: 3,     integer: false})\n    .addSlider({name: 'maxvalue',           label: 'Max Value',             value: 1.2,     min: 0,     max: 3,     integer: false})\n    .addSlider({name: 'minAudioBounds',     label: 'Minimum Audio Bound',   value: 0.0,     min: 0.0,   max: 1.0,   integer: false})\n    .addSlider({name: 'maxAudioBounds',     label: 'Maximum Audio Bound',   value: 1.0,     min: 0.0,   max: 1.0,   integer: false})\n    .addCombo({ name: 'audioChannel',       label: 'Audio Channel',         options: [\n              {label: 'Both Channels',      value: 'both'},\n              {label: 'Left Channel',       value: 'left'},\n              {label: 'Right Channel',      value: 'right'}\n    ]})\n    .addText({  name: 'sharedValueName',    label: 'Shared Value Name',     value: 'sharedAudioValue'})\n.finish();\n\nconst audioBuffer = engine.registerAudioBuffers(engine.AUDIO_RESOLUTION_32);\nlet smoothValue = 0;\n\nexport function update() {\n    const frequencyMin = Math.min(scriptProperties.frequencyMin, scriptProperties.frequencyMax);\n    const frequencyMax = Math.max(scriptProperties.frequencyMin, scriptProperties.frequencyMax);\n    const valueDelta = scriptProperties.maxvalue - scriptProperties.minvalue;\n\n    let audioAverage = 0;\n    let sampleCount = 0;\n\n    const channel = scriptProperties.audioChannel;\n    const processLeft = channel === 'left' || channel === 'both';\n    const processRight = channel === 'right' || channel === 'both';\n\n    for (let i = frequencyMin; i <= frequencyMax; i++) {\n        let sample = 0;\n        if (processLeft) sample += audioBuffer.left[i];\n        if (processRight) sample += audioBuffer.right[i];\n        if (processLeft && processRight) sample *= 0.5;\n        audioAverage += sample;\n        sampleCount++;\n    }\n\n    if (sampleCount > 0) {\n        audioAverage /= sampleCount;\n    }\n\n    const minAudioBounds = scriptProperties.minAudioBounds;\n    const maxAudioBounds = scriptProperties.maxAudioBounds;\n    let normalizedAudio = (audioAverage - minAudioBounds) / (maxAudioBounds - minAudioBounds);\n    normalizedAudio = Math.max(0, Math.min(1, normalizedAudio));\n\n    const audioDelta = normalizedAudio - smoothValue;\n    smoothValue += audioDelta * Math.min(1.0, engine.frametime * scriptProperties.smoothing);\n\n    const result = smoothValue * valueDelta + scriptProperties.minvalue;\n    shared[scriptProperties.sharedValueName] = result;\n\n    return result;\n}\n",
				"scriptproperties" : 
				{
					"audioChannel" : "both",
					"frequencyMax" : 31,
					"frequencyMin" : 0,
					"maxAudioBounds" : 1,
					"maxvalue" : 0.33000001,
					"minAudioBounds" : 0,
					"minvalue" : 0.25,
					"sharedValueName" : "sharedAudioValue",
					"smoothing" : 20
				},
				"value" : "0.29467 0.29467 0.29467"
			},
			"size" : "420.00000 420.00000"
		},
		{
			"angles" : "0.00000 -0.00000 0.00000",
			"castshadow" : false,
			"clampuvs" : true,
			"disablepropagation" : false,
			"effects" : 
			[
				{
					"file" : "effects/workshop/3573358585/frame_builder/effect.json",
					"id" : 239,
					"name" : "",
					"passes" : 
					[
						{
							"constantshadervalues" : 
							{
								"Bottom left" : 1,
								"Bottom right" : 1,
								"Edge extrude" : 0,
								"Notch size" : 0.5,
								"Thickness" : 0.1,
								"Top left" : 1,
								"Top right" : 1,
								"frameAlpha" : "0 1",
								"frameColor" : "1 1 1",
								"inColor" : "0.3 0.3 0.3",
								"insideAlpha" : "0 1",
								"outAlpha" : "0 0",
								"outColor" : "0 0 0",
								"ui_editor_properties_opacity" : 1,
								"ui_editor_properties_position" : "0 0",
								"ui_editor_properties_rotation" : -2.3561945,
								"ui_editor_properties_size" : "0.8 0.8",
								"ui_settings_gfx_antialiasing" : 1
							},
							"id" : 240
						}
					],
					"visible" : true
				}
			],
			"id" : 237,
			"image" : "models/workshop/3573358585/solid_instance_model_99c5a772.json",
			"instance" : 
			{
				"combos" : 
				{
					"version" : 2
				},
				"id" : 238,
				"textures" : [ "util/white" ],
				"usertextures" : 
				[
					{
						"name" : "shortcut4",
						"type" : "usershortcut"
					}
				]
			},
			"name" : "User Shortcut #4",
			"parent" : 227,
			"scale" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3573358585';\n\nimport * as WEMath from 'WEMath';\n\nexport var scriptProperties = createScriptProperties()\n.addSlider({\n\t\tname: 'whY',\n\t\tlabel: 'Scale',\n\t\tvalue: 0.0,\n\t\tmin: -0.25,\n\t\tmax: 0.25,\n\t\tinteger: false\n\t})\n\t.addSlider({\n\t\tname: 'hoScale',\n\t\tlabel: 'Hover over scale multiplier',\n\t\tvalue: 0.9,\n\t\tmin: 0.1,\n\t\tmax: 2,\n\t\tinteger: false\n\t})\n\t.addSlider({\n\t\tname: 'speed',\n\t\tlabel: 'Scale change speed',\n\t\tvalue: 100,\n\t\tmin: 1,\n\t\tmax: 100,\n\t\tinteger: false\n\t})\n\t.finish();\n\nlet initScale, newScale, hover = false, propertyCheck = true, speed;\n\nexport function update(value) {\n\tif (hover) \n\t{\n\t\tvalue = new Vec3((WEMath.mix(value.x, newScale.x, speed) + scriptProperties.whY), (WEMath.mix(value.y, newScale.y, speed) + scriptProperties.whY), (WEMath.mix(value.z, newScale.z, speed) + scriptProperties.whY));\n\t}\n\telse\n\t{\n\t\tvalue = new Vec3((WEMath.mix(value.x, initScale.x, speed) + scriptProperties.whY), (WEMath.mix(value.y, initScale.y, speed) + scriptProperties.whY), (WEMath.mix(value.z, initScale.z, speed) + scriptProperties.whY));\n\t}\n\treturn value;\n}\n\nexport function init(value) {\n\tinitScale = value;\n\treturn value;\n}\n\nexport function cursorDown(event) {\n\thover = true;\n}\n\nexport function cursorUp(event) {\n\thover = false;\n}\n\nexport function applyUserProperties(changedUserProperties) {\n\tif (scriptProperties.hoScale != undefined && propertyCheck)\n\t{\n\t\tnewScale = new Vec3(initScale.multiply(scriptProperties.hoScale));\n\t\tspeed = scriptProperties.speed/100;\n\t\tpropertyCheck = false;\n\t}\n\t\n}\n",
				"scriptproperties" : 
				{
					"hoScale" : 0.80000001,
					"speed" : 50,
					"whY" : 0
				},
				"value" : "1.00000 1.00000 1.00000"
			},
			"size" : "130.00000 130.00000",
			"visible" : 
			{
				"script" : "'use strict';\n// Please note: Do not remove this line or asset references may break.\nexport let __workshopId = '3573358585';\n\n/**\n * @param {Object} changedUserProperties - only includes user properties that were recently changed!\n */\nexport function applyUserProperties(changedUserProperties) {\n\t// Hide layer while user property is unbound\n\tif (changedUserProperties.hasOwnProperty('shortcut4')) {\n\t\tif (changedUserProperties.shortcut4.isbound) {\n\t\t\tthisLayer.visible = true;\n\t\t\tthisScene.getLayer(\"shortcut4_label\").text = changedUserProperties.shortcut4.file;\n\t\t} else {\n\t\t\tthisLayer.visible = false;\n\t\t\tthisScene.getLayer(\"shortcut4_label\").text = \"\";\n\t\t}\n\t}\n}\n\n/**\n * @param {CursorEvent} event\n */\nexport function cursorClick(event) {\n\t// you can run a *single* command in one click/up/down CursorEvent, other events are blocked\n\tengine.openUserShortcut(\"shortcut4\");\n}\n",
				"value" : true
			}
		},
		{
			"anchor" : "none",
			"backgroundbrightness" : 1.0,
			"backgroundcolor" : "0.00000 0.00000 0.00000",
			"blockalign" : false,
			"castshadow" : false,
			"clampuvs" : true,
			"depthtest" : "enabled",
			"disablepropagation" : false,
			"font" : "fonts/8bitOperatorPlus8-Regular.ttf",
			"horizontalalign" : "left",
			"id" : 244,
			"limitrows" : false,
			"limituseellipsis" : false,
			"limitwidth" : true,
			"maxrows" : 1,
			"maxwidth" : 1600.0,
			"name" : "shortcut1_label",
			"opaquebackground" : false,
			"origin" : "1004.38538 1263.74414 0.00000",
			"padding" : 32,
			"pointsize" : 20.0,
			"size" : "507.00000 96.00000",
			"text" : "Shortcut #1",
			"verticalalign" : "bottom",
			"visible" : false
		},
		{
			"anchor" : "none",
			"backgroundbrightness" : 1.0,
			"backgroundcolor" : "0.00000 0.00000 0.00000",
			"blockalign" : false,
			"castshadow" : false,
			"clampuvs" : true,
			"depthtest" : "enabled",
			"disablepropagation" : false,
			"font" : "fonts/8bitOperatorPlus8-Regular.ttf",
			"horizontalalign" : "left",
			"id" : 246,
			"limitrows" : false,
			"limituseellipsis" : false,
			"limitwidth" : false,
			"maxrows" : 1,
			"maxwidth" : 1600.0,
			"name" : "shortcut2_label",
			"opaquebackground" : false,
			"origin" : "1004.38538 1063.74414 0.00000",
			"padding" : 32,
			"pointsize" : 20.0,
			"size" : "521.00000 96.00000",
			"text" : "Shortcut #2",
			"verticalalign" : "bottom",
			"visible" : false
		},
		{
			"anchor" : "none",
			"backgroundbrightness" : 1.0,
			"backgroundcolor" : "0.00000 0.00000 0.00000",
			"blockalign" : false,
			"castshadow" : false,
			"clampuvs" : true,
			"depthtest" : "enabled",
			"disablepropagation" : false,
			"font" : "fonts/8bitOperatorPlus8-Regular.ttf",
			"horizontalalign" : "left",
			"id" : 247,
			"limitrows" : false,
			"limituseellipsis" : false,
			"limitwidth" : true,
			"maxrows" : 1,
			"maxwidth" : 1600.0,
			"name" : "shortcut3_label",
			"opaquebackground" : false,
			"origin" : "1004.38538 863.74420 0.00000",
			"padding" : 32,
			"pointsize" : 20.0,
			"size" : "521.00000 96.00000",
			"text" : "Shortcut #3",
			"verticalalign" : "bottom",
			"visible" : false
		},
		{
			"anchor" : "none",
			"backgroundbrightness" : 1.0,
			"backgroundcolor" : "0.00000 0.00000 0.00000",
			"blockalign" : false,
			"castshadow" : false,
			"clampuvs" : true,
			"depthtest" : "enabled",
			"disablepropagation" : false,
			"font" : "fonts/8bitOperatorPlus8-Regular.ttf",
			"horizontalalign" : "left",
			"id" : 249,
			"limitrows" : false,
			"limituseellipsis" : false,
			"limitwidth" : true,
			"maxrows" : 1,
			"maxwidth" : 1600.0,
			"name" : "shortcut4_label",
			"opaquebackground" : false,
			"origin" : "1004.38538 663.74420 0.00000",
			"padding" : 32,
			"pointsize" : 20.0,
			"size" : "521.00000 96.00000",
			"text" : "Shortcut #4",
			"verticalalign" : "bottom",
			"visible" : false
		}
	],
	"version" : 5
}